OSDN Git Service

* doc/tm.texi (FUNCTION_ARG): Document that the last call
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
2
3         * doc/tm.texi (FUNCTION_ARG): Document that the last call
4         is special.
5
6 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
7
8         * tlink.c (recompile_files): Remove COMPILER_PATH and
9         LIBRARY_PATH from the environment.
10
11 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
12
13         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
14         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
15         enumerators.
16         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
17
18         * c-parse.in (OBJC_STRING): Kill.
19         (objc_string): Decompose to [objc_string] '@' STRING.
20         (reswords): Take the leading '@' off all the Objective C keywords.
21         (objc_rid_sans_at): Kill.
22         (init_reswords): Don't initialize it.
23         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
24         (_yylex): Kill reconsider label.  Look ahead one token after
25         an '@'; if we get an identifier, check whether it's an
26         Objective C @-keyword.  If so, return the keyword.  Otherwise,
27         put back the token and return the '@' as a terminal.
28
29         * cpplib.c (lex_macro_node): Remove unnecessary check for
30         leading '@' on identifier.  Clarify control flow and commentary.
31
32 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
33
34         * cse.c (new_label_ref): Variable deleted.
35         (insert): Remove set of new_label_ref.
36         (check_for_label_ref): New function.
37         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
38
39 2001-06-30  Zack Weinberg  <zackw@stanford.edu>
40
41         * rtl.def (DEFINE_INSN, DEFINE_INSN_AND_SPLIT, DEFINE_PEEPHOLE):
42         Change output-template slot to format 'T'.
43         * rtl.h (XTMPL): New.
44         * read-rtl.c (read_escape): New function.
45         (read_quoted_string, read_braced_string): Use it.
46         (read_rtx): Set star_if_braced from the format string.
47         Use XTMPL where appropriate.
48         * genoutput.c (gen_insn, gen_peephole): Use XTMPL to get the
49         template string.
50
51         * rtl.c: Include errors.h for sake of rtl_check_failed* routines.
52         Document 'T' in rtx format strings.
53         * Makefile.in (rtl.o, $(HOST_PREFIX_1)rtl.o): Depend on errors.h.
54         * errors.c (internal_error): Add missing ": " at end of string.
55
56         * i860.md: Change triple backslashes to double backslashes at
57         ends of lines in output templates.
58         * ns32k.md: Remove stray backslash-newline in output template.
59
60 2001-06-29  Nick Clifton  <nickc@cambridge.redhat.com>
61
62         * gcc.c (process_command): Append a DIR_SEPARATOR to a path
63         specified by the -B switch, if doing so would create a valid
64         directory name.
65         * doc/invoke.texi: Document changed behaviour of -B.
66
67 2001-06-29  DJ Delorie  <dj@redhat.com>
68
69         * simplify-rtx.c (simplify_subreg): When simplifying a CONCAT, at
70         least get rid of the CONCAT if we can't simplify further.
71
72 Fri Jun 29 12:27:24 2001  Jeffrey A Law  (law@cygnus.com)
73
74         * doc/gcc.texi (Passes): Update due to recent -fdce -> -fssa-dce
75         changes.  Fix documentation for SSA DCE pass.
76
77         * ssa-dce.c (ssa_eliminate_dead_code): Renamed from
78         eliminate_date_code.
79         * ssa.h (ssa_eliminate_dead_code): Corresponding changes.
80         * timevar.def (TV_SSA_DCE): Renamed from TV_DEAD_CODE_ELIM.
81         * toplev.c (DFI_ssa_dce): Renamed from DFI_dce.
82         (dump_file_info): Similar changes.
83         (flag_ssa_dce): Similarly
84         (f_options): Similar changes.
85         (rest_of_compilation): Corresponding changes.
86         * doc/invoke.texi: Update as option is now -fssa-dce instead
87         of -fdce.  Update dump file name.
88
89         * ssa-dce.c (note_inherently_necessary_set): New function.
90         (find_inherently_necessary): Use it.  Do not consider
91         NOTEs, CODE_LABELs or BARRIERS are necessary.  Improve
92         handling of asms and unspecs.
93         (delete_insn_bb): Only delete INSNs, CALL_INSNs or JUMP_INSNs.
94
95 2001-06-29  Joseph S. Myers  <jsm28@cam.ac.uk>
96
97         * target.h (struct gcc_target): Add comp_type_attributes and
98         set_default_type_attributes.
99         * target-def.h (TARGET_COMP_TYPE_ATTRIBUTES,
100         TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Define.
101         (TARGET_INITIALIZER): Update.
102         * doc/tm.texi (COMP_TYPE_ATTRIBUTES, TARGET_COMP_TYPE_ATTRIBUTES,
103         SET_DEFAULT_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
104         Update documentation of old target macros to describe new target
105         hooks.
106         * tree.c (make_node): Use target.set_default_type_attributes.
107         (default_comp_type_attributes,
108         default_set_default_type_attributes): New functions.
109         * tree.h (default_comp_type_attributes,
110         default_set_default_type_attributes): Declare.
111         * c-typeck.c (COMP_TYPE_ATTRIBUTES): Don't define.
112         (comptypes): Use target.comp_type_attributes.
113         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h
114         (arc_comp_type_attributes, arc_set_default_type_attributes,
115         COMP_TYPE_ATTRIBUTES, SET_DEFAULT_TYPE_ATTRIBUTES): Remove
116         functions and macros with default behaviour.
117         * config/m32r/m32r-protos.h, config/m32r/m32r.c,
118         config/m32r/m32r.h (m32r_comp_type_attributes,
119         m32r_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
120         SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
121         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
122         config/m68hc11/m68hc11.h (m68hc11_comp_type_attributes,
123         m68hc11_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
124         SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
125         * config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c,
126         config/ns32k/ns32k.h (ns32k_comp_type_attributes,
127         COMP_TYPE_ATTRIBUTES): Likewise.
128         * config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
129         config/rs6000/rs6000.h (rs6000_comp_type_attributes,
130         rs6000_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
131         SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
132         * config/d30v/d30v.h (COMP_TYPE_ATTRIBUTES,
133         SET_DEFAULT_TYPE_ATTRIBUTES): Remove commented out macro
134         definitions.
135         * config/i386/i386.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
136         * config/ns32k/ns32k.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
137         * config/arm/arm.c (arm_comp_type_attributes,
138         arm_set_default_type_attributes): Make static.
139         (TARGET_COMP_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
140         Define.
141         * config/arm/arm.h (COMP_TYPE_ATTRIBUTES,
142         SET_DEFAULT_TYPE_ATTRIBUTES): Don't define.
143         * config/arm/arm-protos.h (arm_comp_type_attributes,
144         arm_set_default_type_attributes): Don't declare.
145         * config/i386/i386.c (ix86_comp_type_attributes): Make static.
146         (TARGET_COMP_TYPE_ATTRIBUTES): Define.
147         * config/i386/i386.h (COMP_TYPE_ATTRIBUTES): Don't define.
148         * config/i386/i386-protos.h (ix86_comp_type_attributes): Don't
149         declare.
150
151 2001-06-28  Jan van Male  <jan.vanmale@fenk.wau.nl>
152
153         * predict.c (dump_prediction): Eliminate fprintf warning.
154
155 2001-06-28  Diego Novillo  <dnovillo@redhat.com>
156
157         * flow.c (dump_bb): Remove unused third argument to call
158         to fprintf when displaying the basic block header.
159
160 2001-06-28  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
161             Jeff Law <law@redhat.com>
162
163         * Makefile.in (OBJS): Add df.o
164         (df.o): Add dependencies.
165         * basic-block.h (flow_depth_first_order_compute): Declare.
166         * flow.c (flow_depth_first_order_compute): No longer declare.
167         Make external.
168         * df.c, df.h: New files.
169
170 2001-06-28  Zack Weinberg  <zackw@stanford.edu>
171
172         * config/i386/i386.md: Global update to use new string syntax
173         where it will improve readability.  Warning fixes:
174         (*truncdfsf2_2): Abort if which_alternative is not 0 or 1.
175         (*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64,
176         *adddi_4_rex64, *adddi_5_rex64): Cast 1 to unsigned int.
177
178         * read-rtl.c: Syntactic sugar for C embedded in strings in
179         machine descriptions.
180         (read_string): Break inner loop into separate function.  Takes
181         an int.  Dispatch to read_quoted_string or read_braced_string
182         as appropriate.  Automatically insert a leading star on braced
183         strings if STAR_IF_BRACED is true.
184         (read_quoted_string, read_braced_string): New functions.
185         * doc/rtl.texi, doc/md.texi: Document new syntax.  Update
186         examples to match.
187
188         * rtl.c: Split RTL reader (read_rtx, read_skip_spaces,
189         traverse_md_constants, fatal_with_file_and_line,
190         fatal_expected_char, read_name, read_string, def_hash,
191         def_name_eq_p, read_constants, and related data) to its own
192         file.  Weed out now-unnecessary #includes.
193         * read-rtl.c: New file.
194         * Makefile.in (HOST_RTL): Add read-rtl.o.
195         (read-rtl.o): New rule.
196         (rtl.o, $(HOST_PREFIX_1)rtl.o): Update dependencies.
197         * doc/gcc.texi (Passes): Talk briefly about the support
198         library used by genfoo.
199         * doc/rtl.texi (Reading RTL): read_rtx is not available in the
200         compiler itself.
201
202 2001-06-28  Stan Shebs  <shebs@apple.com>
203
204         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Define.
205         * config/darwin-c.c: New file.
206         * config/darwin-protos.h: Declare new functions.
207         * config/rs6000/t-darwin (darwin-c.o): New rule.
208         * config.gcc (powerpc-*-darwin*): Define c_target_objs and
209         cxx_target_objs.
210         * doc/extend.texi (Pragmas): New section.
211
212 Thu Jun 28 20:13:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
213
214         * flow.c (try_merge_block): Rename to try_optimize_cfg;
215         do basic simplifications on the CFG.
216         (is_forwarder_block_p, can_fallthru, try_redirect_by_replacing_jump,
217          try_simplify_condjump): New.
218         (redirect_edge_and_branch): Try replace jump insn.
219         (flow_delete_insn): Handle deleting of ADDR_VEC insns.
220
221         * basic-block.h (FALLTHRU_EDGE, BRANCH_EDGE): New macros.
222
223 Thu Jun 28 11:19:42 2001  Jeffrey A Law  (law@cygnus.com)
224
225         * ssa-dce.c (eliminate_dead_code): Properly handle control
226         dependencies implied by PHI nodes.
227
228         * ssa-dce.c (eliminate_dead_code): Remove fake edges from the
229         CFG after dead code elimination is complete.
230
231 2001-06-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
232
233         * gthr-posix.h [LIBOBJC]: Add weak definitions of
234         sched_get_priority_max, sched_get_priority_min.
235
236 2001-06-28  Gabriel Dos Reis  <gdr@codesourcery.com>
237
238         * diagnostic.c (default_print_error_function): Tweak.
239         (report_error_function): Likewise.
240         * toplev.h (default_print_error_function): Move to...
241         * diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
242         * tree.h (print_error_function): Move to...
243         * diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
244
245 Thu Jun 28 06:16:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
246
247         * expr.c (expand_assignment): When have varying-length object,
248         make MEM a BLKmode.
249         (expand_expr, case ADDR_EXPR): Use SAVE_EXPR_RTL after putting
250         SAVE_EXPR stack in case we had a SUBREG.
251
252 Thu Jun 28 10:31:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
253
254         * i386.md (cmp?i): Simplify; refuse immediate operand
255         in alternative 0
256         * i386.c (cmpsi_operand): Refuse constants.
257
258         * i386.md (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
259
260         * flow.c (block_label, redirect_edge_and_branch): Split out from ....
261         (split_edge) .... here;
262
263 2001-06-28  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
264
265         * i386/i386.c (ix86_valid_type_attribute_p): Give external
266         linkage, move declaration to...
267         * i386/i386-protos.h: ...here.
268
269 2001-06-27  H.J. Lu  (hjl@gnu.org)
270
271         * build-make (CC): Removed.
272         (HOST_CC): Set to $(CC_FOR_BUILD).
273         (HOST_CFLAGS): Replace $(CFLAGS) with $(CFLAGS_FOR_BUILD).
274         Fix a typo in comments.
275
276         * configure.in: Set CFLAGS to $(CFLAGS_FOR_BUILD) when
277         generating auto-build.h for canadian cross compile. Set CC
278         to `"${CC_FOR_BUILD}"' instead of just `${CC_FOR_BUILD}'.
279         Save/restore CFLAGS.
280         * configure: Regenerated.
281
282 2001-06-27  Jim Wilson  <wilson@redhat.com>
283
284         * emit-rtl.c (gen_highpart): Call validize_mem.
285
286 2001-06-27  Bruce Korb  <bkorb@gnu.org>
287
288         * fixinc/inclhack.def(hpux11_cpp_pow_inline): new, but real similar to
289         hpux10_cpp_pow_inline.  Not similar enough.
290         (solaris_mutex_init): renamed.  PTHREAD_*_INITIALIZER is a problem for
291         all Solaris versions.  This fix patches MUTEX and COND initializers,
292         the RWLOCK one will wait for someone to complain.  For now, anyway.
293         (uw7_byteorder_fix): It was looking for the byteorder.h file in the
294         wrong directory.
295
296 2001-06-27  Stan Shebs  <shebs@apple.com>
297
298         * objc/objc-act.c (handle_impent): Rewrite to be more portable
299         and to use ASM_DECLARE_CLASS_REFERENCE.
300         * config/darwin.h (ASM_DECLARE_CLASS_REFERENCE): Rename from
301         undocumented DECLARE_CLASS_REFERENCE, add file argument.
302         * doc/tm.texi (ASM_DECLARE_CLASS_REFERENCE): Document.
303
304 Wed Jun 27 18:01:09 2001  Jeffrey A Law  (law@cygnus.com)
305
306         * simplify-rtx.c (simplify_rtx): Canonicalize commutative expressions
307         by putting complex operands first and constants second.
308
309 2001-06-27  Gabriel Dos Reis  <gdr@codesourcery.com>
310
311         * diagnostic.h: Add documentation. Make macros polymorphic.
312         * diagnostic.c (ideal_line_wrap_cutoff): Remove
313         definition. Replace with diagnostic_line_cutoff.
314         (prefixing_policy): Remove. Replace with diagnostic_prefixing_rule.
315
316 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
317
318         * doc/c-tree.texi, doc/contrib.texi, doc/cpp.texi,
319         doc/cppinternals.texi, doc/extend.texi, doc/gcc.texi,
320         doc/gcov.texi, doc/install-old.texi, doc/install.texi,
321         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Replace
322         . at end of sentences preceded by a capital letter with @..
323
324 2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
325
326         * doc/invoke.texi: Add description of max-gcse-passes param.
327
328         * gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES.
329         (MAX_PASSES): Remove now unneeded macro.
330
331         * params.h (MAX_GCSE_PASSES): New macro, to get parameter value of
332         max-gcse-passes param.
333
334         * params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling
335         maximum number of GCSE passes to run. Defaults to 1 (which is what
336         MAX_PASSES in gcse.c used to be).
337
338 2001-06-27  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
339
340         * system.h (TARGET_ESC): Move to ...
341         * defaults.h (TARGET_ESC): ... here.
342         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
343         TARGET_VALID_TYPE_ATTRIBUTE): Default to a no-op handler.
344         * tree.c (default_valid_attribute_p): New.
345         (valid_machine_attribute): Handlers can not be NULL.
346         * tree.h (default_valid_attribute_p): New.
347         * doc/tm.texi: Document TARGET_ESC.
348         * cp/decl2.c (import_export_class): Update.
349
350 2001-06-26  Bruce Korb  <bkorb@gnu.org>
351
352         * gcc/fixinc/fixincl.c(initialize): In very strict ANSI, you cannot
353         use preprocessing directives inside a string literal.  Fixed.
354
355 2001-06-26  Jim Wilson  <wilson@redhat.com>
356
357         * doc/tm.texi (MAX_LONG_DOUBLE_TYPE_SIZE, INTEL_EXTENDED_IEEE_FORMAT):
358         Document.
359
360 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
361
362         * doc/cpp.texi, doc/cppinternals.texi, doc/extend.texi,
363         doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
364         doc/tm.texi: Use @: where necessary when a full stop does not end
365         a sentence.
366
367 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
368
369         * doc/gcc.texi, doc/install.texi, doc/invoke.texi: Remove trailing
370         whitespace.
371
372 2001-06-26  Joseph S. Myers  <jsm28@cam.ac.uk>
373
374         * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi,
375         doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi,
376         doc/tm.texi: Use two spaces after ends of sentences.
377
378 2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
379
380         * toplev.c (display_help): Fix param thinko.
381         * Makefile.in: Fix params.h dependencies.
382
383 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
384
385         * toplev.c (decode_f_option): Adjust setting.
386         (toplev_main): Call diagnostic_initialize.  Remove call to
387         reshape_diagnostic_buffer._
388
389         * diagnostic.h (struct output_buffer): Add new field format_decoder.
390         (diagnostic_format_decoder): New macro.
391         (diagnostic_prefixing_rule): Likewise.
392         (diagnostic_line_cutoff): Likewise.
393         (set_message_prefixing_rule): Remove.
394
395         * diagnostic.c (lang_printer): Remove.
396         (diagnostic_message_length_per_line): Likewise.
397         (current_prefixing_rule): Likewise.
398         (initialize_diagnostics): Rename to...
399         (diagnostic_initialize): ...this. Tweak.
400         (default_initialize_buffer): Remove.
401         (reshape_diagnostic_buffer): Likewise.
402         (init_output_buffer): Adjust prefixing rule setting.
403         (output_format): Use format_decoder from the output_buffer.
404
405         * c-lang.c (c_init): Adjust tree formatter setting.
406
407 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
408
409         * config/i386/sol2.h (CPP_SPEC): Pass -P for .S files.
410
411 2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
412
413         * Makefile.in (TARGET_H, TARGET_DEF_H): New.
414         (c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
415         * c-decl.c (duplicate_decls): Use function pointer.
416         * c-typeck.c (common_type): Similarly.
417         * tree.c (valid_machine_attribute): Similarly.
418         (merge_machine_type_attributes): Rename merge_type_attributes.
419         (merge_machine_decl_attributes): Rename merge_decl_attributes.
420         (merge_dllimport_decl_attributes): New function.
421         * tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
422         (merge_machine_decl_attributes): Rename merge_decl_attributes.
423         (merge_dllimport_decl_attributes): New prototype.
424         * target.h: New.
425         * target-def.h: New.
426
427 doc:    (Joseph Myers)
428         * doc/gcc.texi, doc/tm.texi: Update documentation.
429
430 cp:     Make-lang.in: Update dependencies.
431         * spew.c: Include target.h.
432         (duplicate_decls): Call target function.
433         * decl2.c: include target.h
434         (import_export_class): Use existence of target function pointer.
435         * typeck.c: Include target.h.
436         (qualify_type_recursive): Rename variable.  Call target function.
437         (type_after_usual_arithmetic_conversions): Similarly.
438         (common_type): Similarly.
439
440 config: * 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
441         avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
442         d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
443         i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
444         m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
445         mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
446         pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
447         sh/sh.c, sparc/sparc.c, v850/v850.c, vax/vax.c, we32k/we32k.c)
448         : Include target.h and target-def.h.  Define target.
449
450         * arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
451         * arc/arc.c (arc_valid_machine_decl_attribute): Rename
452         arc_valid_decl_attribute, make static.
453         * arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
454         * arm/arm-protos.h (arm_valid_machine_decl_attribute,
455         arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
456         arm_pe_merge_machine_decl_attributes): Remove.
457         * arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
458         arm_valid_decl_attribute_p, make static.
459         (arm_pe_valid_decl_attribute_p): Move from pe.c.
460         * arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
461         (arm_pe_merge_machine_decl_attributes): Move to tree.c.
462         * arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
463         * arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
464         * arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
465         * arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New.
466         (VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove.
467         * avr/avr-protos.h (valid_machine_type_attribute,
468         valid_machine_decl_attribute): Remove.
469         * avr/avr.c (valid_machine_type_attribute,
470         valid_machine_decl_attribute): Rename and make static.
471         * avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE,
472         VALID_MACHINE_DECL_ATTRIBUTE): Remove.
473         * c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
474         * c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
475         * c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
476         * d30v/d30v.h: Remove obsolete comments.
477         * h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
478         * h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
479         static.
480         * h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
481         * i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
482         (i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
483         i386_pe_valid_type_attributes_p): Remove.
484         * i386/i386-protos.h (ix86_valid_decl_attribute_p,
485         ix86_valid_type_attribute_p): Remove.
486         * i386/i386.c (ix86_valid_decl_attribute_p): Remove.
487         (ix86_valid_type_attribute_p): Make static.
488         * i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE,
489         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
490         * i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
491         * ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
492         * ia64/ia64.c (ia64_valid_type_attribute): Make static.
493         * ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
494         * m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
495         * m32r/m32r.c (m32r_valid_decl_attribute): Make static.
496         * m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
497         * m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
498         m68hc11_valid_type_attribute_p): Remove.
499         * m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
500         (m68hc11_valid_type_attribute_p): Make static.
501         * m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
502         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
503         * mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
504         mcore_merge_machine_decl_attribute): Remove.
505         * mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
506         make static.
507         (mcore_merge_machine_decl_attributes): Move to tree.c.
508         * mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE,
509         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
510         (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
511         * ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
512         ns32k_valid_type_attribute_p): Remove.
513         * ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
514         (ns32k_valid_type_attribute_p): Make static.
515         * ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE,
516         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
517         * rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
518         rs6000_valid_type_attribute_p): Remove.
519         * rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
520         (rs6000_valid_type_attribute_p): Make static.
521         * rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE,
522         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
523         * sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
524         * sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
525         * sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
526         * v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
527         * v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
528         * v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
529
530 2001-06-26  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
531
532         * glimits.h (USHRT_MAX): Use unsigned suffix if int can not hold
533         it.
534
535 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
536
537         * diagnostic.h (struct diagnostic_context): Add new field.
538         (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
539         declaratons.
540         (global_dc): Declare.
541         * diagnostic.c (global_diagnostic_context): New variable.
542         (global_output_buffer): Remove.
543         (global_dc): Define.
544         (lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
545         definitions.
546         (initialize_diagnostics): Adjust initialization.
547         (set_diagnostic_context): Adjust setting.
548
549 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
550
551         * config/mips/iris5.h (UNALIGNED_INT_ASM_OP,
552         UNALIGNED_SHORT_ASM_OP): Define.
553         * config/mips/iris6.h (UNALIGNED_INT_ASM_OP,
554         UNALIGNED_SHORT_ASM_OP): Undef.
555
556 Tue Jun 26 12:40:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
557
558         * i386.md (float_truncate splitter, and to mov splitters): Add
559         reload_completed; fix operand predicate.
560
561         * haifa-sched.c (sched_init): Do not split insns.
562         * toplev.c (rest_of_compilation): Call split_all_insns before
563         sched1 pass; simplify condition of post-reload splitter;
564         call split_all_insn before sched2 pass.
565
566 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
567
568         * diagnostic.h (diagnostic_prefixing_rule_t): New enum type.
569         (set_message_prefixing_rule): Adjust prototype.
570         * diagnostic.c (current_prefixing_rule): Adjust type.
571
572 2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
573
574         * defaults.h: Default escape sequences to ASCII.
575         * config/i370/i370.h: Adjust for ASCII default.
576         * config/1750a/1750a.h: Remove escape sequence definitions.
577         * config/a29k/a29k.h: Similarly.
578         * config/alpha/alpha.h: Similarly.
579         * config/arc/arc.h: Similarly.
580         * config/arm/arm.h: Similarly.
581         * config/avr/avr.h: Similarly.
582         * config/c4x/c4x.h: Similarly.
583         * config/clipper/clipper.h: Similarly.
584         * config/convex/convex.h: Similarly.
585         * config/d30v/d30v.h: Similarly.
586         * config/dsp16xx/dsp16xx.h: Similarly.
587         * config/elxsi/elxsi.h: Similarly.
588         * config/fr30/fr30.h: Similarly.
589         * config/h8300/h8300.h: Similarly.
590         * config/i386/i386.h: Similarly.
591         * config/i860/i860.h: Similarly.
592         * config/i960/i960.h: Similarly.
593         * config/ia64/ia64.h: Similarly.
594         * config/m32r/m32r.h: Similarly.
595         * config/m68hc11/m68hc11.h: Similarly.
596         * config/m68k/m68k.h: Similarly.
597         * config/m88k/m88k.h: Similarly.
598         * config/mcore/mcore.h: Similarly.
599         * config/mips/mips.h: Similarly.
600         * config/mn10200/mn10200.h: Similarly.
601         * config/mn10300/mn10300.h: Similarly.
602         * config/ns32k/ns32k.h: Similarly.
603         * config/pa/pa.h: Similarly.
604         * config/pdp11/pdp11.h: Similarly.
605         * config/pj/pj.h: Similarly.
606         * config/romp/romp.h: Similarly.
607         * config/rs6000/rs6000.h: Similarly.
608         * config/sh/sh.h: Similarly.
609         * config/sparc/sparc.h: Similarly.
610         * config/v850/v850.h: Similarly.
611         * config/vax/vax.h: Similarly.
612         * config/we32k/we32k.h: Similarly.
613         * doc/tm.texi: Update documentation.
614
615 2001-06-26  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
616
617         * diagnostic.c (digit_buffer): Remove as global.  Move to...
618         * diagnostic.h (struct output_buffer): ... here.
619         * diagnostic.c (output_formatted_integer): Adjust use of digit_buffer.
620
621 2001-06-25  Steve Ellcey  <sje@cup.hp.com>
622
623         * config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file.
624         Define tmake_file to include ia64/t-hpux.
625         * real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of
626         testing to see if it is defined.
627         * real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise.  Default to 0 if
628         undefined.
629         * config/ia64/hpux_longdouble.h: New.
630         * config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect
631         handling of long doubles.
632         (ia64_function_arg, ia64_function_value): Add checks for TFmode
633         and INTEL_EXTENDED_IEEE_FORMAT.
634         * config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
635         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, LIBCALL_VALUE): Add checks for
636         TFmode and INTEL_EXTENDED_IEEE_FORMAT.
637         * config/ia64/ia64.md (all TFmode patterns): Test
638         INTEL_EXTENDED_IEEE_FORMAT in condition.
639         (floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT.
640         * config/ia64/quadlib.c: New.
641         * config/ia64/t-hpux: New.
642         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
643
644 2001-06-25  Jim Wilson  <wilson@redhat.com>
645
646         * config/i960/t-960bare (i960-c.o): Add missing header dependencies.
647         * config/i960/t-vxworks960: Likewise.
648
649 2001-06-25   Dale Johannesen    <dalej@apple.com>
650
651         * bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual
652         argument to macro).
653
654 Mon Jun 25 11:10:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
655
656         * i386.md (movsi_insv_1, movsi_insv_1_rex64): Fix constraints.
657
658 2001-06-25  Joseph S. Myers  <jsm28@cam.ac.uk>
659
660         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
661         doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
662         doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
663         the use of "GCC" and related terms.
664         * doc/gcc.1, doc/gcov.1: Regenerate.
665
666 2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
667
668         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
669         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
670         uses of @refill.
671
672 Sun Jun 24 21:21:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
673
674         * (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
675
676 2001-06-24  Richard Henderson  <rth@redhat.com>
677
678         * builtins.c (expand_builtin_expect_jump): Disable if the
679         expression can't be re-evaluated.
680
681 2001-06-24  Nick Clifton  <nickc@cambridge.redhat.com>
682
683         * config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
684         handlers examine register r0-r7, for other interrupt handlers
685         examine r0-r12.  If the interrupt handler is not a leaf function
686         save all call clobbered registers.
687         (arm_output_epilogue): If the prologue has pushed the IP register,
688         restore it here.
689         (Arm_expand_prologue): For interrupt functions that need the frame
690         pointer, push the IP register before it is corrupted.
691
692         * config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings
693         about the use of signed and unsigned quantities in a conditional.
694
695 2001-06-23  Richard Henderson  <rth@redhat.com>
696
697         * config/alpha/crtfastmath.c: New file.
698         * config/alpha/t-crtfm: New file.
699         * config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
700         * config/alpha/osf.h (ENDFILE_SPEC): Likewise.
701         * config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
702         * config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
703         do not set extra_parts here.
704
705 2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
706
707         * doc/install-old.texi: Remove more documentation of configure
708         options.
709         * doc/install.texi: Add it here.
710
711 Sat Jun 23 19:40:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
712
713         * i386-protos.h (emit_i387_cw_initialization): Declare.
714         * i386.md (movsi_insv_1): Remove '*'.
715         (fix_trunc?f?i2): Revamp to use control word parameters.
716         (fix_trunc?i_1): Likewise; update splitters.
717         (fix splitter): Remove.
718         * i386.c (MAX_386_STACK_LOCALS): set to 3.
719         (emit_i387_cw_initialization): New function.
720         (output_fix_trunc): Do not initialize control word;
721         kill dead code; simplify.
722
723 2001-06-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
724
725         * cppmacro.c (make_string_token): Avoid warning.
726         (cpp_macro_definition): Prepend the macro name.  Update
727         comments.
728         * cppmain.c (cb_define, dump_macro): Update for changes
729         to cpp_macro_definition.
730
731 Sat Jun 23 10:20:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
732
733         * flow.c (attempt_auto_inc, try_pre_increment_1): Fix typo.
734
735 Sat Jun 23 01:23:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
736
737         * flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
738         try_pre_increment_1): compute REG_FREQ using bb->frequency.
739
740         * regclass.c (loop_cost): Kill.
741         (frequency): New global variable.
742         (record_operand_costs): Replace loop_cost by frequency.
743         (scan_one_insn): Likewise.
744         (regclass): Likewise; set frequency according to bb->frequency.
745
746         * flow.c (split_edge): Set frequency.
747
748 Sat Jun 23 01:16:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
749
750         * predict.c (block_info_def): Add nvisited.
751         (propagate_freq): Count nvisited; re-queue delayed blocks; handle
752         irreducible regions.
753
754         * flow.c (dump_edge_info): Dump the probability of edge.
755         (combine_predictions_for_insn): Dump the basic block.
756
757 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
758
759         * doc/gcc.texi: Update documentation of source files of C
760         compiler.
761
762 2001-06-22  Richard Henderson  <rth@redhat.com>
763
764         * doc/invoke.texi (-funsafe-math-optimizations): Document its
765         possible effects at link time.
766
767 2001-06-22  Diego Novillo  <dnovillo@redhat.com>
768
769         * basic-block.h (dump_edge_info): Declare.
770         (clear_edges): Declare.
771         (mark_critical_edges): Declare.
772         * flow.c (dump_edge_info): Remove static declaration.
773         (clear_edges): Ditto.
774         (mark_critical_edges): Ditto.
775         (free_basic_block_vars): Only clear edges and free basic block
776         array if basic_block_info is not NULL.
777         * ssa.c (compute_dominance_frontiers): Remove static declaration.
778         * ssa.h (compute_dominance_frontiers): Declare.
779
780 2001-06-22  Toshiyasu Morita  (toshiyasu.morita@hsa.hitachi.com)
781
782         * predict.c: (expected_value_to_br_prob): Check for const_true_rtx
783         instead of const1_rtx for true case.
784
785 2001-06-22  David Mosberger  <davidm@hpl.hp.com>
786
787         * config/ia64/crtfastmath.c: New file.
788         * config/ia64/t-ia64 (EXTRA_PARTS): Include it.
789         * config/ia64/linux.h (ENDFILE_SPEC): New.
790
791 2001-06-22  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
792
793         * config/h8300/h8300.c (asm_file_start): Remove reference to
794         "release F-1".
795
796 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
797
798         * c-common.c (verify_tree): Check for x being NULL.
799         * doc/c-tree.texi: Document COMPOUND_BODY of an empty
800         COMPOUND_STMT.
801         Fixes PR c/3259.
802
803 2001-06-22  DJ Delorie  <dj@redhat.com>
804
805         * config/arm/arm.h (struct machine_function): Remove ra_rtx.
806         * config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
807         (arm_return_addr): Use get_hard_reg_initial_val et al.
808         * config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
809         * config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
810         (d30v_return_addr): Use get_hard_reg_initial_val et al.
811         * config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
812         * config/rs6000/rs6000.c (rs6000_override_options): Don't set
813         mark_machine_status.
814         (rs6000_mark_machine_status): Remove.
815         (rs6000_return_addr): Use get_hard_reg_initial_val.
816         (rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
817         * config/v850/v850.h (INIT_EXPANDERS): Delete.
818         * config/v850/v850.c (struct machine_function): Delete.
819         (v850_init_machine_status): Delete.
820         (v850_mark_machine_status): Delete.
821         (v850_free_machine_status): Delete.
822         (v850_return_addr): Use get_hard_reg_initial_val.
823         (v850_init_expanders): Delete.
824
825 Fri Jun 22 19:20:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
826
827         * predict.c (estimate_bb_frequencies): Do not handle conditional
828         jumps jumping to fallthru basic block as conditional jumps.
829
830 Fri Jun 22 19:11:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
831
832         * regs.h (struct reg_info_def): Add freq field.
833         (REG_N_REFS): Update comment.
834         (REG_FREQ): New.
835         * regclass.c (scan_one_insn): Update REG_FREQ.
836         * flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
837         (attempt_auto_inc): Likewise.
838         (mark_used_reg): Likewise.
839         (try_pre_increment_1): Likewise.
840         * local-alloc.c (struct qty): Add freq field.
841         (alloc_qty): Set freq.
842         (update_equiv_regs): Set REG_FREQ.
843         (QTY_CMP_PRI): Use freq.
844         (combine_regs): Update qty->freq.
845         * global.c (struct allocno): Update comment for n_refs;
846         add freq field.
847         (local_reg_freq): New array.
848         (global_alloc): Update freq field;
849         allocate and initialize local_reg_freq.
850         (allocno_compare): Use freq field.
851         (find_reg): Likewise.
852         * reload1.c (count_pseudo): Use freq isntead of n_refs.
853         (count_spilled_pseudo): Likewise.
854
855         * tm.texi (GCOV_TYPE_SIZE): Document.
856         * basic-block.h (gcov_type): Define.
857         (struct edge_def): Use gcov_type for count field.
858         (struct basic_block_def): Likewise.
859         * defaults.h (GCOV_TYPE_SIZE): Define.
860         * final.c (end_final): Use GCOV_TYPE_SIZE.
861         * flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
862         using HOST_WIDEST_INT_PRINT_DEC.
863         * gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
864         __write_gcov_type): New.
865         (store_long): Remove.
866         * gcov.c (gcov_type): Set default.
867         (struct adj_list): Use gcov_type for arc_count.
868         (bb_info): Use gcov_type for succ_count, pred_count and exec_count.
869         (create_program_flow_graph): Read arc_count properly.
870         (solve_program_flow_graph): 'total' is gcov_type.
871         (output_data): Line_counts is gcov_type, print it properly.
872         * libgcc2.c (struct bb): Counts is gcov_type.
873         (__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
874         * profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
875         (GCOV_TYPE_SIZE): Define.
876         (struct bb_info): succ_count and pred_count is gcov_type.
877         (compute_branch_probabilities): Use __read_gcov_type,
878         print read edges to the dump file.
879         (total): Is gcov_type.
880         (gen_edge_profiler): Use GCOV_TYPE_SIZE.
881
882 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
883
884         * optabs.c (emit_libcall_block): When using non-call exceptions,
885         don't mark libcalls never throwing.
886
887 2001-06-21  Stan Shebs  <shebs@apple.com>
888
889         * objc/objc-act.c (hash_init): Use xcalloc.
890
891 2001-06-21  Richard Henderson  <rth@redhat.com>
892
893         * flow.c (entry_exit_blocks): Initialize frequency.
894         (split_block): Copy it.
895         (dump_flow_info): Dump it.
896
897 Thu Jun 21 22:15:10 2001  J"orn Rennecke <amylaar@redhat.com>
898
899         * sh.c (barrier_align): Also recognize branch-around-a-jump-sequence
900         from machine-depedent_reorg for purposes of alignment supression
901         when no delay slot insn has been added.
902
903 2001-06-21  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
904
905         * cppmacro.c (make_string_token): Null terminate.
906
907 2001-06-21  DJ Delorie  <dj@redhat.com>
908
909         * config/alpha/alpha.h (struct machine_function): Remove.
910         * config/alpha/alpha.c (integrate.h): Include.
911         (override_options): Don't set up machine_status hooks.
912         (alpha_init_machine_status): Remove.
913         (alpha_mark_machine_status): Remove.
914         (alpha_free_machine_status): Remove.
915         (alpha_return_addr): Use get_hard_reg_initial_val.
916         (alpha_gp_save_rtx): Likewise.
917         (alpha_ra_ever_killed): Use has_hard_reg_initial_val.
918
919 2001-06-20  Aldy Hernandez  <aldyh@redhat.com>
920
921         * config/sh/sh.md (interrupt_function): Use
922         current_function_interrupt.
923         (define_delay): Schedule in delay slot if TARGET_SH3, even if it is
924         an interrupt function.
925
926         * config/sh/sh.h (current_function_interrupt): Define extern.
927
928         * config/sh/sh.c (current_function_interrupt): New global.
929         (sh_expand_prologue): Set current_function_interrupt.
930
931 2001-06-21  Phil Edwards  <pme@sources.redhat.com>
932
933         * doc/install.texi:  Add 'c' to list of --enable-languages choices.
934
935 2001-06-21  DJ Delorie  <dj@redhat.com>
936
937         * integrate.c (mark_hard_reg_initial_vals): Check for NULL.
938
939         * integrate.c (ggc.h): Include.
940         (initial_value_pair, initial_value_struct,
941         setup_initial_hard_reg_value_integration): Add prototypes.
942         (expand_inline_function): Call
943         setup_initial_hard_reg_value_integration.
944         (has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
945         get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
946         to keep track of values present at the start of a function.
947         (mark_hard_reg_initial_vals): New, for gc.
948         (setup_initial_hard_reg_value_integration): New.  Sets up pseudo
949         mappings for initial values.
950         (emit_initial_value_sets): New.  Emits code to set initial value
951         pseudos.
952         * integrate.h: Add prototypes for new functions.
953         * function.h (struct function): Add hard_reg_initial_vals field.
954         * function.c (integrate.h): Include.
955         (mark_function_status): Call
956         mark_hard_reg_initial_vals.
957         * toplev.c (integrate.h): Include.
958         (rest_of_compilation): Call emit_initial_value_sets.
959
960 2001-06-21  Stan Shebs  <shebs@apple.com>
961
962         * doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
963         doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
964         doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
965         everywhere instead of "Objective C".
966
967 2001-06-21  Joseph S. Myers  <jsm28@cam.ac.uk>
968
969         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
970         doc/gcc.texi, doc/install-old.texi, doc/install.texi,
971         doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
972         "back end" as nouns and "front-end" and "back-end" as adjectives.
973
974 Wed Jun 20 21:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
975
976         * predict.c (estimate_probability): Fix loop bounds.
977
978 Wed Jun 20 19:10:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
979
980         * toplev.c (rest_of_compilation): Run mark_constant_function
981         before profile-arcs.
982
983 Wed Jun 20 19:08:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
984
985         * predict.c (estimate_loops_at_level, propagate_freq
986         estimate_bb_frequencies, count_to_freqs): New functions.
987         (estimate_probability): Call estimate_bb_frequencies.
988         * basic-block.h (basic_block_def): Add field "freq".
989         (BB_FREQ_MAX): New constant.
990
991 Wed Jun 20 17:02:50 2001  J"orn Rennecke <amylaar@redhat.com>
992
993         * sh.c (barrier_align): Don't ask for alignment when seeing a
994         branch-around-a-jump from machine_dependent_reorg.
995
996 Wed Jun 20 08:35:02 2001  Jeffrey A Law  (law@cygnus.com)
997
998         * ssa.c (rename_block): Update parameter to remove_phi_alternative
999         (convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
1000         re-running life analysis.
1001
1002 2001-06-20  Stan Shebs  <shebs@apple.com>
1003
1004         * objc/objc-act.c (hash_init): Assume xmalloc always succeeds,
1005         also use memset to clear the hash tables.
1006         (hash_enter): Assume xmalloc always succeeds.
1007         (hash_add_attr): Ditto.
1008         (continue_class): Ditto.
1009
1010 2001-06-20  Michael Meissner  <meissner@redhat.com>
1011
1012         * builtins.c (predict.h): Include.
1013         (expand_builtin_expect): Update comment.
1014         (expand_builtin_expect_jump): New function to expand
1015         __builtin_expect inside of a conditional jump expansion.
1016
1017         * expr.c (do_jump): Special case __builtin_expect (<test>, 0) and
1018         __builtin_expect (<test>, 1).
1019
1020         * Makefile.in (builtins.o): Depend on $(PREDICT_H).
1021
1022         * rtl.h (expand_builtin_expect_jump): Add prototype.
1023
1024 2001-06-19  Geoffrey Keating  <geoffk@redhat.com>
1025
1026         * doc/rtl.texi (Machine Modes): Correct description of
1027         floating-point modes on machines with non-8-bit bytes.
1028
1029 2001-06-19  Bernd Schmidt  <bernds@redhat.com>
1030
1031         * regmove.c (optimize_reg_copy_3): Do nothing if previous insn
1032         carries a REG_EQUIV note.  If it carries REG_EQUAL, delete the
1033         note.
1034
1035 Tue Jun 19 07:53:52 2001  Jeffrey A Law  (law@cygnus.com)
1036
1037         * ssa.c (remove_phi_alternative): Remove declaration.  No longer
1038         static.  Second argument is a pointer to a basic block structure,
1039         not a basic block index.
1040         (convert_to_ssa): Do not remove dead code.
1041         (convert_from_ssa): Do not remove dead code to create death notes.
1042         * ssa.h (remove_phi_alternative): Declare.
1043
1044         * flow.c (delete_unreachable_blocks): Fix patch error in
1045         previous change (call to find_unreachable_blocks was lost).
1046
1047         * ssa.c (ssa_uses): Remove definition.
1048         (apply_delayed_renames): Don't grow ssa_uses.
1049         (rename_block): Remove comment related to ssa_uses.
1050         (rename_registers): Do not initialize ssa_uses.
1051         (convert_from_ssa): Do not free ssa_uses.
1052
1053         * ssa-dce.c: Renamed from dce.c.
1054         * Makefile.in (OBJS): Replace dce.o with ssa-dce.o
1055         (dependencies): Replace dce.c with ssa-dce.c and dce.o with
1056         ssa-dce.o.
1057
1058 2001-06-19  Eric Christopher <echristo@redhat.com>
1059
1060         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode
1061         and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD.  Use
1062         GET_MODE_BITSIZE instead of GET_MODE_SIZE/UNITS_PER_WORD.
1063
1064 Tue Jun 19 01:52:27 2001  J"orn Rennecke <amylaar@redhat.com>
1065
1066         * sh.c (output_branch): Delete bogus code.
1067
1068         * sh.c (initial_elimination_offset):
1069         Fix FROM == RETURN_ADDRESS_POINTER_REGNUM case.
1070
1071 Mon Jun 18 12:50:49 2001  Jeffrey A Law  (law@cygnus.com)
1072
1073         * flow.c (find_unreachable_blocks): New function.
1074         (delete_unreachable_blocks): Use find_unreachable_blocks.
1075         * basic-block.h (find_unreachable_blocks): Declare.
1076
1077         * dce.c (eliminate_dead_code): Fix formatting glitch.
1078
1079 2001-06-18  Jason Merrill  <jason_merrill@redhat.com>
1080
1081         * c-common.h (RETURN_NULLIFIED_P): New macro.
1082         * c-semantics.c (genrtl_return_stmt): Check it.
1083
1084         * expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset.
1085         (emit_block_move): Likewise.
1086
1087 Mon Jun 18 17:27:24 CEST 2001  Jan Hubicka  <jh@suse.cz>
1088
1089         * unroll.c: Include predict.h.
1090         (unroll_loop): Drop prediction notes on preconditioning.
1091         * predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION):
1092         New; add comments on the others.
1093         * Makefile.in: (unroll.o): Add dependancy on predict.h.
1094         * loop.c (strength_reduce): Fix branch prediction.
1095
1096 Mon Jun 18 17:26:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
1097
1098         * stmt.c (emit_case_nodes): Optimize test whether index is in given
1099         interval.
1100
1101 Mon Jun 18 15:43:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
1102
1103         * predict.c (estimate_probability): Do not bail out early
1104         when note is present.
1105         (combine_predictions_for_insn): Fix note removal code.
1106
1107 2001-06-18  Ben Elliston  <bje@redhat.com>
1108
1109         * except.c (resolve_fixup_regions): Initialise "cleanup".
1110
1111 2001-06-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1112
1113         * tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
1114
1115 Sat Jun 16 20:20:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1116
1117         * expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR,
1118         use put_var_into_stack.
1119
1120 2001-06-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1121
1122         * gccspec.c (lang_specific_driver): If compiling ObjC, add
1123         -shared-libgcc when necessary.
1124         * Makefile.in (gccspec.o): Compile with DRIVER_DEFINES.
1125
1126 2001-06-16  Daniel Berlin  <dan@cgsoftware.com>
1127
1128         * bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs,
1129         bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit,
1130         bitmap_last_set_bit. All for compatibility with sbitmap's.
1131
1132         *bitmap.c (bitmap_zero): New function.
1133         (bitmap_union_of_diffs): New function.
1134         (bitmap_first_set_bit): New function.
1135         (bitmap_last_set_bit): New function.
1136
1137 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1138
1139         * cpp.texi, invoke.texi: Update.
1140         * cpp.1, gcc.1: Regenerate.
1141
1142 Sat Jun 16 12:45:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
1143
1144         * i386.md (minsf): Fix splitter. (PR fortran/3191)
1145
1146 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1147
1148         * doc/cpp.texi: Update.
1149         * doc/cpp.1: Regenerate.
1150
1151 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
1152
1153         * doc/install.texi: Use correct markup hints.
1154
1155 Fri Jun 15 18:05:22 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1156
1157         * function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR.
1158
1159         * explow.c (expr_size): If DECL and size specified, use it.
1160
1161 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
1162
1163         * doc/cpp.texi: Formatting corrections.
1164         Correct buggy example of use of __GNUC__ etc.
1165         Clarify $ in identifiers.
1166         * doc/cpp.1: Regenerate.
1167
1168 Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka  <jh@suse.cz>
1169
1170         * optabs.c (expand_twoval_binop): Avoid undefined behaviour.
1171
1172 2001-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1173
1174         * doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
1175         etc. spelling.
1176         (Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
1177         Added Tru64 UNIX V5.1 bootstrap hints.
1178         (Specific, alpha*-*-osf*): Removed old section, obsolete.
1179
1180 2001-06-15  Andreas Jaeger  <aj@suse.de>
1181
1182         * doc/install.texi (Specific): Mention that glibc cannot be
1183         compiled with GCC 3.0.
1184
1185 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
1186
1187         * combine.c (nonzero_bits): Don't optimize away division by
1188         zero.
1189
1190 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
1191
1192         * doc/cpp.texi: Revised and brought up to date.
1193         * doc/cpp.1: Regenerate.
1194
1195 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
1196
1197         * doc/install.texi: Update --enable-threads to match reality.
1198
1199 2001-06-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1200
1201         * doc/install.texi: Update for C4x.
1202         * README.C4X: Remove.
1203
1204 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1205
1206         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
1207         doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
1208         doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
1209         Consistently use "built-in" and "bit-field".  Minor logical markup
1210         improvements.
1211         * doc/gcc.1: Regenerate.
1212
1213 2001-06-14  Richard Henderson  <rth@redhat.com>
1214
1215         * config/mips/mips.md (exception_receiver): New.
1216
1217 2001-06-14  Daniel J. Berlin <dan@cgsoftware.com>
1218
1219         * doc/gcc.texi:  Update passes documentation to be more in tune
1220         with reality.
1221
1222 Thu Jun 14 15:38:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
1223
1224         * i386.c (ix86_expand_prologue): Fix merging conflict.
1225
1226 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1227
1228         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
1229         doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
1230         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
1231         logical markup.  Use TeX quotes and dashes.  Use @dots{} and
1232         @minus{}.  Avoid spaces inside @var.  Update last modification
1233         date in gcc.texi.
1234         * doc/gcc.1, doc/gcov.1: Regenerate.
1235
1236 Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
1237
1238         * i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
1239         x86_epilogue_using_move): New global variables.
1240         (override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
1241         (ix86_emit_save_regs_using_mov): New static function.
1242         (ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
1243         * i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE,
1244         MASK_MIX_SSE_I387): Renumber.
1245         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): New.
1246         (x86_accumulate_outgoing_args, x86_prologue_using_move,
1247         x86_epilogue_using_move): Declare.
1248         (TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New.
1249
1250 2001-06-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1251
1252         * inclhack.def (hpux10_cpp_pow_inline): New hack.
1253
1254 2001-06-13  Richard Henderson  <rth@redhat.com>
1255
1256         * ifcvt.c (dead_or_predicable): Fix return value last patch.
1257
1258 2001-06-13  Mark Mitchell  <mark@codesourcery.com>
1259
1260         * NEWS: Remove.
1261
1262 2001-06-13  Richard Henderson  <rth@redhat.com>
1263
1264         * ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
1265         (cond_exec_process_if_block, dead_or_predicable): Likewise.
1266
1267 2001-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1268
1269         * mips-tfile.c (copy_object): Always pass indexNil for symbol
1270         table index.
1271
1272 2001-06-13  Kazu Hirata  <kazu@hxi.com>
1273
1274         * config/h8300/h8300.h (OK_FOR_T): Remove.
1275         (EXTRA_CONSTRAINT): Do not use OK_FOR_T.
1276         * config/h8300/h8300.md: Remove alternatives involving inc and dec
1277         in the helper patterns for addhi3 and addsi3.
1278
1279 2001-06-13  Phil Edwards  <pme@sources.redhat.com>
1280
1281         * doc/contrib.texi:  Link to libstdc++'s thanks.html for now.
1282
1283 2001-06-13  Zack Weinberg  <zackw@stanford.edu>
1284
1285         * Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
1286         * libgcc-std.ver: Take out __bb* and __gcc_bcmp.
1287
1288         * config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
1289         config/alpha/t-osf4, config/mips/t-iris6: Extract all
1290         references to @shlib_map_file@, @shlib_objs@, or
1291         @shlib_base_name@ to Makefile variables.
1292         Bump soname version of libgcc to 1.
1293
1294 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1295
1296         * doc/install.texi: Use more logical markup.  Include @node
1297         commands in the source when generating any non-HTML.
1298
1299 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1300
1301         * README: Remove.  Some of the contents moved to ../README.
1302
1303 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
1304
1305         * doc/install.texi (--enable-shared): List package names
1306         recognized by GCC.
1307
1308 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
1309
1310         * doc/install.texi (ix86-*-solaris*): Removed, outdated.
1311         (*-*-solaris*): Document problem in /bin/sh that affects
1312         configuring libraries.
1313         (sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
1314         (*-sun-solaris2.8): Document linker problem that explains why
1315         libjava is disabled by default.
1316
1317 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
1318
1319         Revert this patch:
1320         * toplev.c (rest_of_compilation): Remove dead code before
1321         purge_addressof.
1322
1323 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
1324
1325         Reverted:
1326         2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
1327         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
1328         * configure: Rebuilt.
1329
1330 2001-06-12  Jim Wilson  <wilson@redhat.com>
1331
1332         * loop.c (strength_reduce): Move bl->all_reduced set before
1333         check_ext_dependant_givs call.
1334         (check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
1335
1336 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
1337
1338         * doc/extend.texi (Function Attributes): Document SH's sp_switch
1339         and trap_exit.
1340
1341 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1342
1343         * doc/invoke.texi: Use more logical markup.  Use TeX quotes,
1344         dashes and @dots{}.
1345
1346 2001-06-12  Richard Henderson  <rth@redhat.com>
1347
1348         * config/i386/i386.c (ix86_expand_prologue): Always use
1349         gen_pro_epilogue_adjust_stack; update arguments.
1350         (ix86_expand_epilogue): Likewise.
1351         (ix86_emit_epilogue_esp_adjustment): Remove.
1352         (ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
1353         * config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
1354         clobber of scratch memory instead of a modification of EBP as the
1355         barrier.  Update all peepholes to match.
1356
1357 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1358
1359         * doc/gcc.texi: Change the font used for @def... commands to a
1360         fixed width font.
1361         * doc/extend.texi: Use more logical markup.  Use "built-in"
1362         instead of "builtin".  Use @deftypefn to mark up built-in
1363         functions; specify their types in the @deftypefn and not in the
1364         descriptive text.  Use TeX quotes and dashes.  Add more index
1365         entries.
1366
1367 2001-06-12  lars brinkhoff  <lars@nocrew.org>
1368
1369         * gcc.texi (HOST_BITS_PER_LONGLONG): Document.
1370         (DIR_SEPARATOR_2): Likewise.
1371
1372 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1373
1374         * doc/install.texi (--exec-prefix, --bindir, --libdir,
1375         --with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
1376         Document.
1377         (--enable-cpp): Change to document --disable-cpp instead; update
1378         to reflect current default.
1379         (--without-fast-fixincludes): Remove documentation.
1380         (Final install): Document installation directories in more
1381         detail.  Document use of make dvi.
1382
1383 Tue Jun 12 19:01:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
1384
1385         * recog.c (validate_replace_rtx_1): Fix previous patch.
1386
1387 Tue Jun 12 17:25:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
1388
1389         * recog.c (validate_replace_rtx_1): Do plus_constant call always.
1390
1391 Tue Jun 12 17:24:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
1392
1393         * simplify-rtx.c (simplify_subreg): Allow volatile memory
1394         to be subregged in case we don't have move instruction.
1395
1396 Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
1397
1398         * loop.c: Include predict.h
1399         (strength_reduce): Drop branch prediction note in case
1400         number of iterations is known.
1401         * predict.def (PRED_LOOP_ITERATIONS): new.
1402         * Makefile.in (loop.o): Add dependancy on predict.h
1403
1404 2001-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1405
1406         * c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
1407
1408         * c-typeck.c (c_start_case): Likewise.
1409
1410 2001-06-12  Mark Mitchell  <mark@codesourcery.com>
1411
1412         * expr.c (store_field): Don't set MEM_ALIAS_SET for a field
1413         in a structure at a variable address.
1414
1415 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1416
1417         * doc/gcov.texi: Use more logical markup.
1418
1419 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
1420
1421         * unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
1422         REG_NOTE_KIND, not PUT_MODE and GET_MODE.
1423         (final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
1424         valid.
1425
1426 2001-06-11  Stan Shebs  <shebs@apple.com>
1427
1428         * config/darwin.h (ASM_FILE_END): Remove decl of language_string.
1429
1430 2001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1431
1432         * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber
1433         as an early clobber to make sure it is not used by reload in
1434         one of the operands.
1435
1436 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
1437
1438         * doc/c-tree.texi: Update information about flag_honor_std.
1439         * doc/install.texi: Note that binutils is required on HPUX 11.
1440         * doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
1441         now the default.
1442
1443         * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
1444         variable-sized types.
1445
1446 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1447
1448         * doc/md.texi: Use TeX dashes and quotes.
1449
1450 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1451
1452         * doc/rtl.texi: Reference manual chapter about trees.
1453
1454 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1455
1456         * config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
1457         (WINT_TYPE): Override.
1458         (WINT_TYPE_SIZE): Likewise.
1459         (SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
1460
1461         * config/sparc/sol2.h (WINT_TYPE): Define.
1462         (WINT_TYPE_SIZE): Likewise.
1463
1464         * config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
1465         (WINT_TYPE): Override.
1466         (WINT_TYPE_SIZE): Likewise.
1467         (CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
1468         (CPP_ARCH64_SPEC): Likewise.
1469
1470 2001-06-11  Richard Henderson  <rth@redhat.com>
1471
1472         * unwind-dw2-fde.c (__deregister_frame_info): Don't play games
1473         with alias attribute.
1474
1475         * config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
1476         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
1477
1478 2001-06-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1479
1480         * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
1481
1482 2001-06-11  Stan Shebs  <shebs@apple.com>
1483
1484         * config/darwin.c (darwin_encode_section_info):  Rewrite to simplify
1485         and fix coding mistakes.
1486
1487 2001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
1488
1489         * config/m32r/m32r.md (movstrsi_internal): Do not expect a
1490         return string from m32r_output_block_move.
1491         * config/m32r/m32r-protos.h: Make m32r_output_block_move a
1492         void function.
1493         * config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
1494         integer overflow.
1495         (ROUND_ADVANCE): Remove signed/unsigned conflict.
1496         * config/m32r/m32r.c: Declare prototypes for static functions.
1497         (move_src_operand): Replace INT32_P with UINT32_P.
1498         (function_arg_partial_nregs): Fixed signed/unsigned conflict
1499         in initialisation of 'size'.
1500         (m32r_sched_reord): Remove redundant declarations of 'code'.
1501         (m32r_output_block_move): Change to a void function.
1502         (m32r_encode_section_info): Cast return of
1503         TREE_STRING_POINTER to avoid compile time warning.
1504
1505 2001-06-11  Richard Henderson  <rth@redhat.com>
1506
1507         * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
1508         * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
1509         (struct machine_function): Add gp_save_rtx.
1510         * config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
1511         (alpha_gp_save_rtx): New.
1512         * config/alpha/alpha-protos.h: Declare it.
1513         * config/alpha/alpha.md (exception_receiver): Make an expander.
1514         Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
1515
1516 2001-06-11  Richard Henderson  <rth@redhat.com>
1517
1518         * config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
1519
1520 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1521
1522         * configure.in: Align --help messages.
1523         Remove trailing full stops.
1524         Consistently use lower case.
1525         Fix DWARF 2 spelling.
1526         * configure: Rebuilt.
1527
1528 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1529
1530         * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
1531         variants for .cpp/.cp/.c++ files.
1532         Move definition of __LANGUAGE_C_PLUS_PLUS ...
1533         (CPLUSPLUS_CPP_SPEC): ... here.
1534
1535 Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
1536
1537         * jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
1538
1539 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1540
1541         * c-decl.c (store_parm_decls): When comparing types in an
1542         old-style function declaration with those from a previous
1543         prototype, compare the unqualified versions of parameter types.
1544         Fixes PR c/3116.
1545
1546 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1547
1548         * doc/objc.texi: Use more logical markup.  Use TeX dashes.
1549
1550 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1551
1552         * doc/c-tree.texi: Use more logical markup.
1553
1554 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1555
1556         * c-decl.c (xref_tag): Don't return previous tags of wrong type.
1557
1558 2001-06-11  Aldy Hernandez  <aldyh@redhat.com>
1559
1560         * loop.c (scan_loop): Do not combine asm statements.
1561
1562 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1563
1564         * simplify-rtx.c (simplify_subreg): Fix offset calculation
1565         for complex values within a CONCAT.
1566
1567 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1568
1569         * doc/install.texi: Update details of what components are included
1570         in the GCC distribution.  Update default directory for g++
1571         includes.  Update documentation relating to old libio.  Adjust
1572         documentation on DejaGnu environment variables.  Remove
1573         documentation of --enable-cpplib.
1574
1575 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1576
1577         * doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
1578         markup.
1579
1580 2001-06-10  Richard Henderson  <rth@redhat.com>
1581
1582         * ifcvt.c (life_data_ok): New.
1583         (merge_if_block): Use it to determine whether to update
1584         global_live_at_end.
1585         (if_convert): Set it.
1586
1587 2001-06-10  Richard Henderson  <rth@redhat.com>
1588
1589         * config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
1590
1591 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
1592
1593         * doc/invoke.texi (MN10300 Options): Document -mno-crt0.
1594         (SH Options): Document -mieee.
1595         * doc/install.texi (Final install): Remove obsolete information
1596         about installing cross compilers.
1597         * doc/gcc.1: Rebuilt.
1598
1599 2001-06-10  Richard Henderson  <rth@redhat.com>
1600
1601         * config/alpha/alpha.c (override_options): Set align_loops,
1602         align_jumps, and align_functions.
1603         * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
1604         (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.
1605
1606 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1607
1608         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
1609         are one and two words in size.
1610
1611 2001-06-10  Richard Henderson  <rth@redhat.com>
1612
1613         * doc/invoke.texi (Optimization Options): Document -fpeephole2.
1614         (Code Generation Options): Document -fnon-call-exceptions.
1615
1616 2001-06-10  Mark Kettenis  <kettenis@gnu.org>
1617
1618         * config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
1619
1620 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1621
1622         * m68hc11.md (peepholes): Remove unused and wrong peepholes.
1623
1624 2001-06-10  Mark Mitchell <mark@codesourcery.com>
1625             Gabriel Dos Reis  <gdr@codesourcery.com>
1626
1627         * Makefile.in (c-parse.o): Depend on diagnostic.h
1628         (dwarf2out.o): Likewise.
1629
1630         * dwarf2out.c: #include diagnostic.h
1631
1632         * toplev.h (warningcount, errorcount, sorrycount): Remove
1633         declarations.
1634
1635         * toplev.c (warningcount, errorcount, sorrycount): Remove
1636         definitions.
1637
1638         * diagnostic.h (struct output_buffer): Reorder fields.
1639         (diagnostic_kind_count): New macro.
1640         (errorcount, warningcount, sorrycount): Define as macros.
1641         (diagnostic_report_warnings_p): New macro.
1642         (output_state): Add diagnostic_count field.
1643
1644         * diagnostic.c (warningcount, errorcount, inhibit_warnings):
1645         Remove tentative declaration.
1646         (count_error): Use diagnostic_report_warnings_p.
1647
1648         * c-parse.in: #include diagnostic.h
1649
1650 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1651
1652         * config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
1653         prefer a memory for operand 1.
1654         ("*addsi3"): Fix constraints, the '!' was too strong.
1655         ("*addsi3_split"): Accept soft register and split accordingly.
1656
1657 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1658
1659         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
1660         Move definition in the RTX_CODE section.
1661
1662 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1663
1664         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return
1665         address as relative to the argument pointer.
1666
1667 Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1668
1669         * predict.def (PRED_OPCODE): Place before call and error_return.
1670
1671 Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
1672
1673         * predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
1674         * predict.c (estimate_probability): Calculate dominance
1675         information; improve detection of NORETURN heuristics;
1676         add call/error_return heuiristics; tweak comparison heuristics
1677         to recognize -1.
1678
1679 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
1680
1681         * doc/invoke.texi (C Dialect Options): Document -aux-info.
1682         (Debugging Options): Document -print-multi-directory and
1683         -print-multi-lib.
1684         * doc/gcc.1: Rebuilt.
1685
1686         * toplev.c (independent_decode_option): Require `=' between
1687         `-aux-info' and filename in the same argument.
1688         * gcc.c: Don't pass -aux-info=filename twice.
1689
1690 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
1691
1692         * expr.c (expand_expr, case ARRAY_REF): Do not replace
1693         an array element with the known initializing value if it has
1694         side-effects.
1695
1696         * toplev.c (rest_of_compilation): Remove dead code before
1697         purge_addressof.
1698
1699 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1700
1701         * cppinit.c (print_help): Document -fpreprocessed.
1702         * invoke.texi: Similarly.
1703
1704 Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
1705
1706         * predict.def: New file.
1707         * predict.h: New file.
1708         * predict.c: Include predict.h.
1709         (predictor_info): New structure and array.
1710         (predict_edge, predict_insn): Rewrite; make global.
1711         (predict_edge_def, predict_insn_def): New global functions.
1712         (dump_prediction, combine_predictions_for_insns): New
1713         static functions.
1714         (estimate_probability): Change calls to predict_edge
1715         to predict_edge_def and calls to predict_insn to predict_insn_def;
1716         combine probabilities.
1717         (expected_value_to_br_prob): Behave as predictor.
1718         * rtl.h (REG_BR_PRED): Update coment.
1719         (invert_br_probabilities): New.
1720         * jump.c: Include predict.h
1721         (duplicate_loop_exit_test): Drop branch prediction notes.
1722         (invert_jump): Use invert_br_probabilities.
1723         * Makefile.in: Add dependancy on predict.h for jump and predict pass.
1724         * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
1725         * combine.c (distribute_notes): Handle BR_PRED.
1726
1727 Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1728
1729         * predict.c (predict_insn, predict_edge): New static functions.
1730         (estimate_probability): Revamp to use new functions;
1731         fix loop header heruistics; add loop exist heruistics
1732
1733 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
1734
1735         * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
1736
1737 2001-06-09  Peter Jakubek <pjak@snafu.de>
1738
1739         * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
1740
1741 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1742
1743         * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
1744         for integer operations that don't update C bit.
1745
1746 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
1747
1748         * gthr-posix.h (__gthread_objc_init_thread_system): If
1749         pthread_key_create fails, it's not clear what the return value is.
1750         This obvious fix makes sure it always returns -1 if a problem
1751         occurs.
1752
1753 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1754
1755         * doc/gcc.texi: Use @defcodeindex for the index of options.  Add
1756         more index entries.  Use more logical markup where appropriate.
1757         Use TeX quotes and dashes.
1758
1759 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
1760
1761         * unwind-pe.h: Conditionally qualify references to abort with
1762         std::.
1763
1764 2001-06-09  Julian Foad <julian_foad@hotmail.com>
1765
1766         * doc/invoke.texi: Remove superfluous text.
1767
1768 2001-06-08  Richard Henderson  <rth@redhat.com>
1769
1770         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
1771         (LIB_SPEC): Mirror config/linux.h version.
1772
1773 2001-06-08  Richard Henderson  <rth@redhat.com>
1774
1775         * except.c (get_exception_pointer, get_exception_filter): Take a
1776         struct function.  Update all callers.
1777         * except.h (get_exception_pointer): Update declaration.
1778         * expr.c (expand_expr): Update get_exception_pointer call.
1779         * integrate.c (expand_inline_function): Remap the exception pointer
1780         from callee to caller.
1781
1782 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
1783
1784         * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
1785         accurately reflect its cv-qualification.
1786         * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
1787         cv-qualifiers on function types.
1788
1789 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
1790
1791         * basic-block.h: Improve comments.
1792         * except.c (expand_eh_region_end_allowed): Remove redundant call
1793         to do_pending_stack_adjust.
1794         * flow.c (life_analysis): Fix typo in comment.
1795         (calculate_global_regs_live): Add documentation.
1796         (mark_set_1): Likewise.
1797         (debug_regset): Likewise.
1798         * doc/rtl.texi (cond_exec): Document it.
1799
1800 Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
1801
1802         * i386.h (CONST_COSTS): set cost of constants representable in
1803         immediate fields to 0.
1804
1805 Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
1806
1807         * function.c (diddle_return_value): Kill code to determine
1808         return value before expand_function_end.
1809         (expand_function_end): Delay call to clobber_return_register
1810         after fucntion return value is computed.
1811
1812         Re-install temporary reverted patch:
1813         * toplev.c (rest_of_compilation): Call split_all_insns
1814         before reg-stack and shorten-branches. Do shorten-branches
1815         after reg-stack.
1816         * final.c (shorten_branches): Remove insn splitting code.
1817
1818 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1819
1820         * doc/gcc.texi, doc/invoke.texi: Add index of command line
1821         options.  Use @opindex to index them rather than other indexing
1822         commands.  Use @var{...} instead of <...>.  Avoid spaces in names
1823         inside @var.  Don't use @kindex to index escape sequences in
1824         source code.
1825
1826 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
1827
1828         * stmt.c (current_nesting_level): New fn.
1829         * tree.h: Declare it.
1830         * c-semantics.c (genrtl_compound_stmt): Use it.
1831
1832         * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
1833
1834 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
1835
1836         * jump.c (mark_modified_reg): Allow jump threading if condition
1837         codes are represented by a hard register.
1838
1839 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
1840
1841         * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
1842         for complex floats passed to unprototyped functions.
1843
1844 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
1845
1846         * except.c (expand_eh_region_end_allowed): Call
1847         do_pending_stack_adjust as necessary.
1848
1849 Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
1850
1851         * function.c (clobber_return_register): Clobber the pseudo return
1852         register too.
1853
1854         * sibcall.c (skip_unreturned_value): New function.
1855         (call_ends_block_p): Use it.
1856
1857         * recog.c (split_insn): Break out from ...
1858         (split_all_insns): ... here; do not use basic block information
1859         when it is broken.
1860
1861 Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1862
1863         * simplify-rtx.c (simplify_subreg):  Fix verification of
1864         combined subreg.
1865
1866 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1867
1868         * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
1869         Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
1870         Move definition of _LANGUAGE_C_PLUS_PLUS ...
1871         (CPLUSPLUS_CPP_SPEC): ... here.
1872         Fixes PRs c++/3047, target/441.
1873
1874 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1875
1876         * doc/install.texi2html (MAKEINFO): Keep value if set already.
1877
1878 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1879
1880         * doc/gcc.texi: Add trailing slash to URL.
1881
1882 2001-06-07  Stan Shebs  <shebs@apple.com>
1883
1884         * config/darwin.h (ENCODE_SECTION_INFO): Define.
1885         (REDO_SECTION_INFO_P): Ditto.
1886         (STRIP_NAME_ENCODING): Ditto.
1887         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
1888         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
1889         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
1890         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
1891         * config/darwin.c: No longer include c-tree.h.
1892         (machopic_classify_ident): Rewrite to use symbol encoding.
1893         (lookup_name_darwin): Remove.
1894         (machopic_non_lazy_ptr_name): Handle encoded symbols.
1895         (machopic_stub_name): Use STRIP_NAME_ENCODING.
1896         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
1897         (machopic_finish): Ditto, remove test of decl.
1898         (update_non_lazy_ptrs): New function.
1899         (darwin_encode_section_info): New function.
1900         * config/darwin-protos.h: Declare it.
1901         * config/rs6000/rs6000.c (machopic_output_stub): Use
1902         STRIP_NAME_ENCODING.
1903
1904 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
1905
1906         * tree.h (DECL_SOURCE_FILE): Improve documentation.
1907         (DECL_SOURCE_LINE): Likewise.
1908
1909 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
1910
1911         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
1912         from config/elfos.h.
1913
1914 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
1915
1916         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
1917         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
1918
1919 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1920
1921         * doc/contrib.texi: Add copyright notice.
1922
1923 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1924
1925         * doc/md.texi: Use four digit years in copyright notice.
1926
1927 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1928
1929         * config.gcc: For $target_alias of athlon-*, set
1930         target_cpu_default2=5.
1931
1932 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1933
1934         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
1935         end of last block if last real insn is a JUMP_INSN.
1936
1937 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1938
1939         * NEWS: Regenerate.
1940
1941 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1942
1943         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
1944         pthread_t to objc_thread_t.
1945         (__gthread_objc_thread_id): Likewise.
1946
1947 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1948
1949         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
1950         (ASM_OLDAS_SPEC): Likewise.
1951
1952         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
1953         (CPP_SUBTARGET_SPEC): Use it.
1954         (ASM_OLDAS_SPEC): Define.
1955         (ASM_SPEC): Use it.
1956         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
1957
1958 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1959
1960         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
1961         passed by reference.
1962
1963 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1964
1965         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
1966         Document use of N_(...), and show it in examples.  Note that
1967         documentation should be added to invoke.texi.  Avoid an overfull
1968         hbox.
1969
1970 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
1971
1972         * toplev.c (rest_of_compilation): Revert previous patch.
1973         * final.c (shorten_branches): Likewise.
1974
1975 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1976
1977         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
1978         Remove.
1979
1980 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1981
1982         * doc/install-old.texi: Remove more obsolete documentation.
1983
1984 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
1985
1986         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
1987
1988 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
1989
1990         * toplev.c (rest_of_compilation): Call split_all_insns
1991         before reg-stack and shorten-branches. Do shorten-branches
1992         after reg-stack.
1993         * final.c (shorten_branches): Remove insn splitting code.
1994
1995 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
1996
1997         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
1998         * configure: Rebuilt.
1999
2000 2001-06-07  Andreas Jaeger  <aj@suse.de>
2001
2002         * emit-rtl.c (operand_subword): Remove unused variable.
2003
2004 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
2005
2006         * i386.md (floatdi?f): Avoid usinf of SSE instructions
2007         if TARGET_64BIT is false.
2008         (floatdi?f_i386_only): New insn.
2009         (floatdi?f_i386): Disable for !TARGET_64BIT.
2010
2011         * (min?f, max?f splitters): Handle case where
2012         operands are cross-matched.
2013
2014         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
2015         (MMX_REGISTER_NAMES): Kill.
2016         (PRINT_OPERAND): Fix comment.
2017         (PRINT_REG): Likewise.
2018         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
2019         (print_operand): Update comment; kill 'm'.
2020
2021         * i386.c (x86_branch_hints): New global variable
2022         (print_operand): Support outputting of branch prediction hints.
2023         * i386.md (conditional jump patterns): Add branch prediction hints
2024         to the template.
2025         * i386.h (x86_branch_hints): Declare
2026         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
2027         (PRINT_OPERAND_FUNCT_VALID_P): New.
2028         * final.c (final_forward_branch_p): New function.
2029
2030 2001-06-06  Richard Henderson  <rth@redhat.com>
2031
2032         * flow.c (mark_used_reg): Clean up looping over multiple hard
2033         registers.  Do conditional life bits across multiple hard regs.
2034
2035 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
2036
2037         * reload1.c (reload): Revert Schmidt's change so all USEs are not
2038         deleted during reload.
2039
2040 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
2041
2042         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
2043         functions here, instead of ...
2044         * c-decl.c (c_expand_body): ... here.
2045
2046 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
2047
2048         * config.gcc, config/sparc/bsd.h:  Do not directly include
2049         sparc/sparc.h.  Instead do it via tm_file.
2050
2051 2001-06-05  Richard Henderson  <rth@redhat.com>
2052
2053         * dwarf2.h (DW_EH_PE_aligned): New.
2054         * dwarf2asm.c (eh_data_format_name): Name it.
2055         (dw2_asm_output_encoded_addr_rtx): Align for it.
2056         * dwarf2out.c (output_call_frame_info): Handle it for personality
2057         routine and LSDA pointers.
2058
2059         * unwind-pe.h (DW_EH_PE_aligned): New.
2060         (base_of_encoded_value): Handle it.
2061         (read_encoded_value_with_base): Likewise.
2062         * unwind-dw2-fde.c (base_from_object): Likewise.
2063         (get_cie_encoding): Likewise.
2064
2065         * config/alpha/elf.h: Remove ecoff commentary.
2066         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2067
2068 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
2069
2070         * config.gcc, config/i386/bsd386.h:  Do not directly include
2071         i386/386bsd.h.  Instead do it via tm_file.
2072
2073 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
2074
2075         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
2076         way svr4.h does.
2077
2078 2001-06-05  Pascal Obry  <obry@act-europe.fr>
2079
2080         * configure.in: Quote $enable_win32_registry in case the value has
2081         spaces in it.
2082         * configure: Ditto.
2083
2084 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
2085
2086         * print-rtl.c (xspaces): Remove.
2087         (print_rtx): Use printf field-width, rather than xpsaces, to
2088         indent.
2089         * toplev.c (main): Disable sibling-call optimization if we are
2090         handling exceptions.
2091
2092 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
2093
2094         * reload1.c (reload): Delete all USEs generated during reload.
2095
2096 2001-06-05  scott snyder  <snyder@fnal.gov>
2097
2098         * gccbug.in:  Fix typo.
2099
2100 2001-06-05  Andreas Jaeger  <aj@suse.de>
2101
2102         * builtins.def: Fix definition of __builtin_cosf, it uses float as
2103         parameter and return value.
2104
2105 2001-06-04  Anthony Green  <green@redhat.com>
2106
2107         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
2108         machine.  This is now done in sparc.h.
2109
2110 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
2111
2112         Correct CVS resurrection of invoke.texi.
2113         * doc/invoke.texi: Document new tree dump flags.
2114
2115 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2116
2117         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
2118         for casting an aggregate to its own type.  Fixes PR c/2735.
2119
2120 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2121
2122         * doc/texinfo.tex: Update to version 2001-05-24.08.
2123
2124 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
2125
2126         * c-common.h (flag_dump_translation_unit): Remove.
2127         (enum tree_dump_index): Define.
2128         (TDF_ADDRESS, TDF_SLIM): New #defines.
2129         (dump_node_to_file): Remove.
2130         (dump_node): Make extern. Add flags.
2131         (dump_flag, dump_enabled_p, dump_begin, dump_end,
2132         dump_switch_p): Prototype.
2133         * c-common.c (flag_dump_translation_unit): Remove.
2134         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
2135         logic. Use dump_switch_p.
2136         * c-dump.h (struct dump_info): Add node and user fields.
2137         (dump_pointer): Declare.
2138         * c-dump.c (dump_node): Make extern. Add flags.
2139         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
2140         (dump_new_line, dump_maybe_newline): Use them.
2141         (dump_pointer): New function.
2142         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
2143         chain or function's body. Dump address, if TDF_ADDRESS set.
2144         (dump_flag): Define.
2145         (dump_node_to_file): Remove.
2146         (struct dump_file_info): New struct.
2147         (dump_files): New array.
2148         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
2149         * c-lang.c (finish_file): Adjust dumping.
2150         * toplev.h (dump_base_name): Make extern.
2151         * invoke.texi: Document new flags.
2152
2153 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
2154
2155         * c-tree.h (lang_decl): Add pending_sizes fields.
2156         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
2157         functions.
2158         (c_expand_body): Expand them.
2159         (lang_mark_tree): Mark lang_decl:pending_sizes.
2160         * function.c (expand_pending_sizes): New function, broken out
2161         from ...
2162         (expand_function_start): ... here.
2163         * tree.h (expand_pending_sizes): Declare it.
2164
2165 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
2166
2167         * doc/install.texi: Update FreeBSD information.  Generalize
2168         and update information for alpha-based platforms using ELF.
2169
2170 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2171
2172         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
2173         (store_parm_decls): Likewise.
2174         * c-typeck.c (convert_arguments): Likewise.
2175
2176 2001-06-04  Richard Henderson  <rth@redhat.com>
2177
2178         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
2179         optimization if current_function_calls_setjmp.
2180
2181 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2182
2183         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
2184         wide strings.
2185
2186 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
2187
2188         * simplify-rtx.c (simplify_subreg): Fix combining of
2189         paradoxical subregs.
2190
2191 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
2192
2193         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
2194         (no_labels_between_p): Short circuit case beg==end.
2195
2196 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
2197
2198         * rtlanal.c (operand_preference): Fix preference for objects.
2199
2200 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
2201
2202         * gcse.c (handle_avail_expr): Be prepared to handle single_set
2203         parallels.
2204
2205 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2206
2207         * combine.c (if_then_else_cond): Use simplify_subreg instead
2208         of operand_subword.
2209         * integreate.c (sub_constants): Likewise.
2210
2211 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
2212
2213         * emit-rtl.c (constant_subword): Deprecate; remove most of code
2214         and use simplify_gen_subreg.
2215
2216 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
2217
2218         * sibcall.c (skip_copy_to_return_value): recognize the situation
2219         when the called function's return value is copied into an
2220         intermediate pseudo, and then into the calling functions return
2221         value register.
2222
2223 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
2224
2225         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
2226         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
2227         in case register wasn't OK previously, accept it now; allow
2228         subregs of frame pointer if reload completed and frame pointer
2229         is not needed.
2230
2231         * combine.c (sombine_simplify_rtx): Fix comment;
2232         use subreg_lowpart_offset instead of subreg_lowpart_p
2233         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
2234         * rtl.h (subreg_lowpart_parts_p): Kill.
2235         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
2236         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
2237         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
2238         (gen_lowpart_common): Likewise.
2239         (subreg_lowpart_p): Likewise.
2240         (subreg_lowpart_parts_p): Kill.
2241         (subreg_lowpart_offset, subreg_highpart_offset): New function.
2242
2243         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
2244         to simplify SUBREG and REG.
2245         (gen_highpart): Use simplify_gen_subreg for all simplifications.
2246
2247         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
2248         CONCAT specially.
2249
2250         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
2251
2252 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2253
2254         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
2255         (ARRAY_RANGE_REF): Added description.
2256
2257         * tree.def (ARRAY_RANGE_REF): New code.
2258         * alias.c (handled_component_p, can_address_p): Handle it.
2259         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
2260         * explow.c (set_mem_attributes): Likewise.
2261         * expr.c (expand_assignment, get_inner_reference): Likewise.
2262         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
2263         * fold-const.c (operand_equal_p): Likewise.
2264         * tree.c (staticp, stabilize_reference): Likewise.
2265         * varasm.c (decode_addr_const): Likewise.
2266
2267 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2268
2269         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
2270         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
2271
2272 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
2273
2274         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
2275         mark_constant_pool_use before output_addr_const.
2276         (struct pool_node): New field wend.
2277         (add_constant): Note a sequence of constants that are referenced
2278         by a given label.
2279         (pool_window_label, pool_window_last): New variables.
2280         (dump_table): Emit a unspec_volatile representing the end of a
2281         sequence of constants.
2282         (mark_constant_pool_use): New function.
2283         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
2284         (consttable_2): Add the second operand which flags whether
2285         this consttable entry was used or not.
2286         (consttable_4, consttable_8, consttable_sf, consttable_df):
2287         Likewise.
2288         (consttable_window_end): New insn.
2289
2290 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
2291
2292         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
2293         Reformat according to coding standards.
2294
2295         Warning removal.
2296         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
2297         (shl_and_kind): Cast wide constant.
2298         (gen_far_branch): Define as static, as in declaration.
2299         (barrier_align): Compute cache-line length as unsigned.  Add
2300         parentheses in initial credit computation.
2301         (rounded_frame_size): Add parentheses.
2302         (permanent_obstack): Remove declaration.  Include ggc.h for
2303         declaration of ggc_add_root_rtx().
2304         (get_free_reg): Removed declaration of unused variable reg.
2305         (legitimize_pic_address): Mark mode argument as unused.
2306
2307 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
2308
2309         * config/sh/sh.c (output_branch): Support for insn with lenght
2310         attr 12 & 16 which represents cond branches outside +-4096 range.
2311
2312 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
2313
2314         * config/sh/lib1funcs.asm (ic_invalidate): Align the
2315         cache-mirroring sequence.  Add nops.
2316
2317 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2318
2319         * doc/install-old.texi: Remove more old installation
2320         documentation.
2321         * doc/install.texi: Add relevant parts here.
2322
2323 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2324
2325         * doc/install.texi2html: New script.
2326
2327 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
2328
2329         * doc/install.texi: Update AIX information again.
2330
2331 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2332
2333         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
2334         installation documentation.
2335         * doc/install.texi: Move it to here.
2336
2337 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2338
2339         * doc/install.texi: Clean up Texinfo markup.
2340
2341 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2342
2343         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
2344         to just after title page.
2345
2346 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2347
2348         * doc/install-old.texi: Remove documentation of some configuration
2349         options.
2350         * doc/install.texi: Add relevant parts of this documentation here.
2351
2352 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2353
2354         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
2355         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
2356
2357 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
2358
2359         * i386.md (all uses of ext_register_operand): Make sure they are
2360         VOIDmode; replace all uses outside zero_extend.
2361         (and?i splitters): Use ext_register_operands.
2362         (test?i peep2): Remove ignored constraints.
2363         * i386.c (ext_register_operand): Check that operand is
2364         eighter pseudo or hard or 'Q' register.
2365
2366 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2367
2368         * tree.h (struct record_layout_info_s): New field unpadded_align.
2369         (set_lang_adjust_rli): New declaration.
2370         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
2371         it would have if not packed, do not downgrade DECL_ALIGN.
2372         (lang_adjust_rli, set_lang_adjust_rli): New.
2373         (start_record_layout): Initialize new field unpadded_align.
2374         (debug_rli): Display it.
2375         (place_union_field, place_field): Set it.
2376         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
2377
2378         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
2379         mean that; use proper names instead.
2380         Print DECL_NO_STATIC_CHAIN.
2381
2382         * except.c (expand_builtin_frob_return_addr): Add missing call
2383         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
2384         (expand_builtin_eh_return): Likewise.
2385         (expand_eh_return): Clean up ptr_mode != Pmode cases.
2386
2387 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
2388
2389         * doc/invoke.texi: Remove references to papers about sequence points
2390         to readings.html, refer to that page.
2391
2392 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2393
2394         * README: Update references to installation instructions.
2395
2396 2001-06-01  Laurent Guerby  <guerby@acm.org>
2397             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2398
2399         * doc/install.texi: Define srcdir when sources come from CVS.
2400         Significantly improve markup.  Wrap overly long lines
2401
2402 2001-06-01  DJ Delorie  <dj@redhat.com>
2403
2404         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
2405         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
2406         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
2407         gcov.1: Move to doc subdirectory.
2408         * install.texi: Move to doc/install-old.texi.
2409         * gcc.texi: Move to doc, refer to install-old.texi.
2410         * Makefile.in: Reflect move of docs to doc/.
2411         * f/Make-lang.in: Ditto.
2412         * java/Make-lang.in: Ditto.
2413         * doc/.cvsignore: New.
2414
2415 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
2416
2417         * invoke.texi: use two spaces between command options, eliminate
2418         some 'overfull hboxes'
2419
2420 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
2421
2422         * Makefile.in (s-mlib): Make backtick-commands always succeed.
2423         (DRIVER_DEFINES): Ditto.
2424
2425 2001-05-31  Richard Henderson  <rth@redhat.com>
2426
2427         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
2428         also link against libgcc.a.
2429
2430 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
2431
2432         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
2433         * config/mips/mips.c (mips_output_ascii): New function.
2434         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
2435
2436         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
2437
2438 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
2439
2440         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
2441         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
2442
2443 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
2444
2445         * install.texi (Configuration): Add html links for --with-gnu-as &
2446         --with-gnu-ld and refer to them from hppa & SCO triplets.
2447         (Specific): Link back to with-gnu-ld for all ELF platfoms.
2448         (Specific): Reword AVR binutils recommendation.
2449
2450 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
2451
2452         * ggc-page.c (size_lookup): Increase minimum allocation size
2453         to eight bytes.
2454         (ggc_print_statistics): Report size of each bin in bytes, not
2455         as its order; there is no longer a direct relationship.
2456
2457 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
2458
2459         * extend.texi: Fix formating of examples, eliminate some
2460         'overfull hboxes'.
2461         * gcc.texi: Eliminate some 'overfull hboxes'.
2462         * invoke.texi: Use two spaces between command options, eliminate
2463         some 'overfull hboxes'.
2464
2465 2001-05-30  Richard Henderson  <rth@redhat.com>
2466
2467         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
2468
2469 2001-05-30  Tom Tromey  <tromey@redhat.com>
2470
2471         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
2472         use it in the new association.
2473
2474 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
2475             John David Anglin  <dave@hiauly1.hia.nrc.ca>
2476
2477         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
2478         to target type to allow ISO C++ compiler to accept it.
2479         * gthr-dce.h (__gthread_active_ptr): Likewise.
2480         * gthr-solaris.h (__gthread_active_ptr): Likewise.
2481
2482 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2483
2484         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
2485         so that we do accept comments in preprocessed input.
2486
2487 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2488
2489         * cpphash.c (alloc_node): Cast allocated pointer.
2490
2491 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
2492
2493         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
2494
2495 2001-05-29  Stan Shebs  <shebs@apple.com>
2496
2497         * gcc.texi: Add links for information about Objective-C.
2498
2499 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
2500
2501         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
2502         /bin/sed fails on [^\"]).
2503         (configargs.h): Likewise.
2504
2505 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
2506
2507         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
2508
2509 2001-05-28  Stan Shebs  <shebs@apple.com>
2510
2511         * objc/objc.gperf: Remove, no longer used.
2512
2513 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2514
2515         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
2516         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
2517         Remove trailing whitespace.
2518
2519 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2520
2521         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
2522         became http://freeware.sgi.com/.
2523
2524 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
2525
2526         * local-alloc.c (update_equiv_regs): Don't eliminate constant
2527         expressions at -O0.
2528
2529 2001-05-27  Stan Shebs  <shebs@apple.com>
2530
2531         * objc/objc-act.c: Add/fix various comments.
2532         (init_selector): Remove, no longer used.
2533         (build_msg_pool_reference): Ditto.
2534         (objc_debug): Ditto.
2535
2536 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2537
2538         * c-decl.c (init_decl_processing):
2539          Don't call start_identifier_warnings.
2540         * flags.h (warn_id_clash, id_clash_len): Remove.
2541         * stringpool.c: Don't include flags.h.
2542         (scan_for_clashes, do_identifier_warnings,
2543         start_identifier_warnings): Remove.
2544         * toplev.c (warn_id_clash, id_clash_len): Remove.
2545         (display_help): Don't document -Wid-clash.
2546         (decode_W_option): Print warning on -Wid-clash.
2547         * tree.h (start_identifier_warnings): Remove.
2548         * invoke.texi: Remove documentation of -Wid-clash.
2549
2550 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2551
2552         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
2553
2554 2001-05-27  Bruce Korb  <bkorb@gnu.org>
2555
2556         * fixinc/check.tpl(HACK) add and use a Scheme variable
2557         (has no test text): error out if no "test_text" is defined
2558         * fixinc/fixincl.tpl: likewise
2559         (FIXIDX): make it an enumeration so we minimize diffs
2560         * fixinc/inclhack.def: re-alphabetize and add sort instructions
2561         * fixinc/fixincl.x: regenerate
2562         * fixinc/tests/base/stdio.h: test output got moved due to
2563         the alphabetizing
2564         * README-fixinc: rewrite (mostly)
2565
2566 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2567
2568         * cpplib.c (run_directive): Set pfile->directive.
2569
2570 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
2571
2572         * c-tree.texi: Reformat the manual as a single chapter now
2573         included by gcc.texi.
2574         * gcc.texi: Include c-tree.texi. Merge all indexes.
2575         * Makefile.in (dvi): Add generation for the cppinternals
2576         documentation. Added dependencies on fdl.texi and c-tree.texi
2577         where appropriate.  Use TEXI2DVI instead of custom tex calls.
2578         (info): Added dependencies on fdl.texi and c-tree.texi where
2579         appropriate.  Remove the target c-tree.info.
2580
2581 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
2582
2583         * combine.c (try_combine): Fix typo in comment.
2584         * expr.c (expand_expr): Likewise.
2585         * config/i370/i370.md (untyped_call): Likewise.
2586
2587 2001-05-26  Bruce Korb  <bkorb@gnu.org>
2588
2589         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
2590         when fixincl is operating in test mode
2591         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
2592         (AAB_ultrix_limits): remove redundant text
2593         (AAB_ultrix_memory): ditto
2594         (AAB_ultrix_string): ditto
2595         (djgpp_wchar_h): fix the test text
2596         (irix_stdio_va_list): add test text
2597         (irix_limits_const): add a testing output file (limits.h is overwritten)
2598         (strict_ansi_not_ctd): put limits.h second in list for same reason
2599         (solaris27_mutex_init): test text needed selection text, too
2600
2601         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
2602         when fixincl is operating in test mode
2603
2604 2001-05-26  Philip Blundell  <philb@gnu.org>
2605
2606         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
2607         * config/i960/i960-protos.h: Likewise.
2608         * config/i370/i370-protos.h: Likewise.
2609         * config/h8300/h8300-protos.h: Likewise,
2610         * config/sh/sh-protos.h: Likewise.
2611         * config/v850/v850-protos.h: Likewise.
2612
2613 2001-05-26  Philip Blundell  <philb@gnu.org>
2614
2615         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
2616
2617 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
2618
2619         * toplev.c (debug_args, f_options, W_options): Mark
2620         descriptions for translation.
2621         (display_help): Translate descriptions on output.
2622
2623         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
2624         objc/lang-options.h: Mark descriptions for translation.
2625
2626         * aclocal.m4: Quote final argument of patsubst.  Use
2627         3-argument form of AC_DEFINE.  Restore quotes to [] while
2628         using AC_FD_CC.
2629         * configure.in: Remove unnecessary changequote calls.
2630         * configure, config.in: Regenerate.
2631
2632 2001-05-25  Sam TH  <sam@uchicago.edu>
2633
2634         * basic-block.h: Fix header include guards.
2635         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
2636         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
2637         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
2638         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
2639         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
2640         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
2641         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
2642         varray.h version.h: Likewise.
2643         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
2644         config/arm/arm.h config/c4x/c4x-protos.h
2645         config/h8300/h8300-protos.h config/h8300/h8300.h
2646         config/i370/i370-protos.h config/i370/i370.h
2647         config/i960/i960-protos.h config/mcore/mcore.h
2648         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
2649         config/v850/v850-protos.h config/v850/v850.h: Likewise.
2650         * fixinc/fixlib.h fixinc/server.h: Likewise.
2651
2652 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
2653
2654         * config/arc/initfini.c (.init): Fix typo.
2655
2656 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
2657
2658         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
2659
2660 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2661
2662         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
2663
2664 2001-05-25  Richard Henderson  <rth@redhat.com>
2665
2666         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
2667
2668 2001-05-25  Richard Henderson  <rth@redhat.com>
2669
2670         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
2671         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
2672         (sparc*-*-solaris2): Likewise.
2673         * config/t-linux: Remove shared libgcc macros.
2674         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
2675         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
2676
2677 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
2678
2679         * config.gcc (*-*-freebsd*): Report bad configuration.
2680
2681 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
2682
2683         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
2684
2685         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
2686         any prefix.
2687         (ASM_OUTPUT_LABELREF): Delete.
2688
2689 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2690
2691         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
2692         strict_ansi_only): Don't run if stdc_0_in_system_headers.
2693         * fixinc/fixincl.x: Regenerate.
2694         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
2695         (FIX_TEST_TABLE): Declare it.
2696         * fixinc/fixlib.h: Include config.h.
2697
2698 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2699
2700         * fixinc/inclhack.def (alpha___assert): Change char * args to
2701         const char * on Tru64 UNIX to avoid excessive warnings from
2702         assert.h.
2703         * fixinc/fixincl.x: Regenerate.
2704
2705 2001-05-25  Geoff Keating  <geoffk@redhat.com>
2706
2707         * dbxout.c (dbxout_symbol): Invert previous patch, which was
2708         outputting a tag only for variable-size records.
2709
2710 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
2711
2712         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
2713         instead of rtx_equal_p for early clobber test.
2714
2715 2001-05-26  Mark Mitchell <mark@codesourcery.com>
2716
2717         * builtins.def: Encode additional information, such as names and
2718         types, here.
2719         * builtin-types.def: New file.
2720         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
2721         (built_in_decls): Likewise.  Don't explicitly initialize global
2722         data to NULL.
2723         (expand_builtin_mathfn): Handle float and long double variants of
2724         math builtins.
2725         (expand_builtin): Likewise.
2726         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
2727         (expand_tree_builtin): Handle long, long long, float, and long
2728         double variants of math functions.
2729         * c-common.h (c_tree_index): Remove some unused nodes.
2730         (void_ftype): Remove.
2731         (void_type_ptr): Likewise.
2732         (int_ftype_int): Likewise.
2733         (ptr_ftype_sizetype): Likewise.
2734         * c-decl.c (init_decl_processing): Remove creation of DWARF
2735         builtins.
2736         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
2737         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
2738         * Makefile.in (c-common.o): Depend on builtin-types.def.
2739
2740 2001-05-25  Dale Johannesen  <dalej@apple.com>
2741
2742         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
2743
2744 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2745
2746         * c-parse.in (notype_initdcl): Remove redundant line.
2747
2748 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2749
2750         * aclocal.m4: Fixed typo.
2751         (gcc_AC_HEADER_STDBOOL): Define.
2752         (gcc_AC_C__BOOL): Define.
2753         * configure.in: Use them.
2754         (AC_CHECK_HEADERS): Remove stdbool.h
2755         * configure, config.in: Regenerate.
2756
2757 2001-05-25  Richard Henderson  <rth@redhat.com>
2758
2759         * function.c (expand_function_start): Don't abort on PARALLEL
2760         returns from hard_function_value.
2761
2762 2001-05-25  Richard Henderson  <rth@redhat.com>
2763
2764         * config/i386/i386.md: Revert previous change.  Do not apply
2765         the peephole if the components do not die after the sequence.
2766
2767 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2768
2769         * c-parse.in (array_declarator): New.  Handle C99 constructs.
2770         Don't restrict [*] declarators to C only.
2771         (after_type_declarator, parm_declarator_starttypename,
2772         parm_declarator_nostarttypename, notype_declarator,
2773         direct_absdcl1): Use it.
2774         * c-decl.c (build_array_declarator, set_array_declarator_type):
2775         New functions.  Warn that [*] isn't properly implemented; pedwarn
2776         for [*] outside C99 mode if pedantic rather than giving a hard
2777         error.
2778         (grokdeclarator): Handle static and type qualifiers in parameter
2779         array declarators.
2780         * c-tree.h (build_array_declarator, set_array_declarator_type):
2781         Declare.
2782         * extend.texi (Attribute Syntax): Document attributes in parameter
2783         array declarators.
2784
2785 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
2786
2787         * config/i386/i386.md: Make sure cmpstr peepholes do not
2788         affect liveness information.
2789
2790 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
2791
2792         * c-typeck.c (digest_init): Issue error messages about
2793         invalid constants, not warnings.
2794
2795 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
2796
2797         * invoke.texi (-fno-builtin): Document that this is always on
2798         in C++.
2799
2800 2001-05-24  Philip Blundell  <philb@gnu.org>
2801
2802         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
2803         required.
2804
2805 2001-05-24  Philip Blundell  <philb@gnu.org>
2806
2807         * config/arm/arm.c (output_return_instruction): Correctly handle
2808         interworking and interrupt functions.
2809
2810 2001-05-24  Philip Blundell  <philb@gnu.org>
2811
2812         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
2813         -m{no-}sched-prolog.  Fix typos and improve formatting.
2814
2815 2001-05-24  Philip Blundell  <philb@gnu.org>
2816
2817         * invoke.texi (ARM Options): Improve wording slightly.  Add
2818         documentation for more options, including those for Thumb mode.
2819         Don't mention options that don't exist or are unimplemented.
2820         (Thumb Options): Delete; merged into above section.
2821
2822 2001-05-24  Geoff Keating  <geoffk@redhat.com>
2823
2824         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
2825         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
2826
2827 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
2828
2829         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
2830         fix hard register simplification.
2831
2832 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2833
2834         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
2835         of just copying CPP_CPU_SPEC.
2836
2837 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2838
2839         * i386.c (incdec_operand): Accept only 1 and -1.
2840
2841 2001-05-23  Kelley Cook  <kelley.cook@home.com>
2842
2843         * Makefile.in: Move many of the *_H definitions eariler in the
2844         file, so that rules in t-* files that use them for
2845         dependencies will work in a parallel build.
2846         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
2847
2848 2001-05-23  Richard Henderson <rth@redhat.com>
2849
2850         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
2851
2852 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2853
2854         * cpp.texi: Update for handling of charconsts.
2855         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
2856         diagnostics.  Skip to the end if the UCS is too short.
2857         (cpp_interpret_charconst): Long charconsts issue a warning
2858         not an error.
2859
2860 2001-05-23  Richard Henderson  <rth@redhat.com>
2861
2862         * doc/install.texi (alpha-linux): Require binutils 2.11.
2863
2864 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2865
2866         * c-lex.c (read_escape, read_ucs): Delete.
2867         (lex_string): Use cpp_parse_escape.
2868         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
2869         if not C++ or not C99.  Warn if traditional.
2870         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
2871         unsigned.  Warn for out-of-range escape sequences here.
2872         Update to use maybe_read_ucs.
2873         (cpp_interpret_charconst):  Don't warn here.
2874         * cpplib.h (cpp_parse_escape): New exported function.
2875
2876 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2877
2878         * extend.texi (Attribute Syntax): Clarify application of
2879         attributes to parameters declared as functions or arrays.
2880
2881 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
2882
2883         * dbxout.c (dbxout_type_methods): Do still group methods by name.
2884
2885 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
2886
2887         * diagnostic.c (vnotice): Kill.
2888         (fnotice): Call vfprintf directly.
2889         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
2890         verbatim, set_diagnostic_context): Rename string argument to
2891         indicate that it is run through gettext.
2892         (vbuild_message_string, build_message_string, output_do_printf):
2893         Rename string argument to indicate that it is NOT run through
2894         gettext.
2895         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
2896         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
2897         Run msgid argument through gettext.
2898         (default_print_error_function): Run constant strings through
2899         gettext when nothing else will.
2900         (fatal_error, internal_error, error_recursion): Use fnotice.
2901         Present complete sentences to gettext.
2902
2903 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
2904
2905         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
2906
2907 2001-05-23  Richard Henderson  <rth@redhat.com>
2908
2909         * function.c (expand_function_start): Always use a pseudo
2910         for the function result value.
2911
2912 2001-05-22  Richard Henderson  <rth@redhat.com>
2913
2914         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
2915         section pointer alignment.
2916
2917         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
2918
2919         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
2920         of __USER_LABEL_PREFIX__.
2921
2922 2001-05-22  Richard Henderson  <rth@redhat.com>
2923
2924         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
2925         (__deregister_frame_info_bases): New.
2926         * unwind-dw2-fde.h: Declare it.
2927         * libgcc-std.ver: Export it.
2928         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
2929         called __register_frame_info_bases.
2930
2931 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2932
2933         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
2934         instead of #elif (which is OK for this case but not in general).
2935
2936 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
2937
2938         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
2939         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
2940         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
2941         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
2942         "r2" to the assembly file. Only issue allocs with non-zero parameters.
2943
2944 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2945             David O'Brien  <obrien@freebsd.org>
2946
2947         * config/freebsd.h (LIB_SPEC): Key the exact setting to
2948         configure-time options and target version of FreeBSD.  Set-up
2949         to match architectural change in threading support.  Correctly
2950         report when -pthread option is not supported by configure-time
2951         options.
2952         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
2953         and extend to encode target version number in run-time setting
2954         of __FreeBSD__ macro to match the system compiler.
2955         (CPP_PREDEFINES): Likewise.
2956         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
2957
2958         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
2959         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
2960
2961 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2962             David O'Brien  <obrien@freebsd.org>
2963
2964         * config.gcc (the unlabeled system switch statement): Add
2965         generic configuration section to handle *-*-freebsd*.  Also,
2966         to match the system compiler, default to threading support (it
2967         may be disabled with the standard --disable-threads
2968         configuration-time switch).
2969         (i[34567]86-*-freebsd* in machine-specific section): Use it.
2970         (alpha*-*-freebsd* in machine-specific section): Likewise.
2971
2972         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
2973         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
2974         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
2975         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
2976         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
2977
2978 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2979             David O'Brien  <obrien@freebsd.org>
2980
2981         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
2982         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
2983         -pthread instead setting macro.
2984
2985 2001-05-22  Richard Henderson  <rth@redhat.com>
2986
2987         * crtstuff.c (__register_frame_info_bases): Declare.
2988         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
2989         (__do_global_dtors_aux, __do_global_dtors): Streamline.
2990
2991         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2992         (CRT_GET_RFIB_DATA): New.
2993         * config/i386/sysv4.h: Likewise.
2994         * config/i386/sco5.h: Likewise.
2995         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2996
2997 2001-05-22  Richard Henderson  <rth@redhat.com>
2998
2999         * rtl.c (read_string): Break out from ...
3000         (read_rtx): ... here.
3001
3002 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3003
3004         * doc/install.texi (Specific): Remove a bogus and duplicate part
3005         copied from the end of the document.
3006
3007 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
3008
3009         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
3010
3011 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3012
3013         * install.texi: Remove obsolete information on SunOS as well as
3014         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
3015         (Installing GNU CC on the Sun): Remove section.
3016
3017 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
3018
3019         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
3020         keep errno unchanged on success.
3021
3022 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
3023
3024         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
3025         once for hexadecimal floats, whether or not they contain a decimal
3026         point.  Don't let the setting of pedantic otherwise affect the
3027         parsing of hexadecimal floats.
3028
3029 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3030
3031         * README.ACORN: Remove obsolete file.
3032
3033 2001-05-22  Jan Hubicka  <jh@suse.cz>
3034
3035         * combine.c (gen_binary): Use swap_commutative_operands_p
3036         (simplify_comparison): Likewise.
3037         * expmed.c (emit_store_flag): Likewise.
3038         * expr.c (compare_from_rtx): Likewise.
3039         (do_compare_rtx_and_jump): Likewise.
3040         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
3041         if not emitting a branch and operands want swapping.
3042
3043 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
3044
3045         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
3046         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
3047         (maybe_get_identifier): Update.
3048         * tree.h (make_identifier): Delete.
3049
3050 2001-05-21  Richard Henderson  <rth@redhat.com>
3051
3052         * combine.c (subst): Do not substitute for a register as
3053         a destination subreg/strict_low_part/zero_extract.
3054
3055         * combine.c (simplify_comparison): Update op1 after constant
3056         extension.
3057         * recog.c (const_int_operand): Accept only constants valid
3058         for the given mode.
3059         * genrecog.c: Update comments wrt const_int_operand.
3060
3061         * emit-rtl.c (init_emit_once): Zero unused memory in a
3062         CONST_DOUBLE.
3063
3064 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
3065
3066         * tree.h (type_num_arguments): Declare it.
3067         * tree.c (type_num_arguments): New function.
3068
3069 2001-05-21  Richard Henderson  <rth@redhat.com>
3070
3071         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
3072         conditional ifdef.
3073
3074 2001-05-21  Geoff Keating  <geoffk@redhat.com>
3075
3076         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
3077         (maxsf3+1): Delete.
3078         (minsf3): Use rs6000_emit_minmax.
3079         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
3080         rs6000_emit_minmax.
3081         (movsfcc): Use rs6000_emit_cmove.
3082         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
3083         Don't generate emit_fselsfsf4.
3084         (fseldfsf4): Likewise.
3085         (maxdf3): Use rs6000_emit_minmax.
3086         (maxdf3+1): Delete.
3087         (mindf3): Use rs6000_emit_minmax.
3088         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
3089         rs6000_emit_minmax.
3090         (movdfcc): Use rs6000_emit_cmove.
3091         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
3092         Don't generate emit_fselsfsf4.
3093         (fselsfdf4): Likewise.
3094         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
3095         (min_max_operator): New predicate.
3096         (rs6000_emit_cmove): New function.
3097         (rs6000_emit_minmax): New function.
3098         * config/rs6000/rs6000-protos.h: Prototype new functions.
3099         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
3100         and min_max_operator.
3101
3102         * config/rs6000/rs6000.c (output_cbranch): Handle all
3103         conditional types in the switch statement.
3104
3105 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
3106
3107         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
3108         non-register variables.
3109         * extend.texi: Document that asm-specifications do not make sense
3110         for non-static local variables.
3111
3112 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
3113
3114         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
3115         (dbxout_type_fields): Lose minimal_debug support.
3116         (dbxout_type_methods, dbxout_type): Likewise.
3117
3118 2001-05-17  Andrew Haley  <aph@redhat.com>
3119
3120         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3121
3122 2001-05-21  Richard Henderson  <rth@redhat.com>
3123
3124         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
3125         Update all users.
3126
3127 2001-05-20  Richard Henderson  <rth@redhat.com>
3128
3129         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
3130         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
3131         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
3132         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
3133         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
3134         Likewise.
3135         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
3136         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
3137         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
3138         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
3139         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
3140         DEBUG_PUBNAMES_SECTION): Rename as above.
3141         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
3142
3143 2001-05-20  Richard Henderson  <rth@redhat.com>
3144
3145         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
3146         operands unless the operation is commutative.
3147
3148 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3149
3150         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
3151         cases.
3152
3153 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
3154
3155         * extend.texi: Clarify documentation of extensions included in ISO
3156         C99.  Prefer C99 terminology and syntax to old GNU terminology and
3157         syntax.  Add more index entries.  Document mixed declarations and
3158         code as an extension in C89 mode.  Warn about future changes to
3159         semantics of inline functions.  Fixes PR other/930.
3160
3161 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3162
3163         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
3164         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
3165         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
3166         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
3167
3168         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
3169
3170 2001-05-20  Richard Henderson  <rth@redhat.com>
3171
3172         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
3173         to be output before a branch.
3174
3175 2001-05-20  Richard Henderson  <rth@redhat.com>
3176
3177         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
3178
3179 2001-05-20  Richard Henderson  <rth@redhat.com>
3180
3181         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
3182         (ASM_DOUBLE): Remove.
3183         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
3184         * config/i386/sun386.h: Likewise.
3185
3186         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
3187         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
3188
3189         * config/i386/cygwin.h (INT_ASM_OP): Remove.
3190         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
3191         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
3192         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
3193
3194         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
3195         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
3196         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
3197         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
3198         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
3199         * config/i386/win32.h: Likewise.
3200
3201 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3202
3203         * invoke.texi: Add more options to summary list.
3204
3205 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3206
3207         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
3208         used.  Fixes PR c/2291.
3209         * gcc.1: Regenerate.
3210
3211 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3212
3213         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
3214         the -fpic and -fPIC options, clear flag_pic.
3215
3216 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3217
3218         * hashtable.c (calc_hash): Fix HASHSTEP definition.
3219         * stringpool.c (make_identifier): No statistics here anymore.
3220         * objc-act.c (steup_string_decl): Remove redundant check.
3221
3222 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3223
3224         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
3225         cpplib.o, cpphash.o, fix-header): Update.
3226         (hashtable.o): New target.
3227         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
3228         struct c_common_identifier here.
3229         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
3230         * c-lex.c (c_lex): Update.
3231         * c-pragma.h: Update.
3232         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
3233         Delete rid_code.
3234         (C_RID_CODE): Delete.
3235         * cpphash.c: Rewrite to use hashtable.c.
3236         * cpphash.h: Update include guards.
3237         (struct cpp_reader): Remove hashtab.
3238         hash_ob and buffer_ob are no longer pointers.  Add hash_table
3239         and our_hashtable.
3240         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
3241         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
3242         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
3243         * cppinit.c (cpp_create_reader): Update.
3244         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
3245         (cpp_interpret_charconst): Eliminate warning.
3246         * cpplib.c (do_pragma, do_endif, push_conditional,
3247         cpp_push_buffer, cpp_pop_buffer): Update.
3248         (_cpp_init_stacks): Rename cpp_init_directives.
3249         (_cpp_cleanup_stacks): Remove.
3250         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
3251         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
3252          cpp_forall_identifiers, cpp_create_reader): Update.
3253         (C_RID_CODE, cpp_make_node): New.
3254         (c_common_identifier): New identifier node for C front ends.
3255         * cppmain.c (main): Update.
3256         * fix-header.c (read_scan_file): Update.
3257         * flags.h (id_clash_len): Make unsigned.
3258         * ggc.h (ggc_mark_nonnull_tree): New.
3259         * hashtable.c: New.
3260         * hashtable.h: New.
3261         * stringpool.c: Update comments and copyright.  Update to use
3262         hashtable.c.
3263         * toplev.c (approx_sqrt): Move to hashtable.c.
3264         (id_clash_len): Make unsigned.
3265         * toplev.h (ident_hash): New.
3266         * tree.c (gcc_obstack_init): Move to hashtable.c.
3267         * tree.h: Include hashtable.h.
3268         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
3269         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
3270         (struct tree_identifier): Update.
3271         (make_identifier): New.
3272 cp:
3273         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
3274         (C_RID_CODE): Remove.
3275         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
3276         (init_parse): Don't do it here.
3277 objc:
3278         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
3279
3280 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
3281
3282         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
3283         as ncessary.
3284         (expand_eh_return): Convert between word_mode and Pmode.
3285         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
3286         are the same size.
3287         (execute_stack_op): Likewise.
3288         (execute_cfa_program): Likewise.
3289         (uw_frame_state_for): Likewise.
3290         (uw_update_context_1): Likewise.
3291         * unwind.inc (_Unwind_Reason_Code): Likewise.
3292         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
3293         (EH_RETURN_STACKADJ_RTX): Likewise.
3294         * config/mips/mips.c (compute_frame_size): Make space for saving
3295         EH return registers.
3296         (mips_expand_epilogue): Handle EH stack adjustments.
3297         * config/mips/mips.md (eh_return): New pattern.
3298         (eh_set_lr_si): Likewise.
3299         (eh_set_lr_di): Likewise.
3300         Add splitter to perform EH return after reload.
3301
3302 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
3303
3304         * jump.c (mark_jump_label): Tidy previous change.
3305
3306 2001-05-19  Bruce Korb  <bkorb@gnu.org>
3307
3308         * fixinc/genfixes: no need for two warnings
3309         * fixinc/Makefile.in: open stdin for those building with a closed one.
3310
3311 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
3312
3313         * jump.c (jump_optimize_1): Tidy.
3314         (mark_jump_label): When changing the label in a LABEL_REF, change
3315         update any REG_EQUAL notes as well.
3316
3317 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3318
3319         * c-parse.in (parm_declarator): Split into
3320         parm_declarator_starttypename and parm_declarator_nostarttypename.
3321         (parm_declarator_starttypename, parm_declarator_nostarttypename):
3322         New.  Allow parenthesised sub-declarators which don't begin with a
3323         TYPENAME.  Fixes PR c/166.
3324
3325 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
3326
3327         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
3328         macro.
3329         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
3330         Document it.
3331         * toplev.c (main): If the target does not allow profiling without
3332         a frame pointer, issue an error message.
3333         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
3334         Define it to false.
3335
3336 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3337
3338         * recog.c (general_operand): Modify last change to allow it if reload
3339         has completed.
3340
3341 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
3342
3343         * recog.c (general_operand): Prohibit nonzero subreg bytes on
3344         subregs containing mem.
3345
3346 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
3347
3348         * regrename.c (regrename_optimize): frame pointer register can
3349         use a few hardregs.
3350
3351 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
3352
3353         * README.DWARF: Move into dwarfout.c.
3354
3355 2001-05-18  Dale Johannesen  <dalej@apple.com>
3356
3357         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
3358         specific misuse of r0 as a reload address.
3359
3360 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
3361
3362         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
3363         suceeded.
3364
3365 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3366
3367         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
3368         (add_to_sequence): Make that decision type.
3369         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
3370         (write_switch, write_cond, debug_decision_2): Likewise.
3371
3372         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
3373         for INTEGER_TYPE.
3374         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
3375         variable size.
3376
3377 2001-05-18  Stan Shebs  <shebs@apple.com>
3378
3379         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
3380         * configure: Regenerate.
3381
3382 2001-05-18  Per Bothner  <per@bothner.com>
3383
3384         Changes needed for java/jvspec.c
3385         * gcc.h (n_infiles, outfiles):  Add declarations.
3386         * gcc.c (n_infiles, outfiles):  Mske no longer static.
3387
3388 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
3389
3390         * config/pa/som.h (EXCEPTION_SECTION): Define.
3391
3392 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
3393
3394         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
3395         list.
3396         Add have_location_lists, a variable to determine whether we need a
3397         .debug_loc section or not.
3398         (enum dw_val_class): Add dw_val_class_loc_list.
3399         (dw_val_struct): Add val_loc_list.
3400         (dw_loc_list_struct): New structure, represents location lists.
3401         (new_loc_list): New function, return a new location list, given
3402         the range and location expression.
3403         (add_loc_descr_to_loc_list): New function, add a location
3404         expression to a location list, given the expression and range.
3405         (output_loc_list): New function, output a location list.
3406         (gen_internal_sym): Modified to take symbol prefix, so we can
3407         reuse it for location list symbols.
3408         (add_AT_loc_list): New function, add a location list to a DIE at
3409         the named attribute.
3410         (AT_loc_list): New function, return the location list reference
3411         for a given attribute, if it's a location list.
3412         (print_die): Handle dw_val_class_loc_list.
3413         (size_of_die): Ditto.
3414         (value_format): Ditto.
3415         (output_die): Ditto.
3416         (output_location_lists): New function, output all of the location
3417         lists for a DIE and it's children.
3418         (dwarf2out_finish): Call output_location_lists if we have location
3419         lists.
3420
3421
3422 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
3423
3424         * gcse.c (try_replace_reg): First try global replace, later try to
3425         simplify the expression.
3426
3427         * gcse.c (find_used_regs): Change calling convention; work via
3428         note_uses.
3429         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
3430
3431 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
3432
3433         Revert
3434         2001-02-09  Nick Clifton  <nickc@redhat.com>
3435         * config/arm/arm.md: Change output constraint on post inc
3436         load/store multiple patterns to be a read/write constraint.
3437
3438 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
3439
3440         * basic-block.h (struct basic_block_def): Add documentation about
3441         what a basic block is, and what the various fields are used for.
3442         * flow.c (calculate_globlal_regs_live): Add documentation about
3443         how the algorithm works, and how we know that it will terminate.
3444         Check that the the inductive assumption that guarantees
3445         termination actually holds.
3446         (mark_used_regs): Treat conditionally set registers as used.
3447         (debug_regset): Add comment.
3448         * rtl.texi (cond_exec): Add documentation.
3449
3450         * function.c (expand_function_start): Avoid creating BLKmode
3451         pseudos.
3452
3453 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
3454
3455         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
3456         DIE, even if it has no children.
3457         (dwarf2out_finish): Always output the line-number table, even if
3458         it has no content.
3459
3460 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
3461
3462         * rs6000.md (movsfcc,movdfcc): Remove NE case.
3463
3464 2001-05-17  Bruce Korb <bkorb@gnu.org>
3465
3466         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
3467         * fixinc/genfixes: emit a warning if AutoGen is out of date
3468
3469 2001-05-17  Brendan Conoboy <blc@cygnus.com>
3470             Bruce Korb <bkorb@gnu.org>
3471
3472         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
3473         found in fixinc directory.  Facilitates binary distributions.
3474
3475 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
3476
3477         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
3478         COMPLEX_TYPE.
3479
3480 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
3481
3482         * dwarf2out.c (modified_type_die): Equate qualified type to die.
3483
3484 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
3485
3486         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
3487         (simplify_subreg): Handle complex types represented as CONCAT.
3488
3489         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
3490         * rtl.h (swap_commutative_operands_p): Declare.
3491         * rtlanal.c (swap_commutative_operands_p): New.
3492         (operand_preference): New static function.
3493
3494         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
3495         (gen_binary): Likewise.
3496         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
3497         * simplify-rtx.c (simplify_gen_binary,
3498         simplify_gen_relational): Likewise.
3499
3500 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
3501
3502         * cse.c (fold_rtx): Use simplify_subreg.
3503
3504         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
3505         (simplify_gen_subreg): New.
3506         (simplify_rtx): Use simplify_subreg.
3507         * rtl.h (simplify_gen_subreg): Declare.
3508
3509 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
3510
3511         * doc/install.texi: Update Solaris information.
3512
3513         * except.h (protect_cleanup_actions): Remove it.
3514         (lang_protect_cleanup_actions): Declare it.
3515         * except.c (protect_cleanup_actions): Remove it.
3516         (lang_protect_cleanup_actions): New variable.
3517         (init_eh): Don't make protect_cleanup_actions a GC root.
3518         (expand_eh_region_and_cleanup): Call
3519         lang_protect_cleanup_actions.
3520         (output_function_exception_table): Remove unused `align'
3521         variable.
3522         * varasm.c (assemble_external): Abort if we have not yet
3523         opened the assembly output file.
3524
3525 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
3526
3527         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
3528         for eh_personality_libfunc.
3529
3530 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
3531
3532         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
3533         when calling simplify_subreg.  This is needed to allow replacing
3534         of expression of one mode by expression of different mode.
3535
3536 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3537
3538         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
3539
3540 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
3541
3542         * expr.c (protect_from_queue): Protect against subsequent calls to
3543         emit_queue.
3544         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
3545         too clever.
3546
3547 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
3548
3549         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
3550
3551 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3552
3553         * gccbug.in (CATEGORIES): Add "bootstrap".
3554
3555 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
3556
3557         * simplify-rtx.c (simplify_subreg): Break out from ...
3558         * combine.c (combine_splify_rtx) ... here and ...
3559         * recog.c (validate_replace_rtx_1): ... here;
3560         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
3561         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
3562         (subreg_lowpart_p): ... here.
3563
3564 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
3565
3566         * stmt.c (expand_asm_operands): For inout operands, make sure
3567         the substitution of '=' for '+' makes it into the rtl.
3568
3569         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
3570         (reload_as_needed): Call update_eliminable_offsets a bit later.
3571
3572 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3573
3574         * gcc.texi (gccbug): Refer to the web pages for detailed information
3575         on GNATS.
3576
3577 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
3578
3579         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
3580
3581         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
3582         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
3583         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
3584         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
3585         * cross-make: Don't set LIBGCC1.
3586         * mklibgcc.in: Delete all code for building from libgcc1.c.
3587         Always honor LIB1ASMFUNCS if set.
3588
3589         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
3590         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
3591         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
3592         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
3593         config/i386/uwin.asm, config/m68hc11/larith.asm,
3594         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
3595         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
3596         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
3597         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
3598         Delete or update references to libgcc1 in commentary.
3599
3600         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
3601         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
3602         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
3603         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
3604         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
3605         config/arm/t-semi, config/arm/t-strongarm-coff,
3606         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
3607         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
3608         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
3609         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
3610         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
3611         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
3612         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
3613         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
3614         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
3615         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
3616         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
3617         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
3618         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
3619         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
3620         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
3621         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
3622         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
3623         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
3624         config/mips/t-ultrix, config/mn10200/t-mn10200,
3625         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
3626         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
3627         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
3628         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
3629         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
3630         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
3631         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
3632         config/sparc/t-sparclite, config/sparc/t-splet,
3633         config/sparc/t-sunos41, config/sparc/t-vxsparc,
3634         config/sparc/t-vxsparc64, config/v850/t-v850:
3635         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
3636
3637         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
3638         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
3639         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
3640         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
3641         nongcc_SI_type, nongcc_word_type, or perform_*
3642         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
3643
3644         * config/i386/386bsd.h, config/i386/beos-elf.h,
3645         config/i386/linux-aout.h, config/i386/linux-oldld.h,
3646         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
3647         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
3648         Don't include i386/perform.h.
3649
3650         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
3651         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
3652         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
3653         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
3654         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
3655         config/vax/t-openbsd, config/vax/t-vax: Delete.
3656
3657         * config.gcc: Remove references to deleted files.
3658         (arm-semi-aof): Use arm/t-semi for tmake_file.
3659
3660         * gcc.texi, install.texi, invoke.texi, tm.texi:
3661         Delete or rewrite text which is no longer relevant now that
3662         libgcc1 no longer exists.
3663
3664         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
3665         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
3666
3667 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
3668         Bruce Korb <bkorb@gnu.org>
3669
3670         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
3671         initializer
3672
3673 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
3674
3675         * i386.md: Add two peepholes to clean up code generated by
3676         cmpstr* expanders.
3677
3678 2001-05-16  Richard Henderson  <rth@redhat.com>
3679
3680         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
3681         variants of non-absolute encodings.
3682
3683         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3684
3685         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
3686         __register_frame_info_table_bases): Export.
3687
3688 2001-05-16  Richard Henderson  <rth@redhat.com>
3689
3690         * except.c (eh_data_format_name): Move to ...
3691         * dwarf2asm.c: ... here.  Use designated initializers if available.
3692         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
3693         * dwarf2asm.h: Update declarations.
3694         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
3695         ASM_PREFERRED_EH_DATA_FORMAT.
3696         (output_call_frame_info): Likewise.  Use 'L' augmentation for
3697         the LSDA encoding.
3698
3699         * unwind-dw2-fde.h (struct fde_vector): New.
3700         (struct old_object): Rename from struct object.
3701         (struct object): New.
3702         (__register_frame_info_bases): Declare.
3703         (__register_frame_info_table_bases): Declare.
3704         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
3705         * unwind-dw2-fde.c (objects): Remove.
3706         (unseen_objects, seen_objects): New.
3707         (__register_frame_info_bases): New.
3708         (__register_frame_info): Use it.
3709         (__register_frame_info_table_bases): New.
3710         (__register_frame_info_table): Use it.
3711         (__deregister_frame_info): Rewrite for changed object struct.
3712         (base_from_object, get_cie_encoding, get_fde_encoding): New.
3713         (fde_unencoded_compare): Rename from fde_compare; uninline.
3714         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
3715         (start_fde_sort): Adjust for new definition of fde_vector.
3716         (fde_insert): Likewise.
3717         (end_fde_sort): Likewise.  Select comparison function based
3718         on properties of the object.
3719         (fde_split): Take object and fde_compare_t arguments.
3720         (frame_heapsort, fde_merge): Likewise.
3721         (classify_object_over_fdes): Rename from count_fdes.  Handle
3722         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
3723         for the object.
3724         (add_fdes): Handle encoded pointers.
3725         (init_object): Rename from frame_init.  Update for new struct object.
3726         (linear_search_fdes): Rename from search_fdes.  Handle encoded
3727         pointers.
3728         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
3729         (binary_search_single_encoding_fdes): New.
3730         (binary_search_mixed_encoding_fdes): New.
3731         (search_object): New.
3732         (_Unwind_Find_FDE): Update for new struct object.  Fill in
3733         the dwarf_eh_bases.
3734         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
3735         iterating over EH data.
3736         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
3737         fde_encoding, lsda_encoding.
3738         (read_uleb128, read_sleb128): Remove.
3739         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
3740         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
3741         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
3742         pointers.
3743         * unwind-pe.h: Add "struct" to _Unwind_Context references.
3744
3745 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3746
3747         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
3748         * cpphash.c (_cpp_lookup_with_hash): Similarly.
3749         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
3750         cpp_spell_token, cpp_output_token): Similarly.
3751         * cpplib.c (lex_macro_node, do_undef, do_pragma,
3752         do_pragma_poison, parse_assertion, do_assert): Similarly.
3753         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
3754         save_parameter, _cpp_create_definition, check_trad_stringification,
3755         cpp_macro_definition): Similarly.
3756         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
3757         * c-lex.c (cb_undef, c_lex): Similarly.
3758         * fix-header.c (recognized_function): Similarly.
3759         * cpplib.h (NODE_LEN, NODE_NAME): New.
3760         (cpp_hashnode): Rename length len.
3761
3762 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
3763
3764         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
3765         GPRs.
3766
3767 2001-05-16  Andreas Jaeger  <aj@suse.de>
3768
3769         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
3770
3771         * toplev.c: Include dwarf2asm.h for prototype of
3772         dw2_output_indirect_constants.
3773
3774 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
3775
3776         * stmt.c (expand_asm_operands): Be able to offload addressof
3777         expression to memory. (PR optimization/185)
3778
3779 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3780
3781         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
3782         applying distributive law.
3783
3784 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3785
3786         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
3787
3788         * gthr-dce.h (UNUSED): Attribute unused macro.
3789         (__gthread_key_dtor): Make arguments UNUSED.
3790         (__gthread_key_delete): Revise for compatibility with DRAFT4
3791         implementation.
3792
3793 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
3794
3795         * doc/install.texi: Update AIX information.
3796         * README.RS6000: Remove obsolete file.
3797
3798 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
3799             Nathan Sidwell  <nathan@codesourcery.com>
3800
3801         * gcc.c (give_switch): Don't write before start of string.
3802         Always append suffix.
3803
3804 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
3805
3806         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
3807         after stage3.
3808
3809 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3810
3811         * README.ALTOS: Remove obsolete file.
3812
3813 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3814
3815         * c-lex.h (save_and_forget_protocol_qualifiers,
3816         forget_protocol_qualifiers, remember_protocol_qualifiers):
3817         Remove deleted functions' prototypes.
3818
3819 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3820
3821         * c-parse.in (methodtype): New production.
3822         (methoddef, methodproto): Collapse separate '-' and '+'
3823         handlers into 1.
3824
3825 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3826
3827         * c-common.h (RID_FIRST_PQ): New.
3828         * c-parse.in (objc_pq_context): New.
3829         (objc parser): Set objc_pq_context rather than calling
3830         remember_protocol_qualifiers and forget_protocol_qualifiers.
3831         Don't call save_and_forget_protocol_qualifiers.
3832         (yylexname): Handle objc protocol qualifiers here.
3833         * stringpool.c (struct str_header): Replace with sp_hashnode.
3834         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
3835         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
3836         Allocate an IDENTIFIER_NODE for each identifier.
3837         (FORALL_STRINGS, set_identifier): Delete.
3838         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
3839         (ggc_alloc_string): Use an obstack.
3840         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
3841         * tree.h: Update comments.
3842         (set_identifier): Delete.
3843         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
3844         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
3845         remember_protocol_qualifiers): Delete.
3846
3847 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
3848
3849         * flow.c (life_analysis): After life analysis is complete, do
3850         an optional scan over insns looking for REG_LABEL notes that
3851         reference a deleted label.
3852         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
3853         before peeking at LABEL_NUSES.
3854
3855 2001-05-15  Richard Henderson  <rth@redhat.com>
3856
3857         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
3858         (_Unwind_GetTextRelBase): New.
3859
3860 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
3861
3862         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3863
3864 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
3865
3866         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
3867         so that CHOOSE_SECTION gets used.
3868
3869         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
3870         TARGET_RELOCATABLE like flag_pic for now.
3871
3872 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
3873
3874         * rs6000.md (movdi splitter): Sign extend more efficiently.
3875         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
3876         to "long long" valid on 32-bit and 64-bit hosts.
3877         (logical_operand): Cast trunc_int_for_mode return value.
3878         (rs6000_emit_move): Shift macro to encapsulate variable.
3879         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
3880         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
3881         plus_constant requires signed argument.
3882
3883 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
3884
3885         * gthr-posix.h: Make additional pthread-* functions weak.
3886
3887 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
3888
3889         * recog.c (apply_change_group): Avoid unneeded validating.
3890
3891 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
3892
3893         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
3894         (num_insns_constant): CONST_INT can be 64-bits.
3895
3896 2001-05-14  Stan Shebs  <shebs@apple.com>
3897
3898         * config/darwin.h (LIB_SPEC): Just use -lSystem.
3899         (LIBGCC_SPEC): Don't define.
3900
3901 2001-05-14  Richard Henderson  <rth@redhat.com>
3902
3903         * configure.in (gcc_cv_as_eh_frame): New test.
3904         * config.in, configure: Rebuild.
3905         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
3906
3907 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
3908
3909         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
3910         extended precision divide.
3911
3912 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
3913
3914         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
3915         for RETURNS as well.
3916
3917 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
3918
3919         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
3920         (CPP_CPU??_SIZE_TYPE): New.
3921         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
3922         (CPP_CPU_SPEC): ... here; support choosing of CPU.
3923         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
3924         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
3925         compiler.
3926         * i386.c (override_options): Add sorry about not suported modes.
3927
3928 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
3929
3930         * config/pa/som.h (NM_FLAGS): Remove.
3931         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
3932         (ASM_OUTPUT_SECTION_NAME): Remove.
3933         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
3934
3935 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
3936
3937         * regrename.c (regrename_optimize): Do not rename registers to
3938         leaf registers.
3939
3940 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
3941
3942         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
3943         contain MEMs.  Remove useless distinction about clobbering
3944         registers.
3945
3946 2001-05-13  Geoff Keating  <geoffk@redhat.com>
3947
3948         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
3949         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
3950         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
3951         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3952         (EXCEPTION_SECTION): Define.
3953
3954 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
3955
3956         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
3957         binary backward compat only.
3958         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
3959         in LIB2FUNCS.  Pass it to mklibgcc.
3960         * mklibgcc.in: Handle LIB2FUNCS_ST.
3961
3962         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
3963
3964 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
3965
3966         * tm.texi (THREAD_MODEL_SPEC): Document it.
3967         * gcc.c (main): Use it.
3968         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
3969         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
3970
3971 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3972
3973         * rtl.h (SYMBOL_REF_WEAK): New macro.
3974         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
3975         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
3976         * rtl.texi (SYMBOL_REF_WEAK): Document it.
3977         * gcc.texi: Remove wrong description.
3978
3979 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
3980
3981         * Makefile.in (STAMP): New macro.
3982         Replace all uses of `touch' with $(STAMP).
3983         * fixinc/Makefile.in: Likewise.
3984
3985 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3986
3987         * configure.in: ldopen is never in -lexc, so don't test for it.
3988         Add test for exc_resume in -lexc for Ada.
3989         * configure: Regenerated.
3990
3991 2001-05-12  Richard Henderson  <rth@redhat.com>
3992
3993         * dwarf2asm.c (size_of_encoded_value): New function.
3994         * dwarf2asm.h: Declare it.
3995         * except.c (output_function_exception_table): Align the TType
3996         array only as wide as the encoding.
3997
3998 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
3999
4000         * extend.texi: Document #pragma GCC java_exceptions.
4001
4002 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4003
4004         * c-parse.in (bison parser, init_reswords): Remove uses of
4005         doing_objc_thang.
4006         * c-tree.h (doing_objc_thang): Remove.
4007
4008 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4009
4010         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
4011         about files not ending in newlines.
4012
4013 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4014
4015         * dwarfout.c (dwarfout_init): Add cast.
4016         * sched-deps.c (sched_analyze_insn): Remove unused vars.
4017         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
4018 cp:
4019         * method.c (build_mangled_C99_name): Remove unused prototype.
4020
4021 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
4022
4023         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
4024
4025 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
4026
4027         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
4028         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
4029
4030 2001-05-11  Richard Henderson  <rth@redhat.com>
4031
4032         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
4033         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
4034         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
4035         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
4036         (dw2_output_indirect_constants): Prototype.
4037         * dwarf2out.c (dwarf2out_begin_prologue): Generate
4038         current_function_func_begin_label if we'll need it for EH.  Exit
4039         early for IA64_UNWIND_INFO.
4040         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
4041         (eh_data_format_name): Update for indirect references.
4042         (output_function_exception_table): Care for IA64_UNWIND_INFO.
4043         Handle ASM_PREFERRED_EH_DATA_FORMAT.
4044         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
4045         define HAVE_eh_return etc.
4046         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
4047         (final_end_function): Don't call output_function_exception_table.
4048         * toplev.c (compile_file): Call dw2_output_indirect_constants.
4049         (rest_of_compilation): Invoke output_function_exception_table
4050         for ia64 before assemble_end_function.
4051         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
4052         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
4053
4054         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
4055         * unwind.h: Declare them.
4056         * libgcc-std.ver: Export them.
4057         * unwind-pe.h: New file.
4058
4059         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
4060
4061         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
4062         instead of "fde".
4063         (find_fde_for_dso): Extract DT_PLTGOT.
4064         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
4065         the segment and gp as well.
4066         * config/ia64/frame-ia64.c: Remove file.
4067         * config/ia64/frame-ia64.h: Remove file.
4068         * config/ia64/unwind-ia64.c: New file.
4069         * config/ia64/unwind-ia64.h: New file.
4070         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
4071         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
4072         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
4073         (ASM_PREFERRED_EH_DATA_FORMAT): New.
4074         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
4075         (IA64_UNWIND_INFO): Re-enable.
4076         (HANDLER_SECTION): Remove.
4077         (EH_RETURN_DATA_REGNO): New.
4078         * config/ia64/ia64.md (exception_receiver): Remove.
4079         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
4080         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
4081
4082 2001-05-11  Richard Henderson  <rth@redhat.com>
4083
4084         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
4085         calls and jumps to be bundled together.
4086         (ia64_reorg): Emit a break after a noreturn call that ends
4087         a function.
4088         * config/ia64/ia64.md (break_f): New.
4089
4090 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4091
4092         * c-lex.c (lex_charconst): Convert into a simple wrapper
4093         around cpp_interpret_charconst, to which most of the code
4094         body is moved.
4095         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
4096         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
4097         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
4098         (lex): Use cpp_interpret_charconst.
4099         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
4100         hex_digit_value): New functions.
4101         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
4102         * cpplib.h (cpp_interpret_charconst): New prototype.
4103         * Makefile.in: Update.
4104
4105 2001-05-12  Dean Wakerley  <dean@wakerley.com>
4106
4107         * doc/install.texi: New file. Converted to texinfo from the HTML
4108         documentation in wwwdocs/htdocs/install.
4109
4110 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
4111
4112         * gcse.c (insert_insn_end_bb): Do not search for assignments to
4113         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
4114
4115         * toplev.c (compile_file): Move comment for opening output
4116         file to just before the code that opens the output file.
4117
4118 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
4119
4120         * regmove.c (regmove_optimize): Suppress the optimization for
4121         unchanging destination register.  Add comment above function.
4122
4123 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
4124
4125         * Makefile.in: Exterminate all references to assert.h.
4126         * cross-make: Likewise.
4127         * assert.h: Delete.
4128         * configure.in: Correct commentary.
4129         * configure: Regenerate.
4130
4131         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
4132         Remove __eprintf.
4133
4134         * config/t-freebsd, config/t-linux, config/t-linux-aout,
4135         config/t-netbsd, config/t-rtems, config/x-linux,
4136         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
4137         No need to override INSTALL_ASSERT_H.
4138
4139         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
4140         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
4141         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
4142
4143 2001-05-11  Graham Stott  <grahams@redhat.com>
4144
4145         * combine.c (simplify_comparison): Fix typo.
4146
4147 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
4148
4149         * loop.h (struct movables): Remove `num'.
4150         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
4151         Adjust call to strength_reduce.
4152         (num_unmoved_movables): New function.
4153         (move_movables): Don't set movables->num.
4154         (strength_reduce): Compute the number of instructions in the loop
4155         here, rather than in the caller.
4156         (check_dbra_loop): Always clear reversible_mem_store if there
4157         are any memory sets.
4158         (loop_regs_scan): Don't count instructions here.
4159         (count_insn_in_loop): New function.
4160
4161 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
4162
4163         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
4164
4165 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4166
4167         * c-common.c (finish_label_expr): New function, lifted from
4168         from cp/semantics.c.
4169         * c-common.h (finish_label_expr, lookup_label): New prototypes.
4170         * c-parse.in: Move 3 blocks of parser code into new functions.
4171         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
4172         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
4173         (lookup_label): Remove.
4174
4175 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
4176
4177         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
4178         FLOAT_BIT_ORDER_MISMATCH.
4179
4180 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
4181
4182         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
4183         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
4184
4185 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
4186
4187         * expr.c (emit_group_load): extract_bit_field requires a REG or
4188         MEM as an argument.
4189
4190 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
4191
4192         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
4193         a computed jump into an unconditional jump.
4194         In second hunk of code for collapsing computed and conditional jumps
4195         into unconditional jumps, reemit the jump in additional cases.
4196
4197         * jump.c (jump_optimize_1): Do not wrap the new jump target
4198         inside a LABEL_REF; gen_jump will do that automatically.
4199
4200 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
4201
4202         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
4203         contents for a SYMBOL_REF in case of floating point constants.
4204
4205 2001-05-10  DJ Delorie  <dj@redhat.com>
4206
4207         * c-common.c (combine_strings): Widen strings in a
4208         host-endian-independent way.
4209
4210 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4211
4212         * c-parse.in: Remove many shift/reduce conflicts.  Update
4213         %expect values.
4214         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
4215         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
4216         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
4217         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
4218         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
4219         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
4220         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
4221         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
4222         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
4223         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
4224         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
4225         typespec_reserved_nonattr, typespec_reserved_attr,
4226         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
4227         structsp_nonattr, components_notype, component_notype_declarator,
4228         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
4229         firstparm, setspecs_fp): New
4230         (typed_declspecs, reserved_declspecs, typed_typespecs,
4231         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
4232         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
4233         declmods_no_prefix_attr, nonempty_type_quals, structsp,
4234         type_quals): Remove.  Users updated.
4235         (initdecls, notype_initdecls, after_type_declarator,
4236         parm_declarator, notype_declarator, absdcl1, components, ivars):
4237         Don't allow attributes at the start of a declarator; include them
4238         in the production containing the declarator instead.  Always
4239         require type specifiers before trying to redeclare a typedef name.
4240         (typename): Allow for attributes but warn that they are ignored.
4241         (parmlist, firstparm, setspecs_fp): Include attributes in
4242         parmlist; suck them off the parser stack in firstparm using
4243         setspecs_fp.
4244
4245 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
4246
4247         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
4248         to determine if a block has an unconditional jump at its end.
4249
4250         * jump.c (jump_optimize_1): When converting a conditional jump
4251         to an unconditional jump, build the jump using gen_jump instead
4252         of just modify operands in-place.
4253
4254 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
4255
4256         * cppinit.c (cpp_post_options): Shut off macro expansion if
4257         -fpreprocessed.
4258         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
4259         IN_I directives only if the # is in column 1 and the directive
4260         name begins in column 2.
4261         * cppmain.c (scan_buffer): Insert a space between # and an
4262         identifier, when that identifier is a directive name.
4263
4264         * tradcpp.c (struct file_buf): Add a pointer to the next entry
4265         in the header search path.
4266         (enum node_type): Add T_INCLUDE_NEXT.
4267         (directive_table): Add entry for include_next.
4268         (do_include_next): New function.
4269         (process_include): New routine, broken out of do_include.
4270         (finclude): Insert 'nhd' argument, to be copied into
4271         next_header_dir of the new buffer.
4272         (main): Adjust to match.
4273         * gsyslimits.h, limity.h: Un-indent #include_next.
4274
4275 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4276
4277         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
4278         inclusion as a chapter of the GCC manual.
4279         * gcc.texi: Include objc.texi.
4280         * fdl.texi: Use @unnumberedsec for the addendum.
4281         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
4282
4283 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
4284
4285         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
4286
4287 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
4288
4289         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
4290         handling of two-address insns.
4291
4292 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
4293
4294         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
4295         ../binutils/nm-new instead of ../binutils/nm.
4296
4297 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
4298
4299         * i386.md (movdi splitter): Fix the splitting condition
4300         (float_extenddftf splitter): Fix mode.
4301
4302 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
4303
4304         * genrecog.c (write_switch): Avoid outputting of switch for
4305         types wider than int.
4306
4307 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
4308
4309         * reload1.c (copy_eh_notes): New function.
4310         (emit_input_reload_insns): Call it.
4311         (emit_output_reload_insns): Call it.
4312
4313 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
4314
4315         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
4316         Delete stanzas.
4317         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
4318         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
4319
4320         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
4321
4322 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4323
4324         * pa.md (interspace_jump): Revise comment.
4325         (builtin_longjmp): Block initial setup insns from delay slot of
4326         interspace branch.
4327         (builtin_setjmp_receiver): New expander to save and restore PIC
4328         register.
4329
4330         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
4331
4332 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
4333
4334         * toplev.c (compile_file): Set up the output file before we call
4335         the various initializers for the compiler.
4336
4337         * except.c (sjlj_mark_call_sites): Do not search for assignments to
4338         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
4339
4340         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
4341         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
4342
4343 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
4344
4345         * Makefile.in (tradcpp0): Correct typo in dependency list.
4346
4347 2001-05-06  Geoff Keating  <geoffk@redhat.com>
4348
4349         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
4350         the link register if we're not going to use it.
4351
4352         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
4353         (output_function_profiler): Likewise.
4354
4355 2001-05-07  Alan Modra  <amodra@one.net.au>
4356
4357         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
4358
4359 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
4360
4361         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
4362         zero-extend it.  Make abs_inc unsigned.
4363
4364         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
4365         widest mode in narrowing and widening operations.
4366
4367         * config/mips/mips.md: Sign extend CONST_INTs.
4368
4369 2001-05-06  Andreas Jaeger  <aj@suse.de>
4370
4371         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
4372         (i386 Options): Document -momit-leaf-frame-pointer.
4373
4374 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4375
4376         * c-typeck.c (internal_build_compound_expr): Check for
4377         array to pointer conversion just once.
4378
4379 2001-05-05  Richard Henderson  <rth@redhat.com>
4380
4381         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
4382
4383 2001-05-05  Richard Henderson  <rth@redhat.com>
4384
4385         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
4386         to the parent of the fixup region.
4387
4388 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
4389
4390         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
4391         "inline" keyword.
4392         * cpp.texi (__NO_INLINE): Document it.
4393
4394 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4395
4396         * cppfiles.c (struct include_file): New member err_no.
4397         (find_or_create_entry): Set it.
4398         (open_file): Don't set fds to -2.  Instead, use err_no to
4399         remember previous errors, if any.
4400
4401 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4402
4403         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
4404         between X and Y by using sequences of xgdx and xgdy.
4405
4406 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4407
4408         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
4409         of '!' for the 'D' alternative ('!' is too strong).
4410         ("*logicalsi3_silshl16"): Likewise.
4411         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
4412         ("movstrictsi"): Remove spurious '+'.
4413         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
4414         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
4415         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
4416         a reload to them.
4417
4418 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
4419
4420         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
4421
4422 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
4423
4424         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
4425         into -a.
4426
4427 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4428
4429         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
4430         TARGET_POWERPC64.
4431
4432 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4433
4434         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
4435         soft register, use ror instead of rol.
4436
4437 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4438
4439         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
4440         into account pre/post increment decrement for 68HC12.
4441         Fix other problems in replacement and fix call to reg_mentioned_p.
4442
4443 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4444
4445         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
4446         Put the soft registers in bss for 68HC12.
4447         (L_regs_d3_4): New for _.d3 and _.d4.
4448         (L_regs_d5_6): Likewise.
4449         (L_regs_d1_2): Likewise.
4450         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
4451
4452 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4453
4454         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
4455         to the pre-processor when -fshort-double is specified.
4456         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
4457
4458 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4459
4460         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
4461         (__mulsi3): Rewrite for 68HC12.
4462         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
4463         Mark 'x' constraint with earlyclobber to prevent a
4464         RELOAD_FOR_OTHER_ADDRESS to go in it.
4465         (mulhi3_m68hc12): New pattern.
4466         (mulhi3_m68hc11): Rename of mulhi3.
4467         (mulhi3): New expand for 68HC12 optimisation.
4468         (umulhisi3, mulhisi3): New patterns for 68HC12.
4469
4470 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4471
4472         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
4473         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
4474         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
4475
4476 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4477
4478         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
4479         constants cheap after reload.
4480         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
4481         are cheap.
4482         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
4483         so that gcc prefers a shift by 16.
4484         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
4485
4486 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
4487
4488         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
4489
4490 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4491
4492         * alpha.h: NULL_PTR -> NULL.
4493         * arm.c: Likewise.
4494         * arm.h: Likewise.
4495         * avr.h: Likewise.
4496         * c4x.c: Likewise.
4497         * c4x.h: Likewise.
4498         * i386.c: Likewise.
4499         * i386.md: Likewise.
4500         * i860.c: Likewise.
4501         * ia64.c: Likewise.
4502         * m68hc11.h: Likewise.
4503         * rs6000.h: Likewise.
4504         * sh.c: Likewise.
4505         * sh.h: Likewise.
4506         * sparc.h: Likewise.
4507         * v850.c: Likewise.
4508
4509         * expr.c: Likewise.
4510         * final.c: Likewise.
4511         * gcc.c: Likewise.
4512         * recog.c: Likewise.
4513
4514 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4515
4516         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
4517         `bool' parameter to `int'.
4518
4519         * hash.c (hash_lookup): Likewise.
4520
4521         * hash.h (hash_lookup): Likewise.
4522
4523         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
4524
4525 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
4526
4527         * i386.c (x86_initialize_trampoline): Fix mode of constant.
4528
4529 2001-05-03  Geoff Keating  <geoffk@redhat.com>
4530
4531         * invoke.texi (i386 Options): Delete references to -malign-jumps,
4532         -malign-loops, -malign-functions.
4533         * i386.c (ix86_align_funcs): Delete.
4534         (ix86_align_loops): Delete.
4535         (ix86_align_jumps): Delete.
4536         (override_options): Mark -malign-* as obsolete.  Emulate their
4537         behaviour with the -falign-* options.  Default -falign-* from
4538         the processor table.
4539         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
4540         patch of Wed May 2 13:09:36 2001.
4541         (LOOP_ALIGN): Delete.
4542         (LOOP_ALIGN_MAX_SKIP): Delete.
4543         (LABEL_ALIGN_AFTER_BARRIER): Delete.
4544         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
4545
4546 2001-05-04  Andreas Jaeger  <aj@suse.de>
4547
4548         * except.h: Add prototype declaration for
4549         expand_builtin_init_dwarf_reg_sizes.
4550
4551 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
4552
4553         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
4554
4555 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4556
4557         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
4558         instruction.
4559         ("bitcmpqi2"): New pattern for bit-extract and test.
4560         ("bitcmphi"): New pattern for bitb/bita instructions.
4561
4562 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
4563
4564         * gccbug.in: Use a temporary directory when the mktemp command is
4565         not available.
4566
4567 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4568
4569         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
4570         instead of _.d1.
4571         (INITIALIZE_TRAMPOLINE): Call it.
4572         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
4573         (TRAMPOLINE_TEMPLATE): Remove.
4574         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
4575         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
4576         Declare.
4577
4578 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
4579
4580         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
4581         and crtendS.o with PIC.
4582
4583 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4584
4585         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
4586         negative numbers.
4587         (___subdi3, ___adddi3): Use x instead of y as index register.
4588         (__init_bss_section, __map_data_section): Optimize for 68HC12.
4589         (__memset, __memcpy): Likewise.
4590         (regs): Put the soft registers in bss for 68HC12.
4591         (abort): Use trap to abort for 68hc12.
4592         (__mulhi3, __mulhi32): Use emul for 68hc12.
4593         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
4594
4595 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4596
4597         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
4598         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
4599         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
4600         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
4601         Set 68HC12 min offset to -65536.
4602         (print_operand): Put parenthesis arround the operand if it refers
4603         to a symbol having the same name as a register.
4604         (m68hc11_z_replacement): When z register is replaced by its
4605         equivalent soft register, force the insn to be re-recognized.
4606         (m68hc11_check_z_replacement): Fix the test when destination is
4607         the index register and z dies in the insn.
4608         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
4609
4610 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4611
4612         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
4613         costs according to processor variant.
4614         (m68hc11_shift_cost): New function to compute shift costs.
4615         (m68hc11_rtx_costs): Define costs according to processor variant.
4616         (m6811_cost): Costs for 68HC11.
4617         (m6812_cost): Costs for 68HC12.
4618         (COSTS_N_INSNS): Remove.
4619
4620         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
4621         (DEFAULT_RTX_COSTS): Remove.
4622         (CONST_COSTS): Define costs according to OUTER_CODE.
4623         (processor_costs): New struct to define costs.
4624         (m68hc11_cost): Pointer to current costs.
4625
4626 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4627
4628         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
4629         and use m68hc11_notice_keep_cc when using leax/leay.
4630         (addhi3 split): Reject split if the insn is handled by
4631         leax/leay above.
4632         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
4633         push must be handled in a special way if the source operand uses
4634         sp as index register.
4635         (m68hc11_notice_keep_cc): New function.
4636         (m68hc11_gen_movhi): Use it when an insn changes a register but
4637         not the flags.
4638         (m68hc11_gen_movqi): Fix move for 68HC12.
4639         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
4640
4641 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4642
4643         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
4644         and don't pass operands[0] to emit_library_call_value.
4645
4646 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4647
4648         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
4649         (zero_extendsi split): Simplify and use (zero_extendhi).
4650         (*addhi3): Remove 'w' constraint since stack pointer is handled
4651         by (addhi3_sp).
4652         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
4653         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
4654         (*ashrhi3_const): Fix shift by 7.
4655         (*lshrsi3_const16): Fix template.
4656         (call, call_value): Fix constraint and predicate.
4657
4658 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4659
4660         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
4661         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
4662         (CC_REGNUM): Likewise.
4663         (*unnamed splits): Use above constants instead of hard coded numbers.
4664         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
4665         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
4666         (*return_16bit, *unnamed peepholes): Likewise.
4667
4668 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
4669
4670         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
4671         rs6000/rs6000.h twice.
4672
4673 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
4674
4675         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
4676         (CPP_SPEC): Conditionally define MSDOS and GO32.
4677         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
4678         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
4679         ignored.
4680         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
4681
4682 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
4683
4684         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
4685
4686 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
4687
4688         * integrate.h (struct inline_remap): Add leaf_reg_map table.
4689         * integrate.c (expand_inline_function): Use xcalloc to allocate
4690         memory.
4691         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
4692         registers.
4693
4694 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
4695
4696         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
4697         if it is not set.
4698
4699 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
4700
4701         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
4702         linker if -mrelax is given.
4703         (TARGET_SWITCHES): Document -mrelax.
4704
4705         Re-installed 2001-01-09's patch:
4706         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
4707         if it's wider than long and the target's long is wider than the
4708         host's.
4709
4710 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
4711
4712         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
4713         directly include rs6000/rs6000.h.  Instead do it in tm.h.
4714
4715 2001-05-02  Stan Shebs  <shebs@apple.com>
4716
4717         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
4718         NSConstantString for NeXT-style runtimes.
4719         (STRING_OBJECT_GLOBAL_NAME): New macro.
4720         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
4721         OCTI_STRING_CLASS_DECL.
4722         (constant_string_global_id): New macro.
4723         (string_class_decl): Ditto.
4724         (setup_string_decl): New function.
4725         (build_objc_string_object): Use it to build a NeXT runtime
4726         compatible string initializer.
4727
4728 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
4729
4730         * tradcpp.c (do_define): Make sure we don't walk past limit.
4731
4732 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4733
4734         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
4735         offsets if not REG_OK_STRICT.
4736
4737         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
4738         (INT_REG_OK_FOR_INDEX_P): Likewise.
4739         (INT_REG_OK_FOR_BASE_P): Likewise.
4740         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
4741         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
4742         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
4743         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
4744         REG_OK_FOR_BASE_P. Take an additional parameter.
4745         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
4746         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
4747         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
4748         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
4749         rs6000_legitimate_address() and use it.
4750         * config/rs6000/rs6000.c: Update all callers.
4751         (rs6000_legitimate_address): New function.
4752
4753 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
4754
4755         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
4756         special_constant conditional blocks together.
4757
4758 2001-05-02  Dale Johannesen  <dalej@apple.com>
4759
4760         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
4761         parameter.
4762         (STRICT_ARGUMENT_NAMING): Define.
4763         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
4764         function_arg_partial_nregs, setup_incoming_varargs): Remove
4765         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
4766         is defined.
4767
4768 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4769
4770         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
4771
4772         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
4773         for replacement.
4774
4775         * expr.c (store_field): Do nothing except elaborate side-effects if
4776         zero-bit field.
4777
4778 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4779
4780         * c-lex.c: NULL_PTR -> NULL.
4781         * cse.c: Likewise.
4782         * emit-rtl.c: Likewise.
4783         * gcse.c: Likewise.
4784         * genpeep.c: Likewise.
4785         * jump.c: Likewise.
4786         * mips-tdump.c: Likewise.
4787         * reload1.c: Likewise.
4788         * rtlanal.c: Likewise.
4789         * stmt.c: Likewise.
4790         * stor-layout.c: Likewise.
4791         * toplev.c: Likewise.
4792
4793 2001-05-01  Per Bothner  <per@bothner.com>
4794
4795         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
4796         call do_pending_stack_adjust before emiting label.
4797
4798 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
4799
4800         * extend.texi: Fix typo.
4801
4802 2001-05-01  Stan Shebs  <shebs@apple.com>
4803
4804         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
4805         of UOBJC_MODULES_decl.
4806         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
4807         (generate_descriptor_table): Ditto.
4808         (generate_protocols): Ditto.
4809         (generate_protocol_list): Ditto.
4810         (generate_classref_translation_entry): Ditto.
4811
4812 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
4813
4814         * invoke.texi (Optimize Options): Add documentation for `--param
4815         max-delay-slot-insn-search' and `--param
4816         max-delay-slot-live-search' and reorder --param section.
4817         * params.def: Modify initial comment.
4818         * params.h (param_info): Add `help' member.
4819         * toplev.c (lang_independent_params): Include `help' description.
4820         (display_help): Print --param parameters.
4821
4822 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
4823
4824         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
4825         Remove references to deleted files.
4826         (*-*-openbsd): No need to override xmake_file.
4827         (*-*-sysv4): Treat like *-*-sysv.
4828
4829         * configure.in: Probe for ldopen in various places, and set up
4830         collect2 to be linked with them if found.
4831         Don't dink with Windows registry stuff unless $host_os is a
4832         Win32 os name.  Check to see if we need -ladvapi32.
4833         * configure: Regenerate.
4834
4835         * Makefile: Get rid of CLIB and HOST_CLIB.
4836         Substitute in COLLECT2_LIBS and link collect2 against its contents.
4837         * build-make: Get rid of HOST_CLIB.
4838
4839         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
4840         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
4841         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
4842         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
4843         config/rs6000/x-rs6000: Delete.
4844
4845         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
4846         Don't set CLIB.
4847
4848         24 x-host fragments remain, 0 x-cpu, 3 top level.
4849
4850 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
4851
4852         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
4853         * configure: Regenerate.
4854
4855 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
4856
4857         * Makefile.in (install-headers): Remove redundant dependency.
4858
4859 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
4860
4861         * c-tree.texi (USING_STMT): Document.
4862
4863 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4864
4865         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
4866         * c-common.c: Likewise.
4867         * c-decl.c: Likewise.
4868         * combine.c: Likewise.
4869         * rs6000.c: Likewise.
4870         * except.c: Likewise.
4871         * explow.c: Likewise.
4872         * expr.c: Likewise.
4873         * fold-const.c: Likewise.
4874         * function.c: Likewise.
4875         * gcc.c: Likewise.
4876         * gcse.c: Likewise.
4877         * integrate.c: Likewise.
4878         * loop.c: Likewise.
4879         * objc/objc-act.c: Likewise.
4880         * recog.c: Likewise.
4881         * reg-stack.c: Likewise.
4882         * reload.c: Likewise.
4883         * reload1.c: Likewise.
4884         * simplify-rtx.c: Likewise.
4885         * stmt.c: Likewise.
4886         * varasm.c: Likewise.
4887
4888 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
4889
4890         * diagnostic.def: New file.
4891         * diagnostic.h (diagnostic_t): New enum.
4892         * Makefile.in (diagnostic.o): Depend on diagnostic.def
4893
4894 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
4895
4896         * tsystem.h: Test only POSIX for availability of string.h
4897         and time.h.
4898         * config.gcc (all systems): If USG appeared in xm_defines,
4899         change it to POSIX.  If both USG and POSIX appeared, just
4900         delete USG. Remove unnecessary quotes around xm_defines
4901         settings.
4902         (m68k-crds-unos*): Don't #define unos - tested nowhere.
4903         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
4904         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
4905         powerpc-*-linux*): No need to set xm_defines - handled by
4906         global settings for *-*-linux*.
4907
4908 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
4909
4910         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
4911         Always include gstab.h, not system stab.h.  Don't provide
4912         default definitions of N_CATCH or N_OPT.  Always use the
4913         gstab.h variant of STAB_CODE_TYPE.
4914         * final.c: Don't include stab.h/gstab.h at all, or provide
4915         defaults for N_SLINE and N_SOL.
4916
4917         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
4918         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
4919         available.
4920         * sdbout.c: Always include gsyms.h instead of system syms.h.
4921
4922         * configure.in: No need to check for stab.h.
4923         * configure, config.in: Regenerate.
4924         * Makefile.in (final.o): Don't depend on gstab.h.
4925
4926 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
4927             Richard Henderson  <rth@redhat.com>
4928
4929         * extend.texi: Improve documentation of volatile asms.
4930
4931 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
4932
4933         * c-tree.texi: Fix thinko.
4934         * gcc.texi: Likewise.
4935
4936 2001-04-30  Richard Henderson  <rth@redhat.com>
4937
4938         * c-common.c (c_promoting_integer_type_p): New function, from the
4939         corpse of old macro.  Properly promote too-small enumerations and
4940         booleans.  Adjust all callers.
4941         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
4942         (c_promoting_integer_type_p): Declare.
4943         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
4944         * c-typeck.c: Likewise.
4945         (default_conversion): Remove now redundant boolean check.
4946
4947 2001-04-30  Jan Hubicka  <jh@suse.cz>
4948             Richard Henderson  <rth@redhat.com>
4949
4950         * regmove.c (try_apply_stack_adjustment): Remove now redundant
4951         sanity checks.
4952         (combine_stack_adjustments_for_block): Don't combine stack
4953         allocation followed by deallocations.  Handle grow-up stacks.
4954
4955 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
4956
4957         * fdl.texi: New file.
4958         * c-tree.texi: Use the GFDL.
4959         * gcc.texi: Likewise.
4960
4961 2001-04-30  Stan Shebs  <shebs@apple.com>
4962
4963         * invoke.texi: Add a section documenting Objective-C options.
4964
4965 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
4966
4967         * emit-rtl.c (try_split):  Copy EH notes to sequence.
4968
4969 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
4970
4971         * regmove.c (record_stack_memrefs): Catch all references to the
4972         stack pointer.
4973
4974 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
4975
4976         * Makefile.in (stmp-fixinc): quote shell assignment values
4977
4978 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4979
4980         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
4981
4982         * gcc.c: Likewise.
4983
4984         * prefix.c: Likewise.
4985
4986 2001-04-28  Stan Shebs  <shebs@apple.com>
4987
4988         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
4989         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
4990         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
4991         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
4992
4993         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
4994         (NEXT_OBJC_RUNTIME): Define.
4995
4996 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
4997
4998         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
4999         * simplify-rtx.c (simplify_gen_relational): Likewise.
5000
5001         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
5002
5003         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
5004         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
5005
5006         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
5007         registers in SSE case; fix handling of the immediates.
5008         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
5009         operands to be in regsiters before reload.
5010         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
5011         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
5012         (abstf,absxf,negtf,negxf splitters): Compute
5013         properly the regnum for x86_64.
5014         (avsdf2_if_rex64): New.
5015
5016 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
5017
5018         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
5019         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
5020         into the constant pool.
5021         * jump.c (jump_optimize_1): Remove barrier successors after all
5022         the LABEL_NUSES counds have been computed.
5023         (delete_barrier_successors): When deleting a tablejump insn, also
5024         delete the jump table it uses.
5025         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
5026         label into memory.
5027
5028 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
5029
5030         * pa.c (FRP): Remove erroneous white space in macro definition.
5031
5032 2001-04-28  Andreas Jaeger  <aj@suse.de>
5033
5034         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
5035         appropriate.
5036         * extend.texi: Likewise.
5037         * tm.texi: Likewise.
5038
5039 2001-04-28  Andreas Jaeger  <aj@suse.de>
5040
5041         * md.texi: Use XX-bit instead of XXbit or XX bit where
5042         appropriate.
5043
5044 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
5045
5046         * gcc.c (process_command): Allow -l lib in addition to -llib
5047         for POSIX compliance. This fixes PR c/2347.
5048
5049         * invoke.texi: Update section on Link Options accordingly.
5050
5051 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
5052
5053         * function.c (purge_addressof_1): Remove the duplicate
5054         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
5055         blocks together.
5056
5057 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
5058
5059         * except.c (expand_eh_region_start): Don't start a new block.
5060         (expand_eh_region_end): Don't end a block.
5061         * stmt.c (expand_end_bindings): Don't end EH blocks.
5062         (expand_decl_cleanup): Starting an EH region won't change the block.
5063         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
5064         (is_eh_region): Lose.
5065         * tree.h: Adjust.
5066
5067 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
5068
5069         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
5070
5071         * collect2.c (main): Add `-L' case to remove duplicate entries.
5072         (is_in_args): New function to check for a duplicate argument.
5073         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
5074         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
5075         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
5076         Define to be nonzero.
5077
5078 2001-04-27  Andreas Jaeger  <aj@suse.de>
5079             Richard Henderson  <rth@redhat.com>
5080
5081         * md.texi (Machine Constraints): Document additional i386
5082         constraints and fix description of "A".
5083
5084 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
5085
5086         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
5087
5088 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
5089
5090         * except.c (get_exception_filter): word_mode, not Pmode.
5091
5092 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
5093
5094         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
5095         common to other movsf patterns.  Move up so that in future
5096         people who change the other patterns will change it too.
5097         (movsf_lo_sum): Allow even for soft-float; add appropriate
5098         constraints.
5099         (movsf_high): Likewise.
5100         (movsf_high+1): Allow even for soft-float.
5101
5102         * function.c (expand_function_end): Always clobber the
5103         return registers, even if there is no return label.
5104
5105 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
5106
5107         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
5108
5109 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
5110
5111         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
5112         (pushqi2_rex64, pushhi2_rex64): Add.
5113
5114 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
5115
5116         * except.c (expand_eh_region_end_cleanup): Force pending stack
5117         adjust before emitting label that branches around cleanup code.
5118
5119 2001-04-26  H.J. Lu  (hjl@gnu.org)
5120
5121         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
5122
5123         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
5124         define.
5125         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
5126         (ASM_OUTPUT_SECTION_NAME): Likewise.
5127         (ASM_WEAKEN_LABEL): Likewise.
5128         (UNIQUE_SECTION): Likewise.
5129         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
5130         (ASM_OUTPUT_DESTRUCTOR): Likewise.
5131         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
5132         (ASM_OUTPUT_SECTION_NAME): Likewise.
5133         (ASM_WEAKEN_LABEL): Likewise.
5134         (UNIQUE_SECTION): Likewise.
5135         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
5136         (ASM_OUTPUT_DESTRUCTOR): Likewise.
5137         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
5138         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
5139         (ASM_FILE_START): Likewise.
5140         (ASM_OUTPUT_SOURCE_LINE): Likewise.
5141         (ASM_DECLARE_OBJECT_NAME): Likewise.
5142         (ASM_FILE_END): Likewise.
5143         (ASM_DECLARE_FUNCTION_NAME): Likewise.
5144         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
5145         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5146         (ASM_OUTPUT_CASE_LABEL): Likewise.
5147         (ASM_OUTPUT_SKIP): Likewise.
5148         (ASM_OUTPUT_ASCII): Likewise.
5149         (ASM_OUTPUT_IDENT): Likewise.
5150         (READONLY_DATA_SECTION): Likewise.
5151         (EXTRA_SECTIONS): Likewise.
5152         (EXTRA_SECTION_FUNCTIONS): Likewise.
5153         (SELECT_RTX_SECTION): Likewise.
5154         (SELECT_SECTION): Likewise.
5155
5156         * config/mips/linux.h (INVOKE__main): Undefine.
5157         (CTOR_LIST_BEGIN): Likewise.
5158         (CTOR_LIST_END): Likewise.
5159         (DTOR_LIST_BEGIN): Likewise.
5160         (DTOR_LIST_END): Likewise.
5161         (SET_ASM_OP): Defined it to ".dummy".
5162         (ASM_OUTPUT_DEF): Defined.
5163         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
5164
5165 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
5166
5167         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
5168         assembler supports .p2align.
5169
5170 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
5171
5172         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
5173
5174 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
5175
5176         * integrate.c (expand_inline_function): Check for error_mark_node
5177         in actual argument.
5178
5179 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
5180
5181         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
5182         -m386 and -m486.
5183
5184 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
5185
5186         * configure.in (configargs.h): Define thread_model.
5187         * configure: Rebuilt.
5188         * gcc.c (main): Print it with -v.
5189
5190 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
5191
5192         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
5193         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
5194         * gcc.1: Regenerate.
5195
5196 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5197
5198         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
5199         is_redundant_typedef): Use static inline instead of inline static.
5200
5201 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
5202
5203         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
5204         this directory is always searched.
5205
5206 2001-04-25  Richard Henderson  <rth@redhat.com>
5207
5208         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
5209         of registers to restore along non eh_return path.
5210
5211 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
5212
5213         * c-format.c (check_format_info_recurse): Handle
5214         PLUS_EXPR for format string.
5215
5216 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
5217
5218         * config/ia64/ia64.h (CC1_SPEC): Define.
5219         * config/ia64/linux.h (CC1_SPEC): Define.
5220
5221 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
5222
5223         * emit-rtl.c (constant_subword): Also do sign extension in
5224         BITS_PER_WORD == 16 case.
5225
5226 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
5227
5228         * loop.c (try_swap_copy_prop): Go back to checking insn.
5229
5230 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
5231
5232         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
5233         if check_mode is non-zero.
5234
5235 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
5236
5237         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
5238         out and comparison sequence has been detected, put result into
5239         proper temporary pseudo.
5240
5241 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
5242
5243         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
5244         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
5245         * libgcc2.c: Remove __dummy and __builtin_saveregs.
5246         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
5247         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
5248         for future reference.
5249
5250 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
5251
5252         * except.c (reachable_handlers): Step out one level from a RESX.
5253
5254         * except.c (struct eh_region): Rename 'last' to 'resume'.
5255         (mark_eh_region, duplicate_eh_region_1): Adjust.
5256         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
5257         (build_post_landing_pads): Likewise.
5258         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
5259         (expand_eh_region_end_must_not_throw): Likewise.
5260         (connect_post_landing_pads): Thread (only) regions with non-deleted
5261         resume insns.
5262
5263         * except.c (expand_eh_region_end_cleanup): Save the EH return data
5264         registers around the cleanup.
5265         (get_exception_filter): New fn.
5266         (finish_eh_generation): Use it.
5267
5268 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
5269
5270         * c-semantics.c (add_scope_stmt): Don't call
5271         current_scope_stmt_stack multiple times.
5272
5273 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
5274             Nathan Sidwell <nathan@codesourcery.com>
5275
5276         Lazy __FUNCTION__ generation.
5277         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
5278         RID_C99_FUNCTION_NAME): New _RIDs.
5279         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
5280         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
5281         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
5282         global tree slots.
5283         (function_id_node, pretty_function_id_node, func_id_node): Remove.
5284         (c99_function_name_decl_node, function_name_decl_node,
5285         pretty_function_name_decl_node, saved_function_name_decls):
5286         Declare.
5287         (struct language_function): Remove x_function_name_declared_p.
5288         (make_fname_decl): Remove a parameter.
5289         (declare_function_names): Remove prototype.
5290         (start_fname_decls, finish_fname_decls): Prototype.
5291         (fname_as_string): Likewise.
5292         (fname_string, fname_decl): Likewise.
5293         * c-common.c (make_fname_decl): Adjust.
5294         (struct fname_var_t): New struct.
5295         (fname_vars): New static array.
5296         (declare_function_name): Remove.
5297         (start_fname_decls, finish_fname_decls): New functions.
5298         (fname_as_string): New function from remnants of
5299         declare_function_name.
5300         (fname_string, fname_decl): New functions.
5301
5302         * c-decl.c (c_function_name_declared_p): Remove.
5303         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
5304         don't call declare_function_name. Call start_fname_decls.
5305         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
5306         clobber the line number. Call finish_decl.
5307         (start_function): Call start_fname_decls.
5308         (finish_function): Call finish_fname_decls.
5309         Remove c_function_name_declared_p.
5310         (push_c_function_context): Don't push c_function_name_declared_p.
5311         (pop_c_function_context): Don't pop c_function_name_declared_p.
5312         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
5313         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
5314         (program): Call finish_fname_decls for C.
5315         (primary): Add VAR_FUNC_NAME.
5316         (reswords): Add slots for __FUNCTION__ et al.
5317         (rid_to_yy): Add mappings for __FUNCTION__ et al.
5318         (yylexname): If it's a STRING_FUNC_NAME generate the function name
5319         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
5320         * c-semantics.c (prune_unused_decls): Remove.
5321         (finish_stmt_tree): Don't call prune_unused_decls.
5322         (genrtl_decl_stmt): Don't prune unused decls here.
5323
5324 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
5325
5326         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
5327         constant pool, use the pool's SYMBOL_REF instead.
5328
5329         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
5330         v850e.
5331
5332 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
5333
5334         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
5335         passing nested NOP_EXPRs to fold.
5336
5337 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
5338
5339         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
5340
5341 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
5342
5343         * loop.c (loop_delete_insns): Add prototype.
5344
5345 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
5346
5347         * configure.in:  Remove ENABLE_STD_NAMESPACE.
5348         * config.in:  Regenerated.
5349         * configure:  Regenerated.
5350
5351 2001-04-22  Stan Shebs  <shebs@apple.com>
5352
5353         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
5354         into xm_defines.
5355         * config/rs6000/xm-darwin.h: Remove file.
5356
5357 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5358
5359         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
5360         (write_c_file_stat): Likewise.
5361
5362         * dbxout.c (dbxout_init): Likewise.
5363
5364         * profile.c (output_func_start_profiler): Likewise.
5365
5366 2001-04-22  Philipp Thomas  <pthomas@suse.de>
5367
5368         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
5369         require it instead of the CVS version.
5370         * cpperror.c (v_message): Put a blank before the macro
5371         body to not confuse exgettext.
5372
5373 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
5374
5375         * flow.c (proagate_one_insn): Remove useless assignment.
5376         * jump.c (delete_insn): Tidy.
5377         * loop.c (try_copy_prop): When deleting an instruction with a
5378         REG_RETVAL note, delete the entire libcall sequence.
5379         (loop_delete_insns): New function.
5380         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
5381         we're not substituting into them yet.
5382
5383 2001-04-21  Kazu Hirata  <kazu@hxi.com>
5384
5385         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
5386
5387         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
5388         Fix a comment typo.
5389         * config/i960/i960.c (signed_arith_operand): Likewise.
5390
5391         * calls.c (expand_call): Fix a comment typo.
5392
5393 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
5394
5395         * configure.in: Probe for times, clock, struct tms, and clock_t.
5396         * configure, config.in: Regenerate.
5397         * timevar.c: Replace ifdef forest in get_time with (relatively)
5398         straightforward series of checks based on autoconf's probes.
5399
5400 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
5401
5402         * config/pa/som.h (NM_FLAGS): Define.
5403
5404 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
5405
5406         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
5407         function.
5408         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
5409         * ia64.c (nop_cycles_until): New function.
5410         (prev_cycle, prev_first, last_issued): New static variables.
5411         (ia64_sched_reorder): Additional arg for clock.
5412         On final scheduling pass, emit extra NOPs as needed.
5413         Set prev_first and prev_cycle.
5414         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
5415         (ia64_variable_issue): Set last_issued.
5416
5417 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
5418
5419         * config/i386/i386.c (ix86_expand_int_movcc,
5420         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
5421
5422 2001-04-20  Geoff Keating  <geoffk@redhat.com>
5423
5424         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
5425         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
5426         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
5427         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
5428         ctrdi_internal6): In the short-branch case, this insn is only 4
5429         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
5430
5431 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
5432
5433         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
5434         "=u" is used together with "st" resp. "st(1)" clobber.
5435
5436 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
5437
5438         * gcse.c (gcse_main): Fix comment typo.
5439         (delete_null_pointer_check): Likewise.
5440         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
5441         * cse.c (cse_insn): Likewise.
5442         * function.c (fixup_var_refs_insns_with_hash): The sequence is
5443         toplevel.
5444
5445 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
5446
5447         * toplev.c: Excise all code for the undocumented -dm option.
5448         (float_signal): Call signal just once, unconditionally.
5449
5450 2001-04-19  Geoff Keating  <geoffk@redhat.com>
5451
5452         * fold-const.c (fold): Use first_rtl_op rather than
5453         TREE_CODE_LENGTH when looping over parameters of a tree.
5454         Correct strange grouping in test for evaluated SAVE_EXPR.
5455
5456 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
5457
5458         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
5459         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
5460
5461         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
5462         name at 32 total characters.
5463         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
5464         functions in named sections -- data items can still go into unique
5465         sections, but they have normal names (ie $LIT$ and $DATA$).
5466
5467         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
5468         INIT_PRIORITY.
5469
5470 2001-04-19 DJ Delorie  <dj@redhat.com>
5471
5472         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
5473         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
5474         * config/i386/cygwin.h: Likewise.
5475         * config/i386/mingw32.h: Likewise.
5476         * config/vax/vms.h: Likewise.
5477         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
5478
5479         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
5480         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
5481         * config/i386/xm-cygwin.h: Likewise.
5482         * config/i386/xm-djgpp.h: Likewise.
5483         * config/i386/xm-mingw32.h: Likewise.
5484         * config/vax/xm-vms.h: Likewise.
5485
5486         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
5487         instead of OBJECT_SUFFIX.
5488         * collect2.c (find_a_file): Look for files matching the extension
5489         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
5490         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
5491         TARGET_EXECUTABLE_SUFFIX.
5492         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
5493         (make_relative_prefix): Likewise.
5494         (convert_filename): Use TARGET_ suffixes throughout.  Remove
5495         NO_AUTO_EXE_SUFFIX.
5496         (process_command): Likewise.
5497         (do_spec_1): Likewise.
5498         * java/lang.c (init_parse): Likewise.
5499
5500         * gcc.texi : Document four new options matching the pattern
5501         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
5502         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
5503         documentation for NO_AUTO_EXE_SUFFIX.
5504
5505 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
5506
5507         * toplev.h (struct lang_hooks): Allow decode_option to indicate
5508         that language-independent processing should not be done.
5509         * toplev.c (main): Adjust accordingly.
5510
5511         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
5512         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
5513
5514         * mips.md (reload_outputdi): Require that operand0 be a
5515         general_operand.
5516
5517 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
5518
5519         * invoke.texi (-Wshadow): Clarify.
5520
5521 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
5522
5523         * loop.c (load_mems): Examine all the instructions in the loop
5524         before concluding that all jumps branch to the first instruction
5525         after the loop.
5526
5527 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
5528
5529         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
5530
5531 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
5532
5533         * cpp.texi (-Wwhite-space): Remove.
5534         (-Wall): -Wall does not imply -Wwhite-space.
5535
5536 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
5537
5538         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
5539         use it instead of blindly generating a .stabs.
5540         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
5541         in the right place.
5542         * xcoffout.c: Don't bother defining default for N_CATCH.
5543         (UNKNOWN_STAB): Use internal_error.
5544         (stab_to_sclass): Remove now-unnecessary aborts.
5545         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
5546
5547 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
5548
5549         * jump.c (mark_all_labels): Canonicalize the tail recursion
5550         label attached to CALL_PLACEHOLDER insns.
5551
5552 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5553
5554         * output.h (dump_flow_info, free_basic_block_vars,
5555         which_alternative): Delete redundant prototypes.
5556
5557         * rtl.h (bss_section): Likewise.
5558
5559 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
5560
5561         * dbxout.c (N_OPT): Define if not available from <stab.h>
5562
5563 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5564
5565         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
5566         libraries and native K&R compilers.
5567
5568 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5569
5570         * c-typeck.c (convert_arguments): Don't check for width changes
5571         with -Wtraditional.
5572
5573         * invoke.texi (-Wtraditional): Update documentation.
5574
5575 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
5576
5577         * toplev.c (output_lang_identify): Delete.
5578         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
5579         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
5580         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
5581         after calling ASM_FILE_END.
5582
5583         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
5584         Instead, unconditionally emit an N_OPT stab with string equal
5585         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
5586
5587         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
5588
5589         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
5590         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
5591         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
5592         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
5593         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
5594         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
5595         config/i370/i370.h, config/i386/beos-elf.h,
5596         config/i386/osf1elf.h, config/i386/osfrose.h,
5597         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
5598         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
5599         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
5600         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
5601         config/mips/iris6.h, config/mips/osfrose.h,
5602         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
5603         config/sparc/sp64-elf.h:
5604         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
5605         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
5606
5607         * config/elfos.h, config/freebsd.h, config/linux.h,
5608         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
5609         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
5610         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
5611         of ASM_FILE_START which merely emit a .version directive.  Delete
5612         definitions of ASM_FILE_END which merely emit an .ident directive.
5613
5614         * config/avr/avr.h, config/vax/vax.h: Delete definition of
5615         ASM_IDENTIFY_GCC and move part of its logic into
5616         ASM_FILE_START.
5617
5618         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
5619         config/sparc/linux-aout.h: Don't emit .version directive in
5620         ASM_FILE_START.
5621
5622         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
5623         (output_file_start): Correct comment.
5624
5625         * config/i386/osfrose.h: Don't emit trailing .ident directive.
5626         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
5627         to match gdb.
5628         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
5629         * config/rs6000/aix.h: Correct comment.
5630
5631         * config/i386/i386afe.h: Delete.
5632         * config.gcc: Remove references to i386afe.h.
5633
5634         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
5635         other macros deleted by this patch were undocumented.
5636
5637 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
5638
5639         * pa.md (reload_outdi): Operand 0 must be a non hard register.
5640
5641         * pa.c (secondary_reload_class): SAR<->FP copies require a
5642         secondary register.
5643
5644         * install.texi (mips-mips-bsd): Update list of functions
5645         required to include memmove.
5646         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
5647         used functions to include memmove.
5648
5649 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
5650
5651         * i386.md (sqrtdf2): SFmode should be DFmode.
5652
5653 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
5654
5655         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
5656         (find_moveable_store): Likewise.
5657
5658 2001-04-15  Jim Wilson  <wilson@redhat.com>
5659
5660         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
5661
5662 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
5663
5664         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
5665         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
5666
5667 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
5668
5669         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
5670         first alternative.
5671
5672 2001-04-14  Alan Modra  <amodra@one.net.au>
5673
5674         * pa.c (force_mode): New function.
5675         (emit_move_sequence): Use it instead of generating new rtx_REGs.
5676
5677 2001-04-13  Jim Wilson  <wilson@redhat.com>
5678
5679         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
5680         (first_instruction): New static variable.
5681         (rtx_needs_barrier): Return 1 for alloc.
5682         (init_insn_group_barriers): Set first_instruction.
5683         (rws_sum): Delete duplicate definition.
5684         (group_barrier_needed_p): Return 0 when first_instruction true.
5685         (safe_group_barrier_needed_p): Save and restore first_instruction
5686         around group_barrier_needed_p call.
5687
5688 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
5689
5690         * expr.h (enum libfunc_index): Add LTI_memmove.
5691         (memmove_libfunc): Define macro.
5692         * optabs.c (init_optabs): Initialize memmove_libfunc.
5693         * expr.c (expand_assignment): Use memmove_libfunc instead of
5694         memcpy_libfunc.
5695
5696 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
5697
5698         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
5699         fp mode addresses.
5700
5701 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5702
5703         * Makefile.in (reg-stack.o): Depend on reload.h.
5704         (insn-attrtab.o): Depend on flags.h.
5705
5706         * genattrtab (main): Include flags.h in insn-attrtab.c.
5707
5708         * reg-stack.c: Include reload.h.
5709
5710         * sparc.h (flag_pic): Delete redundant declaration.
5711
5712         * output.h (flag_pic): Likewise.
5713
5714         * tree.h (pedantic): Likewise.
5715
5716 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5717
5718         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
5719
5720         * jump.c, regmove.c, toplev.c: Include reload.h.
5721
5722         * reload.h (reload_cse_regs): Declare.
5723
5724         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
5725         reload_cse_regs, init_reload, mark_home_live, reload,
5726         init_caller_save): Delete redundant prototypes.
5727
5728 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5729
5730         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
5731
5732         * regclass.c, ssa.c: Include expr.h.
5733
5734         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
5735         gen_move_insn): Delete redundant declarations.
5736
5737 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5738
5739         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
5740         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
5741         MAKEINFO and MAKEINFOFLAGS too.
5742         (stage4_build): Correctly order -B flags.
5743
5744 2001-04-13  Alan Modra  <amodra@one.net.au>
5745
5746         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
5747         PIC_OFFSET_TABLE_SAVE_RTX.
5748         (zdepi_cint_p): Describe zdepi insn.
5749         Formatting and white space fixes throughout file.
5750
5751         * pa.c (uint32_operand): Don't use long constant >= 2^32.
5752         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
5753         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
5754         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
5755         (output_64bit_and): Use plain `int's for shift counts.
5756         (output_64bit_ior): Likewise.
5757         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
5758         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
5759         `N', and simplify.
5760
5761         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
5762         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
5763         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
5764         NEW_HP_ASSEMBLER into one.  Kill warnings.
5765
5766         * pa-gas.h: Delete file.
5767         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
5768         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
5769         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
5770         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
5771
5772         * config/pa/mill32.S: New file.
5773         * config/pa/mill64.S: New file.
5774         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
5775         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
5776         * config/pa/t-linux64: New file.
5777         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
5778         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
5779         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
5780
5781         * elfos.h (SELECT_SECTION): Undef before defining.
5782         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
5783         (LIB_SPEC): Remove -lmilli.
5784         (DBX_REGISTER_NUMBER): Remove.
5785         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5786         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
5787         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
5788         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5789         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
5790         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
5791         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
5792         TARGET_GAS): Define.
5793         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
5794         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
5795         regs if we don't have a prototype.
5796         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
5797         * pa.h (TARGET_ELF32): Default to 0 if undefined.
5798         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
5799         EH_RETURN_HANDLER_RTX): Define.
5800         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
5801         (DWARF_FRAME_REGNUM): Define.
5802         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
5803         * pa32-linux.h: New file.
5804         * pa64-linux.h: New file.
5805
5806         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
5807         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
5808         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
5809         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
5810         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
5811         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
5812         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
5813         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
5814         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
5815         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
5816         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
5817         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
5818         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
5819         * pa64-hpux.h: New file.
5820         (ASM_FILE_START): Correct typo.
5821         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
5822         * config.gcc: Modify for above.
5823
5824 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
5825
5826         * jump.c (jump_optimize_1): Don't delete dead stores here.
5827         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
5828         prior to running jump optimize before cse2.
5829
5830 2001-04-12  Richard Henderson  <rth@redhat.com>
5831
5832         * Makefile.in (regmove.o): Depend on except.h.
5833         * regmove.c: Include it.
5834
5835 2001-04-12  Stan Shebs  <shebs@apple.com>
5836
5837         * objc/objc-act.c: Remove all code ifdefed with the never-used
5838         macro OBJC_INT_SELECTORS.
5839         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
5840         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
5841
5842 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
5843
5844         * config/pa/quadlib.c: Add prototypes.
5845
5846 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5847
5848         * bitmap.h (debug_bitmap): Delete redundant prototype.
5849
5850         * rtl.h (get_frame_size): Likewise.
5851
5852 2001-04-12  Jim Wilson  <wilson@redhat.com>
5853
5854         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
5855         to just emit an fnorm.
5856
5857 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5858
5859         * c-common.h (truthvalue_conversion, type_for_mode,
5860         type_for_size): Delete redundant declarations.
5861
5862         * c-lex.h (is_class_name): Likewise.
5863
5864         * c-tree.h (pedantic, convert, getdecls, gettags,
5865         global_bindings_p, init_decl_processing, insert_block,
5866         maybe_build_cleanup, poplevel, print_lang_decl,
5867         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
5868         set_block, incomplete_type_error, build_function_call,
5869         lvalue_or_else, mark_addressable): Likewise.
5870
5871         * expr.h (expand_tree_builtin): Likewise.
5872
5873 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
5874
5875         * invoke.texi: Document --param max-gcse-memory.
5876
5877 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5878
5879         * configure.in (errno): Check for declaration.
5880         * configure, config.in: Regenerated.
5881
5882         * system.h (errno): Only declare if not already done.
5883
5884 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
5885
5886         * recog.c (general_operand, immediate_operand,
5887         nonmemory_operand): Require CONST_INTs to be sign-extended
5888         values for their modes.
5889
5890 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
5891
5892         * expmed.c (store_bit_field): Truncate CONST_INTs.
5893         (expand_mult_highpart, expand_divmod): Likewise.
5894         * expr.c (convert_modes, store_field): Likewise.
5895         * integrate.c (expand_inline_function): Use promote_mode() to
5896         determine whether to convert_modes() an argument as signed
5897         or unsigned.
5898         * optabs.c (expand_binop): Get CONST_INT operands
5899         sign-extended for their appropriate modes.
5900         * stmt.c (emit_case_nodes): Convert node values to the
5901         appropriate mode.
5902         (expand_end_case): Convert minval and range to the appropriate
5903         mode.
5904         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
5905         the iteration variable.
5906         * varasm.c (immed_double_const): Don't require words to be
5907         narrower than host wide ints to properly sign-extend
5908         CONST_INTs.
5909
5910 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
5911
5912         * sh.md (builtin_setjmp_receiver): New expander.
5913
5914 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
5915
5916         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
5917         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
5918         for generating CONST_INT and CONST_DOUBLE.
5919
5920 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
5921
5922         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
5923         already sign-extended.
5924         (rs6000_emit_prologue): Make register iterator signed.
5925         (rs6000_emit_epilogue): Likewise.
5926         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
5927         and low.
5928         (movsf split, movdf split): Sign-extend CONST_INTs.
5929         (movdi splits): Likewise.
5930
5931 2001-04-12  Kelley Cook <kelley.cook@home.com>
5932
5933         * config-lang.in (lang_dirs): Add in zlib.
5934
5935 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
5936
5937         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
5938         operands that make it to RTL.
5939
5940 2001-04-11  Stan Shebs  <shebs@apple.com>
5941
5942         Add Darwin (Mac OS X kernel) native support.
5943         * config.gcc (powerpc-*-darwin*): Add native bits.
5944         * config/darwin.c: New file, generic Darwin support functions.
5945         * config/darwin.h: New file, generic Darwin definitions.
5946         * config/darwin-protos.h: New file, generic Darwin prototypes.
5947         * rs6000/darwin.h: New file, Darwin for PowerPC.
5948         * rs6000/t-darwin: New file, Darwin makefile fragment.
5949         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
5950         (TARGET_MACHO): Ditto.
5951         (rs6000_abi): Add ABI_DARWIN.
5952         (RS6000_REG_SAVE): Add ABI_DARWIN case.
5953         (RS6000_SAVE_AREA): Ditto.
5954         (FP_ARG_MAX_REG): Ditto.
5955         (RETURN_ADDRESS_OFFSET): Ditto.
5956         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
5957         cases.
5958         (rs6000_emit_move): Add ABI_DARWIN cases.
5959         (print_operand): Ditto.
5960         (first_reg_to_save): Ditto.
5961         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
5962         (debug_stack_info): Ditto.
5963         (rs6000_emit_prologue): Ditto.
5964         (rs6000_emit_epilogue): Ditto.
5965         (output_profiler_hook): Ditto.
5966         (output_function_profiler): Ditto.
5967         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
5968         (output_mi_thunk): Add TARGET_MACHO case.
5969         (add_compiler_stub): Ditto.
5970         (output_compiler_stub): Ditto.
5971         (no_previous_def): Ditto.
5972         (output_call): Ditto.
5973         (machopic_output_stub): Ditto.
5974         (rs6000_machopic_legitimize_pic_address): Ditto.
5975         (toc_section): Ditto.
5976         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
5977         (macho_high): Ditto.
5978         (macho_low): Ditto.
5979         (movsi_low): Ditto.
5980         (load_macho_picbase): Ditto.
5981         (call): Add TARGET_MACHO case to modify function.
5982         (call_value): Ditto.
5983         (call_nonlocal_sysv): Add ABI_DARWIN case.
5984         (call_value_nonlocal_sysv): Ditto.
5985         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
5986         Add prototype.
5987         (machopic_output_stub): Ditto.
5988         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
5989
5990 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
5991
5992         * dwarf2out.c (modified_type_die): Don't create new types here.
5993         * tree.h (get_qualified_type): New function.
5994         (build_qualified_type): Adjust comment.
5995         * tree.c (get_qualified_type): New function.
5996         (build_qualified_type): Use it.
5997
5998 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5999
6000         * cpp.texi (-Wtraditional): Update description.
6001
6002         * invoke.texi (-Wtraditional): Likewise.
6003
6004 2001-04-11  Jim Wilson  <wilson@redhat.com>
6005
6006         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
6007         requires more than 64 bits of alignment.
6008
6009 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6010
6011         * cpplib.c (do_line): Sanity check iff enable checking.
6012
6013 2001-04-11  Richard Henderson  <rth@redhat.com>
6014
6015         * Makefile.in (insn-recog.o): Depend on toplev.h.
6016         (insn-emit.o, doloop.o): Likewise.
6017         * genrecog.c, genemit.c: Include toplev.h in generated file.
6018         * doloop.c: Include toplev.h.
6019
6020 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
6021
6022         * Makefile.in (gcse.o): Depend on params.h.
6023         * gcse.c: Include params.h.
6024         (gcse_main): Don't do GCSE if doing so will take inordinate
6025         amounts of memory.
6026         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
6027         * params.h (MAX_GCSE_MEMORY): New macro.
6028
6029 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6030
6031         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
6032
6033         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
6034
6035 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6036
6037         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
6038
6039         * real.h (ereal_atof, real_value_truncate, target_isnan,
6040         target_isinf, target_negative, assemble_real, debug_real): Delete
6041         redundant prototypes.
6042
6043         * Makefile.in (ifcvt.o): Depend on toplev.h.
6044
6045         * c-semantics.c: Include expr.h.
6046
6047         * ifcvt.c: Include toplev.h.
6048
6049         * expr.h (rtx_equal_p): Delete prototype.
6050
6051         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
6052         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
6053         eliminate_constant_term, expand_complex_abs, find_single_use,
6054         make_tree, init_expr_once, init_optabs, supports_one_only):
6055         Likewise.
6056
6057         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
6058         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
6059         expand_assignment, store_expr, emit_line_note_after,
6060         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
6061
6062         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
6063
6064         * sparc-protos.h: Delete redundant prototypes.
6065
6066 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
6067
6068         * reload.c (push_reload): Add condition missed in SUBREG byte
6069         offset patch.
6070
6071 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6072
6073         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
6074
6075 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
6076
6077         * i386.md (floatsisf_sse): Fix output template
6078         * i386.c (ix86_expand_fp_movcc)
6079
6080         * reg-stack.c (emit_pop_insn): Handle complex modes.
6081         (move_for_stack_reg): Emit proper move mode.
6082         (subst_stack_regs_pat): Handle complex modes.
6083
6084 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
6085
6086         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
6087
6088 2001-04-10  Richard Henderson  <rth@redhat.com>
6089
6090         * libgcc2.h (__terminate_func_ptr): Remove typedef.
6091         (__pure_virtual, __terminate, __terminate_set_func,
6092         __default_terminate, __throw_type_match, __empty,
6093         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
6094         __eh_rtime_match, __unwinding_cleanup, __rethrow,
6095         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
6096         Remove prototypes of deleted functions.
6097
6098 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6099
6100         * c-typeck.c (convert_arguments): -Wtraditional now activates
6101         -Wconversion warnings, except for changes in signed-ness.
6102         Detect complex<->int & int<->complex conversions as well.
6103
6104         * invoke.texi (-Wtraditional): Document it.
6105
6106 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6107
6108         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
6109         * flow.c (set_block_for_new_insns): Remove needless cast and
6110         properly check for unset block number.
6111
6112 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
6113
6114         * function.c (purge_single_hard_subreg_set): Only check REGNO if
6115         the subreg was a hard register. Pseudos are left as subregs.
6116
6117 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6118
6119         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
6120         (LIB2ADD_ST): New macro, pass it to mklibgcc.
6121         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
6122         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
6123         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
6124
6125 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
6126
6127         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
6128
6129 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
6130
6131         * output.h (set_block_num): Missed it earlier, remove deprecated
6132         prototype.
6133
6134 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
6135
6136         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
6137         (load_killed_in_block_p): Change bb parameter from int to basic_block.
6138         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
6139         (handle_rd_kill_set): Change bb parameter from int to basic_block.
6140         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
6141         (expr_killed_p): Change bb parameter from int to basic_block, pass
6142         basic_blocks instead of ints as parameters.
6143         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
6144         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
6145         from int to basic_block, pass basic_blocks instead of ints as parms.
6146         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
6147         parameter from int to basic_block, pass basic_blocks instead of ints.
6148         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
6149         (insert_insn_end_bb): Change bb parameter from int to basic_block,
6150         pass basic_blocks instead of ints.
6151         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
6152         basic_blocks instead of ints as parameters.
6153         (pre_delete): Pass basic_blocks instead of ints as parameters.
6154         (hoist_expr_reaches_here_p): Change bb parameter from int to
6155         basic_block, pass basic_blocks instead of ints.
6156         (hoist_code): Pass basic_blocks instead of ints as parameters.
6157         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
6158         Change bb parameter from int to basic_block.
6159         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
6160         (insert_insn_start_bb): Change bb parameter from int to basic_block,
6161         pass basic_blocks instead of ints.
6162         (insert_store): Pass basic_blocks instead of ints as parameters.
6163         (replace_store_insn, delete_store): Change bb parameter from int to
6164         basic_block, pass basic_blocks instead of ints.
6165         (store_motion): Pass basic_blocks instead of ints as parameters.
6166
6167 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
6168
6169         * basic-block.h (set_new_block_for_insns): New Prototype.
6170         (set_block_num): Delete prototype.
6171         * flow.c (set_block_num): Remove obsolete function.
6172         (set_block_for_new_insns): Set BB for single or multiple insns.
6173         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
6174         (process_insn_end_bb): Use set_block_for_new_insns or
6175         set_block_for_insn instead of set_block_num.
6176         (pre_insert_copy_insn): Use set_block_for_new_insns.
6177         (update_ld_motion_stores): Use set_block_for_new_insns.
6178         (insert_insn_start_bb): Use set_block_for_new_insns.
6179         (replace_store_insn): Use set_block_for_new_insns.
6180
6181 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
6182             Jeff Law  <law@redhat.com>
6183
6184         * alias.c (get_addr): Externalize.
6185         (canon_true_dependence): New function. Behaves like true_dependance
6186         except it already assumes a MEM has been canonicalized.
6187         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
6188         * gcse.c (struct ls_expr): Add load/store expressions structure.
6189         (modify_mem_list, canon_modify_mem_list): New variable.
6190         (gcse_main): Initialize & finalize alias analysis. Use enhanced
6191         load motion and store motion if requested.
6192         (alloc_gcse_mem): Allocate space for modify_mem_list array.
6193         (free_gcse_mem): Free the modify_mem_list array.
6194         (oprs_unchanged_p): Use load_killed_in_block_p.
6195         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
6196         (mems_conflict_for_gcse_p): New function.  Don't kill loads
6197         with stores to themselves if its in the load/store expression list.
6198         (load_killed_in_block_p): New function.
6199         (canon_list_insert): New Function.
6200         (record_last_mem_set_info): Keep a list of all instructions which
6201         can modify memory for each basic block.
6202         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
6203         (oprs_not_set_p): Use load_killed_in_block_p.
6204         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
6205         (expr_killed_p): Use load_killed_in_block_p.
6206         (compute_transp): Do not pessimize memory references.
6207         (pre_edge_insert): Update stores for a load motion expression.
6208         (one_pre_gcse_pass): Check loads/stores for extra load motion.
6209         (ldst_entry): Find or create a ldst_expr structure.
6210         (free_ldst_entry): Free memory for an individual item.
6211         (free_ldst_mems): Free entire load/store expression list.
6212         (print_ldst_list): Print debug info.
6213         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
6214         (enumerate_ldsts): Assign integer values to each entry in list.
6215         (first_ls_expr): First expression in the list.
6216         (next_ls_expr): Next expression in the list.
6217         (simple_mem): Check if expression qualifies for ld/st expression list.
6218         (invalidate_any_buried_refs): Remove from expression list if its
6219         used in some other way we dont understand.
6220         (compute_ld_motion_mems): Find all potential enhanced load motion
6221         expression.
6222         (trim_ld_motion_mems): Remove any expressions which are invalid.
6223         (update_ld_motion_stores): Copy store values to registers for loads
6224         which have been moved.
6225         (regvec, st_antloc, num_store): New global statics.
6226         (reg_set_info): Marks registers as set.
6227         (store_ops_ok): Verfies registers expressions are valid in a block.
6228         (find_moveable_store): Look for moveable stores in a pattern.
6229         (compute_store_table): Find stores in a function worth moving, maybe.
6230         (load_kills_store): Check dependance of a load and store.
6231         (find_loads): Find any loads in a pattern.
6232         (store_killed_in_insn): Check if a store is killed in an insn.
6233         (store_killed_after): Check is store killed after an insn in a block.
6234         (store_killed_before): Check is store killed before an insn in a block.
6235         (build_store_vectors): Generate the antic and avail vectors.
6236         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
6237         (insert_store): Add a store to an edge.
6238         (replace_store_insn): Replace a store with a SET insn.
6239         (delete_store): Delete a store insn.
6240         (free_store_memory): Free memory.
6241         (store_motion): Perform store motion.
6242         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
6243         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
6244         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
6245         (f_options): Add gcse-lm and gcse-sm.
6246
6247 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
6248
6249         * i386.c (expand_fp_movcc): Fix condition reversal code.
6250
6251         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
6252         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
6253         (CLASS_MAX_NREGS): Use it.
6254
6255         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
6256         handle properly complex values.
6257         (CLASS_MAX_NREGS): Likewise; update comment.
6258
6259 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
6260
6261         * ia64.c (ia64_flag_schedule_insns2): New variable.
6262         (ia64_override_options): Initialize it.  Clear
6263         flag_schedule_insns_after_reload.
6264         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
6265
6266 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
6267
6268         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
6269         Do not require source to match destination anymore;
6270         Add abort to the nontrivial cases that should be handled by split.
6271         (fix_trunc?fdi): Add SSE case for x86_64.
6272         (floatdi?f): Likewise.
6273         (floatdi?f_sse): New.
6274         (fix_trunc?fdi_sse): New.
6275
6276 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
6277
6278         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
6279         (DEBUG_ARANGES_END_LABEL): Ditto.
6280         (dwarfout_init): Generate length and version fields at the start
6281         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
6282         after the length field.
6283         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
6284         the .debug_aranges info.
6285
6286 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
6287
6288         * i386.c (call, call_value): Make sure that resulting call_insn
6289         does have proper second operand.
6290
6291 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
6292
6293         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
6294         function.  Remove include of sys/cygwin.h.
6295
6296 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
6297
6298         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
6299         (CPP_SPEC): Always search */include/w32api for header files.
6300         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
6301         (LINK_SPEC): Add "cyg" to the library search prefixes.
6302
6303 2001-04-08  Philip Blundell  <philb@gnu.org>
6304
6305         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
6306
6307 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6308
6309         * cpperror.c (print_location): Don't special case <stdin>.
6310         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
6311         WARNING, but we don't check if we're in system headers.
6312         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
6313         * cpplib.c (do_warning): Warn in system headers.
6314
6315 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
6316
6317         * mbchar.c: Include config.h first.
6318
6319 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
6320
6321         * config.gcc: Set default for xmake_file at top, not bottom.
6322         Change places that set xmake_file to "none" to set to the
6323         empty string instead, or remove them entirely if there is no
6324         default xmake_file for this cpu_type.  Remove references to
6325         deleted files.
6326
6327         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
6328         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
6329         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
6330         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
6331         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
6332         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
6333         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
6334         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
6335         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
6336         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
6337         Delete.
6338
6339         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
6340         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
6341         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
6342         config/mips/x-sysv, config/rs6000/x-aix31:
6343         Just set CLIB to -lld or -lmld, as appropriate.
6344
6345         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
6346         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
6347         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
6348         config/mips/x-iris, config/pa/x-pa:
6349         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
6350         OTHER_FIXINCLUDES_DIRS.
6351
6352         * config/i386/x-djgpp: Don't set LN or LN_S.
6353         * config/m88k/x-dolph: Don't define __m88k__.
6354         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
6355         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
6356         * config/i860/fx2800.h: No need to #undef SVR4.
6357
6358         38 x-host fragments remain, 2 x-cpu.
6359
6360 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6361
6362         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
6363
6364 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6365
6366         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
6367
6368 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6369
6370         * configure.in: Add check for lstat.
6371         * configure, config.in: Regenerate.
6372         * cppinit.c (append_include_chain): Make empty path ".".
6373         * cpplib.c (do_line): Don't simplify #line paths.
6374         * cppfiles.c (remove_component_p): New function.
6375         (find_or_create_entry): Acknowledge stat () errors during
6376         path simplification.
6377         (handle_missing_header): Don't simplify paths.
6378         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
6379         the empty path untouched.  Don't leave a trailing '/'.
6380
6381 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
6382
6383         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
6384         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
6385
6386 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6387
6388         * cppfiles.c (open_file): Fail directories silently, but
6389         with an errno of NOENT set.
6390         (read_include_file): Move the common exit code to the sole
6391         caller.  Return an int indicating success or failure.  Let
6392         open_file handle directories.
6393         (stack_include_file): If read_include_file fails,
6394         push a "null" buffer.
6395
6396 2001-04-05  DJ Delorie  <dj@redhat.com>
6397
6398         * function.h (virtuals_instantiated): Declare.
6399         * function.c: (virtuals_instantiated): Make global.
6400         * calls.c (emit_library_call_value_1): Use
6401         virtual_outgoing_args_rtx only if it hasn't been instantiated.
6402         Otherwise, use the stack pointer directly.
6403
6404 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
6405
6406         * i386.c (x86_initialize_trampoline): New global function.
6407         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
6408         (INITIALIZE_TRAMPOLINE): Move offline.
6409         * i386-protos.h (x86_initialize_trampoline): Declare.
6410
6411 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
6412
6413         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
6414         (lea_0): Rename to lea_1.
6415         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
6416         (lea_general_?): Allow SImodes on TARGET_64BIT
6417         (lea_general_?_zext): New patterns.
6418         (call_1, call_1_rex64): Fix.
6419
6420 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
6421
6422         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
6423
6424 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
6425
6426         * i386.c (function_arg): Return constm1_rtx for last argument.
6427         (ix86_expand_prologue): Update gen_call calls.
6428         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
6429         * i386.md (call_pop): Likewise.
6430         (call): Second operand is VOIDmode.
6431         (call_0): Likewise; Support 64bits.
6432         (call_exp): New expander.
6433         (call_1): Get to the sync.
6434         (call_1_exp): New pattern.
6435         (call_value): Support 64bit.
6436         (call_value_exp): New pattern.
6437         (untyped_call): Update gen_call call.
6438         (call_value_pop): Disable for 64bit.
6439         (call_value_0_rex64): New pattern.
6440         (call_value_1_rex64): Likewise.
6441
6442 2001-04-05  Bo Thorsen  <bo@suse.de>
6443
6444         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
6445
6446 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
6447
6448         * i386.md (*andsi_1+3): If used after reload, make sure the operand
6449         satisfies ANY_QI_REG_P.
6450
6451 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
6452
6453         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
6454         ASM_OPERAND.
6455
6456         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
6457         change.
6458
6459 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
6460
6461         * config.gcc: Remove default for xm_file.  Clean up local
6462         machine type handling.  Remove settings of xm_file to
6463         something that doesn't exist.  In the big switch, set xm_file,
6464         don't append to it (the value before the big switch is always
6465         null).  Don't force build_xm_file or host_xm_file to have a value.
6466         * configure.in: Remove default for xm_file.  Do not special
6467         case $cpu/xm-$cpu.h not existing.
6468         * configure: Regenerate.
6469
6470 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
6471
6472         * simplify-rtx.c (simplify_binary_operation): Check for overflow
6473         when folding integer division and modulo operations.
6474
6475 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
6476
6477         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
6478         instead of DWARF2_ADDR_SIZE for EH addresses.
6479         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
6480         EH addresses.
6481
6482 2001-04-04  Richard Henderson  <rth@redhat.com>
6483
6484         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
6485         * config/ia64/t-glibc (LIB2ADDEH): Disable.
6486         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
6487
6488 2001-04-04  Richard Henderson  <rth@redhat.com>
6489
6490         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
6491         * configure: Rebuilt.
6492
6493 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
6494
6495         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
6496         push insns to delete to it instead of deleting them.
6497         (delete_null_pointer_checks): Delete insns from delete_list after
6498         all delete_null_pointer_checks_1 passes are done.
6499
6500 2001-04-04  Richard Henderson  <rth@redhat.com>
6501
6502         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
6503         * configure: Rebuilt.
6504
6505 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
6506
6507         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
6508         * config/romp/xm-romp.h: Delete.
6509
6510 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
6511
6512         * sched-deps.c (sched_analyze_insn): Partially revert March 27
6513         change.
6514
6515 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6516
6517         * emit-rtl.c (mark_label_nuses) Increment the label uses for
6518         all labels present in rtx.
6519         (try_split) Call new function for all split insns.
6520
6521 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
6522
6523         * recog.c (validate_replace_rtx_1): Instead of aborting just make
6524         sure the change won't be validated.
6525
6526 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
6527
6528         * rtl.h (set_noop_p): Declare.
6529         * flow.c (set_noop_p): Move from here ...
6530         * rtlanal.c (set_noop_p): ... to here and enhance.
6531         * cse.c (delete_trivially_dead_insns): Use it.
6532         * gcse.c (hash_scan_set): Likewise.
6533         * jump.c (delete_noop_moves): Likewise.
6534         * recog.c (split_all_insns): Likewise.
6535
6536 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
6537
6538         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
6539         stack pointer via a LO_SUM.  Ditto for setting a temp register
6540         used to save to the stack.  Set cfa_temp when setting fp, and
6541         allow matches to cfa_temp in addition to cfa_store when saving
6542         regs.  Handle POST_INC and LO_SUM register stores.  Document the
6543         changes and errors in rule 12 doco.
6544
6545         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
6546         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
6547         (load_reg): Move closer to epilogue code.
6548         (DO_FRAME_NOTES): Define to control the following..
6549         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
6550         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
6551         notes as necessary.
6552         (hppa_expand_epilogue): Likewise.
6553
6554 2001-04-03  Richard Henderson  <rth@redhat.com>
6555
6556         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
6557         * configure: Rebuild.
6558
6559 2001-04-03  Richard Henderson  <rth@redhat.com>
6560
6561         * rtl.h (LCT_THROW): New.
6562         * calls.c (emit_library_call_value_1): Handle it.
6563         * except.c (connect_post_landing_pads): Use it.
6564
6565 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
6566
6567         * gansidecl.h: Delete file.
6568         * configure.in: Change all refs to gansidecl.h to use
6569         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
6570         lives.
6571         * configure: Regenerate.
6572
6573         * Makefile.in (intl.o): Don't depend on gansidecl.h.
6574         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
6575         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
6576         Don't include gansidecl.h.
6577         * intl.c, main.c, version.c, fixinc/fixlib.h,
6578         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
6579         gansidecl.h.
6580
6581 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
6582
6583         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
6584         Update for 64bit.
6585
6586 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
6587
6588         * config/i386/xm-beos.h, config/i386/xm-isc.h,
6589         config/i386/xm-next.h, config/i386/xm-sco.h,
6590         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
6591         config/m88k/xm-m88k.h: Delete.
6592
6593         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
6594         * config/romp/xm-romp.h: Don't define bcopy.
6595         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
6596         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
6597
6598         * config.gcc: Remove references to deleted files.
6599
6600         14 xm-host.h remain, 1 xm-cpu.h.
6601
6602 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
6603             David S. Miller  <davem@pierdol.cobaltmicro.com>
6604             Andrew MacLeod  <amacleod@redhat.com>
6605
6606         Use byte offsets in SUBREGs instead of words.
6607
6608         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
6609         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
6610         to pass new argument.
6611         (add_stored_regs): Use subreg_regno_offset function.
6612         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
6613         into account.
6614         (precompute_arguments): Use gen_lowpart_SUBREG.
6615         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
6616         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
6617         (simplify_set): Rework to use SUBREG_BYTE.
6618         (expand_field_assignment): Use SUBREG_BYTE.
6619         (make_extraction): Use SUBREG_BYTE.
6620         (if_then_else_cond): Use SUBREG_BYTE.
6621         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
6622         (gen_lowpart_for_combine): Compute full byte offset.
6623         * cse.c (mention_regs): Use SUBREG_BYTE.
6624         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
6625         (canon_hash): Use SUBREG_BYTE.
6626         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
6627         (gen_lowpart_if_possible): Formatting.
6628         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
6629         correctly.
6630         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
6631         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6632         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6633         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
6634         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6635         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6636         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
6637         certain invariants about SUBREGs the compiler creates.
6638         (gen_lowpart_SUBREG): New function.
6639         (subreg_hard_regno): New function to get the final register number.
6640         (gen_lowpart_common): Use SUBREG_BYTE.
6641         (gen_imagpart): Spacing nits.
6642         (subreg_realpart_p): Use SUBREG_BYTE.
6643         (gen_highpart): Use SUBREG_BYTE.
6644         (subreg_lowpart_p): Always compute endian corrected goal offset,
6645         even at the byte level, then compare against that.
6646         (constant_subword): New function, pulled out all constant cases
6647         from operand_subword and changed second argument name to offset.
6648         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
6649         and call constant_subword to do the work.  Return const0_rtx if
6650         looking for a word outside of OP.
6651         (operand_subword_force): Change second arg name to offset.
6652         * expmed.c (store_bit_field): Use SUBREG_BYTE.
6653         (store_split_bit_field): Use SUBREG_BYTE.
6654         (extract_bit_field): Use SUBREG_BYTE.
6655         (extract_split_bit_field): Use SUBREG_BYTE.
6656         (expand_shift): Use SUBREG_BYTE.
6657         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
6658         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
6659         * flow.c (set_noop_p): Use SUBREG_BYTE.
6660         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
6661         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
6662         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
6663         correction code.
6664         (optimize_bit_field): Use SUBREG_BYTE.
6665         (purge_addressof_1): Use SUBREG_BYTE.
6666         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
6667         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
6668         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
6669         * gengenrtl.c (special_rtx): Add SUBREG.
6670         * global.c (mark_reg_store): Use SUBREG_BYTE.
6671         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
6672         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
6673         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
6674         final byte offset is congruent to subreg's mode size.
6675         (subst_constants): Use SUBREG_BYTE.
6676         (mark_stores): Use subreg_regno_offset function.
6677         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
6678         function and SUBREG_BYTE.
6679         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
6680         (reg_is_born): Use subreg_hard_regno.
6681         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
6682         endian correction code.  Don't combine subregs unless resulting
6683         offset aligns with type.  Fix subreg constant extraction for DImode.
6684         Simplify SUBREG of VOIDmode CONST_DOUBLE.
6685         (general_operand): Remove dead mode_altering_drug code.
6686         (indirect_operand): Use SUBREG_BYTE.
6687         (constrain_operands): Use subreg_regno_offset function.
6688         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
6689         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
6690         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
6691         * regs.h (REG_SIZE): Allow target to override.
6692         (REGMODE_NATURAL_SIZE): New macro which target can override.
6693         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
6694         on the entire subreg rtx.
6695         (push_reload): Use SUBREG_BYTE in comments and code.
6696         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
6697         for hard registers inside subregs.
6698         (operands_match_p): Use subreg_regno_offset.
6699         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
6700         containing hard regs.
6701         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
6702         corrections when fixing up MEM subregs.
6703         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
6704         subreg_regno_offset where appropriate.
6705         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
6706         byte endian corrections when fixing up MEM subregs.
6707         (subst_reloads): When combining two subregs, make sure final
6708         offset is congruent to subreg's mode size.
6709         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
6710         (refers_to_regno_for_reload_p): Use subreg_regno.
6711         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
6712         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
6713         correction code for memory subreg fixups.
6714         (forget_old_reload_1): Use subreg_regno_offset.
6715         (choose_reload_regs): Use subreg_regno.
6716         (emit_input_reload_insns): Use SUBREG_BYTE.
6717         (reload_combine_note_store): Use subreg_regno_offset.
6718         (move2add_note_store): Use subreg_regno_offset.
6719         * resource.c (update_live_status, mark_referenced_resources): Use
6720         subreg_regno function.
6721         (mark_set_resources): Use subreg_regno function.
6722         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
6723         (subreg_regno_offset, subreg_regno): Define prototypes.
6724         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
6725         (gen_lowpart_SUBREG): Add prototype.
6726         * rtl.texi (subreg): Update to reflect new byte offset representation.
6727         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
6728         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
6729         (reg_overlap_mentioned_p): Use subreg_regno.
6730         (replace_regs); Make sure final offset of combined subreg is
6731         congruent to size of subreg's mode.
6732         (subreg_regno_offset): New function.
6733         (subreg_regno): New function.
6734         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
6735         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
6736         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
6737         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
6738         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
6739         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
6740         (a29k_get_reloaded_address): Use SUBREG_BYTE.
6741         (print_operand): Use SUBREG_BYTE.
6742         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
6743         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
6744         (arm_reload_out_hi): Use SUBREG_BYTE.
6745         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
6746         instead of SUBREG_WORD.
6747         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
6748         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
6749         SUBREG creation to use byte offset.
6750         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
6751         inverted load insns): Fix explicit rtl subregs to use byte
6752         offsets.
6753         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
6754         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
6755         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
6756         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
6757         to use byte offsets.
6758         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
6759         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
6760         offsets, also make sure it is congruent to SUBREG's mode size.
6761         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
6762         unnamed ldob insn): Generate SUBREGs with byte offset.
6763         (zero_extendqihi2): SUBREG's are byte offsets.
6764         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
6765         (m68hc11_gen_highpart): Use SUBREG_BYTE.
6766         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
6767         zero-extendqisi2): Generate SUBREGs with byte offset.
6768         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
6769         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
6770         subregs in rtl to use byte offsets.
6771         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
6772         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
6773         (mips_move_2words): Use subreg_regno_offset.
6774         (mips_secondary_reload_class): Use subreg_regno_offset.
6775         * config/mips/mips.md (DImode plus, minus, move, and logical op
6776         splits): Fixup explicit subregs in rtl to use byte offsets.
6777         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
6778         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
6779         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
6780         rtl to use byte offsets.
6781         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
6782         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
6783         subregs to use byte offsets.
6784         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
6785         Fixup explicit subregs in rtl to use byte offsets.
6786         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
6787         and remove byte endian correction code.
6788         * config/sh/sh.c (output_movedouble): Use subreg_regno.
6789         (gen_ashift_hi): Use SUBREG_BYTE.
6790         (regs_used): Use subreg_regno_offset.
6791         (machine_dependent_reorg): Use subreg_regno_offset.
6792         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
6793         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
6794         (movdf_i4): Subregs are byte offsets now.
6795         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
6796         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
6797         (REGMODE_NATURAL_SIZE): Override.
6798         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
6799         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
6800         with byte offsets.
6801         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
6802         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
6803         extendqidi2): Generate SUBREGs with byte offsets, also make sure
6804         it is congruent to SUBREG's mode size.
6805         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
6806         offsets.
6807         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
6808         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
6809         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
6810         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
6811         * config/v850/v850.c (print_operand, output_move_double): Use
6812         subreg_regno function.
6813
6814 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
6815
6816         * configure.in (target_subdir): Use target_alias, not target.
6817         * configure: Rebuilt.
6818
6819         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
6820         other way round.
6821         * config/sh/crti.asm: Fix typos in comments.
6822
6823 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
6824
6825         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
6826         TARGET_FAST_INDIRECT_CALLS.
6827         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
6828         -fPIC.  Don't warn.
6829         (return_addr_rtx): Short circuit export stub matching when
6830         TARGET_NO_SPACE_REGS.
6831         (output_millicode_call): For out of range calls, make -fPIC
6832         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
6833         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
6834         * pa.md: Modify length attr calculation of all millicode insns to
6835         match above.
6836
6837 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
6838
6839         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
6840         Require at least 2.11 in the version test.  Specifically check
6841         for and reject GAS version 2.10.90.
6842         * configure: regenerate.
6843
6844 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
6845
6846         * pa.c (override_options): Remove PIC profiling warning.
6847         (hp_profile_labelno): Delete.
6848         (hp_profile_label_rtx): Delete.
6849         (hp_profile_label_name): Delete.
6850         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
6851         (output_function_prologue): Remove profiling code and all tests on
6852         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
6853         merge_sp_adjust_with_store can work for PIC and profiling.
6854         (hppa_expand_epilogue): Remove profile_flag test.
6855         (hppa_can_use_return_insn_p): Likewise.
6856         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
6857         cater for PROFILE_HOOK.
6858         (hppa_profile_hook): New function.
6859         * pa.h (FUNCTION_PROFILER): Now does nothing.
6860         (PROFILE_HOOK): Define.
6861         (hppa_profile_hook): Declare.
6862         (PROFILE_BEFORE_PROLOGUE): Delete.
6863         (ASM_OUTPUT_REG_PUSH): Delete.
6864         (ASM_OUTPUT_REG_POP): Delete.
6865         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
6866         r24.  Accept function name operand, and use this and a locally
6867         generated label to calculate pc-rel offset to func start.
6868
6869 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6870
6871         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
6872         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
6873         $(SYSTEM_H).
6874
6875 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
6876
6877         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
6878         LO_SUM cases to where they belong.
6879
6880 2001-04-02  Richard Henderson  <rth@redhat.com>
6881
6882         * except.h (lang_eh_type_covers): Mark extern.
6883         (lang_eh_runtime_type): Likewise.
6884
6885 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
6886
6887         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
6888         gengenrtl.c:  Wrap generated header in multiple-include guard.
6889         Improve error checking.
6890
6891 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6892
6893         * configure.in: Don't check for putenv.
6894         * configure: Regenerate.
6895         * gcc.c (putenv): Don't define.
6896         * vax/xm-vms.h: Handle putenv.
6897
6898 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
6899
6900         * ifcvt.c (noce_emit_move_insn): New.
6901         (noce_try_store_flag, noce_try_store_flag_constants,
6902         noce_try_store_flag_inc, noce_try_store_flag_mask,
6903         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
6904         noce_try_abs): Use it.
6905         (noce_process_if_block): Likewise.
6906         For STRICT_LOW_PART, take mode from its SUBREG.
6907
6908 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
6909
6910         * fold-const.c (fold): Before optimizing unsigned comparison with
6911         0x7fffffffU, make sure arg0 is integral type.
6912
6913 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
6914
6915         * c-tree.texi: Document representation of wide strings.
6916
6917 2001-04-01  Richard Henderson  <rth@redhat.com>
6918
6919         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
6920
6921 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
6922
6923         * i386.md: remove obsoleted comments.
6924         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
6925         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
6926         fix output template.
6927
6928 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
6929
6930         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
6931
6932 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
6933
6934         * loop.c (load_mems): When generating a load from a pseudo, update
6935         REGNO_LAST_UID.
6936
6937 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
6938
6939         * i386.c (ix86_split_long_move): Use change address to compensate
6940         stack pointer change in push instruction.
6941
6942 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
6943
6944         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
6945         instead of rtx_equal_p; fix the output template.
6946
6947 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
6948
6949         * i386.c (ix86_expand_setcc): Support 64bit.
6950         (ix86_expand_int_movcc): Likewise.
6951         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
6952         New patterns.
6953
6954         * i386.md (allocate_stack_worker): Turn to expander.
6955         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
6956
6957         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
6958
6959 2001-03-29  Richard Henderson  <rth@redhat.com>
6960
6961         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
6962
6963 2001-03-28  Matthew Hiller  <hiller@redhat.com>
6964
6965         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
6966         output template.
6967
6968         * MAINTAINERS: Added self.
6969
6970 2001-03-28  Richard Henderson  <rth@redhat.com>
6971
6972         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
6973         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
6974
6975 2001-03-28  Jim Wilson  <wilson@redhat.com>
6976
6977         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
6978         operand_subword.
6979
6980 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6981
6982         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
6983
6984         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
6985         `error'.
6986
6987         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
6988
6989 2001-03-28  DJ Delorie  <dj@redhat.com>
6990
6991         * Makefile.in (stage1_build): Revert CFLAGS patch.
6992
6993 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
6994
6995         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
6996         when multiplier or multiplicand is zero.
6997
6998 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
6999
7000         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
7001
7002         * config/ia64/ia64.c (update_set_flags): New function, broken out of
7003         rtx_needs_barrier.
7004         (set_src_needs_barrier): Likewise.
7005         (rtx_needs_barrier): For SET case, use these two functions.  Rework
7006         PARALLEL case to handle all inputs before all outputs.
7007         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
7008         saw a label and no stop bit since then.
7009         (maybe_rotate, process_epilogue): Add prototypes.
7010
7011 2001-03-28  Richard Henderson  <rth@redhat.com>
7012
7013         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
7014         not TARGET_TOC for special toc restore handling.
7015         * config/rs6000/rs6000.md (eh_return): Likewise.
7016
7017 2001-03-28  Richard Henderson  <rth@redhat.com>
7018
7019         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
7020         current_function_calls_eh_return.
7021         (output_function_epilogue): Handle eh_return.
7022         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
7023         (EH_RETURN_DATA_REGNO): New.
7024         (EH_RETURN_STACKADJ_RTX): New.
7025         (EH_RETURN_HANDLER_RTX): New.
7026         * config/sparc/sparc.md (call/short branch peepholes): Check
7027         can_throw_internal instead of in_same_eh_region.
7028
7029         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
7030         for eh_return data registers.
7031         (rs6000_emit_prologue): Save eh_return data registers.
7032         (rs6000_emit_epilogue): Force inline restores if eh_return.
7033         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
7034         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
7035         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
7036         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
7037         the target uses one.
7038         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
7039         (return_eh_si, return_eh_di): Remove.
7040         (eh_return): New, from corpse of eh_epilogue.
7041         (eh_set_lr_si, eh_set_lr_di): New.
7042
7043         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
7044         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
7045         True for pic register if current_function_calls_eh_return.
7046         (ix86_expand_epilogue): Change "emit_return" argument into "style".
7047         Handle eh_return requirements.
7048         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
7049         (EH_RETURN_STACKADJ_RTX): New.
7050         * config/i386/i386.md (exception_receiver): Remove.
7051         (eh_return, eh_return_1): New.
7052         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
7053
7054         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
7055         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
7056         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
7057         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
7058         (EH_RETURN_DATA_REGNO): New.
7059         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
7060         * config/alpha/alpha.md (eh_epilogue): Remove.
7061         (exception_receiver): Use $26 for ldgp input.
7062         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
7063
7064 2001-03-28  Richard Henderson  <rth@redhat.com>
7065
7066         * except.c: Rewrite entirely for IA-64 ABI exception handling.
7067         * except.h: Likewise.
7068
7069         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
7070         (LIB2ADDEHDEP): New.
7071         (LIB2FUNCS_EH): Remove.
7072         (LIB2ADD): Remove LIB2ADDEH.
7073         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
7074         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
7075         (crt{begin,end}[S].o): Likewise.
7076         (except.o): Update includes.
7077         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
7078         (libgcc2_c_dep): Use LIB2ADDEHDEP.
7079
7080         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
7081         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
7082         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
7083         * builtins.c (expand_builtin): Implement it.
7084         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
7085         * c-common.c (c_common_nodes_and_builtins): Declare it.
7086         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
7087         * calls.c (libfunc_nothrow): Remove.
7088         (emit_library_call_value_1): Don't call it.
7089         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
7090         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
7091         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
7092         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
7093         (current_funcdef_number): Globalize.
7094         (output_call_frame_info): Emit frame data if an lsda is needed.
7095         Generate augmentation for personality routine.  Don't play with
7096         difference symbols.
7097         (dwarf2out_begin_prologue): Record funcdef_number.
7098         * dwarf2out.h (current_funcdef_number): Declare.
7099         * expr.c (expand_expr): Update for except.h name changes.
7100         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
7101         * expr.h (LTI_throw, LTI_rethrow): Remove.
7102         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
7103         (LTI_eh_rtime_match): Remove.
7104         (LTI_unwind_resume, LTI_eh_personality): Add.
7105         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
7106         * final.c (final): Don't call check_exception_handler_labels,
7107         init_insn_eh_region, or free_insn_eh_region.
7108         (final_scan_insn): Always emit debug labels for
7109         NOTE_INSN_EH_REGION notes.
7110         * flags.h (flag_new_exceptions): Remove.
7111         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
7112         (record_active_eh_regions): Remove.
7113         (count_basic_blocks): Check all instructions for REG_EH_REGION.
7114         Use can_throw_internal.
7115         (find_basic_blocks_1): Likewise.
7116         (move_stray_eh_region_notes): Remove.
7117         (find_label_refs): No eh_return_stub_label.
7118         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
7119         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
7120         changes.
7121         (delete_unreachable_blocks): Don't track deleted handlers.
7122         (flow_delete_block): Use maybe_remove_eh_handler.
7123         (delete_eh_regions): Remove.
7124         (merge_blocks): Don't check for eh region match.
7125         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
7126         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
7127         (init_propagate_block_info): Disable dead frame store optimization
7128         when current_function_calls_eh_return.
7129         (dump_bb): Don't print eh_beg, eh_end.
7130         * function.c (fixup_var_refs): No catch_clauses.
7131         (expand_function_end): Likewise.  Call expand_eh_return before
7132         the return register use.  Call sjlj_emit_function_exit_after.
7133         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
7134         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
7135         * ifcvt.c (dead_or_predicable): Remove eh region check.
7136         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
7137         Don't check for EH vs parameters.
7138         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
7139         (expand_inline_function): Call duplicate_eh_regions.
7140         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
7141         (copy_insn_notes): Remap REG_EH_REGION notes.
7142         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
7143         * integrate.h (struct inline_remap): Add local_return_label.
7144         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
7145         check_exception_handler_labels, nor exception_optimize.
7146         (find_cross_jump): No EH region check.
7147         * optabs.c (init_optabs): Update for changed eh libfuncs.
7148         * rtl.def (RESX): New.
7149         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
7150         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
7151         checks.  Update for except.h name changes.
7152         (expand_cleanups): Likewise.
7153         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
7154         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
7155         (compile_file): Call init_eh before init_optabs.  Don't
7156         output_exception_table here.
7157         (rest_of_compilation): Call convert_from_eh_region_ranges,
7158         convert_to_eh_region_ranges, output_function_exception_table.
7159         Don't emit_eh_context.
7160         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
7161         (EXC_PTR_EXPR): New.
7162
7163         * md.texi (eh_epilogue): Remove.
7164         (eh_return): Document.
7165         * tm.texi (EH_RETURN_DATA_REGNO): Document.
7166         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
7167
7168         * eh-common.h: Remove file.
7169         * frame-dwarf2.c, frame.c, frame.h: Remove files.
7170         * libgcc2.c (L_eh): Remove.
7171
7172         * unwind-dw2-fde.c: New file, largely copied from frame.c.
7173         * unwind-dw2-fde.h: New file.
7174         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
7175         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
7176         * libgcc-std.ver: Update for eh symbols.
7177
7178 2001-03-27  Richard Henderson  <rth@redhat.com>
7179
7180         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
7181         reduce false positives.
7182         (regmove_optimize): Disable if flag_non_call_exceptions.
7183
7184         * stmt.c (expand_return): Remove always true predicate.
7185         (expand_decl_cleanup_no_eh): Remove dead code.
7186
7187         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
7188         barrier code.  Add a scheduling barrier if a non-call insn
7189         can throw internally.
7190
7191         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
7192         Auto-inc addresses trap only if their base register does.
7193
7194         * except.c (can_throw_internal): Rename from can_throw.
7195         * except.h, resource.c: Update references.
7196
7197         * integrate.c (copy_insn_list): Use returnjump_p.
7198         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
7199
7200         * function.h (struct function): Move all boolean valued fields
7201         to single bit fields at the end of the struct.
7202
7203         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
7204         jump.c, toplev.c:
7205         Rename asynchronous_exceptions to flag_non_call_exceptions.
7206
7207         * gthr-single.h (UNUSED): New.  Distinguish between how C
7208         and C++ mark unused function arguments.  Use throughout.
7209
7210         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
7211         value to target configuration header.
7212         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
7213         * config.in, configure: Rebuild.
7214         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
7215         configuration and target defines.
7216         (exceptions_via_longjmp): Remove.
7217         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
7218         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
7219
7220         * except.h (flag_non_call_exceptions): Move ...
7221         * flags.h: ... here.
7222
7223         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
7224         exceptions, put the note on the trapping instruction.
7225
7226         * flags.h (flag_new_exceptions): Remove.
7227         * toplev.c: Don't set it.
7228         * final.c: Don't check it.
7229         * except.c: Provide stub definition.
7230
7231         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
7232         (calculate_global_regs_live): Kill call-clobbered registers
7233         across exception edges.
7234         * reg-stack.c (convert_regs_1): Kill the entire target stack
7235         across non-call exception edges.
7236
7237         * flow.c (cleanup_cfg): Take no argument.
7238         * output.h, sibcall.c, toplev.c: Update all calls.
7239
7240 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7241
7242         * configure.in: Don't check for bcopy.
7243         * configure, config.in: Regenerate.
7244
7245         * system.h: Don't define or prototype bcopy, instead poison it.
7246
7247 2001-03-27  Richard Henderson  <rth@redhat.com>
7248
7249         * function.c (expand_function_start): Set DECL_REGISTER on
7250         a pseudo used for DECL_RESULT.
7251
7252         * rtl.h (LCT_NORETURN): New.
7253         * calls.c (emit_library_call_value_1): Handle it.
7254
7255 2001-03-27  Stan Shebs  <shebs@apple.com>
7256
7257         * objc/objc-act.c (objc_init): Use dump_base_name.
7258         (gen_declaration): Clear the buffer arg.
7259         (gen_declaration_1): New function, body of gen_declaration.
7260         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
7261         (gen_method_decl): Ditto, plus always clear buffer arg.
7262         (error_with_ivar): Simplify.
7263         (warn_with_method): Ditto.
7264         (build_message_expr): Don't clear buffers.
7265         (dump_interface): Ditto.
7266         (objc_debug): Ditto.
7267         (build_keyword_selector): Clear the buffer by only zeroing
7268         the first element.
7269         (objc_implementation_context): Declare.
7270         (start_class): Warn about missing @end.
7271         (finish_objc): Ditto.
7272
7273 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7274
7275         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
7276
7277 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7278
7279         * Makefile.in (SYSTEM_H): Define.
7280         Depend on $(SYSTEM_H), not system.h.
7281
7282         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
7283
7284 2001-03-27  Jim Wilson  <wilson@redhat.com>
7285
7286         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
7287         IA64_UNWIND_EMIT.
7288         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
7289         (process_epilogue): New static function.
7290         (process_set): Call process_epilogue instead of emitting .restore
7291         directly.
7292         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
7293
7294         * flow.c (struct reg_cond_life_info): New fields orig_condition
7295         and stores.
7296         (init_propagate_block_info): Set new fields.
7297         (mark_regno_cond_dead): Set and use new fields.
7298         (flush_reg_cond_reg_1): Likewise.
7299         (and_reg_cond, case AND): Check for redundant AND conditions.
7300         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
7301         Set new fields.
7302
7303 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
7304
7305         * cppmacro.c (stringify_arg): Null terminate strings.
7306
7307 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
7308
7309         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
7310         inclusion style.  xm-m68hc11.h no longer exists.
7311         * config/m68hc11/xm-m68hc11.h: Delete file.
7312         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
7313
7314         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
7315         Don't define GCC_VERSION, N_, or PARAMS; don't include
7316         gansidecl.h or stdio.h.  Define inhibit_libc here.
7317         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
7318         Delete code conditioned on #if GCC_VERSION == 2095.
7319
7320         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
7321         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
7322         Delete code conditioned on #if GCC_VERSION == 2095.
7323
7324 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7325
7326         * system.h: Include symcat.h.
7327         (STRINGIFY): Don't define.
7328
7329         * configure.in: Adjust comment.
7330
7331         * builtins.c: Use STRINGX, not STRINGIFY.
7332         * gencheck.c: Likewise.
7333         * gengenrtl.c: Likewise.
7334         * protoize.c: Likewise.
7335
7336         * cpplex.c: Don't include symcat.h.
7337         * cpplib.c: Likewise.
7338
7339         * gansidecl.h (HAVE_STRINGIZE): Don't define.
7340
7341 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
7342
7343         * c-typeck.c (digest_init): Fold init expression.
7344
7345 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7346
7347         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
7348
7349 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
7350
7351         * except.c (eh_regs): Save results of build_pointer_type to a temp
7352         as FUNCTION_VALUE macro may evaluate its args multiple times.
7353
7354 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
7355
7356         * c-common.h (DECL_NUM_STMTS): New macro.
7357         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
7358         DECL_FRAME_SIZE.
7359         (pushdecl): Likewise.
7360         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
7361         * integrate.c (expand_inline_function): Don't check
7362         DECL_FRAME_SIZE.
7363         * print-tree.c (print_node): Don't print it.
7364         * toplev.c (rest_of_compilation): Don't try to inline when
7365         flag_no_inline is on.
7366         * tree.h (DECL_FRAME_SIZE): Remove.
7367         (tree_decl): Adjust accordingly.
7368
7369 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7370
7371         * combine.c (try_combine): Use memcpy, not bcopy.
7372
7373         * genattrtab.c (expand_units): Likewise.
7374
7375 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
7376
7377         * i386.md (push mem DI peep2): New.
7378         (mov 0, mov -1 peep2): Handle 64bit.
7379         (lea to arithmetics peep2): Handle 64bit leas.
7380         (rsp arithmetics to push/pop peep2s): New.
7381
7382         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
7383
7384 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
7385
7386         * i386.c (struct machine_function): Add save_varrargs_registers.
7387         (ix86_save_varrargs_registers): New macro.
7388         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
7389         (ix86_expand_prologue): Likewise.
7390         (ix86_emit_epilogue_esp_adjustement): Likewise.
7391         (ix86_expand_epilogue): Likewise.
7392         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
7393         (pro_epilogue_adjust_stack_1): New insn.
7394         (pro_epilogue_adjust_stack_rex64): Likewise.
7395         * i386.h (MASK_NO_RED_ZONE): New constant.
7396         (TARGET_RED_ZONE): New macro.
7397         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
7398         (RED_ZONE_SIZE): New constant.
7399         (RED_ZONE_RESERVE): New constant.
7400
7401 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7402
7403         * toplev.c (set_float_handler): Use memcpy, not bcopy.
7404
7405 2001-03-25  Kazu Hirata  <kazu@hxi.com>
7406
7407         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
7408         space.
7409         (modqi3): Likewise.
7410         (umodhi3): Likewise.
7411         (modhi3): Likewise.
7412
7413 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7414
7415         * mkconfig.sh (DEFINES): Handle entries with '='.
7416
7417         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
7418         Set xm_defines to MACRO=value instead.
7419
7420         * i370/xm-mvs.h: Delete.
7421
7422         * ns32k/xm-pc532-min.h: Likewise.
7423
7424 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
7425
7426         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
7427         shiftdi_operand;
7428         use ix86_expand_binary_operator
7429         (?sh??i_?): Disable for 64bit.
7430         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
7431         * i386.c (shiftdi_operand): New predicate.
7432
7433         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
7434         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
7435         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
7436         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
7437         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
7438         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
7439         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
7440         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
7441         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
7442         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
7443         (rotldi3, rotrdi3): New expanders.
7444
7445 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
7446
7447         * i386.md (movstrsi): Move offline.
7448         (movstrdi): New.
7449         (strmovdi_rex64): New.
7450         (strmov?i): Accept 64bit.
7451         (strmov?i_rex64): New.
7452         (strmov?i_rex_1): New.
7453         (strmov?i_1): Disable for 64bit.
7454         (rep_mov?i_rex64): New.
7455         (rep_mov?i): Disable for 64bit.
7456         (clrstrsi): Move offline.
7457         (strset?i_rex64): New.
7458         (strset?i: Accept 64bit.
7459         (rep_stos?i): Disable for 64bit.
7460         (rep_stos?i_rex64): New.
7461         (strset?i_rex_1): New.
7462         (strset?i_1): Disable for 64bit.
7463         (cmpstrsi): Accept 64bit.
7464         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
7465         (cmpstrqi_nz_rex_1): New.
7466         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
7467         (strlensi): Move offline.
7468         (strlendi): New.
7469         (strlenqi_1): Disable for 64bit; fix constraints.
7470         (strlenqi_rex_1): New.
7471         * i386.c (ix86_adjust_counter): New static function.
7472         (ix86_zero_extend_to_Pmode): Likewise.
7473         (ix86_expand_aligntest): Likweise.
7474         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
7475         (ix86_expand_movstr): New global function.
7476         (ix86_expand_clrstr): New global function.
7477         (ix86_expand_strlen): New global function.
7478         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
7479         ix86_expand_strlen): Declare.
7480         (ix86_expand_strlensi_unroll_1): Delete.
7481
7482 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
7483
7484         * i386.md (cmpdi): Fix operand predicates.
7485         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
7486          cmpdi_1_insn_rex64): New patterns.
7487         (adddi3): Turn to expander.
7488         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
7489         (addsi3_carry_zext): New pattern.
7490         (adddi_?_rex64): New patterns and splitters.
7491         (addsi_?_zext): New patterns.
7492         (subsi3_carry_zext): New pattern.
7493         (subdi_?_rex64): New patterns and splitters.
7494         (iorsi_?_zext): New patterns.
7495         (iordi_?_rex64): New patterns and splitters.
7496         (iorsi_?_zext): New patterns.
7497         (iorsi_?_zext_imm): New patterns.
7498         (xorsi_?_zext): New patterns.
7499         (xordi_?_rex64): New patterns and splitters.
7500         (xorsi_?_zext): New patterns.
7501         (negdi*): New patterns.
7502         (one_cmpldi*): Likewise.
7503         (one_cmplsi*_zext, negsi*_zext): Likewise.
7504         (testqi_ext_3_rex64): New pattern.
7505
7506 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
7507
7508         * i386-protos.h (ix86_split_long_move): Return void.
7509         * i386.c (ix86_split_to_parts): Handle 64bit target.
7510         (ix86_split_long_move): Likewise.
7511         * i386.md (all calls to ix86_split_long_move): Update.
7512
7513 2001-03-23  Richard Henderson  <rth@redhat.com>
7514
7515         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
7516         to avoid shadowing arguments.
7517
7518 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
7519
7520         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
7521         to variable names where DECL_NAME is different from
7522         DECL_ASSEMBLER_NAME.
7523
7524 2001-03-23  Jim Wilson  <wilson@redhat.com>
7525
7526         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
7527         (assemble_alias): Call make_decl_rtl.
7528
7529 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
7530
7531         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
7532
7533 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
7534
7535         * extend.texi: Document the "java_interface" attribute.
7536
7537 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
7538
7539         * mkconfig.sh: Use a subshell with redirected stdout,
7540         instead of closing stdout and confusing commands that run
7541         afterward.  Throw away output of cmp.
7542
7543 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
7544
7545         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
7546
7547 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
7548
7549         * i386.md (zero_extendsidi2_32): Break out from ...
7550         (zero_extendsidi2): ... here ; turn to expander.
7551         (zero_extendsidi2_rex64): New.
7552         (extendsidi2_32): Break out from ...
7553         (extendsidi2): ... here ; turn to expander.
7554         (extendsidi2_rex64): New.
7555         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
7556         (trunc?f?f splitters): Add 64bit versions.
7557
7558 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
7559
7560         * i386.md (pushsi, pushsi2_prologue): Disable.
7561         (pushsi2_rex64): New.
7562         (movabs?i_1_rex64, movabs?i_2_rex64): New.
7563         (movqi_ext_1): Disable for 64bit.
7564         (movqi_ext_1_rex64): New.
7565         (pushdi2_rex64): New pattern, peep2s and splitter.
7566         (pushdi2_prologue_rex64): New pattern.
7567         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
7568         Likewise.
7569         (movdi splitters): Disable for 64bit.
7570         (movdi_1_rex64): New pattern, peep2s and splitters.
7571         (swapdi): New pattern.
7572         (pushsf): Disable for 64bit.
7573         (pushsf_rex64): New pattern and splitter.
7574         (pushdf_nointeger): Disable for 64bit.
7575         (pushdf_integer): Handle the 64bit case.
7576         (pushtf): Likewise; update splitters.
7577
7578 2001-03-22  Richard Henderson  <rth@redhat.com>
7579
7580         * mkconfig.sh: Include insn-flags.h.
7581         * Makefile.in (CONFIG_H): Include insn-flags.h.
7582         (lots of objects): Remove insn-codes.h and insn-flags.h.
7583
7584         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
7585         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
7586         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
7587         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
7588         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
7589         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
7590         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
7591         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
7592         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
7593         v850/v850.c, vax/vax.c:
7594         Don't include insn-flags.h.
7595
7596         * diagnostic.c, expr.h, reload.c, toplev.c:
7597         Don't include insn-codes.h.
7598
7599         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
7600         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
7601         c4x/c4x.c, i960/i960.c, mips/mips.c:
7602         Don't include insn-codes.h or insn-flags.h.
7603
7604         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
7605         or insn-flags.h in the generated code.
7606         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
7607         (main): Forward declare struct rtx_def.
7608
7609 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
7610
7611         * invoke.texi (-ffast-math): Remove duplicate line about
7612         __FAST_MATH__.
7613
7614         * gcc.texi: Remove more obsolete documentation of bugs and
7615         installation problems.
7616
7617 2001-03-21  Kazu Hirata  <kazu@hxi.com>
7618
7619         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
7620         into two parts.
7621
7622 2001-03-20  Jason Merrill  <jason@redhat.com>
7623
7624         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
7625         not '.' or '$'.
7626         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
7627         * varasm.c (CHKR_PREFIX): Likewise.
7628
7629 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7630
7631         * gcse.c (hash_scan_set): An expression is not anticipatible if it
7632         is part of a multi-SET insn.
7633
7634         * cse.c (find_comparison_args): Remove previous change.
7635         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
7636         REG_EQUAL notes.
7637
7638         * config/i386/i386.md (conditional_trap): Remove warning.
7639
7640         * recog.c (push_operand): Fix error in last change that caused
7641         undefined symbol on many targets.
7642
7643         * sdbout.c: #include ggc.h.
7644         (sdbout_init): Move to end of file.
7645         Call ggc_add_tree_root for anonymous_types.
7646         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
7647         (sdbout_one_type): Use DECL_NAME for field name.
7648         * Makefile.in (sdbout.o): Show includes ggc.h.
7649
7650 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
7651
7652         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
7653         (override_options): Use properlimits for preferred_stack_boundary.
7654         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
7655         on x86_64.
7656         (ext_register_operand): Accept DImode.
7657         (load_pic_register): Abort on 64bit.
7658         (gen_push): Use Pmode instead of SImode.
7659         (ix86_save_reg): Pic reg is never used on 64bit.
7660         (ix86_expand_prologue): Likewise.
7661         (ix86_emit_save_regs): Use Pmode instead of SImode.
7662         (legitimate_address_p): Check displacement for 64bit.
7663         (print_operand): Avoid outputting of (%rip) on 64bit.
7664         (print_operand_address): Output (%rip) where possible.
7665         (split_di): Abort on 64bit registers.
7666         (ix86_expand_branch): DImode comparison is simple for x86_64.
7667         (memory_address_length): Recognize memory addresses formed using
7668         PRE/POST modify.
7669         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
7670         for x86_64.
7671         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
7672
7673 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
7674
7675         * recog.c (push_operand): Recognize new format of push instructions.
7676
7677 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
7678
7679         * i386.md (pushqi1): New.
7680         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
7681         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
7682         x86_64_immediate_operand, x86_64_immediate_operand,
7683         x86_64_zext_immediate_operand): Declare.
7684         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
7685         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
7686         x86_64_immediate_operand, x86_64_immediate_operand,
7687         x86_64_zext_immediate_operand): define.
7688         * i386.h (PREDICATE_CODES): Add new predicates.
7689
7690 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7691
7692         * i386.md (pophi1, popqi1, pushqi1): Remove.
7693
7694         * expr.c (emit_single_push_insn): New function.
7695         (move_by_pieces): Accept NULL as destination for push instructions.
7696         (gen_push_operand): Kill.
7697         (emit_push_insn): Pass NULL when pushing; avoid updating of
7698         stack_pointer_delta.
7699         * expr.h (gen_push_operand): Kill.
7700
7701 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7702
7703         * rtl.texi (COMPARE): Clarify documentation and reference section
7704         on comparisons.
7705
7706 2001-03-20  Stan Shebs  <shebs@apple.com>
7707
7708         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
7709         (get_object_reference): Ditto.
7710         (error_with_ivar): Use error_with_file_and_line.
7711         (warn_with_method): Use warning_with_file_and_line.
7712
7713 2001-03-20  Tom Tromey  <tromey@redhat.com>
7714
7715         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
7716
7717 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
7718
7719         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
7720         variables that are TREE_PUBLIC, even if not TREE_STATIC.
7721
7722 2001-03-20  DJ Delorie  <dj@redhat.com>
7723
7724         * Makefile.in (install-libgcc): Pass complete list of variables.
7725         (install-multilib): Ditto.
7726
7727 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
7728
7729         * config/i386/cygwin.h: Declare ctor_section, dtor_section
7730         drectve_section, switch_to_section.
7731
7732         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
7733         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
7734         i386_pe_mark_dllimport.
7735
7736 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
7737
7738         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
7739         functions i386_pe_*.
7740
7741         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
7742         i386_pe_* functions with char * arguments.
7743
7744 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
7745
7746         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
7747         and store.
7748         (movsi_ie): Introduce fpul store.
7749
7750 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
7751
7752         * Makefile.in (OBJS): Remove hashtab.o.
7753
7754 2001-03-19  Stan Shebs  <shebs@apple.com>
7755
7756         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
7757         * c-lang.c (maybe_objc_method_name): Ditto.
7758         * c-tree.h (maybe_objc_method_name): Remove decl.
7759
7760 2001-03-19  Tom Tromey  <tromey@redhat.com>
7761
7762         * gcc.c (init_gcc_specs): Fix comment.
7763
7764 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
7765
7766         Compute DECL_ASSEMBLER_NAME lazily.
7767         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
7768         (DECL_ASSEMBLER_NAME_SET_P): New macro.
7769         (SET_DECL_ASSEMBLER_NAME): Likewise.
7770         (COPY_DECL_ASSEMBLER_NAME): Likewise.
7771         (set_decl_assembler_name): Declare.
7772         (lang_set_decl_assembler_name): Likewise.
7773         * tree.c (lang_set_decl_assembler_name): New variab.e
7774         (set_decl_assembler_name): New function.
7775         (init_obstacks): Set lang_set_decl_assembler_name.
7776         (build_decl): Don't set DECL_ASSEMBLER_NAME.
7777         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
7778         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
7779         where it's not necessary.
7780         (builtin_function): Likewise.
7781         (finish_decl): Likewise.
7782         * dbxout.c (dbxout_type_methods): Likewise.
7783         * ggc-common.c (ggc_mark_trees): Likewise.
7784         * profile.c (output_func_start_profiler): Likewise.
7785         * varasm.c (make_decl_rtl): Likewise.
7786
7787         * cse.c (find_comparison_args): Update documentation.  Fix
7788         mishandling of COMPARE operations.
7789
7790         * tree.def (ABS_EXPR): Add documentation.
7791         * fold-const.c (fold): Improve folding of ABS_EXPRs.
7792
7793 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
7794
7795         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
7796
7797 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
7798
7799         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
7800         Remove ia32 linux PIC kludge and move it...
7801         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
7802
7803 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
7804
7805         * i386.md (absdf2 expander): Fix 64bit case.
7806
7807 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
7808
7809         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
7810
7811 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
7812
7813         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
7814
7815 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7816
7817         * README.X11: Remove obsolete file.
7818
7819 2001-03-18  Anthony Green  <green@redhat.com>
7820
7821         * config/pj/pj.h: Remove some trailing commas.
7822         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
7823
7824 2001-03-18  Richard Henderson  <rth@redhat.com>
7825
7826         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
7827         * calls.c: ... here.
7828         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
7829         defaults for them here.
7830
7831 2001-03-17  Anthony Green  <green@redhat.com>
7832
7833         * config/pj/lib1funcs.S: Fix broken comment.
7834         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
7835         labels with '.'.
7836
7837 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
7838
7839         * gcc.texi: Remove obsolete information relating to build and
7840         installation problems with enquire or the Pyramid C compiler.
7841
7842 2001-03-17  Richard Henderson  <rth@redhat.com>
7843
7844         * dwarf2out.c (queue_reg_save): New.
7845         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
7846         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
7847         dwarf2out_reg_save.
7848         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
7849         (cfa, cfa_store, cfa_temp): Make static.
7850         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
7851
7852 2001-03-17  Richard Henderson  <rth@redhat.com>
7853
7854         * integrate.h (struct inline_remap): Add local_return_label.
7855         * integrate.c (expand_inline_function): Initialize it and emit
7856         it after copy_insn_notes.
7857         (copy_insn_list): Don't store local_return_label here.
7858         (copy_insn_notes): New function split out from copy_insn_list.
7859
7860 2001-03-17  Richard Henderson  <rth@redhat.com>
7861
7862         * dwarf2out.c (lookup_filename): Emit .file if the assembler
7863         is generating .debug_line.
7864         (dwarf2out_init): Add main_input_filename to the file table first.
7865         * configure.in (as_dwarf2_debug_line): Test with file number 1
7866         instead of file number 0.
7867
7868 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7869
7870         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
7871         (gen_rtx_combine): Deleted; all references changed as appropriate.
7872         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
7873
7874         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
7875
7876 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
7877
7878         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
7879         variable.
7880
7881 2001-03-16  Jim Wilson  <wilson@redhat.com>
7882
7883         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
7884         then set it to LOC_REG (79) instead of aborting.
7885
7886 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
7887
7888         * gccbug.in:  Remove high priority.
7889
7890 2001-03-16  Richard Henerson  <rth@redhat.com>
7891
7892         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
7893         output with a space instead of deleting it.
7894         * configure: Regenerate.
7895
7896 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
7897
7898         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
7899         handles the gory details of converting an object file into
7900         something that's safe to grep.
7901         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
7902         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
7903         newlines at either end of the string we're looking for.
7904         Make 'checking ...' message less stilted.
7905         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
7906         ARM in-memory layout and its hypothetical converse.  Don't
7907         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
7908         HOST_WORDS_BIG_ENDIAN.
7909
7910         * configure.in: Adjust for renamed macro.  Move
7911         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
7912         * configure, config.in: Regenerate.
7913
7914 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
7915
7916         * fixinc/Makefile.in: Set SHELL.
7917
7918 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
7919
7920         * fixinc/fixincl.c (fix_with_system): Quote file names before
7921         passing them to shell.
7922
7923 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
7924
7925         * Makefile.in: Use fix-header$(build_exeext) instead
7926         of fix-header.
7927
7928 2001-03-16  Richard Henderson  <rth@redhat.com>
7929
7930         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
7931         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
7932         (size_of_line_prolog): Remove.
7933         (output_line_info): Compute prologue size via label difference.
7934         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
7935
7936         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
7937         assembler error when redefining file numbers.
7938         * config.in, configure: Rebuild.
7939
7940         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
7941         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
7942         (dw2_asm_output_delta_uleb128): Likewise.
7943         (dw2_asm_output_delta_sleb128): Similarly.
7944         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
7945
7946 2001-03-16  Michael Meissner  <meissner@redhat.com>
7947
7948         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
7949         warnings.
7950         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
7951         warnings.
7952         (BITMASK_LOWER16): Replacement for 0x0000ffff.
7953
7954         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
7955         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
7956         being unsigned in ISO C and signed in traditional.
7957         (expand_prologue): Ditto.
7958         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
7959
7960         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
7961         warnings.
7962         (divsi3,divdi3): Ditto.
7963         (modsi3,moddi3): Ditto.
7964         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
7965         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
7966         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
7967         warnings.
7968
7969 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
7970
7971         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
7972         SSE based conditional moves on LTGT/UNEQ conditions;
7973         Canonicalize EQ to NE.
7974         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
7975         (sse_mov?fcc_ne): New.
7976
7977         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
7978
7979 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
7980
7981         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
7982         register may be dead.
7983
7984 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
7985
7986         * Makefile.in (hash.o): Depend on CONFIG_H.
7987
7988 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
7989
7990         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
7991
7992 2001-03-15  Richard Henderson  <rth@redhat.com>
7993
7994         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
7995         (ASM_OUTPUT_DWARF_PCREL): New.
7996         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
7997
7998 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
7999
8000         * cppfiles.c (stack_include_file): Use MAX of sysp.
8001
8002 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
8003
8004         * config.gcc (ia64*-*-hpux*): New case.
8005         * config/ia64/hpux.h: New file for HP-UX support.
8006         * config/ia64/t-hpux: New file for HP-UX support.
8007
8008 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
8009
8010         * fixinc/inclhack.def (irix_stdio_va_list): New.
8011         * fixinc/fixincl.x: Rebuilt.
8012
8013 2001-03-15  Richard Henderson  <rth@redhat.com>
8014
8015         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
8016         if provided by the target.
8017         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
8018         (dw2_asm_output_addr): New.
8019         * dwarf2asm.h (dw2_asm_output_addr): Declare.
8020         * dwarf2out.c (output_cfi): Use it for program addresses.
8021         (output_call_frame_info, output_die): Likewise.
8022         (output_aranges, output_line_info): Likewise.
8023
8024 2001-03-15  Bruce Korb  <bkorb@gnu.org>
8025
8026         * gcc.c(main): make more rigorous
8027         * collect2.c(main): guard against ignoring SIGCHLD
8028         * protoize.c(main): ditto
8029         * gcc/fixinc/fixincl.c(initialize): ditto
8030
8031 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
8032
8033         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
8034         (sdbout_parms): Likewise.
8035
8036 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
8037
8038         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
8039         "widen" a destination that is already wider than a word.  Also do
8040         not widen if LOAD_EXTEND_OP is NIL for the given mode.
8041
8042 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
8043
8044         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
8045
8046 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
8047
8048         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
8049
8050 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
8051
8052         * i960.h (i960_maxbitalignment,
8053         i960_last_maxbitalignment): Declare.
8054         * i960.c (i960_maxbitalignment,
8055         i960_last_maxbitalignment): Make global.
8056         (process_pragma): Delete.
8057         (i960_pr_align, i960_pr_noalign): Move from here ...
8058         * i960-c.c: ... to this new file.
8059         * t-960bare (i960-c.o): New rule.
8060         * t-vxworks960 (i960-c.o): Likewise.
8061         * config.gcc (i960-*-*): Define c_target_objs and
8062         cxx_target_objs.
8063
8064 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
8065
8066         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
8067         without adding in rtx code and mode.
8068
8069         * alias.c (init_alias_analysis): Don't use any rtx whose value
8070         varies as a known value.
8071         Delete a superfluous test.
8072
8073         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
8074         ia64_sched_reorder.
8075         (ia64_sched_reorder): Call maybe_rotate; also rotate after
8076         scheduling a stop bit.
8077         (ia64_emit_nops): Correctly handle ASMs.
8078
8079 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
8080
8081         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
8082
8083 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8084
8085         * cpp.texi: Update documentation for -include and -imacros.
8086         * cppfiles.c (struct include_file): Remove "defined" memeber.
8087         (find_or_create_entry): Make a copy of the file name, and
8088         simplify it.
8089         (open_file): Update to ensure we use the simplified filename.
8090         (stack_include_file): Don't set search_from.
8091         (cpp_included): Don't simplify the path name here.
8092         (find_include_file): New prototype.  Call search_from to
8093         get the start of the "" include chain.  Don't simplify the
8094         filenames here.
8095         (_cpp_execute_include): New prototype.  Move diagnostics to
8096         do_include_common.  Update.
8097         (_cpp_pop_file_buffer): Don't set defined.
8098         (search_from): New prototype.  Use the preprocessor's cwd
8099         for files included from the command line.
8100         (read_name_map): Don't simplify the pathname here.
8101         * cpphash.h (enum include_type): New.
8102         (struct buffer): Delete search from.  New search_cached.
8103         (_cpp_execute_include): Update prototype.
8104         * cppinit.c (do_includes): Use _cpp_execute_include.
8105         * cpplib.c (do_include_common): New function.
8106         (do_include, do_include_next, do_import): Use it.
8107
8108 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
8109
8110         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
8111         contents of the RTL, to determine the name of the object.
8112
8113 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
8114
8115         * tree.h (DECL_RTL): Allocate RTL lazily.
8116         (SET_DECL_RTL): New macro.
8117         (DECL_RTL_SET_P): Likewise.
8118         (COPY_DECL_RTL): Likewise.
8119         (DECL_RTL_IF_SET): Likewise.
8120         * varasm.c (make_decl_rtl): Add assertions about the kind of
8121         declaration we are processing.
8122         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
8123         (start_decl): Likewise.
8124         (finish_decl): Likewise.
8125         * c-semantics.c (emit_local_var): Likewise.
8126         * calls.c (expand_call): Likewise.
8127         * dbxout.c (dbxout_symbol): Likewise.
8128         * emit-rtl.c (unshare_all_rtl): Likewise.
8129         (unshare_all_decls): Likewise.
8130         (reset_used_decls): Likewise.
8131         * expr.c (store_constructor): Likewise.
8132         (safe_from_p): Likewise.
8133         (expand_expr): Likewise.
8134         * function.c (put_var_into_stack): Likewise.
8135         (instantiate_decls_1): Likewise.
8136         (assign_parms): Likewise.
8137         (expand_function_start): Likewise.
8138         (expand_function_end): Likewise.
8139         * ggc-common.c (gcc_mark_trees): Likewise.
8140         * integrate.c (function_cannot_inline_p): Likewise.
8141         (copy_decl_for_inlining): Likewise.
8142         (expand_inline_function): Likewise.
8143         (integrate_parm_decls): Likewise.
8144         (integrate_decl_tree): Likewise.
8145         * print-tree.c (print_node): Likewise.
8146         * reg-stack.c (stack_result): Likewise.
8147         * stmt.c (label_rtx): Likewise.
8148         (expand_return): Likewise.
8149         (expand_decl): Likewise.
8150         (expand_decl_cleanup): Likewise.
8151         (expand_anon_union_decl): Likewise.
8152         * toplev.c (check_global_declarations): Likewise.
8153         (rest_of_decl_compilation): Likewise.
8154         * tree.c (simple_cst_equal): Likewise.
8155         * objc/objc-act.c (generate_static_references): Likewise.
8156
8157 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
8158
8159         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
8160         gcc_AC_C_FLOAT_FORMAT): New macros.
8161         * configure.in: Add AC_PROG_CPP after CC tests;
8162         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
8163         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
8164         * configure, config.in: Regenerate.
8165
8166         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
8167         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
8168         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
8169         config/i370/xm-linux.h, config/i370/xm-oe.h,
8170         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
8171         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
8172         config/pa/xm-linux.h, config/pa/xm-pa.h,
8173         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
8174         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
8175         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
8176         config/we32k/xm-we32k.h: Delete.
8177
8178         * config/i370/xm-mvs.h, config/m88k/m88k.h,
8179         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
8180         config/vax/xm-vms.h: Don't define any of:
8181         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
8182
8183         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
8184
8185         * config.gcc: Remove references to deleted files.
8186         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
8187         FATAL_EXIT_CODE, which is the same between oe and mvs).
8188
8189 2001-03-14  DJ Delorie  <dj@redhat.com>
8190             Vladimir Makarov  <vmakarov@redhat.com>
8191
8192         * config/i960/i960.c (i960_function_prologue): Compute size of
8193         frame according to number of registers actually saved there.
8194
8195 2001-03-14  Richard Henderson  <rth@redhat.com>
8196
8197         * expr.c (emit_move_insn_1): Fix else if around #endif.
8198
8199 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
8200                               Vojtech Pavlik
8201
8202         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
8203         constraints.
8204
8205 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
8206
8207         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
8208         (override_options): Parse cmodel string.
8209         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
8210         * i386.h (TARGET_OPTIONS): Add "cmodel".
8211         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
8212         (enum cmodel): New.
8213         (ix86_cmodel_string, ix86_cmodel): Declare.
8214
8215 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
8216
8217         Spot by Matt Kraai:
8218         * i386.h (GENERAL_REG_P): Add missing REG_P.
8219
8220 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
8221
8222         * configure.in: Use $gcc_cv_as instead of $as.
8223         * configure: Regenerated.
8224
8225 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8226
8227         * cppfiles.c (stack_include_file): Only increase the include
8228         count if we actually process the file properly, as opposed
8229         to treating it as length zero.  Only call read_include_file
8230         if not DO_NOT_REREAD.  Handle the -H include file output
8231         here.
8232         (read_include_file): Remove now redundant DO_NOT_REREAD check.
8233         (cpp_included, find_include_file): Simplify pathnames after
8234         remapping them.  If remapping, don't use the remapped file
8235         name's buffer as our scratch buffer.
8236         (cpp_pop_file_buffer): Replace the multiple include macro
8237         only if it isn't yet set.
8238         (read_name_map): Simplify remapped names when reading in.
8239         (remap_filename): Move code to code path that uses it.
8240         (_cpp_simplify_pathname): Return the input pointer.
8241         * cpphash.h (_cpp_simplify_pathname): Update prototype.
8242
8243 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
8244
8245         * expr.c (expand_expr): Revove bogus conditional.
8246
8247 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
8248
8249         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
8250
8251 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
8252
8253         * reg-stack.c (stack_result): Unconditionally use
8254         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
8255
8256 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
8257
8258         * expr.c (emit_move_insn_1):  Split push of complex value when
8259         no suitable push instruction exist.
8260
8261         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
8262         instead of QI_REG_P.
8263
8264 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8265
8266         * alias.c (handled_component_p, can_address_p): New functions.
8267         (get_alias_set): Use them.
8268
8269 2001-03-13  Jim Wilson  <wilson@redhat.com>
8270
8271         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
8272         from 80 in try_locals code.
8273         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
8274
8275 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
8276
8277         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
8278         gcc_AC_C_LONG_LONG): New.
8279         * configure.in: Use them.  Probe the size of short, int, long,
8280         and long long/__int64 if we have them.  Move all the AC_C_*
8281         checks together, except gcc_AC_C_CHAR_BIT which has to go
8282         after AC_CHECK_HEADERS(limits.h).
8283         Take hwint.h out of host_xm_file and build_xm_file.
8284
8285         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
8286         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
8287         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
8288         Move the HOST_WIDEST_INT setup logic here from system.h.
8289         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
8290         defined.
8291         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
8292         is now handled by hwint.h.
8293
8294         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
8295         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
8296         config/ia64/xm-ia64.h: Don't define any of:
8297         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
8298         HOST_BITS_PER_LONGLONG.
8299
8300         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
8301         config/h8300/xm-h8300.h, config/mips/iris6.h,
8302         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
8303         config/sparc/xm-sp64.h: Delete.
8304         * config.gcc: Remove references to deleted files.
8305
8306         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
8307         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
8308         * config/i370/xm-linux.h: Clarify floating-point situation in
8309         a comment.
8310
8311 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8312
8313         * cppfiles.c (NO_INCLUDE_PATH): New macro.
8314         (find_include_file): Decide here which part of the include
8315         chain to start the search.  Complain about an empty include
8316         chain in all cases apart from an abolsute file name.
8317         (_cpp_execute_include): Don't choose the search chain here.
8318         Don't call handle_missing_include in the case of an empty
8319         include chain.
8320         (_cpp_compare_file_date): Don't choose the search chain here.
8321         * cpplib.c (do_include_next): Move the in-main-file diagnostic
8322         here from _cpp_execute_include.  Behave like #include if
8323         we're in the main file.
8324
8325 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8326
8327         * system.h (malloc, realloc, calloc, strdup): Only poison these
8328         tokens when IN_GCC is defined.
8329
8330 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
8331
8332         * i386.md (abs?f expander): Support SSE case.
8333         (abd?f_if): Add new "USE"; add splitters.
8334
8335 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8336
8337         * cpp.texi (poison): Explain the macro expansion exception.
8338
8339 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
8340
8341         * expr.c (store_expr): Add dont_store_target.  If temp is already in
8342         target before copying to reg, don't store it into target again.
8343
8344 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8345
8346         * cppinternals.texi: Update for file handling.
8347
8348 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
8349
8350         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
8351         2001-02-24 which broke building the Java library.
8352         * function.c (identify_blocks): Likewise.
8353         (all_blocks): Likewise.
8354         * integrate.c (integrate_decl_tree): Likewise.
8355         * print-tree.c (print_node): Likewise.
8356         * tree.h (BLOCK_NUMBER): Likewise.
8357         (struct tree_block): Likewise.
8358
8359 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
8360
8361         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
8362         __WCHAR_TYPE__ definition.
8363         (WCHAR_TYPE_SIZE): #undef before #define.
8364
8365 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8366
8367         * cppfiles.c: Update comments.
8368         (destroy_include_file_node): Rename destroy_node.
8369         (find_or_create_entry): New function.
8370         (open_file, _cpp_fake_include): Use it.
8371         (handle_missing_header): New function, broken out of
8372         _cpp_execute include.  Don't segfault if there is no
8373         system or quoted path.
8374         (_cpp_execute_include): Use handle_missing_header.
8375
8376 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
8377
8378         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
8379         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
8380
8381 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8382
8383         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
8384         unless anti_dependence says they are.
8385         * alias.c (objects_must_conflict): If neither has a type specified,
8386         they must conflict.
8387
8388 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8389             David Billinghurst <David.Billinghurst@riotinto.com>
8390
8391         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
8392
8393 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
8394
8395         * i386.md (trunctfdf2_2): Rename missnamed pattern.
8396         (*_one_bit): Remove type on the match_operand in attributes.
8397
8398 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
8399
8400         * i386.c: Commit forgotten hunk in previous patch.
8401         (regclass_map): Add extended registers.
8402         (dbx_register_map): Add missing frame register.
8403
8404 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
8405
8406         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
8407
8408         * i386.md (x86_sahf_1): Disable for 64bit.
8409         (popsi*, pophi*): Likewise.
8410         (pushqi, pushhi): Likewise.
8411         (movdi, pushdi): Likewise.
8412         (zero extend DImode splitter): Likewise.
8413         (adddi, minusdi splitter): Likewise.
8414         (umulsidi): Likewise.
8415         (umulsi): New.
8416         (mulsidi): Disable for 64bit
8417         (lshift:DI/ashift:DI): Disable for 64bit.
8418         (loop patterns): Likewise.
8419         (call_pop, call_value_pop expanders and patterns): Likewise.
8420         (prologue_get_pc): Likewise.
8421         (leave): Likewise.
8422         (fcmovDI pattern and splitter): Likewise.
8423         (movdfcc_1_rex64): New.
8424
8425 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
8426
8427         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
8428         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
8429         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
8430         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
8431         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
8432         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
8433         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
8434         (PUSH_ROUNDING): x86_64 rounds to 64bits.
8435         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
8436         (REGPARM_MAX): Set to 6 for x86_64.
8437         (SSE_REGPARM_MAX): Set to 16 for x86_64.
8438         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
8439         registers.
8440
8441         * (patterns that does use upper halves): Update constraints
8442         'q' to 'Q' and 'r' to 'R'.
8443         (cmpqi_ext_1): Disable for 64bit.
8444         (cmpqi_ext_3_insn): Likewise.
8445         (movqi_extzv_1): Likewsie.
8446         (addqi_ext_1): Liekwsie
8447         (testqi_ext_1): Liekwsie
8448         (andqi_ext_1): Liekwsie
8449         (xorqi_ext_1): Liekwsie
8450         (cmpqi_ext_1_rex64): New.
8451         (cmpqi_ext_3_insn_rex64): Likewise.
8452         (movqi_extzv_1_rex64): Likewsie.
8453         (addqi_ext_1_rex64): Liekwsie
8454         (testqi_ext_1_rex64): Liekwsie
8455         (andqi_ext_1_rex64): Liekwsie
8456         (xorqi_ext_1_rex64): Liekwsie
8457
8458 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
8459
8460         * configure.in: Move check for unsigned enumerated bitfields
8461         to macro in aclocal.m4.  Disable it for now.
8462         * configure, config.in: Regenerate.
8463         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
8464         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
8465         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
8466         kind above its first use.
8467
8468         * config/xm-interix.h, config/alpha/xm-alpha.h,
8469         config/i370/xm-linux.h, config/i386/xm-beos.h,
8470         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
8471         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8472         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
8473         Don't define ONLY_INT_FIELDS under any circumstances.
8474
8475         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
8476
8477         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
8478         config/sparc/xm-sysv4.h: Delete - now identical with some
8479         other xm header.
8480         * config.gcc (hppa targets): Replace xm-pahpux.h and
8481         xm-papro.h with implicit xm-pa.h.
8482         (sparc targets): Replace xm-sysv4.h with implicit or explicit
8483         xm-sparc.h.
8484
8485 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
8486
8487         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
8488         before reload_cse_noop_set_p.
8489
8490 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
8491
8492         * config.gcc: Where xm-host.h used to include another
8493         xm-host.h, list the nested header directly in xm_file.  Remove
8494         references to deleted files.  Can now use sparc/xm-sp64.h for
8495         sparcv9-*-solaris*.
8496
8497         * config/xm-linux.h, config/arm/xm-linux.h,
8498         config/i386/xm-dos.h, config/i386/xm-gnu.h,
8499         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
8500         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
8501         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
8502         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
8503         Delete.
8504
8505         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
8506         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
8507         bother to wrap #undef in #ifdef.
8508         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
8509         Don't include xm-linux.h.
8510         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
8511
8512         * configure.in: Wrap regexps using [] in changequote block.
8513         Use expr : not echo | grep.  Simplify regexps.
8514         * configure: Regenerate.
8515
8516         56 xm-files remain, 22 xm-arch.
8517
8518 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8519
8520         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
8521         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
8522         (local_index, local_rindex): Delete, use strchr/strrchr instead.
8523         (copy_object): Fix format specifier vs argument mismatch.
8524
8525         * mips-tdump.c: Make local functions static.
8526         (rindex): Don't #undef.
8527         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
8528         (fatal, fancy_abort): Delete.
8529         (read_seek): Avoid signed/unsigned compare.
8530
8531 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8532
8533         * combine.c (try_combine): Fix error in change to try original
8534         register.
8535         (gen_rtx_combine): Do same as gen_rtx for now.
8536
8537 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
8538
8539         * configure.in: AC_SUBST xm_defines.
8540         * configure: Regenerate.
8541         * Makefile.in: Set DEFINES=$(xm_defines) when building
8542         tconfig.h.
8543
8544 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8545
8546         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
8547         (cpp_included, find_include_file): Update.
8548         (_cpp_compare_file_date): Make else unconditional.
8549
8550 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
8551
8552         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
8553
8554 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
8555
8556         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
8557         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
8558
8559 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
8560
8561         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
8562         if it's a record type.
8563
8564 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
8565
8566         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
8567         mingw includes slightly.
8568
8569 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8570
8571         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
8572         #undef token before poisoning it.
8573
8574 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8575
8576         * alpha.c (check_float_value): Use memcpy, not bcopy.
8577
8578         * m32r.c (m32r_sched_reorder): Likewise.
8579
8580         * vax.c (check_float_value): Likewise.
8581
8582 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
8583
8584         * toplev.c (file_name_nondirectory): Remove.
8585         * toplev.h: Similarly.
8586         * dwarf2out.c (compute_section_prefix): Use lbasename instead
8587         of file_name_nondirectory.
8588
8589 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8590
8591         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
8592         * mips-tfile.c: Don't #undef rindex; not used.
8593
8594 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
8595
8596         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
8597         (dbx64_register_map): Declare.
8598         (RETURN_ADDR_RTX): Fix for 64bit.
8599         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
8600         (INCOMING_FRAME_SP_OFFSET): Set to 8.
8601         * i386.c (dbx64_register_map): New global array.
8602         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
8603         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
8604         for 64bits.
8605
8606 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
8607
8608         * cppfiles.c (search_from): Use lbasename.
8609         * mkdeps.c (deps_add_default_target): Use lbasename.
8610
8611 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8612
8613         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
8614         xcalloc in lieu of malloc, realloc & calloc.
8615
8616         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
8617
8618         * gengenrtl.c (xmalloc): Likewise.
8619
8620         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
8621         really_call_* memory allocation routines.
8622
8623         * stmt.c (check_for_full_enumeration_handling): Use
8624         really_call_calloc, not calloc.
8625
8626         * system.h (really_call_malloc, really_call_calloc,
8627         really_call_realloc): Define.
8628         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
8629
8630 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
8631
8632         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
8633
8634 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
8635
8636         * configure: Rebuilt.
8637         * configure.in: Only use `lang_requires' for languages athat are
8638         actually enabled.
8639
8640 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8641
8642         * invoke.texi: Fix typo.
8643         * gcc.1: Regenerate.
8644
8645 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
8646
8647         * configure.in: Prune nonexistent files from build_xm_file,
8648         xm_file, and host_xm_file lists.  Warn unless they're
8649         $cpu/xm-$cpu.h.
8650         Don't generate *config.h here.
8651         AC_SUBST all variables needed to generate *config.h.
8652         * configure: Regenerate.
8653         * mkconfig.sh: New helper script, from code removed from
8654         configure.in.
8655         * Makefile.in: Zap all MALLOC variables - no longer used
8656         anywhere, and malloc.c doesn't exist.
8657         Substitute in variables needed to generate *config.h.
8658         Stop lying about the dependencies contained in CONFIG_H and
8659         GCONFIG_H.
8660         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
8661         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
8662         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
8663         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
8664         $(TM_P_H), etc. as appropriate.
8665
8666         * config.gcc: Zap references to deleted files.
8667         * ggc-none.c: Don't include rtl.h or tm_p.h.
8668
8669         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
8670         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
8671         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
8672         config/i386/xm-linux.h, config/i386/xm-linux.h,
8673         config/i386/xm-next.h, config/i386/xm-openbsd.h,
8674         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
8675         Don't include i386/xm-i386.h.
8676
8677         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
8678         config/i386/xm-i386.h, config/i860/xm-i860.h,
8679         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
8680         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8681         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
8682         Delete (empty except comments, #includes of other deleted
8683         files, and macros used nowhere).
8684
8685 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
8686
8687         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
8688         independent on TARGET_FLAGS.
8689
8690 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
8691
8692         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
8693
8694         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
8695         extended ones.
8696         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
8697         TARGET_64BIT.
8698         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
8699         LAST_REX_SSE_REG): define.
8700         (enum reg_class): Add 'LEGACY_REGS'
8701         (REG_CLASS_CONTENTS): Likewise; add extended registers.
8702         (SSE_REGNO_P): Recognize extended registers.
8703         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
8704         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
8705         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
8706         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
8707         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
8708          REG_OK_FOR_STRREG_P): Remove.
8709         (HI_REGISTER_NAMES): Add extended registers.
8710         (ADDITIONAL_REGISTER_NAMES): Likewise.
8711         (QI_REGISTER_NAMES): Add 8bit extended registers.
8712         (DEBUG_REG): Support extended registers.
8713         * i386.c (regclass_map): Add extended registers.
8714         (dbx_register-map): Likewise.
8715         (svr4_dbx_register_map): Likewise.
8716         (print_reg): Support extended registers.
8717         (print_operand): Support 64bit operands.
8718
8719 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
8720
8721         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
8722         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
8723          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
8724          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
8725         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
8726          STACK_BOUNDARY): Set properly for 64bits.
8727         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
8728         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
8729         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
8730         (MOVE_MAX): Set to 16.
8731         (MOVE_MAX_PIECES): 8 for 64bit.
8732         (Pmode): Set to SImode.
8733
8734 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
8735
8736         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
8737
8738 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
8739
8740         * i386.h (mask_64bit): New constant.
8741         (target_64bit): New macro.
8742         (target_options): Add '64'/'32'
8743         (target_default): Define.
8744         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
8745         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
8746         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
8747
8748 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
8749
8750         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
8751
8752 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
8753
8754         * rtlanal.c (rtx_varies_p): Check operand 0 of a
8755         LO_SUM unless for_alias is set.
8756
8757 2001-03-08  Stan Shebs  <shebs@apple.com>
8758
8759         * objc/objc-act.c: Fix old typos in comments, add comments for
8760         various functions.
8761         (hash_init): Fix file name in error message.
8762         (hash_enter): Ditto.
8763         (hash_add_attr): Ditto.
8764         (continue_class): Ditto.
8765
8766 2001-03-08  Bruce Korb  <bkorb@gnu.org>
8767
8768         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
8769         wait4() can receive the signal.
8770
8771 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8772
8773         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
8774         entities.
8775         * fixinc/fixincl.x: Regenerate.
8776
8777 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8778
8779         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
8780         on Tru64 UNIX.
8781         * fixinc/fixincl.x: Regenerate.
8782
8783 2001-03-08  Richard Henderson  <rth@redhat.com>
8784
8785         * configure.in (HAVE_AS_LEB128): New assembler check.
8786         * configure, config.in: Rebuilt.
8787
8788 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
8789
8790         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
8791         TFmode too.
8792
8793 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8794
8795         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
8796         references to the MAXPATHLEN macro.
8797
8798         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
8799         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
8800         the POSIX macro.
8801
8802         * config/i386/xm-gnu.h, config/xm-gnu.h,
8803         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
8804         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
8805         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
8806         and/or unused files.
8807
8808         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
8809         doing so in various xm-*.h files.
8810
8811 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8812
8813         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
8814
8815 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
8816
8817         * configure.in (enable_shared): Support per-package shared-library
8818         enabling.
8819         * configure: Rebuilt.
8820
8821 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
8822
8823         * rs6000.md (cr logic): Add original POWER mnemonic alternative
8824         for crnot.  Set operands[5] in splitter.
8825
8826 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8827
8828         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
8829         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
8830         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
8831         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
8832         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
8833         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
8834         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
8835         to the USG macro.
8836
8837         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
8838         config/i370/xm-i370.h, config/i386/xm-dgux.h,
8839         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
8840         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
8841         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
8842         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
8843         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
8844         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
8845         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
8846         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
8847         Delete unused and/or empty files.
8848
8849         * config.gcc: Define USG in xm_defines as appropriate.  Define
8850         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
8851         macro.  Remove deleted xm-* files from $xm_files variable.
8852
8853 2001-03-07  Tom Tromey  <tromey@redhat.com>
8854
8855         * configure: Rebuilt.
8856         * configure.in: Allow config-lang.in to set `lang_requires' to list
8857         of other required languages.
8858
8859 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
8860
8861         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
8862         after its emitted.
8863         (output_prologue): Use xmalloc not oballoc.
8864         (output_epilog): Free a29k_first_epilogue_insn when finished.
8865         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
8866
8867 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
8868
8869         * builtins.c (expand_builtin_mathfn): Check
8870         flag_unsafe_math_optimizations, not flag_fast_math.
8871         (expand_builtin): Likewise
8872         * combine.c (combine_simplify_rtx): Likewise.
8873         (simplify_if_then_else): Likewise.
8874         * cse.c (fold_rtx): Likewise.
8875         * flags.h: Remove flag_fast_math.  Add
8876         flag_unsafe_math_optimizations and flag_trapping_math.
8877         * fold-const.c (negate_expr): Check
8878         flag_unsafe_math_optimizations, not flag_fast_math.
8879         (invert_truthvalue): Likewise.
8880         (fold): Likewise.  Before associating operands, check that
8881         code == MULT_EXPR, not code != MULT_EXPR.
8882         * ifcvt.c (noce_try_minmax): Check
8883         flag_unsafe_math_optimizations, not flag_fast_math.
8884         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
8885         * invoke.texi: Document -funsafe-math-optimizations and
8886         -fno-trapping-math.  Change documentation for -ffast-math.
8887         * jump.c (reversed_comparison_code_parts): Likewise.
8888         (rtx_equal_for_thread_p): Likewise.
8889         * optabs.c (emit_conditional_move): Likewise.
8890         * simplify-rtx.c (simplify_binary_operation): Likewise.
8891         (simplify_relational_operation): Likewise.
8892         (simplify_ternary_operation): Likewise.
8893         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
8894         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
8895         Add trapping-math and unsafe-math-optimizations entries to f_options.
8896         (set_fast_math_flags): New, sets flags for -ffast-math.
8897         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
8898         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
8899         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
8900
8901         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
8902         (alpha_emit_conditional_move): Initialize local_fast_math to
8903         flag_unsafe_math_optimizations, not flat_fast_math.
8904         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
8905         instead of setting flag_fast_math to 1.
8906         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
8907         not flag_fast_math.
8908         * config/i386/i386.c (override_options): Likewise
8909         * config/i386/i386.md: Likewise.
8910         * config/m68k/m68k.md: Likewise.
8911         * config/mips/mips.md: Likewise.
8912         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
8913         (rs6000_generate_compare): Likewise.
8914
8915 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
8916
8917         * Makefile.in: Set RANLIB to @RANLIB@.
8918         Remove RANLIB_TEST.
8919
8920 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
8921
8922         * fixinc/inclhack.def (djgpp_wchar_h): New test.
8923         * fixinc/fixincl.x: Regenerated.
8924
8925 2001-03-07  Richard Henderson  <rth@redhat.com>
8926
8927         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
8928
8929 2001-03-07  Richard Henderson  <rth@redhat.com>
8930
8931         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
8932         of block notes and exception handling notes.
8933
8934         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
8935         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
8936         (compile_file): ... here.
8937
8938 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8939
8940         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
8941
8942         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
8943         config.h now.  Include libiberty.h to handle alloca.
8944
8945 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
8946
8947         * c-parse.in (yylexname): New function, split out of _yylex.
8948         (objc_rid_sans_at): New table.
8949         (init_reswords): Initialize it.
8950         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
8951         retrieving the next token and checking it for significance as
8952         an ObjC keyword or string constant.
8953
8954         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
8955         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
8956
8957         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
8958         to CPP_OSTRING.
8959
8960 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
8961
8962         * config/m68k/m68k.c (const_uint32_operand): Accept any
8963         const_int on a 32-bit host.
8964
8965 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
8966
8967         * objc/objc-act.c (init_objc): Set save_lang_status,
8968         restore_lang_status, and mark_lang_status.
8969
8970 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
8971
8972         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
8973
8974 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8975
8976         * cppinternals.texi: Update.
8977
8978 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8979
8980         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
8981         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
8982         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
8983         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
8984         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
8985         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
8986         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
8987         config/i386/xm-i386.h, config/i860/xm-i860.h,
8988         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
8989         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
8990         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8991         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
8992         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8993         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8994         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
8995         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
8996         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
8997         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8998         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8999         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
9000         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
9001         match the defaults provided in hwint.h.
9002
9003         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
9004         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
9005
9006         * config.gcc (xm_file): Don't set to files which are deleted.
9007
9008         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
9009         guard this file against these macros being undefined.
9010
9011 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
9012
9013         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
9014         and DECL_DEFER_OUTPUT on the decl we create, before calling
9015         rest_of_decl_compilation.
9016
9017 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
9018
9019         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
9020         AC_FUNC_ALLOCA.
9021         * configure, config.in: Regenerate.
9022         * config.gcc: Remove references to deleted files.
9023
9024         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
9025         genrecog.c, rtl.c: Do not use alloca anywhere.
9026
9027         * Makefile.in, build-make, system.h, config/x-interix,
9028         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
9029         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
9030         config/arc/xm-arc.h, config/arm/xm-arm.h,
9031         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
9032         config/h8300/xm-h8300.h, config/i370/x-oe,
9033         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
9034         config/i386/x-ncr3000, config/i386/x-sco5,
9035         config/i386/xm-dgux.h, config/i860/x-sysv4,
9036         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
9037         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
9038         config/m68k/x-hp320g, config/m69k/x-mot3300,
9039         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
9040         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
9041         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
9042         config/m88k/x-sysv4, config/m88k/x-tekXD88,
9043         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
9044         config/mips/x-iris, config/mips/x-iris3,
9045         config/mips/x-sni-svr4, config/mips/x-sysv,
9046         config/mips/xm-iris6.h, config/mips/xm-mips.h,
9047         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
9048         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
9049         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
9050         config/pa/xm-papro.h, config/romp/xm-romp.h,
9051         config/rs6000/x-aix31, config/rs6000/x-aix41,
9052         config/rs6000/x-beos, config/rs6000/x-lynx,
9053         config/rs6000/x-mach, config/rs6000/x-rs6000,
9054         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
9055         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
9056         config/sparc/x-sysv4, config/sparc/xm-linux.h,
9057         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
9058         config/vax/xm-vms.h: Eradicate all references to alloca and
9059         related stuff.
9060
9061         * config/xm-alloca.h, config/clipper/x-clix,
9062         config/i386/xm-sysv4.h, config/i860/x-fx2800,
9063         config/i860/x-sysv3, config/m88k/x-sysv3,
9064         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
9065         (contained only alloca related hacks).
9066
9067         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
9068         USE_C_ALLOCA.
9069
9070 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
9071
9072         * invoke.texi: Document __FAST_MATH__.
9073
9074 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9075
9076         * crtstuff.c: Restore include of auto-host.h.
9077
9078 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
9079
9080         Put main() in a separate file, so that the language
9081         front-end can use a different main().
9082
9083         * main.c: New.
9084         * toplev.c: (main): Rename as toplev_main.
9085         * toplev.h: Declare toplev_main.
9086         * Makefile.in (OBJS): add toplev.o.
9087           (BACKEND): remove toplev.o, add main.o.
9088
9089 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9090
9091         * cppfiles.c (search_from): Special case the empty string.
9092
9093 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9094
9095         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
9096         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
9097         strlen or strcpy; we already know the length.
9098         (_cpp_compare_file_date): Similarly.
9099         * cpphash.h (struct cpp_reader): Delete done_initialising.
9100         (CPP_PREV_BUFFER): Delete.
9101         * cppinit.c (cpp_start_read): Don't set done_initialising.
9102         * cpplex.c (parse_string): Guarantee null-termination.
9103         (_cpp_equiv_toklists): Remove.
9104         * cpplib.c (glue_header_name): Null-terminate.
9105         (do_line): Don't leak memory.
9106         * cpplib.h (BT_WEAK): Delete.
9107         * cppmain.c (cb_ident): Strings are now null-terminated.
9108
9109 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
9110
9111         * gcc.c (convert_filename): Append executable suffix
9112         if NO_AUTO_EXE_SUFFIX is not defined.
9113         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
9114         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
9115
9116 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
9117
9118         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
9119         * c-parse.gperf, c-gperf.h: Delete.
9120         (c-gperf.h was accidently re-added to the CVS repo in the rev
9121         1.16 commit by tromey)
9122
9123 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9124
9125         * cpplex.c (_cpp_lex_token): Don't warn about directives in
9126         macro arguments when looking for the '('.
9127         * cppmacro.c (funlike_invocation_p): Set parsing_args to
9128         2 when really parsing arguments; 1 when looking for '('.
9129         Always restore the lexer position.
9130
9131 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9132
9133         * longlong.h (umul_ppmm): Don't use a multiline string.
9134
9135 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9136
9137         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
9138         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
9139         t_bool in declaration because pcc can't combine volatile with typedef
9140         types.
9141
9142 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
9143
9144         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
9145         until when it is really needed.
9146         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
9147         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
9148         * i386.md (float?i?f splitter): Don't force source operand to memory
9149         for SSE.
9150         (sse_movdfcc): Fix constraint.
9151         (sse_movdfcc splitter): Handle properly the second alternative.
9152
9153 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9154
9155         * cpplex.c (parse_string): Unconditionally pedwarn.
9156
9157 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9158
9159         * cpp.texi: Update.
9160         * cppexp.c (parse_number): Update.
9161         * cpplex.c (parse_string): Pedwarn if multiline string does not
9162         result from a system header's macro.
9163         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
9164         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
9165         for function-like macros too.
9166         * c-lex.c (lex_number): Update.
9167
9168 2001-03-03  Richard Henderson  <rth@redhat.com>
9169
9170         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
9171
9172 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
9173
9174         * combine.c (try_combine): If split with mode-changed scratch
9175         register didn't work, try the original mode.
9176
9177 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
9178
9179         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
9180         * config/c4x/c4x.h: Likewise.
9181         * stor-layout.c (compute_record_mode): Likewise.
9182         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
9183
9184 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
9185
9186         * configure.in: Kill tm.h.  Include the files in the $tm_file
9187         list in all three of config.h, hconfig.h, tconfig.h, after the
9188         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
9189         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
9190         * configure: Regenerate.
9191         * Makefile.in (clean): Don't delete tm.h.
9192
9193         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
9194         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
9195         those are not defined, set SEC and FEC to 0 and 1.
9196         * gcc.texi: Update to match.
9197
9198         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
9199         * config/fp-bit.c, config/m68k/aux-crt2.asm,
9200         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
9201         Include tconfig.h, not tm.h.
9202
9203         * config/xm-lynx.h, config/xm-std32.h,
9204         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
9205         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
9206         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
9207         config/clipper/xm-clix.h, config/convex/xm-convex.h,
9208         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
9209         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
9210         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
9211         config/i386/xm-i386.h, config/i860/xm-i860.h,
9212         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
9213         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
9214         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
9215         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
9216         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
9217         config/pa/xm-linux.h, config/pa/xm-pa.h,
9218         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
9219         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
9220         config/pj/xm-pj.h, config/romp/xm-romp.h,
9221         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
9222         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
9223         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
9224         config/v850/xm-v850.h, config/vax/xm-vax.h,
9225         config/we32k/xm-we32k.h:
9226         Don't include tm.h.
9227         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
9228
9229         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
9230         config/i370/xm-oe.h: Don't include tm.h.  Don't define
9231         SUCCESS_EXIT_CODE.
9232         * config/vax/xm-vms.h: Don't include tm.h.
9233
9234         * config/xm-lynx.h, config/avr/xm-avr.h,
9235         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
9236         Delete; made empty by above changes.
9237         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
9238         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
9239         Don't include config/xm-lynx.h or tm.h.
9240
9241         * config/xm-gnu.h: Don't include fcntl.h.
9242         * config/sparc/xm-lynx.h: Don't include sys/types.h and
9243         sys/wait.h.
9244         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
9245
9246 2001-03-02  Richard Henderson  <rth@redhat.com>
9247
9248         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
9249         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
9250
9251 2001-03-02  Richard Henderson  <rth@redhat.com>
9252
9253         * Makefile.in (OBJS): Add dwarf2asm.o.
9254         * dwarf2asm.c, dwarf2asm.h: New files.
9255         * dwarf2out.c (*): Use them.
9256         (size_of_uleb128, size_of_sleb128): Remove.
9257         (output_uleb128, output_sleb128): Remove.
9258         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
9259         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
9260         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
9261         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
9262         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
9263         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
9264         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
9265         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
9266         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
9267         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
9268         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
9269         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
9270         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
9271         (dwarf2out_frame_debug): Remove unused variables.
9272         (output_loc_operands): Don't abort on 8 byte constants if
9273         host integers are wide enough.
9274         (output_symbolic_ref): Remove.
9275         (size_of_die): Don't assume 4 byte host integers.
9276         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
9277         and end labels.
9278         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
9279         something stupid with HOST_WIDE_INT to long truncation.
9280         [CONST_DOUBLE]: Likewise.
9281
9282         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
9283         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
9284         * config/arm/unknown-elf.h: Likewise.
9285         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
9286         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
9287         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
9288         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
9289         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
9290         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
9291         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
9292         (ASM_OUTPUT_DWARF_OFFSET): Remove.
9293         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
9294         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9295         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
9296         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
9297
9298 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9299
9300         * cselib.c (hash_rtx): Cast enums to unsigned int.
9301
9302 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9303
9304         * print-rtl.c (print_rtx): Cast enums to int for comparison.
9305         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
9306         shifts.
9307         * c-format.c (C_STD_VER): Cast to int for comparisons.
9308         (check_function_format): Cast various enums to int for &.
9309         (maybe_read_dollar_number): Likewise.
9310         (check_format_info): Likewise.
9311         (check_format_info_main): Likewise.
9312         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
9313         (safe_from_p): Likewise.
9314         * varasm.c (const_hash): Cast enum to int for %.
9315         * emit-rtl.c (init_emit_once): Use int loop variable to work around
9316         pcc enum problems with < and ++ operators.
9317         * regclass.c (init_reg_sets_1): Cast enums for comparison.
9318         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
9319         (regclass_init): Change enum class to int to iterate over reg_classes.
9320         * genrecog.c (merge_trees): Cast enums for comparison.
9321         * rtl.h (GET_CODE): Cast to enum rtx_code.
9322         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
9323         (GET_MODE): Cast to enum machine_mode.
9324         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
9325         (GET_NOTE_INSN_NAME): Cast enum to int.
9326         * tree.h (TREE_CODE): Cast to enum tree_code.
9327         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
9328         * timevar.c (timevar_print): Change loop variable id from enum to
9329         unsigned int.
9330         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
9331         * config/i386/i386.md: Use PUT_MODE for mode assignment.
9332         * toplev.c (compile_file): Cast enum DFI to int.
9333         (decode_d_option): Likewise.
9334
9335 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
9336
9337         * cppinit.c (append_include_chain): Mark "after" include file name list
9338         as a system directory.
9339         * cpp.texi: Document new behavior.
9340
9341 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
9342
9343         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
9344
9345 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9346
9347         * cppfiles.c (struct include_file): Update.
9348         (stack_include_file): Use search_from.
9349         (cpp_included, find_include_file): Update.
9350         (cpp_execute_include): Update.  ptr->name may not be
9351         null terminated.  Use the new search_from member variable
9352         of cpp_buffer.
9353         (_cpp_compare_file_date): Similarly.
9354         (search_from): New function, similiar to actual_directory.
9355         (actual_directory): Delete.
9356         (remap_filename): Update.  loc->name may not be null terminated.
9357         (struct file_name_list): Rename search_path.  Update.
9358         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
9359         search_from and dir.
9360         (struct cpp_reader): Remove actual_dirs.
9361         * cppinit.c (struct cpp_pending): Update for renamed objects.
9362         (append_include_chain, remove_dup_dir, remove_dup_dirs,
9363         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
9364         * cpplib.h (struct cpp_options): Similarly.
9365
9366 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
9367
9368         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
9369         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
9370         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
9371         config/clipper/xm-clix.h, config/convex/xm-convex.h,
9372         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
9373         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
9374         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
9375         config/i370/xm-linux.h, config/i370/xm-mvs.h,
9376         config/i370/xm-oe.h, config/i386/xm-aix.h,
9377         config/i386/xm-i386.h, config/i386/xm-osf.h,
9378         config/i860/xm-i860.h, config/i960/xm-i960.h,
9379         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
9380         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
9381         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
9382         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
9383         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
9384         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
9385         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
9386         config/pj/xm-pj.h, config/romp/xm-romp.h,
9387         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
9388         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
9389         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
9390         config/v850/xm-v850.h, config/vax/xm-vax.h,
9391         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
9392         Do not define TRUE or FALSE.
9393
9394         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
9395         empty by above change.
9396         * config.gcc: Remove references to these files.
9397
9398         * configure.in: Detect stdbool.h.
9399         * configure, config.in: Regenerate.
9400         * system.h: Include stddef.h here if available.
9401         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
9402         Then set up a sensible boolean type at the very end.
9403
9404         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
9405         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
9406
9407         * hash.h: Delete 'boolean' typedef and related #undefs.
9408
9409         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
9410         all uses of 'boolean' with 'bool'.
9411
9412 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9413
9414         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
9415         * cppexp.c (lex): Cast enums for comparison.
9416         * cppinit.c (parse_option): Cast enum for comparison.
9417         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
9418         (cpp_output_token): Likewise.
9419         (cpp_can_paste): Cast enums for comparsion and plus/minus.
9420         (cpp_avoid_paste): Cast enums for minus and comparison.
9421
9422 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
9423
9424         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
9425         field to all array elements.
9426
9427 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
9428
9429         * cpphash.h (struct cpp_reader): Add print_version field.
9430         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
9431         just set print_version and other flags as appropriate.
9432         (cpp_post_options): Print version here if print_version is set.
9433
9434         * toplev.c (exit_after_options): New flag.
9435         (independent_decode_option): Don't exit here; just set
9436         exit_after_options.
9437         (main): Exit after calling lang_hooks.post_options if
9438         exit_after_options is true.
9439
9440         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
9441         (merge_include_chains): Adjust comment to match code.
9442
9443 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
9444
9445         * stringpool.c (set_identifier): New function.
9446         * tree.h: Prototype it.
9447
9448         * c-parse.in: Kill D_YES. If compiled for objc, call
9449         save_and_forget_protocol_qualifiers from init_reswords.
9450         * objc/objc-act.c (remember_protocol_qualifiers,
9451         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
9452         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
9453         vice versa.
9454         (save_and_forget_protocol_qualifiers): New function.
9455         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
9456
9457 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
9458
9459         * c-semantics.c (prune_unused_decls): Return error_mark_node
9460         instead of (tree) 1 to stop traversing the tree chain.
9461
9462 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
9463
9464         Fix a problem introduced by Kenner's Feb 18 change.
9465         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
9466         flag_cse_skip_blocks only temporarily, not for ever.
9467
9468 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
9469
9470         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
9471         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
9472
9473         * pa.c (emit_move_sequence): Verify operand0 is a hard register
9474         before determining its register class.
9475
9476 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
9477
9478         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
9479         from reg 4 if current_function_calls_setjmp.
9480         (gen_nop_type): New function.
9481         (ia64_emit_nops): New function.
9482         (ia64_reorg): Call it.
9483         (ia64_sched_reorder): Move code that rotates bundles up a bit.
9484
9485         * reload1.c (eliminate_regs_in_insn): Restrict the special case
9486         code not to try to optimize adds with anything but a REG destination.
9487
9488         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
9489         (INSN_PRIORITY_KNOWN): New accessor macro.
9490         * haifa-sched.c (priority): Use it instead of testing priority against
9491         zero.
9492
9493 2001-02-28  DJ Delorie  <dj@redhat.com>
9494
9495         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
9496         since that doesn't work the way gcc wants on a generic m68k.
9497
9498 2001-02-28  Richard Henderson  <rth@redhat.com>
9499
9500         * caller-save.c (save_call_clobbered_regs): Fix typo in
9501         comparison last change.
9502
9503 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9504
9505         * i386.c (pentium4_cost): New.
9506         (m_PENT4): New macro.
9507         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
9508         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
9509         x86_integer_DFmode_moves, x86_partial_reg_dependency,
9510         x86_memory_mismatch_stall): Add Pentium4
9511         (x86_use_q_reg, x86_use_any_reg): Kill.
9512         (override_options): Add pentium4.
9513         (incdec_operand): Return 0 for pentium4.
9514         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
9515         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
9516         (TARGET_PENTIUM4): Define.
9517         (enum processor_type): Add PROCESSOR_PENTIUM4.
9518         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
9519         * i386.md (attribute "cpu"): Add pentium4.
9520         * invoke.texi (march): Add pentium4.
9521
9522 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
9523
9524         * i386.md (sse_mov?fcc*): New patterns and splitters.
9525         * i386.c (ix86_expand_movcc): Work post-reload; recognize
9526         the SSE based conditional moves.
9527
9528 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
9529
9530         * i386.md (attribute mode): Add "TI".
9531         (movsf_1): Add pxor support; remove constant propagation splitter.
9532         (movdf_integer): Likewise.
9533         (movdf_nointeger): Likewise.
9534         (movxf constant prop splitter): Handle all modes; update for SSE.
9535         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
9536         * i386.c (standard_80387_constant_p): Rewrite.
9537         (standard_sse_constant_p): New.
9538         * i386-protos.h (standard_sse_constant_p): New.
9539
9540 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
9541
9542         * i386.md (sse_setccsf, sse_setccdf): New.
9543         (sse_cmp* patterns): Use '%D' instead of outputtting condition
9544         flag directly.
9545         * i386.c (sse_comparison_operator): Accept the supported unordered
9546         comparses; be ready for fast_math.
9547         (print_operand): Support 'D'.
9548
9549 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
9550
9551         * jump.c (reversed_comparison_code): Kill.
9552
9553 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
9554
9555         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
9556         for STACK_REGS
9557
9558 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
9559
9560         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
9561         add missing '%' in constraints.
9562
9563 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
9564
9565         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
9566         for HOST_BITS_PER_WIDE_INT == 32 too.
9567
9568 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
9569
9570         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
9571         NREGS.
9572         (insert_save, insert_restore): New parameter save_mode.
9573         (init_caller_save): Update initialization of reg_save_code
9574         and reg_restore_code.
9575         (save_call_clobbered_regs):  Compute save_modes and update calls to
9576         reg_save_code and reg_restore_code.
9577         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
9578         of spill; update use of reg_restore_code.
9579         (insert_save):  Likewise.
9580         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
9581         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
9582         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
9583
9584 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
9585
9586         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
9587         noce_try_store_flag_inc, noce_try_store_flag_mask,
9588         noce_try_cmove_arith):
9589         Use reversed_comparison_code instead of reverse_comparison and
9590         can_reverse_comparison_p.
9591
9592 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
9593
9594         * jump.c (reversed_comparison_code_parts): Allow reversal of
9595         unordered compares in -ffast-math mode; reverse ordered compares
9596         for FP even w/o -ffast-math.
9597
9598 2001-02-27  Richard Henderson  <rth@redhat.com>
9599
9600         * print-rtl.c (print_rtx) [i]: Don't print field five on
9601         NOTEs other than NOTE_INSN_DELETED_LABEL.
9602
9603 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
9604
9605         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
9606         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
9607
9608 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
9609
9610         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
9611         even if walk_subtrees is 0.
9612         * c-semantics.c (prune_unused_decls): Return a non-null value to
9613         stop traversing the tree chain.
9614
9615 2001-02-27  DJ Delorie  <dj@redhat.com>
9616
9617         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
9618         register, *then* define it as the new CFA.
9619
9620 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
9621
9622         * pa.c (override_options): Promote -fpic to -fPIC.
9623         (legitimize_pic_address): Simplify due to removal of
9624         small PIC as a code generation option.
9625         (secondary_reload_class): Similarly.
9626         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
9627         (PRINT_OPERAND_ADDRESS): Similarly.
9628         * pa.md (various patterns): Similarly.
9629         (small pic lo_sum pattern): Remove.
9630
9631 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
9632                               Fergus Henderson
9633
9634         * md.texi (min, max): Document
9635
9636 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
9637
9638         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
9639         TARGET_PARTIAL_REG_DEPENDENCY.
9640         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
9641
9642 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
9643
9644         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
9645
9646 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
9647
9648         * mips.c (mips_make_temp_file): Fix thinko in last change.
9649
9650 2001-02-26  Jason Eckhardt  <jle@redhat.com>
9651
9652         * combine.c (known_cond): Do not reverse the condition when
9653         SMAX/UMAX is being considered and the condition is for equality
9654         or inequality.
9655
9656         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
9657
9658 2001-02-26  Philip Blundell  <philb@gnu.org>
9659
9660         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
9661         "armv2-*-linux".
9662         * config/arm/linux-elf.h: Remove historical relics related to
9663         above configurations.
9664         * config/arm/linux-oldld.h: Delete.
9665         * config/arm/linux-elf26.h: Delete.
9666
9667 2001-02-26  Jason Merrill  <jason@redhat.com>
9668
9669         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
9670         definitions.
9671         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
9672         recognize a tentative definition.  Lose obsolete code.
9673
9674         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
9675         variables unless necessary, either.
9676
9677 2001-02-25  Richard Henderson  <rth@redhat.com>
9678
9679         * ifcvt.c (struct noce_if_info): Add test_bb.
9680         (noce_get_alt_condition): New.
9681         (noce_try_minmax, noce_try_abs): New.
9682         (noce_operand_ok): New.
9683         (noce_process_if_block): Use them.
9684         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
9685
9686 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
9687
9688         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
9689         include.
9690
9691 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
9692
9693         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
9694         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
9695         properly.
9696         (mips_asm_file_end): Free temp_filename here.
9697
9698 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9699
9700         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
9701         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
9702
9703         * config/i386/i386.md (movstrsi): Handle FAIL case.
9704
9705 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
9706
9707         * cppinit.c (builtin_array): Update.
9708         (init_builtins): Flag builtins to warn if redefined or
9709         undefined.  Define __GXX_WEAK as a normal macro.
9710         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
9711         * cpplib.h (NODE_WARN): New flag.
9712         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
9713         Handle __STDC__ as a builtin only on Solaris.
9714         (warn_of_redefinition): Renamed from check_macro_definition.
9715         Reverse sense of test.  Always warn if NODE_WARN.
9716         (_cpp_create_definition): Use warn_of_redefinition.  Flag
9717         any macro beginning with "__STDC_" to require a mandatory
9718         warning if redefined or undefined.
9719
9720 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
9721
9722         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
9723         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
9724         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
9725         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
9726         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
9727         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
9728         Don't define any of:
9729         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
9730         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
9731         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
9732         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
9733         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
9734
9735         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
9736         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
9737         definitions.
9738
9739         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
9740         Delete now-empty file.
9741
9742         * alpha/vms.h: Define NEED_ATEXIT here...
9743         * alpha/xm-vms.h: ...not here.
9744
9745         * i386/cygwin.h: Don't define PARAMS.
9746         * mips/mips.c: Don't prototype mktemp.  Don't define
9747         P_tmpdir.  Use make_temp_file to create temporary files.
9748         Don't be clever and delete temporary files early.
9749         * config.gcc: Drop references to deleted files.  Don't define
9750         FULL_PROTOTYPES.
9751         * gcc.texi: Don't mention USE_PROTOTYPES.
9752
9753 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9754
9755         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
9756         (ix86_set_move_mem_attrs_1): Likewise.
9757         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
9758         * config/i386/i386.md (movstrsi): Call it.
9759
9760 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
9761
9762         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
9763         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
9764         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
9765         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
9766
9767         (i750a-*-*): Error here if hosting on i750a.
9768         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
9769
9770         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
9771         Remove (empty modulo comments).
9772
9773         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
9774         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
9775         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
9776         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
9777         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
9778         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
9779
9780         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
9781         Remove reference to winnt.h in comment.
9782         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
9783
9784 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9785
9786         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
9787         used to set another biv.
9788
9789 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9790
9791         * tree.h (BLOCK_DEAD): New macro.
9792         (struct tree_block): New flag, dead_flag.
9793         * print-tree.c (print_node, case 'b'): Print missing fields.
9794         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
9795         * function.c (identify_blocks): Enable test for misplaced notes.
9796         (all_blocks): Skip BLOCK_DEAD blocks.
9797         * integrate.c (integrate_decl_tree): Likewise.
9798
9799         * errors.c (internal_error, trim_filename): New functions.
9800         (fancy_abort): Call internal_error.
9801         * errors.h (internal_error, trim_filename): New declarations.
9802
9803 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
9804
9805         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
9806         2000-08-26's patch.
9807         (EXTRA_CONSTRAINT): Formatting changes.
9808
9809 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9810
9811         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
9812
9813 2001-02-23  Per Bothner  <per@bothner.com>
9814
9815         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
9816         so they can be called from java/jvspec.c.
9817         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
9818
9819 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
9820
9821         * i386.c (ix86_frame): New structure.
9822         (ix86_compute_frame_size): Kill.
9823         (ix86_compute_frame_layout): New.
9824         (ix86_save_reg): New.
9825         (ix86_can_use_return_insn_p): Use frame layout stuff.
9826         (ix86_expand_prologue): Likewise.
9827         (ix86_expand_epilogue): Likewise.
9828         (ix86_initial_elimination_offset): Likewise.
9829         (ix86_nsaved_regs): Use ix86_save_reg.
9830         (ix86_emit_save_regs): Likewise.
9831
9832 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
9833
9834         * flow.c (find_sub_basic_blocks): New function.
9835         (split_block): Be ready for basic block introduced by CODE_LABEL.
9836         (commit_one_edge_insertion): Call find_sub_basic_block.
9837
9838         * flow.c (make_edges): Add edge from entry for blocks starting with
9839         label having ALTERNATE_NAME
9840
9841 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9842
9843         * function.c (epilogue_done): Be ready for first basic block not
9844         containing PROLOGUE_END note.
9845         (reposition_prologue_and_epilogue_notes): Avoid placing
9846         PROLOGUE_END note between BASIC_BLOCK.
9847
9848 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
9849
9850         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
9851
9852 2001-02-21  DJ Delorie  <dj@redhat.com>
9853
9854         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
9855         check for current_function_has_nonlocal_goto from 1999-11-12.
9856
9857 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9858
9859         * diagnostic.c (trim_filename): No longer static.
9860         * toplev.h (trim_filename): Declare.
9861         * rtl.c (rtl_check_failed_bounds): Call internal_error.
9862         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
9863         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
9864         (rtvec_check_failed_bounds): Likewise.
9865         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
9866
9867         * convert.c (convert_to_integer): Don't do unsigned unless result or
9868         both inputs are unsigned.
9869
9870         * fold-const.c (fold_convert): Don't call size_int_type_wide if
9871         input overflows.
9872
9873         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
9874
9875         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
9876
9877 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
9878
9879         * Makefile.in (resource.o): Add params.h dependence.
9880         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
9881         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
9882         * resource.c: Add dependence on params.h.
9883         (current_live_regs): Fix explanatory comment.
9884         (find_basic_block): Add new parameter to permit limiting search
9885         for a BARRIER.
9886         (mark_target_live_regs): Add new argument to find_basic_block call.
9887         (incr_ticks_for_insn): Likewise.
9888
9889 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
9890
9891         * diagnostic.c (output_to_stream): Rename to
9892         output_buffer_to_stream. Loses the stream parameter.
9893         (init_output_buffer): Set diagnosic_buffer's stream.
9894         (flush_diagnostic_buffer): Adjust.
9895         (default_print_error_function): Likewise.
9896         (finish_diagnostic): Likewise.
9897         (verbatim): Likewise.
9898
9899         * diagnostic.h (struct output_buffer): Add `stream' field.
9900         (output_buffer_attached_stream): New macro.
9901
9902 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
9903
9904         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
9905         check if either operand is divisible by C.
9906         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
9907         If type is signed, consider negative numbers as well.
9908
9909 2001-02-22  Richard Henderson  <rth@redhat.com>
9910
9911         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
9912         reach .text instead of gp-relative relocs.
9913         * config/ia64/crtend.asm (.init): Likewise.
9914
9915 2001-02-22  Andreas Jaeger  <aj@suse.de>
9916
9917         * extend.texi (C++ Attributes): Fix typo.
9918
9919 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
9920
9921         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
9922         functions, drop current_function_args_info.words test.
9923         (ia64_compute_frame_size): Mark syscall_linkage functions as
9924         using eight input registers.
9925
9926 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
9927         Bruce Korb  <bkorb@gnu.org>
9928
9929         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
9930         * fixinc/README: Document how to convert sed substitutions
9931         to format style c_fix-es.
9932         * fixinc/fixincl.x: regen
9933
9934 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
9935
9936         * gcc.c: Add comment explaining how to add a command-line option.
9937         Add title to specs language comment.
9938
9939 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
9940
9941         * gcc.c (cc1_options): Add "-param".
9942         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
9943         (option_map): Likewise.
9944         * toplev.c (display_help): Add entry for "--param".
9945         (independent_decode_option): Fix typographical error.
9946
9947 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
9948                               Bernd Schmidt  <bernds@redhat.com>
9949                               Jan Hubicka  <jh@suse.cz>
9950
9951         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
9952         (function_arg): Likewise.
9953
9954 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
9955
9956         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
9957
9958 2001-02-21  Kazu Hirata  <kazu@hxi.com>
9959
9960         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
9961         character.
9962         (xorsi3): Likewise.
9963
9964 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
9965
9966         * flow.c (init_propagate_block_info): Canon address and use single_set
9967         for killing dead memory stores.
9968
9969 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
9970
9971         * Makefile.in (reorg.o): Add params.h dependence.
9972         * params.def: Fix typographical error in comment.
9973         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
9974         * params.h: Modify introductory comment.
9975         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
9976         * reorg.c: Add dependence on params.h.
9977         (redundant_insn): Add parameterized throttle for search.
9978         (fill_simple_delay_slots): Add a comment explaining a variable.
9979         Move conditional out of loop, simplifying code.
9980         (fill_eager_delay_slots): Fix typographical error in comment.
9981
9982 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
9983
9984         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
9985
9986         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
9987         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
9988
9989 2001-02-21  Jason Merrill  <jason@redhat.com>
9990
9991         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
9992         (struct tree_decl): Add uninlinable bitfield.
9993         * c-decl.c (duplicate_decls): Set it.
9994         * integrate.c (function_cannot_inline_p): Check it.
9995
9996         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
9997         DW_AT_MIPS_linkage_name to abstract methods.
9998         (dwarf2out_abstract_function): Emit class context before calling
9999         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
10000         (gen_subprogram_die): Remove obsolete code.
10001         (gen_member_die): Don't include clones in the member list.
10002         (gen_decl_die): Emit abstract info for clone origin.
10003         * dwarfout.c (output_type): Don't include clones in the member list.
10004         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
10005         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
10006         DECL_ABSTRACT on a function that already has it set.
10007
10008         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
10009         (get_subprogram_die): Pass it in.
10010
10011 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
10012
10013         * flow.c (mark_set_1): Make not_dead unsigned long.  For
10014         non-pseudos, use it as a bitmask of the hard regs that
10015         don't die.
10016
10017 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
10018
10019         * cppfiles.c: Update comments.
10020         (_cpp_read_file): Don't check for NULL filenames any more.
10021         * cppinit.c (cpp_start_read): Don't do canonicalization of
10022         in_fname and out_fname.  Use the passed file name exclusively.
10023         (_cpp_handle_options): Don't treat "-" as a command line option,
10024         but as a normal filename.
10025         (_cpp_post_options): Canonicalize in_fname and out_fname.
10026         * cppmain.c (printer_init): Don't check out_fname for NULL.
10027         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
10028         (init_c_lex): Update, and use "" to represent stdin to CPP.
10029         (yyparse): Update.
10030
10031 2001-02-20  Will Cohen  <wcohen@redhat.com>
10032
10033         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
10034         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
10035         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
10036         fixunstfsi_libfunc.
10037
10038 2001-02-20  Stan Shebs  <shebs@apple.com>
10039
10040         * config/rs6000/rs6000.c (output_cbranch): Output branches
10041         on separate lines instead of using ';' to separate.
10042
10043 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10044
10045         * cppinit.c (set_lang):  Move builtin handling to...
10046         (init_builtins): ...here.
10047         (_cpp_create_reader): Move call to set_lang.
10048
10049 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
10050
10051         * stmt.c (expand_return): If an attempt is made to return the
10052         error_mar_node, treat the return like a return without a value.
10053
10054 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
10055
10056         * sibcall.c (skip_copy_to_return_value): Call
10057         identify_call_return_value here, and return orig_insn if it
10058         returns zero.  Hardret and softret arguments now unnecessary.
10059         (call_ends_block_p): Don't call identify_call_return_value here.
10060
10061         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
10062         's' slots in RTXen.
10063         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
10064         * ggc.h (ggc_mark_if_gcable): Delete prototype.
10065
10066 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
10067
10068         * pa.c (move_operand): Accept code to load the address of a
10069         symbol out of the DLT as a valid move operand.
10070         (print_operand, case 'A'): New to handle generating a DLT
10071         reference for a LO_SUM expression.
10072         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
10073         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
10074
10075 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
10076
10077         * README, cpp.texi, gcc.texi, version.c: Update version number to
10078         3.1.
10079         * cpp.1, gcov.1, gcc.1: Regenerate.
10080
10081 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10082
10083         * cppfiles.c (stack_include_file): Generate dependencies
10084         here, and manage include_count here too.
10085         (PRINT_THIS_DEP): Delete.
10086         (_cpp_execute_include): Do not generate dependencies here,
10087         apart from the case of a missing header.  Do not manage
10088         include_count.
10089         (_cpp_read_file): Leave dependency generation to
10090         stack_include_file.
10091
10092 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
10093
10094         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
10095         target_cpu_default.  Remove dead assignment to
10096         target_cpu_default.
10097
10098 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
10099
10100         * regclass.c (contains_reg_of_mode): Make global.
10101         (init_reg_sets): Remove contains_reg_of_mode; take into account
10102         CLASS_MAX_NREGS when looking for the proper mode.
10103         (dump_regclass): Dump only classes considered for the pseudo.
10104         (regclass): Use contains_reg_of_mode.
10105
10106 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
10107
10108         * gcc.c (do_spec_1): 'n' for printing notices.
10109         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
10110
10111 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
10112
10113         * reg-stack.c (next_flags_user): Use current_block->end
10114         (swap_rtx_condition): Look for next user if flags don't die;
10115         give up on CALL_INSNs; use current_block->end.
10116
10117 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10118
10119         * sibcall.c (call_ends_block_p): New function.
10120         (optimize_sibling_and_tail_recursive_call): Use it.
10121
10122 2001-02-18  Kazu Hirata  <kazu@hxi.com>
10123
10124         * config/h8300/h8300.md: Update copyright.
10125         (andsi3): Do not output an extra newline character.
10126
10127 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10128
10129         * toplev.c (note_deferral_of_defined_inlined_function): Argument
10130         FNDECL may be unused.
10131
10132         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
10133         follow jumps after first run.
10134         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
10135         it doesn't change any jumps.
10136
10137 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
10138
10139         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
10140         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
10141         (mostlyclean): Corresponding changes.
10142         * rtlanal.c (hard-reg-set.h): Include.
10143         (rtx_unstable_p): Do not treat the argument pointer specially
10144         if it is not a fixed register.
10145         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
10146
10147 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10148
10149         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
10150         against last real insn in basic block.
10151         Rework to avoid gotos.
10152
10153         * Makefile.in (gcse.o): Now includes ggc.h.
10154         * gcse.c: Include ggc.h.
10155         (want_to_gcse_p): Verify expression can be in SET as valid insn.
10156         (try_replace_reg): Remove warning of uninitialize variable.
10157         (process_insert_insn): Call invalid_insn_p to validate insn.
10158         * recog.c (insn_invalid_p): Now global.
10159         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
10160         * recog.h (insn_invalid_p): New declaration.
10161
10162         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
10163
10164         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
10165         assignments from FP constants since 'Y' output code can't handle it.
10166         (eligible_for_sibcall_delay): Likewise.
10167
10168         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
10169         Call fancy_abort directly, passing args.
10170         (print_rtl_and_abort): Now a macro, like fancy_abort.
10171
10172         * final.c (output_operand_lossage): Use internal_error, not error.
10173
10174 2001-02-18  Shane Nay  <shane@agendacomputing.com>
10175
10176         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
10177         structure shift insns.
10178
10179 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
10180
10181         * invoke.texi (-fsquangle): Remove documentation.
10182         (-fname-mangling-version): Likewise.
10183
10184 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
10185
10186         * optabs.c (expand_abs): Remove reference to
10187         HAVE_contitional_arithmetic.
10188         * combine.c (simplify_set): Likewise.
10189
10190 2001-02-18  Richard Henderson  <rth@redhat.com>
10191
10192         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
10193         would be disrupted.
10194
10195 2001-02-18  Richard Henderson  <rth@redhat.com>
10196
10197         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
10198
10199         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
10200
10201         * reload1.c (reload_cse_simplify_set): Fix typo.
10202
10203 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10204
10205         * diagnostic.c (_fatal_insn): Decrement errorcount.
10206
10207         * invoke.texi (-I): Add note avoiding use for system header files.
10208
10209         * rtl.h (add_clobbers): Remove duplicate declaration.
10210         * recog.h (added_clobbers_hard_reg_p): New declaration.
10211         * genemit.c (struct clobber_pat): New field has_hard_reg.
10212         (gen_insn): Record if added clobbers clobber hard reg.
10213         (gen_split): Avoid unused warning if number of operands is 0.
10214         (output_added_clobbers_hard_reg_p): New function.
10215         (main): Call it.
10216
10217 2001-02-18  Alan Modra <alan@linuxcare.com.au>
10218
10219         * pa.c (hppa_expand_prologue): Simplify code storing return
10220         pointer.  For large (>=8k) frames with a post_store, adjust stack
10221         pointer by 8k-64 first rather than by 64.  When testing with
10222         VAL_14_BITS_P, always use the actual value rather than the value
10223         negated.  Add blockage to prevent scheduling of spills before
10224         stack frame has been created.
10225         (hppa_expand_epilogue): Simplify code loading return pointer.
10226         Allow a slightly larger range for merge_sp_adjust_with_load case.
10227         When testing with VAL_14_BITS_P, always use the actual value.
10228
10229         * pa.c (pa_adjust_insn_length): Check that block move
10230         pattern is a set before looking at operands.
10231
10232 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
10233
10234         * fold-const.c (fold_binary_op_with_conditional_arg): New
10235         function, split out from ...
10236         (fold): ... here.
10237         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
10238         conditional arms that throw exceptions.
10239
10240         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
10241         looking at a BLOCK.
10242
10243 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10244
10245         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
10246         define HAVE_DECL_* to 1 to mask potential backup declarations.
10247         * configure: Regenerated.
10248
10249 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
10250
10251         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
10252
10253 2001-02-17  Richard Henderson  <rth@redhat.com>
10254
10255         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
10256         when replacing a memory load with a register.
10257
10258 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10259                           Jan Hubicka  <jh@suse.cz>
10260
10261         * recog.c (validate_replace_src_1): New.
10262         (validate_replace_src_data): Likewise.
10263         (validate_replace_src): Use note_uses.
10264         * rtl.h (note_uses): Declare.
10265         * rtlanal.c (note_uses): New.
10266
10267 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
10268
10269         * reg-stack.c (stack_def): Make field reg unsigned.
10270         (remove_regno_note): Unsignetize parameter.
10271
10272 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
10273
10274         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
10275         shladd_operand() call.
10276
10277 2001-02-16  Bruce Korb  <bkorb@gnu.org>
10278             Rodney Brown  <RodneyBrown@mynd.com>
10279
10280         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
10281         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
10282         machine restrictions
10283         * fixinc/fixincl.x: regen
10284
10285 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10286
10287         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
10288         Don't CSE a nop.
10289         (hash_scan_insn): Clean up calls to hash_scan_set.
10290         (compute_kill_rd): REGNO now unsigned.
10291         (try_replace_reg): Rework to use simplify_replace_rtx.
10292         (cprop_jump, cprop_cc0_jump): Likewise.
10293         (cprop_insn): Call find_reg_equal_equiv_note.
10294         Reflect changes to cprop_jump and cprop_cc0_jump.
10295
10296         * recog.c (validate_replace_src): Replace in operands of
10297         ZERO_EXTRACT in SET_DEST.
10298
10299         * cse.c (new_label_ref): New variable.
10300         (insert): Set it instead of recorded_label_ref.
10301         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
10302         CODE_LABEL for this function, and not already in REG_LABEL note.
10303
10304 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
10305
10306         * resource.c (mark_referenced_resources): Fix typo in introductory
10307         comment.
10308         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
10309         string constant.
10310
10311 2001-02-16  Jason Merrill  <jason@redhat.com>
10312
10313         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
10314         NULL.
10315         (gen_subprogram_die): Don't abort on seeing a second definition if
10316         the previous one was abstract.  Don't replace an abstract instance
10317         in the lookup table.
10318
10319         * dwarf2out.c (dwarf2out_abstract_function): Rename from
10320         gen_abstract_function.
10321         * dwarf2out.h: Declare it.
10322         * toplev.c (note_outlining_of_inline_function): New fn.
10323         * toplev.h: Declare it.
10324         * integrate.c (output_inline_function): Call it.
10325         * c-decl.c (duplicate_decls): Call it when redefining an extern
10326         inline.  Don't inline the new defn.
10327
10328         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
10329
10330 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10331
10332         * .gdbinit: Rename to gdbinit.in.
10333         * gdbinit.in: New file,
10334         * configure.in: Generate .gdbinit from gdbinit.in.
10335         * configure: Regenerated.
10336         * Makefile.in (distclean): Always remove .gdbinit.
10337
10338 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
10339
10340         * objc/objc-act.c (start_class): Register implemented_classes with
10341         GC.
10342
10343 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10344
10345         * cppfiles.c (_cpp_make_system_header): Generate a file
10346         change callback.
10347
10348 2001-02-15  Jim Meyering  <meyering@lucent.com>
10349
10350         * Makefile.in (install-common): Don't depend on installdirs here.
10351         Instead, make each of the lang.install-common targets (e.g.,
10352         c++.install-common in cp/Make-lang.in) depend on it.
10353         (install-driver): Depend on installdirs.
10354
10355 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10356
10357         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
10358
10359         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
10360         do in memory.
10361
10362 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
10363
10364         * invoke.texi (--param): Document.
10365
10366 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
10367
10368         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
10369
10370 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
10371
10372         * i386.md (extendsfdf2_2): Fix constraints.
10373
10374 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
10375
10376         * i386.md (fop_df_3 splitter): Fix operand number.
10377
10378 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
10379
10380         * invoke.texi (-mreg-alloc): Nuke.
10381         * i386.c (ix86_reg_alloc_order, regs_allocated,
10382         order_regs_for_local_alloc): Nuke.
10383         (override_options): Kill reg_alloc code.
10384         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
10385         (REG_ALLOC_ORDER): SSE goes before I387.
10386         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
10387         (ix86_reg_alloc_order): Likewise.
10388         * i386-protos.h (ix86_reg_alloc_order): Kill.
10389
10390 2001-02-14  Richard Henderson  <rth@redhat.com>
10391
10392         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
10393
10394 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
10395
10396         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
10397
10398 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
10399
10400         * i386-protos.h (ix86_memory_move_cost): Move offline.
10401         * i386.c (ix86_register_move_cost): Compute properly cost of
10402         SSE, MMX and i387 instructions.
10403         (*_cost): Add costs of SSE/MMX moves.
10404         (ix86_memory_move_cost): Move offline from ....; Likewise.
10405         * i386.h (MEMORY_MOVE_COST): .... here;
10406         (struct processor costs): Add new fields to represent costs
10407         of SSE/MMX moves.
10408
10409 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
10410
10411         * regclass.c (init_reg_sets_1): Reinstall the optimization of
10412         move_cost together with Matt Kraai's fix.
10413
10414 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
10415
10416         * Makefile.in (OBJS): Add params.o.
10417
10418 2001-02-14  Richard Henderson  <rth@redhat.com>
10419             DJ Delorie  <dj@redhat.com>
10420
10421         * jump.c (jump_optimize_1): When we delete a conditional jump
10422         preceeding a non-conditional jump to effectively the same place,
10423         make sure that the combined jump skips any clobber insns between
10424         the two labels.
10425
10426 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
10427
10428         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
10429
10430 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
10431
10432         * Makefile.in (toplev.o): Depend on params.h.
10433         (intergate.o): Likewise.
10434         (params.o): New target.
10435         * flags.h (inline_max_insns): Remove.
10436         * integrate.c: Include params.h.
10437         Use MAX_INLINE_INSNS instead of inline_max_insns.
10438         * params.c: New file.
10439         * params.h: Likewise.
10440         * params.def: Likewise.
10441         * toplev.c: Include params.h.
10442         (lang_independent_params): New variable.
10443         (decode_f_option): Use the param machinery instead of setting
10444         max_inline_insns.
10445         (independent_decode_option): Handle "--param name=value".
10446         (main): Register language-independent parameters.
10447
10448 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
10449
10450         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
10451
10452 2001-02-14  Richard Henderson  <rth@redhat.com>
10453
10454         * regclass.c (init_reg_sets_1): Revert last two changes.
10455
10456 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
10457
10458         * stor-layout.c (is_pending_size, put_pending_size): New functions.
10459         (variable_size): Call put_pending_size.
10460         * tree.h (is_pending_size, put_pending_size): Add prototypes.
10461         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
10462         sizes list, put newly created SAVE_EXPR there as well.
10463
10464 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
10465
10466         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
10467         (errata_find_address_regs): load_group has only 2 entries.
10468         (errata_emit_nops): Likewise.  shladd is not problematic.
10469         Clear last_group if nop was emitted.
10470         (fixup_errata): load_group has only 2 entries.
10471         Optimize.
10472
10473 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10474
10475         * c-lex.c (lex_number): Only warn traditionally for U suffix
10476         outside system macros.
10477         * cppexp.c (parse_number): Similarly.
10478         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
10479         * cppmacro.c (struct cpp_macro): New member node.
10480         (parse_args): Only warn about missing rest args if not
10481         a system macro.
10482         (funlike_invocation_p): Similarly for uninvoked funlike macros.
10483         (cpp_sys_objmacro_p): New.
10484         (_cpp_create_definition): Store the node with the macro defn.
10485         Remember if the macro is defined in a system header.
10486
10487 2001-02-13  DJ Delorie  <dj@redhat.com>
10488
10489         * configure.in (check_languages): determine languages to check
10490         * Makefile.in (check-c++): alias for check-g++
10491         (check-f77): alias for check-g77
10492         (CHECK_TARGETS): depend on configured languages
10493
10494 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
10495
10496         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
10497         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
10498         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
10499         (sqrtextendsfdf2): Disable for SSE2.
10500
10501 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
10502
10503         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
10504         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
10505         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
10506         (sqrtextendsfdf2): Disable for SSE2.
10507
10508 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
10509
10510         * i386.md (movsfcc_1): Support integer cmove instruction.
10511         (movdfcc_1): Likewise; new splitter.
10512
10513 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
10514
10515         * i386.c (output_fp_compare): Support SSE.
10516         (prepare_fp_compare_args): SSE comparisons always support memory.
10517         * i386.h (TARGET_CMOVE): SSE imply cmove.
10518         * i386.md (cmp?f2): Enable for SSE too.
10519         (cmpfp_i*): Support SSE.
10520         (cmpfp_i_sse): New.
10521         (cmpfp_i_sse_only): New.
10522         (s*, b* fp expanters): Enable for SSE too.
10523         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
10524         New patterns.
10525
10526 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
10527
10528         * regclass.c (init_reg_sets_1): Silence warning.
10529
10530 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
10531
10532         * i386.md (sqrt?f2): Change to expander.
10533         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
10534
10535 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10536
10537         * rtlanal.c (find_reg_equal_equiv_note): New function.
10538         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
10539         (simplify_gen_relational, simplify_replace_rtx): Likewise.
10540         * rtl.h: Add declarations for above functions.
10541
10542 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
10543
10544         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
10545         conditionals.
10546         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
10547         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
10548         * flow.c (mark_regs_live_at_end): Likewise.
10549         (calculate_global_regs_live): Likewise.
10550         * gcse.c (compute_hash_table): Likewise.
10551         (compute_kill_rd): Likewise.
10552         * resource.c (mark_target_live_regs): Likewise.
10553         * rtl.h (INVALID_REGNUM): New macro.
10554
10555 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
10556
10557         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
10558
10559 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
10560
10561         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
10562         for SSE.
10563
10564 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
10565
10566         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
10567         too.
10568         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
10569         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
10570         (fop_sf_1_sse, fop_df_1_sse): New patterns
10571         (fop_*): Disable float_extend and float patterns for SSE compilation.
10572         * i386.c (output_387_binary_op): Support SSE.
10573
10574 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
10575
10576         * i386.md (dummy_extendsfdf2): Support SSE2
10577         (extendsfdf2): Enable if 80387 or SSE2.
10578         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
10579         and no MIX_I387_SSE2
10580         (extendsfdf2_1_sse_only): New pattern.
10581         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
10582         of SSE.
10583         (truncdfsf2_1): Support SSE.
10584         (truncdfsf2_2): Support SSE.
10585         (truncdfsf2_2_1_sse): New pattern.
10586         (fixtruncsfsi2): Always use SSE if available.
10587         (fix_truncsfsi_sse): New pattern.
10588         (fix_truncdfsi_sse): New pattern.
10589         (floatsis?f2): Support SSE.
10590         (floatsidf2_i387): New pattern.
10591         (floatsidf2_sse): Likewise.
10592
10593 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10594
10595         * configure.in: Use "have_gnat" variable, not "gnat".
10596         * configure: Regenerated.
10597
10598         * config/sparc/sparc.c (function_value): Treat all non-record
10599         aggregate types like used to treat UNION_TYPE.
10600
10601 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
10602
10603         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
10604         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
10605         (MASK_SSE2): New.
10606         (MASK_MIX_SSE_I387): New.
10607         (TARGET_SSE): SSE2 imply SSE.
10608         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
10609         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
10610         (enum reg_class): Add new classes.
10611         (REG_CLASS_NAMES): Likewise.
10612         (REG_CLASS_CONTENTS): Likewise.
10613         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
10614         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
10615         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
10616         (CLASS_MAX_NREGS): Use new macros.
10617         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
10618         * i386.md (pushsf, movsf): Support SSE.
10619         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
10620         splitters to use ANY_FP_REGNO_P.
10621         (movdf_nointeger, movdf_integer): Likewise.
10622
10623 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
10624
10625         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
10626         (try_combine): Use it.
10627
10628 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
10629
10630         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
10631         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
10632         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
10633         (REGISTER_MOVE_COST): Likewise.
10634         * i386-protos.h (ix86_secondary_memory_needed,
10635         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
10636         * i386.c (ix86_secondary_memory_needed,
10637         ix86_preferred_reload_class, ix86_register_move_cost): New function.
10638
10639 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
10640
10641         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
10642         (HARD_REGNO_MODE_OK): Move offline to ....
10643         * i386.c (ix86_hard_regno_mode_ok) ... here;
10644         refuse all incorrect modes.
10645         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
10646
10647 2001-02-13  Richard Henderson  <rth@redhat.com>
10648
10649         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
10650         entire operator; replicate that and match_dup the operands.
10651         (cmp_ccx_arith_op_set): Likewise.
10652         (cmp_cc_arith_op_not_set): Likewise.
10653         (cmp_ccx_arith_op_not_set): Likewise.
10654
10655 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
10656
10657         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
10658
10659 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
10660
10661         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
10662         (TARGET_NO_BITFIELD_WORD): New macro.
10663         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
10664         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
10665
10666 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10667
10668         * cselib.c: New file, from simplify-rtx.c.
10669         * simplify-rtx.c: Remove cselib parts.
10670         * Makefile.in: Add cselib.o.
10671
10672 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
10673
10674         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
10675         (setup_incoming_varargs): Remove warning.
10676
10677         * config/rs6000/rs6000.c (validate_condition_mode): When
10678         flag_fast_math, allow floating-point conditionals to be reversed.
10679         (rs6000_generate_compare): When flag_fast_math, don't generate
10680         cror operations for FP conditionals.
10681
10682         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
10683         -mcall-i960.
10684         (ASM_SPEC): Likewise.
10685         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
10686         (CC1_SPEC): Likewise.
10687         (LINK_TARGET_SPEC): Likewise.
10688         (CPP_ENDIAN_SPEC): Likewise.
10689         * Makefile.in (check-consistency): New target.
10690
10691 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
10692
10693         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
10694         "return type defaults" warning for functions with return type
10695         defaulting to int.
10696         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
10697         function declarations by default rather than only when pedantic.
10698
10699 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
10700
10701         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
10702         arrays.
10703
10704 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
10705
10706         * extend.texi (Deprecated): Deprecate new initializer lists.
10707
10708 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
10709
10710         * mkdeps.c (deps_add_default_target): Robustify. Add
10711         basename component only.
10712         * cpp.texi (-M): Describe how default target is generated.
10713         * invoke.texi (-M): Likewise.
10714
10715 2001-02-12  Kazu Hirata  <kazu@hxi.com>
10716
10717         * toplev.c (push_float_handler): Remove.
10718         (pop_float_handler): Remove.
10719         * toplev.h: Remove prototypes for the above functions.
10720
10721 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
10722
10723         * c-common.c (constant_fits_type_p): New function.
10724         (convert_and_check): Use it.
10725
10726 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
10727
10728         * Makefile.in (GXX_ABI_FLAG): Don't define.
10729         * configure.in (--enable-new-gxx-abi): Remove option.
10730         * config.in: Regenerated.
10731         * configure: Likewise.
10732
10733 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
10734
10735         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
10736         basic block.
10737         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
10738         regular basic block, and arrange for all edges into it to switch
10739         to normal mode.
10740
10741 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10742
10743         * Makefile.in (distclean): Do not remove .gdbinit.
10744
10745 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
10746
10747         * Makefile.in (gcc.o): Fix typos.
10748         (protize.o): Likewise.
10749         (unprotoize.o): Likewise.
10750
10751 2001-02-11  Richard Henderson  <rth@redhat.com>
10752
10753         * tree.c (build1): Check for null operand in last change.
10754
10755 2001-02-11  Richard Henderson  <rth@redhat.com>
10756
10757         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
10758         (fold): Don't assume a constant isn't foldable.
10759         * tree.c (build): Set TREE_CONSTANT for an expression with no
10760         side-effects and constant operands.
10761         (build1): Likewise.
10762
10763 2001-02-10  Richard Henderson  <rth@redhat.com>
10764
10765         * jump.c (squeeze_notes): Revert 2000-05-12 change.
10766
10767 2001-02-10  Anthony Green  <green@redhat.com>
10768
10769         * cpp.texi (Standard Predefined): Add documentation for
10770         __OPTIMIZE_SIZE__.
10771
10772         * c-common.c (combine_strings): Improve warning message.
10773
10774 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
10775
10776         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
10777         --oformat.
10778         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
10779
10780 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
10781
10782         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
10783         CYGWIN_CROSS_DIR.
10784
10785 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
10786
10787         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
10788         fp_mode attribute.
10789
10790 2001-02-09  Nick Clifton  <nickc@redhat.com>
10791
10792         * config/arm/arm.md: Change output contraint on post inc
10793         load/store multiple patterns to be a read/write contraint.
10794
10795 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10796
10797         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
10798         .o files when using the -M options.
10799
10800 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10801             David Edelsohn  <edelsohn@gnu.org>
10802
10803         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
10804         handle DImode constants.  Use one TOC entry for SImode and smaller
10805         constants, aligned properly.
10806
10807 2001-02-08  Jason Merrill  <jason@redhat.com>
10808
10809         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
10810         about the SP adjustment for saving the static chain pointer.
10811         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
10812         offset when setting a temporary CFA register.
10813
10814 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
10815
10816         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
10817         powerpc-*-chorusos* .
10818         * config/rs6000/chorus.h : New file.
10819         * config/i386/chorus.h : New file.
10820         * config/sparc/chorus.h : New file.
10821         * config/sparc/t-chorus-elf : New file.
10822
10823 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
10824
10825         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
10826         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
10827         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
10828         (__WCHAR_TYPE__): Correct macro name.
10829
10830 2001-02-08  Richard Henderson  <rth@redhat.com>
10831
10832         * config/i386/i386.c (ix86_frame_pointer_required): New.
10833         (ix86_setup_frame_addresses): New.
10834         (struct machine_funciton): Add accesses_prev_frame.
10835         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
10836         ix86_frame_pointer_required.
10837         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
10838         (SETUP_FRAME_ADDRESSES): New.
10839         * config/i386/i386-protos.h: Update.
10840         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
10841         from FRAME_POINTER_REQUIRED.
10842         * config/i386/svr3gas.h: Likewise.
10843         * config/i386/sysv3.h: Likewise.
10844         * config/i386/v3gas.h: Likewise.
10845
10846 2001-02-08  Richard Henderson  <rth@redhat.com>
10847
10848         * config/sparc/sparc.c (function_arg_record_value_3): Fix
10849         calculation of the number of integer registers required.
10850         (function_arg_record_value): Likewise.
10851
10852 2001-02-08  Jason Merrill  <jason@redhat.com>
10853
10854         * diagnostic.c (internal_error): Say "confused" after 1 error, not
10855         two.  Print file and line with "confused" message.
10856
10857         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
10858
10859 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10860
10861         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
10862
10863 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
10864
10865         * final.c (cleanup_subreg_operands): The address of a MEM can
10866         contain SUBREGs.
10867
10868         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
10869         for asms, too.
10870
10871 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
10872
10873         * gcc.texi (Incompatibilities): Update documentation of
10874         preprocessing numbers.
10875
10876 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
10877
10878         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
10879
10880 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
10881
10882         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
10883
10884         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
10885         * gcc.c (struct compiler): Add cpp_spec field.
10886         (input_file_compiler): New variable.
10887         (do_spec_1): Allow a particular compiler to handle `%C'
10888         specially.
10889         (main): Store the current compiler in input_file_compiler.
10890         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
10891
10892 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
10893
10894         * cpphash.h (struct spec_nodes): Add n_true and n_false.
10895         * cppinit.c (cpp_create_reader): Initialize them.
10896         (append_include_chain): cxx_aware arg might be unused.
10897         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
10898         keywords and give them their phase 7 meaning.  Pedwarn about
10899         this unless '__bool_true_false_are_defined' is defined.
10900
10901 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
10902
10903         * lcm.c (optimize_mode_switching): Emit mode_set before the
10904         JUMP_INSN of an abnormal edge.
10905
10906 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
10907
10908         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
10909         a scheduling barrier at the end.
10910
10911         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
10912
10913 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
10914
10915         * config/sh/sh.md (reload_outsf): Removed.
10916         (movsf_ie): Introduce constraints for FPUL loads and stores.
10917         (reload_insf): Broaden the output constraint.
10918
10919         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
10920         defined.
10921         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
10922         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
10923
10924 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
10925
10926         * final.c: Revert my previous changes.
10927         * output.h: Make profile_label_no extern.
10928         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
10929         for generating label.
10930
10931 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
10932
10933         * config/i386/djgpp.h: Add comments about standard paths.
10934         (MD_EXEC_PREFIX): Undefine before defining.
10935         (MD_STARTFILE_PREFIX): New.
10936
10937 2001-01-30  Bruce Korb  <bkorb@gnu.org>
10938
10939         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
10940         (load_file): do not rely on load_file_data() to close file pointer
10941         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
10942         fixinc/inclhack.def(irix_limits_const): add test_text
10943
10944 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10945
10946         * cppexp.c (parse_defined): Improve diagnostics for invalid
10947         syntax.
10948
10949 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10950
10951         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
10952
10953 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
10954
10955         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
10956         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
10957         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
10958         (rs6000_output_symbol_ref): New function.
10959         (output_toc): Use VTABLE_NAME_P.
10960
10961 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10962
10963         * print-tree.c (print_node, case PARM_DECL):
10964         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
10965
10966         * stor-layout.c (reference_types_internal): New variable.
10967         (internal_reference_types): New function.
10968         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
10969         * tree.h (internal_reference_types): New declaration.
10970
10971         * cse.c (find_best_addr): Fix typo in computing cost.
10972
10973 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10974
10975         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
10976         and this is the sum of a pointer and a constant, we know the result
10977         did not overflow.
10978         (num_sign_bit_copies, case PLUS): Likewise.
10979         * explow.c (convert_memory_address): Remove opposite SUBREG.
10980         * function.c (instantiate_new_reg): New function (from common code).
10981         (instantiate_virtual_regs_1): Call it.
10982         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
10983         if pointers sign- or zero-extend.
10984         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
10985         If pointers extend unsigned, use inside of SUBREG.
10986         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
10987
10988 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
10989
10990         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
10991         subdir of gcc_gxx_include_dir.
10992         (gcc_gxx_target_include_dir): Remove.
10993
10994 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
10995
10996         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
10997         (dwarf2out_frame_debug_expr): Revise introductory comments to add
10998         a high-level description.
10999
11000 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
11001
11002         * final.c: Move the declaration of profile_label_no to ...
11003         * output.h: ... here.
11004         * function.c (expand_function_start): Call PROFILE_HOOK.
11005         * config/rs6000/aix.h: Define PROFILE_HOOK.
11006         * config/rs6000/rs6000-protos.h: output_profile_hook new.
11007         * config/rs6000/rs6000.c (output_profile_hook): Define.
11008         (output_prolog): Do nothing for ABI_AIX as it is taken care by
11009         output_profile_hook.
11010         tm.texi : Explain new macro PROFILE_HOOK.
11011
11012 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
11013
11014         * extend.texi (Extended Asm): Do not say that semicolon is always
11015         a valid line-breaking character for GNU assemblers.  Use
11016         newline-tab as the most commonly supported syntax.  Use
11017         newline-tab rather than semicolon in multi-insn examples.
11018
11019 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11020
11021         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
11022
11023 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11024             David Edelsohn  <edelsohn@gnu.org>
11025
11026         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
11027         code for AIX, even without flag_pic.
11028
11029 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
11030
11031         * c-typeck.c (common_type): push and pop binding level around
11032         calling common_type on function parameters.
11033
11034 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
11035
11036         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
11037
11038 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11039
11040         * config/mips/mips.c (override_options): Fix typo in last change.
11041         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
11042         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
11043
11044 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
11045
11046         * invoke.texi (-fdump-class-layout): Document.
11047         (-fdump-translation-unit): Use `=' as filename separator.
11048
11049 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
11050
11051         * Makefile.in (s-mlib): Don't build multilibs if
11052         --disable-multilib.
11053         (DRIVER_DEFINES): Adjust accordingly.
11054         (gcc.o): Likewise.
11055         (protoize.o): Likewise.
11056         (unprotoize.o): Likewise.
11057         * configure.in: Recognize --enable-multilib.
11058
11059 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
11060
11061         * Makefile.in (DRIVER_DEFINES): Fix quoting.
11062
11063         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
11064         * configure.in: Remove --enable-libstdcxx_v3 support.
11065         * configure: Regenerated.
11066
11067 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11068
11069         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
11070         Call abort instead of fatal.
11071         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
11072         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
11073         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
11074         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
11075         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
11076         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
11077
11078         * diagnostic.h (set_internal_error_function): Renamed.
11079         * toplev.h (internal_error): Renamed from fatal.
11080         (pfatal_with_name): Deleted.
11081         (fatal_io_error): Now has printf-style arguments.
11082         * diagnostic.c (pfatal_with_name): Deleted.
11083         (fatal_io_error): Rework to have args in printf-style.
11084         (set_internal_error_function): Renamed from set_fatal_function.
11085         (internal_error): Renamed from fatal.
11086         (error_recursion, fancy_abort): Call internal_error instead of fatal.
11087         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
11088         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
11089         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
11090         * flow.c (verify_flow_info): Likewise.
11091         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
11092         * config/mips/mips.c (save_restore_insns): Likewise.
11093
11094         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
11095         * flow.c (verify_flow_info): Likewise.
11096         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
11097         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
11098         (avr_normalize_condition): Likewise.
11099         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
11100         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
11101         (limit_reload_class, double_reg_to_memory): Likewise.
11102         (print_operand_address, emit_1600_code_shift): Likewise.
11103         (gen_tst_reg, gen_compare_reg): Likewise.
11104         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
11105         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
11106         Deleted.
11107         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
11108
11109         * c-parse.in (methoddef): Call fatal_error instead of fatal.
11110         * objc/objc-act.c (build_ivar_chain): Likewise.
11111         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
11112         pfatal_with_name.
11113         * graph.c (clean_graph_dump_file): Likewise.
11114         * profile.c (init_branch_prob): Likewise.
11115         * objc/objc-act.c (objc_init): Likewise.
11116
11117         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
11118         * config/avr/avr.c (avr_override_options): Likewise.
11119         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
11120         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
11121         * config/h8300/h8300.c (h8300_init_once): Likewise.
11122         * config/mips/mips.c (override_options): Likewise.
11123         * config/i386/i386.c (override_options): Likewise, rework.
11124         * config/m68k/m68k.c (override_options): Likewise.
11125
11126         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
11127         instead of fatal.
11128         * config/mips/mips.c (print_operand): Likewise.
11129         * hash.c (hash_allocate): Don't check for failure returns from
11130         obstack functions that can't fail.
11131         (hash_table_init_n, hash_table_init): Likewise; also now return void.
11132         * hash.h (hash_table_init_n, hash_table_init): Now return void.
11133         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
11134         (get_object_reference): Likewise.
11135
11136 2001-02-04  Nick Clifton  <nickc@redhat.com>
11137
11138         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
11139         StrongARM1110, 10TDMI, and 1020T.
11140
11141 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11142
11143         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
11144
11145 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
11146
11147         * config/sh/sh.md (movdf load split): Pass register number to
11148         FP_OR_XD_REGISTER_P.
11149
11150 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
11151
11152         * cppinit.c (BC): New macro.
11153         (builtin_array): Add __GXX_WEAK__.
11154         * cpplib.h (builtin_type): Add BT_WEAK.
11155         * cppmacro.c (builtin_macro): Handle BT_WEAK.
11156         * defaults.h (SUPPORTS_ONE_ONLY): Define.
11157         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
11158
11159 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
11160
11161         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
11162
11163 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
11164
11165         * cpphash.h: Rename _ALIGN POOL_ALIGN.
11166         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
11167
11168 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
11169
11170         * cpphash.h: Rename ALIGN _ALIGN.
11171         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
11172
11173 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
11174
11175         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
11176         compilation environment.
11177         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
11178         control over location of cygwin includes and libs.
11179
11180 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
11181
11182         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
11183
11184 2001-02-02  lars brinkhoff  <lars@nocrew.org>
11185
11186         * md.texi (Standard Names): remove reference to spur.md.
11187
11188 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
11189
11190         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
11191         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
11192         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
11193         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
11194         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
11195
11196 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11197
11198         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
11199         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
11200         number before reload.
11201         (c4x_adjust_cost): Return zero before reload.
11202         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
11203         split before reload.
11204
11205 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11206
11207         * c4x.c (c4x_hard_regno_rename_ok): New.
11208         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
11209         * c4x.h (HARD_REGNO_RENAME_OK): Define.
11210
11211 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11212
11213         * diagnostic.h: Add missing "extern" in all declarations.
11214
11215 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
11216
11217         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
11218         as for gcc_gxx_include_dir.
11219
11220 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
11221
11222         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
11223
11224 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
11225
11226         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
11227         label before alignment to be used as the braf base address.
11228         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
11229         branches.
11230         (casesi_jump_2): Require at least TARGET_SH2.
11231
11232         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
11233         truncation to 32-bit doubles on -m3e and -m4-single-only.
11234
11235 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
11236
11237         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
11238         the default when building a shared object.
11239         (init_spec): Use it.
11240         * testsuite/lib/g++.exp: Include the directory where libgcc
11241         is located to the LD_LIBRARY_PATH list.
11242         * invoke.texi (-shared-libgcc): Document the cases in which
11243         GCC defaults to using the shared libgcc.
11244
11245 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
11246
11247         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
11248         unsigned is wide enough.
11249         (BITS_PER_SI): New.
11250         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
11251         (si_to_float): Likewise.
11252         (float_to_si, float_to_usi): Use BITS_PER_SI.
11253
11254 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
11255
11256         * dwarf2out.c: Added explanation of abbreviations.
11257         (def_cfa_1): Added comments listing DWARF2 instructions.
11258         (cfa_temp_reg): Removed in favor of cfa_temp.
11259         (cfa_temp_value): Removed in favor of cfa_temp.
11260         (cfa_temp): New global variable.
11261         (dwarf2out_frame_debug_expr): Added extensive introductory
11262         comments explaining the function's transformations.  Revised to
11263         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
11264         (dwarf2out_frame_debug): Revised to use cfa_temp.
11265         (output_aranges): Cast as "unsigned" to avoid warning.
11266         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
11267         explain which instructions must be marked.
11268
11269 2001-02-01  Richard Henderson  <rth@redhat.com>
11270
11271         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
11272         new instruction.
11273
11274 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
11275
11276         * config/sh/crt1.asm (main_k): Modified so that start calls
11277         ___setup_argv_and_call_main.
11278
11279 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
11280
11281         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
11282         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
11283         and AVOID_LPASTE is cleared on meeting an unescaped newline.
11284         * cppmacro.c (builtin_macro): Set builtin flags here.
11285         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
11286         (replace_args): Clarify intent.
11287         (cpp_get_token): Macro expansion tokens get the saved flags.
11288         Update.
11289         * cppmain.c (scan_buffer): Remove now-redundant print.printed
11290         check.
11291
11292 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
11293
11294         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
11295         2001-Jan-29.
11296
11297 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11298
11299         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
11300         returns Pmode pseudo, but we need ptr_mode.
11301         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
11302         Remove bogus conversions; use HOST_WIDE_INT for size.
11303         Don't use TARGET if wrong mode.
11304
11305         * config/i386/i386.c (ix86_compute_frame_size): Allow
11306         stack_alignment_needed to be non-default even if size is zero.
11307
11308 2001-01-31  Alan Modra <alan@linuxcare.com.au>
11309
11310         * pa.c (hppa_init_pic_save): New function.
11311         * pa.h (hppa_init_pic_save): Declare.
11312         * pa.md (call, call_value, sibcall, sibcall_value): Use
11313         the above instead of duplicated code.
11314
11315         * pa.c (hppa_encode_label): Correct size of alloca buffer
11316         so we don't overrun it.  Correct leading `*' case.
11317         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
11318         need to handle `*@'.
11319         (FUNCTION_NAME_P): Likewise.
11320
11321 2001-01-31  Richard Henderson  <rth@redhat.com>
11322
11323         * config.gcc (alpha-osf5): Use float-i128.h.
11324
11325         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
11326         * config/float-i32.h: Likewise.
11327         * config/float-i64.h: Likewise.
11328         * config/float-sh.h: Likewise.
11329         * config/float-sparc.h: Likewise.
11330
11331 2001-01-31  DJ Delorie  <dj@redhat.com>
11332
11333         * expmed.c (extract_bit_field): allow non-integral modes if we
11334         want to extract a whole register from itself.
11335
11336 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
11337
11338         * c-typeck.c (set_init_index): If first is equal to last, assume as
11339         if it was not a range at all.
11340
11341 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
11342
11343         * config/fp-bit.c: Include tm.h.
11344         (float_to_si): Don't assume SImode is 32-bits wide.
11345         (float_to_usi): Likewise.
11346
11347 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
11348
11349         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
11350         incomplete type.
11351         (typename): Call pending_xref_error after parsing typed_typespecs.
11352         * c-decl.c (lookup_tag): Give error immediately rather than
11353         leaving it pending if the tag of the wrong type is in the same
11354         binding level.
11355         (xref_tag): Don't pedwarn for forward declarations of enum types
11356         here.
11357         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
11358         and enum tags.
11359
11360 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
11361
11362         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
11363
11364 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
11365
11366         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
11367         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
11368
11369 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
11370
11371         * cpphash.h (struct cpp_reader): New saved_flags.
11372         * cppmacro.c (cpp_get_token): Use saved_flags to remember
11373         to avoid a paste after a pasted token.
11374
11375 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
11376
11377         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
11378         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
11379         Wtype_MIN instead of LONG_MIN.
11380
11381 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
11382
11383         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
11384         README file.
11385         * fixinc/fixincl.x: Regenerated.
11386         * fixinc/inclhack.def (irix_limits_const): New definition to
11387         convert "const" to "__const" in limits.h.
11388
11389 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
11390
11391         * fixinc/genfixes (AG): Fix "autogen4" thinko.
11392
11393 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
11394
11395         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
11396         when register dies in the insn.
11397
11398 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
11399
11400         * diagnostic.c (fatal): Fix word wrap.
11401
11402 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
11403
11404         * combine.c (try_combine): Fix SUBREG setting for
11405         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
11406
11407 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11408
11409         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
11410         comparison codes.
11411
11412 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
11413
11414         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
11415         is not NULL.
11416         * toplev.c (decode_W_option): Update warn_larger_than
11417         unconditionally for each processed switch.
11418
11419 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11420
11421         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
11422         to NULL_RTX.
11423         (hppa_expand_prologue): Delete code to save pic offset table register
11424         in the function prologue.
11425         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
11426         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
11427         table register at the beginning of the function after the prologue.
11428
11429 2001-01-29  lars brinkhoff  <lars@nocrew.org>
11430
11431         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
11432
11433 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11434             Jeff Law <law@redhat.com>
11435
11436         * pa.md (return): Revise comment for trivial return.
11437         (return_internal): Non-trivial return pattern for non-PIC code.
11438         (return_internal_pic): Non-trivial return pattern for PIC code.
11439         It uses the PIC register to ensure it is restored after
11440         function calls.
11441         (epilogue): Generate appropriate return for PIC and non-PIC code.
11442
11443 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
11444
11445         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
11446
11447 2001-01-29  DJ Delorie  <dj@redhat.com>
11448
11449         * combine.c (if_then_else_cond): Pass the correct mode to
11450         operand_subword() for constants.
11451
11452 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
11453
11454         * config/i386/cygwin.h: Add w32api to include search.  Search different
11455         directories in a cross-build environment.
11456
11457 2001-11-29  Tim Josling  <tej@melbpc.org.au>
11458
11459         * tree.h (TYPE_STUB_DECL): Add documentation.
11460
11461 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
11462
11463         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
11464         (sdbout_field_types): Likwise.  Fix use of host_integerp.
11465
11466 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
11467
11468         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
11469         cygwin.h.
11470
11471 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
11472
11473         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
11474         to use flag_gnu_linker.
11475
11476 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
11477
11478         * cpplib.c (T_BAD_DIRECTIVE): Remove.
11479         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
11480
11481 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
11482
11483         * tree.c, tree.h (build_parse_node): Remove; was identical to
11484         build_nt.
11485         * c-lang.c (start_cdtor), objc/objc-act.c
11486         (build_module_descriptor): Use build_nt instead of
11487         build_parse_node.
11488
11489 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
11490
11491         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
11492         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
11493         not have any upper bits set.
11494
11495 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
11496
11497         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
11498
11499 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11500
11501         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
11502
11503         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
11504
11505         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
11506         (integer_minus_one_node): Define.
11507
11508 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
11509
11510         * Makefile.in (bootstrap2-lean): Fix typo.
11511
11512 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
11513
11514         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
11515         : Don't set fe_value.
11516         * cpplib.h (AVOID_LPASTE): New flag.
11517         (struct cpp_hashnode): Remove fe_value.
11518         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
11519         * cppmacro.c (builtin_macro): Don't set flags here.
11520         (replace_args): Set AVOID_LPASTE flag on first token of an
11521         argument, and the token following it.
11522         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
11523         macro expansion, and on the token following it.  Do it for
11524         builtins too.
11525         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
11526
11527 2001-01-27  Richard Henderson  <rth@redhat.com>
11528
11529         * config/alpha/t-ieee: Remove multilibbing.
11530         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
11531
11532 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11533
11534         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
11535
11536         * Makefile.in: Remove all dependencies on defaults.h.
11537         * builtins.c: Don't include defaults.h.
11538         * c-common.c: Likewise.
11539         * c-decl.c: Likewise.
11540         * c-pragma.c: Likewise.
11541         * c-typeck.c: Likewise.
11542         * combine.c: Likewise.
11543         * i386.c: Likewise.
11544         * frame-ia64.c: Likewise.
11545         * cppexp.c: Likewise.
11546         * crtstuff.c: Likewise.
11547         * dbxout.c: Likewise.
11548         * dwarf2out.c: Likewise.
11549         * dwarfout.c: Likewise.
11550         * emit-rtl.c: Likewise.
11551         * except.c: Likewise.
11552         * expr.c: Likewise.
11553         * final.c: Likewise.
11554         * frame-dwarf2.c: Likewise.
11555         * libgcc2.c: Likewise.
11556         * optabs.c: Likewise.
11557         * profile.c: Likewise.
11558         * sdbout.c: Likewise.
11559         * toplev.c: Likewise.
11560         * tradcif.y: Likewise.
11561         * tree.c: Likewise.
11562         * varasm.c: Likewise.
11563
11564 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11565
11566         * builtins.c (expand_builtin_fputs): Use size_one_node when
11567         transforming into fwrite.
11568
11569 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
11570
11571         * extend.texi (Attribute Syntax): New section.
11572
11573 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11574
11575         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
11576         they didn't need fixing.
11577
11578 2001-01-27  Janis Johnson <janis@us.ibm.com>
11579
11580         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
11581         if appropriate.
11582         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
11583         to remove macro definitions that are duplicated from elfos.h.
11584
11585 2001-01-27  Richard Henderson  <rth@redhat.com>
11586
11587         * config/i386/sco5gas.h: Move ...
11588         * config/usegas.h: ... here.
11589         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
11590
11591 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
11592
11593         * c-typeck.c (struct constructor_stack): Add range_stack member.
11594         (really_start_incremental_init): Clear it.
11595         (push_init_level): Save constructor_range_stack and clear it if
11596         pushing explicit braces.
11597         (pop_init_level): abort if constructor_range_stack is non-zero at
11598         explicit closing brace.  Restore saved constructor_range_stack if
11599         not implicit.
11600
11601 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
11602
11603         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
11604         into register was forced into memory.
11605
11606 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
11607
11608         * Makefile.in: Remove uses of + before $(MAKE).
11609
11610 2001-01-26  Richard Henderson  <rth@redhat.com>
11611
11612         * stmt.c (cost_table): Remove.
11613         (COST_TABLE, cost_table_initialized): New.
11614         (estimate_case_costs): Use the later instead of the former.
11615         (balance_case_nodes): Likewise.
11616
11617 2001-01-26  Richard Henderson  <rth@redhat.com>
11618
11619         * alias.c (objects_must_conflict_p): Read-only slots may not
11620         conflict despite having the same type.
11621
11622 2001-01-27  Michael Hayes  <mhayes@redhat.com>
11623
11624         * loop.c (loop_giv_reduce_benefit): Copy mode size into
11625         int variable.
11626         (check_ext_dependant_givs): Initialise u_start_val and
11627         u_end_val.
11628         (load_mems): Make last_max_reg unsigned.
11629         (try_swap_copy_prop): Use INSN_P and initialise set.
11630
11631 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
11632
11633         * README.AVR : Removed.
11634
11635 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
11636
11637         * pa-64.h (text_section): Remove declaration.
11638
11639         * pa.md (return_internal): Remove mode on PIC register use.
11640
11641 2001-01-25  lars brinkhoff  <lars@nocrew.org>
11642
11643         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
11644         ASM_CLOSE_PAREN): fix typos.
11645
11646 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
11647
11648         * acconfig.h: Define `const' to the empty string if neither
11649         __STDC__ nor __cplusplus is defined.
11650         * config.in: Regenerated.
11651
11652 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
11653
11654         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
11655         * collect2.c (main): Delete importf.  Add ".obj" file extension.
11656         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
11657         (aix_std_libs): Add additional AIX libraries to skip.
11658         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
11659         * config/rs6000/aix51.h: New file.
11660
11661 2001-01-25  Michael Hayes  <mhayes@redhat.com>
11662
11663         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
11664         (loop_insn_emit_before): No longer static.
11665         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
11666         (loop_givs_rescan, load_mems): Likewise.
11667         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
11668         (maybe_eliminate_biv_1):
11669         (move_movables): Replace emit_call_insn_before with
11670         loop_call_insn_hoist.
11671         * loop.h (loop_insn_emit_before): Add.
11672         * unroll.c (copy_loop_body): Replace emit_insn_before with
11673         loop_insn_emit_before.
11674
11675 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
11676
11677         * diagnostic.c (fatal): Request preprocessed source.
11678
11679 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
11680
11681         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
11682         olddecl has argument types and newdecl has none, use the argument
11683         types from olddecl.
11684
11685 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
11686
11687         * dwarf2out.c (prefix_of): New function.  Determine longest common
11688         prefix of the two arguments.  The units are whole path components.
11689         (output_file_names): When adding a new directory find the one entry
11690         with the longest common prefix already in the list.  Artificially
11691         generate entry if there is none for this prefix.
11692         Fix test to check whether the zeroth directory entry is used.
11693
11694 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
11695
11696         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
11697         Changed all callers.  Take it into account when deciding if a
11698         previously loaded value matches.
11699
11700 2001-01-24  Richard Henderson  <rth@redhat.com>
11701
11702         * reload.c (find_reloads_subreg_address): Fail the substitution
11703         if the resulting address is insufficiently aligned.
11704
11705 2001-01-24  DJ Delorie  <dj@redhat.com>
11706
11707         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
11708         check the original operand's mode also.
11709         * simplify-rtx.c (simplify_ternary_operation): Ditto.
11710
11711 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
11712
11713         * c-parse.in (cast_expr): Move compound literals from here ...
11714         (primary): ... to here.  Use standard terminology "compound
11715         literal" instead of "constructor expression".
11716
11717 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
11718
11719         * gcc.1, cpp.1: Regenerate.
11720
11721 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
11722
11723         * calls.c (emit_library_call_value_1): Memory slot for
11724         pass-by-reference argument should have the mode of the argument,
11725         not of the pointer to it.
11726
11727 2001-01-24  Tom Tromey  <tromey@redhat.com>
11728
11729         * gcc.texi (G++ and GCC): Mention gcj manual.
11730         (Standards): Link to section of manual mentioning gcj/Java
11731         compatibility.
11732
11733 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
11734
11735         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
11736         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
11737         * tradcpp.c (main): Add -imacros or -include'd dependencies
11738         for -M*.
11739         * cpp.texi (-M, -MM): Document -M -include behaviour.
11740
11741 2001-01-24  Roger Collins <roger@ProProject.com>
11742
11743         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
11744
11745 2001-01-24  Will Cohen  <wcohen@redhat.com>
11746
11747         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
11748         whether registers are 32 bits or 64 bits in size.
11749
11750 2001-01-24  Ben Elliston  <bje@redhat.com>
11751
11752         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
11753
11754 2001-01-24  Richard Henderson  <rth@redhat.com>
11755
11756         * config/alpha/alpha.md (builtin_longjmp_internal): New.
11757         (builtin_longjmp): Use it instead of emit_indirect_jump.
11758
11759 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11760
11761         * bb-reorder.c (make_reorder_chain_1): Handle case where
11762         jump edge goes to the same block as the fallthru edge.
11763
11764 2001-01-23  Jim Wilson  <wilson@redhat.com>
11765
11766         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
11767         * frame.h (__ia64_personality_v1): Add prototype.
11768         * libgcc2.c (ia64_throw_helper): Change personality declaration to
11769         prototype form.  Add void * cast to first argument to personality
11770         call.
11771         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
11772         (asctoe113): Likewise.
11773         * config/ia64/frame-ia64.c: Include eh-common.h.
11774         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
11775         prototypes.
11776         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
11777         to dump parameter.
11778         (itanium_split_issue): Add prototype.
11779         (gen_nop_type): Ifdef out.
11780         (find_best_packet): Initialize best_packet.
11781         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
11782         result.
11783         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
11784         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
11785         (flushrs): Add explicit stop bit at end.
11786         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
11787         trailing \ to >.
11788
11789 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
11790
11791         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
11792         of EH symbols.
11793         * libgcc2.c (__terminate_func): Make variable static.
11794         (__terminate_set_func): New function to set __terminate_func.
11795         * libgcc2.h (__terminate_func_ptr): New typedef.
11796         (__terminate_set_func): New function.
11797
11798 2001-01-23  Richard Henderson  <rth@redhat.com>
11799
11800         * flow.c (init_propagate_block_info): Don't consider unchanging
11801         memories for dead frame store elimination.
11802
11803 2001-01-23  Richard Henderson  <rth@redhat.com>
11804
11805         * varasm.c (UNIQUE_SECTION): Move default implementation ...
11806         * defaults.h: ... here.
11807
11808 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11809
11810         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
11811
11812 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
11813
11814         * c-lex.c (lex_charconst): Fix typo: s/p/str.
11815
11816 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11817
11818         * rs6000.h (rs6000_return_addr): Move prototype from here...
11819         * rs6000-protos.h (rs6000_return_addr): ...to here.
11820         (rs6000_init_expanders): Delete prototype.
11821
11822 2001-01-23  Nick Clifton  <nickc@redhat.com>
11823
11824         * invoke.texi: Replace , with \, inside @gccoptlist macros.
11825         (Spec Files): Document %B and %j and %. and %v3 and %M and
11826         %{S*&T} spec switches.
11827
11828 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11829
11830         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
11831
11832 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
11833             Neil Booth  <neil@daikokuya.demon.co.uk>
11834
11835         * cpperror.c: Merge handlers of PEDWARN and WARNING.
11836         Have -Werror make pedantic warnings errors, like the
11837         rest of GCC.
11838
11839 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
11840
11841         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
11842
11843 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
11844
11845         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
11846         * integrate.c (expand_inline_function): Initialize them.
11847         (subst_constants): If changing COMPARE so that both its arguments
11848         will be VOIDmode and the comparison mode will be lost, note
11849         compare_mode.  Use the recorded compare_mode to optimize
11850         IF_THEN_ELSE.
11851
11852 2001-01-23  Jason Merrill  <jason@redhat.com>
11853
11854         * dwarf2out.c (new_die): Use xcalloc.
11855         (output_die): Abort rather than emit a local reference to offset 0.
11856
11857 2001-01-17  Andrew Haley  <aph@redhat.com>
11858
11859         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
11860         of a saved register; return NULL instead.
11861         (copy_reg): Take a pointer to a source register rather than a
11862         frame_state.
11863         (next_stack_level): Remember the address in the stack frame of all
11864         saved registers.
11865         Use the saved register pointer array as the source of the CFA.
11866         (throw_helper): Rewrite.  Unwind once rather than twice and keep
11867         track of saved registers as we go.
11868
11869 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11870
11871         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
11872         * c4x.c (c4x_legitimize_reload_address): Remove.
11873         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
11874         reload address for ldp(k) insn.
11875
11876 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
11877
11878         * pa.md (return_internal): Add a USE of the PIC register to ensure
11879         it is restored after each call.
11880         (return expander): Corresponding changes.
11881
11882 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11883
11884         * rs6000.h (INIT_EXPANDERS): Delete.
11885         (RETURN_ADDR_RTX): Call rs6000_return_addr().
11886         * rs6000.c (rs6000_override_options): Call *_machine_status from
11887         here...
11888         (rs6000_init_expanders): ...instead of here. Delete.
11889         (rs6000_mark_machine_status): New function.
11890         (rs6000_init_machine_status): Use xcalloc.
11891         (rs6000_return_addr): Generate RTX for the return address.
11892         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
11893         (rs6000_stack_info): Use it.
11894
11895 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
11896
11897         * gthr-win32.h: Include errno.h to get a declaration for
11898         EINVAL and _mingw.h if the target is mingw32.
11899
11900 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
11901
11902         * cpp.texi: Correct typos.
11903
11904 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11905
11906         * explow.c (probe_stack_range): Ensure value passed to
11907         stack_check_libfunc is ptr_mode, not Pmode.
11908
11909 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
11910
11911         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
11912         case, don't use operand_subword to calculate a SUBREG that is
11913         wider than a word.
11914
11915         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
11916
11917 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11918
11919         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
11920         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
11921         valid.  If not replace it by equivalent insns.
11922
11923 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11924
11925         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
11926         contains SYMBOL_REF, LABEL_REF and CONST_INT.
11927         (c4x_U_constraint, symbolic_address_operand): Likewise.
11928         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
11929         memory.
11930         (c4x_r11_set_p, c4x_check_laj_p): New functions.
11931         * c4x-protos.h (c4x_check_laj_p): Add prototype.
11932         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
11933         anulling slot because of silicon bug.
11934         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
11935
11936 2001-01-22  Alan Modra <alan@linuxcare.com.au>
11937
11938         * cppexp.c (parse_charconst):  Change `mask' type to agree
11939         with parse_escape.
11940
11941 2001-01-21  Richard Henderson  <rth@redhat.com>
11942
11943         * config/i386/i386.c (ix86_asm_file_end): Disable putting
11944         pic_label_name in a linkonce section.
11945
11946 2001-01-17  Philipp Thomas  <pthomas@suse.de>
11947
11948         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
11949         found in libintl.
11950         * configure: Regenerate.
11951
11952 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
11953
11954         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
11955         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
11956
11957 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
11958
11959         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
11960         If REVERSE nonzero then condition code in X must be reversed.
11961         (encode_section_info): Optimise if/else.
11962         (avr_function_value): Fix formatting.
11963
11964         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
11965         (difficult_branch): Likewise.
11966         (rvbranch): Likewise.
11967         (difficult_rvbranch): Likewise.
11968
11969         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
11970
11971         * config/avr/libgcc.S: Fix comment.
11972
11973 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11974
11975         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
11976
11977 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11978
11979         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
11980
11981 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11982
11983         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
11984         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
11985         * configure, config.in: Regenerate.
11986         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
11987         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
11988         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
11989         (doprint.o): New rule.
11990
11991 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
11992
11993         * c-typeck.c (digest_init): Handle boolean types as scalars.
11994
11995 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11996
11997         * stmt.c (expand_return): Don't return anything if size is zero.
11998         Delete redundant assignment to BYTES.
11999         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
12000
12001 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
12002
12003         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
12004         the same as the default library function names.
12005         * config/avr/avr.md: Document special characters after '%'.
12006         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
12007         knowing which of the call-used registers are really clobbered.
12008         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
12009         New.  Both quotient and remainder from one libgcc.S call.
12010         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
12011         clobber as few registers as possible.
12012         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
12013
12014 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
12015
12016         * cppmacro.c (funlike_invocation_p): Don't move back up to the
12017         context of the top of the stack.
12018
12019 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
12020
12021         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
12022         (fixup_var_refs_insns): ...here.
12023
12024 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
12025
12026         * function.c (fixup_var_refs_insns): Break up into
12027         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
12028         [loop over entire insn list], and fixup_var_refs_insns_with_hash
12029         [loop over hash table entries].
12030         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
12031         fixup_var_refs_insns_with_hash, to match above changes.
12032
12033 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12034
12035         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
12036         (libgcc.a): Likewise.
12037         (stmp-multilib): Likewise.
12038         (STAGE2_FLAGS_TO_PASS): Likewise.
12039
12040 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
12041
12042         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
12043         temporary if no_new_pseudos.
12044
12045 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12046
12047         * cppinternals.texi: Update.
12048
12049 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
12050
12051         * arm.c (arm_init_builtins): Re-enable builtins.
12052
12053 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12054
12055         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
12056         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
12057         element to be null, and always expect an EXPR_LIST.
12058         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
12059         * sched-deps.c (sched_analyze_1): Likewise.
12060         * sched-rgn.c (check_live_1, update_live_1): Likewise.
12061
12062         * regclass.c (max_set_parallel): New variable.
12063         (reg_scan): Take it into account in computation of max_parallel.
12064         (reg_scan_mark_refs, case SET): Compute it.
12065
12066         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
12067         args are REG.
12068         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
12069         * function.c (assign_parms): Use INTVAL for a CONST_INT.
12070
12071 2001-01-19  Jason Merrill  <jason@redhat.com>
12072
12073         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
12074         for the abstract instance of an inline function.
12075
12076 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
12077                           J"orn Rennecke <amylaar@redhat.com>
12078
12079         * reload1.c (move2add_note_store): Treat all registers directly or
12080         indirectly derived from a base register as members of the same set
12081         of values.
12082         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
12083         of base register into account.
12084
12085 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
12086
12087         * alias.c (find_base_value): Recognize TRUNCATE.
12088         (record_set): In PLUS case, invalidate if other summand is also a
12089         base value.
12090
12091 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12092
12093         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
12094         entry to be EXPR_LIST.
12095         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
12096         be an EXPR_LIST (but not null, which other code doesn't allow).
12097         (note_stores): Properly handle PARALLEL in SET.
12098         Recursively call for top-level PARALLEL.
12099         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
12100         * sched-rgn.c (check_live_1, update_live_1): Likewise.
12101
12102         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
12103
12104 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
12105
12106         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
12107         not pfile->skipping (== 0).
12108
12109 2001-01-17  Nick Clifton  <nickc@redhat.com>
12110
12111         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
12112         machine_status.
12113
12114 2001-01-17  Jim Wilson  <wilson@redhat.com>
12115
12116         * invoke.texi (IA-64 options): Improve.
12117
12118 2001-01-17  Tom Tromey  <tromey@redhat.com>
12119
12120         * invoke.texi (Optimize Options): Use `{}' to around @samp
12121         argument.
12122
12123 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
12124
12125         * invoke.texi (-fno-guess-branch-probability): New option.
12126
12127 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12128
12129         * combine.c (try_combine): Don't set i3_subst_into_i2 for
12130         case of making new double-word constant.
12131         Revert last change: instead just test i3_subst_into_i2.
12132
12133 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
12134
12135         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
12136         Use q constraints instead of r.
12137
12138 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
12139
12140         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
12141         (machine_function): Define.
12142         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
12143         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
12144         pa_free_machine_status): New functions.
12145         (override_options): Set {init,mark,free}_machine_status to above.
12146         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
12147         PIC_OFFSET_TABLE_REGNUM_SAVED.
12148         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
12149         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
12150         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
12151         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
12152         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12153
12154 2001-01-15  DJ Delorie  <dj@redhat.com>
12155
12156         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
12157         (cpp.1): Ditto.
12158         (gcc.1): Ditto.
12159
12160 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12161
12162         * flow.c (propagate_one_insn): Make trying to delete a prologue
12163         or epilogue insn an ICE, not a warning.  Allow doing this if
12164         the current function returns with stack pointer depressed.
12165
12166         * combine.c (try_combine): If i3_subst_into_i2, properly check for
12167         I3 having more than one SET.
12168
12169 2001-01-16  Jim Wilson  <wilson@redhat.com>
12170
12171         * invoke.texi: Document IA-64 options.
12172
12173         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
12174         (fixup_errata): Delete TARGET_A_STEP use.
12175         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
12176         (TARGET_SWITCHES): Delete -ma-step option.
12177         * config/ia64/ia64.md (all FP patterns): Delete %B0.
12178         (movqicc_astep, movqi_internal_astep, movhicc_astep,
12179         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
12180         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
12181         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
12182         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
12183         Delete.
12184         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
12185         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
12186         cmovsi_internal): Delete ! TARGET_A_STEP check.
12187
12188 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12189
12190         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
12191         possibility to report bugs via postal mail. Change a URL and
12192         merge in a nearly duplicate statement...
12193         (Bug Reporting): ...from here.
12194         (Service): Refer to the Bug Reporting section instead of
12195         duplicating an URL.
12196         (Contributing): Remove trivial explanations concerning snapshots.
12197
12198 2001-01-16  Alan Modra <alan@linuxcare.com.au>
12199
12200         * cppmain.c (general_init): Don't use ANSI prototype.
12201
12202 2001-01-16  Tom Tromey  <tromey@redhat.com>
12203
12204         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
12205
12206 2001-01-16  Richard Henderson  <rth@redhat.com>
12207
12208         * config/i386/i386.h: Fix comment typo.
12209         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
12210         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
12211
12212 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
12213
12214         * gcc.c:  Revert previous -fsyntax-only-related change; move
12215         to cp/g++spec.c.
12216
12217 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
12218
12219         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
12220         inmode after checking GET_CODE (op).
12221
12222 2001-01-16  Richard Henderson  <rth@redhat.com>
12223
12224         * flow.c (struct propagate_block_info): Add mem_set_list_len.
12225         (MAX_MEM_SET_LIST_LEN): New.
12226         (propagate_one_insn): Update mem_set_list_len.
12227         (invalidate_mems_from_autoinc): Likewise.
12228         (invalidate_mems_from_set): Likewise.
12229         (mark_used_regs): Likewise.
12230         (init_propagate_block_info): Likewise.  Stop collecting memories
12231         when we reach MAX_MEM_SET_LIST_LEN.
12232         (mark_set_1): Likewise.
12233
12234 2001-01-16  Richard Henderson  <rth@redhat.com>
12235
12236         * unroll.c (precondition_loop_p): Fail if no iteration
12237         variable found.
12238
12239 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
12240
12241         * gcc.c:  When -fsyntax-only is given, do not complain about
12242         unused libraries.
12243
12244 2001-01-15  Richard Henderson  <rth@redhat.com>
12245
12246         * config/i386/i386.c (asm_output_function_prefix): Remove.
12247         (ix86_asm_file_end): New.
12248         (load_pic_register): Generate pic_label_name into a
12249         staticly allocated buffer.
12250         * config/i386/i386-protos.h: Update.
12251         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
12252         (ASM_FILE_END): New.
12253         * config/i386/i386afe.h: New file.
12254         * config.gcc (i?86-*-elf) [tm_file]: Use it.
12255         (i?86-*-{freebsd,linux*,moss*}): Likewise.
12256         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
12257         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
12258         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
12259         * config/i386/sco5.h (ASM_FILE_END): Likewise.
12260         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
12261
12262 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
12263
12264         * Makefile.in (install-man): Remove explicit dependency on
12265         $(srcdir)/gcc.1.
12266
12267         * configure.in, configure: Revert previous patch requiring perl
12268         5.6.0.
12269
12270 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
12271
12272         * toplev.c (flag_guess_branch_prob): New.
12273         (f_options): Add guess-branch-probability option.
12274         (rest_of_decl_compilation): Only estimate branch probability if
12275         flag set.
12276         (main): set flag_guess_branch_prob.
12277
12278         * flags.h (flag_guess_branch_prob): New.
12279
12280 2001-01-15  DJ Delorie  <dj@redhat.com>
12281
12282         * gcc.texi (Makefile): Add documentation for Makefile targets.
12283
12284 2001-01-15  Philip Blundell  <philb@gnu.org>
12285
12286         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
12287         (is_pic): Delete.
12288         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
12289         (is_pic): Delete declaration.
12290         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
12291         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
12292         * config/arm/arm.md (builtin_setjmp_receiver): New.
12293
12294 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
12295
12296         * arm.c (use_return_insn): Don't try to determine the function type
12297         until after reload has completed.
12298         (arm_output_epilogue): Don't adjust the sp value recovered from the
12299         stack.
12300         (emit_multi_reg_push): Don't record dwarf information for the pc.
12301         * arm.md (eh_epilogue): The function type may have changed, so it
12302         needs to be recalculated.
12303         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
12304         unwind tables on arm/netbsd.
12305
12306 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
12307
12308         * arm.md (cbranchsi4): Correct calculation of branch ranges.
12309         (negated_cbranchsi4): Likewise.
12310
12311 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
12312
12313         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
12314         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
12315         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
12316         pass -mapcs-* options to assembler.
12317         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
12318         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
12319         (ASM_SPEC): Call subtarget_extra_asm_spec.
12320
12321 2001-01-15  Andreas Jaeger  <aj@suse.de>
12322
12323         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
12324         warnings.
12325         (ix86_expand_builtin): Likewise.
12326
12327         * gencodes.c (output_predicate_decls): Make i size_t to avoid
12328         warning about comparison between signed and unsigned.
12329
12330 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
12331
12332         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
12333
12334 2001-01-14  Ralf Baechle <ralf@gnu.org>
12335
12336         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
12337         SUBTARGET_CPP_SPEC apropriatly.
12338
12339 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
12340
12341         * varasm.c (make_decl_rtl): Fix typo in last change.
12342
12343 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
12344
12345         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
12346         linker supports the init_priority C++ attribute.
12347         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
12348         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
12349         linker does not support init_priority C++ attribute.
12350
12351 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
12352
12353         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
12354
12355 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
12356
12357         * c-parse.in (finish_parse): Add comment about cpp_destroy.
12358         * cp/lex.c (finish_parse): Similarly.
12359         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
12360         Return the number of errors encountered.
12361         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
12362         * cppmain.c (main): Don't call cpp_destroy.
12363
12364 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
12365
12366         * configure.in: Require at least perl 5.6.0 to regenerate
12367         manpages.
12368         * configure: Regenerate.
12369
12370 2001-01-14  Richard Henderson  <rth@redhat.com>
12371
12372         * genrecog.c (DT_veclen_ge): New.
12373         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
12374         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
12375         (nodes_identical_1): Handle DT_veclen_ge.
12376         (write_cond, debug_decision_2): Likewise.
12377
12378 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
12379
12380         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
12381         with ...
12382         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
12383
12384 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
12385
12386         * cppmain.c (do_preprocessing): New function; most of the old
12387         main.
12388         (main): Call it to do most of the work.
12389         (cb): Move from global scope to set_callbacks ().
12390         (setup_callbacks): Get the callback pointer.
12391         (general_init, printer_init): Clean up code and comments.
12392
12393 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
12394
12395         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
12396         compiling PIC.
12397
12398 2001-01-14  Kazu Hirata  <kazu@hxi.com>
12399
12400         * config/h8300/h8300.c (get_shift_alg): Update comments.
12401
12402 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12403
12404         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
12405         (alloc_page, ggc_alloc): Add casts to remove warnings.
12406
12407 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
12408
12409         * combine.c (simplify_comparison): Don't change `code' when
12410         can't reverse comparison.
12411
12412 2001-01-14  Richard Henderson  <rth@redhat.com>
12413
12414         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
12415         update all call sites.  Return true for all non-label constants.
12416
12417 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
12418
12419         * i386.c (ix86_expand_compare): Add bypass_test and second_test
12420         parameters.
12421         (ix86_expand_branch): Update.
12422         (ix86_expand_setcc): Update to handle multiple test conditions.
12423         (expand_int_movcc): Likewise.
12424         (expand_fp_movcc): Likewise.
12425         * i386-protos.h (ix86_expand_compare): New.
12426         * i386.md (andqi_?_slp, orqi_?_slp): New.
12427         (conditional trap expander): Update call to ix86_expand_compare.
12428
12429 2001-01-14  Richard Henderson  <rth@redhat.com>
12430
12431         * config/vax/vax.md: Use nonimmediate_operand instead of
12432         general_operand in destinations.
12433
12434         * config/vax/vax.md (indirect_jump): Use register_operand.
12435
12436         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
12437         * config/vax/vax.md (call_pop): Turn into an expander.
12438         (call_value_pop): Likewise.
12439         (call, call_value): New.
12440
12441 2001-01-14  Andreas Jaeger  <aj@suse.de>
12442
12443         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
12444         variables.
12445         (ix86_fp_compare_mode): Add unused attribute.
12446         (ix86_expand_fp_movcc): Remove unused variable.
12447         (ix86_expand_builtin): Make fcode unsigned.
12448
12449         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
12450         (expand_expr): Add cast to avoid signed warning.
12451         (store_field): Likewise.
12452         (store_constructor_field): Likewise.
12453         (store_constructor): Likewise.
12454         (store_expr): Likewise.
12455         (clear_storage): Likewise.
12456         (emit_group_store): Likewise.
12457         (emit_group_load): Likewise.
12458
12459 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
12460
12461         * c-common.c: Move format checking code to ...
12462         * c-format.c: ... here.  New file.  Reorder some functions and
12463         declarations.
12464         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
12465         New functions.
12466         * c-common.h (decl_handle_format_attribute,
12467         decl_handle_format_arg_attribute): Declare.
12468         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
12469         (c-common.o): Adjust dependencies.
12470         (c-format.o): New list of dependencies.
12471
12472 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
12473
12474         * unroll.c (loop_iterations): If we cannot prove iteration variable
12475         is set once in each iteration, punt.
12476
12477 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
12478
12479         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
12480         (*strlenhi): Remove clobber (which was buggy) of output address.
12481
12482 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
12483
12484         * Makefile.in (generated-manpages): Add gcc.1
12485         ($(srcdir)/gcc.1): New target.
12486         (maintainer-clean): Delete $(srcdir)/gcc.1.
12487         * gcc.texi: Add macros @gccoptlist and @gol.
12488         * invoke.texi: Include option summary in manpage.  Mark up option
12489         summary with @gccoptlist and @gol.  Use @r in one place where
12490         appropriate.
12491         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
12492         * gcc.1: Generate from invoke.texi.
12493
12494 2001-01-13  Richard Henderson  <rth@redhat.com>
12495
12496         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
12497         (struct page_entry): Add group member.
12498         (struct page_group): New.
12499         (struct globals): Add page_groups member.
12500         (alloc_anon): Only define for using mmap; remove valloc call.
12501         (page_group_index): New.
12502         (set_page_group_in_use): New.
12503         (clear_page_group_in_use): New.
12504         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
12505         (free_page, release_pages): Likewise.
12506         * configure.in (with-gc): Default to ggc-page always.
12507
12508 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
12509
12510         * reload1.c (replace_pseudos_in_call_usage): Use
12511         reg_equiv_constant and reg_equiv_address, and don't try
12512         regno_reg_rtx first.
12513
12514 2001-01-13  Richard Henderson  <rth@redhat.com>
12515
12516         * ggc-page.c (alloc_page): Round up allocation size to one page.
12517         Set e->order on extra pages.
12518
12519 2001-01-13  Richard Henderson  <rth@redhat.com>
12520
12521         * genrecog.c (nodes_identical): Expand commentary.
12522         (write_switch): Watch out for identical nodes.
12523
12524 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12525
12526         * cppfiles.c (_cpp_fake_include): New function.
12527         * cpphash.h (_cpp_fake_include): New.
12528         * cpplib.c (do_line): Call _cpp_fake_include when entering
12529         header files in preprocessed input.
12530         * cppmain.c (cb_pragma_implementation): Remove handling.
12531         (setup_callbacks): Don't register pragmas.
12532
12533 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12534
12535         * extend.texi: Udate for CPP.
12536
12537 2001-01-13  Andreas Jaeger  <aj@suse.de>
12538
12539         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
12540
12541         * regmove.c: Add prototype for replace_in_call_usage.
12542
12543 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12544
12545         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
12546         struct cpp_chunk, struct htab, struct toklist,
12547         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
12548         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
12549         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
12550         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
12551         (struct macro_args): Delete.
12552         * cpphash.h: See above.
12553
12554 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12555
12556         * cppmain.c (struct printer): Remove no_line_dirs.
12557         (options, cb): New.
12558         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
12559         : Use options rather than CPP_OPTION.
12560         (setup_callbacks): Use cb rather than pfile->cb.
12561         (main): No need to check for a buffer.  Use cpp_errors.
12562         (printer_init): Don't set no_line_dirs.
12563         (maybe_print_line): Use options not no_line_dirs.
12564         (cb_file_change): Don't call print_line if -P.
12565
12566 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12567
12568         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
12569         callbacks.
12570         * c-parse.in (finish_parse): Use cpp_errors.
12571         (__yylex): Use return value of cpp_pop_buffer.
12572         * cp/lex.c (finish_parse): Use cpp_errors.
12573         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
12574
12575 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
12576
12577         * README.AVR: URLs corrected.
12578
12579 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12580
12581         * c-decl.c (start_function): Don't warn if old prototype is builtin
12582         that's not in C's namespace.
12583         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
12584         (_bb): Add prototype for ctime.
12585         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
12586
12587 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
12588
12589         * i386.c (ix86_fp_comparison_arithmetics_cost,
12590         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
12591         ix86_fp_comparison_cost): New functions.
12592         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
12593         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
12594         two-branch sequences; make static.
12595         (ix86_use_fcomi_compare): Do decision according to the costs.
12596         (split_fp_branch): New.
12597         * i386.md (compare-and-branch patterns): Use split_fp_branch.
12598         * i386-protos.h (ix86_expand_fp_compare): Remove
12599         (ix86_split_fp_branch): Declare.
12600
12601         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
12602         and ix86_comparison_operator.
12603
12604         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
12605         to make it cheaper.
12606
12607         * i386.c (put_condition_code): Output properly the unordered/ordered
12608         compares in fp case.
12609         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
12610
12611         * tm.texi (REVERSE_CONDITION): Document.
12612         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
12613         in -ffast-math mode.
12614         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
12615
12616 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
12617
12618         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
12619
12620         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
12621         optimized away.
12622
12623         * config/sh/sh.c (mova_p): Fix test for mova_const.
12624
12625 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12626
12627         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
12628         cpp_get_options rather than dereferencing pfile and using
12629         CPP_OPTION.
12630         * scan-decls.c (scan_decls): Use return value of
12631         cpp_pop_buffer rather than CPP_BUFFER.
12632
12633 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12634
12635         * cppinit.c (cpp_handle_option): help_only is now part of the
12636         cpp_options structure.
12637         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
12638         cpp_set_callbacks): New functions.
12639         * cpplib.h (cpp_callbacks): Break out as a named structure.
12640         (cpp_options): Move help_only here from cpp_reader.
12641         (CPP_FATAL_ERRORS): Update to use cpp_errors.
12642         (cpp_errors, cpp_get_options, cpp_get_callbacks,
12643         cpp_set_callbacks): New prototypes.
12644         * cppmain.c (main): Update for help_only.
12645
12646 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
12647
12648         * Makefile.in (info, maintainer-clean, install-info, uninstall):
12649         Also build and remove and install and uninstall c-tree.info and
12650         cppinternals.info.
12651         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
12652         ($(srcdir)/cppinternals.info): New target.
12653         * c-tree.texi: Change file name used when makeinfo used without -o
12654         from ir.info to c-tree.info.  Add info directory entry.
12655         * cppinternals.texi: Add info directory entry.
12656         * .cvsignore: Update.
12657
12658 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
12659
12660         * c-typeck.c (store_init_value): Don't require constant initializer
12661         elements with -pedantic -std=c99.
12662         (digest_init): Change error about non-constant initializer elements
12663         into pedwarn.
12664         (constructor_range_end): Remove.
12665         (constructor_incremental, designator_depth,
12666         designator_errorneous): New variables.
12667         (struct constructor_stack): Remove range_end, add incremental.
12668         (struct constructor_range_stack, constructor_range_stack): New.
12669         (struct initializer_stack): Add constructor_range_stack.
12670         (finish_init): Set it.
12671         (start_init): Likewise.  require_constant_elements for non-static
12672         trees only if not flag_isoc99.
12673         (really_start_incremental_init): Remove constructor_range_end, add
12674         constructor_incremental.
12675         (pop_init_level): Likewise.
12676         (push_init_level): Likewise.  If implicit and the subobject had some
12677         value set already, preinitialize the level with it.
12678         Warn about missing braces only if not pushing due to designators.
12679         (set_designator, push_range_stack): New functions.
12680         (set_init_label): Use them.
12681         (set_init_index): Likewise.  Remove constructor_range_end.
12682         Error if designator index is outside of array bounds.
12683         (add_pending_init): Compare values of purpose index trees, not the
12684         trees themselves.  Allow overwriting of already initialized element.
12685         Issue a warning if it had side-effects.
12686         (set_nonincremental_init, set_nonincremental_init_from_string): New
12687         functions.
12688         (pending_init_member): Rename to...
12689         (find_init_member): ...this function.  Call set_nonincremental_init
12690         if necessary.  Compare values of purpose index trees, not the trees
12691         themselves.  Return the actual value, not just non-zero if something
12692         is found.
12693         (output_init_element): Remove checks for duplicates.
12694         If field has zero size, only check the initializer for correctness.
12695         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
12696         if constructor_incremental is zero.  Change error about initializers
12697         not computable at load time into pedwarn.
12698         (output_pending_init_elements): Compare bit positions, not
12699         FIELD_DECLs to take into account zero-sized fields.
12700         (process_init_element): Use constructor_range_stack to fill all
12701         ranges in the designator lists from current level up.
12702         * extend.texi: Update documentation for labeled elements.
12703
12704 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
12705
12706         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
12707         to function usage for arguments passed by reference.  Optimize
12708         callee-copied arguments.
12709         * regmove.c (replace_in_call_usage): New function.
12710         (fixup_match_1): Call it.
12711         * cse.c (cse_insn): Canonicalize registers in function usage.
12712         * reload1.c (replace_pseudos_in_call_usage): New function.
12713         (reload): Call it.
12714
12715         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
12716         right version.
12717
12718 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
12719
12720         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
12721         not XEXP (tmp, 0).
12722
12723 2001-01-12  DJ Delorie  <dj@redhat.com>
12724
12725         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
12726         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
12727         targets.
12728
12729 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
12730
12731         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
12732         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
12733         -std options alongside references to -ansi.  Update some
12734         documentation for C99.
12735         * cpp.1: Regenerate.
12736
12737 2001-01-12  Andreas Jaeger  <aj@suse.de>
12738
12739         * haifa-sched.c (restore_line_notes): Remove argument block B
12740         since it's unused.
12741         * sched-ebb.c (schedule_ebb): Change caller.
12742         * sched-rgn.c (schedule_region): Likewise.
12743         * sched-int.h (restore_line_notes): Adjust prototype.
12744
12745         * loop.h: Remove wrong declaration of doloop_condition_get.
12746
12747 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
12748
12749         * extend.texi:  Move C++-extension-related node from the C section
12750         into the C++ section.
12751
12752 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
12753
12754         * extend.texi: Refer to an array of pointers to functions instead
12755         of one of functions.
12756
12757 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
12758                               Jan Hubicka  <jh@suse.cz>
12759
12760         * combine.c (reversed_comparison): Fix typo in last patch.
12761         Check X for NULL.
12762         (combine_reversed_comparison_code): Make static to follow
12763         prototype declaration.
12764
12765 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
12766
12767         * install.texi:  Remove misplaced duplicate entry.
12768
12769 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
12770
12771         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
12772
12773 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
12774
12775         * final.c: (leaf_function_p): Fix typo.
12776
12777 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
12778
12779         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
12780         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
12781         which you have.
12782         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
12783         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
12784         mmap_anon, and valloc is available.
12785         * ggc-page.c: Restructure ifdef logic to match new autoconf
12786         spec.  Don't throw away the test page in init_ggc.
12787
12788         * configure, config.in: Regenerate.
12789
12790 2001-01-12  Michael Hayes  <mhayes@redhat.com>
12791
12792         * loop.h (total_biv_increment): Constify iv_class pointer.
12793         (struct induction): Replace `mem_mode' with `mem' rtx.
12794         * unroll.c (total_biv_increment): Constify iv_class pointer.
12795         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
12796         (find_mem_givs, combine_givs_p): Likewise.
12797         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
12798
12799 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
12800
12801         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
12802         LastError.
12803         (__gthread_getspecific): Ditto.
12804
12805 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
12806
12807         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
12808         put_condition_code): Convert fp comparison codes to integer
12809         before handling.
12810         (ix86_expand_fp_compare): Postnote the fp comparison code converison
12811         to final.
12812
12813         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
12814         * i386-protos.h (no_comparison_operator): Kill.
12815
12816         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
12817
12818         * combine.c (REVERSIBLE_CC_MODE): Remove.
12819         (reversible_comparison_p): Remove.
12820         (combine_reversed_comparison_code): New.
12821         (reversed_comparison): New.
12822         (combine_simplify_rtx): Use
12823         combine_reversed_comparison_code/reversed_comparison instead
12824         of reversible_comparison_p.
12825         (simplify_if_then_else): Likewise.
12826         (simplify_set): Likewise.
12827         (simplify_logical): Likewise.
12828         (if_then_else_cond): Likewise.
12829         (known_cond): Likewise.
12830         (simplify_comparison): Likewise.
12831
12832 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
12833
12834         * builtins.c (std_expand_builtin_va_start): Handle varargs when
12835         sizeof (int) is larger than sizeof(__word__).
12836
12837 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12838
12839         * cppinit.c (do_includes): Fix typo.
12840
12841 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12842
12843         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
12844         in S_REGS does not occur because not all sources are possible
12845         when a S_REGS is a destination (sometimes needs a clobber).
12846         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
12847         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
12848         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
12849         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
12850         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
12851         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
12852         (lshrdi_const1, lshrsi3_const16): Likewise.
12853         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
12854         (*movhi_68hc12, *movqi_68hc12): Likewise.
12855         (movstrictqi): Make sure reloading in D_REGS as a destination
12856         does not happen.
12857
12858 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12859
12860         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12861
12862 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12863
12864         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
12865         -D, -U and -A, and don't initialize the builtins.
12866         (do_includes): Error if -include or -imacros with -fpreprocessed.
12867         * cppmain.c (cb_define, cb_undef): Unconditionally process
12868         the callback.
12869         * tradcpp.c (main): Fix typo.
12870
12871 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
12872
12873         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
12874         (read_name_map): Use IS_ABSOLUTE_PATH.
12875         * tradcpp.c (get_filename): Likewise.
12876
12877 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12878
12879         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
12880         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
12881         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
12882         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
12883         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
12884         (cmphi_z_used): Don't use '@' for the output.
12885         (tstqi_z_used): Likewise.
12886         (cmpqi_z_used): Likewise.
12887         (one_cmplsi2): Likewise.
12888
12889 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
12890
12891         * config/sh/sh.c (barrier_align): Recognize branch around far
12892         branch and redundant insn.
12893
12894 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12895
12896         * invoke.texi: Restore documentation of the drivers' switches -MD
12897         and -MMD.
12898
12899 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
12900
12901         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
12902
12903         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
12904         check-objc//%): Support parallel testing of multilibs.
12905         (TESTSUITEDIR): Set to testsuite by default, but override for
12906         parallel testing.
12907         (check-gcc, check-g++, check-g77, check-objc): Enter
12908         $(TESTSUITEDIR).
12909
12910 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
12911
12912         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
12913         * sched-deps.c (deps_may_trap_p): Likewise.
12914         * basic-block.h: Remove a comment.
12915         * flow.c (PROP_POSTRELOAD): Remove.
12916         (update_life_info): Don't add it to prop_flags.
12917         (mark_set_1): Lose the code that was enabled by it.
12918
12919 2001-01-11  Michael Hayes  <mhayes@redhat.com>
12920
12921         * flow.c (flow_call_edges_add): New.
12922         * basic_block.h (flow_call_edges_add): New.
12923
12924 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
12925
12926         * reload1.c (move2add_note_store): Update reg_set_luid even if
12927         base reg remains the same.
12928
12929 2001-01-10  Nick Clifton  <nickc@redhat.com>
12930
12931         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
12932         machine_function structure to zero.
12933         Add prototypes for machine_status functions.
12934
12935 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
12936
12937         * c-common.h (CTI_VOID_LIST): Remove.
12938         (void_list_node): Likewise.
12939         * tree.h (TI_VOID_LIST_NODE): New enumeral.
12940         (void_list_node): New macro.
12941         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
12942         * config/i386/i386.c (ix86_init_builtins): Likewise.
12943         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
12944
12945 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12946
12947         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
12948         * cppinit.c (cpp_start_read): Update comment, remove unneeded
12949         if statement.
12950         * tradcpp.c: Include mkdeps.h.
12951         (deps, print_deps_phony_targets, deps_append, output_deps,
12952         init_dependency_output, output_deps): New.
12953         (deps_buffer, deps_allocated_size, deps_size, deps_column,
12954         deps_output): Delete.
12955         (print_deps_missing_files): Rename deps_missing_files.
12956         (inhibit_output): Make global.
12957         (main): Delete inhibit_output, deps_stream, deps_target.
12958         Use mkdeps functionality in the same way as cpplib.  Remove
12959         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
12960         -M and -MM.  Remove old handling of deps via deps_out, and
12961         old reading of environment variables.
12962         (get_filename): Update to use deps_add_dep.
12963
12964 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
12965
12966         * output.h (make_function_rtl): Remove prototype.
12967         (make_decl_rtl): Likewise.
12968         * varasm.c (make_function_rtl): Remove.
12969         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
12970         than from a third parameter.
12971         * tree.h (make_decl_rtl): Remove last parameter.
12972         * c-decl.c (builtin_function): Remove last argument in call to
12973         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
12974         (start_function): Likewise.
12975         * except.c (call_get_eh_context): Likewise.
12976         * expr.c (emit_block_move): Likewise.
12977         (clear_storage): Likewise.
12978         * profile.c (output_func_start_profiler): Likewise.
12979         * toplev.c (rest_of_decl_compilation): Likewise.
12980         * objc/objc-act.c (create_builtin_decl): Likewise.
12981         (synth_module_prologue): Likewise.
12982         (generate_static_reference): Likewise.
12983         (build_selector_reference_decl): Likewise.
12984         (build_class_reference_decl): Likewise.
12985         (build_objc_string_decl): Likewise.
12986         (build_protocol_reference): Likewise.
12987
12988 2001-01-10  Richard Henderson  <rth@redhat.com>
12989
12990         * hwint.h: Revert yesterday's change.
12991
12992 2001-01-10  Nick Clifton  <nickc@redhat.com>
12993
12994         * function.h (save_machine_status): Delete.
12995         (restore_machine_status): Delete.
12996         Amend comment describing {init|mark|free}_machine_status.
12997
12998         * function.c (save_machine_status): Delete.
12999         (restore_machine_status): Delete.
13000         Amend comment describing {init|mark|free}_machine_status.
13001         (push_function_context_to): Remove invocation of
13002         save_machine_status.
13003         (pop_function_context_from): Remove invocation of
13004         restore_machine_status.
13005
13006         * emit-rtl.c (init_emit_once): Amend comment describing
13007         {init|mark|free}_machine_status.
13008
13009         * tm.texi (Per-Function Data): New node.  Describe the
13010         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
13011         function pointers.
13012
13013 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
13014
13015         * cppinit.c (OPT_g): Remove.
13016         (cpp_handle_option): Update for removed -g3.
13017         (print_help): Update.
13018         * cpplib.h (struct cpp_options): Remove debug_output.
13019         * cppmain.c (setup_callbacks, cb_define): Update.
13020         * gcc.c (cpp_options): Translate -g3 to -dD.
13021
13022 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
13023
13024         * config/i960/i960.md: Change modifier to + on the zero_extract
13025         pattern after the (rotate -2 reg) canonicalization pattern.
13026
13027 2001-01-10  Richard Henderson  <rth@redhat.com>
13028
13029         * config/alpha/alpha.c (alpha_free_machine_status): New.
13030         (override_options): Install it.
13031         (alpha_mark_machine_status): Verify machine non-null.
13032         * config/i386/i386.c (ix86_free_machine_status): New.
13033         (override_options): Install it.
13034         (ix86_init_machine_status): Use xcalloc.
13035         (ix86_mark_machine_status): Verify machine non-null.
13036         * config/ia64/ia64.c (ia64_free_machine_status): New.
13037         (ia64_override_options): Install it.
13038         (ia64_mark_machine_status): Verify machine non-null.
13039
13040 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
13041
13042         * function.c (instantiate_virtual_regs): Instantiate virtual
13043         registers found in CALL_INSN_FUNCTION_USAGE.
13044
13045 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
13046
13047         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
13048         equivalent to -ansi in disabling -Di386.
13049
13050 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
13051
13052         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
13053         new functions.
13054         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
13055
13056 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
13057
13058         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
13059
13060 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
13061
13062         * invoke.texi: Document that -fcond-mismatch isn't supported for
13063         C++.
13064
13065 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
13066
13067         * gcc.texi: Define macro gcctabopt.
13068         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
13069         @command, @env and @option in some places where appropriate.  Use
13070         @gcctabopt where appropriate.  Put URLs and email addresses inside
13071         @w.
13072
13073 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
13074
13075         * gcc.c (cpp_options): Set MD file name from output
13076         filename, if specified.
13077         (suffix_subst): New static variable.
13078         (do_spec): Clear it.
13079         (do_spec_1, case '.'): Handle new `%.suffix' spec.
13080         Clear it.
13081         (give_switch): Handle suffix_subst.
13082
13083 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
13084
13085         * invoke.texi:  Fix another typo.
13086
13087 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
13088
13089         * invoke.texi:  Fix typo.
13090
13091 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
13092
13093         * c-lang.c (lang_hooks): Update.
13094         (lang_decode_option): Remove.
13095         (lang_init_options): Rename c_init_options.
13096         * toplev.c (main): Use lang_hooks for lang_init_options
13097         and lang_decode_option.
13098         * toplev.h (lang_hooks): Add 2 new hooks.
13099         * tree.h: Remove lang_init_options and lang_decode_option.
13100         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
13101         * cp/decl2.c: Similarly.
13102         * cp/lex.c (lang_init_options): Rename cxx_init_options.
13103         (lang_hooks): Update.
13104         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
13105         for consistency.
13106         (lang_init_options): Rename ffe_init_options.
13107         (lang_hooks): Update.
13108         (lang_decode_option): Remove.
13109         * java/lang.c (lang_init_options): Rename java_init_options.
13110         (lang_decode_option): Rename java_decode_option.
13111         (lang_hooks): Update.
13112         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
13113         (lang_decode_option): Rename objc_decode_option.
13114         (lang_hooks): Update.
13115
13116 2001-01-09  Nick Clifton  <nickc@redhat.com>
13117
13118         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
13119         (d30v_return_addr_rtx): Delete.
13120         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
13121         cfun->machine structure.
13122         (struct machine_function): Move to d30v.h
13123         (d30v_save_machine_status): Delete.
13124         (d30v_restore_machine_status): Delete.
13125         (d30v_init_machine_status): New Function.
13126         (d30v_mark_machine_status): New Function.
13127         (d30v_free_machine_status): New Function.
13128         (d30v_init_expanders): Use new functions.
13129         (d30v_return_addr): Use ra_rtx field in cfun->machine.
13130         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
13131         d30v_return_addr_rtx.
13132
13133         * config/d30v/d30v.h (struct_machine): Move here.
13134         Add eh_epilogue_sp_ofs field.
13135
13136         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
13137         field in cfun->machine structure.
13138
13139 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13140
13141         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
13142         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
13143         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
13144
13145 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
13146
13147         * objc/lang-options.h: Remove bogus reference to
13148         Java trademark.
13149
13150 2001-01-09  Kazu Hirata  <kazu@hxi.com>
13151
13152         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
13153         return the result.
13154
13155 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
13156
13157         * reload.c (find_reloads_address): Check for eliminable registers
13158         when substituting a constant expression for a pseudo.
13159
13160 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
13161
13162         * c-common.c (enum format_type): Add format_type_error.
13163         (decode_format_type): New function.
13164         (decl_attributes): Use it.
13165         (format_kind_info): Adjust comment.
13166
13167 2001-01-09  David O'Brien  <obrien@BSDi.com>
13168
13169         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
13170         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
13171         files in tm_file.
13172         * config/i386/gnu.h: Don't include required platform specific .h files,
13173         tm.h will do it instead.
13174         * config/i386/i386elf.h: Likewise.
13175         * config/i386/linux.h: Likewise.
13176         * config/i386/moss.h: Likewise.
13177         * config/mips/gnu.h: Likewise.
13178
13179 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13180
13181         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
13182         (rs6000-ibm-aix3.[01]*): Likewise.
13183         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
13184         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
13185         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
13186         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
13187         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
13188         (powerpc-*-eabiaix*): Likewise.
13189         (powerpc-*-eabisim*): Likewise.
13190         (powerpc-*-elf*): Likewise.
13191         (powerpc-*-eabi*): Likewise.
13192         (powerpc-*-rtems*): Likewise.
13193         (powerpc-*-linux*libc1): Likewise.
13194         (powerpc-*-linux*): Likewise.
13195         (powerpc-wrs-vxworks*): Likewise.
13196         (powerpcle-wrs-vxworks*): Likewise.
13197         (powerpcle-*-sysv*): Likewise.
13198         (powerpcle-*-elf*): Likewise.
13199         (powerpcle-*-eabisim*): Likewise.
13200         (powerpcle-*-eabi*): Likewise.
13201         (powerpcle-*-solaris2*): Likewise.
13202         * config/rs6000/aix31.h: Delete includes.
13203         * config/rs6000/aix3newas.h: Likewise.
13204         * config/rs6000/aix41.h: Likewise.
13205         * config/rs6000/aix43.h: Likewise.
13206         * config/rs6000/beos.h: Likewise.
13207         * config/rs6000/rtems.h: Likewise.
13208         * config/rs6000/sysv4.h: Likewise.
13209
13210 2001-01-09  Kazu Hirata  <kazu@hxi.com>
13211
13212         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
13213         Change an argument mode of machine_mode to shift_mode of
13214         shift_mode.  Remove an extra error check.
13215         (emit_a_shift): Adopt to the new calling prototype of
13216         get_shift_alg.
13217         (function_prologue): Fix code for a monitor
13218         function.  Support H8/S.
13219         (function_epilogue): Do not output pop for a monitor function.
13220
13221 2001-01-09  Nick Clifton  <nickc@redhat.com>
13222
13223         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
13224         (setup_incoming_varargs): Use sysv_varargs_p field of the
13225         cfun->machine structure.
13226         (struct machine_function): Move to rs6000.h
13227         (rs6000_save_machine_status): Delete.
13228         (rs6000_restore_machine_status): Delete.
13229         (rs6000_init_machine_status): New Function.
13230         (rs6000_free_machine_status): New Function.
13231         (rs6000_init_expanders): Use new functions.
13232
13233         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
13234         export.
13235         (struct machine_function): Move here.
13236
13237         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
13238         sysv_varargs_p field of the cfun->machine structure.
13239
13240         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
13241         Remove prototype.
13242         (rs6000_restore_machine_status): Remove prototype.
13243
13244 2001-01-09  Richard Henderson  <rth@redhat.com>
13245
13246         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
13247         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
13248         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
13249         (sched_analyze_2, sched_analyze_insn): Likewise.
13250         (sched_analyze, init_deps): Likewise.
13251         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
13252         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
13253         (compute_block_backward_dependences): Update propagate_deps call.
13254
13255 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
13256
13257         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
13258
13259 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13260
13261         * cppinit.c (OPT_MD, OPT_MMD): Restore.
13262         (cpp_handle_option): Handle them.
13263         (cpp_post_options): Ensure one of -M or -MM is specified with
13264         any other -M? option.
13265         (init_dependency_output): Suppress output with -MG.
13266
13267 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13268
13269         * cpp.texi: Update.
13270         * invoke.texi: Update.
13271
13272 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
13273
13274         * sh.md (reload_outsf): Generate recognizable patterns for
13275         TARGET_SH3E.
13276
13277 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13278
13279         * c-lang.c (lang_hooks): Update.
13280         (lang_init): Rename c_init.
13281         (lang_finish): Remove.
13282         * toplev.c (compile_file): Use lang_hooks for lang_init ()
13283         and lang_finish ().
13284         * toplev.h (lang_hooks): Add init () and finish ().
13285         * tree.h (lang_init, lang_finish): Remove.
13286         * cp/tree.h (lang_init, lang_finish): Remove.
13287         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
13288         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
13289         lang_hooks): New.
13290         (lang_init, lang_finish): Remove.
13291         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
13292         (lang_hooks): Update.
13293         * java/lang.c (lang_init): Rename java_init.
13294         (lang_finish): Remove.
13295         (lang_hooks): Update.
13296         * objc/objc-act.c (lang_init): Rename objc_init.
13297         (lang_finish): Remove.
13298         (lang_hoooks): Update.
13299
13300 20001-01-09  Graham Stott  <grahams@redhat.com>
13301
13302         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
13303         after `ptr` is initialised.
13304
13305 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
13306
13307         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
13308         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
13309         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
13310         stack adjusts, instead of r3.
13311
13312 2001-01-09  Michael Hayes  <mhayes@redhat.com>
13313
13314         * flow.c (flow_loop_scan): Break out of ...
13315         (flow_loops_find) ... here.
13316         * basic-block.h (flow_loop_scan): New.
13317         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
13318         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
13319
13320 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
13321
13322         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
13323         macro_buffer_len.
13324         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
13325         realloc()ing macro_buffer.
13326
13327         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
13328         if it's wider than long and the target's long is wider than the
13329         host's.
13330
13331 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
13332
13333         Remove support for using UWIN as a host machine.
13334         * configure.in: Issue an error message.
13335         * configure: Regenerated.
13336         * config.gcc: Remove xm_* UWIN configury.
13337         * config/i386/xm-uwin.h: Remove.
13338
13339 2001-01-08  Nick Clifton  <nickc@redhat.com>
13340
13341         * config/v850/v850.c (ra_rtx): Delete.
13342         (v850_save_machine_status): Delete.
13343         (v850_restore_machine_status): Delete.
13344         (v850_init_machine_status): New function.
13345         (v850_mark_machine_status): New function.
13346         (v850_free_machine_status): New function.
13347         (v850_return_addr): Use ra_rtx field in machine structure.
13348         (v850_init_expanders): Use new functions.
13349
13350         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
13351         * config/v850/v850.c: Change arguments to v850_output+* functions
13352         to take a const char *, to avoid compile time warning.
13353         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
13354         (USER_LABEL_PREFIX): Redefine.
13355
13356 2000-01-08  Jim Wilson  <wilson@redhat.com>
13357
13358         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
13359         1 to unsigned HOST_WIDE_INT before left shift.
13360
13361 2001-01-08  Nick Clifton  <nickc@redhat.com>
13362
13363         * config/arm/arm.c (arm_mark_machine_status): Check to see if
13364         the machine structure has been allocated.
13365         (arm_free_machine_status): New function: Free the machine
13366         specific function structure.
13367
13368 2001-01-08  Richard Henderson  <rth@redhat.com>
13369
13370         * jump.c (simplejump_p): Revert last change.
13371
13372 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
13373
13374         * cppinit.c (init): Rename init_library.
13375         (cpp_create_reader): Update.
13376         * gcc.c (cpp_options): If -o given, use it as the target of
13377         any -M options.
13378
13379 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
13380
13381         * arm.c (arm_arch5e): New variable.
13382         (all_cores): XScale is a 5TE device.
13383         (arm_override_options): Set arm_arch5e.
13384         (arm_init_builtins): __builtin_prefetch is in arch5e.
13385         * arm.h (arm_arch5e): Declare it.
13386
13387         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
13388
13389         * arm.md (define_constants): Add defines for UNSPEC and
13390         UNSPEC_VOLATILE insns.  Update all users.
13391         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
13392         * arm.c (multi_register_push, note_invalid_constants)
13393         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
13394         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
13395         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
13396
13397 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
13398
13399         * jump.c (jump_optimize_1): Use reversed_comparison_code
13400         instead of can_reverse_comparison_p.
13401         (jump_back_p): Likewise.
13402         (invert_exp_1): Likewise.
13403         (thread_jumps): Likewise.
13404         * simplify-rtx.c (simplify_unary_operation): Likewise.
13405         (simplify_ternary_operation): Likewise.
13406         * cse.c (find_comparison_args): Convert to use
13407         can_reverse_comparison_p.
13408         (record_jump_equiv): Likewise.
13409
13410 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
13411
13412         * arm.h (HARD_REGNO_RENAME_OK): Delete.
13413         (EPILOGUE_USES): Define.
13414         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
13415         automatically stack the LR if it isn't live.
13416
13417 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
13418
13419         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
13420         properly.
13421
13422 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
13423
13424         * ggc-page.c (max_alignment): New structure.
13425         (MAX_ALIGNMENT): New macro.
13426         (init_ggc): Use it to round up the sizes in the
13427         extra_order_size_table.
13428
13429 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13430
13431         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
13432         after reload.
13433
13434 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13435
13436         * builtins.def (BUILT_IN_FPRINTF): New entry.
13437
13438         * c-common.c (c_expand_builtin_fprintf): New function.
13439         (init_function_format_info): Handle __builtin_fprintf.
13440         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
13441         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
13442
13443         * c-decl.c (duplicate_decls): Adjust comment.
13444
13445         * extend.texi (fprintf): Document new builtin.
13446
13447 2001-01-07  Richard Henderson  <rth@redhat.com>
13448
13449         * jump.c (simplejump_p): Recognize any single_set jump
13450         of the proper form.
13451
13452 2001-01-07  Richard Henderson  <rth@redhat.com>
13453
13454         * configure.in (slibdir): Accept an --with-slibdir option.
13455         Use "test" not "[" in configure.  Default to $(libdir).
13456
13457         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
13458         fix typo in rm -f.
13459         * config/t-aix43 (SHLIB_INSTALL): Likewise.
13460         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
13461         (SHLIB_LINK): Create links for the soname.
13462         * config/mips/t-iris6: Likewise.
13463         * config/sparc/t-slibgcc: Likewise.
13464         * config/sparc/t-slibgcc-sld: Likewise.
13465
13466 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
13467
13468         * config/i386/i386.c (constant_call_address_operand): Accept
13469         (const (plus (symbol_ref) (const_int))).
13470         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
13471         constant_call_address_operand.
13472
13473 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13474
13475         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
13476         and LONG_LONG_TYPE_SIZE > 32.
13477
13478 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13479
13480         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
13481         the previous change.
13482
13483 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
13484
13485         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
13486         New.
13487         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
13488         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
13489         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
13490         Declare.
13491
13492 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13493
13494         * fix-header.c (read_scan_file): s/pfile/scan_in/.
13495
13496 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13497
13498         * c-lang.c (c_post_options): Call cpp_post_options.
13499         * objc/objc-act.c (objc_post_options): Similarly.
13500         * cppmain.c (main): Similarly.
13501         * fix-header.c (read_scan_file): Similarly.
13502         * cppinit.c (cpp_start_read): Move option consistency checks
13503         to cpp_post_options.  Don't call init_dependency_output.
13504         If needed, add default target and main file dependency.
13505         (OPT_MD, OPT_MMD): Remove.
13506         (OPT_MF): New.
13507         (cpp_handle_option): Update for OPT_* changes.
13508         (cpp_post_options): New.
13509         (init_dependency_output): Command line -MF overrides environment
13510         variables.  Don't set default target etc.  Suppress output
13511         if dependencies are going to stdout.
13512         (print_help): Update.
13513         * cpplib.h (cpp_post_options): New.
13514         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
13515
13516 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
13517
13518         * jump.c (comparison_dominates_p): Support unordered compares.
13519
13520 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
13521
13522         * simplify-rtx.c (simplify_relational_operation): Always simplify
13523         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
13524         and UNGE.
13525
13526 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
13527
13528         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
13529         (nonzero_bits): Likewise.
13530         (simplify_comparison): Likewise.
13531         (num_sign_bit_copies): Likewise; return more sane value depending
13532         on STORE_FLAG_VALUE.
13533         (known_cond): Do not assume EQ to be always true for equivalent
13534         operands.
13535
13536 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
13537
13538         * cse.c (fold_rtx): Handle unordered comparisons.
13539
13540 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
13541
13542         * rtlanal.c (set_of_1): New static function.
13543         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
13544          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
13545          reg_set_last_last_regno): Remove.
13546         (set_of): New global function.
13547         (set_of_data): New structure.
13548         (reg_set_p, reg_set_last): Revamp for set_of.
13549         * rtl.h (set_of): New.
13550
13551 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
13552
13553         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
13554         * extend.texi: Document _Exit builtin.
13555
13556 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13557
13558         * (initialize, initialize_builtins,
13559         initialize_dependency_output, initialize_standard_includes):
13560         Rename s/initialize/init. Update.
13561         (init_dependency_output): Move to after
13562         cpp_handle_options, the correct location temporally at least.
13563         (opt_comp): Move next to init (), its caller.  Fix prototype.
13564         (init): Make "initialized" local scope.
13565         (cpp_create_reader): Always call init ().
13566         (cpp_start_read): Update.
13567         (output_deps): New function, broken out of cpp_finish.
13568         (cpp_finish): Break out output_deps.
13569
13570 2001-01-07  Richard Henderson  <rth@redhat.com>
13571
13572         * collect2.c (COFF specific stuff): Revert 12-06 patch
13573         to prototype system functions.
13574
13575 2001-01-07  Michael Hayes  <mhayes@redhat.com>
13576
13577         * hard-reg-set.h: Add multiple include guard.
13578         * basic-block.h (struct loop): Add `sink' field.
13579         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
13580         (emit_iv_add_mult): Delete.
13581         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
13582         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
13583         (unroll_loop): Remove end_insert_before argument.
13584         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
13585         (maybe_eliminate_biv_1): Likewise.
13586         (emit_iv_add_mult): Delete.
13587         (gen_add_mult, loop_regs_update): New.
13588         (loop_insn_emit_after, loop_insn_emit_before): New.
13589         (loop_insn_sink, loop_insn_sink_or_swim): New.
13590         (emit_iv_add_mult): Delete.
13591         (scan_loop): Set loop->sink.
13592         (loop_givs_reduce): Use loop_insn_sink and its ilk.
13593         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
13594         (maybe_eliminate_biv_1): Likewise.
13595         (maybe_eliminate_biv_1): Add basic block argument.
13596         * unroll.c (unroll_loop): Remove end_insert_before argument.
13597         (find_splittable_regs): Likewise.
13598         (find_splittable_regs): Use loop_insn_sink and its ilk.
13599         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
13600
13601 2001-01-07  Michael Hayes  <mhayes@redhat.com>
13602
13603         * loop.h (loop_insn_hoist): New prototype.
13604         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
13605         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
13606         (check_dbra_loop, load_mems): Likewise.
13607         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
13608         (find_splittable_givs): Likewise.
13609
13610 2001-01-07  Michael Hayes  <mhayes@redhat.com>
13611
13612         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
13613
13614 2001-01-07  Richard Henderson  <rth@redhat.com>
13615
13616         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
13617
13618 2001-01-07  Richard Henderson  <rth@redhat.com>
13619
13620         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
13621         NO_SHARED_LIBGCC_MULTILIB as required for the target.
13622         * gcc.c (init_spec): Massage the existing libgcc_spec into a
13623         variant that handles a shared libgcc.
13624         (process_command): Always validate -{static,shared}-libgcc.
13625         (do_spec_1): New 'M' case.
13626         * invoke.text (Link Options): Document -{static,shared}-libgcc.
13627
13628 2001-01-07  Richard Henderson  <rth@redhat.com>
13629
13630         * Makefile.in (slibdir): New variable.
13631         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
13632         (installdirs): Create slibdir.
13633         (install-libgcc, install-multilib): Defer to libgcc.mk.
13634         * configure.in (slibdir): Substitute.
13635         * mklibgcc.in (install): New target.
13636
13637         * config/t-linux (SHLIB_LINK): Create links for the soname.
13638         (SHLIB_INSTALL): New.
13639         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
13640         * config/mips/t-iris6 (SHLIB_INSTALL): New.
13641         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
13642         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
13643         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
13644
13645 2001-01-07  Richard Henderson  <rth@redhat.com>
13646
13647         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
13648         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
13649         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
13650
13651 2001-01-07  Michael Hayes  <mhayes@redhat.com>
13652
13653         * loop.c (count_loop_regs_set): Delete.
13654         (load_mems_and_recount_loop_regs_set): Delete.
13655         (loop_regs_scan): Merge common code from count_loop_regs_set,
13656         scan_loop, and load_mems_and_recount_loop_regs_set.
13657         (scan_loop): Call load_mems directly and loop_regs_scan
13658         again if new registers created.
13659
13660 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13661
13662         * toplev.c (main): Call the front-end specific post_options
13663         hook if one is given.
13664         * toplev.h (struct_lang_hooks, lang_hooks): New.
13665         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
13666         for the C front end.
13667         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
13668         lang_hooks for the C++ front end.
13669         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
13670         lang_hooks for the ObjC front end.
13671         * f/com.c (lang_hooks): Hooks for the Fortran front end.
13672         * java/lang.c (lang_hooks): Hooks for the Java front end.
13673
13674 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13675
13676         * c-lex.c (init_c_lex): Request #define / #undef callbacks
13677         for verbose DWARF[2] debugging.
13678         (cb_define, cb_undef): The new callbacks.
13679         * toplev.h (debug_define, debug_undef): Make const correct.
13680         * toplev.c (debug_define, debug_undef): Similarly.  Do not
13681         perform the verbosity tests here anymore.
13682
13683 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
13684
13685         * reload.c (subst_reloads): Take INSN argument.  When
13686         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
13687         * reload.h (subst_reloads): Adjust prototype.
13688         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
13689         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
13690         present in JUMP_INSNs and copy them to JUMP_LABEL.
13691         * flow.c (find_label_refs, find_basic_blocks_1): Skip
13692         JUMP_INSNs and insns with REG_LABELs that are followed by
13693         JUMP_INSNs with the same REG_LABEL.
13694         * sched-rgn.c (is_cfg_nonregular): Likewise.
13695         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
13696         note is available.
13697         * unroll.c (unroll_loop): Look for REG_LABEL notes in
13698         JUMP_INSNs too.
13699         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
13700
13701 2001-01-06  Richard Henderson  <rth@redhat.com>
13702
13703         * loop.c (scan_loop): Use xcalloc for the regs array.
13704         (load_mems_and_recount_loop_regs_set): Zero the new memory
13705         received from xrealloc.
13706
13707 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
13708
13709         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
13710
13711 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
13712
13713         * integrate.c (copy_rtx_and_substitute): When copying
13714         an ignored return value, strip REG_FUNCTION_VALUE_P.
13715
13716 2001-01-06  Michael Hayes  <mhayes@redhat.com>
13717
13718         * loop.c (debug_biv, debug_giv): New.
13719         (loop_biv_dump): Break out from ...
13720         (record_biv): ... here.
13721         (loop_giv_dump): Break out from ...
13722         (record_giv): ... here.
13723         (loop_bivs_check): Use print_simple_rtl.
13724         * unroll.c (loop_iterations): Use print_simple_rtl.
13725
13726 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13727
13728         * pa.md (return, return_internal): Modify patterns to prevent regrename
13729         mucking with the return pointer.
13730
13731 2001-01-05  Richard Henderson  <rth@redhat.com>
13732
13733         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
13734
13735 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
13736
13737         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
13738         version supplied by Matteo Frigo.
13739
13740 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13741
13742         * cpp.texi: Update for -MQ.
13743         * cppinit.c (cpp_create_reader): Always create pfile->deps.
13744         (cpp_cleanup): Always free pfile->deps.
13745         (initialize_dependency_output): Don't create pfile->deps.
13746         (cpp_handle_option): Similarly.
13747         (OPT_MQ): New.
13748         * gcc.c (cpp_options): Handle -MQ.
13749         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
13750         * mkdeps.c (base_name): Remove.
13751         (deps_init): Don't allocate vector space until it's needed.
13752         (deps_free): Only free vectors if allocated.
13753         (deps_add_target, deps_add_dep): Update for initial allocation.
13754         (deps_add_default_target): Don't strip to the base_name.
13755
13756 2001-01-05  DJ Delorie <dj@redhat.com>
13757
13758         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
13759         (INIT_EXPANDERS): Define.
13760
13761         * config/v850/v850.c (struct machine_function): Define.
13762         (v850_save_machine_status): New function.
13763         (v850_restore_machine_status): New function.
13764         (v850_return_addr): New function.
13765         (v850_init_expanders): New function.
13766
13767         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
13768         and v850_init_expanders.
13769
13770 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
13771
13772         * cpplib.h (struct cpp_reader): Add help_only field.
13773         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
13774         (cpp_handle_option): Set pfile->help_only if we see -h,
13775         --help, -target-help, or --version.  Print version string but
13776         do not set help_only if we see -v or -version.  Make text
13777         printed by -v match that printed by (-)-version.
13778
13779         * cppmain.c (main): Exit after option parsing if
13780         pfile->help_only is true.
13781
13782         * toplev.c (independent_decode_option): Call print_version,
13783         then exit, if we see --version (but not -version).
13784         (print_version): Split lengthy message into two lines.
13785
13786 2001-01-05  Nick Clifton  <nickc@redhat.com>
13787
13788         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
13789         temporary string for initialisation before calling ggc_alloc_string.
13790
13791 2001-01-06  Michael Hayes  <mhayes@redhat.com>
13792
13793         * rtl.h (print_simple_rtl): New.
13794         * print-rtl.c (print_simple_rtl): New.
13795         (flag_simple): New.
13796         (print_rtx): Disable printing of flags and modes, etc.,
13797         if `flag_simple` nonzero.
13798
13799 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
13800
13801         * function.c (fixup_var_refs): Use push_to_full_sequence where
13802         possible.
13803
13804 2001-01-05  Michael Meissner  <meissner@redhat.com>
13805
13806         * flags.h (flag_reorder_blocks): Add declaration.
13807         (flag_rename_block): Ditto.
13808
13809 2001-01-05  DJ Delorie  <dj@redhat.com>
13810
13811         * function.c (reorder_blocks): Make sure the flags are all reset
13812         before using them to mark blocks, else a second invocation will
13813         corrupt the block chain.
13814         (reorder_blocks_0): New, resets the flags.
13815
13816 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
13817
13818         * cse.c (find_comparison_args): Stop if the argument is known to
13819         be constant.
13820
13821 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
13822
13823         * config/sh/sh.md (movdf): When splitting load into pair of
13824         registers, don't clobber the register used in the address too
13825         early.
13826
13827 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
13828
13829         * varasm.c (mark_constant_pool): Improve initial comments.
13830         (mark_constants): Move marking of constants to mark_constant.
13831         (mark_constant): New function to recursively mark all constants
13832         referred to by a constant.
13833
13834 2001-01-05  Catherine Moore  <clm@redhat.com>
13835
13836         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
13837
13838 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
13839
13840         * cp/lang-options.h:  Bring comment in line with reality.
13841         * f/lang-options.h:  Likewise.
13842         * java/lang-options.h:  Likewise.
13843         * objc/lang-options.h:  Likewise.
13844         * ch/lang-options.h:  Likewise.
13845         * f/g77.texi:  And update the manual.
13846
13847 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
13848             Denis Chertykov  <denisc@overta.ru>
13849
13850         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
13851         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
13852         * config/avr/avr.md (all peepholes that request a scratch register):
13853         Call it, FAIL the peephole if not safe (in interrupt functions).
13854
13855 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
13856
13857         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
13858
13859 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
13860
13861         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
13862         Define.
13863         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
13864         BUILT_IN_CREAL and BUILT_IN_CIMAG.
13865         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
13866         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
13867         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
13868         BUILT_IN_CIMAG.
13869         * extend.texi: Document these builtins.
13870
13871 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
13872
13873         * c-common.c (lang_get_alias_set): Say we know nothing of
13874         VECTOR_TYPE aliasing.
13875
13876         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
13877
13878 2001-01-05  Bruce Korb  <bkorb@gnu.org>
13879
13880         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
13881         their x* equivalent versions for atexit-less systems
13882         * fixinc/fixincl.c(main): do not return from main() on atexit-less
13883         systems (or any other system any more).
13884
13885 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
13886
13887         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
13888         output operands.  Use arm_hard_register_operand for operand 4.
13889         (stmsi_postinc): Similarly.
13890         (ldmsi): Use arm_hard_register_operand for opernand 2.
13891         (stmsi): Similarly.
13892         * arm.c (arm_hard_register_operand): New function.
13893         * arm-protos.h (arm_hard_register_operand): Prototype it.
13894
13895         * arm.h (HARD_REGNO_RENAME_OK): Define.
13896
13897 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
13898
13899         * simplify-rtx.c (cfc_args): add "unordered" field.
13900         (check_fold_consts): Set unordered field.
13901         (simplify_relational_operation): Simplify the unordered
13902         comparisons.
13903
13904         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
13905         is valid.
13906
13907         * emit-rtl.c (try_split): Fix code to mark labels.
13908         * jump.c (mark_jump_label): Make global.
13909         * rtl.h (mark_jump_label): Declare.
13910
13911         * predict.c (estimate_probability): Handle unordred comparisons.
13912
13913 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13914
13915         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
13916         * cppinit.c (initialize_dependency_output):  Update.
13917         (cpp_finish): Output dummy targets for -MP.
13918         (OPT_MP): New.
13919         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
13920         * cpplib.h (struct cpp_options): Add deps_phony_targets.
13921         * gcc.c (cpp_options): Update to handle -MP.
13922         * mkdeps.c (deps_add_target, deps_add_default_target): Update
13923         to quote only the default target.
13924         (deps_phony_targets): Insert a preceding newline.  Rename from
13925         deps_dummy_targets for consistency.
13926         * mkdeps.h: Update
13927
13928 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
13929
13930         * calls.c (emit_library_call_value_1): Support
13931         INIT_CUMULATIVE_LIBCALL_ARGS.
13932         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
13933
13934 2001-01-04  Richard Henderson  <rth@redhat.com>
13935
13936         * c-decl.c (finish_struct): Detect flexible array members
13937         used in an inappropriate context.
13938         * c-typeck.c (really_start_incremental_init): Special case
13939         constructor_max_index for zero length arrays.
13940         (pop_init_level): Allow initialization of flexible array
13941         members.  Deprecate initialization of zero length arrays.
13942         Don't issue missing initializer warning for flexible array
13943         members or zero length arrays.
13944         (process_init_element): Don't dereference null DECL_SIZE.
13945         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
13946         Don't abort for empty constructors.  Use size_binop
13947         (output_constructor): Add commentary regarding zero length
13948         array futures.  Abort if we try to initialize an array of
13949         unspecified length with a non-empty constructor in the middle
13950         of a structure.
13951
13952         * extend.texi (Zero Length): Update and clarify documentation
13953         on static initialization.
13954
13955 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13956
13957         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
13958         with more than 32767 words of local storage.
13959
13960 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13961
13962         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
13963         for 'abs', 'labs', and 'fabs'.
13964         (c4x_expand_builtin): Likewise.
13965         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
13966
13967 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
13968
13969         * config/sh/sh.md (prget, prset): New insn types.
13970         (return delay slot): Dont' allow prset.
13971         (call, sfunc delay slot): Don't allow prget.
13972         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
13973         for prset and prget.
13974
13975 2001-01-05  Michael Hayes  <mhayes@redhat.com>
13976
13977         * loop.h (struct loop_reg): New.
13978         (struct loop_regs): Change to use array of `struct loop_reg'.
13979         * loop.c: Replace assortment of varrays with single regs array.
13980         (count_one_set): Delete may_not_move array argument
13981         and use regs array instead.  All caller's changed.
13982         (count_loop_regs_set): Delete may_not_move and single_usage
13983         arguments and use regs array instead.  All caller's changed.
13984         (find_single_use_in_loop): Replace usage array argument with pointer
13985         to regs structure.  All caller's changed.
13986         (loop_optimize): Delete `moved_once' array.
13987
13988 2001-01-05  Michael Hayes  <mhayes@redhat.com>
13989
13990         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
13991         Use it instead of loop_info->has_call for scanning loop mems.
13992         (check_dbra_loop): Replace loop_info->has_call test with
13993         loop_info->has_nonconst_call.
13994
13995 2000-01-04  Matthew Hiller  <hiller@redhat.com>
13996
13997         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
13998         for TARGET_SH3E.
13999
14000 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
14001
14002         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
14003         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
14004
14005 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
14006
14007         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
14008         (flag_short_double, flag_short_wchar): Define.
14009         (c_common_nodes_and_builtins): Create many tree nodes shared
14010         between C and C++ here instead of in cp/decl.c and ...
14011         * c-decl.c (init_decl_processing): ... here.
14012         (SIZE_TYPE, WCHAR_TYPE): Don't define.
14013         (flag_short_double, flag_short_wchar): Don't define.
14014         (record_builtin_type): New function.
14015         (build_void_list_node): New function.
14016         * c-common.h (flag_short_double, flag_short_wchar,
14017         record_builtin_type, build_void_list_node): Declare.
14018
14019 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
14020
14021         * integrate.c (expand_inline_function): Don't put a virtual
14022         register into the reg map.
14023
14024         * function.c (fixup_var_refs_1): If force_operand didn't put
14025         the address into the target, move it there.
14026
14027 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
14028
14029         Special-case tree_decl/tree_list allocations.
14030         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
14031         (OBJECT_SIZE): New macro.
14032         (NUM_EXTRA_ORDER): Likewise.
14033         (extra_order_size_table): New variable.
14034         (NUM_ORDERS): New macro.
14035         (objects_per_page_table): New variable.
14036         (object_size_table): New variable.
14037         (G.pages): Use NUM_ORDERS to bound the array.
14038         (G.page_tails): Likewise.
14039         (DIV_ROUND_UP): Remove.
14040         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
14041         (alloc_page): Use OBJECT_SIZE.
14042         (size_lookup): Don't make it const.
14043         (ggc_alloc): Use OBJECT_SIZE.
14044         (ggc_set_mark): Likewise.
14045         (ggc_get_size): Likewise.
14046         (init_ggc): Set up the object_size_table, objects_per_page_table,
14047         and adjust size_lookup.
14048         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
14049         (ggc_pop_context): Use NUM_ORDERS.
14050         (clear_marks): Likewise.
14051         (sweep_pages): Likewise.
14052         (poison_pages): Likewise.
14053         (ggc_print_statistics): Use OBJECT_SIZE.
14054
14055 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14056
14057         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
14058         Only call array_size_for_constructor if last field and array type
14059         with no upper bound.
14060
14061 2001-01-04  Philip Blundell  <philb@gnu.org>
14062
14063         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
14064         from bit 31 downwards, if this requires no more insns.
14065         (count_insns_for_constant): New helper function for above.
14066
14067 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
14068
14069         * gencodes.c (output_predicate_decls): Remove empty initializer.
14070
14071 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
14072
14073         * tree.c (copy_node): Remove documentation about obstacks.
14074         (buidl1): Check that nobody tries to build 2-argument nodes this
14075         way.
14076
14077 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14078
14079         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
14080         fp_high_losum_p.
14081
14082         * gencodes.c (output_predicate_decls): Fill empty initializer
14083         braces.
14084
14085 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
14086
14087         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
14088         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
14089         or -MM.
14090         (do_include): Handle missing headers like cpp0.
14091         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
14092         paths with first include pathname.  Don't strcat to uninitialized
14093         string.
14094
14095 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
14096
14097         * regrename.c (regrename_optimize): Don't rename from frame pointer
14098         if frame_pointer_needed.
14099         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
14100         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
14101         (ia64_reorg): Use it instead of scheduling if ! optimize.
14102         (errata_emit_nops): Properly call asm_noperands.
14103         (ia64_sched_reorder): Finish cycle if we see an asm.
14104         (ia64_variable_issue): Clear scheduling state after asms.
14105
14106 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14107
14108         * cpp.texi: Update for -MT.
14109         * cppinit.c (initialize_dependency_output): Add a default
14110         target if none has been given already.
14111         (no_tgt, OPT_MT): New.
14112         (cpp_handle_option): Handle -MT.  Update -M etc.
14113         * cpplib.h (struct cpp_options): Remove deps_target.
14114         * gcc.c (cpp_options): Handle -MT.
14115         * mkdeps.c (struct deps): Move from mkdeps.h.
14116         (deps_calc_target): Rename deps_add_default_target.  Add a
14117         default target if none has been specified already.
14118         * mkdeps.h (struct deps): Move to mkdeps.c.
14119         (deps_calc_target): Rename deps_add_default_target.
14120
14121 2000-01-03  Richard Henderson  <rth@redhat.com>
14122
14123         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
14124         Remove dead code.
14125         * c-typeck.c (push_init_level): Move checks for flexible array
14126         members and zero length arrays ...
14127         (pop_init_level): ... here.  Silently discard empty initializations.
14128         Remove dead code.
14129         * varasm.c (output_constructor): Update for sizeof change to
14130         zero-length arrays.
14131
14132         * extend.texi (Zero Length): Clarify semantics.
14133
14134 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
14135
14136         * configure.in (tm.h): Include isns-codes.h last.
14137         * configure: Rebuilt.
14138
14139 2001-01-03  Richard Henderson  <rth@redhat.com>
14140
14141         * config/alpha/alpha.md (addvsi3, addvdi3): New.
14142         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
14143
14144 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14145
14146         * tradcpp.c (main): Make sure finclude() is called with a valid
14147         indepth value while handling -include.
14148
14149 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
14150
14151         * gencodes.c (output_predicate_decls): New function.
14152         (main): Call it.
14153         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
14154         even if it is not the first time machmode.h is #included.
14155         * config/sh/sh.c (fpul_operand): Declare MODE argument.
14156         * tm.texi (PREDICATE_CODES): Document predicate declarations.
14157         * gcc.texi (Copyright): Added 2001.
14158
14159 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14160
14161         * c-common.c (c_common_lang_init): New function.  Warn if format
14162         warning options which only have effects when used with -Wformat
14163         are used without -Wformat.
14164         * c-common.h (c_common_lang_init): Declare.
14165         * c-lang.c (lang_init): Call c_common_lang_init.
14166         * objc/objc-act.c (lang_init): Call c_common_lang_init.
14167
14168 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14169
14170         * configure.in: Check for the mktemp command.
14171         * configure: Regenerate.
14172         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
14173         $TEMP.  Create temporary files with mktemp, if available at
14174         configure time; otherwise use set -C.  Remove temporary files
14175         before exit.
14176
14177 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14178
14179         * configure.in: Require at least texinfo 4.0.  Check for whether
14180         Pod::Man is sufficiently recent to regenerate GCC manpages.
14181         * configure:  Regenerate.
14182         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
14183         on #!.
14184         (GENERATED_MANPAGES): Define.
14185         (generated-manpages): New target.  Depend on cpp.1 as well as
14186         gcov.1.
14187         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
14188         configure to generated-manpages or empty) rather than on the
14189         manpages directly.  Remove execute permission from installed
14190         gcov.1 as well as cpp.1.
14191         * cpp.1, gcov.1: Regenerate.
14192
14193 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14194
14195         * builtins.c (expand_builtin_strncmp): Use host_integerp and
14196         tree_low_cst.  Allow using cmpstrsi in more cases.
14197
14198 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14199
14200         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
14201         sized types.
14202
14203 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
14204
14205         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
14206         * Makefile.in (HOST_CFLAGS): Mention build-make.
14207
14208 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14209
14210         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
14211         as JUMP_INSN.
14212
14213 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
14214
14215         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
14216         a REG rtx.
14217
14218         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
14219         callers changed.
14220
14221         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
14222         reg_base_value and reg_known_value arrays.
14223         (init_alias_analysis): Add more cases to detect known values.
14224         * sched-deps.c (deps_may_trap_p): New function.
14225         (sched_analyze_2): Use it.
14226
14227 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
14228
14229         * combine.c (simplify_shift_const): Even if we're sign-extracting,
14230         don't discard an ASHIFTRT if we're shifting in a wider mode.
14231
14232 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14233
14234         * toplev.c (rest_of_compilation): Don't print basic block information
14235         when CFG isn't up to date.
14236
14237 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
14238
14239         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
14240         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
14241         (UNALIGNED_SHORT_ASM_OP): Define.
14242         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
14243
14244 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
14245
14246         * fold-const.c (fold_convert): Fix typo.
14247
14248 2001-01-02  Richard Henderson  <rth@redhat.com>
14249
14250         * c-common.h (ASM_INPUT_P): New.
14251         * c-parse.in (asm): Set it when needed.
14252         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
14253         existance of an operand.
14254
14255 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
14256
14257         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
14258         (dwarf2out_frame_debug_expr): Likewise.
14259         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
14260
14261 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
14262
14263         * i386.c (ix86_split_to_parts): Return number of part required;
14264         handle TFmodes.
14265         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
14266         TFmodes.
14267         (ix86_split_long_move): Use number of part returned
14268         by ix86_split_to_parts
14269         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
14270         New macros.
14271         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
14272         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
14273         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
14274         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
14275         (ALIGN_MODE_128): Add TFmode.
14276         (IS_STACK_MODE): Likewise.
14277         (HARD_REGNO_NREGS): TFmode needs 3 registers.
14278         (HARD_REGNO_OK): Support TFmodes.
14279         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
14280         * i386.md (scheduler definitions): Use memory operand to determine
14281         fst/fld instructions; use mode attribute to determine real mode of
14282         the instruction.
14283         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
14284         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
14285
14286 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
14287
14288         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
14289
14290 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
14291
14292         * expr.c (store_constructor_field): Update ALIGN before calling
14293         store_constructor.
14294
14295 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
14296
14297         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
14298         host_integerp.
14299
14300 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
14301
14302         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
14303         incomplete type.
14304
14305 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
14306
14307         * c-decl.c (start_function): Don't warn on third parameter to main.
14308
14309 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14310
14311         * tsystem.h: Define HAVE_DECL_GETOPT.
14312
14313 2001-01-02  Philip Blundell  <pb@futuretv.com>
14314
14315         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
14316         of input operand.
14317
14318 2001-01-02  Richard Henderson  <rth@redhat.com>
14319
14320         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
14321
14322 2001-01-02  Andreas Jaeger  <aj@suse.de>
14323
14324         * c-decl.c (c_decode_option): Remove support of
14325         -Wmissing-noreturn.
14326
14327         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
14328         (W_options): Add -Wmissing-noreturn here.
14329
14330         * flow.c: Define lang_missing_noreturn_ok_p.
14331         (check_function_return_warnings): Use it.
14332
14333         * c-common.h: Declare lang_missing_noreturn_ok_p.
14334
14335         * c-lang.c (c_missing_noreturn_ok_p): New function.
14336         (lang_init): Set lang_missing_noreturn_ok_p.
14337
14338         * invoke.texi (Warning Options): Document this.
14339
14340 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
14341
14342         * extend.texi (C++ Extensions):  New node for C++ attributes;
14343         describe init_priority and com_interface.
14344         * invoke.texi:  Remove -finit-priority as it now has zero effect.
14345         * install.texi:  Fix xref syntax.
14346         * md.texi:  Likewise.
14347
14348 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14349
14350         * config.gcc (sparc64-wrs-vxworks*): New case.
14351         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
14352
14353         * config/sparc/sparc.c (sparc_override_options): Do support different
14354         pointer and architecture size.
14355         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
14356         (POINTERS_EXTEND_UNSIGNED): Define.
14357         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
14358         (FUNCTION_MODE): Define to be Pmode.
14359         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
14360
14361         * function.c (expand_function_end): Properly handle DECL_RESULT
14362         and copy when ptr_mode != Pmode.
14363         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
14364
14365 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14366
14367         * c-common.c (c_common_nodes_and_builtins): Set prototype
14368         parameters for __builtin_fputs, __builtin_fputc and
14369         __builtin_fwrite.  Don't declare plain fputc as a builtin.
14370
14371 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14372
14373         * loop.c (add_label_notes): Increment the label usage count when
14374         a note is added to an insn which refers to a CODE_LABEL.
14375         * gcse.c (add_label_notes): Likewise.
14376
14377 2001-01-01  Andreas Jaeger  <aj@suse.de>
14378
14379         * loop.c (scan_loop): Use xmalloc to allocate movables.
14380
14381 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
14382
14383         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
14384         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
14385         * reload1.c (REGISTER_MOVE_COST): Likewise.
14386         * regclass.c (REGISTER_MOVE_COST): Likewise.
14387         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
14388         dimension.  Adjust all users.
14389         (init_reg_sets_1): Iterate on all modes.
14390         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
14391         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
14392         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
14393         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
14394         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
14395         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
14396         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
14397         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
14398         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
14399         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
14400         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
14401         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
14402         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
14403         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
14404         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
14405         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
14406         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
14407         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
14408         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
14409         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
14410         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
14411         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
14412         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
14413         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
14414         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
14415         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
14416         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
14417
14418 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
14419
14420         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
14421         arg VARIES_P.  Call it with extra arg.
14422         (true_dependence): Likewise.
14423         * rtl.h (rtx_addr_can_trap_p): Declare.
14424         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
14425         prototypes.
14426         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
14427         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
14428         pic offset table register if it's zero.  All callers changed.
14429         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
14430
14431 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14432
14433         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
14434         STRING_POOL_ADDRESS_P.
14435
14436         * config/sparc/sparc.c (input_operand): Properly test for short op.
14437
14438         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
14439         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
14440         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
14441         * config/sparc/elf.h: No longer include sol2.h.
14442         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
14443         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
14444
14445         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
14446
14447 2001-01-01  Michael Hayes  <mhayes@redhat.com>
14448
14449         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
14450         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
14451         (record_initial): Likewise.
14452         * unroll.c (copy_loop_body, loop_iterations): Likewise.
14453         (remap_split_bivs): Likewise.
14454
14455 2001-01-01  Michael Hayes  <mhayes@redhat.com>
14456
14457         * loop.c (loop_ivs_free): New function.
14458         (strength_reduce): Break out from...
14459
14460 2001-01-01  Michael Hayes  <mhayes@redhat.com>
14461
14462         * loop.h (struct iv): New.
14463         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
14464         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
14465         'reg_biv_class' fields with 'regs' and 'n_regs'.
14466         (struct ivs): Rename 'loop_iv_list' field to 'list'.
14467         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
14468         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
14469
14470 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
14471
14472         * resource.c (mark_referenced_resources): Abort() before
14473         attempting to mark a pseudo register.
14474         (mark_set_resources): Likewise.
14475
14476 2001-01-01  Michael Hayes  <mhayes@redhat.com>
14477
14478         * loop.h (REG_IV_CLASS): New accessor macro.
14479         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
14480         * unroll.c (REG_IV_CLASS): Likewise.
14481
14482 See ChangeLog.4 for earlier changes.