xref: /openbsd/gnu/usr.bin/gcc/gcc/ChangeLog.5 (revision c87b03e5)
12001-06-30  Zack Weinberg  <zackw@stanford.edu>
2
3	* rtl.def (DEFINE_INSN, DEFINE_INSN_AND_SPLIT, DEFINE_PEEPHOLE):
4	Change output-template slot to format 'T'.
5	* rtl.h (XTMPL): New.
6	* read-rtl.c (read_escape): New function.
7	(read_quoted_string, read_braced_string): Use it.
8	(read_rtx): Set star_if_braced from the format string.
9	Use XTMPL where appropriate.
10	* genoutput.c (gen_insn, gen_peephole): Use XTMPL to get the
11	template string.
12
13	* rtl.c: Include errors.h for sake of rtl_check_failed* routines.
14	Document 'T' in rtx format strings.
15	* Makefile.in (rtl.o, $(HOST_PREFIX_1)rtl.o): Depend on errors.h.
16	* errors.c (internal_error): Add missing ": " at end of string.
17
18	* i860.md: Change triple backslashes to double backslashes at
19	ends of lines in output templates.
20	* ns32k.md: Remove stray backslash-newline in output template.
21
222001-06-29  Nick Clifton  <nickc@cambridge.redhat.com>
23
24	* gcc.c (process_command): Append a DIR_SEPARATOR to a path
25	specified by the -B switch, if doing so would create a valid
26	directory name.
27	* doc/invoke.texi: Document changed behavior of -B.
28
292001-06-29  DJ Delorie  <dj@redhat.com>
30
31	* simplify-rtx.c (simplify_subreg): When simplifying a CONCAT, at
32	least get rid of the CONCAT if we can't simplify further.
33
34Fri Jun 29 12:27:24 2001  Jeffrey A Law  (law@cygnus.com)
35
36	* simplify-rtx.c (simplify_rtx): Use swap_commutative_operands_p.
37
38	* doc/gcc.texi (Passes): Update due to recent -fdce -> -fssa-dce
39	changes.  Fix documentation for SSA DCE pass.
40
41	* ssa-dce.c (ssa_eliminate_dead_code): Renamed from
42	eliminate_date_code.
43	* ssa.h (ssa_eliminate_dead_code): Corresponding changes.
44	* timevar.def (TV_SSA_DCE): Renamed from TV_DEAD_CODE_ELIM.
45	* toplev.c (DFI_ssa_dce): Renamed from DFI_dce.
46	(dump_file_info): Similar changes.
47	(flag_ssa_dce): Similarly
48	(f_options): Similar changes.
49	(rest_of_compilation): Corresponding changes.
50	* doc/invoke.texi: Update as option is now -fssa-dce instead
51	of -fdce.  Update dump file name.
52
53	* ssa-dce.c (note_inherently_necessary_set): New function.
54	(find_inherently_necessary): Use it.  Do not consider
55	NOTEs, CODE_LABELs or BARRIERS are necessary.  Improve
56	handling of asms and unspecs.
57	(delete_insn_bb): Only delete INSNs, CALL_INSNs or JUMP_INSNs.
58
592001-06-29  Joseph S. Myers  <jsm28@cam.ac.uk>
60
61	* target.h (struct gcc_target): Add comp_type_attributes and
62	set_default_type_attributes.
63	* target-def.h (TARGET_COMP_TYPE_ATTRIBUTES,
64	TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Define.
65	(TARGET_INITIALIZER): Update.
66	* doc/tm.texi (COMP_TYPE_ATTRIBUTES, TARGET_COMP_TYPE_ATTRIBUTES,
67	SET_DEFAULT_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
68	Update documentation of old target macros to describe new target
69	hooks.
70	* tree.c (make_node): Use target.set_default_type_attributes.
71	(default_comp_type_attributes,
72	default_set_default_type_attributes): New functions.
73	* tree.h (default_comp_type_attributes,
74	default_set_default_type_attributes): Declare.
75	* c-typeck.c (COMP_TYPE_ATTRIBUTES): Don't define.
76	(comptypes): Use target.comp_type_attributes.
77	* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h
78	(arc_comp_type_attributes, arc_set_default_type_attributes,
79	COMP_TYPE_ATTRIBUTES, SET_DEFAULT_TYPE_ATTRIBUTES): Remove
80	functions and macros with default behavior.
81	* config/m32r/m32r-protos.h, config/m32r/m32r.c,
82	config/m32r/m32r.h (m32r_comp_type_attributes,
83	m32r_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
84	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
85	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
86	config/m68hc11/m68hc11.h (m68hc11_comp_type_attributes,
87	m68hc11_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
88	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
89	* config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c,
90	config/ns32k/ns32k.h (ns32k_comp_type_attributes,
91	COMP_TYPE_ATTRIBUTES): Likewise.
92	* config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
93	config/rs6000/rs6000.h (rs6000_comp_type_attributes,
94	rs6000_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
95	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
96	* config/d30v/d30v.h (COMP_TYPE_ATTRIBUTES,
97	SET_DEFAULT_TYPE_ATTRIBUTES): Remove commented out macro
98	definitions.
99	* config/i386/i386.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
100	* config/ns32k/ns32k.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
101	* config/arm/arm.c (arm_comp_type_attributes,
102	arm_set_default_type_attributes): Make static.
103	(TARGET_COMP_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
104	Define.
105	* config/arm/arm.h (COMP_TYPE_ATTRIBUTES,
106	SET_DEFAULT_TYPE_ATTRIBUTES): Don't define.
107	* config/arm/arm-protos.h (arm_comp_type_attributes,
108	arm_set_default_type_attributes): Don't declare.
109	* config/i386/i386.c (ix86_comp_type_attributes): Make static.
110	(TARGET_COMP_TYPE_ATTRIBUTES): Define.
111	* config/i386/i386.h (COMP_TYPE_ATTRIBUTES): Don't define.
112	* config/i386/i386-protos.h (ix86_comp_type_attributes): Don't
113	declare.
114
1152001-06-28  Jan van Male  <jan.vanmale@fenk.wau.nl>
116
117	* predict.c (dump_prediction): Eliminate fprintf warning.
118
1192001-06-28  Diego Novillo  <dnovillo@redhat.com>
120
121	* flow.c (dump_bb): Remove unused third argument to call
122	to fprintf when displaying the basic block header.
123
1242001-06-28  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
125	    Jeff Law <law@redhat.com>
126
127	* Makefile.in (OBJS): Add df.o
128	(df.o): Add dependencies.
129	* basic-block.h (flow_depth_first_order_compute): Declare.
130	* flow.c (flow_depth_first_order_compute): No longer declare.
131	Make external.
132	* df.c, df.h: New files.
133
1342001-06-28  Zack Weinberg  <zackw@stanford.edu>
135
136	* config/i386/i386.md: Global update to use new string syntax
137	where it will improve readability.  Warning fixes:
138	(*truncdfsf2_2): Abort if which_alternative is not 0 or 1.
139	(*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64,
140	*adddi_4_rex64, *adddi_5_rex64): Cast 1 to unsigned int.
141
142	* read-rtl.c: Syntactic sugar for C embedded in strings in
143	machine descriptions.
144	(read_string): Break inner loop into separate function.  Takes
145	an int.  Dispatch to read_quoted_string or read_braced_string
146	as appropriate.  Automatically insert a leading star on braced
147	strings if STAR_IF_BRACED is true.
148	(read_quoted_string, read_braced_string): New functions.
149	* doc/rtl.texi, doc/md.texi: Document new syntax.  Update
150	examples to match.
151
152	* rtl.c: Split RTL reader (read_rtx, read_skip_spaces,
153	traverse_md_constants, fatal_with_file_and_line,
154	fatal_expected_char, read_name, read_string, def_hash,
155	def_name_eq_p, read_constants, and related data) to its own
156	file.  Weed out now-unnecessary #includes.
157	* read-rtl.c: New file.
158	* Makefile.in (HOST_RTL): Add read-rtl.o.
159	(read-rtl.o): New rule.
160	(rtl.o, $(HOST_PREFIX_1)rtl.o): Update dependencies.
161	* doc/gcc.texi (Passes): Talk briefly about the support
162	library used by genfoo.
163	* doc/rtl.texi (Reading RTL): read_rtx is not available in the
164	compiler itself.
165
1662001-06-28  Stan Shebs  <shebs@apple.com>
167
168	* config/darwin.h (REGISTER_TARGET_PRAGMAS): Define.
169	* config/darwin-c.c: New file.
170	* config/darwin-protos.h: Declare new functions.
171	* config/rs6000/t-darwin (darwin-c.o): New rule.
172	* config.gcc (powerpc-*-darwin*): Define c_target_objs and
173	cxx_target_objs.
174	* doc/extend.texi (Pragmas): New section.
175
176Thu Jun 28 20:13:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
177
178	* flow.c (try_merge_block): Rename to try_optimize_cfg;
179	do basic simplifications on the CFG.
180	(is_forwarder_block_p, can_fallthru, try_redirect_by_replacing_jump,
181	 try_simplify_condjump): New.
182	(redirect_edge_and_branch): Try replace jump insn.
183	(flow_delete_insn): Handle deleting of ADDR_VEC insns.
184
185	* basic-block.h (FALLTHRU_EDGE, BRANCH_EDGE): New macros.
186
187Thu Jun 28 11:19:42 2001  Jeffrey A Law  (law@cygnus.com)
188
189	* ssa-dce.c (eliminate_dead_code): Properly handle control
190	dependencies implied by PHI nodes.
191
192	* ssa-dce.c (eliminate_dead_code): Remove fake edges from the
193	CFG after dead code elimination is complete.
194
1952001-06-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
196
197	* gthr-posix.h [LIBOBJC]: Add weak definitions of
198	sched_get_priority_max, sched_get_priority_min.
199
2002001-06-28  Gabriel Dos Reis  <gdr@codesourcery.com>
201
202	* diagnostic.c (default_print_error_function): Tweak.
203	(report_error_function): Likewise.
204	* toplev.h (default_print_error_function): Move to...
205	* diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
206	* tree.h (print_error_function): Move to...
207	* diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
208
209Thu Jun 28 06:16:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
210
211	* expr.c (expand_assignment): When have varying-length object,
212	make MEM a BLKmode.
213	(expand_expr, case ADDR_EXPR): Use SAVE_EXPR_RTL after putting
214	SAVE_EXPR stack in case we had a SUBREG.
215
216Thu Jun 28 10:31:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
217
218	* i386.md (cmp?i): Simplify; refuse immediate operand
219	in alternative 0
220	* i386.c (cmpsi_operand): Refuse constants.
221
222	* i386.md (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
223
224	* flow.c (block_label, redirect_edge_and_branch): Split out from ....
225	(split_edge) .... here;
226
2272001-06-28  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
228
229	* i386/i386.c (ix86_valid_type_attribute_p): Give external
230	linkage, move declaration to...
231	* i386/i386-protos.h: ...here.
232
2332001-06-27  H.J. Lu  (hjl@gnu.org)
234
235	* build-make (CC): Removed.
236	(HOST_CC): Set to $(CC_FOR_BUILD).
237	(HOST_CFLAGS): Replace $(CFLAGS) with $(CFLAGS_FOR_BUILD).
238	Fix a typo in comments.
239
240	* configure.in: Set CFLAGS to $(CFLAGS_FOR_BUILD) when
241	generating auto-build.h for canadian cross compile. Set CC
242	to `"${CC_FOR_BUILD}"' instead of just `${CC_FOR_BUILD}'.
243	Save/restore CFLAGS.
244	* configure: Regenerated.
245
2462001-06-27  Jim Wilson  <wilson@redhat.com>
247
248	* emit-rtl.c (gen_highpart): Call validize_mem.
249
2502001-06-27  Bruce Korb  <bkorb@gnu.org>
251
252	* fixinc/inclhack.def(hpux11_cpp_pow_inline): new, but real similar to
253	hpux10_cpp_pow_inline.  Not similar enough.
254	(solaris_mutex_init): renamed.  PTHREAD_*_INITIALIZER is a problem for
255	all Solaris versions.  This fix patches MUTEX and COND initializers,
256	the RWLOCK one will wait for someone to complain.  For now, anyway.
257	(uw7_byteorder_fix): It was looking for the byteorder.h file in the
258	wrong directory.
259
2602001-06-27  Stan Shebs  <shebs@apple.com>
261
262	* objc/objc-act.c (handle_impent): Rewrite to be more portable
263	and to use ASM_DECLARE_CLASS_REFERENCE.
264	* config/darwin.h (ASM_DECLARE_CLASS_REFERENCE): Rename from
265	undocumented DECLARE_CLASS_REFERENCE, add file argument.
266	* doc/tm.texi (ASM_DECLARE_CLASS_REFERENCE): Document.
267
268Wed Jun 27 18:01:09 2001  Jeffrey A Law  (law@cygnus.com)
269
270	* simplify-rtx.c (simplify_rtx): Canonicalize commutative expressions
271	by putting complex operands first and constants second.
272
2732001-06-27  Gabriel Dos Reis  <gdr@codesourcery.com>
274
275	* diagnostic.h: Add documentation. Make macros polymorphic.
276	* diagnostic.c (ideal_line_wrap_cutoff): Remove
277	definition. Replace with diagnostic_line_cutoff.
278	(prefixing_policy): Remove. Replace with diagnostic_prefixing_rule.
279
2802001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
281
282	* doc/c-tree.texi, doc/contrib.texi, doc/cpp.texi,
283	doc/cppinternals.texi, doc/extend.texi, doc/gcc.texi,
284	doc/gcov.texi, doc/install-old.texi, doc/install.texi,
285	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Replace
286	. at end of sentences preceded by a capital letter with @..
287
2882001-06-26  Daniel Berlin  <dan@cgsoftware.com>
289
290	* doc/invoke.texi: Add description of max-gcse-passes param.
291
292	* gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES.
293	(MAX_PASSES): Remove now unneeded macro.
294
295	* params.h (MAX_GCSE_PASSES): New macro, to get parameter value of
296	max-gcse-passes param.
297
298	* params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling
299	maximum number of GCSE passes to run. Defaults to 1 (which is what
300	MAX_PASSES in gcse.c used to be).
301
3022001-06-27  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
303
304	* system.h (TARGET_ESC): Move to ...
305	* defaults.h (TARGET_ESC): ... here.
306	* target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
307	TARGET_VALID_TYPE_ATTRIBUTE): Default to a no-op handler.
308	* tree.c (default_valid_attribute_p): New.
309	(valid_machine_attribute): Handlers can not be NULL.
310	* tree.h (default_valid_attribute_p): New.
311	* doc/tm.texi: Document TARGET_ESC.
312	* cp/decl2.c (import_export_class): Update.
313
3142001-06-26  Bruce Korb  <bkorb@gnu.org>
315
316	* gcc/fixinc/fixincl.c(initialize): In very strict ANSI, you cannot
317	use preprocessing directives inside a string literal.  Fixed.
318
3192001-06-26  Jim Wilson  <wilson@redhat.com>
320
321	* doc/tm.texi (MAX_LONG_DOUBLE_TYPE_SIZE, INTEL_EXTENDED_IEEE_FORMAT):
322	Document.
323
3242001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
325
326	* doc/cpp.texi, doc/cppinternals.texi, doc/extend.texi,
327	doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
328	doc/tm.texi: Use @: where necessary when a full stop does not end
329	a sentence.
330
3312001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
332
333	* doc/gcc.texi, doc/install.texi, doc/invoke.texi: Remove trailing
334	whitespace.
335
3362001-06-26  Joseph S. Myers  <jsm28@cam.ac.uk>
337
338	* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi,
339	doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi,
340	doc/tm.texi: Use two spaces after ends of sentences.
341
3422001-06-26  Daniel Berlin  <dan@cgsoftware.com>
343
344	* toplev.c (display_help): Fix param thinko.
345	* Makefile.in: Fix params.h dependencies.
346
3472001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
348
349	* toplev.c (decode_f_option): Adjust setting.
350	(toplev_main): Call diagnostic_initialize.  Remove call to
351	reshape_diagnostic_buffer._
352
353	* diagnostic.h (struct output_buffer): Add new field format_decoder.
354	(diagnostic_format_decoder): New macro.
355	(diagnostic_prefixing_rule): Likewise.
356	(diagnostic_line_cutoff): Likewise.
357	(set_message_prefixing_rule): Remove.
358
359	* diagnostic.c (lang_printer): Remove.
360	(diagnostic_message_length_per_line): Likewise.
361	(current_prefixing_rule): Likewise.
362	(initialize_diagnostics): Rename to...
363	(diagnostic_initialize): ...this. Tweak.
364	(default_initialize_buffer): Remove.
365	(reshape_diagnostic_buffer): Likewise.
366	(init_output_buffer): Adjust prefixing rule setting.
367	(output_format): Use format_decoder from the output_buffer.
368
369	* c-lang.c (c_init): Adjust tree formatter setting.
370
3712001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
372
373	* config/i386/sol2.h (CPP_SPEC): Pass -P for .S files.
374
3752001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
376
377	* Makefile.in (TARGET_H, TARGET_DEF_H): New.
378	(c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
379	* c-decl.c (duplicate_decls): Use function pointer.
380	* c-typeck.c (common_type): Similarly.
381	* tree.c (valid_machine_attribute): Similarly.
382	(merge_machine_type_attributes): Rename merge_type_attributes.
383	(merge_machine_decl_attributes): Rename merge_decl_attributes.
384	(merge_dllimport_decl_attributes): New function.
385	* tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
386	(merge_machine_decl_attributes): Rename merge_decl_attributes.
387	(merge_dllimport_decl_attributes): New prototype.
388	* target.h: New.
389	* target-def.h: New.
390
391doc:	(Joseph Myers)
392	* doc/gcc.texi, doc/tm.texi: Update documentation.
393
394cp:	Make-lang.in: Update dependencies.
395	* spew.c: Include target.h.
396	(duplicate_decls): Call target function.
397	* decl2.c: include target.h
398	(import_export_class): Use existence of target function pointer.
399	* typeck.c: Include target.h.
400	(qualify_type_recursive): Rename variable.  Call target function.
401	(type_after_usual_arithmetic_conversions): Similarly.
402	(common_type): Similarly.
403
404config:	* 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
405	avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
406	d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
407	i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
408	m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
409	mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
410	pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
411	sh/sh.c, sparc/sparc.c,	v850/v850.c, vax/vax.c, we32k/we32k.c)
412	: Include target.h and target-def.h.  Define target.
413
414	* arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
415	* arc/arc.c (arc_valid_machine_decl_attribute): Rename
416	arc_valid_decl_attribute, make static.
417	* arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
418	* arm/arm-protos.h (arm_valid_machine_decl_attribute,
419	arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
420	arm_pe_merge_machine_decl_attributes): Remove.
421	* arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
422	arm_valid_decl_attribute_p, make static.
423	(arm_pe_valid_decl_attribute_p): Move from pe.c.
424	* arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
425	(arm_pe_merge_machine_decl_attributes): Move to tree.c.
426	* arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
427	* arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
428	* arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
429	* arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New.
430	(VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove.
431	* avr/avr-protos.h (valid_machine_type_attribute,
432	valid_machine_decl_attribute): Remove.
433	* avr/avr.c (valid_machine_type_attribute,
434	valid_machine_decl_attribute): Rename and make static.
435	* avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE,
436	VALID_MACHINE_DECL_ATTRIBUTE): Remove.
437	* c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
438	* c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
439	* c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
440	* d30v/d30v.h: Remove obsolete comments.
441	* h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
442	* h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
443	static.
444	* h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
445	* i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
446	(i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
447	i386_pe_valid_type_attributes_p): Remove.
448	* i386/i386-protos.h (ix86_valid_decl_attribute_p,
449	ix86_valid_type_attribute_p): Remove.
450	* i386/i386.c (ix86_valid_decl_attribute_p): Remove.
451	(ix86_valid_type_attribute_p): Make static.
452	* i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE,
453	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
454	* i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
455	* ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
456	* ia64/ia64.c (ia64_valid_type_attribute): Make static.
457	* ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
458	* m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
459	* m32r/m32r.c (m32r_valid_decl_attribute): Make static.
460	* m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
461	* m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
462	m68hc11_valid_type_attribute_p): Remove.
463	* m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
464	(m68hc11_valid_type_attribute_p): Make static.
465	* m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
466	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
467	* mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
468	mcore_merge_machine_decl_attribute): Remove.
469	* mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
470	make static.
471	(mcore_merge_machine_decl_attributes): Move to tree.c.
472	* mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE,
473	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
474	(TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
475	* ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
476	ns32k_valid_type_attribute_p): Remove.
477	* ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
478	(ns32k_valid_type_attribute_p): Make static.
479	* ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE,
480	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
481	* rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
482	rs6000_valid_type_attribute_p): Remove.
483	* rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
484	(rs6000_valid_type_attribute_p): Make static.
485	* rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE,
486	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
487	* sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
488	* sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
489	* sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
490	* v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
491	* v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
492	* v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
493
4942001-06-26  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
495
496	* glimits.h (USHRT_MAX): Use unsigned suffix if int can not hold
497	it.
498
4992001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
500
501	* diagnostic.h (struct diagnostic_context): Add new field.
502	(lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
503	declaratons.
504	(global_dc): Declare.
505	* diagnostic.c (global_diagnostic_context): New variable.
506	(global_output_buffer): Remove.
507	(global_dc): Define.
508	(lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
509	definitions.
510	(initialize_diagnostics): Adjust initialization.
511	(set_diagnostic_context): Adjust setting.
512
5132001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
514
515	* config/mips/iris5.h (UNALIGNED_INT_ASM_OP,
516	UNALIGNED_SHORT_ASM_OP): Define.
517	* config/mips/iris6.h (UNALIGNED_INT_ASM_OP,
518	UNALIGNED_SHORT_ASM_OP): Undef.
519
520Tue Jun 26 12:40:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
521
522	* i386.md (float_truncate splitter, and to mov splitters): Add
523	reload_completed; fix operand predicate.
524
525	* haifa-sched.c (sched_init): Do not split insns.
526	* toplev.c (rest_of_compilation): Call split_all_insns before
527	sched1 pass; simplify condition of post-reload splitter;
528	call split_all_insn before sched2 pass.
529
5302001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
531
532	* diagnostic.h (diagnostic_prefixing_rule_t): New enum type.
533	(set_message_prefixing_rule): Adjust prototype.
534	* diagnostic.c (current_prefixing_rule): Adjust type.
535
5362001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
537
538	* defaults.h: Default escape sequences to ASCII.
539	* config/i370/i370.h: Adjust for ASCII default.
540	* config/1750a/1750a.h: Remove escape sequence definitions.
541	* config/a29k/a29k.h: Similarly.
542	* config/alpha/alpha.h: Similarly.
543	* config/arc/arc.h: Similarly.
544	* config/arm/arm.h: Similarly.
545	* config/avr/avr.h: Similarly.
546	* config/c4x/c4x.h: Similarly.
547	* config/clipper/clipper.h: Similarly.
548	* config/convex/convex.h: Similarly.
549	* config/d30v/d30v.h: Similarly.
550	* config/dsp16xx/dsp16xx.h: Similarly.
551	* config/elxsi/elxsi.h: Similarly.
552	* config/fr30/fr30.h: Similarly.
553	* config/h8300/h8300.h: Similarly.
554	* config/i386/i386.h: Similarly.
555	* config/i860/i860.h: Similarly.
556	* config/i960/i960.h: Similarly.
557	* config/ia64/ia64.h: Similarly.
558	* config/m32r/m32r.h: Similarly.
559	* config/m68hc11/m68hc11.h: Similarly.
560	* config/m68k/m68k.h: Similarly.
561	* config/m88k/m88k.h: Similarly.
562	* config/mcore/mcore.h: Similarly.
563	* config/mips/mips.h: Similarly.
564	* config/mn10200/mn10200.h: Similarly.
565	* config/mn10300/mn10300.h: Similarly.
566	* config/ns32k/ns32k.h: Similarly.
567	* config/pa/pa.h: Similarly.
568	* config/pdp11/pdp11.h: Similarly.
569	* config/pj/pj.h: Similarly.
570	* config/romp/romp.h: Similarly.
571	* config/rs6000/rs6000.h: Similarly.
572	* config/sh/sh.h: Similarly.
573	* config/sparc/sparc.h: Similarly.
574	* config/v850/v850.h: Similarly.
575	* config/vax/vax.h: Similarly.
576	* config/we32k/we32k.h: Similarly.
577	* doc/tm.texi: Update documentation.
578
5792001-06-26  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
580
581	* diagnostic.c (digit_buffer): Remove as global.  Move to...
582	* diagnostic.h (struct output_buffer): ... here.
583	* diagnostic.c (output_formatted_integer): Adjust use of digit_buffer.
584
5852001-06-25  Steve Ellcey  <sje@cup.hp.com>
586
587	* config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file.
588	Define tmake_file to include ia64/t-hpux.
589	* real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of
590	testing to see if it is defined.
591	* real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise.  Default to 0 if
592	undefined.
593	* config/ia64/hpux_longdouble.h: New.
594	* config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect
595	handling of long doubles.
596	(ia64_function_arg, ia64_function_value): Add checks for TFmode
597	and INTEL_EXTENDED_IEEE_FORMAT.
598	* config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
599	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, LIBCALL_VALUE): Add checks for
600	TFmode and INTEL_EXTENDED_IEEE_FORMAT.
601	* config/ia64/ia64.md (all TFmode patterns): Test
602	INTEL_EXTENDED_IEEE_FORMAT in condition.
603	(floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT.
604	* config/ia64/quadlib.c: New.
605	* config/ia64/t-hpux: New.
606	* config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
607
6082001-06-25  Jim Wilson  <wilson@redhat.com>
609
610	* config/i960/t-960bare (i960-c.o): Add missing header dependencies.
611	* config/i960/t-vxworks960: Likewise.
612
6132001-06-25   Dale Johannesen    <dalej@apple.com>
614
615	* bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual
616	argument to macro).
617
618Mon Jun 25 11:10:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
619
620	* i386.md (movsi_insv_1, movsi_insv_1_rex64): Fix constraints.
621
6222001-06-25  Joseph S. Myers  <jsm28@cam.ac.uk>
623
624	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
625	doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
626	doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
627	the use of "GCC" and related terms.
628	* doc/gcc.1, doc/gcov.1: Regenerate.
629
6302001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
631
632	* doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
633	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
634	uses of @refill.
635
636Sun Jun 24 21:21:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
637
638	* (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
639
6402001-06-24  Richard Henderson  <rth@redhat.com>
641
642	* builtins.c (expand_builtin_expect_jump): Disable if the
643	expression can't be re-evaluated.
644
6452001-06-24  Nick Clifton  <nickc@cambridge.redhat.com>
646
647	* config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
648	handlers examine register r0-r7, for other interrupt handlers
649	examine r0-r12.  If the interrupt handler is not a leaf function
650	save all call clobbered registers.
651	(arm_output_epilogue): If the prologue has pushed the IP register,
652	restore it here.
653	(Arm_expand_prologue): For interrupt functions that need the frame
654	pointer, push the IP register before it is corrupted.
655
656	* config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings
657	about the use of signed and unsigned quantities in a conditional.
658
6592001-06-23  Richard Henderson  <rth@redhat.com>
660
661	* config/alpha/crtfastmath.c: New file.
662	* config/alpha/t-crtfm: New file.
663	* config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
664	* config/alpha/osf.h (ENDFILE_SPEC): Likewise.
665	* config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
666	* config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
667	do not set extra_parts here.
668
6692001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
670
671	* doc/install-old.texi: Remove more documentation of configure
672	options.
673	* doc/install.texi: Add it here.
674
675Sat Jun 23 19:40:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
676
677	* i386-protos.h (emit_i387_cw_initialization): Declare.
678	* i386.md (movsi_insv_1): Remove '*'.
679	(fix_trunc?f?i2): Revamp to use control word parameters.
680	(fix_trunc?i_1): Likewise; update splitters.
681	(fix splitter): Remove.
682	* i386.c (MAX_386_STACK_LOCALS): set to 3.
683	(emit_i387_cw_initialization): New function.
684	(output_fix_trunc): Do not initialize control word;
685	kill dead code; simplify.
686
6872001-06-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
688
689	* cppmacro.c (make_string_token): Avoid warning.
690	(cpp_macro_definition): Prepend the macro name.  Update
691	comments.
692	* cppmain.c (cb_define, dump_macro): Update for changes
693	to cpp_macro_definition.
694
695Sat Jun 23 10:20:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
696
697	* flow.c (attempt_auto_inc, try_pre_increment_1): Fix typo.
698
699Sat Jun 23 01:23:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
700
701	* flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
702	try_pre_increment_1): compute REG_FREQ using bb->frequency.
703
704	* regclass.c (loop_cost): Kill.
705	(frequency): New global variable.
706	(record_operand_costs): Replace loop_cost by frequency.
707	(scan_one_insn): Likewise.
708	(regclass): Likewise; set frequency according to bb->frequency.
709
710	* flow.c (split_edge): Set frequency.
711
712Sat Jun 23 01:16:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
713
714	* predict.c (block_info_def): Add nvisited.
715	(propagate_freq): Count nvisited; re-queue delayed blocks; handle
716	irreducible regions.
717
718	* flow.c (dump_edge_info): Dump the probability of edge.
719	(combine_predictions_for_insn): Dump the basic block.
720
7212001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
722
723	* doc/gcc.texi: Update documentation of source files of C
724	compiler.
725
7262001-06-22  Richard Henderson  <rth@redhat.com>
727
728	* doc/invoke.texi (-funsafe-math-optimizations): Document its
729	possible effects at link time.
730
7312001-06-22  Diego Novillo  <dnovillo@redhat.com>
732
733	* basic-block.h (dump_edge_info): Declare.
734	(clear_edges): Declare.
735	(mark_critical_edges): Declare.
736	* flow.c (dump_edge_info): Remove static declaration.
737	(clear_edges): Ditto.
738	(mark_critical_edges): Ditto.
739	(free_basic_block_vars): Only clear edges and free basic block
740	array if basic_block_info is not NULL.
741	* ssa.c (compute_dominance_frontiers): Remove static declaration.
742	* ssa.h (compute_dominance_frontiers): Declare.
743
7442001-06-22  Toshiyasu Morita  (toshiyasu.morita@hsa.hitachi.com)
745
746	* predict.c: (expected_value_to_br_prob): Check for const_true_rtx
747	instead of const1_rtx for true case.
748
7492001-06-22  David Mosberger  <davidm@hpl.hp.com>
750
751	* config/ia64/crtfastmath.c: New file.
752	* config/ia64/t-ia64 (EXTRA_PARTS): Include it.
753	* config/ia64/linux.h (ENDFILE_SPEC): New.
754
7552001-06-22  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
756
757	* config/h8300/h8300.c (asm_file_start): Remove reference to
758	"release F-1".
759
7602001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
761
762	* c-common.c (verify_tree): Check for x being NULL.
763	* doc/c-tree.texi: Document COMPOUND_BODY of an empty
764	COMPOUND_STMT.
765	Fixes PR c/3259.
766
7672001-06-22  DJ Delorie  <dj@redhat.com>
768
769	* config/arm/arm.h (struct machine_function): Remove ra_rtx.
770	* config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
771	(arm_return_addr): Use get_hard_reg_initial_val et al.
772	* config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
773	* config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
774	(d30v_return_addr): Use get_hard_reg_initial_val et al.
775	* config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
776	* config/rs6000/rs6000.c (rs6000_override_options): Don't set
777	mark_machine_status.
778	(rs6000_mark_machine_status): Remove.
779	(rs6000_return_addr): Use get_hard_reg_initial_val.
780	(rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
781	* config/v850/v850.h (INIT_EXPANDERS): Delete.
782	* config/v850/v850.c (struct machine_function): Delete.
783	(v850_init_machine_status): Delete.
784	(v850_mark_machine_status): Delete.
785	(v850_free_machine_status): Delete.
786	(v850_return_addr): Use get_hard_reg_initial_val.
787	(v850_init_expanders): Delete.
788
789Fri Jun 22 19:20:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
790
791	* predict.c (estimate_bb_frequencies): Do not handle conditional
792	jumps jumping to fallthru basic block as conditional jumps.
793
794Fri Jun 22 19:11:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
795
796	* regs.h (struct reg_info_def): Add freq field.
797	(REG_N_REFS): Update comment.
798	(REG_FREQ): New.
799	* regclass.c (scan_one_insn): Update REG_FREQ.
800	* flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
801	(attempt_auto_inc): Likewise.
802	(mark_used_reg): Likewise.
803	(try_pre_increment_1): Likewise.
804	* local-alloc.c (struct qty): Add freq field.
805	(alloc_qty): Set freq.
806	(update_equiv_regs): Set REG_FREQ.
807	(QTY_CMP_PRI): Use freq.
808	(combine_regs): Update qty->freq.
809	* global.c (struct allocno): Update comment for n_refs;
810	add freq field.
811	(local_reg_freq): New array.
812	(global_alloc): Update freq field;
813	allocate and initialize local_reg_freq.
814	(allocno_compare): Use freq field.
815	(find_reg): Likewise.
816	* reload1.c (count_pseudo): Use freq isntead of n_refs.
817	(count_spilled_pseudo): Likewise.
818
819	* tm.texi (GCOV_TYPE_SIZE): Document.
820	* basic-block.h (gcov_type): Define.
821	(struct edge_def): Use gcov_type for count field.
822	(struct basic_block_def): Likewise.
823	* defaults.h (GCOV_TYPE_SIZE): Define.
824	* final.c (end_final): Use GCOV_TYPE_SIZE.
825	* flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
826	using HOST_WIDEST_INT_PRINT_DEC.
827	* gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
828	__write_gcov_type): New.
829	(store_long): Remove.
830	* gcov.c (gcov_type): Set default.
831	(struct adj_list): Use gcov_type for arc_count.
832	(bb_info): Use gcov_type for succ_count, pred_count and exec_count.
833	(create_program_flow_graph): Read arc_count properly.
834	(solve_program_flow_graph): 'total' is gcov_type.
835	(output_data): Line_counts is gcov_type, print it properly.
836	* libgcc2.c (struct bb): Counts is gcov_type.
837	(__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
838	* profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
839	(GCOV_TYPE_SIZE): Define.
840	(struct bb_info): succ_count and pred_count is gcov_type.
841	(compute_branch_probabilities): Use __read_gcov_type,
842	print read edges to the dump file.
843	(total): Is gcov_type.
844	(gen_edge_profiler): Use GCOV_TYPE_SIZE.
845
8462001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
847
848	* optabs.c (emit_libcall_block): When using non-call exceptions,
849	don't mark libcalls never throwing.
850
8512001-06-21  Stan Shebs  <shebs@apple.com>
852
853	* objc/objc-act.c (hash_init): Use xcalloc.
854
8552001-06-21  Richard Henderson  <rth@redhat.com>
856
857	* flow.c (entry_exit_blocks): Initialize frequency.
858	(split_block): Copy it.
859	(dump_flow_info): Dump it.
860
861Thu Jun 21 22:15:10 2001  J"orn Rennecke <amylaar@redhat.com>
862
863	* sh.c (barrier_align): Also recognize branch-around-a-jump-sequence
864	from machine-depedent_reorg for purposes of alignment supression
865	when no delay slot insn has been added.
866
8672001-06-21  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
868
869	* cppmacro.c (make_string_token): Null terminate.
870
8712001-06-21  DJ Delorie  <dj@redhat.com>
872
873	* config/alpha/alpha.h (struct machine_function): Remove.
874	* config/alpha/alpha.c (integrate.h): Include.
875	(override_options): Don't set up machine_status hooks.
876	(alpha_init_machine_status): Remove.
877	(alpha_mark_machine_status): Remove.
878	(alpha_free_machine_status): Remove.
879	(alpha_return_addr): Use get_hard_reg_initial_val.
880	(alpha_gp_save_rtx): Likewise.
881	(alpha_ra_ever_killed): Use has_hard_reg_initial_val.
882
8832001-06-20  Aldy Hernandez  <aldyh@redhat.com>
884
885	* config/sh/sh.md (interrupt_function): Use
886	current_function_interrupt.
887	(define_delay): Schedule in delay slot if TARGET_SH3, even if it is
888	an interrupt function.
889
890	* config/sh/sh.h (current_function_interrupt): Define extern.
891
892	* config/sh/sh.c (current_function_interrupt): New global.
893	(sh_expand_prologue): Set current_function_interrupt.
894
8952001-06-21  Phil Edwards  <pme@sources.redhat.com>
896
897	* doc/install.texi:  Add 'c' to list of --enable-languages choices.
898
8992001-06-21  DJ Delorie  <dj@redhat.com>
900
901	* integrate.c (mark_hard_reg_initial_vals): Check for NULL.
902
903	* integrate.c (ggc.h): Include.
904	(initial_value_pair, initial_value_struct,
905	setup_initial_hard_reg_value_integration): Add prototypes.
906	(expand_inline_function): Call
907	setup_initial_hard_reg_value_integration.
908	(has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
909	get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
910	to keep track of values present at the start of a function.
911	(mark_hard_reg_initial_vals): New, for gc.
912	(setup_initial_hard_reg_value_integration): New.  Sets up pseudo
913	mappings for initial values.
914	(emit_initial_value_sets): New.  Emits code to set initial value
915	pseudos.
916	* integrate.h: Add prototypes for new functions.
917	* function.h (struct function): Add hard_reg_initial_vals field.
918	* function.c (integrate.h): Include.
919	(mark_function_status): Call
920	mark_hard_reg_initial_vals.
921	* toplev.c (integrate.h): Include.
922	(rest_of_compilation): Call emit_initial_value_sets.
923
9242001-06-21  Stan Shebs  <shebs@apple.com>
925
926	* doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
927	doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
928	doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
929	everywhere instead of "Objective C".
930
9312001-06-21  Joseph S. Myers  <jsm28@cam.ac.uk>
932
933	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
934	doc/gcc.texi, doc/install-old.texi, doc/install.texi,
935	doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
936	"back end" as nouns and "front-end" and "back-end" as adjectives.
937
938Wed Jun 20 21:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
939
940	* predict.c (estimate_probability): Fix loop bounds.
941
942Wed Jun 20 19:10:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
943
944	* toplev.c (rest_of_compilation): Run mark_constant_function
945	before profile-arcs.
946
947Wed Jun 20 19:08:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
948
949	* predict.c (estimate_loops_at_level, propagate_freq
950	estimate_bb_frequencies, count_to_freqs): New functions.
951	(estimate_probability): Call estimate_bb_frequencies.
952	* basic-block.h (basic_block_def): Add field "freq".
953	(BB_FREQ_MAX): New constant.
954
955Wed Jun 20 17:02:50 2001  J"orn Rennecke <amylaar@redhat.com>
956
957	* sh.c (barrier_align): Don't ask for alignment when seeing a
958	branch-around-a-jump from machine_dependent_reorg.
959
960Wed Jun 20 08:35:02 2001  Jeffrey A Law  (law@cygnus.com)
961
962	* ssa.c (rename_block): Update parameter to remove_phi_alternative
963	(convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
964	re-running life analysis.
965
9662001-06-20  Stan Shebs  <shebs@apple.com>
967
968	* objc/objc-act.c (hash_init): Assume xmalloc always succeeds,
969	also use memset to clear the hash tables.
970	(hash_enter): Assume xmalloc always succeeds.
971	(hash_add_attr): Ditto.
972	(continue_class): Ditto.
973
9742001-06-20  Michael Meissner  <meissner@redhat.com>
975
976	* builtins.c (predict.h): Include.
977	(expand_builtin_expect): Update comment.
978	(expand_builtin_expect_jump): New function to expand
979	__builtin_expect inside of a conditional jump expansion.
980
981	* expr.c (do_jump): Special case __builtin_expect (<test>, 0) and
982	__builtin_expect (<test>, 1).
983
984	* Makefile.in (builtins.o): Depend on $(PREDICT_H).
985
986	* rtl.h (expand_builtin_expect_jump): Add prototype.
987
9882001-06-19  Geoffrey Keating  <geoffk@redhat.com>
989
990	* doc/rtl.texi (Machine Modes): Correct description of
991	floating-point modes on machines with non-8-bit bytes.
992
9932001-06-19  Bernd Schmidt  <bernds@redhat.com>
994
995	* regmove.c (optimize_reg_copy_3): Do nothing if previous insn
996	carries a REG_EQUIV note.  If it carries REG_EQUAL, delete the
997	note.
998
999Tue Jun 19 07:53:52 2001  Jeffrey A Law  (law@cygnus.com)
1000
1001	* ssa.c (remove_phi_alternative): Remove declaration.  No longer
1002	static.  Second argument is a pointer to a basic block structure,
1003	not a basic block index.
1004	(convert_to_ssa): Do not remove dead code.
1005	(convert_from_ssa): Do not remove dead code to create death notes.
1006	* ssa.h (remove_phi_alternative): Declare.
1007
1008	* flow.c (delete_unreachable_blocks): Fix patch error in
1009	previous change (call to find_unreachable_blocks was lost).
1010
1011	* ssa.c (ssa_uses): Remove definition.
1012	(apply_delayed_renames): Don't grow ssa_uses.
1013	(rename_block): Remove comment related to ssa_uses.
1014	(rename_registers): Do not initialize ssa_uses.
1015	(convert_from_ssa): Do not free ssa_uses.
1016
1017	* ssa-dce.c: Renamed from dce.c.
1018	* Makefile.in (OBJS): Replace dce.o with ssa-dce.o
1019	(dependencies): Replace dce.c with ssa-dce.c and dce.o with
1020	ssa-dce.o.
1021
10222001-06-19  Eric Christopher <echristo@redhat.com>
1023
1024	* emit-rtl.c (gen_lowpart_common): Do not assume that SFmode
1025	and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD.  Use
1026	GET_MODE_BITSIZE instead of GET_MODE_SIZE/UNITS_PER_WORD.
1027
1028Tue Jun 19 01:52:27 2001  J"orn Rennecke <amylaar@redhat.com>
1029
1030	* sh.c (output_branch): Delete bogus code.
1031
1032	* sh.c (initial_elimination_offset):
1033	Fix FROM == RETURN_ADDRESS_POINTER_REGNUM case.
1034
1035Mon Jun 18 12:50:49 2001  Jeffrey A Law  (law@cygnus.com)
1036
1037	* flow.c (find_unreachable_blocks): New function.
1038	(delete_unreachable_blocks): Use find_unreachable_blocks.
1039	* basic-block.h (find_unreachable_blocks): Declare.
1040
1041	* dce.c (eliminate_dead_code): Fix formatting glitch.
1042
10432001-06-18  Jason Merrill  <jason_merrill@redhat.com>
1044
1045	* c-common.h (RETURN_NULLIFIED_P): New macro.
1046	* c-semantics.c (genrtl_return_stmt): Check it.
1047
1048	* expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset.
1049	(emit_block_move): Likewise.
1050
1051Mon Jun 18 17:27:24 CEST 2001  Jan Hubicka  <jh@suse.cz>
1052
1053	* unroll.c: Include predict.h.
1054	(unroll_loop): Drop prediction notes on preconditioning.
1055	* predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION):
1056	New; add comments on the others.
1057	* Makefile.in: (unroll.o): Add dependency on predict.h.
1058	* loop.c (strength_reduce): Fix branch prediction.
1059
1060Mon Jun 18 17:26:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
1061
1062	* stmt.c (emit_case_nodes): Optimize test whether index is in given
1063	interval.
1064
1065Mon Jun 18 15:43:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
1066
1067	* predict.c (estimate_probability): Do not bail out early
1068	when note is present.
1069	(combine_predictions_for_insn): Fix note removal code.
1070
10712001-06-18  Ben Elliston  <bje@redhat.com>
1072
1073	* except.c (resolve_fixup_regions): Initialize "cleanup".
1074
10752001-06-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1076
1077	* tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
1078
1079Sat Jun 16 20:20:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1080
1081	* expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR,
1082	use put_var_into_stack.
1083
10842001-06-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1085
1086	* gccspec.c (lang_specific_driver): If compiling ObjC, add
1087	-shared-libgcc when necessary.
1088	* Makefile.in (gccspec.o): Compile with DRIVER_DEFINES.
1089
10902001-06-16  Daniel Berlin  <dan@cgsoftware.com>
1091
1092	* bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs,
1093	bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit,
1094	bitmap_last_set_bit. All for compatibility with sbitmap's.
1095
1096	*bitmap.c (bitmap_zero): New function.
1097	(bitmap_union_of_diffs): New function.
1098	(bitmap_first_set_bit): New function.
1099	(bitmap_last_set_bit): New function.
1100
11012001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1102
1103	* cpp.texi, invoke.texi: Update.
1104	* cpp.1, gcc.1: Regenerate.
1105
1106Sat Jun 16 12:45:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
1107
1108	* i386.md (minsf): Fix splitter. (PR fortran/3191)
1109
11102001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1111
1112	* doc/cpp.texi: Update.
1113	* doc/cpp.1: Regenerate.
1114
11152001-06-15  Loren J. Rittle  <ljrittle@acm.org>
1116
1117	* doc/install.texi: Use correct markup hints.
1118
1119Fri Jun 15 18:05:22 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1120
1121	* function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR.
1122
1123	* explow.c (expr_size): If DECL and size specified, use it.
1124
11252001-06-15  Zack Weinberg  <zackw@stanford.edu>
1126
1127	* doc/cpp.texi: Formatting corrections.
1128	Correct buggy example of use of __GNUC__ etc.
1129	Clarify $ in identifiers.
1130	* doc/cpp.1: Regenerate.
1131
1132Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka  <jh@suse.cz>
1133
1134	* optabs.c (expand_twoval_binop): Avoid undefined behavior.
1135
11362001-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1137
1138	* doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
1139	etc. spelling.
1140	(Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
1141	Added Tru64 UNIX V5.1 bootstrap hints.
1142	(Specific, alpha*-*-osf*): Removed old section, obsolete.
1143
11442001-06-15  Andreas Jaeger  <aj@suse.de>
1145
1146	* doc/install.texi (Specific): Mention that glibc cannot be
1147	compiled with GCC 3.0.
1148
11492001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
1150
1151	* combine.c (nonzero_bits): Don't optimize away division by
1152	zero.
1153
11542001-06-15  Zack Weinberg  <zackw@stanford.edu>
1155
1156	* doc/cpp.texi: Revised and brought up to date.
1157	* doc/cpp.1: Regenerate.
1158
11592001-06-15  Loren J. Rittle  <ljrittle@acm.org>
1160
1161	* doc/install.texi: Update --enable-threads to match reality.
1162
11632001-06-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1164
1165	* doc/install.texi: Update for C4x.
1166	* README.C4X: Remove.
1167
11682001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1169
1170	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
1171	doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
1172	doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
1173	Consistently use "built-in" and "bit-field".  Minor logical markup
1174	improvements.
1175	* doc/gcc.1: Regenerate.
1176
11772001-06-14  Richard Henderson  <rth@redhat.com>
1178
1179	* config/mips/mips.md (exception_receiver): New.
1180
11812001-06-14  Daniel J. Berlin <dan@cgsoftware.com>
1182
1183	* doc/gcc.texi:  Update passes documentation to be more in tune
1184	with reality.
1185
1186Thu Jun 14 15:38:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
1187
1188	* i386.c (ix86_expand_prologue): Fix merging conflict.
1189
11902001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1191
1192	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
1193	doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
1194	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
1195	logical markup.  Use TeX quotes and dashes.  Use @dots{} and
1196	@minus{}.  Avoid spaces inside @var.  Update last modification
1197	date in gcc.texi.
1198	* doc/gcc.1, doc/gcov.1: Regenerate.
1199
1200Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
1201
1202	* i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
1203	x86_epilogue_using_move): New global variables.
1204	(override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
1205	(ix86_emit_save_regs_using_mov): New static function.
1206	(ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
1207	* i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE,
1208	MASK_MIX_SSE_I387): Renumber.
1209	(MASK_NO_ACCUMULATE_OUTGOING_ARGS): New.
1210	(x86_accumulate_outgoing_args, x86_prologue_using_move,
1211	x86_epilogue_using_move): Declare.
1212	(TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New.
1213
12142001-06-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1215
1216	* inclhack.def (hpux10_cpp_pow_inline): New hack.
1217
12182001-06-13  Richard Henderson  <rth@redhat.com>
1219
1220	* ifcvt.c (dead_or_predicable): Fix return value last patch.
1221
12222001-06-13  Mark Mitchell  <mark@codesourcery.com>
1223
1224	* NEWS: Remove.
1225
12262001-06-13  Richard Henderson  <rth@redhat.com>
1227
1228	* ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
1229	(cond_exec_process_if_block, dead_or_predicable): Likewise.
1230
12312001-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1232
1233	* mips-tfile.c (copy_object): Always pass indexNil for symbol
1234	table index.
1235
12362001-06-13  Kazu Hirata  <kazu@hxi.com>
1237
1238	* config/h8300/h8300.h (OK_FOR_T): Remove.
1239	(EXTRA_CONSTRAINT): Do not use OK_FOR_T.
1240	* config/h8300/h8300.md: Remove alternatives involving inc and dec
1241	in the helper patterns for addhi3 and addsi3.
1242
12432001-06-13  Phil Edwards  <pme@sources.redhat.com>
1244
1245	* doc/contrib.texi:  Link to libstdc++'s thanks.html for now.
1246
12472001-06-13  Zack Weinberg  <zackw@stanford.edu>
1248
1249	* Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
1250	* libgcc-std.ver: Take out __bb* and __gcc_bcmp.
1251
1252	* config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
1253	config/alpha/t-osf4, config/mips/t-iris6: Extract all
1254	references to @shlib_map_file@, @shlib_objs@, or
1255	@shlib_base_name@ to Makefile variables.
1256	Bump soname version of libgcc to 1.
1257
12582001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1259
1260	* doc/install.texi: Use more logical markup.  Include @node
1261	commands in the source when generating any non-HTML.
1262
12632001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1264
1265	* README: Remove.  Some of the contents moved to ../README.
1266
12672001-06-13  Alexandre Oliva  <aoliva@redhat.com>
1268
1269	* doc/install.texi (--enable-shared): List package names
1270	recognized by GCC.
1271
12722001-06-13  Alexandre Oliva  <aoliva@redhat.com>
1273
1274	* doc/install.texi (ix86-*-solaris*): Removed, outdated.
1275	(*-*-solaris*): Document problem in /bin/sh that affects
1276	configuring libraries.
1277	(sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
1278	(*-sun-solaris2.8): Document linker problem that explains why
1279	libjava is disabled by default.
1280
12812001-06-09  Mark Mitchell  <mark@codesourcery.com>
1282
1283	Revert this patch:
1284	* toplev.c (rest_of_compilation): Remove dead code before
1285	purge_addressof.
1286
12872001-06-12  Alexandre Oliva  <aoliva@redhat.com>
1288
1289	Reverted:
1290	2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
1291	* configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
1292	* configure: Rebuilt.
1293
12942001-06-12  Jim Wilson  <wilson@redhat.com>
1295
1296	* loop.c (strength_reduce): Move bl->all_reduced set before
1297	check_ext_dependant_givs call.
1298	(check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
1299
13002001-06-12  Alexandre Oliva  <aoliva@redhat.com>
1301
1302	* doc/extend.texi (Function Attributes): Document SH's sp_switch
1303	and trap_exit.
1304
13052001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1306
1307	* doc/invoke.texi: Use more logical markup.  Use TeX quotes,
1308	dashes and @dots{}.
1309
13102001-06-12  Richard Henderson  <rth@redhat.com>
1311
1312	* config/i386/i386.c (ix86_expand_prologue): Always use
1313	gen_pro_epilogue_adjust_stack; update arguments.
1314	(ix86_expand_epilogue): Likewise.
1315	(ix86_emit_epilogue_esp_adjustment): Remove.
1316	(ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
1317	* config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
1318	clobber of scratch memory instead of a modification of EBP as the
1319	barrier.  Update all peepholes to match.
1320
13212001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1322
1323	* doc/gcc.texi: Change the font used for @def... commands to a
1324	fixed width font.
1325	* doc/extend.texi: Use more logical markup.  Use "built-in"
1326	instead of "builtin".  Use @deftypefn to mark up built-in
1327	functions; specify their types in the @deftypefn and not in the
1328	descriptive text.  Use TeX quotes and dashes.  Add more index
1329	entries.
1330
13312001-06-12  lars brinkhoff  <lars@nocrew.org>
1332
1333	* gcc.texi (HOST_BITS_PER_LONGLONG): Document.
1334	(DIR_SEPARATOR_2): Likewise.
1335
13362001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1337
1338	* doc/install.texi (--exec-prefix, --bindir, --libdir,
1339	--with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
1340	Document.
1341	(--enable-cpp): Change to document --disable-cpp instead; update
1342	to reflect current default.
1343	(--without-fast-fixincludes): Remove documentation.
1344	(Final install): Document installation directories in more
1345	detail.  Document use of make dvi.
1346
1347Tue Jun 12 19:01:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
1348
1349	* recog.c (validate_replace_rtx_1): Fix previous patch.
1350
1351Tue Jun 12 17:25:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
1352
1353	* recog.c (validate_replace_rtx_1): Do plus_constant call always.
1354
1355Tue Jun 12 17:24:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
1356
1357	* simplify-rtx.c (simplify_subreg): Allow volatile memory
1358	to be subregged in case we don't have move instruction.
1359
1360Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
1361
1362	* loop.c: Include predict.h
1363	(strength_reduce): Drop branch prediction note in case
1364	number of iterations is known.
1365	* predict.def (PRED_LOOP_ITERATIONS): new.
1366	* Makefile.in (loop.o): Add dependency on predict.h
1367
13682001-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1369
1370	* c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
1371
1372	* c-typeck.c (c_start_case): Likewise.
1373
13742001-06-12  Mark Mitchell  <mark@codesourcery.com>
1375
1376	* expr.c (store_field): Don't set MEM_ALIAS_SET for a field
1377	in a structure at a variable address.
1378
13792001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1380
1381	* doc/gcov.texi: Use more logical markup.
1382
13832001-06-11  Mark Mitchell  <mark@codesourcery.com>
1384
1385	* unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
1386	REG_NOTE_KIND, not PUT_MODE and GET_MODE.
1387	(final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
1388	valid.
1389
13902001-06-11  Stan Shebs  <shebs@apple.com>
1391
1392	* config/darwin.h (ASM_FILE_END): Remove decl of language_string.
1393
13942001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1395
1396	* config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber
1397	as an early clobber to make sure it is not used by reload in
1398	one of the operands.
1399
14002001-06-11  Mark Mitchell  <mark@codesourcery.com>
1401
1402	* doc/c-tree.texi: Update information about flag_honor_std.
1403	* doc/install.texi: Note that binutils is required on HPUX 11.
1404	* doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
1405	now the default.
1406
1407	* config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
1408	variable-sized types.
1409
14102001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1411
1412	* doc/md.texi: Use TeX dashes and quotes.
1413
14142001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1415
1416	* doc/rtl.texi: Reference manual chapter about trees.
1417
14182001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1419
1420	* config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
1421	(WINT_TYPE): Override.
1422	(WINT_TYPE_SIZE): Likewise.
1423	(SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
1424
1425	* config/sparc/sol2.h (WINT_TYPE): Define.
1426	(WINT_TYPE_SIZE): Likewise.
1427
1428	* config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
1429	(WINT_TYPE): Override.
1430	(WINT_TYPE_SIZE): Likewise.
1431	(CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
1432	(CPP_ARCH64_SPEC): Likewise.
1433
14342001-06-11  Richard Henderson  <rth@redhat.com>
1435
1436	* unwind-dw2-fde.c (__deregister_frame_info): Don't play games
1437	with alias attribute.
1438
1439	* config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
1440	* config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
1441
14422001-06-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1443
1444	* config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
1445
14462001-06-11  Stan Shebs  <shebs@apple.com>
1447
1448	* config/darwin.c (darwin_encode_section_info):  Rewrite to simplify
1449	and fix coding mistakes.
1450
14512001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
1452
1453	* config/m32r/m32r.md (movstrsi_internal): Do not expect a
1454	return string from m32r_output_block_move.
1455	* config/m32r/m32r-protos.h: Make m32r_output_block_move a
1456	void function.
1457	* config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
1458	integer overflow.
1459	(ROUND_ADVANCE): Remove signed/unsigned conflict.
1460	* config/m32r/m32r.c: Declare prototypes for static functions.
1461	(move_src_operand): Replace INT32_P with UINT32_P.
1462	(function_arg_partial_nregs): Fixed signed/unsigned conflict
1463	in initialisation of 'size'.
1464	(m32r_sched_reord): Remove redundant declarations of 'code'.
1465	(m32r_output_block_move): Change to a void function.
1466	(m32r_encode_section_info): Cast return of
1467	TREE_STRING_POINTER to avoid compile time warning.
1468
14692001-06-11  Richard Henderson  <rth@redhat.com>
1470
1471	* config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
1472	* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
1473	(struct machine_function): Add gp_save_rtx.
1474	* config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
1475	(alpha_gp_save_rtx): New.
1476	* config/alpha/alpha-protos.h: Declare it.
1477	* config/alpha/alpha.md (exception_receiver): Make an expander.
1478	Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
1479
14802001-06-11  Richard Henderson  <rth@redhat.com>
1481
1482	* config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
1483
14842001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1485
1486	* configure.in: Align --help messages.
1487	Remove trailing full stops.
1488	Consistently use lower case.
1489	Fix DWARF 2 spelling.
1490	* configure: Rebuilt.
1491
14922001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1493
1494	* config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
1495	variants for .cpp/.cp/.c++ files.
1496	Move definition of __LANGUAGE_C_PLUS_PLUS ...
1497	(CPLUSPLUS_CPP_SPEC): ... here.
1498
1499Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
1500
1501	* jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
1502
15032001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1504
1505	* c-decl.c (store_parm_decls): When comparing types in an
1506	old-style function declaration with those from a previous
1507	prototype, compare the unqualified versions of parameter types.
1508	Fixes PR c/3116.
1509
15102001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1511
1512	* doc/objc.texi: Use more logical markup.  Use TeX dashes.
1513
15142001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1515
1516	* doc/c-tree.texi: Use more logical markup.
1517
15182001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1519
1520	* c-decl.c (xref_tag): Don't return previous tags of wrong type.
1521
15222001-06-11  Aldy Hernandez  <aldyh@redhat.com>
1523
1524	* loop.c (scan_loop): Do not combine asm statements.
1525
15262001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1527
1528	* simplify-rtx.c (simplify_subreg): Fix offset calculation
1529	for complex values within a CONCAT.
1530
15312001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1532
1533	* doc/install.texi: Update details of what components are included
1534	in the GCC distribution.  Update default directory for g++
1535	includes.  Update documentation relating to old libio.  Adjust
1536	documentation on DejaGnu environment variables.  Remove
1537	documentation of --enable-cpplib.
1538
15392001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1540
1541	* doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
1542	markup.
1543
15442001-06-10  Richard Henderson  <rth@redhat.com>
1545
1546	* ifcvt.c (life_data_ok): New.
1547	(merge_if_block): Use it to determine whether to update
1548	global_live_at_end.
1549	(if_convert): Set it.
1550
15512001-06-10  Richard Henderson  <rth@redhat.com>
1552
1553	* config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
1554
15552001-06-10  Alexandre Oliva  <aoliva@redhat.com>
1556
1557	* doc/invoke.texi (MN10300 Options): Document -mno-crt0.
1558	(SH Options): Document -mieee.
1559	* doc/install.texi (Final install): Remove obsolete information
1560	about installing cross compilers.
1561	* doc/gcc.1: Rebuilt.
1562
15632001-06-10  Richard Henderson  <rth@redhat.com>
1564
1565	* config/alpha/alpha.c (override_options): Set align_loops,
1566	align_jumps, and align_functions.
1567	* config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
1568	(LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.
1569
15702001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1571
1572	* emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
1573	are one and two words in size.
1574
15752001-06-10  Richard Henderson  <rth@redhat.com>
1576
1577	* doc/invoke.texi (Optimization Options): Document -fpeephole2.
1578	(Code Generation Options): Document -fnon-call-exceptions.
1579
15802001-06-10  Mark Kettenis  <kettenis@gnu.org>
1581
1582	* config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
1583
15842001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1585
1586	* m68hc11.md (peepholes): Remove unused and wrong peepholes.
1587
15882001-06-10  Mark Mitchell <mark@codesourcery.com>
1589	    Gabriel Dos Reis  <gdr@codesourcery.com>
1590
1591	* Makefile.in (c-parse.o): Depend on diagnostic.h
1592	(dwarf2out.o): Likewise.
1593
1594	* dwarf2out.c: #include diagnostic.h
1595
1596	* toplev.h (warningcount, errorcount, sorrycount): Remove
1597	declarations.
1598
1599	* toplev.c (warningcount, errorcount, sorrycount): Remove
1600	definitions.
1601
1602	* diagnostic.h (struct output_buffer): Reorder fields.
1603	(diagnostic_kind_count): New macro.
1604	(errorcount, warningcount, sorrycount): Define as macros.
1605	(diagnostic_report_warnings_p): New macro.
1606	(output_state): Add diagnostic_count field.
1607
1608	* diagnostic.c (warningcount, errorcount, inhibit_warnings):
1609	Remove tentative declaration.
1610	(count_error): Use diagnostic_report_warnings_p.
1611
1612	* c-parse.in: #include diagnostic.h
1613
16142001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1615
1616	* config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
1617	prefer a memory for operand 1.
1618	("*addsi3"): Fix constraints, the '!' was too strong.
1619	("*addsi3_split"): Accept soft register and split accordingly.
1620
16212001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1622
1623	* config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
1624	Move definition in the RTX_CODE section.
1625
16262001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1627
1628	* config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return
1629	address as relative to the argument pointer.
1630
1631Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1632
1633	* predict.def (PRED_OPCODE): Place before call and error_return.
1634
1635Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
1636
1637	* predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
1638	* predict.c (estimate_probability): Calculate dominance
1639	information; improve detection of NORETURN heuristics;
1640	add call/error_return heuiristics; tweak comparison heuristics
1641	to recognize -1.
1642
16432001-06-09  Alexandre Oliva  <aoliva@redhat.com>
1644
1645	* doc/invoke.texi (C Dialect Options): Document -aux-info.
1646	(Debugging Options): Document -print-multi-directory and
1647	-print-multi-lib.
1648	* doc/gcc.1: Rebuilt.
1649
1650	* toplev.c (independent_decode_option): Require `=' between
1651	`-aux-info' and filename in the same argument.
1652	* gcc.c: Don't pass -aux-info=filename twice.
1653
16542001-06-09  Mark Mitchell  <mark@codesourcery.com>
1655
1656	* expr.c (expand_expr, case ARRAY_REF): Do not replace
1657	an array element with the known initializing value if it has
1658	side-effects.
1659
1660	* toplev.c (rest_of_compilation): Remove dead code before
1661	purge_addressof.
1662
16632001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1664
1665	* cppinit.c (print_help): Document -fpreprocessed.
1666	* invoke.texi: Similarly.
1667
1668Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
1669
1670	* predict.def: New file.
1671	* predict.h: New file.
1672	* predict.c: Include predict.h.
1673	(predictor_info): New structure and array.
1674	(predict_edge, predict_insn): Rewrite; make global.
1675	(predict_edge_def, predict_insn_def): New global functions.
1676	(dump_prediction, combine_predictions_for_insns): New
1677	static functions.
1678	(estimate_probability): Change calls to predict_edge
1679	to predict_edge_def and calls to predict_insn to predict_insn_def;
1680	combine probabilities.
1681	(expected_value_to_br_prob): Behave as predictor.
1682	* rtl.h (REG_BR_PRED): Update coment.
1683	(invert_br_probabilities): New.
1684	* jump.c: Include predict.h
1685	(duplicate_loop_exit_test): Drop branch prediction notes.
1686	(invert_jump): Use invert_br_probabilities.
1687	* Makefile.in: Add dependency on predict.h for jump and predict pass.
1688	* ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
1689	* combine.c (distribute_notes): Handle BR_PRED.
1690
1691Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1692
1693	* predict.c (predict_insn, predict_edge): New static functions.
1694	(estimate_probability): Revamp to use new functions;
1695	fix loop header heruistics; add loop exist heruistics
1696
16972001-06-09  Alexandre Oliva  <aoliva@redhat.com>
1698
1699	* config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
1700
17012001-06-09  Peter Jakubek <pjak@snafu.de>
1702
1703	* config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
1704
17052001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1706
1707	* vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
1708	for integer operations that don't update C bit.
1709
17102001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
1711
1712	* gthr-posix.h (__gthread_objc_init_thread_system): If
1713	pthread_key_create fails, it's not clear what the return value is.
1714	This obvious fix makes sure it always returns -1 if a problem
1715	occurs.
1716
17172001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1718
1719	* doc/gcc.texi: Use @defcodeindex for the index of options.  Add
1720	more index entries.  Use more logical markup where appropriate.
1721	Use TeX quotes and dashes.
1722
17232001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
1724
1725	* unwind-pe.h: Conditionally qualify references to abort with
1726	std::.
1727
17282001-06-09  Julian Foad <julian_foad@hotmail.com>
1729
1730	* doc/invoke.texi: Remove superfluous text.
1731
17322001-06-08  Richard Henderson  <rth@redhat.com>
1733
1734	* config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
1735	(LIB_SPEC): Mirror config/linux.h version.
1736
17372001-06-08  Richard Henderson  <rth@redhat.com>
1738
1739	* except.c (get_exception_pointer, get_exception_filter): Take a
1740	struct function.  Update all callers.
1741	* except.h (get_exception_pointer): Update declaration.
1742	* expr.c (expand_expr): Update get_exception_pointer call.
1743	* integrate.c (expand_inline_function): Remap the exception pointer
1744	from callee to caller.
1745
17462001-06-08  Mark Mitchell  <mark@codesourcery.com>
1747
1748	* c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
1749	accurately reflect its cv-qualification.
1750	* c-typeck.c (type_lists_compatible_p): Ignore the top-levl
1751	cv-qualifiers on function types.
1752
17532001-06-08  Mark Mitchell  <mark@codesourcery.com>
1754
1755	* basic-block.h: Improve comments.
1756	* except.c (expand_eh_region_end_allowed): Remove redundant call
1757	to do_pending_stack_adjust.
1758	* flow.c (life_analysis): Fix typo in comment.
1759	(calculate_global_regs_live): Add documentation.
1760	(mark_set_1): Likewise.
1761	(debug_regset): Likewise.
1762	* doc/rtl.texi (cond_exec): Document it.
1763
1764Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
1765
1766	* i386.h (CONST_COSTS): set cost of constants representable in
1767	immediate fields to 0.
1768
1769Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
1770
1771	* function.c (diddle_return_value): Kill code to determine
1772	return value before expand_function_end.
1773	(expand_function_end): Delay call to clobber_return_register
1774	after fucntion return value is computed.
1775
1776	Re-install temporary reverted patch:
1777	* toplev.c (rest_of_compilation): Call split_all_insns
1778	before reg-stack and shorten-branches. Do shorten-branches
1779	after reg-stack.
1780	* final.c (shorten_branches): Remove insn splitting code.
1781
17822001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1783
1784	* doc/gcc.texi, doc/invoke.texi: Add index of command line
1785	options.  Use @opindex to index them rather than other indexing
1786	commands.  Use @var{...} instead of <...>.  Avoid spaces in names
1787	inside @var.  Don't use @kindex to index escape sequences in
1788	source code.
1789
17902001-06-08  Jason Merrill  <jason_merrill@redhat.com>
1791
1792	* stmt.c (current_nesting_level): New fn.
1793	* tree.h: Declare it.
1794	* c-semantics.c (genrtl_compound_stmt): Use it.
1795
1796	* dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
1797
17982001-06-08  Jakub Jelinek  <jakub@redhat.com>
1799
1800	* jump.c (mark_modified_reg): Allow jump threading if condition
1801	codes are represented by a hard register.
1802
18032001-06-08  Jakub Jelinek  <jakub@redhat.com>
1804
1805	* config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
1806	for complex floats passed to unprototyped functions.
1807
18082001-06-08  Mark Mitchell  <mark@codesourcery.com>
1809
1810	* except.c (expand_eh_region_end_allowed): Call
1811	do_pending_stack_adjust as necessary.
1812
1813Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
1814
1815	* function.c (clobber_return_register): Clobber the pseudo return
1816	register too.
1817
1818	* sibcall.c (skip_unreturned_value): New function.
1819	(call_ends_block_p): Use it.
1820
1821	* recog.c (split_insn): Break out from ...
1822	(split_all_insns): ... here; do not use basic block information
1823	when it is broken.
1824
1825Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1826
1827	* simplify-rtx.c (simplify_subreg):  Fix verification of
1828	combined subreg.
1829
18302001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1831
1832	* config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
1833	Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
1834	Move definition of _LANGUAGE_C_PLUS_PLUS ...
1835	(CPLUSPLUS_CPP_SPEC): ... here.
1836	Fixes PRs c++/3047, target/441.
1837
18382001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1839
1840	* doc/install.texi2html (MAKEINFO): Keep value if set already.
1841
18422001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1843
1844	* doc/gcc.texi: Add trailing slash to URL.
1845
18462001-06-07  Stan Shebs  <shebs@apple.com>
1847
1848	* config/darwin.h (ENCODE_SECTION_INFO): Define.
1849	(REDO_SECTION_INFO_P): Ditto.
1850	(STRIP_NAME_ENCODING): Ditto.
1851	(ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
1852	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
1853	(ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
1854	(GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
1855	* config/darwin.c: No longer include c-tree.h.
1856	(machopic_classify_ident): Rewrite to use symbol encoding.
1857	(lookup_name_darwin): Remove.
1858	(machopic_non_lazy_ptr_name): Handle encoded symbols.
1859	(machopic_stub_name): Use STRIP_NAME_ENCODING.
1860	(machopic_validate_stub_or_non_lazy_ptr): Ditto.
1861	(machopic_finish): Ditto, remove test of decl.
1862	(update_non_lazy_ptrs): New function.
1863	(darwin_encode_section_info): New function.
1864	* config/darwin-protos.h: Declare it.
1865	* config/rs6000/rs6000.c (machopic_output_stub): Use
1866	STRIP_NAME_ENCODING.
1867
18682001-06-07  Mark Mitchell  <mark@codesourcery.com>
1869
1870	* tree.h (DECL_SOURCE_FILE): Improve documentation.
1871	(DECL_SOURCE_LINE): Likewise.
1872
18732001-06-07  Loren J. Rittle  <ljrittle@acm.org>
1874
1875	* config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
1876	from config/elfos.h.
1877
18782001-06-07  Phil Edwards  <pme@sources.redhat.com>
1879
1880	* linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
1881	* pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
1882
18832001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1884
1885	* doc/contrib.texi: Add copyright notice.
1886
18872001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1888
1889	* doc/md.texi: Use four digit years in copyright notice.
1890
18912001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1892
1893	* config.gcc: For $target_alias of athlon-*, set
1894	target_cpu_default2=5.
1895
1896Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1897
1898	* global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
1899	end of last block if last real insn is a JUMP_INSN.
1900
19012001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1902
1903	* NEWS: Regenerate.
1904
19052001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1906
1907	* gthr-posix.h (__gthread_objc_thread_detach): Simply cast
1908	pthread_t to objc_thread_t.
1909	(__gthread_objc_thread_id): Likewise.
1910
19112001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1912
1913	* alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
1914	(ASM_OLDAS_SPEC): Likewise.
1915
1916	* alpha/osf.h (CPP_XFLOAT_SPEC): Define.
1917	(CPP_SUBTARGET_SPEC): Use it.
1918	(ASM_OLDAS_SPEC): Define.
1919	(ASM_SPEC): Use it.
1920	(SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
1921
19222001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1923
1924	* config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
1925	passed by reference.
1926
19272001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1928
1929	* doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
1930	Document use of N_(...), and show it in examples.  Note that
1931	documentation should be added to invoke.texi.  Avoid an overfull
1932	hbox.
1933
1934Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
1935
1936	* toplev.c (rest_of_compilation): Revert previous patch.
1937	* final.c (shorten_branches): Likewise.
1938
19392001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1940
1941	* pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
1942	Remove.
1943
19442001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1945
1946	* doc/install-old.texi: Remove more obsolete documentation.
1947
1948Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
1949
1950	* expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
1951
1952Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
1953
1954	* toplev.c (rest_of_compilation): Call split_all_insns
1955	before reg-stack and shorten-branches. Do shorten-branches
1956	after reg-stack.
1957	* final.c (shorten_branches): Remove insn splitting code.
1958
19592001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
1960
1961	* configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
1962	* configure: Rebuilt.
1963
19642001-06-07  Andreas Jaeger  <aj@suse.de>
1965
1966	* emit-rtl.c (operand_subword): Remove unused variable.
1967
1968Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
1969
1970	* i386.md (floatdi?f): Avoid usinf of SSE instructions
1971	if TARGET_64BIT is false.
1972	(floatdi?f_i386_only): New insn.
1973	(floatdi?f_i386): Disable for !TARGET_64BIT.
1974
1975	* (min?f, max?f splitters): Handle case where
1976	operands are cross-matched.
1977
1978	* i386.h (HI_REGISTER_NAMES): Remove redundant definition
1979	(MMX_REGISTER_NAMES): Kill.
1980	(PRINT_OPERAND): Fix comment.
1981	(PRINT_REG): Likewise.
1982	* i386.c (print_reg): Kill support for 'm' CODE; simplify.
1983	(print_operand): Update comment; kill 'm'.
1984
1985	* i386.c (x86_branch_hints): New global variable
1986	(print_operand): Support outputting of branch prediction hints.
1987	* i386.md (conditional jump patterns): Add branch prediction hints
1988	to the template.
1989	* i386.h (x86_branch_hints): Declare
1990	(TARGET_BRANCH_PREDICTION_HINTS): New macro.
1991	(PRINT_OPERAND_FUNCT_VALID_P): New.
1992	* final.c (final_forward_branch_p): New function.
1993
19942001-06-06  Richard Henderson  <rth@redhat.com>
1995
1996	* flow.c (mark_used_reg): Clean up looping over multiple hard
1997	registers.  Do conditional life bits across multiple hard regs.
1998
19992001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
2000
2001	* reload1.c (reload): Revert Schmidt's change so all USEs are not
2002	deleted during reload.
2003
20042001-06-05  Mark Mitchell  <mark@codesourcery.com>
2005
2006	* c-semantics.c (genrtl_scope_stmt): Write out nested inline
2007	functions here, instead of ...
2008	* c-decl.c (c_expand_body): ... here.
2009
20102001-06-05  David O'Brien  <obrien@FreeBSD.org>
2011
2012	* config.gcc, config/sparc/bsd.h:  Do not directly include
2013	sparc/sparc.h.  Instead do it via tm_file.
2014
20152001-06-05  Richard Henderson  <rth@redhat.com>
2016
2017	* dwarf2.h (DW_EH_PE_aligned): New.
2018	* dwarf2asm.c (eh_data_format_name): Name it.
2019	(dw2_asm_output_encoded_addr_rtx): Align for it.
2020	* dwarf2out.c (output_call_frame_info): Handle it for personality
2021	routine and LSDA pointers.
2022
2023	* unwind-pe.h (DW_EH_PE_aligned): New.
2024	(base_of_encoded_value): Handle it.
2025	(read_encoded_value_with_base): Likewise.
2026	* unwind-dw2-fde.c (base_from_object): Likewise.
2027	(get_cie_encoding): Likewise.
2028
2029	* config/alpha/elf.h: Remove ecoff commentary.
2030	* config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2031
20322001-06-05  David O'Brien  <obrien@FreeBSD.org>
2033
2034	* config.gcc, config/i386/bsd386.h:  Do not directly include
2035	i386/386bsd.h.  Instead do it via tm_file.
2036
20372001-06-05  David O'Brien  <obrien@FreeBSD.org>
2038
2039	* elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
2040	way svr4.h does.
2041
20422001-06-05  Pascal Obry  <obry@act-europe.fr>
2043
2044	* configure.in: Quote $enable_win32_registry in case the value has
2045	spaces in it.
2046	* configure: Ditto.
2047
20482001-06-05  Mark Mitchell  <mark@codesourcery.com>
2049
2050	* print-rtl.c (xspaces): Remove.
2051	(print_rtx): Use printf field-width, rather than xpsaces, to
2052	indent.
2053	* toplev.c (main): Disable sibling-call optimization if we are
2054	handling exceptions.
2055
20562001-06-05  Bernd Schmidt  <bernds@redhat.com>
2057
2058	* reload1.c (reload): Delete all USEs generated during reload.
2059
20602001-06-05  scott snyder  <snyder@fnal.gov>
2061
2062	* gccbug.in:  Fix typo.
2063
20642001-06-05  Andreas Jaeger  <aj@suse.de>
2065
2066	* builtins.def: Fix definition of __builtin_cosf, it uses float as
2067	parameter and return value.
2068
20692001-06-04  Anthony Green  <green@redhat.com>
2070
2071	* config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
2072	machine.  This is now done in sparc.h.
2073
20742001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
2075
2076	Correct CVS resurrection of invoke.texi.
2077	* doc/invoke.texi: Document new tree dump flags.
2078
20792001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2080
2081	* c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
2082	for casting an aggregate to its own type.  Fixes PR c/2735.
2083
20842001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2085
2086	* doc/texinfo.tex: Update to version 2001-05-24.08.
2087
20882001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
2089
2090	* c-common.h (flag_dump_translation_unit): Remove.
2091	(enum tree_dump_index): Define.
2092	(TDF_ADDRESS, TDF_SLIM): New #defines.
2093	(dump_node_to_file): Remove.
2094	(dump_node): Make extern. Add flags.
2095	(dump_flag, dump_enabled_p, dump_begin, dump_end,
2096	dump_switch_p): Prototype.
2097	* c-common.c (flag_dump_translation_unit): Remove.
2098	* c-decl.c (c_decode_option): Remove -fdump-translation-unit
2099	logic. Use dump_switch_p.
2100	* c-dump.h (struct dump_info): Add node and user fields.
2101	(dump_pointer): Declare.
2102	* c-dump.c (dump_node): Make extern. Add flags.
2103	(SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
2104	(dump_new_line, dump_maybe_newline): Use them.
2105	(dump_pointer): New function.
2106	(dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
2107	chain or function's body. Dump address, if TDF_ADDRESS set.
2108	(dump_flag): Define.
2109	(dump_node_to_file): Remove.
2110	(struct dump_file_info): New struct.
2111	(dump_files): New array.
2112	(dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
2113	* c-lang.c (finish_file): Adjust dumping.
2114	* toplev.h (dump_base_name): Make extern.
2115	* invoke.texi: Document new flags.
2116
21172001-06-04  Mark Mitchell  <mark@codesourcery.com>
2118
2119	* c-tree.h (lang_decl): Add pending_sizes fields.
2120	* c-decl.c (store_parm_decls): Save pending_sizes away for nested
2121	functions.
2122	(c_expand_body): Expand them.
2123	(lang_mark_tree): Mark lang_decl:pending_sizes.
2124	* function.c (expand_pending_sizes): New function, broken out
2125	from ...
2126	(expand_function_start): ... here.
2127	* tree.h (expand_pending_sizes): Declare it.
2128
21292001-06-04  Loren J. Rittle  <ljrittle@acm.org>
2130
2131	* doc/install.texi: Update FreeBSD information.  Generalize
2132	and update information for alpha-based platforms using ELF.
2133
21342001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2135
2136	* c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
2137	(store_parm_decls): Likewise.
2138	* c-typeck.c (convert_arguments): Likewise.
2139
21402001-06-04  Richard Henderson  <rth@redhat.com>
2141
2142	* sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
2143	optimization if current_function_calls_setjmp.
2144
21452001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2146
2147	* doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
2148	wide strings.
2149
2150Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
2151
2152	* simplify-rtx.c (simplify_subreg): Fix combining of
2153	paradoxical subregs.
2154
2155Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
2156
2157	* rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
2158	(no_labels_between_p): Short circuit case beg==end.
2159
2160Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
2161
2162	* rtlanal.c (operand_preference): Fix preference for objects.
2163
2164Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
2165
2166	* gcse.c (handle_avail_expr): Be prepared to handle single_set
2167	parallels.
2168
2169Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2170
2171	* combine.c (if_then_else_cond): Use simplify_subreg instead
2172	of operand_subword.
2173	* integreate.c (sub_constants): Likewise.
2174
2175Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
2176
2177	* emit-rtl.c (constant_subword): Deprecate; remove most of code
2178	and use simplify_gen_subreg.
2179
2180Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
2181
2182	* sibcall.c (skip_copy_to_return_value): recognize the situation
2183	when the called function's return value is copied into an
2184	intermediate pseudo, and then into the calling functions return
2185	value register.
2186
2187Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
2188
2189	* simplify_rtx.c (simplify_subreg): Keep subregs on return values,
2190	check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
2191	in case register wasn't OK previously, accept it now; allow
2192	subregs of frame pointer if reload completed and frame pointer
2193	is not needed.
2194
2195	* combine.c (sombine_simplify_rtx): Fix comment;
2196	use subreg_lowpart_offset instead of subreg_lowpart_p
2197	(gen_lowpart_for_combine): Use subreg_lowpart_offset.
2198	* rtl.h (subreg_lowpart_parts_p): Kill.
2199	(subreg_lowpart_offset, subreg_highpart_offset): Declare.
2200	* simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
2201	* emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
2202	(gen_lowpart_common): Likewise.
2203	(subreg_lowpart_p): Likewise.
2204	(subreg_lowpart_parts_p): Kill.
2205	(subreg_lowpart_offset, subreg_highpart_offset): New function.
2206
2207	* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
2208	to simplify SUBREG and REG.
2209	(gen_highpart): Use simplify_gen_subreg for all simplifications.
2210
2211	* emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
2212	CONCAT specially.
2213
2214	* rtlanal.c (replace_regs):  Use simplify_gen_subreg
2215
2216Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2217
2218	* doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
2219	(ARRAY_RANGE_REF): Added description.
2220
2221	* tree.def (ARRAY_RANGE_REF): New code.
2222	* alias.c (handled_component_p, can_address_p): Handle it.
2223	* dwarf2out.c (loc_descriptor_from_tree): Likewise.
2224	* explow.c (set_mem_attributes): Likewise.
2225	* expr.c (expand_assignment, get_inner_reference): Likewise.
2226	(expand_expr, expand_expr_unaligned, do_jump): Likewise.
2227	* fold-const.c (operand_equal_p): Likewise.
2228	* tree.c (staticp, stabilize_reference): Likewise.
2229	* varasm.c (decode_addr_const): Likewise.
2230
2231Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2232
2233	* reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
2234	(push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
2235
22362001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
2237
2238	* gcc/config/sh/sh.c (print_operand_address, print_operand): Call
2239	mark_constant_pool_use before output_addr_const.
2240	(struct pool_node): New field wend.
2241	(add_constant): Note a sequence of constants that are referenced
2242	by a given label.
2243	(pool_window_label, pool_window_last): New variables.
2244	(dump_table): Emit a unspec_volatile representing the end of a
2245	sequence of constants.
2246	(mark_constant_pool_use): New function.
2247	* gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
2248	(consttable_2): Add the second operand which flags whether
2249	this consttable entry was used or not.
2250	(consttable_4, consttable_8, consttable_sf, consttable_df):
2251	Likewise.
2252	(consttable_window_end): New insn.
2253
22542001-06-03  Alexandre Oliva  <aoliva@redhat.com>
2255
2256	* insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
2257	Reformat according to coding standards.
2258
2259	Warning removal.
2260	* config/sh/sh.c (print_operand_address): Cast INTVAL to int.
2261	(shl_and_kind): Cast wide constant.
2262	(gen_far_branch): Define as static, as in declaration.
2263	(barrier_align): Compute cache-line length as unsigned.  Add
2264	parentheses in initial credit computation.
2265	(rounded_frame_size): Add parentheses.
2266	(permanent_obstack): Remove declaration.  Include ggc.h for
2267	declaration of ggc_add_root_rtx().
2268	(get_free_reg): Removed declaration of unused variable reg.
2269	(legitimize_pic_address): Mark mode argument as unused.
2270
22712001-06-03  Igor Shevlyakov  <igor@windriver.com>
2272
2273	* config/sh/sh.c (output_branch): Support for insn with lenght
2274	attr 12 & 16 which represents cond branches outside +-4096 range.
2275
22762001-06-03  Alexandre Oliva  <aoliva@redhat.com>
2277
2278	* config/sh/lib1funcs.asm (ic_invalidate): Align the
2279	cache-mirroring sequence.  Add nops.
2280
22812001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2282
2283	* doc/install-old.texi: Remove more old installation
2284	documentation.
2285	* doc/install.texi: Add relevant parts here.
2286
22872001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2288
2289	* doc/install.texi2html: New script.
2290
22912001-06-03  David Edelsohn  <edelsohn@gnu.org>
2292
2293	* doc/install.texi: Update AIX information again.
2294
22952001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2296
2297	* doc/gcc.texi, doc/install-old.texi: Remove old system-specific
2298	installation documentation.
2299	* doc/install.texi: Move it to here.
2300
23012001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2302
2303	* doc/install.texi: Clean up Texinfo markup.
2304
23052001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2306
2307	* doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
2308	to just after title page.
2309
23102001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2311
2312	* doc/install-old.texi: Remove documentation of some configuration
2313	options.
2314	* doc/install.texi: Add relevant parts of this documentation here.
2315
23162001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2317
2318	* contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
2319	Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
2320
2321Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
2322
2323	* i386.md (all uses of ext_register_operand): Make sure they are
2324	VOIDmode; replace all uses outside zero_extend.
2325	(and?i splitters): Use ext_register_operands.
2326	(test?i peep2): Remove ignored constraints.
2327	* i386.c (ext_register_operand): Check that operand is
2328	either pseudo or hard or 'Q' register.
2329
2330Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2331
2332	* tree.h (struct record_layout_info_s): New field unpadded_align.
2333	(set_lang_adjust_rli): New declaration.
2334	* stor-layout.c (layout_decl): If DECL is packed, but at alignment
2335	it would have if not packed, do not downgrade DECL_ALIGN.
2336	(lang_adjust_rli, set_lang_adjust_rli): New.
2337	(start_record_layout): Initialize new field unpadded_align.
2338	(debug_rli): Display it.
2339	(place_union_field, place_field): Set it.
2340	(layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
2341
2342	* print-tree.c (print_node): Don't print "regdecl" when bit doesn't
2343	mean that; use proper names instead.
2344	Print DECL_NO_STATIC_CHAIN.
2345
2346	* except.c (expand_builtin_frob_return_addr): Add missing call
2347	to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
2348	(expand_builtin_eh_return): Likewise.
2349	(expand_eh_return): Clean up ptr_mode != Pmode cases.
2350
23512001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
2352
2353	* doc/invoke.texi: Remove references to papers about sequence points
2354	to readings.html, refer to that page.
2355
23562001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2357
2358	* README: Update references to installation instructions.
2359
23602001-06-01  Laurent Guerby  <guerby@acm.org>
2361	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2362
2363	* doc/install.texi: Define srcdir when sources come from CVS.
2364	Significantly improve markup.  Wrap overly long lines
2365
23662001-06-01  DJ Delorie  <dj@redhat.com>
2367
2368	* c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
2369	extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
2370	objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
2371	gcov.1: Move to doc subdirectory.
2372	* install.texi: Move to doc/install-old.texi.
2373	* gcc.texi: Move to doc, refer to install-old.texi.
2374	* Makefile.in: Reflect move of docs to doc/.
2375	* f/Make-lang.in: Ditto.
2376	* java/Make-lang.in: Ditto.
2377	* doc/.cvsignore: New.
2378
23792001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
2380
2381	* invoke.texi: use two spaces between command options, eliminate
2382	some 'overfull hboxes'
2383
23842001-06-01  Hans-Peter Nilsson  <hp@axis.com>
2385
2386	* Makefile.in (s-mlib): Make backtick-commands always succeed.
2387	(DRIVER_DEFINES): Ditto.
2388
23892001-05-31  Richard Henderson  <rth@redhat.com>
2390
2391	* gcc.c (init_gcc_specs): When linking against libgcc_s.so,
2392	also link against libgcc.a.
2393
23942001-05-31  Geoff Keating  <geoffk@cygnus.com>
2395
2396	* config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
2397	* config/mips/mips.c (mips_output_ascii): New function.
2398	* config/mips/mips-protos.h (mips_output_ascii): Prototype.
2399
2400	* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
2401
2402Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
2403
2404	* flow.c (set_block_for_new_insns): Remove bogus shortcut.
2405	* i386.c (ix86_expand_int_movcc): Force one of operands to be register.
2406
24072001-05-31  Rodney Brown  <rbrown64@csc.com.au>
2408
2409	* install.texi (Configuration): Add html links for --with-gnu-as &
2410	--with-gnu-ld and refer to them from hppa & SCO triplets.
2411	(Specific): Link back to with-gnu-ld for all ELF platfoms.
2412	(Specific): Reword AVR binutils recommendation.
2413
24142001-05-30  Zack Weinberg  <zackw@stanford.edu>
2415
2416	* ggc-page.c (size_lookup): Increase minimum allocation size
2417	to eight bytes.
2418	(ggc_print_statistics): Report size of each bin in bytes, not
2419	as its order; there is no longer a direct relationship.
2420
24212001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
2422
2423	* extend.texi: Fix formating of examples, eliminate some
2424	'overfull hboxes'.
2425	* gcc.texi: Eliminate some 'overfull hboxes'.
2426	* invoke.texi: Use two spaces between command options, eliminate
2427	some 'overfull hboxes'.
2428
24292001-05-30  Richard Henderson  <rth@redhat.com>
2430
2431	* dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
2432
24332001-05-30  Tom Tromey  <tromey@redhat.com>
2434
2435	* gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
2436	use it in the new association.
2437
24382001-05-30  Loren J. Rittle  <ljrittle@acm.org>
2439	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
2440
2441	* gthr-posix.h (__gthread_active_ptr): Cast function pointer
2442	to target type to allow ISO C++ compiler to accept it.
2443	* gthr-dce.h (__gthread_active_ptr): Likewise.
2444	* gthr-solaris.h (__gthread_active_ptr): Likewise.
2445
24462001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2447
2448	* cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
2449	so that we do accept comments in preprocessed input.
2450
24512001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2452
2453	* cpphash.c (alloc_node): Cast allocated pointer.
2454
24552001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
2456
2457	* invoke.texi (Option Summary): Remove -isystem-c++ from options.
2458
24592001-05-29  Stan Shebs  <shebs@apple.com>
2460
2461	* gcc.texi: Add links for information about Objective-C.
2462
24632001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
2464
2465	* configure.in (gcc_version): Remove unrequired \ on ". (Solaris
2466	/bin/sed fails on [^\"]).
2467	(configargs.h): Likewise.
2468
24692001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
2470
2471	* config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
2472
24732001-05-28  Stan Shebs  <shebs@apple.com>
2474
2475	* objc/objc.gperf: Remove, no longer used.
2476
24772001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2478
2479	* c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
2480	gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
2481	Remove trailing whitespace.
2482
24832001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2484
2485	* doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
2486	became http://freeware.sgi.com/.
2487
24882001-05-27  Geoffrey Keating  <geoffk@redhat.com>
2489
2490	* local-alloc.c (update_equiv_regs): Don't eliminate constant
2491	expressions at -O0.
2492
24932001-05-27  Stan Shebs  <shebs@apple.com>
2494
2495	* objc/objc-act.c: Add/fix various comments.
2496	(init_selector): Remove, no longer used.
2497	(build_msg_pool_reference): Ditto.
2498	(objc_debug): Ditto.
2499
25002001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2501
2502	* c-decl.c (init_decl_processing):
2503	 Don't call start_identifier_warnings.
2504	* flags.h (warn_id_clash, id_clash_len): Remove.
2505	* stringpool.c: Don't include flags.h.
2506	(scan_for_clashes, do_identifier_warnings,
2507	start_identifier_warnings): Remove.
2508	* toplev.c (warn_id_clash, id_clash_len): Remove.
2509	(display_help): Don't document -Wid-clash.
2510	(decode_W_option): Print warning on -Wid-clash.
2511	* tree.h (start_identifier_warnings): Remove.
2512	* invoke.texi: Remove documentation of -Wid-clash.
2513
25142001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2515
2516	* fixinc/fixtests.c: Declare entries in ENV_TABLE.
2517
25182001-05-27  Bruce Korb  <bkorb@gnu.org>
2519
2520	* fixinc/check.tpl(HACK) add and use a Scheme variable
2521	(has no test text): error out if no "test_text" is defined
2522	* fixinc/fixincl.tpl: likewise
2523	(FIXIDX): make it an enumeration so we minimize diffs
2524	* fixinc/inclhack.def: re-alphabetize and add sort instructions
2525	* fixinc/fixincl.x: regenerate
2526	* fixinc/tests/base/stdio.h: test output got moved due to
2527	the alphabetizing
2528	* README-fixinc: rewrite (mostly)
2529
25302001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2531
2532	* cpplib.c (run_directive): Set pfile->directive.
2533
25342001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
2535
2536	* c-tree.texi: Reformat the manual as a single chapter now
2537	included by gcc.texi.
2538	* gcc.texi: Include c-tree.texi. Merge all indexes.
2539	* Makefile.in (dvi): Add generation for the cppinternals
2540	documentation. Added dependencies on fdl.texi and c-tree.texi
2541	where appropriate.  Use TEXI2DVI instead of custom tex calls.
2542	(info): Added dependencies on fdl.texi and c-tree.texi where
2543	appropriate.  Remove the target c-tree.info.
2544
25452001-05-27  Lars Brinkhoff  <lars@nocrew.org>
2546
2547	* combine.c (try_combine): Fix typo in comment.
2548	* expr.c (expand_expr): Likewise.
2549	* config/i370/i370.md (untyped_call): Likewise.
2550
25512001-05-26  Bruce Korb  <bkorb@gnu.org>
2552
2553	* fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
2554	when fixincl is operating in test mode
2555	* fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
2556	(AAB_ultrix_limits): remove redundant text
2557	(AAB_ultrix_memory): ditto
2558	(AAB_ultrix_string): ditto
2559	(djgpp_wchar_h): fix the test text
2560	(irix_stdio_va_list): add test text
2561	(irix_limits_const): add a testing output file (limits.h is overwritten)
2562	(strict_ansi_not_ctd): put limits.h second in list for same reason
2563	(solaris27_mutex_init): test text needed selection text, too
2564
2565	* fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
2566	when fixincl is operating in test mode
2567
25682001-05-26  Philip Blundell  <philb@gnu.org>
2569
2570	* config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
2571	* config/i960/i960-protos.h: Likewise.
2572	* config/i370/i370-protos.h: Likewise.
2573	* config/h8300/h8300-protos.h: Likewise,
2574	* config/sh/sh-protos.h: Likewise.
2575	* config/v850/v850-protos.h: Likewise.
2576
25772001-05-26  Philip Blundell  <philb@gnu.org>
2578
2579	* config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
2580
25812001-05-25  Zack Weinberg  <zackw@stanford.edu>
2582
2583	* toplev.c (debug_args, f_options, W_options): Mark
2584	descriptions for translation.
2585	(display_help): Translate descriptions on output.
2586
2587	* cp/lang-options.h, f/lang-options.h, java/lang-options.h,
2588	objc/lang-options.h: Mark descriptions for translation.
2589
2590	* aclocal.m4: Quote final argument of patsubst.  Use
2591	3-argument form of AC_DEFINE.  Restore quotes to [] while
2592	using AC_FD_CC.
2593	* configure.in: Remove unnecessary changequote calls.
2594	* configure, config.in: Regenerate.
2595
25962001-05-25  Sam TH  <sam@uchicago.edu>
2597
2598	* basic-block.h: Fix header include guards.
2599	* bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
2600	cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
2601	except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
2602	gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
2603	gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
2604	insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
2605	rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
2606	varray.h version.h: Likewise.
2607	* config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
2608	config/arm/arm.h config/c4x/c4x-protos.h
2609	config/h8300/h8300-protos.h config/h8300/h8300.h
2610	config/i370/i370-protos.h config/i370/i370.h
2611	config/i960/i960-protos.h config/mcore/mcore.h
2612	config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
2613	config/v850/v850-protos.h config/v850/v850.h: Likewise.
2614	* fixinc/fixlib.h fixinc/server.h: Likewise.
2615
26162001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
2617
2618	* config/arc/initfini.c (.init): Fix typo.
2619
26202001-05-25  Geoffrey Keating  <geoffk@redhat.com>
2621
2622	* config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
2623
26242001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2625
2626	* i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
2627
26282001-05-25  Richard Henderson  <rth@redhat.com>
2629
2630	* libgcc-std.ver: Export XFmode and TFmode versions of symbols.
2631
26322001-05-25  Richard Henderson  <rth@redhat.com>
2633
2634	* config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
2635	(i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
2636	(sparc*-*-solaris2): Likewise.
2637	* config/t-linux: Remove shared libgcc macros.
2638	* config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
2639	* config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
2640
26412001-05-25  Loren J. Rittle  <ljrittle@acm.org>
2642
2643	* config.gcc (*-*-freebsd*): Report bad configuration.
2644
26452001-05-25  David Edelsohn  <edelsohn@gnu.org>
2646
2647	* xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
2648
2649	* config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
2650	any prefix.
2651	(ASM_OUTPUT_LABELREF): Delete.
2652
26532001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2654
2655	* fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
2656	strict_ansi_only): Don't run if stdc_0_in_system_headers.
2657	* fixinc/fixincl.x: Regenerate.
2658	* fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
2659	(FIX_TEST_TABLE): Declare it.
2660	* fixinc/fixlib.h: Include config.h.
2661
26622001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2663
2664	* fixinc/inclhack.def (alpha___assert): Change char * args to
2665	const char * on Tru64 UNIX to avoid excessive warnings from
2666	assert.h.
2667	* fixinc/fixincl.x: Regenerate.
2668
26692001-05-25  Geoff Keating  <geoffk@redhat.com>
2670
2671	* dbxout.c (dbxout_symbol): Invert previous patch, which was
2672	outputting a tag only for variable-size records.
2673
26742001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
2675
2676	* config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
2677	instead of rtx_equal_p for early clobber test.
2678
26792001-05-26  Mark Mitchell <mark@codesourcery.com>
2680
2681	* builtins.def: Encode additional information, such as names and
2682	types, here.
2683	* builtin-types.def: New file.
2684	* builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
2685	(built_in_decls): Likewise.  Don't explicitly initialize global
2686	data to NULL.
2687	(expand_builtin_mathfn): Handle float and long double variants of
2688	math builtins.
2689	(expand_builtin): Likewise.
2690	* c-common.c (c_common_nodes_and_builtins): Make it table-driven.
2691	(expand_tree_builtin): Handle long, long long, float, and long
2692	double variants of math functions.
2693	* c-common.h (c_tree_index): Remove some unused nodes.
2694	(void_ftype): Remove.
2695	(void_type_ptr): Likewise.
2696	(int_ftype_int): Likewise.
2697	(ptr_ftype_sizetype): Likewise.
2698	* c-decl.c (init_decl_processing): Remove creation of DWARF
2699	builtins.
2700	* defaults.h (MD_INIT_BUILTINS): Provide default definition.
2701	* tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
2702	* Makefile.in (c-common.o): Depend on builtin-types.def.
2703
27042001-05-25  Dale Johannesen  <dalej@apple.com>
2705
2706	* config/rs6000/t-darwin: Fix dependencies for darwin.o.
2707
27082001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2709
2710	* c-parse.in (notype_initdcl): Remove redundant line.
2711
27122001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2713
2714	* aclocal.m4: Fixed typo.
2715	(gcc_AC_HEADER_STDBOOL): Define.
2716	(gcc_AC_C__BOOL): Define.
2717	* configure.in: Use them.
2718	(AC_CHECK_HEADERS): Remove stdbool.h
2719	* configure, config.in: Regenerate.
2720
27212001-05-25  Richard Henderson  <rth@redhat.com>
2722
2723	* function.c (expand_function_start): Don't abort on PARALLEL
2724	returns from hard_function_value.
2725
27262001-05-25  Richard Henderson  <rth@redhat.com>
2727
2728	* config/i386/i386.md: Revert previous change.  Do not apply
2729	the peephole if the components do not die after the sequence.
2730
27312001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2732
2733	* c-parse.in (array_declarator): New.  Handle C99 constructs.
2734	Don't restrict [*] declarators to C only.
2735	(after_type_declarator, parm_declarator_starttypename,
2736	parm_declarator_nostarttypename, notype_declarator,
2737	direct_absdcl1): Use it.
2738	* c-decl.c (build_array_declarator, set_array_declarator_type):
2739	New functions.  Warn that [*] isn't properly implemented; pedwarn
2740	for [*] outside C99 mode if pedantic rather than giving a hard
2741	error.
2742	(grokdeclarator): Handle static and type qualifiers in parameter
2743	array declarators.
2744	* c-tree.h (build_array_declarator, set_array_declarator_type):
2745	Declare.
2746	* extend.texi (Attribute Syntax): Document attributes in parameter
2747	array declarators.
2748
27492001-05-25  Mark Mitchell  <mark@codesourcery.com>
2750
2751	* config/i386/i386.md: Make sure cmpstr peepholes do not
2752	affect liveness information.
2753
27542001-05-24  Mark Mitchell  <mark@codesourcery.com>
2755
2756	* c-typeck.c (digest_init): Issue error messages about
2757	invalid constants, not warnings.
2758
27592001-05-24  Mark Mitchell  <mark@codesourcery.com>
2760
2761	* invoke.texi (-fno-builtin): Document that this is always on
2762	in C++.
2763
27642001-05-24  Philip Blundell  <philb@gnu.org>
2765
2766	* doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
2767	required.
2768
27692001-05-24  Philip Blundell  <philb@gnu.org>
2770
2771	* config/arm/arm.c (output_return_instruction): Correctly handle
2772	interworking and interrupt functions.
2773
27742001-05-24  Philip Blundell  <philb@gnu.org>
2775
2776	* config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
2777	-m{no-}sched-prolog.  Fix typos and improve formatting.
2778
27792001-05-24  Philip Blundell  <philb@gnu.org>
2780
2781	* invoke.texi (ARM Options): Improve wording slightly.  Add
2782	documentation for more options, including those for Thumb mode.
2783	Don't mention options that don't exist or are unimplemented.
2784	(Thumb Options): Delete; merged into above section.
2785
27862001-05-24  Geoff Keating  <geoffk@redhat.com>
2787
2788	* config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
2789	(MD_FALLBACK_FRAME_STATE_FOR): Use it.
2790
2791Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
2792
2793	* simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
2794	fix hard register simplification.
2795
2796Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2797
2798	* sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
2799	of just copying CPP_CPU_SPEC.
2800
2801Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2802
2803	* i386.c (incdec_operand): Accept only 1 and -1.
2804
28052001-05-23  Kelley Cook  <kelley.cook@home.com>
2806
2807	* Makefile.in: Move many of the *_H definitions eariler in the
2808	file, so that rules in t-* files that use them for
2809	dependencies will work in a parallel build.
2810	* config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
2811
28122001-05-23  Richard Henderson <rth@redhat.com>
2813
2814	* integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
2815
28162001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2817
2818	* cpp.texi: Update for handling of charconsts.
2819	* cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
2820	diagnostics.  Skip to the end if the UCS is too short.
2821	(cpp_interpret_charconst): Long charconsts issue a warning
2822	not an error.
2823
28242001-05-23  Richard Henderson  <rth@redhat.com>
2825
2826	* doc/install.texi (alpha-linux): Require binutils 2.11.
2827
28282001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2829
2830	* c-lex.c (read_escape, read_ucs): Delete.
2831	(lex_string): Use cpp_parse_escape.
2832	* cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
2833	if not C++ or not C99.  Warn if traditional.
2834	(parse_escape): Rename cpp_parse_escape.  Make the bitmask
2835	unsigned.  Warn for out-of-range escape sequences here.
2836	Update to use maybe_read_ucs.
2837	(cpp_interpret_charconst):  Don't warn here.
2838	* cpplib.h (cpp_parse_escape): New exported function.
2839
28402001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2841
2842	* extend.texi (Attribute Syntax): Clarify application of
2843	attributes to parameters declared as functions or arrays.
2844
28452001-05-23  Jason Merrill  <jason_merrill@redhat.com>
2846
2847	* dbxout.c (dbxout_type_methods): Do still group methods by name.
2848
28492001-05-23  Zack Weinberg  <zackw@stanford.edu>
2850
2851	* diagnostic.c (vnotice): Kill.
2852	(fnotice): Call vfprintf directly.
2853	(diagnostic_for_decl, output_do_verbatim, output_verbatim,
2854	verbatim, set_diagnostic_context): Rename string argument to
2855	indicate that it is run through gettext.
2856	(vbuild_message_string, build_message_string, output_do_printf):
2857	Rename string argument to indicate that it is NOT run through
2858	gettext.
2859	(output_printf, diagnostic_for_decl, fatal_io_error, sorry,
2860	output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
2861	Run msgid argument through gettext.
2862	(default_print_error_function): Run constant strings through
2863	gettext when nothing else will.
2864	(fatal_error, internal_error, error_recursion): Use fnotice.
2865	Present complete sentences to gettext.
2866
28672001-05-23  Mark Mitchell  <mark@codesourcery.com>
2868
2869	* jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
2870
28712001-05-23  Richard Henderson  <rth@redhat.com>
2872
2873	* function.c (expand_function_start): Always use a pseudo
2874	for the function result value.
2875
28762001-05-22  Richard Henderson  <rth@redhat.com>
2877
2878	* config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
2879	section pointer alignment.
2880
2881	* doc/install.texi (alpha-linux): Require binutils >= 2.10.
2882
2883	* unwind-dw2-fde.c (__deregister_frame_info): Stringize use
2884	of __USER_LABEL_PREFIX__.
2885
28862001-05-22  Richard Henderson  <rth@redhat.com>
2887
2888	* unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favor of...
2889	(__deregister_frame_info_bases): New.
2890	* unwind-dw2-fde.h: Declare it.
2891	* libgcc-std.ver: Export it.
2892	* crtstuff.c (__do_global_dtors_aux): Call it if we would have
2893	called __register_frame_info_bases.
2894
28952001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2896
2897	* config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
2898	instead of #elif (which is OK for this case but not in general).
2899
29002001-05-22  Andrew MacLeod  <amacleod@redhat.com>
2901
2902	* builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
2903	* config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
2904	parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
2905	* config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
2906	"r2" to the assembly file. Only issue allocs with nonzero parameters.
2907
29082001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2909	    David O'Brien  <obrien@freebsd.org>
2910
2911	* config/freebsd.h (LIB_SPEC): Key the exact setting to
2912	configure-time options and target version of FreeBSD.  Set-up
2913	to match architectural change in threading support.  Correctly
2914	report when -pthread option is not supported by configure-time
2915	options.
2916	(FBSD_CPP_PREDEFINES): Move from architecture-specific files
2917	and extend to encode target version number in run-time setting
2918	of __FreeBSD__ macro to match the system compiler.
2919	(CPP_PREDEFINES): Likewise.
2920	(PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
2921
2922	* config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
2923	* config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
2924
29252001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2926	    David O'Brien  <obrien@freebsd.org>
2927
2928	* config.gcc (the unlabeled system switch statement): Add
2929	generic configuration section to handle *-*-freebsd*.  Also,
2930	to match the system compiler, default to threading support (it
2931	may be disabled with the standard --disable-threads
2932	configuration-time switch).
2933	(i[34567]86-*-freebsd* in machine-specific section): Use it.
2934	(alpha*-*-freebsd* in machine-specific section): Likewise.
2935
2936	* config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
2937	* config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
2938	* config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
2939	* config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
2940	* config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
2941
29422001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2943	    David O'Brien  <obrien@freebsd.org>
2944
2945	* config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
2946	* config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
2947	-pthread instead setting macro.
2948
29492001-05-22  Richard Henderson  <rth@redhat.com>
2950
2951	* crtstuff.c (__register_frame_info_bases): Declare.
2952	(frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
2953	(__do_global_dtors_aux, __do_global_dtors): Streamline.
2954
2955	* config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2956	(CRT_GET_RFIB_DATA): New.
2957	* config/i386/sysv4.h: Likewise.
2958	* config/i386/sco5.h: Likewise.
2959	(ASM_PREFERRED_EH_DATA_FORMAT): New.
2960
29612001-05-22  Richard Henderson  <rth@redhat.com>
2962
2963	* rtl.c (read_string): Break out from ...
2964	(read_rtx): ... here.
2965
29662001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2967
2968	* doc/install.texi (Specific): Remove a bogus and duplicate part
2969	copied from the end of the document.
2970
29712001-05-22  Bernd Schmidt  <bernds@redhat.com>
2972
2973	* Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
2974
29752001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2976
2977	* install.texi: Remove obsolete information on SunOS as well as
2978	i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
2979	(Installing GNU CC on the Sun): Remove section.
2980
29812001-05-22  Alexandre Oliva  <aoliva@redhat.com>
2982
2983	* cppfiles.c (remove_component_p): Don't assume lstat/stat will
2984	keep errno unchanged on success.
2985
29862001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
2987
2988	* c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
2989	once for hexadecimal floats, whether or not they contain a decimal
2990	point.  Don't let the setting of pedantic otherwise affect the
2991	parsing of hexadecimal floats.
2992
29932001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2994
2995	* README.ACORN: Remove obsolete file.
2996
29972001-05-22  Jan Hubicka  <jh@suse.cz>
2998
2999	* combine.c (gen_binary): Use swap_commutative_operands_p
3000	(simplify_comparison): Likewise.
3001	* expmed.c (emit_store_flag): Likewise.
3002	* expr.c (compare_from_rtx): Likewise.
3003	(do_compare_rtx_and_jump): Likewise.
3004	* optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
3005	if not emitting a branch and operands want swapping.
3006
30072001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
3008
3009	* c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
3010	* stringpool.c:	(IS_FE_IDENT, make_identifier): Delete.
3011	(maybe_get_identifier): Update.
3012	* tree.h (make_identifier): Delete.
3013
30142001-05-21  Richard Henderson  <rth@redhat.com>
3015
3016	* combine.c (subst): Do not substitute for a register as
3017	a destination subreg/strict_low_part/zero_extract.
3018
3019	* combine.c (simplify_comparison): Update op1 after constant
3020	extension.
3021	* recog.c (const_int_operand): Accept only constants valid
3022	for the given mode.
3023	* genrecog.c: Update comments wrt const_int_operand.
3024
3025	* emit-rtl.c (init_emit_once): Zero unused memory in a
3026	CONST_DOUBLE.
3027
30282001-05-21  Mark Mitchell  <mark@codesourcery.com>
3029
3030	* tree.h (type_num_arguments): Declare it.
3031	* tree.c (type_num_arguments): New function.
3032
30332001-05-21  Richard Henderson  <rth@redhat.com>
3034
3035	* dwarf2out.c (current_funcdef_number): Move outside dwarf2
3036	conditional ifdef.
3037
30382001-05-21  Geoff Keating  <geoffk@redhat.com>
3039
3040	* config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
3041	(maxsf3+1): Delete.
3042	(minsf3): Use rs6000_emit_minmax.
3043	(minsf3+1): Generalize to handle both SMIN and SMAX.  Use
3044	rs6000_emit_minmax.
3045	(movsfcc): Use rs6000_emit_cmove.
3046	(fselsfsf4): Don't compare a CONST_INT with a floating-point value.
3047	Don't generate emit_fselsfsf4.
3048	(fseldfsf4): Likewise.
3049	(maxdf3): Use rs6000_emit_minmax.
3050	(maxdf3+1): Delete.
3051	(mindf3): Use rs6000_emit_minmax.
3052	(mindf3+1): Generalize to handle both SMIN and SMAX.  Use
3053	rs6000_emit_minmax.
3054	(movdfcc): Use rs6000_emit_cmove.
3055	(fseldfdf4): Don't compare a CONST_INT with a floating-point value.
3056	Don't generate emit_fselsfsf4.
3057	(fselsfdf4): Likewise.
3058	* config/rs6000/rs6000.c (zero_fp_constant): New predicate.
3059	(min_max_operator): New predicate.
3060	(rs6000_emit_cmove): New function.
3061	(rs6000_emit_minmax): New function.
3062	* config/rs6000/rs6000-protos.h: Prototype new functions.
3063	* config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
3064	and min_max_operator.
3065
3066	* config/rs6000/rs6000.c (output_cbranch): Handle all
3067	conditional types in the switch statement.
3068
30692001-05-21  Mark Mitchell  <mark@codesourcery.com>
3070
3071	* c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
3072	non-register variables.
3073	* extend.texi: Document that asm-specifications do not make sense
3074	for non-static local variables.
3075
30762001-05-21  Jason Merrill  <jason_merrill@redhat.com>
3077
3078	* dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
3079	(dbxout_type_fields): Lose minimal_debug support.
3080	(dbxout_type_methods, dbxout_type): Likewise.
3081
30822001-05-17  Andrew Haley  <aph@redhat.com>
3083
3084	* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3085
30862001-05-21  Richard Henderson  <rth@redhat.com>
3087
3088	* dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
3089	Update all users.
3090
30912001-05-20  Richard Henderson  <rth@redhat.com>
3092
3093	* dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
3094	DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
3095	DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
3096	* dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
3097	DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
3098	Likewise.
3099	* config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
3100	DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
3101	DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
3102	(DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
3103	* config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
3104	DEBUG_PUBNAMES_SECTION): Rename as above.
3105	(DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
3106
31072001-05-20  Richard Henderson  <rth@redhat.com>
3108
3109	* optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
3110	operands unless the operation is commutative.
3111
31122001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3113
3114	* fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
3115	cases.
3116
31172001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
3118
3119	* extend.texi: Clarify documentation of extensions included in ISO
3120	C99.  Prefer C99 terminology and syntax to old GNU terminology and
3121	syntax.  Add more index entries.  Document mixed declarations and
3122	code as an extension in C89 mode.  Warn about future changes to
3123	semantics of inline functions.  Fixes PR other/930.
3124
3125Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3126
3127	* expr.c (expand_expr, case ARRAY_REF): Don't fold constant
3128	access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
3129	(expand_expr, case COMPONENT_REF): Do copy if misaligned even
3130	if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
3131
3132	* stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
3133
31342001-05-20  Richard Henderson  <rth@redhat.com>
3135
3136	* sched-deps.c (sched_analyze_insn): Force volatile memory reads
3137	to be output before a branch.
3138
31392001-05-20  Richard Henderson  <rth@redhat.com>
3140
3141	* Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
3142
31432001-05-20  Richard Henderson  <rth@redhat.com>
3144
3145	* config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
3146	(ASM_DOUBLE): Remove.
3147	* config/i386/bsd.h, config/i386/sco5.h: Likewise.
3148	* config/i386/sun386.h: Likewise.
3149
3150	* config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
3151	(UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
3152
3153	* config/i386/cygwin.h (INT_ASM_OP): Remove.
3154	* config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
3155	* config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
3156	* config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
3157
3158	* config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
3159	* config/i386/djgpp.h, config/i386/i386.h: Likewise.
3160	* config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
3161	* config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
3162	* config/i386/sysv4.h, config/i386/vsta.h: Likewise.
3163	* config/i386/win32.h: Likewise.
3164
31652001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3166
3167	* invoke.texi: Add more options to summary list.
3168
31692001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3170
3171	* invoke.texi: Document meaning of -pedantic when -std=gnu* is
3172	used.  Fixes PR c/2291.
3173	* gcc.1: Regenerate.
3174
31752001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3176
3177	* config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
3178	the -fpic and -fPIC options, clear flag_pic.
3179
31802001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3181
3182	* hashtable.c (calc_hash): Fix HASHSTEP definition.
3183	* stringpool.c (make_identifier): No statistics here anymore.
3184	* objc-act.c (steup_string_decl): Remove redundant check.
3185
31862001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3187
3188	* Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
3189	cpplib.o, cpphash.o, fix-header): Update.
3190	(hashtable.o): New target.
3191	* c-common.h: Include cpplib.h.  Define C_RID_CODE and
3192	struct c_common_identifier here.
3193	* c-lang.c (c_init_options): Update.  Call set_identifier_size.
3194	* c-lex.c (c_lex): Update.
3195	* c-pragma.h: Update.
3196	* c-tree.h (struct lang_identifier): Contain c_common_identifier.
3197	Delete rid_code.
3198	(C_RID_CODE): Delete.
3199	* cpphash.c: Rewrite to use hashtable.c.
3200	* cpphash.h: Update include guards.
3201	(struct cpp_reader): Remove hashtab.
3202	hash_ob and buffer_ob are no longer pointers.  Add hash_table
3203	and our_hashtable.
3204	(HASHSTEP, _cpp_init_hashtable,	_cpp_lookup_with_hash): Delete.
3205	(_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
3206	(_cpp_cleanup_stacks): Rename _cpp_init_directives.
3207	* cppinit.c (cpp_create_reader): Update.
3208	* cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
3209	(cpp_interpret_charconst): Eliminate warning.
3210	* cpplib.c (do_pragma, do_endif, push_conditional,
3211	cpp_push_buffer, cpp_pop_buffer): Update.
3212	(_cpp_init_stacks): Rename cpp_init_directives.
3213	(_cpp_cleanup_stacks): Remove.
3214	* cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
3215	(cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
3216	 cpp_forall_identifiers, cpp_create_reader): Update.
3217	(C_RID_CODE, cpp_make_node): New.
3218	(c_common_identifier): New identifier node for C front ends.
3219	* cppmain.c (main): Update.
3220	* fix-header.c (read_scan_file): Update.
3221	* flags.h (id_clash_len): Make unsigned.
3222	* ggc.h (ggc_mark_nonnull_tree): New.
3223	* hashtable.c: New.
3224	* hashtable.h: New.
3225	* stringpool.c: Update comments and copyright.  Update to use
3226	hashtable.c.
3227	* toplev.c (approx_sqrt): Move to hashtable.c.
3228	(id_clash_len): Make unsigned.
3229	* toplev.h (ident_hash): New.
3230	* tree.c (gcc_obstack_init): Move to hashtable.c.
3231	* tree.h: Include hashtable.h.
3232	(IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
3233	(GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
3234	(struct tree_identifier): Update.
3235	(make_identifier): New.
3236cp:
3237	* cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
3238	(C_RID_CODE): Remove.
3239	* lex.c (cxx_init_options): Call set_identifier_size.  Update.
3240	(init_parse): Don't do it here.
3241objc:
3242	* objc-act.c (objc_init_options): Call set_identifier_size. Update.
3243
3244Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
3245
3246	* except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
3247	as ncessary.
3248	(expand_eh_return): Convert between word_mode and Pmode.
3249	* unwind-dw2.c (extract_cie_info): Do not assume words and pointers
3250	are the same size.
3251	(execute_stack_op): Likewise.
3252	(execute_cfa_program): Likewise.
3253	(uw_frame_state_for): Likewise.
3254	(uw_update_context_1): Likewise.
3255	* unwind.inc (_Unwind_Reason_Code): Likewise.
3256	* config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
3257	(EH_RETURN_STACKADJ_RTX): Likewise.
3258	* config/mips/mips.c (compute_frame_size): Make space for saving
3259	EH return registers.
3260	(mips_expand_epilogue): Handle EH stack adjustments.
3261	* config/mips/mips.md (eh_return): New pattern.
3262	(eh_set_lr_si): Likewise.
3263	(eh_set_lr_di): Likewise.
3264	Add splitter to perform EH return after reload.
3265
32662001-05-19  Mark Mitchell  <mark@codesourcery.com>
3267
3268	* jump.c (mark_jump_label): Tidy previous change.
3269
32702001-05-19  Bruce Korb  <bkorb@gnu.org>
3271
3272	* fixinc/genfixes: no need for two warnings
3273	* fixinc/Makefile.in: open stdin for those building with a closed one.
3274
32752001-05-19  Mark Mitchell  <mark@codesourcery.com>
3276
3277	* jump.c (jump_optimize_1): Tidy.
3278	(mark_jump_label): When changing the label in a LABEL_REF, change
3279	update any REG_EQUAL notes as well.
3280
32812001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3282
3283	* c-parse.in (parm_declarator): Split into
3284	parm_declarator_starttypename and parm_declarator_nostarttypename.
3285	(parm_declarator_starttypename, parm_declarator_nostarttypename):
3286	New.  Allow parenthesised sub-declarators which don't begin with a
3287	TYPENAME.  Fixes PR c/166.
3288
32892001-05-19  Mark Mitchell  <mark@codesourcery.com>
3290
3291	* defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
3292	macro.
3293	* tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
3294	Document it.
3295	* toplev.c (main): If the target does not allow profiling without
3296	a frame pointer, issue an error message.
3297	* config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
3298	Define it to false.
3299
3300Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3301
3302	* recog.c (general_operand): Modify last change to allow it if reload
3303	has completed.
3304
3305Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
3306
3307	* recog.c (general_operand): Prohibit nonzero subreg bytes on
3308	subregs containing mem.
3309
3310Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
3311
3312	* regrename.c (regrename_optimize): frame pointer register can
3313	use a few hardregs.
3314
33152001-05-18  Jason Merrill  <jason_merrill@redhat.com>
3316
3317	* README.DWARF: Move into dwarfout.c.
3318
33192001-05-18  Dale Johannesen  <dalej@apple.com>
3320
3321	* config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
3322	specific misuse of r0 as a reload address.
3323
3324Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
3325
3326	* combine.c (combine_simplify_rtx): Clear op0_mode if simplification
3327	succeeded.
3328
3329Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3330
3331	* genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
3332	(add_to_sequence): Make that decision type.
3333	(maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
3334	(write_switch, write_cond, debug_decision_2): Likewise.
3335
3336	* dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
3337	for INTEGER_TYPE.
3338	(dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
3339	variable size.
3340
33412001-05-18  Stan Shebs  <shebs@apple.com>
3342
3343	* configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
3344	* configure: Regenerate.
3345
33462001-05-18  Per Bothner  <per@bothner.com>
3347
3348	Changes needed for java/jvspec.c
3349	* gcc.h (n_infiles, outfiles):  Add declarations.
3350	* gcc.c (n_infiles, outfiles):  Mske no longer static.
3351
3352Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
3353
3354	* config/pa/som.h (EXCEPTION_SECTION): Define.
3355
33562001-05-18  Daniel Berlin  <dan@cgsoftware.com>
3357
3358	* dwarf2out.c: Add dw_loc_list_ref, a reference to a location
3359	list.
3360	Add have_location_lists, a variable to determine whether we need a
3361	.debug_loc section or not.
3362	(enum dw_val_class): Add dw_val_class_loc_list.
3363	(dw_val_struct): Add val_loc_list.
3364	(dw_loc_list_struct): New structure, represents location lists.
3365	(new_loc_list): New function, return a new location list, given
3366	the range and location expression.
3367	(add_loc_descr_to_loc_list): New function, add a location
3368	expression to a location list, given the expression and range.
3369	(output_loc_list): New function, output a location list.
3370	(gen_internal_sym): Modified to take symbol prefix, so we can
3371	reuse it for location list symbols.
3372	(add_AT_loc_list): New function, add a location list to a DIE at
3373	the named attribute.
3374	(AT_loc_list): New function, return the location list reference
3375	for a given attribute, if it's a location list.
3376	(print_die): Handle dw_val_class_loc_list.
3377	(size_of_die): Ditto.
3378	(value_format): Ditto.
3379	(output_die): Ditto.
3380	(output_location_lists): New function, output all of the location
3381	lists for a DIE and it's children.
3382	(dwarf2out_finish): Call output_location_lists if we have location
3383	lists.
3384
3385
3386Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
3387
3388	* gcse.c (try_replace_reg): First try global replace, later try to
3389	simplify the expression.
3390
3391	* gcse.c (find_used_regs): Change calling convention; work via
3392	note_uses.
3393	(cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
3394
33952001-05-18  Bernd Schmidt  <bernds@redhat.com>
3396
3397	Revert
3398	2001-02-09  Nick Clifton  <nickc@redhat.com>
3399	* config/arm/arm.md: Change output constraint on post inc
3400	load/store multiple patterns to be a read/write constraint.
3401
34022001-05-18  Mark Mitchell  <mark@codesourcery.com>
3403
3404	* basic-block.h (struct basic_block_def): Add documentation about
3405	what a basic block is, and what the various fields are used for.
3406	* flow.c (calculate_globlal_regs_live): Add documentation about
3407	how the algorithm works, and how we know that it will terminate.
3408	Check that the the inductive assumption that guarantees
3409	termination actually holds.
3410	(mark_used_regs): Treat conditionally set registers as used.
3411	(debug_regset): Add comment.
3412	* rtl.texi (cond_exec): Add documentation.
3413
3414	* function.c (expand_function_start): Avoid creating BLKmode
3415	pseudos.
3416
34172001-05-17  Mark Mitchell  <mark@codesourcery.com>
3418
3419	* dwarf2out.c (output_comp_unit): Always output a compilation-unit
3420	DIE, even if it has no children.
3421	(dwarf2out_finish): Always output the line-number table, even if
3422	it has no content.
3423
34242001-05-18  David Edelsohn  <edelsohn@gnu.org>
3425
3426	* rs6000.md (movsfcc,movdfcc): Remove NE case.
3427
34282001-05-17  Bruce Korb <bkorb@gnu.org>
3429
3430	* fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
3431	* fixinc/genfixes: emit a warning if AutoGen is out of date
3432
34332001-05-17  Brendan Conoboy <blc@cygnus.com>
3434	    Bruce Korb <bkorb@gnu.org>
3435
3436	* fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
3437	found in fixinc directory.  Facilitates binary distributions.
3438
34392001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
3440
3441	* dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
3442	COMPLEX_TYPE.
3443
3444Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
3445
3446	* dwarf2out.c (modified_type_die): Equate qualified type to die.
3447
3448Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
3449
3450	* integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
3451	(simplify_subreg): Handle complex types represented as CONCAT.
3452
3453	* recog.c (validate_replace_rtx_1): Properly canonicalize expression
3454	* rtl.h (swap_commutative_operands_p): Declare.
3455	* rtlanal.c (swap_commutative_operands_p): New.
3456	(operand_preference): New static function.
3457
3458	* combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
3459	(gen_binary): Likewise.
3460	* optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
3461	* simplify-rtx.c (simplify_gen_binary,
3462	simplify_gen_relational): Likewise.
3463
3464Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
3465
3466	* cse.c (fold_rtx): Use simplify_subreg.
3467
3468	* simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
3469	(simplify_gen_subreg): New.
3470	(simplify_rtx): Use simplify_subreg.
3471	* rtl.h (simplify_gen_subreg): Declare.
3472
34732001-05-17  Mark Mitchell  <mark@codesourcery.com>
3474
3475	* doc/install.texi: Update Solaris information.
3476
3477	* except.h (protect_cleanup_actions): Remove it.
3478	(lang_protect_cleanup_actions): Declare it.
3479	* except.c (protect_cleanup_actions): Remove it.
3480	(lang_protect_cleanup_actions): New variable.
3481	(init_eh): Don't make protect_cleanup_actions a GC root.
3482	(expand_eh_region_and_cleanup): Call
3483	lang_protect_cleanup_actions.
3484	(output_function_exception_table): Remove unused `align'
3485	variable.
3486	* varasm.c (assemble_external): Abort if we have not yet
3487	opened the assembly output file.
3488
3489Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
3490
3491	* except.c (sjlj_emit_function_enter): Call assemble_external_libcall
3492	for eh_personality_libfunc.
3493
3494Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
3495
3496	* recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
3497	when calling simplify_subreg.  This is needed to allow replacing
3498	of expression of one mode by expression of different mode.
3499
3500Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3501
3502	* simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
3503
35042001-05-17  Bernd Schmidt  <bernds@redhat.com>
3505
3506	* expr.c (protect_from_queue): Protect against subsequent calls to
3507	emit_queue.
3508	(expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
3509	too clever.
3510
3511Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
3512
3513	* simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
3514
35152001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3516
3517	* gccbug.in (CATEGORIES): Add "bootstrap".
3518
3519Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
3520
3521	* simplify-rtx.c (simplify_subreg): Break out from ...
3522	* combine.c (combine_splify_rtx) ... here and ...
3523	* recog.c (validate_replace_rtx_1): ... here;
3524	* rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
3525	* emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
3526	(subreg_lowpart_p): ... here.
3527
35282001-05-17  Bernd Schmidt  <bernds@redhat.com>
3529
3530	* stmt.c (expand_asm_operands): For inout operands, make sure
3531	the substitution of '=' for '+' makes it into the rtl.
3532
3533	* reload1.c (delete_output_reload): Call eliminate_regs on substed.
3534	(reload_as_needed): Call update_eliminable_offsets a bit later.
3535
35362001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3537
3538	* gcc.texi (gccbug): Refer to the web pages for detailed information
3539	on GNATS.
3540
35412001-05-16  Zack Weinberg  <zackw@stanford.edu>
3542
3543	* libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
3544
3545	* Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
3546	OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
3547	LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
3548	libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
3549	* cross-make: Don't set LIBGCC1.
3550	* mklibgcc.in: Delete all code for building from libgcc1.c.
3551	Always honor LIB1ASMFUNCS if set.
3552
3553	* crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
3554	config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
3555	config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
3556	config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
3557	config/i386/uwin.asm, config/m68hc11/larith.asm,
3558	config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
3559	config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
3560	config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
3561	config/v850/lib1funcs.asm, config/c4x/libgcc.S:
3562	Delete or update references to libgcc1 in commentary.
3563
3564	* config/t-libc-ok, config/t-linux, config/t-linux-aout,
3565	config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
3566	config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
3567	config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
3568	config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
3569	config/arm/t-semi, config/arm/t-strongarm-coff,
3570	config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
3571	config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
3572	config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
3573	config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
3574	config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
3575	config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
3576	config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
3577	config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
3578	config/m68k/t-m68kbare, config/m68k/t-m68kelf,
3579	config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
3580	config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
3581	config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
3582	config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
3583	config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
3584	config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
3585	config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
3586	config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
3587	config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
3588	config/mips/t-ultrix, config/mn10200/t-mn10200,
3589	config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
3590	config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
3591	config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
3592	config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
3593	config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
3594	config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
3595	config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
3596	config/sparc/t-sparclite, config/sparc/t-splet,
3597	config/sparc/t-sunos41, config/sparc/t-vxsparc,
3598	config/sparc/t-vxsparc64, config/v850/t-v850:
3599	Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
3600
3601	* config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
3602	Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
3603	* config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
3604	FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
3605	nongcc_SI_type, nongcc_word_type, or perform_*
3606	* config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
3607
3608	* config/i386/386bsd.h, config/i386/beos-elf.h,
3609	config/i386/linux-aout.h, config/i386/linux-oldld.h,
3610	config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
3611	config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
3612	Don't include i386/perform.h.
3613
3614	* config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
3615	config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
3616	config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
3617	config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
3618	config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
3619	config/vax/t-openbsd, config/vax/t-vax: Delete.
3620
3621	* config.gcc: Remove references to deleted files.
3622	(arm-semi-aof): Use arm/t-semi for tmake_file.
3623
3624	* gcc.texi, install.texi, invoke.texi, tm.texi:
3625	Delete or rewrite text which is no longer relevant now that
3626	libgcc1 no longer exists.
3627
3628	* config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
3629	No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
3630
36312001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
3632	Bruce Korb <bkorb@gnu.org>
3633
3634	* fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
3635	initializer
3636
36372001-05-16  Zack Weinberg  <zackw@stanford.edu>
3638
3639	* i386.md: Add two peepholes to clean up code generated by
3640	cmpstr* expanders.
3641
36422001-05-16  Richard Henderson  <rth@redhat.com>
3643
3644	* dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
3645	variants of non-absolute encodings.
3646
3647	* config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3648
3649	* libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
3650	__register_frame_info_table_bases): Export.
3651
36522001-05-16  Richard Henderson  <rth@redhat.com>
3653
3654	* except.c (eh_data_format_name): Move to ...
3655	* dwarf2asm.c: ... here.  Use designated initializers if available.
3656	(dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
3657	* dwarf2asm.h: Update declarations.
3658	* dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
3659	ASM_PREFERRED_EH_DATA_FORMAT.
3660	(output_call_frame_info): Likewise.  Use 'L' augmentation for
3661	the LSDA encoding.
3662
3663	* unwind-dw2-fde.h (struct fde_vector): New.
3664	(struct old_object): Rename from struct object.
3665	(struct object): New.
3666	(__register_frame_info_bases): Declare.
3667	(__register_frame_info_table_bases): Declare.
3668	(struct dwarf_fde): Remove explicit pc_begin/pc_range members.
3669	* unwind-dw2-fde.c (objects): Remove.
3670	(unseen_objects, seen_objects): New.
3671	(__register_frame_info_bases): New.
3672	(__register_frame_info): Use it.
3673	(__register_frame_info_table_bases): New.
3674	(__register_frame_info_table): Use it.
3675	(__deregister_frame_info): Rewrite for changed object struct.
3676	(base_from_object, get_cie_encoding, get_fde_encoding): New.
3677	(fde_unencoded_compare): Rename from fde_compare; uninline.
3678	(fde_single_encoding_compare, fde_mixed_encoding_compare): New.
3679	(start_fde_sort): Adjust for new definition of fde_vector.
3680	(fde_insert): Likewise.
3681	(end_fde_sort): Likewise.  Select comparison function based
3682	on properties of the object.
3683	(fde_split): Take object and fde_compare_t arguments.
3684	(frame_heapsort, fde_merge): Likewise.
3685	(classify_object_over_fdes): Rename from count_fdes.  Handle
3686	encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
3687	for the object.
3688	(add_fdes): Handle encoded pointers.
3689	(init_object): Rename from frame_init.  Update for new struct object.
3690	(linear_search_fdes): Rename from search_fdes.  Handle encoded
3691	pointers.
3692	(binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
3693	(binary_search_single_encoding_fdes): New.
3694	(binary_search_mixed_encoding_fdes): New.
3695	(search_object): New.
3696	(_Unwind_Find_FDE): Update for new struct object.  Fill in
3697	the dwarf_eh_bases.
3698	* unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
3699	iterating over EH data.
3700	(_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
3701	fde_encoding, lsda_encoding.
3702	(read_uleb128, read_sleb128): Remove.
3703	(read_encoded_pointer): Remove.  All callers use read_encoded_value.
3704	(extract_cie_info): Set lsda_encoding from 'L' augmentation.
3705	(uw_frame_state_for): Don't set bases.func.  Handle encoded fde
3706	pointers.
3707	* unwind-pe.h: Add "struct" to _Unwind_Context references.
3708
37092001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3710
3711	* cppexp.c (lex): Use NODE_NAME and NODE_LEN.
3712	* cpphash.c (_cpp_lookup_with_hash): Similarly.
3713	* cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
3714	cpp_spell_token, cpp_output_token): Similarly.
3715	* cpplib.c (lex_macro_node, do_undef, do_pragma,
3716	do_pragma_poison, parse_assertion, do_assert): Similarly.
3717	* cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
3718	save_parameter, _cpp_create_definition, check_trad_stringification,
3719	cpp_macro_definition): Similarly.
3720	* cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
3721	* c-lex.c (cb_undef, c_lex): Similarly.
3722	* fix-header.c (recognized_function): Similarly.
3723	* cpplib.h (NODE_LEN, NODE_NAME): New.
3724	(cpp_hashnode): Rename length len.
3725
3726Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
3727
3728	* pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
3729	GPRs.
3730
37312001-05-16  Andreas Jaeger  <aj@suse.de>
3732
3733	* Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
3734
3735	* toplev.c: Include dwarf2asm.h for prototype of
3736	dw2_output_indirect_constants.
3737
3738Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
3739
3740	* stmt.c (expand_asm_operands): Be able to offload addressof
3741	expression to memory. (PR optimization/185)
3742
3743Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3744
3745	* combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
3746	applying distributive law.
3747
37482001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3749
3750	* pa-hpux10.h (THREAD_MODEL_SPEC): Define.
3751
3752	* gthr-dce.h (UNUSED): Attribute unused macro.
3753	(__gthread_key_dtor): Make arguments UNUSED.
3754	(__gthread_key_delete): Revise for compatibility with DRAFT4
3755	implementation.
3756
37572001-05-16  David Edelsohn  <edelsohn@gnu.org>
3758
3759	* doc/install.texi: Update AIX information.
3760	* README.RS6000: Remove obsolete file.
3761
37622001-05-16  Jakub Jelinek  <jakub@redhat.com>
3763	    Nathan Sidwell  <nathan@codesourcery.com>
3764
3765	* gcc.c (give_switch): Don't write before start of string.
3766	Always append suffix.
3767
37682001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
3769
3770	* cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
3771	after stage3.
3772
37732001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3774
3775	* README.ALTOS: Remove obsolete file.
3776
37772001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3778
3779	* c-lex.h (save_and_forget_protocol_qualifiers,
3780	forget_protocol_qualifiers, remember_protocol_qualifiers):
3781	Remove deleted functions' prototypes.
3782
37832001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3784
3785	* c-parse.in (methodtype): New production.
3786	(methoddef, methodproto): Collapse separate '-' and '+'
3787	handlers into 1.
3788
37892001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3790
3791	* c-common.h (RID_FIRST_PQ): New.
3792	* c-parse.in (objc_pq_context): New.
3793	(objc parser): Set objc_pq_context rather than calling
3794	remember_protocol_qualifiers and forget_protocol_qualifiers.
3795	Don't call save_and_forget_protocol_qualifiers.
3796	(yylexname): Handle objc protocol qualifiers here.
3797	* stringpool.c (struct str_header): Replace with sp_hashnode.
3798	(SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
3799	(alloc_string): Rename alloc_ident.  Use the SP_ accessors.
3800	Allocate an IDENTIFIER_NODE for each identifier.
3801	(FORALL_STRINGS, set_identifier): Delete.
3802	(FORALL_IDS, expand_string_table, stringpool_statistics): Update.
3803	(ggc_alloc_string): Use an obstack.
3804	(get_identifier, maybe_get_identifier, mark_string_hash): Update.
3805	* tree.h: Update comments.
3806	(set_identifier): Delete.
3807	* objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
3808	save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
3809	remember_protocol_qualifiers): Delete.
3810
3811Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
3812
3813	* flow.c (life_analysis): After life analysis is complete, do
3814	an optional scan over insns looking for REG_LABEL notes that
3815	reference a deleted label.
3816	(propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
3817	before peeking at LABEL_NUSES.
3818
38192001-05-15  Richard Henderson  <rth@redhat.com>
3820
3821	* unwind-sjlj.c (_Unwind_GetDataRelBase): New.
3822	(_Unwind_GetTextRelBase): New.
3823
38242001-05-15  Mark Mitchell  <mark@codesourcery.com>
3825
3826	* config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3827
38282001-05-15  Geoffrey Keating  <geoffk@redhat.com>
3829
3830	* objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
3831	so that CHOOSE_SECTION gets used.
3832
3833	* config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
3834	TARGET_RELOCATABLE like flag_pic for now.
3835
38362001-05-15  David Edelsohn  <edelsohn@gnu.org>
3837
3838	* rs6000.md (movdi splitter): Sign extend more efficiently.
3839	* rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
3840	to "long long" valid on 32-bit and 64-bit hosts.
3841	(logical_operand): Cast trunc_int_for_mode return value.
3842	(rs6000_emit_move): Shift macro to encapsulate variable.
3843	(rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
3844	(rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
3845	plus_constant requires signed argument.
3846
38472001-05-15  Loren J. Rittle  <ljrittle@acm.org>
3848
3849	* gthr-posix.h: Make additional pthread-* functions weak.
3850
3851Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
3852
3853	* recog.c (apply_change_group): Avoid unneeded validating.
3854
38552001-05-14  David Edelsohn  <edelsohn@gnu.org>
3856
3857	* rs6000.c (num_insns_constant_wide): Constants are sign-extended.
3858	(num_insns_constant): CONST_INT can be 64-bits.
3859
38602001-05-14  Stan Shebs  <shebs@apple.com>
3861
3862	* config/darwin.h (LIB_SPEC): Just use -lSystem.
3863	(LIBGCC_SPEC): Don't define.
3864
38652001-05-14  Richard Henderson  <rth@redhat.com>
3866
3867	* configure.in (gcc_cv_as_eh_frame): New test.
3868	* config.in, configure: Rebuild.
3869	* gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
3870
38712001-05-14  Andrew MacLeod  <amacleod@redhat.com>
3872
3873	* config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
3874	extended precision divide.
3875
38762001-05-14  Andrew MacLeod  <amacleod@redhat.com>
3877
3878	* config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
3879	for RETURNS as well.
3880
3881Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
3882
3883	* i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
3884	(CPP_CPU??_SIZE_TYPE): New.
3885	(CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
3886	(CPP_CPU_SPEC): ... here; support choosing of CPU.
3887	(EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
3888	(MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
3889	compiler.
3890	* i386.c (override_options): Add sorry about not suported modes.
3891
3892Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
3893
3894	* config/pa/som.h (NM_FLAGS): Remove.
3895	(ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
3896	(ASM_OUTPUT_SECTION_NAME): Remove.
3897	(MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
3898
38992001-05-14  Mark Mitchell  <mark@codesourcery.com>
3900
3901	* regrename.c (regrename_optimize): Do not rename registers to
3902	leaf registers.
3903
39042001-05-14  Alexandre Oliva  <aoliva@redhat.com>
3905
3906	* rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
3907	contain MEMs.  Remove useless distinction about clobbering
3908	registers.
3909
39102001-05-13  Geoff Keating  <geoffk@redhat.com>
3911
3912	* config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
3913	* config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
3914	* config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
3915	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
3916	(EXCEPTION_SECTION): Define.
3917
39182001-05-13  Zack Weinberg  <zackw@stanford.edu>
3919
3920	* libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
3921	binary backward compat only.
3922	* Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
3923	in LIB2FUNCS.  Pass it to mklibgcc.
3924	* mklibgcc.in: Handle LIB2FUNCS_ST.
3925
3926	* Makefile.in (installdirs): Don't create $(gcc_tooldir).
3927
39282001-05-13  Alexandre Oliva  <aoliva@redhat.com>
3929
3930	* tm.texi (THREAD_MODEL_SPEC): Document it.
3931	* gcc.c (main): Use it.
3932	* config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
3933	* config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
3934
39352001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3936
3937	* rtl.h (SYMBOL_REF_WEAK): New macro.
3938	* rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
3939	* varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
3940	* rtl.texi (SYMBOL_REF_WEAK): Document it.
3941	* gcc.texi: Remove wrong description.
3942
39432001-05-13  Mark Mitchell  <mark@codesourcery.com>
3944
3945	* Makefile.in (STAMP): New macro.
3946	Replace all uses of `touch' with $(STAMP).
3947	* fixinc/Makefile.in: Likewise.
3948
3949Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3950
3951	* configure.in: ldopen is never in -lexc, so don't test for it.
3952	Add test for exc_resume in -lexc for Ada.
3953	* configure: Regenerated.
3954
39552001-05-12  Richard Henderson  <rth@redhat.com>
3956
3957	* dwarf2asm.c (size_of_encoded_value): New function.
3958	* dwarf2asm.h: Declare it.
3959	* except.c (output_function_exception_table): Align the TType
3960	array only as wide as the encoding.
3961
39622001-05-12  Zack Weinberg  <zackw@stanford.edu>
3963
3964	* extend.texi: Document #pragma GCC java_exceptions.
3965
39662001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3967
3968	* c-parse.in (bison parser, init_reswords): Remove uses of
3969	doing_objc_thang.
3970	* c-tree.h (doing_objc_thang): Remove.
3971
39722001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
3973
3974	* cpplex.c (_cpp_lex_token): Ensure we warn at most once
3975	about files not ending in newlines.
3976
39772001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3978
3979	* dwarfout.c (dwarfout_init): Add cast.
3980	* sched-deps.c (sched_analyze_insn): Remove unused vars.
3981	* unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
3982cp:
3983	* method.c (build_mangled_C99_name): Remove unused prototype.
3984
39852001-05-12  Alexandre Oliva  <aoliva@redhat.com>
3986
3987	* config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
3988
39892001-05-12  Alexandre Oliva  <aoliva@redhat.com>
3990
3991	* defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
3992	* tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
3993
39942001-05-11  Richard Henderson  <rth@redhat.com>
3995
3996	* defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3997	* dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
3998	dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
3999	* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
4000	(dw2_output_indirect_constants): Prototype.
4001	* dwarf2out.c (dwarf2out_begin_prologue): Generate
4002	current_function_func_begin_label if we'll need it for EH.  Exit
4003	early for IA64_UNWIND_INFO.
4004	* except.c: Get DW_EH_PE_* defines from dwarf2.h.
4005	(eh_data_format_name): Update for indirect references.
4006	(output_function_exception_table): Care for IA64_UNWIND_INFO.
4007	Handle ASM_PREFERRED_EH_DATA_FORMAT.
4008	* except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
4009	define HAVE_eh_return etc.
4010	* final.c (final_start_function): Always call dwarf2out_begin_prologue.
4011	(final_end_function): Don't call output_function_exception_table.
4012	* toplev.c (compile_file): Call dw2_output_indirect_constants.
4013	(rest_of_compilation): Invoke output_function_exception_table
4014	for ia64 before assemble_end_function.
4015	* tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
4016	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
4017
4018	* unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
4019	* unwind.h: Declare them.
4020	* libgcc-std.ver: Export them.
4021	* unwind-pe.h: New file.
4022
4023	* config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
4024
4025	* config/ia64/fde-glibc.c: Use "struct unw_table_entry"
4026	instead of "fde".
4027	(find_fde_for_dso): Extract DT_PLTGOT.
4028	(_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
4029	the segment and gp as well.
4030	* config/ia64/frame-ia64.c: Remove file.
4031	* config/ia64/frame-ia64.h: Remove file.
4032	* config/ia64/unwind-ia64.c: New file.
4033	* config/ia64/unwind-ia64.h: New file.
4034	* config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
4035	(ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
4036	(ASM_OUTPUT_EH_DOUBLE_INT): Remove.
4037	(ASM_PREFERRED_EH_DATA_FORMAT): New.
4038	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
4039	(IA64_UNWIND_INFO): Re-enable.
4040	(HANDLER_SECTION): Remove.
4041	(EH_RETURN_DATA_REGNO): New.
4042	* config/ia64/ia64.md (exception_receiver): Remove.
4043	* config/ia64/t-glibc (LIB2ADDEH): Re-enable.
4044	* config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
4045
40462001-05-11  Richard Henderson  <rth@redhat.com>
4047
4048	* config/ia64/ia64.c (group_barrier_needed_p): Don't allow
4049	calls and jumps to be bundled together.
4050	(ia64_reorg): Emit a break after a noreturn call that ends
4051	a function.
4052	* config/ia64/ia64.md (break_f): New.
4053
40542001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4055
4056	* c-lex.c (lex_charconst): Convert into a simple wrapper
4057	around cpp_interpret_charconst, to which most of the code
4058	body is moved.
4059	* cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
4060	MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
4061	MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
4062	(lex): Use cpp_interpret_charconst.
4063	* cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
4064	hex_digit_value): New functions.
4065	(MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
4066	* cpplib.h (cpp_interpret_charconst): New prototype.
4067	* Makefile.in: Update.
4068
40692001-05-12  Dean Wakerley  <dean@wakerley.com>
4070
4071	* doc/install.texi: New file. Converted to texinfo from the HTML
4072	documentation in wwwdocs/htdocs/install.
4073
4074Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
4075
4076	* gcse.c (insert_insn_end_bb): Do not search for assignments to
4077	non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
4078
4079	* toplev.c (compile_file): Move comment for opening output
4080	file to just before the code that opens the output file.
4081
40822001-05-11  Jakub Jelinek  <jakub@redhat.com>
4083
4084	* regmove.c (regmove_optimize): Suppress the optimization for
4085	unchanging destination register.  Add comment above function.
4086
40872001-05-11  Zack Weinberg  <zackw@stanford.edu>
4088
4089	* Makefile.in: Exterminate all references to assert.h.
4090	* cross-make: Likewise.
4091	* assert.h: Delete.
4092	* configure.in: Correct commentary.
4093	* configure: Regenerate.
4094
4095	* libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
4096	Remove __eprintf.
4097
4098	* config/t-freebsd, config/t-linux, config/t-linux-aout,
4099	config/t-netbsd, config/t-rtems, config/x-linux,
4100	config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
4101	No need to override INSTALL_ASSERT_H.
4102
4103	* fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
4104	fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
4105	fixinc/fixincl.sh: Don't install assert.h into objdir/include.
4106
41072001-05-11  Graham Stott  <grahams@redhat.com>
4108
4109	* combine.c (simplify_comparison): Fix typo.
4110
41112001-05-11  Mark Mitchell  <mark@codesourcery.com>
4112
4113	* loop.h (struct movables): Remove `num'.
4114	* loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
4115	Adjust call to strength_reduce.
4116	(num_unmoved_movables): New function.
4117	(move_movables): Don't set movables->num.
4118	(strength_reduce): Compute the number of instructions in the loop
4119	here, rather than in the caller.
4120	(check_dbra_loop): Always clear reversible_mem_store if there
4121	are any memory sets.
4122	(loop_regs_scan): Don't count instructions here.
4123	(count_insn_in_loop): New function.
4124
41252001-05-11  Mark Mitchell  <mark@codesourcery.com>
4126
4127	* optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
4128
41292001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4130
4131	* c-common.c (finish_label_expr): New function, lifted from
4132	from cp/semantics.c.
4133	* c-common.h (finish_label_expr, lookup_label): New prototypes.
4134	* c-parse.in: Move 3 blocks of parser code into new functions.
4135	* c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
4136	* c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
4137	(lookup_label): Remove.
4138
41392001-05-11  Alexandre Oliva  <aoliva@redhat.com>
4140
4141	* config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
4142	FLOAT_BIT_ORDER_MISMATCH.
4143
41442001-05-10  David Edelsohn  <edelsohn@gnu.org>
4145
4146	* expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
4147	bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
4148
41492001-05-10  David Edelsohn  <edelsohn@gnu.org>
4150
4151	* expr.c (emit_group_load): extract_bit_field requires a REG or
4152	MEM as an argument.
4153
4154Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
4155
4156	* cse.c (cse_insn): Mostly remove first hunk of code which collapsed
4157	a computed jump into an unconditional jump.
4158	In second hunk of code for collapsing computed and conditional jumps
4159	into unconditional jumps, reemit the jump in additional cases.
4160
4161	* jump.c (jump_optimize_1): Do not wrap the new jump target
4162	inside a LABEL_REF; gen_jump will do that automatically.
4163
41642001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
4165
4166	* dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
4167	contents for a SYMBOL_REF in case of floating point constants.
4168
41692001-05-10  DJ Delorie  <dj@redhat.com>
4170
4171	* c-common.c (combine_strings): Widen strings in a
4172	host-endian-independent way.
4173
41742001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4175
4176	* c-parse.in: Remove many shift/reduce conflicts.  Update
4177	%expect values.
4178	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
4179	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
4180	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
4181	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
4182	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
4183	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
4184	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
4185	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
4186	declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
4187	declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
4188	maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
4189	typespec_reserved_nonattr, typespec_reserved_attr,
4190	typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
4191	structsp_nonattr, components_notype, component_notype_declarator,
4192	absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
4193	firstparm, setspecs_fp): New
4194	(typed_declspecs, reserved_declspecs, typed_typespecs,
4195	reserved_typespecquals, declmods, typespec, typespecqual_reserved,
4196	typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
4197	declmods_no_prefix_attr, nonempty_type_quals, structsp,
4198	type_quals): Remove.  Users updated.
4199	(initdecls, notype_initdecls, after_type_declarator,
4200	parm_declarator, notype_declarator, absdcl1, components, ivars):
4201	Don't allow attributes at the start of a declarator; include them
4202	in the production containing the declarator instead.  Always
4203	require type specifiers before trying to redeclare a typedef name.
4204	(typename): Allow for attributes but warn that they are ignored.
4205	(parmlist, firstparm, setspecs_fp): Include attributes in
4206	parmlist; suck them off the parser stack in firstparm using
4207	setspecs_fp.
4208
4209Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
4210
4211	* ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
4212	to determine if a block has an unconditional jump at its end.
4213
4214	* jump.c (jump_optimize_1): When converting a conditional jump
4215	to an unconditional jump, build the jump using gen_jump instead
4216	of just modify operands in-place.
4217
42182001-05-09  Zack Weinberg  <zackw@stanford.edu>
4219
4220	* cppinit.c (cpp_post_options): Shut off macro expansion if
4221	-fpreprocessed.
4222	* cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
4223	IN_I directives only if the # is in column 1 and the directive
4224	name begins in column 2.
4225	* cppmain.c (scan_buffer): Insert a space between # and an
4226	identifier, when that identifier is a directive name.
4227
4228	* tradcpp.c (struct file_buf): Add a pointer to the next entry
4229	in the header search path.
4230	(enum node_type): Add T_INCLUDE_NEXT.
4231	(directive_table): Add entry for include_next.
4232	(do_include_next): New function.
4233	(process_include): New routine, broken out of do_include.
4234	(finclude): Insert 'nhd' argument, to be copied into
4235	next_header_dir of the new buffer.
4236	(main): Adjust to match.
4237	* gsyslimits.h, limity.h: Un-indent #include_next.
4238
42392001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4240
4241	* objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
4242	inclusion as a chapter of the GCC manual.
4243	* gcc.texi: Include objc.texi.
4244	* fdl.texi: Use @unnumberedsec for the addendum.
4245	* Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
4246
4247Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
4248
4249	* i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
4250
4251Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
4252
4253	* regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
4254	handling of two-address insns.
4255
4256Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
4257
4258	* Makefile.in (NM_FOR_TARGET): Look for ./nm, then
4259	../binutils/nm-new instead of ../binutils/nm.
4260
4261Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
4262
4263	* i386.md (movdi splitter): Fix the splitting condition
4264	(float_extenddftf splitter): Fix mode.
4265
4266Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
4267
4268	* genrecog.c (write_switch): Avoid outputting of switch for
4269	types wider than int.
4270
42712001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
4272
4273	* reload1.c (copy_eh_notes): New function.
4274	(emit_input_reload_insns): Call it.
4275	(emit_output_reload_insns): Call it.
4276
42772001-05-07  Zack Weinberg  <zackw@stanford.edu>
4278
4279	* config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
4280	Delete stanzas.
4281	* config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
4282	config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
4283
4284	* optabs.c: Delete #ifdef BROKEN_LDEXP block.
4285
42862001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4287
4288	* pa.md (interspace_jump): Revise comment.
4289	(builtin_longjmp): Block initial setup insns from delay slot of
4290	interspace branch.
4291	(builtin_setjmp_receiver): New expander to save and restore PIC
4292	register.
4293
4294	* som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
4295
4296Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
4297
4298	* toplev.c (compile_file): Set up the output file before we call
4299	the various initializers for the compiler.
4300
4301	* except.c (sjlj_mark_call_sites): Do not search for assignments to
4302	non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
4303
4304	* pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
4305	* pa-64.h (*_TYPE_SIZE): Undefine before redefining.
4306
43072001-05-06  Zack Weinberg  <zackw@stanford.edu>
4308
4309	* Makefile.in (tradcpp0): Correct typo in dependency list.
4310
43112001-05-06  Geoff Keating  <geoffk@redhat.com>
4312
4313	* config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
4314	the link register if we're not going to use it.
4315
4316	* config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
4317	(output_function_profiler): Likewise.
4318
43192001-05-07  Alan Modra  <amodra@one.net.au>
4320
4321	* pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
4322
43232001-05-06  Alexandre Oliva  <aoliva@redhat.com>
4324
4325	* unroll.c (loop_iterations): Don't sign-extend abs_diff;
4326	zero-extend it.  Make abs_inc unsigned.
4327
4328	* optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
4329	widest mode in narrowing and widening operations.
4330
4331	* config/mips/mips.md: Sign extend CONST_INTs.
4332
43332001-05-06  Andreas Jaeger  <aj@suse.de>
4334
4335	* invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
4336	(i386 Options): Document -momit-leaf-frame-pointer.
4337
43382001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4339
4340	* c-typeck.c (internal_build_compound_expr): Check for
4341	array to pointer conversion just once.
4342
43432001-05-05  Richard Henderson  <rth@redhat.com>
4344
4345	* integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
4346
43472001-05-05  Richard Henderson  <rth@redhat.com>
4348
4349	* except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
4350	to the parent of the fixup region.
4351
43522001-05-05  Jakub Jelinek  <jakub@redhat.com>
4353
4354	* gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
4355	"inline" keyword.
4356	* cpp.texi (__NO_INLINE): Document it.
4357
43582001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4359
4360	* cppfiles.c (struct include_file): New member err_no.
4361	(find_or_create_entry): Set it.
4362	(open_file): Don't set fds to -2.  Instead, use err_no to
4363	remember previous errors, if any.
4364
43652001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4366
4367	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
4368	between X and Y by using sequences of xgdx and xgdy.
4369
43702001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4371
4372	* config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
4373	of '!' for the 'D' alternative ('!' is too strong).
4374	("*logicalsi3_silshl16"): Likewise.
4375	("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
4376	("movstrictsi"): Remove spurious '+'.
4377	("movstrictqi"): Don't accept 'A' and remove spurious '+'.
4378	("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
4379	("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
4380	a reload to them.
4381
43822001-05-04  David Edelsohn  <edelsohn@gnu.org>
4383
4384	* calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
4385
43862001-05-04  Lars Brinkhoff  <lars@nocrew.org>
4387
4388	* simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
4389	into -a.
4390
43912001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4392
4393	* config/rs6000/rs6000.md (ashldi3 splits): Guard with
4394	TARGET_POWERPC64.
4395
43962001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4397
4398	* config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
4399	soft register, use ror instead of rol.
4400
44012001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4402
4403	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
4404	into account pre/post increment decrement for 68HC12.
4405	Fix other problems in replacement and fix call to reg_mentioned_p.
4406
44072001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4408
4409	* config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
4410	Put the soft registers in bss for 68HC12.
4411	(L_regs_d3_4): New for _.d3 and _.d4.
4412	(L_regs_d5_6): Likewise.
4413	(L_regs_d1_2): Likewise.
4414	* config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
4415
44162001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4417
4418	* config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
4419	to the pre-processor when -fshort-double is specified.
4420	* config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
4421
44222001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4423
4424	* config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
4425	(__mulsi3): Rewrite for 68HC12.
4426	* config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
4427	Mark 'x' constraint with earlyclobber to prevent a
4428	RELOAD_FOR_OTHER_ADDRESS to go in it.
4429	(mulhi3_m68hc12): New pattern.
4430	(mulhi3_m68hc11): Rename of mulhi3.
4431	(mulhi3): New expand for 68HC12 optimisation.
4432	(umulhisi3, mulhisi3): New patterns for 68HC12.
4433
44342001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4435
4436	* config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
4437	(extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
4438	(uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
4439
44402001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4441
4442	* config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
4443	constants cheap after reload.
4444	* config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
4445	are cheap.
4446	(m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
4447	so that gcc prefers a shift by 16.
4448	(m6811_cost, m6812_cost): Make the shift cheap compared to an add.
4449
44502001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
4451
4452	* config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
4453
44542001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4455
4456	* alpha.h: NULL_PTR -> NULL.
4457	* arm.c: Likewise.
4458	* arm.h: Likewise.
4459	* avr.h: Likewise.
4460	* c4x.c: Likewise.
4461	* c4x.h: Likewise.
4462	* i386.c: Likewise.
4463	* i386.md: Likewise.
4464	* i860.c: Likewise.
4465	* ia64.c: Likewise.
4466	* m68hc11.h: Likewise.
4467	* rs6000.h: Likewise.
4468	* sh.c: Likewise.
4469	* sh.h: Likewise.
4470	* sparc.h: Likewise.
4471	* v850.c: Likewise.
4472
4473	* expr.c: Likewise.
4474	* final.c: Likewise.
4475	* gcc.c: Likewise.
4476	* recog.c: Likewise.
4477
44782001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4479
4480	* i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
4481	`bool' parameter to `int'.
4482
4483	* hash.c (hash_lookup): Likewise.
4484
4485	* hash.h (hash_lookup): Likewise.
4486
4487	* tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
4488
4489Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
4490
4491	* i386.c (x86_initialize_trampoline): Fix mode of constant.
4492
44932001-05-03  Geoff Keating  <geoffk@redhat.com>
4494
4495	* invoke.texi (i386 Options): Delete references to -malign-jumps,
4496	-malign-loops, -malign-functions.
4497	* i386.c (ix86_align_funcs): Delete.
4498	(ix86_align_loops): Delete.
4499	(ix86_align_jumps): Delete.
4500	(override_options): Mark -malign-* as obsolete.  Emulate their
4501	behavior with the -falign-* options.  Default -falign-* from
4502	the processor table.
4503	* i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
4504	patch of Wed May 2 13:09:36 2001.
4505	(LOOP_ALIGN): Delete.
4506	(LOOP_ALIGN_MAX_SKIP): Delete.
4507	(LABEL_ALIGN_AFTER_BARRIER): Delete.
4508	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
4509
45102001-05-04  Andreas Jaeger  <aj@suse.de>
4511
4512	* except.h: Add prototype declaration for
4513	expand_builtin_init_dwarf_reg_sizes.
4514
45152001-05-03  Geoffrey Keating  <geoffk@redhat.com>
4516
4517	* Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
4518
45192001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4520
4521	* config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
4522	instruction.
4523	("bitcmpqi2"): New pattern for bit-extract and test.
4524	("bitcmphi"): New pattern for bitb/bita instructions.
4525
45262001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
4527
4528	* gccbug.in: Use a temporary directory when the mktemp command is
4529	not available.
4530
45312001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4532
4533	* config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
4534	instead of _.d1.
4535	(INITIALIZE_TRAMPOLINE): Call it.
4536	(TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
4537	(TRAMPOLINE_TEMPLATE): Remove.
4538	* config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
4539	* config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
4540	Declare.
4541
45422001-05-03  David O'Brien  <obrien@FreeBSD.org>
4543
4544	* config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
4545	and crtendS.o with PIC.
4546
45472001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4548
4549	* config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
4550	negative numbers.
4551	(___subdi3, ___adddi3): Use x instead of y as index register.
4552	(__init_bss_section, __map_data_section): Optimize for 68HC12.
4553	(__memset, __memcpy): Likewise.
4554	(regs): Put the soft registers in bss for 68HC12.
4555	(abort): Use trap to abort for 68hc12.
4556	(__mulhi3, __mulhi32): Use emul for 68hc12.
4557	(__mulsi3): Avoid to use the tmp soft register for 68hc12.
4558
45592001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4560
4561	* config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
4562	* config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
4563	* config/m68hc11/m68hc11.c (limit_reload_class): Remove.
4564	(m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
4565	Set 68HC12 min offset to -65536.
4566	(print_operand): Put parenthesis arround the operand if it refers
4567	to a symbol having the same name as a register.
4568	(m68hc11_z_replacement): When z register is replaced by its
4569	equivalent soft register, force the insn to be re-recognized.
4570	(m68hc11_check_z_replacement): Fix the test when destination is
4571	the index register and z dies in the insn.
4572	(m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
4573
45742001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4575
4576	* config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
4577	costs according to processor variant.
4578	(m68hc11_shift_cost): New function to compute shift costs.
4579	(m68hc11_rtx_costs): Define costs according to processor variant.
4580	(m6811_cost): Costs for 68HC11.
4581	(m6812_cost): Costs for 68HC12.
4582	(COSTS_N_INSNS): Remove.
4583
4584	* config/m68hc11/m68hc11.h (RTX_COSTS): New.
4585	(DEFAULT_RTX_COSTS): Remove.
4586	(CONST_COSTS): Define costs according to OUTER_CODE.
4587	(processor_costs): New struct to define costs.
4588	(m68hc11_cost): Pointer to current costs.
4589
45902001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4591
4592	* config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
4593	and use m68hc11_notice_keep_cc when using leax/leay.
4594	(addhi3 split): Reject split if the insn is handled by
4595	leax/leay above.
4596	* config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
4597	push must be handled in a special way if the source operand uses
4598	sp as index register.
4599	(m68hc11_notice_keep_cc): New function.
4600	(m68hc11_gen_movhi): Use it when an insn changes a register but
4601	not the flags.
4602	(m68hc11_gen_movqi): Fix move for 68HC12.
4603	* config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
4604
46052001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4606
4607	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
4608	and don't pass operands[0] to emit_library_call_value.
4609
46102001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4611
4612	* config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
4613	(zero_extendsi split): Simplify and use (zero_extendhi).
4614	(*addhi3): Remove 'w' constraint since stack pointer is handled
4615	by (addhi3_sp).
4616	(*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
4617	(*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
4618	(*ashrhi3_const): Fix shift by 7.
4619	(*lshrsi3_const16): Fix template.
4620	(call, call_value): Fix constraint and predicate.
4621
46222001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4623
4624	* config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
4625	(Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
4626	(CC_REGNUM): Likewise.
4627	(*unnamed splits): Use above constants instead of hard coded numbers.
4628	(*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
4629	(*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
4630	(*return_16bit, *unnamed peepholes): Likewise.
4631
46322001-05-03  David O'Brien  <obrien@FreeBSD.org>
4633
4634	* config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
4635	rs6000/rs6000.h twice.
4636
46372001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
4638
4639	* config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
4640	(CPP_SPEC): Conditionally define MSDOS and GO32.
4641	(SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
4642	(SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
4643	ignored.
4644	(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
4645
46462001-05-03  Alexandre Oliva  <aoliva@redhat.com>
4647
4648	* config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
4649
46502001-05-03  Mark Mitchell  <mark@codesourcery.com>
4651
4652	* integrate.h (struct inline_remap): Add leaf_reg_map table.
4653	* integrate.c (expand_inline_function): Use xcalloc to allocate
4654	memory.
4655	(copy_rtx_and_substitute): Use the leaf_reg_map for leaf
4656	registers.
4657
46582001-05-03  Mark Mitchell  <mark@codesourcery.com>
4659
4660	* c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
4661	if it is not set.
4662
46632001-05-03  Alexandre Oliva  <aoliva@redhat.com>
4664
4665	* config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
4666	linker if -mrelax is given.
4667	(TARGET_SWITCHES): Document -mrelax.
4668
4669	Re-installed 2001-01-09's patch:
4670	* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
4671	if it's wider than long and the target's long is wider than the
4672	host's.
4673
46742001-05-02  David O'Brien  <obrien@FreeBSD.org>
4675
4676	* config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
4677	directly include rs6000/rs6000.h.  Instead do it in tm.h.
4678
46792001-05-02  Stan Shebs  <shebs@apple.com>
4680
4681	* objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
4682	NSConstantString for NeXT-style runtimes.
4683	(STRING_OBJECT_GLOBAL_NAME): New macro.
4684	(enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
4685	OCTI_STRING_CLASS_DECL.
4686	(constant_string_global_id): New macro.
4687	(string_class_decl): Ditto.
4688	(setup_string_decl): New function.
4689	(build_objc_string_object): Use it to build a NeXT runtime
4690	compatible string initializer.
4691
46922001-05-02  Jakub Jelinek  <jakub@redhat.com>
4693
4694	* tradcpp.c (do_define): Make sure we don't walk past limit.
4695
46962000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4697
4698	* config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
4699	offsets if not REG_OK_STRICT.
4700
4701	* config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
4702	(INT_REG_OK_FOR_INDEX_P): Likewise.
4703	(INT_REG_OK_FOR_BASE_P): Likewise.
4704	(REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
4705	(REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
4706	(LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
4707	INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
4708	REG_OK_FOR_BASE_P. Take an additional parameter.
4709	(LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
4710	(LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
4711	(LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
4712	(GO_IF_LEGITIMATE_ADDRESS): Move code into new function
4713	rs6000_legitimate_address() and use it.
4714	* config/rs6000/rs6000.c: Update all callers.
4715	(rs6000_legitimate_address): New function.
4716
47172001-05-02  David Edelsohn  <edelsohn@gnu.org>
4718
4719	* config/rs6000/rs6000.c (rs6000_emit_move): Merge
4720	special_constant conditional blocks together.
4721
47222001-05-02  Dale Johannesen  <dalej@apple.com>
4723
4724	* config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
4725	parameter.
4726	(STRICT_ARGUMENT_NAMING): Define.
4727	* config/rs6000/rs6000.c (function_arg_advance, function_arg,
4728	function_arg_partial_nregs, setup_incoming_varargs): Remove
4729	args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
4730	is defined.
4731
4732Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4733
4734	* config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
4735
4736	* function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
4737	for replacement.
4738
4739	* expr.c (store_field): Do nothing except elaborate side-effects if
4740	zero-bit field.
4741
47422001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4743
4744	* c-lex.c: NULL_PTR -> NULL.
4745	* cse.c: Likewise.
4746	* emit-rtl.c: Likewise.
4747	* gcse.c: Likewise.
4748	* genpeep.c: Likewise.
4749	* jump.c: Likewise.
4750	* mips-tdump.c: Likewise.
4751	* reload1.c: Likewise.
4752	* rtlanal.c: Likewise.
4753	* stmt.c: Likewise.
4754	* stor-layout.c: Likewise.
4755	* toplev.c: Likewise.
4756
47572001-05-01  Per Bothner  <per@bothner.com>
4758
4759	* expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
4760	call do_pending_stack_adjust before emiting label.
4761
47622001-05-01  Mark Mitchell  <mark@codesourcery.com>
4763
4764	* extend.texi: Fix typo.
4765
47662001-05-01  Stan Shebs  <shebs@apple.com>
4767
4768	* objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
4769	of UOBJC_MODULES_decl.
4770	(generate_strings): Clear DECL_CONTEXT of new decl nodes.
4771	(generate_descriptor_table): Ditto.
4772	(generate_protocols): Ditto.
4773	(generate_protocol_list): Ditto.
4774	(generate_classref_translation_entry): Ditto.
4775
47762001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
4777
4778	* invoke.texi (Optimize Options): Add documentation for `--param
4779	max-delay-slot-insn-search' and `--param
4780	max-delay-slot-live-search' and reorder --param section.
4781	* params.def: Modify initial comment.
4782	* params.h (param_info): Add `help' member.
4783	* toplev.c (lang_independent_params): Include `help' description.
4784	(display_help): Print --param parameters.
4785
47862001-05-01  Zack Weinberg  <zackw@stanford.edu>
4787
4788	* config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
4789	Remove references to deleted files.
4790	(*-*-openbsd): No need to override xmake_file.
4791	(*-*-sysv4): Treat like *-*-sysv.
4792
4793	* configure.in: Probe for ldopen in various places, and set up
4794	collect2 to be linked with them if found.
4795	Don't dink with Windows registry stuff unless $host_os is a
4796	Win32 os name.  Check to see if we need -ladvapi32.
4797	* configure: Regenerate.
4798
4799	* Makefile: Get rid of CLIB and HOST_CLIB.
4800	Substitute in COLLECT2_LIBS and link collect2 against its contents.
4801	* build-make: Get rid of HOST_CLIB.
4802
4803	* config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
4804	config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
4805	config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
4806	config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
4807	config/rs6000/x-rs6000: Delete.
4808
4809	* config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
4810	Don't set CLIB.
4811
4812	24 x-host fragments remain, 0 x-cpu, 3 top level.
4813
48142001-05-01  Zack Weinberg  <zackw@stanford.edu>
4815
4816	* aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
4817	* configure: Regenerate.
4818
48192001-05-01  Angela Marie Thomas <angela@cygnus.com>
4820
4821	* Makefile.in (install-headers): Remove redundant dependency.
4822
48232001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
4824
4825	* c-tree.texi (USING_STMT): Document.
4826
48272001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4828
4829	* bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
4830	* c-common.c: Likewise.
4831	* c-decl.c: Likewise.
4832	* combine.c: Likewise.
4833	* rs6000.c: Likewise.
4834	* except.c: Likewise.
4835	* explow.c: Likewise.
4836	* expr.c: Likewise.
4837	* fold-const.c: Likewise.
4838	* function.c: Likewise.
4839	* gcc.c: Likewise.
4840	* gcse.c: Likewise.
4841	* integrate.c: Likewise.
4842	* loop.c: Likewise.
4843	* objc/objc-act.c: Likewise.
4844	* recog.c: Likewise.
4845	* reg-stack.c: Likewise.
4846	* reload.c: Likewise.
4847	* reload1.c: Likewise.
4848	* simplify-rtx.c: Likewise.
4849	* stmt.c: Likewise.
4850	* varasm.c: Likewise.
4851
48522001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
4853
4854	* diagnostic.def: New file.
4855	* diagnostic.h (diagnostic_t): New enum.
4856	* Makefile.in (diagnostic.o): Depend on diagnostic.def
4857
48582001-04-30  Zack Weinberg  <zackw@stanford.edu>
4859
4860	* tsystem.h: Test only POSIX for availability of string.h
4861	and time.h.
4862	* config.gcc (all systems): If USG appeared in xm_defines,
4863	change it to POSIX.  If both USG and POSIX appeared, just
4864	delete USG. Remove unnecessary quotes around xm_defines
4865	settings.
4866	(m68k-crds-unos*): Don't #define unos - tested nowhere.
4867	(m68k-apple-aux*): Don't #define AUX - tested nowhere.
4868	(alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
4869	powerpc-*-linux*): No need to set xm_defines - handled by
4870	global settings for *-*-linux*.
4871
48722001-04-30  Zack Weinberg  <zackw@stanford.edu>
4873
4874	* dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
4875	Always include gstab.h, not system stab.h.  Don't provide
4876	default definitions of N_CATCH or N_OPT.  Always use the
4877	gstab.h variant of STAB_CODE_TYPE.
4878	* final.c: Don't include stab.h/gstab.h at all, or provide
4879	defaults for N_SLINE and N_SOL.
4880
4881	* xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
4882	N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
4883	available.
4884	* sdbout.c: Always include gsyms.h instead of system syms.h.
4885
4886	* configure.in: No need to check for stab.h.
4887	* configure, config.in: Regenerate.
4888	* Makefile.in (final.o): Don't depend on gstab.h.
4889
48902001-04-30  Mark Mitchell  <mark@codesourcery.com>
4891	    Richard Henderson  <rth@redhat.com>
4892
4893	* extend.texi: Improve documentation of volatile asms.
4894
48952001-04-30  Mark Mitchell  <mark@codesourcery.com>
4896
4897	* c-tree.texi: Fix thinko.
4898	* gcc.texi: Likewise.
4899
49002001-04-30  Richard Henderson  <rth@redhat.com>
4901
4902	* c-common.c (c_promoting_integer_type_p): New function, from the
4903	corpse of old macro.  Properly promote too-small enumerations and
4904	booleans.  Adjust all callers.
4905	* c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
4906	(c_promoting_integer_type_p): Declare.
4907	* c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
4908	* c-typeck.c: Likewise.
4909	(default_conversion): Remove now redundant boolean check.
4910
49112001-04-30  Jan Hubicka  <jh@suse.cz>
4912	    Richard Henderson  <rth@redhat.com>
4913
4914	* regmove.c (try_apply_stack_adjustment): Remove now redundant
4915	sanity checks.
4916	(combine_stack_adjustments_for_block): Don't combine stack
4917	allocation followed by deallocations.  Handle grow-up stacks.
4918
49192001-04-30  Mark Mitchell  <mark@codesourcery.com>
4920
4921	* fdl.texi: New file.
4922	* c-tree.texi: Use the GFDL.
4923	* gcc.texi: Likewise.
4924
49252001-04-30  Stan Shebs  <shebs@apple.com>
4926
4927	* invoke.texi: Add a section documenting Objective-C options.
4928
49292001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
4930
4931	* emit-rtl.c (try_split):  Copy EH notes to sequence.
4932
49332001-04-30  Mark Mitchell  <mark@codesourcery.com>
4934
4935	* regmove.c (record_stack_memrefs): Catch all references to the
4936	stack pointer.
4937
49382001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
4939
4940	* Makefile.in (stmp-fixinc): quote shell assignment values
4941
49422001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4943
4944	* c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
4945
4946	* gcc.c: Likewise.
4947
4948	* prefix.c: Likewise.
4949
49502001-04-28  Stan Shebs  <shebs@apple.com>
4951
4952	* objc/objc-act.c (handle_class_ref): Rewrite to flush target
4953	specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
4954	* config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
4955	* tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
4956
4957	* config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
4958	(NEXT_OBJC_RUNTIME): Define.
4959
4960Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
4961
4962	* rtl.h (simplify_gen_relational): Add cmp_mode parameter.
4963	* simplify-rtx.c (simplify_gen_relational): Likewise.
4964
4965	* simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
4966
4967	* i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
4968	* i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
4969
4970	* i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
4971	registers in SSE case; fix handling of the immediates.
4972	(negsf2_ifs, abssf2_ifs): Tweak constraints; require
4973	operands to be in regsiters before reload.
4974	(negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
4975	(negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
4976	(abstf,absxf,negtf,negxf splitters): Compute
4977	properly the regnum for x86_64.
4978	(avsdf2_if_rex64): New.
4979
4980Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
4981
4982	* flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
4983	and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
4984	into the constant pool.
4985	* jump.c (jump_optimize_1): Remove barrier successors after all
4986	the LABEL_NUSES counds have been computed.
4987	(delete_barrier_successors): When deleting a tablejump insn, also
4988	delete the jump table it uses.
4989	* varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
4990	label into memory.
4991
49922001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
4993
4994	* pa.c (FRP): Remove erroneous white space in macro definition.
4995
49962001-04-28  Andreas Jaeger  <aj@suse.de>
4997
4998	* invoke.texi: Use XX-bit instead of XXbit or XX bit where
4999	appropriate.
5000	* extend.texi: Likewise.
5001	* tm.texi: Likewise.
5002
50032001-04-28  Andreas Jaeger  <aj@suse.de>
5004
5005	* md.texi: Use XX-bit instead of XXbit or XX bit where
5006	appropriate.
5007
50082001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
5009
5010	* gcc.c (process_command): Allow -l lib in addition to -llib
5011	for POSIX compliance. This fixes PR c/2347.
5012
5013	* invoke.texi: Update section on Link Options accordingly.
5014
50152001-04-27  Zack Weinberg  <zackw@stanford.edu>
5016
5017	* function.c (purge_addressof_1): Remove the duplicate
5018	if (code == SET) block.  Fold the two if (code == ADDRESSOF)
5019	blocks together.
5020
50212001-04-28  Jason Merrill  <jason_merrill@redhat.com>
5022
5023	* except.c (expand_eh_region_start): Don't start a new block.
5024	(expand_eh_region_end): Don't end a block.
5025	* stmt.c (expand_end_bindings): Don't end EH blocks.
5026	(expand_decl_cleanup): Starting an EH region won't change the block.
5027	(mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
5028	(is_eh_region): Lose.
5029	* tree.h: Adjust.
5030
50312001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
5032
5033	* except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
5034
5035	* collect2.c (main): Add `-L' case to remove duplicate entries.
5036	(is_in_args): New function to check for a duplicate argument.
5037	* defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
5038	* tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
5039	* config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
5040	Define to be nonzero.
5041
50422001-04-27  Andreas Jaeger  <aj@suse.de>
5043	    Richard Henderson  <rth@redhat.com>
5044
5045	* md.texi (Machine Constraints): Document additional i386
5046	constraints and fix description of "A".
5047
5048Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
5049
5050	* tm.texi (TARGET_MEM_FUNCTIONS): Update text.
5051
50522001-04-27  Jason Merrill  <jason_merrill@redhat.com>
5053
5054	* except.c (get_exception_filter): word_mode, not Pmode.
5055
50562001-04-26  Geoffrey Keating  <geoffk@redhat.com>
5057
5058	* config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
5059	common to other movsf patterns.  Move up so that in future
5060	people who change the other patterns will change it too.
5061	(movsf_lo_sum): Allow even for soft-float; add appropriate
5062	constraints.
5063	(movsf_high): Likewise.
5064	(movsf_high+1): Allow even for soft-float.
5065
5066	* function.c (expand_function_end): Always clobber the
5067	return registers, even if there is no return label.
5068
5069Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
5070
5071	* (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
5072
5073Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
5074
5075	* i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
5076	(pushqi2_rex64, pushhi2_rex64): Add.
5077
50782001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
5079
5080	* except.c (expand_eh_region_end_cleanup): Force pending stack
5081	adjust before emitting label that branches around cleanup code.
5082
50832001-04-26  H.J. Lu  (hjl@gnu.org)
5084
5085	* config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
5086
5087	* config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
5088	define.
5089	* config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
5090	(ASM_OUTPUT_SECTION_NAME): Likewise.
5091	(ASM_WEAKEN_LABEL): Likewise.
5092	(UNIQUE_SECTION): Likewise.
5093	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
5094	(ASM_OUTPUT_DESTRUCTOR): Likewise.
5095	* config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
5096	(ASM_OUTPUT_SECTION_NAME): Likewise.
5097	(ASM_WEAKEN_LABEL): Likewise.
5098	(UNIQUE_SECTION): Likewise.
5099	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
5100	(ASM_OUTPUT_DESTRUCTOR): Likewise.
5101	* config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
5102	* config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
5103	(ASM_FILE_START): Likewise.
5104	(ASM_OUTPUT_SOURCE_LINE): Likewise.
5105	(ASM_DECLARE_OBJECT_NAME): Likewise.
5106	(ASM_FILE_END): Likewise.
5107	(ASM_DECLARE_FUNCTION_NAME): Likewise.
5108	(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
5109	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
5110	(ASM_OUTPUT_CASE_LABEL): Likewise.
5111	(ASM_OUTPUT_SKIP): Likewise.
5112	(ASM_OUTPUT_ASCII): Likewise.
5113	(ASM_OUTPUT_IDENT): Likewise.
5114	(READONLY_DATA_SECTION): Likewise.
5115	(EXTRA_SECTIONS): Likewise.
5116	(EXTRA_SECTION_FUNCTIONS): Likewise.
5117	(SELECT_RTX_SECTION): Likewise.
5118	(SELECT_SECTION): Likewise.
5119
5120	* config/mips/linux.h (INVOKE__main): Undefine.
5121	(CTOR_LIST_BEGIN): Likewise.
5122	(CTOR_LIST_END): Likewise.
5123	(DTOR_LIST_BEGIN): Likewise.
5124	(DTOR_LIST_END): Likewise.
5125	(SET_ASM_OP): Defined it to ".dummy".
5126	(ASM_OUTPUT_DEF): Defined.
5127	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
5128
51292001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
5130
5131	* config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
5132	assembler supports .p2align.
5133
51342001-04-26  Nathan Sidwell <nathan@codesourcery.com>
5135
5136	* c-lex.c (c_lex): Remove # from %o diagnostic formatting.
5137
51382001-04-26  Jakub Jelinek  <jakub@redhat.com>
5139
5140	* integrate.c (expand_inline_function): Check for error_mark_node
5141	in actual argument.
5142
51432001-04-26  Jakub Jelinek  <jakub@redhat.com>
5144
5145	* config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
5146	-m386 and -m486.
5147
51482001-04-26  Alexandre Oliva  <aoliva@redhat.com>
5149
5150	* configure.in (configargs.h): Define thread_model.
5151	* configure: Rebuilt.
5152	* gcc.c (main): Print it with -v.
5153
51542001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
5155
5156	* invoke.texi: Document -Wmissing-braces, -dumpspecs,
5157	-dumpmachine, -dumpversion, -fmem-report and -ftime-report.
5158	* gcc.1: Regenerate.
5159
51602001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5161
5162	* dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
5163	is_redundant_typedef): Use static inline instead of inline static.
5164
5165Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
5166
5167	* config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
5168	this directory is always searched.
5169
51702001-04-25  Richard Henderson  <rth@redhat.com>
5171
5172	* config/i386/i386.c (ix86_expand_epilogue): Properly compute size
5173	of registers to restore along non eh_return path.
5174
51752001-04-25  Jakub Jelinek  <jakub@redhat.com>
5176
5177	* c-format.c (check_format_info_recurse): Handle
5178	PLUS_EXPR for format string.
5179
51802001-04-25  Jakub Jelinek  <jakub@redhat.com>
5181
5182	* config/ia64/ia64.h (CC1_SPEC): Define.
5183	* config/ia64/linux.h (CC1_SPEC): Define.
5184
5185Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
5186
5187	* emit-rtl.c (constant_subword): Also do sign extension in
5188	BITS_PER_WORD == 16 case.
5189
51902001-04-25  Jason Merrill  <jason_merrill@redhat.com>
5191
5192	* loop.c (try_swap_copy_prop): Go back to checking insn.
5193
51942001-04-25  Jakub Jelinek  <jakub@redhat.com>
5195
5196	* emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
5197	if check_mode is nonzero.
5198
51992001-04-25  Jakub Jelinek  <jakub@redhat.com>
5200
5201	* config/i386/i386.c (ix86_expand_int_movcc): If overlap between
5202	out and comparison sequence has been detected, put result into
5203	proper temporary pseudo.
5204
52052001-04-24  Zack Weinberg  <zackw@stanford.edu>
5206
5207	* Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
5208	* libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
5209	* libgcc2.c: Remove __dummy and __builtin_saveregs.
5210	* libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
5211	* config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
5212	for future reference.
5213
52142001-04-24  Jason Merrill  <jason_merrill@redhat.com>
5215
5216	* except.c (reachable_handlers): Step out one level from a RESX.
5217
5218	* except.c (struct eh_region): Rename 'last' to 'resume'.
5219	(mark_eh_region, duplicate_eh_region_1): Adjust.
5220	(expand_eh_region_end_cleanup): Remember the jump, not the barrier.
5221	(build_post_landing_pads): Likewise.
5222	(expand_end_catch, expand_eh_region_end_allowed): Don't set it.
5223	(expand_eh_region_end_must_not_throw): Likewise.
5224	(connect_post_landing_pads): Thread (only) regions with non-deleted
5225	resume insns.
5226
5227	* except.c (expand_eh_region_end_cleanup): Save the EH return data
5228	registers around the cleanup.
5229	(get_exception_filter): New fn.
5230	(finish_eh_generation): Use it.
5231
52322001-04-24  Nathan Sidwell <nathan@codesourcery.com>
5233
5234	* c-semantics.c (add_scope_stmt): Don't call
5235	current_scope_stmt_stack multiple times.
5236
52372001-04-24  Zack Weinberg  <zackw@stanford.edu>
5238	    Nathan Sidwell <nathan@codesourcery.com>
5239
5240	Lazy __FUNCTION__ generation.
5241	* c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
5242	RID_C99_FUNCTION_NAME): New _RIDs.
5243	(CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
5244	(CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
5245	CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
5246	global tree slots.
5247	(function_id_node, pretty_function_id_node, func_id_node): Remove.
5248	(c99_function_name_decl_node, function_name_decl_node,
5249	pretty_function_name_decl_node, saved_function_name_decls):
5250	Declare.
5251	(struct language_function): Remove x_function_name_declared_p.
5252	(make_fname_decl): Remove a parameter.
5253	(declare_function_names): Remove prototype.
5254	(start_fname_decls, finish_fname_decls): Prototype.
5255	(fname_as_string): Likewise.
5256	(fname_string, fname_decl): Likewise.
5257	* c-common.c (make_fname_decl): Adjust.
5258	(struct fname_var_t): New struct.
5259	(fname_vars): New static array.
5260	(declare_function_name): Remove.
5261	(start_fname_decls, finish_fname_decls): New functions.
5262	(fname_as_string): New function from remnants of
5263	declare_function_name.
5264	(fname_string, fname_decl): New functions.
5265
5266	* c-decl.c (c_function_name_declared_p): Remove.
5267	(init_decl_processing): Don't generate __FUNCTION__ et al ids,
5268	don't call declare_function_name. Call start_fname_decls.
5269	(c_make_fname_decl): Adjust parameters. Generate the name. Don't
5270	clobber the line number. Call finish_decl.
5271	(start_function): Call start_fname_decls.
5272	(finish_function): Call finish_fname_decls.
5273	Remove c_function_name_declared_p.
5274	(push_c_function_context): Don't push c_function_name_declared_p.
5275	(pop_c_function_context): Don't pop c_function_name_declared_p.
5276	(c_begin_compound_stmt): Don't check c_function_name_declared_p.
5277	* c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
5278	(program): Call finish_fname_decls for C.
5279	(primary): Add VAR_FUNC_NAME.
5280	(reswords): Add slots for __FUNCTION__ et al.
5281	(rid_to_yy): Add mappings for __FUNCTION__ et al.
5282	(yylexname): If it's a STRING_FUNC_NAME generate the function name
5283	now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
5284	* c-semantics.c (prune_unused_decls): Remove.
5285	(finish_stmt_tree): Don't call prune_unused_decls.
5286	(genrtl_decl_stmt): Don't prune unused decls here.
5287
52882001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
5289
5290	* dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
5291	constant pool, use the pool's SYMBOL_REF instead.
5292
5293	* config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
5294	v850e.
5295
52962001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
5297
5298	* c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
5299	passing nested NOP_EXPRs to fold.
5300
5301Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
5302
5303	* reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
5304
53052001-04-22  Mark Mitchell  <mark@codesourcery.com>
5306
5307	* loop.c (loop_delete_insns): Add prototype.
5308
53092001-04-23  Phil Edwards  <pme@sources.redhat.com>
5310
5311	* configure.in:  Remove ENABLE_STD_NAMESPACE.
5312	* config.in:  Regenerated.
5313	* configure:  Regenerated.
5314
53152001-04-22  Stan Shebs  <shebs@apple.com>
5316
5317	* config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
5318	into xm_defines.
5319	* config/rs6000/xm-darwin.h: Remove file.
5320
53212001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5322
5323	* collect2.c (main): Use concat in lieu of xmalloc/sprintf.
5324	(write_c_file_stat): Likewise.
5325
5326	* dbxout.c (dbxout_init): Likewise.
5327
5328	* profile.c (output_func_start_profiler): Likewise.
5329
53302001-04-22  Philipp Thomas  <pthomas@suse.de>
5331
5332	* ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
5333	require it instead of the CVS version.
5334	* cpperror.c (v_message): Put a blank before the macro
5335	body to not confuse exgettext.
5336
53372001-04-21  Mark Mitchell  <mark@codesourcery.com>
5338
5339	* flow.c (proagate_one_insn): Remove useless assignment.
5340	* jump.c (delete_insn): Tidy.
5341	* loop.c (try_copy_prop): When deleting an instruction with a
5342	REG_RETVAL note, delete the entire libcall sequence.
5343	(loop_delete_insns): New function.
5344	* unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
5345	we're not substituting into them yet.
5346
53472001-04-21  Kazu Hirata  <kazu@hxi.com>
5348
5349	* config/h8300/h8300.c (general_operand_src): Fix a comment typo.
5350
5351	* config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
5352	Fix a comment typo.
5353	* config/i960/i960.c (signed_arith_operand): Likewise.
5354
5355	* calls.c (expand_call): Fix a comment typo.
5356
53572001-04-20  Zack Weinberg  <zackw@stanford.edu>
5358
5359	* configure.in: Probe for times, clock, struct tms, and clock_t.
5360	* configure, config.in: Regenerate.
5361	* timevar.c: Replace ifdef forest in get_time with (relatively)
5362	straightforward series of checks based on autoconf's probes.
5363
5364Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
5365
5366	* config/pa/som.h (NM_FLAGS): Define.
5367
53682001-04-20  Bernd Schmidt  <bernds@redhat.com>
5369
5370	* ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
5371	function.
5372	* ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
5373	* ia64.c (nop_cycles_until): New function.
5374	(prev_cycle, prev_first, last_issued): New static variables.
5375	(ia64_sched_reorder): Additional arg for clock.
5376	On final scheduling pass, emit extra NOPs as needed.
5377	Set prev_first and prev_cycle.
5378	(ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
5379	(ia64_variable_issue): Set last_issued.
5380
53812001-04-20  Alexandre Oliva  <aoliva@redhat.com>
5382
5383	* config/i386/i386.c (ix86_expand_int_movcc,
5384	ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
5385
53862001-04-20  Geoff Keating  <geoffk@redhat.com>
5387
5388	* config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
5389	ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
5390	ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
5391	ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
5392	ctrdi_internal6): In the short-branch case, this insn is only 4
5393	bytes long.  Reported by Reza Yazdani <reza@apple.com>.
5394
53952001-04-20  Jakub Jelinek  <jakub@redhat.com>
5396
5397	* reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
5398	"=u" is used together with "st" resp. "st(1)" clobber.
5399
54002001-04-20  Jakub Jelinek  <jakub@redhat.com>
5401
5402	* gcse.c (gcse_main): Fix comment typo.
5403	(delete_null_pointer_check): Likewise.
5404	(hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
5405	* cse.c (cse_insn): Likewise.
5406	* function.c (fixup_var_refs_insns_with_hash): The sequence is
5407	toplevel.
5408
54092001-04-19  Zack Weinberg  <zackw@stanford.edu>
5410
5411	* toplev.c: Excise all code for the undocumented -dm option.
5412	(float_signal): Call signal just once, unconditionally.
5413
54142001-04-19  Geoff Keating  <geoffk@redhat.com>
5415
5416	* fold-const.c (fold): Use first_rtl_op rather than
5417	TREE_CODE_LENGTH when looping over parameters of a tree.
5418	Correct strange grouping in test for evaluated SAVE_EXPR.
5419
5420Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
5421
5422	* config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
5423	* config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
5424
5425	* config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
5426	name at 32 total characters.
5427	(ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
5428	functions in named sections -- data items can still go into unique
5429	sections, but they have normal names (ie $LIT$ and $DATA$).
5430
5431	* config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
5432	INIT_PRIORITY.
5433
54342001-04-19 DJ Delorie  <dj@redhat.com>
5435
5436	* config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
5437	to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
5438	* config/i386/cygwin.h: Likewise.
5439	* config/i386/mingw32.h: Likewise.
5440	* config/vax/vms.h: Likewise.
5441	* config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
5442
5443	* config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
5444	to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
5445	* config/i386/xm-cygwin.h: Likewise.
5446	* config/i386/xm-djgpp.h: Likewise.
5447	* config/i386/xm-mingw32.h: Likewise.
5448	* config/vax/xm-vms.h: Likewise.
5449
5450	* mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
5451	instead of OBJECT_SUFFIX.
5452	* collect2.c (find_a_file): Look for files matching the extension
5453	HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
5454	* gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
5455	TARGET_EXECUTABLE_SUFFIX.
5456	(find_a_file): Use HOST_EXECUTABLE_SUFFIX.
5457	(make_relative_prefix): Likewise.
5458	(convert_filename): Use TARGET_ suffixes throughout.  Remove
5459	NO_AUTO_EXE_SUFFIX.
5460	(process_command): Likewise.
5461	(do_spec_1): Likewise.
5462	* java/lang.c (init_parse): Likewise.
5463
5464	* gcc.texi : Document four new options matching the pattern
5465	(HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
5466	for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
5467	documentation for NO_AUTO_EXE_SUFFIX.
5468
54692001-04-19  Mark Mitchell  <mark@codesourcery.com>
5470
5471	* toplev.h (struct lang_hooks): Allow decode_option to indicate
5472	that language-independent processing should not be done.
5473	* toplev.c (main): Adjust accordingly.
5474
5475	* rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
5476	* loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
5477
5478	* mips.md (reload_outputdi): Require that operand0 be a
5479	general_operand.
5480
54812001-04-19  Jakub Jelinek  <jakub@redhat.com>
5482
5483	* invoke.texi (-Wshadow): Clarify.
5484
54852001-04-18  Mark Mitchell  <mark@codesourcery.com>
5486
5487	* loop.c (load_mems): Examine all the instructions in the loop
5488	before concluding that all jumps branch to the first instruction
5489	after the loop.
5490
5491Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
5492
5493	* config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
5494
54952001-04-18  Jakub Jelinek  <jakub@redhat.com>
5496
5497	* cpp.texi (-Wwhite-space): Remove.
5498	(-Wall): -Wall does not imply -Wwhite-space.
5499
55002001-04-17  Zack Weinberg  <zackw@stanford.edu>
5501
5502	* dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
5503	use it instead of blindly generating a .stabs.
5504	* xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
5505	in the right place.
5506	* xcoffout.c: Don't bother defining default for N_CATCH.
5507	(UNKNOWN_STAB): Use internal_error.
5508	(stab_to_sclass): Remove now-unnecessary aborts.
5509	Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
5510
5511Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
5512
5513	* jump.c (mark_all_labels): Canonicalize the tail recursion
5514	label attached to CALL_PLACEHOLDER insns.
5515
55162001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5517
5518	* output.h (dump_flow_info, free_basic_block_vars,
5519	which_alternative): Delete redundant prototypes.
5520
5521	* rtl.h (bss_section): Likewise.
5522
55232001-04-17  Loren J. Rittle  <ljrittle@acm.org>
5524
5525	* dbxout.c (N_OPT): Define if not available from <stab.h>
5526
55272001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5528
5529	* vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
5530	libraries and native K&R compilers.
5531
55322001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5533
5534	* c-typeck.c (convert_arguments): Don't check for width changes
5535	with -Wtraditional.
5536
5537	* invoke.texi (-Wtraditional): Update documentation.
5538
55392001-04-16  Zack Weinberg  <zackw@stanford.edu>
5540
5541	* toplev.c (output_lang_identify): Delete.
5542	(compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
5543	Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
5544	If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
5545	after calling ASM_FILE_END.
5546
5547	* dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
5548	Instead, unconditionally emit an N_OPT stab with string equal
5549	to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
5550
5551	* defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
5552
5553	* config/dbxelf.h, config/freebsd.h, config/nextstep.h,
5554	config/psos.h, config/ptx4.h, config/1750a/1750a.h,
5555	config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
5556	config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
5557	config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
5558	config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
5559	config/i370/i370.h, config/i386/beos-elf.h,
5560	config/i386/osf1elf.h, config/i386/osfrose.h,
5561	config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
5562	config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
5563	config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
5564	config/m68k/tower-as.h, config/mcore/mcore-elf.h,
5565	config/mips/iris6.h, config/mips/osfrose.h,
5566	config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
5567	config/sparc/sp64-elf.h:
5568	Delete definitions of any or all of: ASM_IDENTIFY_GCC,
5569	ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
5570
5571	* config/elfos.h, config/freebsd.h, config/linux.h,
5572	config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
5573	config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
5574	config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
5575	of ASM_FILE_START which merely emit a .version directive.  Delete
5576	definitions of ASM_FILE_END which merely emit an .ident directive.
5577
5578	* config/avr/avr.h, config/vax/vax.h: Delete definition of
5579	ASM_IDENTIFY_GCC and move part of its logic into
5580	ASM_FILE_START.
5581
5582	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
5583	config/sparc/linux-aout.h: Don't emit .version directive in
5584	ASM_FILE_START.
5585
5586	* config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
5587	(output_file_start): Correct comment.
5588
5589	* config/i386/osfrose.h: Don't emit trailing .ident directive.
5590	* config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
5591	to match gdb.
5592	* config/pa/lib2funcs.asm: Delete gcc_compiled. label.
5593	* config/rs6000/aix.h: Correct comment.
5594
5595	* config/i386/i386afe.h: Delete.
5596	* config.gcc: Remove references to i386afe.h.
5597
5598	* tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
5599	other macros deleted by this patch were undocumented.
5600
5601Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
5602
5603	* pa.md (reload_outdi): Operand 0 must be a non hard register.
5604
5605	* pa.c (secondary_reload_class): SAR<->FP copies require a
5606	secondary register.
5607
5608	* install.texi (mips-mips-bsd): Update list of functions
5609	required to include memmove.
5610	* tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
5611	used functions to include memmove.
5612
56132001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
5614
5615	* i386.md (sqrtdf2): SFmode should be DFmode.
5616
56172001-04-15  Alexandre Oliva  <aoliva@redhat.com>
5618
5619	* gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
5620	(find_moveable_store): Likewise.
5621
56222001-04-15  Jim Wilson  <wilson@redhat.com>
5623
5624	* function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
5625
5626Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
5627
5628	* i386.md (ashldi3_1_rex64): Add 'J' to the constraints
5629	(ashrdi3_1_rex64): Change 'n' constraint to 'J'.
5630
56312001-04-14  Alexandre Oliva  <aoliva@redhat.com>
5632
5633	* config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
5634	first alternative.
5635
56362001-04-14  Alan Modra  <amodra@one.net.au>
5637
5638	* pa.c (force_mode): New function.
5639	(emit_move_sequence): Use it instead of generating new rtx_REGs.
5640
56412001-04-13  Jim Wilson  <wilson@redhat.com>
5642
5643	* config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
5644	(first_instruction): New static variable.
5645	(rtx_needs_barrier): Return 1 for alloc.
5646	(init_insn_group_barriers): Set first_instruction.
5647	(rws_sum): Delete duplicate definition.
5648	(group_barrier_needed_p): Return 0 when first_instruction true.
5649	(safe_group_barrier_needed_p): Save and restore first_instruction
5650	around group_barrier_needed_p call.
5651
5652Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
5653
5654	* expr.h (enum libfunc_index): Add LTI_memmove.
5655	(memmove_libfunc): Define macro.
5656	* optabs.c (init_optabs): Initialize memmove_libfunc.
5657	* expr.c (expand_assignment): Use memmove_libfunc instead of
5658	memcpy_libfunc.
5659
56602001-04-13  Alan Modra  <alan@linuxcare.com.au>
5661
5662	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
5663	fp mode addresses.
5664
56652001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5666
5667	* Makefile.in (reg-stack.o): Depend on reload.h.
5668	(insn-attrtab.o): Depend on flags.h.
5669
5670	* genattrtab (main): Include flags.h in insn-attrtab.c.
5671
5672	* reg-stack.c: Include reload.h.
5673
5674	* sparc.h (flag_pic): Delete redundant declaration.
5675
5676	* output.h (flag_pic): Likewise.
5677
5678	* tree.h (pedantic): Likewise.
5679
56802001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5681
5682	* Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
5683
5684	* jump.c, regmove.c, toplev.c: Include reload.h.
5685
5686	* reload.h (reload_cse_regs): Declare.
5687
5688	* rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
5689	reload_cse_regs, init_reload, mark_home_live, reload,
5690	init_caller_save): Delete redundant prototypes.
5691
56922001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5693
5694	* Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
5695
5696	* regclass.c, ssa.c: Include expr.h.
5697
5698	* rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
5699	gen_move_insn): Delete redundant declarations.
5700
57012001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5702
5703	* Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
5704	(stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
5705	MAKEINFO and MAKEINFOFLAGS too.
5706	(stage4_build): Correctly order -B flags.
5707
57082001-04-13  Alan Modra  <amodra@one.net.au>
5709
5710	* pa.c (hppa_init_pic_save): Set rtx_unchanging for
5711	PIC_OFFSET_TABLE_SAVE_RTX.
5712	(zdepi_cint_p): Describe zdepi insn.
5713	Formatting and white space fixes throughout file.
5714
5715	* pa.c (uint32_operand): Don't use long constant >= 2^32.
5716	(emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
5717	about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
5718	(compute_movstrsi_length): Make `align' unsigned to avoid warning.
5719	(output_64bit_and): Use plain `int's for shift counts.
5720	(output_64bit_ior): Likewise.
5721	(function_arg_partial_nregs): Use unsigned vars to avoid warnings.
5722	* pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
5723	`N', and simplify.
5724
5725	* pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
5726	* pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
5727	* pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
5728	NEW_HP_ASSEMBLER into one.  Kill warnings.
5729
5730	* pa-gas.h: Delete file.
5731	* config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
5732	Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
5733	hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
5734	instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
5735
5736	* config/pa/mill32.S: New file.
5737	* config/pa/mill64.S: New file.
5738	* config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
5739	LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
5740	* config/pa/t-linux64: New file.
5741	* config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
5742	(LIB1ASMFUNCS, LIB1ASMSRC): Define.
5743	(TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
5744
5745	* elfos.h (SELECT_SECTION): Undef before defining.
5746	* pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
5747	(LIB_SPEC): Remove -lmilli.
5748	(DBX_REGISTER_NUMBER): Remove.
5749	(PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5750	(DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
5751	NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
5752	DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5753	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
5754	ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
5755	ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
5756	TARGET_GAS): Define.
5757	* pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
5758	(function_arg): If TARGET_ELF32, pass fp args in both general and fp
5759	regs if we don't have a prototype.
5760	* pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
5761	* pa.h (TARGET_ELF32): Default to 0 if undefined.
5762	(EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
5763	EH_RETURN_HANDLER_RTX): Define.
5764	* pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
5765	(DWARF_FRAME_REGNUM): Define.
5766	* pa64-regs.h (DWARF_FRAME_REGNUM): Define.
5767	* pa32-linux.h: New file.
5768	* pa64-linux.h: New file.
5769
5770	* pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
5771	(ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
5772	(LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
5773	NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
5774	DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
5775	DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
5776	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
5777	FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
5778	READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
5779	DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
5780	UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
5781	ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
5782	TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
5783	* pa64-hpux.h: New file.
5784	(ASM_FILE_START): Correct typo.
5785	(PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
5786	* config.gcc: Modify for above.
5787
5788Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
5789
5790	* jump.c (jump_optimize_1): Don't delete dead stores here.
5791	* toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
5792	prior to running jump optimize before cse2.
5793
57942001-04-12  Richard Henderson  <rth@redhat.com>
5795
5796	* Makefile.in (regmove.o): Depend on except.h.
5797	* regmove.c: Include it.
5798
57992001-04-12  Stan Shebs  <shebs@apple.com>
5800
5801	* objc/objc-act.c: Remove all code ifdefed with the never-used
5802	macro OBJC_INT_SELECTORS.
5803	* config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
5804	* tm.texi: Remove doc for OBJC_INT_SELECTORS.
5805
5806Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
5807
5808	* config/pa/quadlib.c: Add prototypes.
5809
58102001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5811
5812	* bitmap.h (debug_bitmap): Delete redundant prototype.
5813
5814	* rtl.h (get_frame_size): Likewise.
5815
58162001-04-12  Jim Wilson  <wilson@redhat.com>
5817
5818	* config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
5819	to just emit an fnorm.
5820
58212001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5822
5823	* c-common.h (truthvalue_conversion, type_for_mode,
5824	type_for_size): Delete redundant declarations.
5825
5826	* c-lex.h (is_class_name): Likewise.
5827
5828	* c-tree.h (pedantic, convert, getdecls, gettags,
5829	global_bindings_p, init_decl_processing, insert_block,
5830	maybe_build_cleanup, poplevel, print_lang_decl,
5831	print_lang_identifier, print_lang_type, pushdecl, pushlevel,
5832	set_block, incomplete_type_error, build_function_call,
5833	lvalue_or_else, mark_addressable): Likewise.
5834
5835	* expr.h (expand_tree_builtin): Likewise.
5836
58372001-04-12  Mark Mitchell  <mark@codesourcery.com>
5838
5839	* invoke.texi: Document --param max-gcse-memory.
5840
58412001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5842
5843	* configure.in (errno): Check for declaration.
5844	* configure, config.in: Regenerated.
5845
5846	* system.h (errno): Only declare if not already done.
5847
58482001-04-12  Alexandre Oliva  <aoliva@redhat.com>
5849
5850	* recog.c (general_operand, immediate_operand,
5851	nonmemory_operand): Require CONST_INTs to be sign-extended
5852	values for their modes.
5853
58542001-04-12  Alexandre Oliva  <aoliva@redhat.com>
5855
5856	* expmed.c (store_bit_field): Truncate CONST_INTs.
5857	(expand_mult_highpart, expand_divmod): Likewise.
5858	* expr.c (convert_modes, store_field): Likewise.
5859	* integrate.c (expand_inline_function): Use promote_mode() to
5860	determine whether to convert_modes() an argument as signed
5861	or unsigned.
5862	* optabs.c (expand_binop): Get CONST_INT operands
5863	sign-extended for their appropriate modes.
5864	* stmt.c (emit_case_nodes): Convert node values to the
5865	appropriate mode.
5866	(expand_end_case): Convert minval and range to the appropriate
5867	mode.
5868	* unroll.c (loop_iterations): Truncate abs_diff to the mode of
5869	the iteration variable.
5870	* varasm.c (immed_double_const): Don't require words to be
5871	narrower than host wide ints to properly sign-extend
5872	CONST_INTs.
5873
58742001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
5875
5876	* sh.md (builtin_setjmp_receiver): New expander.
5877
58782001-04-12  David Edelsohn  <dje@watson.ibm.com>
5879
5880	* config/rs6000/rs6000.c (rs6000_emit_move): Do not
5881	special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
5882	for generating CONST_INT and CONST_DOUBLE.
5883
58842001-04-12  Alexandre Oliva  <aoliva@redhat.com>
5885
5886	* config/rs6000/rs6000.c (logical_operand): CONST_INTs are
5887	already sign-extended.
5888	(rs6000_emit_prologue): Make register iterator signed.
5889	(rs6000_emit_epilogue): Likewise.
5890	* config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
5891	and low.
5892	(movsf split, movdf split): Sign-extend CONST_INTs.
5893	(movdi splits): Likewise.
5894
58952001-04-12  Kelley Cook <kelley.cook@home.com>
5896
5897	* config-lang.in (lang_dirs): Add in zlib.
5898
58992001-04-11  Alexandre Oliva  <aoliva@redhat.com>
5900
5901	* config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
5902	operands that make it to RTL.
5903
59042001-04-11  Stan Shebs  <shebs@apple.com>
5905
5906	Add Darwin (Mac OS X kernel) native support.
5907	* config.gcc (powerpc-*-darwin*): Add native bits.
5908	* config/darwin.c: New file, generic Darwin support functions.
5909	* config/darwin.h: New file, generic Darwin definitions.
5910	* config/darwin-protos.h: New file, generic Darwin prototypes.
5911	* rs6000/darwin.h: New file, Darwin for PowerPC.
5912	* rs6000/t-darwin: New file, Darwin makefile fragment.
5913	* rs6000/rs6000.h (OBJECT_MACHO): New macro.
5914	(TARGET_MACHO): Ditto.
5915	(rs6000_abi): Add ABI_DARWIN.
5916	(RS6000_REG_SAVE): Add ABI_DARWIN case.
5917	(RS6000_SAVE_AREA): Ditto.
5918	(FP_ARG_MAX_REG): Ditto.
5919	(RETURN_ADDRESS_OFFSET): Ditto.
5920	* rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
5921	cases.
5922	(rs6000_emit_move): Add ABI_DARWIN cases.
5923	(print_operand): Ditto.
5924	(first_reg_to_save): Ditto.
5925	(rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
5926	(debug_stack_info): Ditto.
5927	(rs6000_emit_prologue): Ditto.
5928	(rs6000_emit_epilogue): Ditto.
5929	(output_profiler_hook): Ditto.
5930	(output_function_profiler): Ditto.
5931	(rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
5932	(output_mi_thunk): Add TARGET_MACHO case.
5933	(add_compiler_stub): Ditto.
5934	(output_compiler_stub): Ditto.
5935	(no_previous_def): Ditto.
5936	(output_call): Ditto.
5937	(machopic_output_stub): Ditto.
5938	(rs6000_machopic_legitimize_pic_address): Ditto.
5939	(toc_section): Ditto.
5940	* rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
5941	(macho_high): Ditto.
5942	(macho_low): Ditto.
5943	(movsi_low): Ditto.
5944	(load_macho_picbase): Ditto.
5945	(call): Add TARGET_MACHO case to modify function.
5946	(call_value): Ditto.
5947	(call_nonlocal_sysv): Add ABI_DARWIN case.
5948	(call_value_nonlocal_sysv): Ditto.
5949	* rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
5950	Add prototype.
5951	(machopic_output_stub): Ditto.
5952	* ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
5953
59542001-04-11  Mark Mitchell  <mark@codesourcery.com>
5955
5956	* dwarf2out.c (modified_type_die): Don't create new types here.
5957	* tree.h (get_qualified_type): New function.
5958	(build_qualified_type): Adjust comment.
5959	* tree.c (get_qualified_type): New function.
5960	(build_qualified_type): Use it.
5961
59622001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5963
5964	* cpp.texi (-Wtraditional): Update description.
5965
5966	* invoke.texi (-Wtraditional): Likewise.
5967
59682001-04-11  Jim Wilson  <wilson@redhat.com>
5969
5970	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
5971	requires more than 64 bits of alignment.
5972
59732001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5974
5975	* cpplib.c (do_line): Sanity check iff enable checking.
5976
59772001-04-11  Richard Henderson  <rth@redhat.com>
5978
5979	* Makefile.in (insn-recog.o): Depend on toplev.h.
5980	(insn-emit.o, doloop.o): Likewise.
5981	* genrecog.c, genemit.c: Include toplev.h in generated file.
5982	* doloop.c: Include toplev.h.
5983
59842001-04-11  Mark Mitchell  <mark@codesourcery.com>
5985
5986	* Makefile.in (gcse.o): Depend on params.h.
5987	* gcse.c: Include params.h.
5988	(gcse_main): Don't do GCSE if doing so will take inordinate
5989	amounts of memory.
5990	* params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
5991	* params.h (MAX_GCSE_MEMORY): New macro.
5992
59932001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5994
5995	* Makefile.in (insn-output.o): Depend on $(EXPR_H).
5996
5997	* genoutput.c (output_prologue): Include expr.h in insn-output.c.
5998
59992001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6000
6001	* output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
6002
6003	* real.h (ereal_atof, real_value_truncate, target_isnan,
6004	target_isinf, target_negative, assemble_real, debug_real): Delete
6005	redundant prototypes.
6006
6007	* Makefile.in (ifcvt.o): Depend on toplev.h.
6008
6009	* c-semantics.c: Include expr.h.
6010
6011	* ifcvt.c: Include toplev.h.
6012
6013	* expr.h (rtx_equal_p): Delete prototype.
6014
6015	* rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
6016	protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
6017	eliminate_constant_term, expand_complex_abs, find_single_use,
6018	make_tree, init_expr_once, init_optabs, supports_one_only):
6019	Likewise.
6020
6021	* tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
6022	rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
6023	expand_assignment, store_expr, emit_line_note_after,
6024	emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
6025
6026	* toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
6027
6028	* sparc-protos.h: Delete redundant prototypes.
6029
60302001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
6031
6032	* reload.c (push_reload): Add condition missed in SUBREG byte
6033	offset patch.
6034
6035Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6036
6037	* sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
6038
6039Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
6040
6041	* i386.md (floatsisf_sse): Fix output template
6042	* i386.c (ix86_expand_fp_movcc)
6043
6044	* reg-stack.c (emit_pop_insn): Handle complex modes.
6045	(move_for_stack_reg): Emit proper move mode.
6046	(subst_stack_regs_pat): Handle complex modes.
6047
60482001-04-11  Jakub Jelinek  <jakub@redhat.com>
6049
6050	* cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
6051
60522001-04-10  Richard Henderson  <rth@redhat.com>
6053
6054	* libgcc2.h (__terminate_func_ptr): Remove typedef.
6055	(__pure_virtual, __terminate, __terminate_set_func,
6056	__default_terminate, __throw_type_match, __empty,
6057	__get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
6058	__eh_rtime_match, __unwinding_cleanup, __rethrow,
6059	__sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
6060	Remove prototypes of deleted functions.
6061
60622001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6063
6064	* c-typeck.c (convert_arguments): -Wtraditional now activates
6065	-Wconversion warnings, except for changes in signed-ness.
6066	Detect complex<->int & int<->complex conversions as well.
6067
6068	* invoke.texi (-Wtraditional): Document it.
6069
6070Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6071
6072	* gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
6073	* flow.c (set_block_for_new_insns): Remove needless cast and
6074	properly check for unset block number.
6075
60762001-04-10  Andrew MacLeod  <amacleod@redhat.com>
6077
6078	* function.c (purge_single_hard_subreg_set): Only check REGNO if
6079	the subreg was a hard register. Pseudos are left as subregs.
6080
60812001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6082
6083	* Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
6084	(LIB2ADD_ST): New macro, pass it to mklibgcc.
6085	* mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
6086	(libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
6087	* config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
6088
60892001-04-09  Bo Thorsen  <bo@suse.co.uk>
6090
6091	* config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
6092
60932001-04-09  Andrew MacLeod  <amacleod@redhat.com>
6094
6095	* output.h (set_block_num): Missed it earlier, remove deprecated
6096	prototype.
6097
60982001-04-09  Andrew MacLeod  <amacleod@redhat.com>
6099
6100	* gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
6101	(load_killed_in_block_p): Change bb parameter from int to basic_block.
6102	(oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
6103	(handle_rd_kill_set): Change bb parameter from int to basic_block.
6104	(compute_kill_rd): Pass basic_blocks instead of ints as parameters.
6105	(expr_killed_p): Change bb parameter from int to basic_block, pass
6106	basic_blocks instead of ints as parameters.
6107	(compute_ae_kill): Pass basic_blocks instead of ints as parameters.
6108	(expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
6109	from int to basic_block, pass basic_blocks instead of ints as parms.
6110	(pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
6111	parameter from int to basic_block, pass basic_blocks instead of ints.
6112	(process_insert_insn): Pass basic_blocks instead of ints as parameters.
6113	(insert_insn_end_bb): Change bb parameter from int to basic_block,
6114	pass basic_blocks instead of ints.
6115	(pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
6116	basic_blocks instead of ints as parameters.
6117	(pre_delete): Pass basic_blocks instead of ints as parameters.
6118	(hoist_expr_reaches_here_p): Change bb parameter from int to
6119	basic_block, pass basic_blocks instead of ints.
6120	(hoist_code): Pass basic_blocks instead of ints as parameters.
6121	(reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
6122	Change bb parameter from int to basic_block.
6123	(build_store_vectors): Pass basic_blocks instead of ints as parameters.
6124	(insert_insn_start_bb): Change bb parameter from int to basic_block,
6125	pass basic_blocks instead of ints.
6126	(insert_store): Pass basic_blocks instead of ints as parameters.
6127	(replace_store_insn, delete_store): Change bb parameter from int to
6128	basic_block, pass basic_blocks instead of ints.
6129	(store_motion): Pass basic_blocks instead of ints as parameters.
6130
61312001-04-09  Andrew MacLeod  <amacleod@redhat.com>
6132
6133	* basic-block.h (set_new_block_for_insns): New Prototype.
6134	(set_block_num): Delete prototype.
6135	* flow.c (set_block_num): Remove obsolete function.
6136	(set_block_for_new_insns): Set BB for single or multiple insns.
6137	* gcse.c (handle_avail_expr): Use set_block_for_new_insns.
6138	(process_insn_end_bb): Use set_block_for_new_insns or
6139	set_block_for_insn instead of set_block_num.
6140	(pre_insert_copy_insn): Use set_block_for_new_insns.
6141	(update_ld_motion_stores): Use set_block_for_new_insns.
6142	(insert_insn_start_bb): Use set_block_for_new_insns.
6143	(replace_store_insn): Use set_block_for_new_insns.
6144
61452001-04-09  Andrew MacLeod  <amacleod@redhat.com>
6146	    Jeff Law  <law@redhat.com>
6147
6148	* alias.c (get_addr): Externalize.
6149	(canon_true_dependence): New function. Behaves like true_dependance
6150	except it already assumes a MEM has been canonicalized.
6151	* flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
6152	* gcse.c (struct ls_expr): Add load/store expressions structure.
6153	(modify_mem_list, canon_modify_mem_list): New variable.
6154	(gcse_main): Initialize & finalize alias analysis. Use enhanced
6155	load motion and store motion if requested.
6156	(alloc_gcse_mem): Allocate space for modify_mem_list array.
6157	(free_gcse_mem): Free the modify_mem_list array.
6158	(oprs_unchanged_p): Use load_killed_in_block_p.
6159	(gcse_mems_conflict_p, gcse_mem_operand): New variables.
6160	(mems_conflict_for_gcse_p): New function.  Don't kill loads
6161	with stores to themselves if its in the load/store expression list.
6162	(load_killed_in_block_p): New function.
6163	(canon_list_insert): New Function.
6164	(record_last_mem_set_info): Keep a list of all instructions which
6165	can modify memory for each basic block.
6166	(compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
6167	(oprs_not_set_p): Use load_killed_in_block_p.
6168	(mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
6169	(expr_killed_p): Use load_killed_in_block_p.
6170	(compute_transp): Do not pessimize memory references.
6171	(pre_edge_insert): Update stores for a load motion expression.
6172	(one_pre_gcse_pass): Check loads/stores for extra load motion.
6173	(ldst_entry): Find or create a ldst_expr structure.
6174	(free_ldst_entry): Free memory for an individual item.
6175	(free_ldst_mems): Free entire load/store expression list.
6176	(print_ldst_list): Print debug info.
6177	(find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
6178	(enumerate_ldsts): Assign integer values to each entry in list.
6179	(first_ls_expr): First expression in the list.
6180	(next_ls_expr): Next expression in the list.
6181	(simple_mem): Check if expression qualifies for ld/st expression list.
6182	(invalidate_any_buried_refs): Remove from expression list if its
6183	used in some other way we don't understand.
6184	(compute_ld_motion_mems): Find all potential enhanced load motion
6185	expression.
6186	(trim_ld_motion_mems): Remove any expressions which are invalid.
6187	(update_ld_motion_stores): Copy store values to registers for loads
6188	which have been moved.
6189	(regvec, st_antloc, num_store): New global statics.
6190	(reg_set_info): Marks registers as set.
6191	(store_ops_ok): Verfies registers expressions are valid in a block.
6192	(find_moveable_store): Look for moveable stores in a pattern.
6193	(compute_store_table): Find stores in a function worth moving, maybe.
6194	(load_kills_store): Check dependence of a load and store.
6195	(find_loads): Find any loads in a pattern.
6196	(store_killed_in_insn): Check if a store is killed in an insn.
6197	(store_killed_after): Check is store killed after an insn in a block.
6198	(store_killed_before): Check is store killed before an insn in a block.
6199	(build_store_vectors): Generate the antic and avail vectors.
6200	(insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
6201	(insert_store): Add a store to an edge.
6202	(replace_store_insn): Replace a store with a SET insn.
6203	(delete_store): Delete a store insn.
6204	(free_store_memory): Free memory.
6205	(store_motion): Perform store motion.
6206	* invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
6207	* rtl.h (get_addr, canon_true_dependence): Add prototypes.
6208	* toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
6209	(f_options): Add gcse-lm and gcse-sm.
6210
6211Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
6212
6213	* i386.c (expand_fp_movcc): Fix condition reversal code.
6214
6215	* i386.c (ix86_register_move_cost): Fix handling of reformating penalty
6216	* i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
6217	(CLASS_MAX_NREGS): Use it.
6218
6219	* i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
6220	handle properly complex values.
6221	(CLASS_MAX_NREGS): Likewise; update comment.
6222
62232001-04-05  Bernd Schmidt  <bernds@redhat.com>
6224
6225	* ia64.c (ia64_flag_schedule_insns2): New variable.
6226	(ia64_override_options): Initialize it.  Clear
6227	flag_schedule_insns_after_reload.
6228	(ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
6229
6230Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
6231
6232	* i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
6233	Do not require source to match destination anymore;
6234	Add abort to the nontrivial cases that should be handled by split.
6235	(fix_trunc?fdi): Add SSE case for x86_64.
6236	(floatdi?f): Likewise.
6237	(floatdi?f_sse): New.
6238	(fix_trunc?fdi_sse): New.
6239
62402001-04-09  Richard Sandiford   <rsandifo@redhat.com>
6241
6242	* dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
6243	(DEBUG_ARANGES_END_LABEL): Ditto.
6244	(dwarfout_init): Generate length and version fields at the start
6245	of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
6246	after the length field.
6247	(dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
6248	the .debug_aranges info.
6249
6250Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
6251
6252	* i386.c (call, call_value): Make sure that resulting call_insn
6253	does have proper second operand.
6254
6255Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
6256
6257	* config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
6258	function.  Remove include of sys/cygwin.h.
6259
6260Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
6261
6262	* config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
6263	(CPP_SPEC): Always search */include/w32api for header files.
6264	(ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
6265	(LINK_SPEC): Add "cyg" to the library search prefixes.
6266
62672001-04-08  Philip Blundell  <philb@gnu.org>
6268
6269	* config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
6270
62712001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6272
6273	* cpperror.c (print_location): Don't special case <stdin>.
6274	(_cpp_begin_message): Handle WARNING_SYSHDR the same as
6275	WARNING, but we don't check if we're in system headers.
6276	* cpplib.h (enum error_type): WARNING_SYSHDR: New.
6277	* cpplib.c (do_warning): Warn in system headers.
6278
62792001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
6280
6281	* mbchar.c: Include config.h first.
6282
62832001-04-07  Zack Weinberg  <zackw@stanford.edu>
6284
6285	* config.gcc: Set default for xmake_file at top, not bottom.
6286	Change places that set xmake_file to "none" to set to the
6287	empty string instead, or remove them entirely if there is no
6288	default xmake_file for this cpu_type.  Remove references to
6289	deleted files.
6290
6291	* config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
6292	config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
6293	config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
6294	config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
6295	config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
6296	config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
6297	config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
6298	config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
6299	config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
6300	config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
6301	Delete.
6302
6303	* config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
6304	config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
6305	config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
6306	config/mips/x-sysv, config/rs6000/x-aix31:
6307	Just set CLIB to -lld or -lmld, as appropriate.
6308
6309	* config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
6310	config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
6311	config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
6312	config/mips/x-iris, config/pa/x-pa:
6313	Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
6314	OTHER_FIXINCLUDES_DIRS.
6315
6316	* config/i386/x-djgpp: Don't set LN or LN_S.
6317	* config/m88k/x-dolph: Don't define __m88k__.
6318	* config/m88k/x-tekXD88: Don't set AR_FLAGS.
6319	* config/pa/x-pa-mpeix: Just set up quadlib.asm.
6320	* config/i860/fx2800.h: No need to #undef SVR4.
6321
6322	38 x-host fragments remain, 2 x-cpu.
6323
63242001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6325
6326	* c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
6327
63282001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6329
6330	* cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
6331
63322001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6333
6334	* configure.in: Add check for lstat.
6335	* configure, config.in: Regenerate.
6336	* cppinit.c (append_include_chain): Make empty path ".".
6337	* cpplib.c (do_line): Don't simplify #line paths.
6338	* cppfiles.c (remove_component_p): New function.
6339	(find_or_create_entry): Acknowledge stat () errors during
6340	path simplification.
6341	(handle_missing_header): Don't simplify paths.
6342	(_cpp_simplify_pathname): Don't simplify VMS paths.  Return
6343	the empty path untouched.  Don't leave a trailing '/'.
6344
63452001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
6346
6347	* cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
6348	* Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
6349
63502001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6351
6352	* cppfiles.c (open_file): Fail directories silently, but
6353	with an errno of NOENT set.
6354	(read_include_file): Move the common exit code to the sole
6355	caller.  Return an int indicating success or failure.  Let
6356	open_file handle directories.
6357	(stack_include_file): If read_include_file fails,
6358	push a "null" buffer.
6359
63602001-04-05  DJ Delorie  <dj@redhat.com>
6361
6362	* function.h (virtuals_instantiated): Declare.
6363	* function.c: (virtuals_instantiated): Make global.
6364	* calls.c (emit_library_call_value_1): Use
6365	virtual_outgoing_args_rtx only if it hasn't been instantiated.
6366	Otherwise, use the stack pointer directly.
6367
6368Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
6369
6370	* i386.c (x86_initialize_trampoline): New global function.
6371	* i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
6372	(INITIALIZE_TRAMPOLINE): Move offline.
6373	* i386-protos.h (x86_initialize_trampoline): Declare.
6374
6375Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
6376
6377	* i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
6378	(lea_0): Rename to lea_1.
6379	(lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
6380	(lea_general_?): Allow SImodes on TARGET_64BIT
6381	(lea_general_?_zext): New patterns.
6382	(call_1, call_1_rex64): Fix.
6383
6384Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
6385
6386	* i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
6387
6388Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
6389
6390	* i386.c (function_arg): Return constm1_rtx for last argument.
6391	(ix86_expand_prologue): Update gen_call calls.
6392	* i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
6393	* i386.md (call_pop): Likewise.
6394	(call): Second operand is VOIDmode.
6395	(call_0): Likewise; Support 64bits.
6396	(call_exp): New expander.
6397	(call_1): Get to the sync.
6398	(call_1_exp): New pattern.
6399	(call_value): Support 64bit.
6400	(call_value_exp): New pattern.
6401	(untyped_call): Update gen_call call.
6402	(call_value_pop): Disable for 64bit.
6403	(call_value_0_rex64): New pattern.
6404	(call_value_1_rex64): Likewise.
6405
64062001-04-05  Bo Thorsen  <bo@suse.de>
6407
6408	* i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
6409
6410Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
6411
6412	* i386.md (*andsi_1+3): If used after reload, make sure the operand
6413	satisfies ANY_QI_REG_P.
6414
64152001-04-05  Bernd Schmidt  <bernds@redhat.com>
6416
6417	* config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
6418	ASM_OPERAND.
6419
6420	* sched-deps.c (sched_analyze_insn): Revert more of the March 27
6421	change.
6422
64232001-04-04  Zack Weinberg  <zackw@stanford.edu>
6424
6425	* config.gcc: Remove default for xm_file.  Clean up local
6426	machine type handling.  Remove settings of xm_file to
6427	something that doesn't exist.  In the big switch, set xm_file,
6428	don't append to it (the value before the big switch is always
6429	null).  Don't force build_xm_file or host_xm_file to have a value.
6430	* configure.in: Remove default for xm_file.  Do not special
6431	case $cpu/xm-$cpu.h not existing.
6432	* configure: Regenerate.
6433
64342001-04-04  Diego Novillo  <dnovillo@redhat.com>
6435
6436	* simplify-rtx.c (simplify_binary_operation): Check for overflow
6437	when folding integer division and modulo operations.
6438
64392001-04-04  Andrew MacLeod  <amacleod@redhat.com>
6440
6441	* dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
6442	instead of DWARF2_ADDR_SIZE for EH addresses.
6443	(output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
6444	EH addresses.
6445
64462001-04-04  Richard Henderson  <rth@redhat.com>
6447
6448	* config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
6449	* config/ia64/t-glibc (LIB2ADDEH): Disable.
6450	* config/ia64/t-ia64 (LIB2ADDEH): Disable.
6451
64522001-04-04  Richard Henderson  <rth@redhat.com>
6453
6454	* configure.in (gcc_cv_as_leb128): Escape "." in regexp.
6455	* configure: Rebuilt.
6456
64572001-04-04  Jakub Jelinek  <jakub@redhat.com>
6458
6459	* gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
6460	push insns to delete to it instead of deleting them.
6461	(delete_null_pointer_checks): Delete insns from delete_list after
6462	all delete_null_pointer_checks_1 passes are done.
6463
64642001-04-04  Richard Henderson  <rth@redhat.com>
6465
6466	* configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
6467	* configure: Rebuilt.
6468
64692001-04-04  Zack Weinberg  <zackw@stanford.edu>
6470
6471	* expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
6472	* config/romp/xm-romp.h: Delete.
6473
64742001-04-04  Bernd Schmidt  <bernds@redhat.com>
6475
6476	* sched-deps.c (sched_analyze_insn): Partially revert March 27
6477	change.
6478
64792001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6480
6481	* emit-rtl.c (mark_label_nuses) Increment the label uses for
6482	all labels present in rtx.
6483	(try_split) Call new function for all split insns.
6484
64852001-04-04  Jakub Jelinek  <jakub@redhat.com>
6486
6487	* recog.c (validate_replace_rtx_1): Instead of aborting just make
6488	sure the change won't be validated.
6489
6490Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
6491
6492	* rtl.h (set_noop_p): Declare.
6493	* flow.c (set_noop_p): Move from here ...
6494	* rtlanal.c (set_noop_p): ... to here and enhance.
6495	* cse.c (delete_trivially_dead_insns): Use it.
6496	* gcse.c (hash_scan_set): Likewise.
6497	* jump.c (delete_noop_moves): Likewise.
6498	* recog.c (split_all_insns): Likewise.
6499
65002001-04-04  Alan Modra  <alan@linuxcare.com.au>
6501
6502	* dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
6503	stack pointer via a LO_SUM.  Ditto for setting a temp register
6504	used to save to the stack.  Set cfa_temp when setting fp, and
6505	allow matches to cfa_temp in addition to cfa_store when saving
6506	regs.  Handle POST_INC and LO_SUM register stores.  Document the
6507	changes and errors in rule 12 doco.
6508
6509	* pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
6510	(actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
6511	(load_reg): Move closer to epilogue code.
6512	(DO_FRAME_NOTES): Define to control the following..
6513	(FRP): Define to set RTX_FRAME_RELATED_P on insns.
6514	(hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
6515	notes as necessary.
6516	(hppa_expand_epilogue): Likewise.
6517
65182001-04-03  Richard Henderson  <rth@redhat.com>
6519
6520	* configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
6521	* configure: Rebuild.
6522
65232001-04-03  Richard Henderson  <rth@redhat.com>
6524
6525	* rtl.h (LCT_THROW): New.
6526	* calls.c (emit_library_call_value_1): Handle it.
6527	* except.c (connect_post_landing_pads): Use it.
6528
65292001-04-03  Zack Weinberg  <zackw@stanford.edu>
6530
6531	* gansidecl.h: Delete file.
6532	* configure.in: Change all refs to gansidecl.h to use
6533	ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
6534	lives.
6535	* configure: Regenerate.
6536
6537	* Makefile.in (intl.o): Don't depend on gansidecl.h.
6538	* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
6539	* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
6540	Don't include gansidecl.h.
6541	* intl.c, main.c, version.c, fixinc/fixlib.h,
6542	fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
6543	gansidecl.h.
6544
6545Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
6546
6547	* i386.c (ix86_force_to_memory, ix86_free_from_memory):
6548	Update for 64bit.
6549
65502001-04-03  Zack Weinberg  <zackw@stanford.edu>
6551
6552	* config/i386/xm-beos.h, config/i386/xm-isc.h,
6553	config/i386/xm-next.h, config/i386/xm-sco.h,
6554	config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
6555	config/m88k/xm-m88k.h: Delete.
6556
6557	* config/i386/xm-djgpp.h: Don't define __MSDOS__.
6558	* config/romp/xm-romp.h: Don't define bcopy.
6559	* config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
6560	HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
6561
6562	* config.gcc: Remove references to deleted files.
6563
6564	14 xm-host.h remain, 1 xm-cpu.h.
6565
65662001-04-03  Jakub Jelinek  <jakub@redhat.com>
6567	    David S. Miller  <davem@pierdol.cobaltmicro.com>
6568	    Andrew MacLeod  <amacleod@redhat.com>
6569
6570	Use byte offsets in SUBREGs instead of words.
6571
6572	* alias.c (nonlocal_mentioned_p): Use subreg_regno function.
6573	* caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
6574	to pass new argument.
6575	(add_stored_regs): Use subreg_regno_offset function.
6576	* calls.c (expand_call): For non-paradoxical SUBREG take endianess
6577	into account.
6578	(precompute_arguments): Use gen_lowpart_SUBREG.
6579	* combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
6580	(combine_simplify_rtx): Rework to use SUBREG_BYTE.
6581	(simplify_set): Rework to use SUBREG_BYTE.
6582	(expand_field_assignment): Use SUBREG_BYTE.
6583	(make_extraction): Use SUBREG_BYTE.
6584	(if_then_else_cond): Use SUBREG_BYTE.
6585	(apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
6586	(gen_lowpart_for_combine): Compute full byte offset.
6587	* cse.c (mention_regs): Use SUBREG_BYTE.
6588	(remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
6589	(canon_hash): Use SUBREG_BYTE.
6590	(fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
6591	(gen_lowpart_if_possible): Formatting.
6592	* dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
6593	correctly.
6594	* dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
6595	(mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6596	(loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6597	* dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
6598	(output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6599	(output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6600	* emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
6601	certain invariants about SUBREGs the compiler creates.
6602	(gen_lowpart_SUBREG): New function.
6603	(subreg_hard_regno): New function to get the final register number.
6604	(gen_lowpart_common): Use SUBREG_BYTE.
6605	(gen_imagpart): Spacing nits.
6606	(subreg_realpart_p): Use SUBREG_BYTE.
6607	(gen_highpart): Use SUBREG_BYTE.
6608	(subreg_lowpart_p): Always compute endian corrected goal offset,
6609	even at the byte level, then compare against that.
6610	(constant_subword): New function, pulled out all constant cases
6611	from operand_subword and changed second argument name to offset.
6612	(operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
6613	and call constant_subword to do the work.  Return const0_rtx if
6614	looking for a word outside of OP.
6615	(operand_subword_force): Change second arg name to offset.
6616	* expmed.c (store_bit_field): Use SUBREG_BYTE.
6617	(store_split_bit_field): Use SUBREG_BYTE.
6618	(extract_bit_field): Use SUBREG_BYTE.
6619	(extract_split_bit_field): Use SUBREG_BYTE.
6620	(expand_shift): Use SUBREG_BYTE.
6621	* expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
6622	* final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
6623	* flow.c (set_noop_p): Use SUBREG_BYTE.
6624	(mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
6625	* function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
6626	(fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
6627	correction code.
6628	(optimize_bit_field): Use SUBREG_BYTE.
6629	(purge_addressof_1): Use SUBREG_BYTE.
6630	(purge_single_hard_subreg_set): Use subreg_regno_offset function.
6631	(assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
6632	actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
6633	* gengenrtl.c (special_rtx): Add SUBREG.
6634	* global.c (mark_reg_store): Use SUBREG_BYTE.
6635	(set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
6636	* ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
6637	* integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
6638	final byte offset is congruent to subreg's mode size.
6639	(subst_constants): Use SUBREG_BYTE.
6640	(mark_stores): Use subreg_regno_offset function.
6641	* jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
6642	function and SUBREG_BYTE.
6643	* local-alloc.c (combine_regs): Use subreg_regno_offset function.
6644	(reg_is_born): Use subreg_hard_regno.
6645	* recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
6646	endian correction code.  Don't combine subregs unless resulting
6647	offset aligns with type.  Fix subreg constant extraction for DImode.
6648	Simplify SUBREG of VOIDmode CONST_DOUBLE.
6649	(general_operand): Remove dead mode_altering_drug code.
6650	(indirect_operand): Use SUBREG_BYTE.
6651	(constrain_operands): Use subreg_regno_offset function.
6652	* reg-stack.c (get_true_reg): Use subreg_regno_offset function.
6653	* regmove.c (regmove_optimize): Use SUBREG_BYTE.
6654	(optimize_reg_copy_3): Use gen_lowpart_SUBREG.
6655	* regs.h (REG_SIZE): Allow target to override.
6656	(REGMODE_NATURAL_SIZE): New macro which target can override.
6657	* reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
6658	on the entire subreg rtx.
6659	(push_reload): Use SUBREG_BYTE in comments and code.
6660	(find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
6661	for hard registers inside subregs.
6662	(operands_match_p): Use subreg_regno_offset.
6663	(find_reloads): Use SUBREG_BYTE and only advance offset for subregs
6664	containing hard regs.
6665	(find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
6666	corrections when fixing up MEM subregs.
6667	(find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
6668	subreg_regno_offset where appropriate.
6669	(find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
6670	byte endian corrections when fixing up MEM subregs.
6671	(subst_reloads): When combining two subregs, make sure final
6672	offset is congruent to subreg's mode size.
6673	(find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
6674	(refers_to_regno_for_reload_p): Use subreg_regno.
6675	(reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
6676	* reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
6677	correction code for memory subreg fixups.
6678	(forget_old_reload_1): Use subreg_regno_offset.
6679	(choose_reload_regs): Use subreg_regno.
6680	(emit_input_reload_insns): Use SUBREG_BYTE.
6681	(reload_combine_note_store): Use subreg_regno_offset.
6682	(move2add_note_store): Use subreg_regno_offset.
6683	* resource.c (update_live_status, mark_referenced_resources): Use
6684	subreg_regno function.
6685	(mark_set_resources): Use subreg_regno function.
6686	* rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
6687	(subreg_regno_offset, subreg_regno): Define prototypes.
6688	(subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
6689	(gen_lowpart_SUBREG): Add prototype.
6690	* rtl.texi (subreg): Update to reflect new byte offset representation.
6691	Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
6692	* rtlanal.c (refers_to_regno_p): Use subreg_regno.
6693	(reg_overlap_mentioned_p): Use subreg_regno.
6694	(replace_regs); Make sure final offset of combined subreg is
6695	congruent to size of subreg's mode.
6696	(subreg_regno_offset): New function.
6697	(subreg_regno): New function.
6698	* sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
6699	* sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
6700	* stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
6701	* tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
6702	(SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
6703	* config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
6704	(a29k_get_reloaded_address): Use SUBREG_BYTE.
6705	(print_operand): Use SUBREG_BYTE.
6706	* config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
6707	* config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
6708	(arm_reload_out_hi): Use SUBREG_BYTE.
6709	* config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
6710	instead of SUBREG_WORD.
6711	(d30v_print_operand_memory_reference): Use subreg_regno_offset.
6712	* config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
6713	SUBREG creation to use byte offset.
6714	* config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
6715	inverted load insns): Fix explicit rtl subregs to use byte
6716	offsets.
6717	* config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
6718	udivsi3, umodsi3): Generate SUBREGs with byte offsets.
6719	* config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
6720	* config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
6721	to use byte offsets.
6722	(unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
6723	* config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
6724	offsets, also make sure it is congruent to SUBREG's mode size.
6725	(extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
6726	unnamed ldob insn): Generate SUBREGs with byte offset.
6727	(zero_extendqihi2): SUBREG's are byte offsets.
6728	* config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
6729	(m68hc11_gen_highpart): Use SUBREG_BYTE.
6730	* config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
6731	zero-extendqisi2): Generate SUBREGs with byte offset.
6732	(umulsidi3, mulsidi3, subreghi1ashrdi_const32,
6733	subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
6734	subregs in rtl to use byte offsets.
6735	* config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
6736	* config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
6737	(mips_move_2words): Use subreg_regno_offset.
6738	(mips_secondary_reload_class): Use subreg_regno_offset.
6739	* config/mips/mips.md (DImode plus, minus, move, and logical op
6740	splits): Fixup explicit subregs in rtl to use byte offsets.
6741	* config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
6742	* config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
6743	* config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
6744	rtl to use byte offsets.
6745	* config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
6746	* config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
6747	subregs to use byte offsets.
6748	* config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
6749	Fixup explicit subregs in rtl to use byte offsets.
6750	* config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
6751	and remove byte endian correction code.
6752	* config/sh/sh.c (output_movedouble): Use subreg_regno.
6753	(gen_ashift_hi): Use SUBREG_BYTE.
6754	(regs_used): Use subreg_regno_offset.
6755	(machine_dependent_reorg): Use subreg_regno_offset.
6756	* config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
6757	* config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
6758	(movdf_i4): Subregs are byte offsets now.
6759	* config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
6760	* config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
6761	(REGMODE_NATURAL_SIZE): Override.
6762	(REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
6763	* config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
6764	with byte offsets.
6765	(zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
6766	extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
6767	extendqidi2): Generate SUBREGs with byte offsets, also make sure
6768	it is congruent to SUBREG's mode size.
6769	(smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
6770	offsets.
6771	(cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
6772	cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
6773	lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
6774	SUBREG_BYTE offset for non-paradoxical subregs in patterns.
6775	* config/v850/v850.c (print_operand, output_move_double): Use
6776	subreg_regno function.
6777
67782001-04-03  Alexandre Oliva  <aoliva@redhat.com>
6779
6780	* configure.in (target_subdir): Use target_alias, not target.
6781	* configure: Rebuilt.
6782
6783	* config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
6784	other way round.
6785	* config/sh/crti.asm: Fix typos in comments.
6786
67872001-04-03  Alan Modra  <alan@linuxcare.com.au>
6788
6789	* pa.h: Revise comments for TARGET_NO_SPACE_REGS and
6790	TARGET_FAST_INDIRECT_CALLS.
6791	* pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
6792	-fPIC.  Don't warn.
6793	(return_addr_rtx): Short circuit export stub matching when
6794	TARGET_NO_SPACE_REGS.
6795	(output_millicode_call): For out of range calls, make -fPIC
6796	take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
6797	return before delay slot checks when TARGET_PORTABLE_RUNTIME.
6798	* pa.md: Modify length attr calculation of all millicode insns to
6799	match above.
6800
68012001-04-02  Geoffrey Keating  <geoffk@redhat.com>
6802
6803	* configure.in (gcc_cv_as_leb128): Correct name of cache variable.
6804	Require at least 2.11 in the version test.  Specifically check
6805	for and reject GAS version 2.10.90.
6806	* configure: regenerate.
6807
68082001-04-03  Alan Modra  <alan@linuxcare.com.au>
6809
6810	* pa.c (override_options): Remove PIC profiling warning.
6811	(hp_profile_labelno): Delete.
6812	(hp_profile_label_rtx): Delete.
6813	(hp_profile_label_name): Delete.
6814	(pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
6815	(output_function_prologue): Remove profiling code and all tests on
6816	profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
6817	merge_sp_adjust_with_store can work for PIC and profiling.
6818	(hppa_expand_epilogue): Remove profile_flag test.
6819	(hppa_can_use_return_insn_p): Likewise.
6820	(hppa_init_pic_save): Emit before tail_recursion_reentry, and
6821	cater for PROFILE_HOOK.
6822	(hppa_profile_hook): New function.
6823	* pa.h (FUNCTION_PROFILER): Now does nothing.
6824	(PROFILE_HOOK): Define.
6825	(hppa_profile_hook): Declare.
6826	(PROFILE_BEFORE_PROLOGUE): Delete.
6827	(ASM_OUTPUT_REG_PUSH): Delete.
6828	(ASM_OUTPUT_REG_POP): Delete.
6829	* pa.md (call_profiler): Turn it into a call insn, and don't `use'
6830	r24.  Accept function name operand, and use this and a locally
6831	generated label to calculate pc-rel offset to func start.
6832
68332001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6834
6835	* $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
6836	ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
6837	$(SYSTEM_H).
6838
68392001-04-03  Alan Modra  <alan@linuxcare.com.au>
6840
6841	* dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
6842	LO_SUM cases to where they belong.
6843
68442001-04-02  Richard Henderson  <rth@redhat.com>
6845
6846	* except.h (lang_eh_type_covers): Mark extern.
6847	(lang_eh_runtime_type): Likewise.
6848
68492001-04-02  Zack Weinberg  <zackw@stanford.edu>
6850
6851	* genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
6852	gengenrtl.c:  Wrap generated header in multiple-include guard.
6853	Improve error checking.
6854
68552001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6856
6857	* configure.in: Don't check for putenv.
6858	* configure: Regenerate.
6859	* gcc.c (putenv): Don't define.
6860	* vax/xm-vms.h: Handle putenv.
6861
68622001-04-02  Jakub Jelinek  <jakub@redhat.com>
6863
6864	* ifcvt.c (noce_emit_move_insn): New.
6865	(noce_try_store_flag, noce_try_store_flag_constants,
6866	noce_try_store_flag_inc, noce_try_store_flag_mask,
6867	noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
6868	noce_try_abs): Use it.
6869	(noce_process_if_block): Likewise.
6870	For STRICT_LOW_PART, take mode from its SUBREG.
6871
68722001-04-02  Jakub Jelinek  <jakub@redhat.com>
6873
6874	* fold-const.c (fold): Before optimizing unsigned comparison with
6875	0x7fffffffU, make sure arg0 is integral type.
6876
68772001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
6878
6879	* c-tree.texi: Document representation of wide strings.
6880
68812001-04-01  Richard Henderson  <rth@redhat.com>
6882
6883	* except.h (expand_builtin_dwarf_fp_regnum): Declare.
6884
6885Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
6886
6887	* i386.md: remove obsoleted comments.
6888	(adddi_?): Rename to adddi_?_rex64; disable for 32bit.
6889	(x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
6890	fix output template.
6891
68922001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
6893
6894	* config/avr/libgcc.S (__mulhi3): Optimize previous change.
6895
68962001-03-30  Bernd Schmidt  <bernds@redhat.com>
6897
6898	* loop.c (load_mems): When generating a load from a pseudo, update
6899	REGNO_LAST_UID.
6900
6901Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
6902
6903	* i386.c (ix86_split_long_move): Use change address to compensate
6904	stack pointer change in push instruction.
6905
6906Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
6907
6908	* i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
6909	instead of rtx_equal_p; fix the output template.
6910
6911Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
6912
6913	* i386.c (ix86_expand_setcc): Support 64bit.
6914	(ix86_expand_int_movcc): Likewise.
6915	* i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
6916	New patterns.
6917
6918	* i386.md (allocate_stack_worker): Turn to expander.
6919	(allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
6920
6921	* i386.c (print_reg): Do not print x86_64 style regs on IA-32
6922
69232001-03-29  Richard Henderson  <rth@redhat.com>
6924
6925	* libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
6926
69272001-03-28  Matthew Hiller  <hiller@redhat.com>
6928
6929	* config/mn10300/mn10300.md (cmpsi): Fix first alternative's
6930	output template.
6931
6932	* MAINTAINERS: Added self.
6933
69342001-03-28  Richard Henderson  <rth@redhat.com>
6935
6936	* Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
6937	Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
6938
69392001-03-28  Jim Wilson  <wilson@redhat.com>
6940
6941	* config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
6942	operand_subword.
6943
69442001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6945
6946	* toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
6947
6948	* tradcif.y (yyerror): Likewise.  Add format specifier in call to
6949	`error'.
6950
6951	* tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
6952
69532001-03-28  DJ Delorie  <dj@redhat.com>
6954
6955	* Makefile.in (stage1_build): Revert CFLAGS patch.
6956
69572001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
6958
6959	* config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
6960	when multiplier or multiplicand is zero.
6961
69622001-03-28  Bernd Schmidt  <bernds@redhat.com>
6963
6964	* cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
6965
6966	* config/ia64/ia64.c (update_set_flags): New function, broken out of
6967	rtx_needs_barrier.
6968	(set_src_needs_barrier): Likewise.
6969	(rtx_needs_barrier): For SET case, use these two functions.  Rework
6970	PARALLEL case to handle all inputs before all outputs.
6971	(emit_insn_group_barriers): Call init_insn_group_barriers only if we
6972	saw a label and no stop bit since then.
6973	(maybe_rotate, process_epilogue): Add prototypes.
6974
69752001-03-28  Richard Henderson  <rth@redhat.com>
6976
6977	* config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
6978	not TARGET_TOC for special toc restore handling.
6979	* config/rs6000/rs6000.md (eh_return): Likewise.
6980
69812001-03-28  Richard Henderson  <rth@redhat.com>
6982
6983	* config/sparc/sparc.c (eligible_for_epilogue_delay): False if
6984	current_function_calls_eh_return.
6985	(output_function_epilogue): Handle eh_return.
6986	* config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
6987	(EH_RETURN_DATA_REGNO): New.
6988	(EH_RETURN_STACKADJ_RTX): New.
6989	(EH_RETURN_HANDLER_RTX): New.
6990	* config/sparc/sparc.md (call/short branch peepholes): Check
6991	can_throw_internal instead of in_same_eh_region.
6992
6993	* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
6994	for eh_return data registers.
6995	(rs6000_emit_prologue): Save eh_return data registers.
6996	(rs6000_emit_epilogue): Force inline restores if eh_return.
6997	Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
6998	* config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
6999	(EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
7000	(EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
7001	the target uses one.
7002	* config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
7003	(return_eh_si, return_eh_di): Remove.
7004	(eh_return): New, from corpse of eh_epilogue.
7005	(eh_set_lr_si, eh_set_lr_di): New.
7006
7007	* config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
7008	(ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
7009	True for pic register if current_function_calls_eh_return.
7010	(ix86_expand_epilogue): Change "emit_return" argument into "style".
7011	Handle eh_return requirements.
7012	* config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
7013	(EH_RETURN_STACKADJ_RTX): New.
7014	* config/i386/i386.md (exception_receiver): Remove.
7015	(eh_return, eh_return_1): New.
7016	* config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
7017
7018	* config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
7019	(alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
7020	(alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
7021	* config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
7022	(EH_RETURN_DATA_REGNO): New.
7023	(EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
7024	* config/alpha/alpha.md (eh_epilogue): Remove.
7025	(exception_receiver): Use $26 for ldgp input.
7026	* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
7027
70282001-03-28  Richard Henderson  <rth@redhat.com>
7029
7030	* except.c: Rewrite entirely for IA-64 ABI exception handling.
7031	* except.h: Likewise.
7032
7033	* Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
7034	(LIB2ADDEHDEP): New.
7035	(LIB2FUNCS_EH): Remove.
7036	(LIB2ADD): Remove LIB2ADDEH.
7037	(libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
7038	(LIBGCC_DEPS): Use LIB2ADDEHDEP.
7039	(crt{begin,end}[S].o): Likewise.
7040	(except.o): Update includes.
7041	* mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
7042	(libgcc2_c_dep): Use LIB2ADDEHDEP.
7043
7044	* basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
7045	* bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
7046	* builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
7047	* builtins.c (expand_builtin): Implement it.
7048	[BUILT_IN_EH_RETURN]: Update for nr arguments change.
7049	* c-common.c (c_common_nodes_and_builtins): Declare it.
7050	* c-decl.c (init_decl_processing): Update __builtin_eh_return.
7051	* calls.c (libfunc_nothrow): Remove.
7052	(emit_library_call_value_1): Don't call it.
7053	* crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
7054	* dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
7055	(DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
7056	* dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
7057	(current_funcdef_number): Globalize.
7058	(output_call_frame_info): Emit frame data if an lsda is needed.
7059	Generate augmentation for personality routine.  Don't play with
7060	difference symbols.
7061	(dwarf2out_begin_prologue): Record funcdef_number.
7062	* dwarf2out.h (current_funcdef_number): Declare.
7063	* expr.c (expand_expr): Update for except.h name changes.
7064	Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
7065	* expr.h (LTI_throw, LTI_rethrow): Remove.
7066	(LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
7067	(LTI_eh_rtime_match): Remove.
7068	(LTI_unwind_resume, LTI_eh_personality): Add.
7069	(LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
7070	* final.c (final): Don't call check_exception_handler_labels,
7071	init_insn_eh_region, or free_insn_eh_region.
7072	(final_scan_insn): Always emit debug labels for
7073	NOTE_INSN_EH_REGION notes.
7074	* flags.h (flag_new_exceptions): Remove.
7075	* flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
7076	(record_active_eh_regions): Remove.
7077	(count_basic_blocks): Check all instructions for REG_EH_REGION.
7078	Use can_throw_internal.
7079	(find_basic_blocks_1): Likewise.
7080	(move_stray_eh_region_notes): Remove.
7081	(find_label_refs): No eh_return_stub_label.
7082	(make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
7083	(make_eh_edge): No eh_nest_info.  Update for reachable_handlers
7084	changes.
7085	(delete_unreachable_blocks): Don't track deleted handlers.
7086	(flow_delete_block): Use maybe_remove_eh_handler.
7087	(delete_eh_regions): Remove.
7088	(merge_blocks): Don't check for eh region match.
7089	(mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
7090	EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
7091	(init_propagate_block_info): Disable dead frame store optimization
7092	when current_function_calls_eh_return.
7093	(dump_bb): Don't print eh_beg, eh_end.
7094	* function.c (fixup_var_refs): No catch_clauses.
7095	(expand_function_end): Likewise.  Call expand_eh_return before
7096	the return register use.  Call sjlj_emit_function_exit_after.
7097	(expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
7098	* function.h (struct function): Add calls_eh_return, uses_eh_lsda.
7099	* ifcvt.c (dead_or_predicable): Remove eh region check.
7100	* integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
7101	Don't check for EH vs parameters.
7102	(expand_inline_function_eh_labelmap, eif_eh_map): Remove.
7103	(expand_inline_function): Call duplicate_eh_regions.
7104	(copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
7105	(copy_insn_notes): Remap REG_EH_REGION notes.
7106	(copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
7107	* integrate.h (struct inline_remap): Add local_return_label.
7108	* jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
7109	check_exception_handler_labels, nor exception_optimize.
7110	(find_cross_jump): No EH region check.
7111	* optabs.c (init_optabs): Update for changed eh libfuncs.
7112	* rtl.def (RESX): New.
7113	* rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
7114	* stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
7115	checks.  Update for except.h name changes.
7116	(expand_cleanups): Likewise.
7117	(expand_dcc_cleanup, expand_dhc_cleanup): Remove.
7118	* toplev.c (dump_file_index, dump_file): Add .02.eh dump.
7119	(compile_file): Call init_eh before init_optabs.  Don't
7120	output_exception_table here.
7121	(rest_of_compilation): Call convert_from_eh_region_ranges,
7122	convert_to_eh_region_ranges, output_function_exception_table.
7123	Don't emit_eh_context.
7124	* tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
7125	(EXC_PTR_EXPR): New.
7126
7127	* md.texi (eh_epilogue): Remove.
7128	(eh_return): Document.
7129	* tm.texi (EH_RETURN_DATA_REGNO): Document.
7130	(EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
7131
7132	* eh-common.h: Remove file.
7133	* frame-dwarf2.c, frame.c, frame.h: Remove files.
7134	* libgcc2.c (L_eh): Remove.
7135
7136	* unwind-dw2-fde.c: New file, largely copied from frame.c.
7137	* unwind-dw2-fde.h: New file.
7138	* unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
7139	* unwind-sjlj.c, unwind.h, unwind.inc: New files.
7140	* libgcc-std.ver: Update for eh symbols.
7141
71422001-03-27  Richard Henderson  <rth@redhat.com>
7143
7144	* regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
7145	reduce false positives.
7146	(regmove_optimize): Disable if flag_non_call_exceptions.
7147
7148	* stmt.c (expand_return): Remove always true predicate.
7149	(expand_decl_cleanup_no_eh): Remove dead code.
7150
7151	* sched-deps.c (sched_analyze_insn): Consolidate scheduling
7152	barrier code.  Add a scheduling barrier if a non-call insn
7153	can throw internally.
7154
7155	* rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
7156	Auto-inc addresses trap only if their base register does.
7157
7158	* except.c (can_throw_internal): Rename from can_throw.
7159	* except.h, resource.c: Update references.
7160
7161	* integrate.c (copy_insn_list): Use returnjump_p.
7162	(copy_insn_notes): Recurse for CALL_PLACEHOLDER.
7163
7164	* function.h (struct function): Move all boolean valued fields
7165	to single bit fields at the end of the struct.
7166
7167	* bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
7168	jump.c, toplev.c:
7169	Rename asynchronous_exceptions to flag_non_call_exceptions.
7170
7171	* gthr-single.h (UNUSED): New.  Distinguish between how C
7172	and C++ mark unused function arguments.  Use throughout.
7173
7174	* Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
7175	value to target configuration header.
7176	* configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
7177	* config.in, configure: Rebuild.
7178	* except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
7179	configuration and target defines.
7180	(exceptions_via_longjmp): Remove.
7181	* dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
7182	Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
7183
7184	* except.h (flag_non_call_exceptions): Move ...
7185	* flags.h: ... here.
7186
7187	* combine.c (distribute_notes) [REG_EH_REGION]: If non-call
7188	exceptions, put the note on the trapping instruction.
7189
7190	* flags.h (flag_new_exceptions): Remove.
7191	* toplev.c: Don't set it.
7192	* final.c: Don't check it.
7193	* except.c: Provide stub definition.
7194
7195	* flow.c (tidy_fallthru_edges): Don't combine complex edges.
7196	(calculate_global_regs_live): Kill call-clobbered registers
7197	across exception edges.
7198	* reg-stack.c (convert_regs_1): Kill the entire target stack
7199	across non-call exception edges.
7200
7201	* flow.c (cleanup_cfg): Take no argument.
7202	* output.h, sibcall.c, toplev.c: Update all calls.
7203
72042001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7205
7206	* configure.in: Don't check for bcopy.
7207	* configure, config.in: Regenerate.
7208
7209	* system.h: Don't define or prototype bcopy, instead poison it.
7210
72112001-03-27  Richard Henderson  <rth@redhat.com>
7212
7213	* function.c (expand_function_start): Set DECL_REGISTER on
7214	a pseudo used for DECL_RESULT.
7215
7216	* rtl.h (LCT_NORETURN): New.
7217	* calls.c (emit_library_call_value_1): Handle it.
7218
72192001-03-27  Stan Shebs  <shebs@apple.com>
7220
7221	* objc/objc-act.c (objc_init): Use dump_base_name.
7222	(gen_declaration): Clear the buffer arg.
7223	(gen_declaration_1): New function, body of gen_declaration.
7224	(adorn_decl): Call gen_declaration_1 instead of gen_declaration.
7225	(gen_method_decl): Ditto, plus always clear buffer arg.
7226	(error_with_ivar): Simplify.
7227	(warn_with_method): Ditto.
7228	(build_message_expr): Don't clear buffers.
7229	(dump_interface): Ditto.
7230	(objc_debug): Ditto.
7231	(build_keyword_selector): Clear the buffer by only zeroing
7232	the first element.
7233	(objc_implementation_context): Declare.
7234	(start_class): Warn about missing @end.
7235	(finish_objc): Ditto.
7236
72372001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7238
7239	* reload1.c (eliminate_regs): Don't abort on MEM USEs.
7240
72412001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7242
7243	* Makefile.in (SYSTEM_H): Define.
7244	Depend on $(SYSTEM_H), not system.h.
7245
7246	* objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
7247
72482001-03-27  Jim Wilson  <wilson@redhat.com>
7249
7250	* final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
7251	IA64_UNWIND_EMIT.
7252	* config/ia64/ia64.c (block_num, need_copy_state): New static vars.
7253	(process_epilogue): New static function.
7254	(process_set): Call process_epilogue instead of emitting .restore
7255	directly.
7256	(process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
7257
7258	* flow.c (struct reg_cond_life_info): New fields orig_condition
7259	and stores.
7260	(init_propagate_block_info): Set new fields.
7261	(mark_regno_cond_dead): Set and use new fields.
7262	(flush_reg_cond_reg_1): Likewise.
7263	(and_reg_cond, case AND): Check for redundant AND conditions.
7264	(mark_used_reg): Delete unnecessary clears before freeing splay trees.
7265	Set new fields.
7266
72672001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
7268
7269	* cppmacro.c (stringify_arg): Null terminate strings.
7270
72712001-03-27  Zack Weinberg  <zackw@stanford.edu>
7272
7273	* config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
7274	inclusion style.  xm-m68hc11.h no longer exists.
7275	* config/m68hc11/xm-m68hc11.h: Delete file.
7276	* config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
7277
7278	* config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
7279	Don't define GCC_VERSION, N_, or PARAMS; don't include
7280	gansidecl.h or stdio.h.  Define inhibit_libc here.
7281	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
7282	Delete code conditioned on #if GCC_VERSION == 2095.
7283
7284	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
7285	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
7286	Delete code conditioned on #if GCC_VERSION == 2095.
7287
72882001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7289
7290	* system.h: Include symcat.h.
7291	(STRINGIFY): Don't define.
7292
7293	* configure.in: Adjust comment.
7294
7295	* builtins.c: Use STRINGX, not STRINGIFY.
7296	* gencheck.c: Likewise.
7297	* gengenrtl.c: Likewise.
7298	* protoize.c: Likewise.
7299
7300	* cpplex.c: Don't include symcat.h.
7301	* cpplib.c: Likewise.
7302
7303	* gansidecl.h (HAVE_STRINGIZE): Don't define.
7304
73052001-03-27  Alan Modra  <alan@linuxcare.com.au>
7306
7307	* c-typeck.c (digest_init): Fold init expression.
7308
73092001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7310
7311	* sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
7312
73132001-03-27  Alan Modra  <alan@linuxcare.com.au>
7314
7315	* except.c (eh_regs): Save results of build_pointer_type to a temp
7316	as FUNCTION_VALUE macro may evaluate its args multiple times.
7317
73182001-03-26  Mark Mitchell  <mark@codesourcery.com>
7319
7320	* c-common.h (DECL_NUM_STMTS): New macro.
7321	* c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
7322	DECL_FRAME_SIZE.
7323	(pushdecl): Likewise.
7324	* c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
7325	* integrate.c (expand_inline_function): Don't check
7326	DECL_FRAME_SIZE.
7327	* print-tree.c (print_node): Don't print it.
7328	* toplev.c (rest_of_compilation): Don't try to inline when
7329	flag_no_inline is on.
7330	* tree.h (DECL_FRAME_SIZE): Remove.
7331	(tree_decl): Adjust accordingly.
7332
73332001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7334
7335	* combine.c (try_combine): Use memcpy, not bcopy.
7336
7337	* genattrtab.c (expand_units): Likewise.
7338
7339Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
7340
7341	* i386.md (push mem DI peep2): New.
7342	(mov 0, mov -1 peep2): Handle 64bit.
7343	(lea to arithmetics peep2): Handle 64bit leas.
7344	(rsp arithmetics to push/pop peep2s): New.
7345
7346	* i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
7347
7348Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
7349
7350	* i386.c (struct machine_function): Add save_varrargs_registers.
7351	(ix86_save_varrargs_registers): New macro.
7352	(ix86_frame_layout): Support 64bit; support red zones and varrargs area.
7353	(ix86_expand_prologue): Likewise.
7354	(ix86_emit_epilogue_esp_adjustement): Likewise.
7355	(ix86_expand_epilogue): Likewise.
7356	* i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
7357	(pro_epilogue_adjust_stack_1): New insn.
7358	(pro_epilogue_adjust_stack_rex64): Likewise.
7359	* i386.h (MASK_NO_RED_ZONE): New constant.
7360	(TARGET_RED_ZONE): New macro.
7361	(TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
7362	(RED_ZONE_SIZE): New constant.
7363	(RED_ZONE_RESERVE): New constant.
7364
73652001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7366
7367	* toplev.c (set_float_handler): Use memcpy, not bcopy.
7368
73692001-03-25  Kazu Hirata  <kazu@hxi.com>
7370
7371	* config/h8300/h8300.md (umodqi3): Output a tab instead of a
7372	space.
7373	(modqi3): Likewise.
7374	(umodhi3): Likewise.
7375	(modhi3): Likewise.
7376
73772001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7378
7379	* mkconfig.sh (DEFINES): Handle entries with '='.
7380
7381	* config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
7382	Set xm_defines to MACRO=value instead.
7383
7384	* i370/xm-mvs.h: Delete.
7385
7386	* ns32k/xm-pc532-min.h: Likewise.
7387
7388Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
7389
7390	* i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
7391	shiftdi_operand;
7392	use ix86_expand_binary_operator
7393	(?sh??i_?): Disable for 64bit.
7394	* i386.h (PREDICATE_CODES): Add shiftdi_operand.
7395	* i386.c (shiftdi_operand): New predicate.
7396
7397	* (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
7398	ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
7399	ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
7400	ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
7401	ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
7402	lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
7403	lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
7404	rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
7405	rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
7406	rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
7407	(rotldi3, rotrdi3): New expanders.
7408
7409Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
7410
7411	* i386.md (movstrsi): Move offline.
7412	(movstrdi): New.
7413	(strmovdi_rex64): New.
7414	(strmov?i): Accept 64bit.
7415	(strmov?i_rex64): New.
7416	(strmov?i_rex_1): New.
7417	(strmov?i_1): Disable for 64bit.
7418	(rep_mov?i_rex64): New.
7419	(rep_mov?i): Disable for 64bit.
7420	(clrstrsi): Move offline.
7421	(strset?i_rex64): New.
7422	(strset?i: Accept 64bit.
7423	(rep_stos?i): Disable for 64bit.
7424	(rep_stos?i_rex64): New.
7425	(strset?i_rex_1): New.
7426	(strset?i_1): Disable for 64bit.
7427	(cmpstrsi): Accept 64bit.
7428	(cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
7429	(cmpstrqi_nz_rex_1): New.
7430	(cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
7431	(strlensi): Move offline.
7432	(strlendi): New.
7433	(strlenqi_1): Disable for 64bit; fix constraints.
7434	(strlenqi_rex_1): New.
7435	* i386.c (ix86_adjust_counter): New static function.
7436	(ix86_zero_extend_to_Pmode): Likewise.
7437	(ix86_expand_aligntest): Likweise.
7438	(ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
7439	(ix86_expand_movstr): New global function.
7440	(ix86_expand_clrstr): New global function.
7441	(ix86_expand_strlen): New global function.
7442	* i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
7443	ix86_expand_strlen): Declare.
7444	(ix86_expand_strlensi_unroll_1): Delete.
7445
7446Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
7447
7448	* i386.md (cmpdi): Fix operand predicates.
7449	(cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
7450	 cmpdi_1_insn_rex64): New patterns.
7451	(adddi3): Turn to expander.
7452	(adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
7453	(addsi3_carry_zext): New pattern.
7454	(adddi_?_rex64): New patterns and splitters.
7455	(addsi_?_zext): New patterns.
7456	(subsi3_carry_zext): New pattern.
7457	(subdi_?_rex64): New patterns and splitters.
7458	(iorsi_?_zext): New patterns.
7459	(iordi_?_rex64): New patterns and splitters.
7460	(iorsi_?_zext): New patterns.
7461	(iorsi_?_zext_imm): New patterns.
7462	(xorsi_?_zext): New patterns.
7463	(xordi_?_rex64): New patterns and splitters.
7464	(xorsi_?_zext): New patterns.
7465	(negdi*): New patterns.
7466	(one_cmpldi*): Likewise.
7467	(one_cmplsi*_zext, negsi*_zext): Likewise.
7468	(testqi_ext_3_rex64): New pattern.
7469
7470Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
7471
7472	* i386-protos.h (ix86_split_long_move): Return void.
7473	* i386.c (ix86_split_to_parts): Handle 64bit target.
7474	(ix86_split_long_move): Likewise.
7475	* i386.md (all calls to ix86_split_long_move): Update.
7476
74772001-03-23  Richard Henderson  <rth@redhat.com>
7478
7479	* config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
7480	to avoid shadowing arguments.
7481
74822001-03-23  Jakub Jelinek  <jakub@redhat.com>
7483
7484	* varasm.c (make_decl_rtl): Don't append var_labelno discriminator
7485	to variable names where DECL_NAME is different from
7486	DECL_ASSEMBLER_NAME.
7487
74882001-03-23  Jim Wilson  <wilson@redhat.com>
7489
7490	* varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
7491	(assemble_alias): Call make_decl_rtl.
7492
7493Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
7494
7495	* stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
7496
74972001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
7498
7499	* extend.texi: Document the "java_interface" attribute.
7500
75012001-03-22  Zack Weinberg  <zackw@stanford.edu>
7502
7503	* mkconfig.sh: Use a subshell with redirected stdout,
7504	instead of closing stdout and confusing commands that run
7505	afterward.  Throw away output of cmp.
7506
75072001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
7508
7509	* Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
7510
7511Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
7512
7513	* i386.md (zero_extendsidi2_32): Break out from ...
7514	(zero_extendsidi2): ... here ; turn to expander.
7515	(zero_extendsidi2_rex64): New.
7516	(extendsidi2_32): Break out from ...
7517	(extendsidi2): ... here ; turn to expander.
7518	(extendsidi2_rex64): New.
7519	(zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
7520	(trunc?f?f splitters): Add 64bit versions.
7521
7522Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
7523
7524	* i386.md (pushsi, pushsi2_prologue): Disable.
7525	(pushsi2_rex64): New.
7526	(movabs?i_1_rex64, movabs?i_2_rex64): New.
7527	(movqi_ext_1): Disable for 64bit.
7528	(movqi_ext_1_rex64): New.
7529	(pushdi2_rex64): New pattern, peep2s and splitter.
7530	(pushdi2_prologue_rex64): New pattern.
7531	(popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
7532	Likewise.
7533	(movdi splitters): Disable for 64bit.
7534	(movdi_1_rex64): New pattern, peep2s and splitters.
7535	(swapdi): New pattern.
7536	(pushsf): Disable for 64bit.
7537	(pushsf_rex64): New pattern and splitter.
7538	(pushdf_nointeger): Disable for 64bit.
7539	(pushdf_integer): Handle the 64bit case.
7540	(pushtf): Likewise; update splitters.
7541
75422001-03-22  Richard Henderson  <rth@redhat.com>
7543
7544	* mkconfig.sh: Include insn-flags.h.
7545	* Makefile.in (CONFIG_H): Include insn-flags.h.
7546	(lots of objects): Remove insn-codes.h and insn-flags.h.
7547
7548	* alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
7549	integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
7550	regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
7551	avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
7552	dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
7553	i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
7554	m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
7555	mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
7556	pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
7557	v850/v850.c, vax/vax.c:
7558	Don't include insn-flags.h.
7559
7560	* diagnostic.c, expr.h, reload.c, toplev.c:
7561	Don't include insn-codes.h.
7562
7563	* builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
7564	final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
7565	c4x/c4x.c, i960/i960.c, mips/mips.c:
7566	Don't include insn-codes.h or insn-flags.h.
7567
7568	* genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
7569	or insn-flags.h in the generated code.
7570	* genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
7571	(main): Forward declare struct rtx_def.
7572
75732001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
7574
7575	* invoke.texi (-ffast-math): Remove duplicate line about
7576	__FAST_MATH__.
7577
7578	* gcc.texi: Remove more obsolete documentation of bugs and
7579	installation problems.
7580
75812001-03-21  Kazu Hirata  <kazu@hxi.com>
7582
7583	* config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
7584	into two parts.
7585
75862001-03-20  Jason Merrill  <jason@redhat.com>
7587
7588	* collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
7589	not '.' or '$'.
7590	* tree.c (FILE_FUNCTION_FORMAT): Likewise.
7591	* varasm.c (CHKR_PREFIX): Likewise.
7592
7593Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7594
7595	* gcse.c (hash_scan_set): An expression is not anticipatible if it
7596	is part of a multi-SET insn.
7597
7598	* cse.c (find_comparison_args): Remove previous change.
7599	* ifcvt.c (noce_process_if_block): When moving an insn, remove any
7600	REG_EQUAL notes.
7601
7602	* config/i386/i386.md (conditional_trap): Remove warning.
7603
7604	* recog.c (push_operand): Fix error in last change that caused
7605	undefined symbol on many targets.
7606
7607	* sdbout.c: #include ggc.h.
7608	(sdbout_init): Move to end of file.
7609	Call ggc_add_tree_root for anonymous_types.
7610	(sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
7611	(sdbout_one_type): Use DECL_NAME for field name.
7612	* Makefile.in (sdbout.o): Show includes ggc.h.
7613
7614Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
7615
7616	* i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
7617	(override_options): Use properlimits for preferred_stack_boundary.
7618	(ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
7619	on x86_64.
7620	(ext_register_operand): Accept DImode.
7621	(load_pic_register): Abort on 64bit.
7622	(gen_push): Use Pmode instead of SImode.
7623	(ix86_save_reg): Pic reg is never used on 64bit.
7624	(ix86_expand_prologue): Likewise.
7625	(ix86_emit_save_regs): Use Pmode instead of SImode.
7626	(legitimate_address_p): Check displacement for 64bit.
7627	(print_operand): Avoid outputting of (%rip) on 64bit.
7628	(print_operand_address): Output (%rip) where possible.
7629	(split_di): Abort on 64bit registers.
7630	(ix86_expand_branch): DImode comparison is simple for x86_64.
7631	(memory_address_length): Recognize memory addresses formed using
7632	PRE/POST modify.
7633	(ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
7634	for x86_64.
7635	* i386.h (TARGET_USE_SAHF): Disable for 64bit.
7636
7637Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
7638
7639	* recog.c (push_operand): Recognize new format of push instructions.
7640
7641Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
7642
7643	* i386.md (pushqi1): New.
7644	* i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
7645	x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
7646	x86_64_immediate_operand, x86_64_immediate_operand,
7647	x86_64_zext_immediate_operand): Declare.
7648	* i386.c (x86_64_general_operand, x86_64_szext_general_operand,
7649	x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
7650	x86_64_immediate_operand, x86_64_immediate_operand,
7651	x86_64_zext_immediate_operand): define.
7652	* i386.h (PREDICATE_CODES): Add new predicates.
7653
7654Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7655
7656	* i386.md (pophi1, popqi1, pushqi1): Remove.
7657
7658	* expr.c (emit_single_push_insn): New function.
7659	(move_by_pieces): Accept NULL as destination for push instructions.
7660	(gen_push_operand): Kill.
7661	(emit_push_insn): Pass NULL when pushing; avoid updating of
7662	stack_pointer_delta.
7663	* expr.h (gen_push_operand): Kill.
7664
7665Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7666
7667	* rtl.texi (COMPARE): Clarify documentation and reference section
7668	on comparisons.
7669
76702001-03-20  Stan Shebs  <shebs@apple.com>
7671
7672	* objc/objc-act.c (get_static_reference): Use NULL_TREE.
7673	(get_object_reference): Ditto.
7674	(error_with_ivar): Use error_with_file_and_line.
7675	(warn_with_method): Use warning_with_file_and_line.
7676
76772001-03-20  Tom Tromey  <tromey@redhat.com>
7678
7679	* libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
7680
76812001-03-20  Mark Mitchell  <mark@codesourcery.com>
7682
7683	* tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
7684	variables that are TREE_PUBLIC, even if not TREE_STATIC.
7685
76862001-03-20  DJ Delorie  <dj@redhat.com>
7687
7688	* Makefile.in (install-libgcc): Pass complete list of variables.
7689	(install-multilib): Ditto.
7690
76912001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
7692
7693	* config/i386/cygwin.h: Declare ctor_section, dtor_section
7694	drectve_section, switch_to_section.
7695
7696	* winnt.c: Declare functions associated_type, gen_stdcall_suffix,
7697	i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
7698	i386_pe_mark_dllimport.
7699
77002001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
7701
7702	* config/i386/cygwin.h: Include <stdio.h> Declare and constify
7703	functions i386_pe_*.
7704
7705	* config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
7706	i386_pe_* functions with char * arguments.
7707
77082001-03-20  Alexandre Oliva  <aoliva@redhat.com>
7709
7710	* config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
7711	and store.
7712	(movsi_ie): Introduce fpul store.
7713
77142001-03-20  Alan Modra  <alan@linuxcare.com.au>
7715
7716	* Makefile.in (OBJS): Remove hashtab.o.
7717
77182001-03-19  Stan Shebs  <shebs@apple.com>
7719
7720	* objc/objc-act.c (maybe_objc_method_name): Remove, never called.
7721	* c-lang.c (maybe_objc_method_name): Ditto.
7722	* c-tree.h (maybe_objc_method_name): Remove decl.
7723
77242001-03-19  Tom Tromey  <tromey@redhat.com>
7725
7726	* gcc.c (init_gcc_specs): Fix comment.
7727
77282001-03-19  Mark Mitchell  <mark@codesourcery.com>
7729
7730	Compute DECL_ASSEMBLER_NAME lazily.
7731	* tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
7732	(DECL_ASSEMBLER_NAME_SET_P): New macro.
7733	(SET_DECL_ASSEMBLER_NAME): Likewise.
7734	(COPY_DECL_ASSEMBLER_NAME): Likewise.
7735	(set_decl_assembler_name): Declare.
7736	(lang_set_decl_assembler_name): Likewise.
7737	* tree.c (lang_set_decl_assembler_name): New variab.e
7738	(set_decl_assembler_name): New function.
7739	(init_obstacks): Set lang_set_decl_assembler_name.
7740	(build_decl): Don't set DECL_ASSEMBLER_NAME.
7741	* c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
7742	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
7743	where it's not necessary.
7744	(builtin_function): Likewise.
7745	(finish_decl): Likewise.
7746	* dbxout.c (dbxout_type_methods): Likewise.
7747	* ggc-common.c (ggc_mark_trees): Likewise.
7748	* profile.c (output_func_start_profiler): Likewise.
7749	* varasm.c (make_decl_rtl): Likewise.
7750
7751	* cse.c (find_comparison_args): Update documentation.  Fix
7752	mishandling of COMPARE operations.
7753
7754	* tree.def (ABS_EXPR): Add documentation.
7755	* fold-const.c (fold): Improve folding of ABS_EXPRs.
7756
77572001-03-19  Zack Weinberg  <zackw@stanford.edu>
7758
7759	* Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
7760
77612001-03-19  Jakub Jelinek  <jakub@redhat.com>
7762
7763	* crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
7764	Remove ia32 linux PIC kludge and move it...
7765	* config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
7766
7767Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
7768
7769	* i386.md (absdf2 expander): Fix 64bit case.
7770
77712001-03-19  Brad Lucier  <lucier@math.purdue.edu>
7772
7773	* Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
7774
77752001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
7776
7777	* config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
7778
77792001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7780
7781	* README.X11: Remove obsolete file.
7782
77832001-03-18  Anthony Green  <green@redhat.com>
7784
7785	* config/pj/pj.h: Remove some trailing commas.
7786	(ASM_SPEC): Use -EB and -EL, not -mb and -ml.
7787
77882001-03-18  Richard Henderson  <rth@redhat.com>
7789
7790	* defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
7791	* calls.c: ... here.
7792	* combine.c, expr.c, final.c, function.c toplev.c: Don't provide
7793	defaults for them here.
7794
77952001-03-17  Anthony Green  <green@redhat.com>
7796
7797	* config/pj/lib1funcs.S: Fix broken comment.
7798	* config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
7799	labels with '.'.
7800
78012001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
7802
7803	* gcc.texi: Remove obsolete information relating to build and
7804	installation problems with enquire or the Pyramid C compiler.
7805
78062001-03-17  Richard Henderson  <rth@redhat.com>
7807
7808	* dwarf2out.c (queue_reg_save): New.
7809	(flush_queued_reg_saves, clobbers_queued_reg_save): New.
7810	(dwarf2out_frame_debug_expr): Call queue_reg_save instead of
7811	dwarf2out_reg_save.
7812	(dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
7813	(cfa, cfa_store, cfa_temp): Make static.
7814	* final.c (final_scan_insn): Always call dwarf2out_frame_debug.
7815
78162001-03-17  Richard Henderson  <rth@redhat.com>
7817
7818	* integrate.h (struct inline_remap): Add local_return_label.
7819	* integrate.c (expand_inline_function): Initialize it and emit
7820	it after copy_insn_notes.
7821	(copy_insn_list): Don't store local_return_label here.
7822	(copy_insn_notes): New function split out from copy_insn_list.
7823
78242001-03-17  Richard Henderson  <rth@redhat.com>
7825
7826	* dwarf2out.c (lookup_filename): Emit .file if the assembler
7827	is generating .debug_line.
7828	(dwarf2out_init): Add main_input_filename to the file table first.
7829	* configure.in (as_dwarf2_debug_line): Test with file number 1
7830	instead of file number 0.
7831
7832Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7833
7834	* combine.c (undobuf): Remove field previous_undos; all refs deleted.
7835	(gen_rtx_combine): Deleted; all references changed as appropriate.
7836	(gen_unary): Deleted; all refs changed to call simplify_gen_unary.
7837
7838	* print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
7839
78402001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
7841
7842	* config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
7843	variable.
7844
78452001-03-16  Jim Wilson  <wilson@redhat.com>
7846
7847	* config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
7848	then set it to LOC_REG (79) instead of aborting.
7849
78502001-03-16  Phil Edwards  <pme@sources.redhat.com>
7851
7852	* gccbug.in:  Remove high priority.
7853
78542001-03-16  Richard Henerson  <rth@redhat.com>
7855
7856	* aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
7857	output with a space instead of deleting it.
7858	* configure: Regenerate.
7859
78602001-03-16  Zack Weinberg  <zackw@stanford.edu>
7861
7862	* aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
7863	handles the gory details of converting an object file into
7864	something that's safe to grep.
7865	(gcc_AC_C_COMPILE_BIGENDIAN): Rename to
7866	gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
7867	newlines at either end of the string we're looking for.
7868	Make 'checking ...' message less stilted.
7869	(gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
7870	ARM in-memory layout and its hypothetical converse.  Don't
7871	define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
7872	HOST_WORDS_BIG_ENDIAN.
7873
7874	* configure.in: Adjust for renamed macro.  Move
7875	gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
7876	* configure, config.in: Regenerate.
7877
78782001-03-16  Laurynas Biveinis  <lauras@softhome.net>
7879
7880	* fixinc/Makefile.in: Set SHELL.
7881
78822001-03-16  Laurynas Biveinis  <lauras@softhome.net>
7883
7884	* fixinc/fixincl.c (fix_with_system): Quote file names before
7885	passing them to shell.
7886
78872001-03-16  Laurynas Biveinis  <lauras@softhome.net>
7888
7889	* Makefile.in: Use fix-header$(build_exeext) instead
7890	of fix-header.
7891
78922001-03-16  Richard Henderson  <rth@redhat.com>
7893
7894	* dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
7895	(LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
7896	(size_of_line_prolog): Remove.
7897	(output_line_info): Compute prologue size via label difference.
7898	(lookup_filename): Return "unspecified" for <internal> and <built-in>.
7899
7900	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
7901	assembler error when redefining file numbers.
7902	* config.in, configure: Rebuild.
7903
7904	* dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
7905	(dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
7906	(dw2_asm_output_delta_uleb128): Likewise.
7907	(dw2_asm_output_delta_sleb128): Similarly.
7908	(dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
7909
79102001-03-16  Michael Meissner  <meissner@redhat.com>
7911
7912	* mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
7913	warnings.
7914	(BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
7915	warnings.
7916	(BITMASK_LOWER16): Replacement for 0x0000ffff.
7917
7918	* mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
7919	instead of 0xffff0000/0x0000ffff to avoid warnings about constants
7920	being unsigned in ISO C and signed in traditional.
7921	(expand_prologue): Ditto.
7922	(RA_MASK): Use BITMASK_HIGH to avoid warnings.
7923
7924	* mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
7925	warnings.
7926	(divsi3,divdi3): Ditto.
7927	(modsi3,moddi3): Ditto.
7928	(fix_truncdfsi2,fix_truncdfdi2): Ditto.
7929	(fix_truncsfsi2,fix_truncsfdi2): Ditto.
7930	(movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
7931	warnings.
7932
7933Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
7934
7935	* i386.c (ix86_expand_fp_movcc): Do not attempt to construct
7936	SSE based conditional moves on LTGT/UNEQ conditions;
7937	Canonicalize EQ to NE.
7938	* i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
7939	(sse_mov?fcc_ne): New.
7940
7941	* i386-protos.h (sign_extended_value, zero_extended_value): Declare.
7942
79432001-03-16  Alexandre Oliva  <aoliva@redhat.com>
7944
7945	* config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
7946	register may be dead.
7947
79482001-03-16  Brad Lucier  <lucier@math.purdue.edu>
7949
7950	* Makefile.in (hash.o): Depend on CONFIG_H.
7951
79522001-03-15  Mark Mitchell  <mark@codesourcery.com>
7953
7954	* dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
7955
79562001-03-15  Richard Henderson  <rth@redhat.com>
7957
7958	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
7959	(ASM_OUTPUT_DWARF_PCREL): New.
7960	* config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
7961
79622001-03-16  Alexandre Oliva  <aoliva@redhat.com>
7963
7964	* cppfiles.c (stack_include_file): Use MAX of sysp.
7965
79662001-03-15  Steve Ellcey  <sje@cup.hp.com>
7967
7968	* config.gcc (ia64*-*-hpux*): New case.
7969	* config/ia64/hpux.h: New file for HP-UX support.
7970	* config/ia64/t-hpux: New file for HP-UX support.
7971
79722001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
7973
7974	* fixinc/inclhack.def (irix_stdio_va_list): New.
7975	* fixinc/fixincl.x: Rebuilt.
7976
79772001-03-15  Richard Henderson  <rth@redhat.com>
7978
7979	* dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
7980	if provided by the target.
7981	(dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
7982	(dw2_asm_output_addr): New.
7983	* dwarf2asm.h (dw2_asm_output_addr): Declare.
7984	* dwarf2out.c (output_cfi): Use it for program addresses.
7985	(output_call_frame_info, output_die): Likewise.
7986	(output_aranges, output_line_info): Likewise.
7987
79882001-03-15  Bruce Korb  <bkorb@gnu.org>
7989
7990	* gcc.c(main): make more rigorous
7991	* collect2.c(main): guard against ignoring SIGCHLD
7992	* protoize.c(main): ditto
7993	* gcc/fixinc/fixincl.c(initialize): ditto
7994
79952001-03-15  Mark Mitchell  <mark@codesourcery.com>
7996
7997	* sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
7998	(sdbout_parms): Likewise.
7999
8000Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
8001
8002	* reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
8003	"widen" a destination that is already wider than a word.  Also do
8004	not widen if LOAD_EXTEND_OP is NIL for the given mode.
8005
80062001-03-15  Bernd Schmidt  <bernds@redhat.com>
8007
8008	* config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
8009
8010Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
8011
8012	* i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
8013
8014Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
8015
8016	* i960.h (i960_maxbitalignment,
8017	i960_last_maxbitalignment): Declare.
8018	* i960.c (i960_maxbitalignment,
8019	i960_last_maxbitalignment): Make global.
8020	(process_pragma): Delete.
8021	(i960_pr_align, i960_pr_noalign): Move from here ...
8022	* i960-c.c: ... to this new file.
8023	* t-960bare (i960-c.o): New rule.
8024	* t-vxworks960 (i960-c.o): Likewise.
8025	* config.gcc (i960-*-*): Define c_target_objs and
8026	cxx_target_objs.
8027
80282001-03-15  Bernd Schmidt  <bernds@redhat.com>
8029
8030	* cselib.c (hash_rtx): For REG and MEM, just use value of expression
8031	without adding in rtx code and mode.
8032
8033	* alias.c (init_alias_analysis): Don't use any rtx whose value
8034	varies as a known value.
8035	Delete a superfluous test.
8036
8037	* config/ia64/ia64.c (maybe_rotate): New function, broken out of
8038	ia64_sched_reorder.
8039	(ia64_sched_reorder): Call maybe_rotate; also rotate after
8040	scheduling a stop bit.
8041	(ia64_emit_nops): Correctly handle ASMs.
8042
80432001-03-15  Mark Mitchell  <mark@codesourcery.com>
8044
8045	* varasm.c (assemble_variable): Use DECL_RTL_SET_P.
8046
80472001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8048
8049	* cpp.texi: Update documentation for -include and -imacros.
8050	* cppfiles.c (struct include_file): Remove "defined" memeber.
8051	(find_or_create_entry): Make a copy of the file name, and
8052	simplify it.
8053	(open_file): Update to ensure we use the simplified filename.
8054	(stack_include_file): Don't set search_from.
8055	(cpp_included): Don't simplify the path name here.
8056	(find_include_file): New prototype.  Call search_from to
8057	get the start of the "" include chain.  Don't simplify the
8058	filenames here.
8059	(_cpp_execute_include): New prototype.  Move diagnostics to
8060	do_include_common.  Update.
8061	(_cpp_pop_file_buffer): Don't set defined.
8062	(search_from): New prototype.  Use the preprocessor's cwd
8063	for files included from the command line.
8064	(read_name_map): Don't simplify the pathname here.
8065	* cpphash.h (enum include_type): New.
8066	(struct buffer): Delete search from.  New search_cached.
8067	(_cpp_execute_include): Update prototype.
8068	* cppinit.c (do_includes): Use _cpp_execute_include.
8069	* cpplib.c (do_include_common): New function.
8070	(do_include, do_include_next, do_import): Use it.
8071
80722001-03-14  Mark Mitchell  <mark@codesourcery.com>
8073
8074	* varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
8075	contents of the RTL, to determine the name of the object.
8076
80772001-03-14  Mark Mitchell  <mark@codesourcery.com>
8078
8079	* tree.h (DECL_RTL): Allocate RTL lazily.
8080	(SET_DECL_RTL): New macro.
8081	(DECL_RTL_SET_P): Likewise.
8082	(COPY_DECL_RTL): Likewise.
8083	(DECL_RTL_IF_SET): Likewise.
8084	* varasm.c (make_decl_rtl): Add assertions about the kind of
8085	declaration we are processing.
8086	* c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
8087	(start_decl): Likewise.
8088	(finish_decl): Likewise.
8089	* c-semantics.c (emit_local_var): Likewise.
8090	* calls.c (expand_call): Likewise.
8091	* dbxout.c (dbxout_symbol): Likewise.
8092	* emit-rtl.c (unshare_all_rtl): Likewise.
8093	(unshare_all_decls): Likewise.
8094	(reset_used_decls): Likewise.
8095	* expr.c (store_constructor): Likewise.
8096	(safe_from_p): Likewise.
8097	(expand_expr): Likewise.
8098	* function.c (put_var_into_stack): Likewise.
8099	(instantiate_decls_1): Likewise.
8100	(assign_parms): Likewise.
8101	(expand_function_start): Likewise.
8102	(expand_function_end): Likewise.
8103	* ggc-common.c (gcc_mark_trees): Likewise.
8104	* integrate.c (function_cannot_inline_p): Likewise.
8105	(copy_decl_for_inlining): Likewise.
8106	(expand_inline_function): Likewise.
8107	(integrate_parm_decls): Likewise.
8108	(integrate_decl_tree): Likewise.
8109	* print-tree.c (print_node): Likewise.
8110	* reg-stack.c (stack_result): Likewise.
8111	* stmt.c (label_rtx): Likewise.
8112	(expand_return): Likewise.
8113	(expand_decl): Likewise.
8114	(expand_decl_cleanup): Likewise.
8115	(expand_anon_union_decl): Likewise.
8116	* toplev.c (check_global_declarations): Likewise.
8117	(rest_of_decl_compilation): Likewise.
8118	* tree.c (simple_cst_equal): Likewise.
8119	* objc/objc-act.c (generate_static_references): Likewise.
8120
81212001-03-14  Zack Weinberg  <zackw@stanford.edu>
8122
8123	* aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
8124	gcc_AC_C_FLOAT_FORMAT): New macros.
8125	* configure.in: Add AC_PROG_CPP after CC tests;
8126	gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
8127	tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
8128	* configure, config.in: Regenerate.
8129
8130	* config/a29k/xm-a29k.h, config/arc/xm-arc.h,
8131	config/arm/xm-arm.h, config/c4x/xm-c4x.h,
8132	config/convex/xm-convex.h, config/d30v/xm-d30v.h,
8133	config/i370/xm-linux.h, config/i370/xm-oe.h,
8134	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
8135	config/m68k/xm-m68k.h, config/mips/xm-mips.h,
8136	config/pa/xm-linux.h, config/pa/xm-pa.h,
8137	config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
8138	config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
8139	config/sparc/xm-sparc.h, config/vax/xm-vax.h,
8140	config/we32k/xm-we32k.h: Delete.
8141
8142	* config/i370/xm-mvs.h, config/m88k/m88k.h,
8143	config/romp/xm-romp.h, config/rs6000/xm-beos.h,
8144	config/vax/xm-vms.h: Don't define any of:
8145	HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
8146
8147	* config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
8148
8149	* config.gcc: Remove references to deleted files.
8150	(i370-*-opened*): Use i370/xm-mvs.h (which now defines only
8151	FATAL_EXIT_CODE, which is the same between oe and mvs).
8152
81532001-03-14  DJ Delorie  <dj@redhat.com>
8154	    Vladimir Makarov  <vmakarov@redhat.com>
8155
8156	* config/i960/i960.c (i960_function_prologue): Compute size of
8157	frame according to number of registers actually saved there.
8158
81592001-03-14  Richard Henderson  <rth@redhat.com>
8160
8161	* expr.c (emit_move_insn_1): Fix else if around #endif.
8162
8163Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
8164			      Vojtech Pavlik
8165
8166	* md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
8167	constraints.
8168
8169Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
8170
8171	* i386.c (ix86_cmodel_string, ix86_cmodel): Define.
8172	(override_options): Parse cmodel string.
8173	(x86_64_sign_extended_value, x86_64_zero_extended_value): New.
8174	* i386.h (TARGET_OPTIONS): Add "cmodel".
8175	(EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
8176	(enum cmodel): New.
8177	(ix86_cmodel_string, ix86_cmodel): Declare.
8178
8179Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
8180
8181	Spot by Matt Kraai:
8182	* i386.h (GENERAL_REG_P): Add missing REG_P.
8183
81842001-03-14  Laurynas Biveinis  <lauras@softhome.net>
8185
8186	* configure.in: Use $gcc_cv_as instead of $as.
8187	* configure: Regenerated.
8188
81892001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8190
8191	* cppfiles.c (stack_include_file): Only increase the include
8192	count if we actually process the file properly, as opposed
8193	to treating it as length zero.  Only call read_include_file
8194	if not DO_NOT_REREAD.  Handle the -H include file output
8195	here.
8196	(read_include_file): Remove now redundant DO_NOT_REREAD check.
8197	(cpp_included, find_include_file): Simplify pathnames after
8198	remapping them.  If remapping, don't use the remapped file
8199	name's buffer as our scratch buffer.
8200	(cpp_pop_file_buffer): Replace the multiple include macro
8201	only if it isn't yet set.
8202	(read_name_map): Simplify remapped names when reading in.
8203	(remap_filename): Move code to code path that uses it.
8204	(_cpp_simplify_pathname): Return the input pointer.
8205	* cpphash.h (_cpp_simplify_pathname): Update prototype.
8206
82072001-03-14  Mark Mitchell  <mark@codesourcery.com>
8208
8209	* expr.c (expand_expr): Revove bogus conditional.
8210
8211Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
8212
8213	* expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
8214
82152001-03-14  Jakub Jelinek  <jakub@redhat.com>
8216
8217	* reg-stack.c (stack_result): Unconditionally use
8218	FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
8219
8220Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
8221
8222	* expr.c (emit_move_insn_1):  Split push of complex value when
8223	no suitable push instruction exist.
8224
8225	* i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
8226	instead of QI_REG_P.
8227
8228Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8229
8230	* alias.c (handled_component_p, can_address_p): New functions.
8231	(get_alias_set): Use them.
8232
82332001-03-13  Jim Wilson  <wilson@redhat.com>
8234
8235	* config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
8236	from 80 in try_locals code.
8237	(ia64_expand_prologue): Add comment pointing to find_gr_spill change.
8238
82392001-03-13  Zack Weinberg  <zackw@stanford.edu>
8240
8241	* aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
8242	gcc_AC_C_LONG_LONG): New.
8243	* configure.in: Use them.  Probe the size of short, int, long,
8244	and long long/__int64 if we have them.  Move all the AC_C_*
8245	checks together, except gcc_AC_C_CHAR_BIT which has to go
8246	after AC_CHECK_HEADERS(limits.h).
8247	Take hwint.h out of host_xm_file and build_xm_file.
8248
8249	* hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
8250	HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
8251	and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
8252	Move the HOST_WIDEST_INT setup logic here from system.h.
8253	Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
8254	defined.
8255	* system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
8256	is now handled by hwint.h.
8257
8258	* config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
8259	config/c4x/xm-c4x.h, config/i370/xm-oe.h,
8260	config/ia64/xm-ia64.h: Don't define any of:
8261	HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
8262	HOST_BITS_PER_LONGLONG.
8263
8264	* config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
8265	config/h8300/xm-h8300.h, config/mips/iris6.h,
8266	config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
8267	config/sparc/xm-sp64.h: Delete.
8268	* config.gcc: Remove references to deleted files.
8269
8270	* config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
8271	HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
8272	* config/i370/xm-linux.h: Clarify floating-point situation in
8273	a comment.
8274
82752001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8276
8277	* cppfiles.c (NO_INCLUDE_PATH): New macro.
8278	(find_include_file): Decide here which part of the include
8279	chain to start the search.  Complain about an empty include
8280	chain in all cases apart from an abolsute file name.
8281	(_cpp_execute_include): Don't choose the search chain here.
8282	Don't call handle_missing_include in the case of an empty
8283	include chain.
8284	(_cpp_compare_file_date): Don't choose the search chain here.
8285	* cpplib.c (do_include_next): Move the in-main-file diagnostic
8286	here from _cpp_execute_include.  Behave like #include if
8287	we're in the main file.
8288
82892001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8290
8291	* system.h (malloc, realloc, calloc, strdup): Only poison these
8292	tokens when IN_GCC is defined.
8293
8294Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
8295
8296	* i386.md (abs?f expander): Support SSE case.
8297	(abd?f_if): Add new "USE"; add splitters.
8298
82992001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8300
8301	* cpp.texi (poison): Explain the macro expansion exception.
8302
83032001-03-13  Jakub Jelinek  <jakub@redhat.com>
8304
8305	* expr.c (store_expr): Add dont_store_target.  If temp is already in
8306	target before copying to reg, don't store it into target again.
8307
83082001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8309
8310	* cppinternals.texi: Update for file handling.
8311
83122001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
8313
8314	* emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
8315	2001-02-24 which broke building the Java library.
8316	* function.c (identify_blocks): Likewise.
8317	(all_blocks): Likewise.
8318	* integrate.c (integrate_decl_tree): Likewise.
8319	* print-tree.c (print_node): Likewise.
8320	* tree.h (BLOCK_NUMBER): Likewise.
8321	(struct tree_block): Likewise.
8322
83232001-03-12  David Edelsohn  <edelsohn@gnu.org>
8324
8325	* rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
8326	__WCHAR_TYPE__ definition.
8327	(WCHAR_TYPE_SIZE): #undef before #define.
8328
83292001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8330
8331	* cppfiles.c: Update comments.
8332	(destroy_include_file_node): Rename destroy_node.
8333	(find_or_create_entry): New function.
8334	(open_file, _cpp_fake_include): Use it.
8335	(handle_missing_header): New function, broken out of
8336	_cpp_execute include.  Don't segfault if there is no
8337	system or quoted path.
8338	(_cpp_execute_include): Use handle_missing_header.
8339
83402001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
8341
8342	* jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
8343	2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
8344
8345Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8346
8347	* flow.c (insn_dead_p): Don't consider two memrefs equivalent
8348	unless anti_dependence says they are.
8349	* alias.c (objects_must_conflict): If neither has a type specified,
8350	they must conflict.
8351
83522001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8353	    David Billinghurst <David.Billinghurst@riotinto.com>
8354
8355	* config/mips/iris5.h:  Change WCHAR_TYPE to int.
8356
8357Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
8358
8359	* i386.md (trunctfdf2_2): Rename missnamed pattern.
8360	(*_one_bit): Remove type on the match_operand in attributes.
8361
8362Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
8363
8364	* i386.c: Commit forgotten hunk in previous patch.
8365	(regclass_map): Add extended registers.
8366	(dbx_register_map): Add missing frame register.
8367
8368Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
8369
8370	* i386.md (all XFmode patterns except swapxf): Disable for 64bit.
8371
8372	* i386.md (x86_sahf_1): Disable for 64bit.
8373	(popsi*, pophi*): Likewise.
8374	(pushqi, pushhi): Likewise.
8375	(movdi, pushdi): Likewise.
8376	(zero extend DImode splitter): Likewise.
8377	(adddi, minusdi splitter): Likewise.
8378	(umulsidi): Likewise.
8379	(umulsi): New.
8380	(mulsidi): Disable for 64bit
8381	(lshift:DI/ashift:DI): Disable for 64bit.
8382	(loop patterns): Likewise.
8383	(call_pop, call_value_pop expanders and patterns): Likewise.
8384	(prologue_get_pc): Likewise.
8385	(leave): Likewise.
8386	(fcmovDI pattern and splitter): Likewise.
8387	(movdfcc_1_rex64): New.
8388
8389Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
8390
8391	* i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
8392	(MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
8393	(HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
8394	(STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
8395	(PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
8396	(LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
8397	(SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
8398	(PUSH_ROUNDING): x86_64 rounds to 64bits.
8399	(CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
8400	(REGPARM_MAX): Set to 6 for x86_64.
8401	(SSE_REGPARM_MAX): Set to 16 for x86_64.
8402	* i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
8403	registers.
8404
8405	* (patterns that does use upper halves): Update constraints
8406	'q' to 'Q' and 'r' to 'R'.
8407	(cmpqi_ext_1): Disable for 64bit.
8408	(cmpqi_ext_3_insn): Likewise.
8409	(movqi_extzv_1): Likewsie.
8410	(addqi_ext_1): Liekwsie
8411	(testqi_ext_1): Liekwsie
8412	(andqi_ext_1): Liekwsie
8413	(xorqi_ext_1): Liekwsie
8414	(cmpqi_ext_1_rex64): New.
8415	(cmpqi_ext_3_insn_rex64): Likewise.
8416	(movqi_extzv_1_rex64): Likewsie.
8417	(addqi_ext_1_rex64): Liekwsie
8418	(testqi_ext_1_rex64): Liekwsie
8419	(andqi_ext_1_rex64): Liekwsie
8420	(xorqi_ext_1_rex64): Liekwsie
8421
84222001-03-11  Zack Weinberg  <zackw@stanford.edu>
8423
8424	* configure.in: Move check for unsigned enumerated bitfields
8425	to macro in aclocal.m4.  Disable it for now.
8426	* configure, config.in: Regenerate.
8427	* system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
8428	unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
8429	* varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
8430	kind above its first use.
8431
8432	* config/xm-interix.h, config/alpha/xm-alpha.h,
8433	config/i370/xm-linux.h, config/i386/xm-beos.h,
8434	config/i386/xm-mingw32.h, config/mips/xm-mips.h,
8435	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8436	config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
8437	Don't define ONLY_INT_FIELDS under any circumstances.
8438
8439	* config/pa/xm-pa.h: Don't define __BSD_NET2__.
8440
8441	* config/pa/xm-pahpux.h, config/pa/xm-papro.h,
8442	config/sparc/xm-sysv4.h: Delete - now identical with some
8443	other xm header.
8444	* config.gcc (hppa targets): Replace xm-pahpux.h and
8445	xm-papro.h with implicit xm-pa.h.
8446	(sparc targets): Replace xm-sysv4.h with implicit or explicit
8447	xm-sparc.h.
8448
84492001-03-12  Aldy Hernandez  <aldyh@redhat.com>
8450
8451	* reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
8452	before reload_cse_noop_set_p.
8453
84542001-03-11  Zack Weinberg  <zackw@stanford.edu>
8455
8456	* config.gcc: Where xm-host.h used to include another
8457	xm-host.h, list the nested header directly in xm_file.  Remove
8458	references to deleted files.  Can now use sparc/xm-sp64.h for
8459	sparcv9-*-solaris*.
8460
8461	* config/xm-linux.h, config/arm/xm-linux.h,
8462	config/i386/xm-dos.h, config/i386/xm-gnu.h,
8463	config/i386/xm-linux.h, config/i386/xm-openbsd.h,
8464	config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
8465	config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
8466	config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
8467	Delete.
8468
8469	* config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
8470	* config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
8471	bother to wrap #undef in #ifdef.
8472	* config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
8473	Don't include xm-linux.h.
8474	* config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
8475
8476	* configure.in: Wrap regexps using [] in changequote block.
8477	Use expr : not echo | grep.  Simplify regexps.
8478	* configure: Regenerate.
8479
8480	56 xm-files remain, 22 xm-arch.
8481
84822001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8483
8484	* mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
8485	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
8486	(local_index, local_rindex): Delete, use strchr/strrchr instead.
8487	(copy_object): Fix format specifier vs argument mismatch.
8488
8489	* mips-tdump.c: Make local functions static.
8490	(rindex): Don't #undef.
8491	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
8492	(fatal, fancy_abort): Delete.
8493	(read_seek): Avoid signed/unsigned compare.
8494
8495Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8496
8497	* combine.c (try_combine): Fix error in change to try original
8498	register.
8499	(gen_rtx_combine): Do same as gen_rtx for now.
8500
85012001-03-11  Zack Weinberg  <zackw@stanford.edu>
8502
8503	* configure.in: AC_SUBST xm_defines.
8504	* configure: Regenerate.
8505	* Makefile.in: Set DEFINES=$(xm_defines) when building
8506	tconfig.h.
8507
85082001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8509
8510	* cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
8511	(cpp_included, find_include_file): Update.
8512	(_cpp_compare_file_date): Make else unconditional.
8513
85142001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
8515
8516	* config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
8517
85182001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
8519
8520	* config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
8521	* config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
8522
8523Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
8524
8525	* tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
8526	if it's a record type.
8527
8528Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
8529
8530	* config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
8531	mingw includes slightly.
8532
85332001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8534
8535	* system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
8536	#undef token before poisoning it.
8537
85382001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8539
8540	* alpha.c (check_float_value): Use memcpy, not bcopy.
8541
8542	* m32r.c (m32r_sched_reorder): Likewise.
8543
8544	* vax.c (check_float_value): Likewise.
8545
85462001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
8547
8548	* toplev.c (file_name_nondirectory): Remove.
8549	* toplev.h: Similarly.
8550	* dwarf2out.c (compute_section_prefix): Use lbasename instead
8551	of file_name_nondirectory.
8552
8553Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8554
8555	* mips-tdump.c (read_seek): Call xmalloc, not malloc.
8556	* mips-tfile.c: Don't #undef rindex; not used.
8557
8558Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
8559
8560	* i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
8561	(dbx64_register_map): Declare.
8562	(RETURN_ADDR_RTX): Fix for 64bit.
8563	(DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
8564	(INCOMING_FRAME_SP_OFFSET): Set to 8.
8565	* i386.c (dbx64_register_map): New global array.
8566	* beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
8567	linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
8568	for 64bits.
8569
85702001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
8571
8572	* cppfiles.c (search_from): Use lbasename.
8573	* mkdeps.c (deps_add_default_target): Use lbasename.
8574
85752001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8576
8577	* fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
8578	xcalloc in lieu of malloc, realloc & calloc.
8579
8580	* gencheck.c (xmalloc): Use really_call_malloc, not malloc.
8581
8582	* gengenrtl.c (xmalloc): Likewise.
8583
8584	* gensupport.c (xcalloc, xrealloc, xmalloc): Use the
8585	really_call_* memory allocation routines.
8586
8587	* stmt.c (check_for_full_enumeration_handling): Use
8588	really_call_calloc, not calloc.
8589
8590	* system.h (really_call_malloc, really_call_calloc,
8591	really_call_realloc): Define.
8592	(malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
8593
8594Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
8595
8596	* pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
8597
85982001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
8599
8600	* configure: Rebuilt.
8601	* configure.in: Only use `lang_requires' for languages athat are
8602	actually enabled.
8603
86042001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8605
8606	* invoke.texi: Fix typo.
8607	* gcc.1: Regenerate.
8608
86092001-03-09  Zack Weinberg  <zackw@stanford.edu>
8610
8611	* configure.in: Prune nonexistent files from build_xm_file,
8612	xm_file, and host_xm_file lists.  Warn unless they're
8613	$cpu/xm-$cpu.h.
8614	Don't generate *config.h here.
8615	AC_SUBST all variables needed to generate *config.h.
8616	* configure: Regenerate.
8617	* mkconfig.sh: New helper script, from code removed from
8618	configure.in.
8619	* Makefile.in: Zap all MALLOC variables - no longer used
8620	anywhere, and malloc.c doesn't exist.
8621	Substitute in variables needed to generate *config.h.
8622	Stop lying about the dependencies contained in CONFIG_H and
8623	GCONFIG_H.
8624	(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
8625	(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
8626	cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
8627	(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
8628	$(TM_P_H), etc. as appropriate.
8629
8630	* config.gcc: Zap references to deleted files.
8631	* ggc-none.c: Don't include rtl.h or tm_p.h.
8632
8633	* config/i386/xm-beos.h, config/i386/xm-dgux.h,
8634	config/i386/xm-djgpp.h, config/i386/xm-dos.h,
8635	config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
8636	config/i386/xm-linux.h, config/i386/xm-linux.h,
8637	config/i386/xm-next.h, config/i386/xm-openbsd.h,
8638	config/i386/xm-sun.h, config/i386/xm-sysv3.h:
8639	Don't include i386/xm-i386.h.
8640
8641	* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
8642	config/i386/xm-i386.h, config/i860/xm-i860.h,
8643	config/i960/xm-i960.h, config/mcore/xm-mcore.h,
8644	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8645	config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
8646	Delete (empty except comments, #includes of other deleted
8647	files, and macros used nowhere).
8648
8649Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
8650
8651	* i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
8652	independent on TARGET_FLAGS.
8653
8654Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
8655
8656	* i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
8657
8658	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
8659	extended ones.
8660	(CONDITIONAL_REGISTER_USAGE): Set proper values according to
8661	TARGET_64BIT.
8662	(FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
8663	LAST_REX_SSE_REG): define.
8664	(enum reg_class): Add 'LEGACY_REGS'
8665	(REG_CLASS_CONTENTS): Likewise; add extended registers.
8666	(SSE_REGNO_P): Recognize extended registers.
8667	(ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
8668	(REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
8669	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
8670	REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
8671	(REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
8672	 REG_OK_FOR_STRREG_P): Remove.
8673	(HI_REGISTER_NAMES): Add extended registers.
8674	(ADDITIONAL_REGISTER_NAMES): Likewise.
8675	(QI_REGISTER_NAMES): Add 8bit extended registers.
8676	(DEBUG_REG): Support extended registers.
8677	* i386.c (regclass_map): Add extended registers.
8678	(dbx_register-map): Likewise.
8679	(svr4_dbx_register_map): Likewise.
8680	(print_reg): Support extended registers.
8681	(print_operand): Support 64bit operands.
8682
8683Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
8684
8685	* i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
8686	(BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
8687	 FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
8688	 DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
8689	(BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
8690	 STACK_BOUNDARY): Set properly for 64bits.
8691	(MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
8692	(EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
8693	(BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
8694	(MOVE_MAX): Set to 16.
8695	(MOVE_MAX_PIECES): 8 for 64bit.
8696	(Pmode): Set to SImode.
8697
8698Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
8699
8700	* cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
8701
8702Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
8703
8704	* i386.h (mask_64bit): New constant.
8705	(target_64bit): New macro.
8706	(target_options): Add '64'/'32'
8707	(target_default): Define.
8708	* cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
8709	isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
8710	unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
8711
8712Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
8713
8714	* config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
8715
8716Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
8717
8718	* rtlanal.c (rtx_varies_p): Check operand 0 of a
8719	LO_SUM unless for_alias is set.
8720
87212001-03-08  Stan Shebs  <shebs@apple.com>
8722
8723	* objc/objc-act.c: Fix old typos in comments, add comments for
8724	various functions.
8725	(hash_init): Fix file name in error message.
8726	(hash_enter): Ditto.
8727	(hash_add_attr): Ditto.
8728	(continue_class): Ditto.
8729
87302001-03-08  Bruce Korb  <bkorb@gnu.org>
8731
8732	gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
8733	wait4() can receive the signal.
8734
8735Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8736
8737	* fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
8738	entities.
8739	* fixinc/fixincl.x: Regenerate.
8740
8741Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8742
8743	* fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
8744	on Tru64 UNIX.
8745	* fixinc/fixincl.x: Regenerate.
8746
87472001-03-08  Richard Henderson  <rth@redhat.com>
8748
8749	* configure.in (HAVE_AS_LEB128): New assembler check.
8750	* configure, config.in: Rebuilt.
8751
8752Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
8753
8754	* reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
8755	TFmode too.
8756
87572001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8758
8759	* config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
8760	references to the MAXPATHLEN macro.
8761
8762	* config/alpha/xm-alpha.h, config/arm/xm-arm.h,
8763	config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
8764	the POSIX macro.
8765
8766	* config/i386/xm-gnu.h, config/xm-gnu.h,
8767	config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
8768	config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
8769	config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
8770	and/or unused files.
8771
8772	* config.gcc: Define POSIX in xm_defines as appropriate in lieu of
8773	doing so in various xm-*.h files.
8774
8775Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8776
8777	* config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
8778
87792001-03-08  Alexandre Oliva  <aoliva@redhat.com>
8780
8781	* configure.in (enable_shared): Support per-package shared-library
8782	enabling.
8783	* configure: Rebuilt.
8784
87852001-03-07  David Edelsohn  <edelsohn@gnu.org>
8786
8787	* rs6000.md (cr logic): Add original POWER mnemonic alternative
8788	for crnot.  Set operands[5] in splitter.
8789
87902001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8791
8792	* config/i370/xm-mvs.h, config/i370/xm-oe.h,
8793	config/i386/xm-beos.h, config/i386/xm-mingw32.h,
8794	config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
8795	config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
8796	config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
8797	config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
8798	config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
8799	to the USG macro.
8800
8801	* config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
8802	config/i370/xm-i370.h, config/i386/xm-dgux.h,
8803	config/i386/xm-sun.h, config/i386/xm-sysv3.h,
8804	config/m68k/xm-tower.h, config/m68k/xm-aux.h,
8805	config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
8806	config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
8807	config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
8808	config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
8809	config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
8810	config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
8811	Delete unused and/or empty files.
8812
8813	* config.gcc: Define USG in xm_defines as appropriate.  Define
8814	POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
8815	macro.  Remove deleted xm-* files from $xm_files variable.
8816
88172001-03-07  Tom Tromey  <tromey@redhat.com>
8818
8819	* configure: Rebuilt.
8820	* configure.in: Allow config-lang.in to set `lang_requires' to list
8821	of other required languages.
8822
88232001-03-07  Andrew MacLeod  <amacleod@redhat.com>
8824
8825	* config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
8826	after its emitted.
8827	(output_prologue): Use xmalloc not oballoc.
8828	(output_epilog): Free a29k_first_epilogue_insn when finished.
8829	* confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
8830
88312001-03-07  Brad Lucier  <lucier@math.purdue.edu>
8832
8833	* builtins.c (expand_builtin_mathfn): Check
8834	flag_unsafe_math_optimizations, not flag_fast_math.
8835	(expand_builtin): Likewise
8836	* combine.c (combine_simplify_rtx): Likewise.
8837	(simplify_if_then_else): Likewise.
8838	* cse.c (fold_rtx): Likewise.
8839	* flags.h: Remove flag_fast_math.  Add
8840	flag_unsafe_math_optimizations and flag_trapping_math.
8841	* fold-const.c (negate_expr): Check
8842	flag_unsafe_math_optimizations, not flag_fast_math.
8843	(invert_truthvalue): Likewise.
8844	(fold): Likewise.  Before associating operands, check that
8845	code == MULT_EXPR, not code != MULT_EXPR.
8846	* ifcvt.c (noce_try_minmax): Check
8847	flag_unsafe_math_optimizations, not flag_fast_math.
8848	(noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
8849	* invoke.texi: Document -funsafe-math-optimizations and
8850	-fno-trapping-math.  Change documentation for -ffast-math.
8851	* jump.c (reversed_comparison_code_parts): Likewise.
8852	(rtx_equal_for_thread_p): Likewise.
8853	* optabs.c (emit_conditional_move): Likewise.
8854	* simplify-rtx.c (simplify_binary_operation): Likewise.
8855	(simplify_relational_operation): Likewise.
8856	(simplify_ternary_operation): Likewise.
8857	* toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
8858	flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
8859	Add trapping-math and unsafe-math-optimizations entries to f_options.
8860	(set_fast_math_flags): New, sets flags for -ffast-math.
8861	(set_no_fast_math_flags): New, sets flags for -fno-fast-math.
8862	(decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
8863	* toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
8864
8865	* config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
8866	(alpha_emit_conditional_move): Initialize local_fast_math to
8867	flag_unsafe_math_optimizations, not flat_fast_math.
8868	* config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
8869	instead of setting flag_fast_math to 1.
8870	* config/convex/convex.md: Check flag_unsafe_math_optimizations,
8871	not flag_fast_math.
8872	* config/i386/i386.c (override_options): Likewise
8873	* config/i386/i386.md: Likewise.
8874	* config/m68k/m68k.md: Likewise.
8875	* config/mips/mips.md: Likewise.
8876	* config/rs6000/rs6000.c (validate_condition_mode): Likewise.
8877	(rs6000_generate_compare): Likewise.
8878
88792001-03-07  Laurynas Biveinis  <lauras@softhome.net>
8880
8881	* Makefile.in: Set RANLIB to @RANLIB@.
8882	Remove RANLIB_TEST.
8883
88842001-03-07  Laurynas Biveinis  <lauras@softhome.net>
8885
8886	* fixinc/inclhack.def (djgpp_wchar_h): New test.
8887	* fixinc/fixincl.x: Regenerated.
8888
88892001-03-07  Richard Henderson  <rth@redhat.com>
8890
8891	* config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
8892
88932001-03-07  Richard Henderson  <rth@redhat.com>
8894
8895	* emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
8896	of block notes and exception handling notes.
8897
8898	* lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
8899	* toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
8900	(compile_file): ... here.
8901
89022001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8903
8904	* fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
8905
8906	* fixinc/gnu-regex.c: Don't include auto-host.h since we get
8907	config.h now.  Include libiberty.h to handle alloca.
8908
89092001-03-06  Zack Weinberg  <zackw@stanford.edu>
8910
8911	* c-parse.in (yylexname): New function, split out of _yylex.
8912	(objc_rid_sans_at): New table.
8913	(init_reswords): Initialize it.
8914	(_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
8915	retrieving the next token and checking it for significance as
8916	an ObjC keyword or string constant.
8917
8918	* cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
8919	* cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
8920
8921	* c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
8922	to CPP_OSTRING.
8923
89242001-03-06  Stephen L Moshier  <moshier@mediaone.net>
8925
8926	* config/m68k/m68k.c (const_uint32_operand): Accept any
8927	const_int on a 32-bit host.
8928
89292001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
8930
8931	* objc/objc-act.c (init_objc): Set save_lang_status,
8932	restore_lang_status, and mark_lang_status.
8933
89342001-03-06  Krister Walfridsson  <cato@df.lth.se>
8935
8936	* dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
8937
89382001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8939
8940	* cppinternals.texi: Update.
8941
89422001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8943
8944	* config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
8945	config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
8946	config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
8947	config/convex/xm-convex.h, config/d30v/xm-d30v.h,
8948	config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
8949	config/h8300/xm-h8300.h, config/i370/xm-i370.h,
8950	config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
8951	config/i386/xm-i386.h, config/i860/xm-i860.h,
8952	config/i960/xm-i960.h, config/ia64/xm-ia64.h,
8953	config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
8954	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8955	config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
8956	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8957	config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8958	config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
8959	config/romp/xm-romp.h, config/rs6000/xm-beos.h,
8960	config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
8961	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8962	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8963	config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
8964	config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
8965	match the defaults provided in hwint.h.
8966
8967	* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
8968	config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
8969
8970	* config.gcc (xm_file): Don't set to files which are deleted.
8971
8972	* hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
8973	guard this file against these macros being undefined.
8974
89752001-03-06  Zack Weinberg  <zackw@stanford.edu>
8976
8977	* objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
8978	and DECL_DEFER_OUTPUT on the decl we create, before calling
8979	rest_of_decl_compilation.
8980
89812001-03-06  Zack Weinberg  <zackw@stanford.edu>
8982
8983	* aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
8984	AC_FUNC_ALLOCA.
8985	* configure, config.in: Regenerate.
8986	* config.gcc: Remove references to deleted files.
8987
8988	* genattr.c, genattrtab.c, genextract.c, genoutput.c,
8989	genrecog.c, rtl.c: Do not use alloca anywhere.
8990
8991	* Makefile.in, build-make, system.h, config/x-interix,
8992	config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
8993	config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
8994	config/arc/xm-arc.h, config/arm/xm-arm.h,
8995	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8996	config/h8300/xm-h8300.h, config/i370/x-oe,
8997	config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
8998	config/i386/x-ncr3000, config/i386/x-sco5,
8999	config/i386/xm-dgux.h, config/i860/x-sysv4,
9000	config/i960/xm-i960.h, config/m32r/xm-m32r.h,
9001	config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
9002	config/m68k/x-hp320g, config/m69k/x-mot3300,
9003	config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
9004	config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
9005	config/m68k/xm-mot3300.h, config/m88k/x-dolph,
9006	config/m88k/x-sysv4, config/m88k/x-tekXD88,
9007	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
9008	config/mips/x-iris, config/mips/x-iris3,
9009	config/mips/x-sni-svr4, config/mips/x-sysv,
9010	config/mips/xm-iris6.h, config/mips/xm-mips.h,
9011	config/mips/xm-nws3250v4.h, config/pa/x-hpux,
9012	config/pa/x-pa-mpeix, config/pa/xm-pa.h,
9013	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
9014	config/pa/xm-papro.h, config/romp/xm-romp.h,
9015	config/rs6000/x-aix31, config/rs6000/x-aix41,
9016	config/rs6000/x-beos, config/rs6000/x-lynx,
9017	config/rs6000/x-mach, config/rs6000/x-rs6000,
9018	config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
9019	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
9020	config/sparc/x-sysv4, config/sparc/xm-linux.h,
9021	config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
9022	config/vax/xm-vms.h: Eradicate all references to alloca and
9023	related stuff.
9024
9025	* config/xm-alloca.h, config/clipper/x-clix,
9026	config/i386/xm-sysv4.h, config/i860/x-fx2800,
9027	config/i860/x-sysv3, config/m88k/x-sysv3,
9028	config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
9029	(contained only alloca related hacks).
9030
9031	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
9032	USE_C_ALLOCA.
9033
90342001-03-05  Brad Lucier  <lucier@math.purdue.edu>
9035
9036	* invoke.texi: Document __FAST_MATH__.
9037
90382001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9039
9040	* crtstuff.c: Restore include of auto-host.h.
9041
90422001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
9043
9044	Put main() in a separate file, so that the language
9045	front-end can use a different main().
9046
9047	* main.c: New.
9048	* toplev.c: (main): Rename as toplev_main.
9049	* toplev.h: Declare toplev_main.
9050	* Makefile.in (OBJS): add toplev.o.
9051	  (BACKEND): remove toplev.o, add main.o.
9052
90532001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9054
9055	* cppfiles.c (search_from): Special case the empty string.
9056
90572001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9058
9059	* cppfiles.c (_cpp_execute_include): Don't make a null-terminated
9060	copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
9061	strlen or strcpy; we already know the length.
9062	(_cpp_compare_file_date): Similarly.
9063	* cpphash.h (struct cpp_reader): Delete done_initialising.
9064	(CPP_PREV_BUFFER): Delete.
9065	* cppinit.c (cpp_start_read): Don't set done_initialising.
9066	* cpplex.c (parse_string): Guarantee null-termination.
9067	(_cpp_equiv_toklists): Remove.
9068	* cpplib.c (glue_header_name): Null-terminate.
9069	(do_line): Don't leak memory.
9070	* cpplib.h (BT_WEAK): Delete.
9071	* cppmain.c (cb_ident): Strings are now null-terminated.
9072
90732001-03-04  Laurynas Biveinis  <lauras@softhome.net>
9074
9075	* gcc.c (convert_filename): Append executable suffix
9076	if NO_AUTO_EXE_SUFFIX is not defined.
9077	* gcc.texi: Document NO_AUTO_EXE_SUFFIX.
9078	* config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
9079
90802001-03-03  David O'Brien  <obrien@FreeBSD.org>
9081
9082	from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
9083	* c-parse.gperf, c-gperf.h: Delete.
9084	(c-gperf.h was accidently re-added to the CVS repo in the rev
9085	1.16 commit by tromey)
9086
90872001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9088
9089	* cpplex.c (_cpp_lex_token): Don't warn about directives in
9090	macro arguments when looking for the '('.
9091	* cppmacro.c (funlike_invocation_p): Set parsing_args to
9092	2 when really parsing arguments; 1 when looking for '('.
9093	Always restore the lexer position.
9094
90952001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9096
9097	* longlong.h (umul_ppmm): Don't use a multiline string.
9098
90992001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9100
9101	* fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
9102	* fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
9103	t_bool in declaration because pcc can't combine volatile with typedef
9104	types.
9105
9106Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
9107
9108	* i386.c (ix86_expand_fp_compare): Delay creating of scratch register
9109	until when it is really needed.
9110	(ix86_expand_compare): Update call of ix86_expand_fp_compare.
9111	* i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
9112	* i386.md (float?i?f splitter): Don't force source operand to memory
9113	for SSE.
9114	(sse_movdfcc): Fix constraint.
9115	(sse_movdfcc splitter): Handle properly the second alternative.
9116
91172001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9118
9119	* cpplex.c (parse_string): Unconditionally pedwarn.
9120
91212001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9122
9123	* cpp.texi: Update.
9124	* cppexp.c (parse_number): Update.
9125	* cpplex.c (parse_string): Pedwarn if multiline string does not
9126	result from a system header's macro.
9127	* cpplib.h (sys_objmacro_p): Rename sys_macro_p.
9128	* cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
9129	for function-like macros too.
9130	* c-lex.c (lex_number): Update.
9131
91322001-03-03  Richard Henderson  <rth@redhat.com>
9133
9134	* dwarf2out.c (output_call_frame_info): Fix augmentation length.
9135
9136Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
9137
9138	* combine.c (try_combine): If split with mode-changed scratch
9139	register didn't work, try the original mode.
9140
9141Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
9142
9143	* tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
9144	* config/c4x/c4x.h: Likewise.
9145	* stor-layout.c (compute_record_mode): Likewise.
9146	(layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
9147
91482001-03-02  Zack Weinberg  <zackw@stanford.edu>
9149
9150	* configure.in: Kill tm.h.  Include the files in the $tm_file
9151	list in all three of config.h, hconfig.h, tconfig.h, after the
9152	relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
9153	three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
9154	* configure: Regenerate.
9155	* Makefile.in (clean): Don't delete tm.h.
9156
9157	* system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
9158	defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
9159	those are not defined, set SEC and FEC to 0 and 1.
9160	* gcc.texi: Update to match.
9161
9162	* crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
9163	* config/fp-bit.c, config/m68k/aux-crt2.asm,
9164	config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
9165	Include tconfig.h, not tm.h.
9166
9167	* config/xm-lynx.h, config/xm-std32.h,
9168	config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
9169	config/alpha/xm-alpha.h, config/arc/xm-arc.h,
9170	config/avr/xm-avr.h, config/c4x/xm-c4x.h,
9171	config/clipper/xm-clix.h, config/convex/xm-convex.h,
9172	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
9173	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
9174	config/h8300/xm-h8300.h, config/i370/xm-linux.h,
9175	config/i386/xm-i386.h, config/i860/xm-i860.h,
9176	config/i960/xm-i960.h, config/ia64/xm-ia64.h,
9177	config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
9178	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
9179	config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
9180	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
9181	config/pa/xm-linux.h, config/pa/xm-pa.h,
9182	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
9183	config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
9184	config/pj/xm-pj.h, config/romp/xm-romp.h,
9185	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
9186	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
9187	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
9188	config/v850/xm-v850.h, config/vax/xm-vax.h,
9189	config/we32k/xm-we32k.h:
9190	Don't include tm.h.
9191	Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
9192
9193	* config/i370/xm-i370.h, config/i370/xm-mvs.h,
9194	config/i370/xm-oe.h: Don't include tm.h.  Don't define
9195	SUCCESS_EXIT_CODE.
9196	* config/vax/xm-vms.h: Don't include tm.h.
9197
9198	* config/xm-lynx.h, config/avr/xm-avr.h,
9199	config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
9200	Delete; made empty by above changes.
9201	* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
9202	config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
9203	Don't include config/xm-lynx.h or tm.h.
9204
9205	* config/xm-gnu.h: Don't include fcntl.h.
9206	* config/sparc/xm-lynx.h: Don't include sys/types.h and
9207	sys/wait.h.
9208	* config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
9209
92102001-03-02  Richard Henderson  <rth@redhat.com>
9211
9212	* tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
9213	UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
9214
92152001-03-02  Richard Henderson  <rth@redhat.com>
9216
9217	* Makefile.in (OBJS): Add dwarf2asm.o.
9218	* dwarf2asm.c, dwarf2asm.h: New files.
9219	* dwarf2out.c (*): Use them.
9220	(size_of_uleb128, size_of_sleb128): Remove.
9221	(output_uleb128, output_sleb128): Remove.
9222	(UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
9223	(UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
9224	(UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
9225	(FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
9226	(ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
9227	(ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
9228	(ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
9229	(ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
9230	(ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
9231	(ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
9232	(ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
9233	(ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
9234	(ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
9235	(dwarf2out_frame_debug): Remove unused variables.
9236	(output_loc_operands): Don't abort on 8 byte constants if
9237	host integers are wide enough.
9238	(output_symbolic_ref): Remove.
9239	(size_of_die): Don't assume 4 byte host integers.
9240	(output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
9241	and end labels.
9242	(add_const_value_attribute) [CONST_INT]: Verify we're not doing
9243	something stupid with HOST_WIDE_INT to long truncation.
9244	[CONST_DOUBLE]: Likewise.
9245
9246	* config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
9247	(ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
9248	* config/arm/unknown-elf.h: Likewise.
9249	* config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
9250	(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
9251	(ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
9252	(ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
9253	(ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
9254	(ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
9255	(ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
9256	(ASM_OUTPUT_DWARF_OFFSET): Remove.
9257	* config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
9258	* config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9259	(UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
9260	(ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
9261
92622001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9263
9264	* cselib.c (hash_rtx): Cast enums to unsigned int.
9265
92662001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9267
9268	* print-rtl.c (print_rtx): Cast enums to int for comparison.
9269	* c-decl.c (grokdeclarator): Cast enums to int for comparison and
9270	shifts.
9271	* c-format.c (C_STD_VER): Cast to int for comparisons.
9272	(check_function_format): Cast various enums to int for &.
9273	(maybe_read_dollar_number): Likewise.
9274	(check_format_info): Likewise.
9275	(check_format_info_main): Likewise.
9276	* expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
9277	(safe_from_p): Likewise.
9278	* varasm.c (const_hash): Cast enum to int for %.
9279	* emit-rtl.c (init_emit_once): Use int loop variable to work around
9280	pcc enum problems with < and ++ operators.
9281	* regclass.c (init_reg_sets_1): Cast enums for comparison.
9282	(choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
9283	(regclass_init): Change enum class to int to iterate over reg_classes.
9284	* genrecog.c (merge_trees): Cast enums for comparison.
9285	* rtl.h (GET_CODE): Cast to enum rtx_code.
9286	(PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
9287	(GET_MODE): Cast to enum machine_mode.
9288	(PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
9289	(GET_NOTE_INSN_NAME): Cast enum to int.
9290	* tree.h (TREE_CODE): Cast to enum tree_code.
9291	(TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
9292	* timevar.c (timevar_print): Change loop variable id from enum to
9293	unsigned int.
9294	* fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
9295	* config/i386/i386.md: Use PUT_MODE for mode assignment.
9296	* toplev.c (compile_file): Cast enum DFI to int.
9297	(decode_d_option): Likewise.
9298
9299Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
9300
9301	* cppinit.c (append_include_chain): Mark "after" include file name list
9302	as a system directory.
9303	* cpp.texi: Document new behavior.
9304
9305Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
9306
9307	* ifcvt.c (noce_operand_ok): Handle properly unarry operations.
9308
93092001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9310
9311	* cppfiles.c (struct include_file): Update.
9312	(stack_include_file): Use search_from.
9313	(cpp_included, find_include_file): Update.
9314	(cpp_execute_include): Update.  ptr->name may not be
9315	null terminated.  Use the new search_from member variable
9316	of cpp_buffer.
9317	(_cpp_compare_file_date): Similarly.
9318	(search_from): New function, similar to actual_directory.
9319	(actual_directory): Delete.
9320	(remap_filename): Update.  loc->name may not be null terminated.
9321	(struct file_name_list): Rename search_path.  Update.
9322	* cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
9323	search_from and dir.
9324	(struct cpp_reader): Remove actual_dirs.
9325	* cppinit.c (struct cpp_pending): Update for renamed objects.
9326	(append_include_chain, remove_dup_dir, remove_dup_dirs,
9327	merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
9328	* cpplib.h (struct cpp_options): Similarly.
9329
93302001-03-01  Zack Weinberg  <zackw@stanford.edu>
9331
9332	* config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
9333	config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
9334	config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
9335	config/clipper/xm-clix.h, config/convex/xm-convex.h,
9336	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
9337	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
9338	config/h8300/xm-h8300.h, config/i370/xm-i370.h,
9339	config/i370/xm-linux.h, config/i370/xm-mvs.h,
9340	config/i370/xm-oe.h, config/i386/xm-aix.h,
9341	config/i386/xm-i386.h, config/i386/xm-osf.h,
9342	config/i860/xm-i860.h, config/i960/xm-i960.h,
9343	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
9344	config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
9345	config/mcore/xm-mcore.h, config/mips/xm-mips.h,
9346	config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
9347	config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
9348	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
9349	config/pa/xm-pahpux.h, config/pa/xm-papro.h,
9350	config/pj/xm-pj.h, config/romp/xm-romp.h,
9351	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
9352	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
9353	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
9354	config/v850/xm-v850.h, config/vax/xm-vax.h,
9355	config/vax/xm-vms.h, config/we32k/xm-we32k.h:
9356	Do not define TRUE or FALSE.
9357
9358	* config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
9359	empty by above change.
9360	* config.gcc: Remove references to these files.
9361
9362	* configure.in: Detect stdbool.h.
9363	* configure, config.in: Regenerate.
9364	* system.h: Include stddef.h here if available.
9365	Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
9366	Then set up a sensible boolean type at the very end.
9367
9368	* combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
9369	config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
9370
9371	* hash.h: Delete 'boolean' typedef and related #undefs.
9372
9373	* function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
9374	all uses of 'boolean' with 'bool'.
9375
93762001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9377
9378	* cpplib.c (_cpp_init_stacks): Cast enum for comparison.
9379	* cppexp.c (lex): Cast enums for comparison.
9380	* cppinit.c (parse_option): Cast enum for comparison.
9381	* cpplex.c (cpp_spell_token): Cast enums to int for minus.
9382	(cpp_output_token): Likewise.
9383	(cpp_can_paste): Cast enums for comparsion and plus/minus.
9384	(cpp_avoid_paste): Cast enums for minus and comparison.
9385
93862001-03-01  Zack Weinberg  <zackw@stanford.edu>
9387
9388	* gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
9389	field to all array elements.
9390
93912001-03-01  Zack Weinberg  <zackw@stanford.edu>
9392
9393	* cpphash.h (struct cpp_reader): Add print_version field.
9394	* cppinit.c (cpp_handle_option): For -v, -version, and --version,
9395	just set print_version and other flags as appropriate.
9396	(cpp_post_options): Print version here if print_version is set.
9397
9398	* toplev.c (exit_after_options): New flag.
9399	(independent_decode_option): Don't exit here; just set
9400	exit_after_options.
9401	(main): Exit after calling lang_hooks.post_options if
9402	exit_after_options is true.
9403
9404	* cppinit.c (append_include_chain): Drop never-used case QUOTE.
9405	(merge_include_chains): Adjust comment to match code.
9406
94072001-03-01  Zack Weinberg  <zackw@stanford.edu>
9408
9409	* stringpool.c (set_identifier): New function.
9410	* tree.h: Prototype it.
9411
9412	* c-parse.in: Kill D_YES. If compiled for objc, call
9413	save_and_forget_protocol_qualifiers from init_reswords.
9414	* objc/objc-act.c (remember_protocol_qualifiers,
9415	forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
9416	Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
9417	vice versa.
9418	(save_and_forget_protocol_qualifiers): New function.
9419	* c-lex.h: Prototype save_and_forget_protocol_qualifiers.
9420
94212001-03-01  Diego Novillo  <dnovillo@redhat.com>
9422
9423	* c-semantics.c (prune_unused_decls): Return error_mark_node
9424	instead of (tree) 1 to stop traversing the tree chain.
9425
94262001-03-01  Bernd Schmidt  <bernds@redhat.com>
9427
9428	Fix a problem introduced by Kenner's Feb 18 change.
9429	* toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
9430	flag_cse_skip_blocks only temporarily, not for ever.
9431
9432Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
9433
9434	* config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
9435	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
9436
9437	* pa.c (emit_move_sequence): Verify operand0 is a hard register
9438	before determining its register class.
9439
94402001-03-01  Bernd Schmidt  <bernds@redhat.com>
9441
9442	* config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
9443	from reg 4 if current_function_calls_setjmp.
9444	(gen_nop_type): New function.
9445	(ia64_emit_nops): New function.
9446	(ia64_reorg): Call it.
9447	(ia64_sched_reorder): Move code that rotates bundles up a bit.
9448
9449	* reload1.c (eliminate_regs_in_insn): Restrict the special case
9450	code not to try to optimize adds with anything but a REG destination.
9451
9452	* sched-int.h (struct haifa_insn_data): Add new member priority_known.
9453	(INSN_PRIORITY_KNOWN): New accessor macro.
9454	* haifa-sched.c (priority): Use it instead of testing priority against
9455	zero.
9456
94572001-02-28  DJ Delorie  <dj@redhat.com>
9458
9459	* config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
9460	since that doesn't work the way gcc wants on a generic m68k.
9461
94622001-02-28  Richard Henderson  <rth@redhat.com>
9463
9464	* caller-save.c (save_call_clobbered_regs): Fix typo in
9465	comparison last change.
9466
9467Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9468
9469	* i386.c (pentium4_cost): New.
9470	(m_PENT4): New macro.
9471	(x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
9472	x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
9473	x86_integer_DFmode_moves, x86_partial_reg_dependency,
9474	x86_memory_mismatch_stall): Add Pentium4
9475	(x86_use_q_reg, x86_use_any_reg): Kill.
9476	(override_options): Add pentium4.
9477	(incdec_operand): Return 0 for pentium4.
9478	(ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
9479	* i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
9480	(TARGET_PENTIUM4): Define.
9481	(enum processor_type): Add PROCESSOR_PENTIUM4.
9482	(CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
9483	* i386.md (attribute "cpu"): Add pentium4.
9484	* invoke.texi (march): Add pentium4.
9485
9486Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
9487
9488	* i386.md (sse_mov?fcc*): New patterns and splitters.
9489	* i386.c (ix86_expand_movcc): Work post-reload; recognize
9490	the SSE based conditional moves.
9491
9492Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
9493
9494	* i386.md (attribute mode): Add "TI".
9495	(movsf_1): Add pxor support; remove constant propagation splitter.
9496	(movdf_integer): Likewise.
9497	(movdf_nointeger): Likewise.
9498	(movxf constant prop splitter): Handle all modes; update for SSE.
9499	* i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
9500	* i386.c (standard_80387_constant_p): Rewrite.
9501	(standard_sse_constant_p): New.
9502	* i386-protos.h (standard_sse_constant_p): New.
9503
9504Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
9505
9506	* i386.md (sse_setccsf, sse_setccdf): New.
9507	(sse_cmp* patterns): Use '%D' instead of outputtting condition
9508	flag directly.
9509	* i386.c (sse_comparison_operator): Accept the supported unordered
9510	comparses; be ready for fast_math.
9511	(print_operand): Support 'D'.
9512
9513Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
9514
9515	* jump.c (reversed_comparison_code): Kill.
9516
9517Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
9518
9519	* toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
9520	for STACK_REGS
9521
9522Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
9523
9524	* i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
9525	add missing '%' in constraints.
9526
9527Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
9528
9529	* c-common.c (build_common_tree_nodes): Build intTI_type_nodes
9530	for HOST_BITS_PER_WIDE_INT == 32 too.
9531
9532Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
9533
9534	* caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
9535	NREGS.
9536	(insert_save, insert_restore): New parameter save_mode.
9537	(init_caller_save): Update initialization of reg_save_code
9538	and reg_restore_code.
9539	(save_call_clobbered_regs):  Compute save_modes and update calls to
9540	reg_save_code and reg_restore_code.
9541	(insert_restore):  Unsignetize numbers; use save_modes to choose mode
9542	of spill; update use of reg_restore_code.
9543	(insert_save):  Likewise.
9544	* i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
9545	* c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
9546	* regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
9547
9548Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
9549
9550	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
9551	noce_try_store_flag_inc, noce_try_store_flag_mask,
9552	noce_try_cmove_arith):
9553	Use reversed_comparison_code instead of reverse_comparison and
9554	can_reverse_comparison_p.
9555
9556Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
9557
9558	* jump.c (reversed_comparison_code_parts): Allow reversal of
9559	unordered compares in -ffast-math mode; reverse ordered compares
9560	for FP even w/o -ffast-math.
9561
95622001-02-27  Richard Henderson  <rth@redhat.com>
9563
9564	* print-rtl.c (print_rtx) [i]: Don't print field five on
9565	NOTEs other than NOTE_INSN_DELETED_LABEL.
9566
95672001-02-27  Zack Weinberg  <zackw@stanford.edu>
9568
9569	* mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
9570	* pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
9571
95722001-02-27  Diego Novillo  <dnovillo@redhat.com>
9573
9574	* c-common.c (walk_stmt_tree): Visit the chain of the current tree
9575	even if walk_subtrees is 0.
9576	* c-semantics.c (prune_unused_decls): Return a non-null value to
9577	stop traversing the tree chain.
9578
95792001-02-27  DJ Delorie  <dj@redhat.com>
9580
9581	* config/m68k/m68k.c (output_function_prologue): Save the new CFA
9582	register, *then* define it as the new CFA.
9583
9584Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
9585
9586	* pa.c (override_options): Promote -fpic to -fPIC.
9587	(legitimize_pic_address): Simplify due to removal of
9588	small PIC as a code generation option.
9589	(secondary_reload_class): Similarly.
9590	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
9591	(PRINT_OPERAND_ADDRESS): Similarly.
9592	* pa.md (various patterns): Similarly.
9593	(small pic lo_sum pattern): Remove.
9594
9595Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
9596			      Fergus Henderson
9597
9598	* md.texi (min, max): Document
9599
9600Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
9601
9602	* i386.md (movsf, movdf): Use movaps for reg-reg moves if
9603	TARGET_PARTIAL_REG_DEPENDENCY.
9604	(truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
9605
9606Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
9607
9608	* i386.md (mins*, maxs*): New patterns, expanders and splitters.
9609
96102001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
9611
9612	* mips.c (mips_make_temp_file): Fix thinko in last change.
9613
96142001-02-26  Jason Eckhardt  <jle@redhat.com>
9615
9616	* combine.c (known_cond): Do not reverse the condition when
9617	SMAX/UMAX is being considered and the condition is for equality
9618	or inequality.
9619
9620	* testsuite/gcc.c-torture/execute/20010221-1.c: New test.
9621
96222001-02-26  Philip Blundell  <philb@gnu.org>
9623
9624	* config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
9625	"armv2-*-linux".
9626	* config/arm/linux-elf.h: Remove historical relics related to
9627	above configurations.
9628	* config/arm/linux-oldld.h: Delete.
9629	* config/arm/linux-elf26.h: Delete.
9630
96312001-02-26  Jason Merrill  <jason@redhat.com>
9632
9633	* c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
9634	definitions.
9635	* toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
9636	recognize a tentative definition.  Lose obsolete code.
9637
9638	* toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
9639	variables unless necessary, either.
9640
96412001-02-25  Richard Henderson  <rth@redhat.com>
9642
9643	* ifcvt.c (struct noce_if_info): Add test_bb.
9644	(noce_get_alt_condition): New.
9645	(noce_try_minmax, noce_try_abs): New.
9646	(noce_operand_ok): New.
9647	(noce_process_if_block): Use them.
9648	* rtlanal.c (may_trap_p): NEG and ABS can never trap.
9649
9650Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
9651
9652	* config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
9653	include.
9654
96552001-02-25  Zack Weinberg  <zackw@stanford.edu>
9656
9657	* config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
9658	* config/mips/mips.c (mips_make_temp_file): Set temp_filename
9659	properly.
9660	(mips_asm_file_end): Free temp_filename here.
9661
9662Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9663
9664	* config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
9665	* config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
9666
9667	* config/i386/i386.md (movstrsi): Handle FAIL case.
9668
96692001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
9670
9671	* cppinit.c (builtin_array): Update.
9672	(init_builtins): Flag builtins to warn if redefined or
9673	undefined.  Define __GXX_WEAK as a normal macro.
9674	* cpplib.c (do_undef): Warn if flagged NODE_WARN.
9675	* cpplib.h (NODE_WARN): New flag.
9676	* cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
9677	Handle __STDC__ as a builtin only on Solaris.
9678	(warn_of_redefinition): Renamed from check_macro_definition.
9679	Reverse sense of test.  Always warn if NODE_WARN.
9680	(_cpp_create_definition): Use warn_of_redefinition.  Flag
9681	any macro beginning with "__STDC_" to require a mandatory
9682	warning if redefined or undefined.
9683
96842001-02-24  Zack Weinberg  <zackw@stanford.edu>
9685
9686	* xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
9687	i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
9688	i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
9689	i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
9690	m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
9691	mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
9692	Don't define any of:
9693	USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
9694	P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
9695	NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
9696	index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
9697	STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
9698
9699	* alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
9700	fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
9701	definitions.
9702
9703	* m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
9704	Delete now-empty file.
9705
9706	* alpha/vms.h: Define NEED_ATEXIT here...
9707	* alpha/xm-vms.h: ...not here.
9708
9709	* i386/cygwin.h: Don't define PARAMS.
9710	* mips/mips.c: Don't prototype mktemp.  Don't define
9711	P_tmpdir.  Use make_temp_file to create temporary files.
9712	Don't be clever and delete temporary files early.
9713	* config.gcc: Drop references to deleted files.  Don't define
9714	FULL_PROTOTYPES.
9715	* gcc.texi: Don't mention USE_PROTOTYPES.
9716
9717Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9718
9719	* config/i386/i386.c (ix86_set_move_mem_attrs): New function.
9720	(ix86_set_move_mem_attrs_1): Likewise.
9721	* config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
9722	* config/i386/i386.md (movstrsi): Call it.
9723
97242001-02-24  Zack Weinberg  <zackw@stanford.edu>
9725
9726	* config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
9727	x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
9728	ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
9729	rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
9730
9731	(i750a-*-*): Error here if hosting on i750a.
9732	(alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
9733
9734	* x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
9735	Remove (empty modulo comments).
9736
9737	* 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
9738	alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
9739	i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
9740	i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
9741	mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
9742	rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
9743
9744	* i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
9745	Remove reference to winnt.h in comment.
9746	* rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
9747
97482001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9749
9750	* loop.c (check_dbra_loop): A biv has uses besides counting if it is
9751	used to set another biv.
9752
9753Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9754
9755	* tree.h (BLOCK_DEAD): New macro.
9756	(struct tree_block): New flag, dead_flag.
9757	* print-tree.c (print_node, case 'b'): Print missing fields.
9758	* emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
9759	* function.c (identify_blocks): Enable test for misplaced notes.
9760	(all_blocks): Skip BLOCK_DEAD blocks.
9761	* integrate.c (integrate_decl_tree): Likewise.
9762
9763	* errors.c (internal_error, trim_filename): New functions.
9764	(fancy_abort): Call internal_error.
9765	* errors.h (internal_error, trim_filename): New declarations.
9766
97672001-02-24  Alexandre Oliva  <aoliva@redhat.com>
9768
9769	* config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
9770	2000-08-26's patch.
9771	(EXTRA_CONSTRAINT): Formatting changes.
9772
97732001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9774
9775	* rtl.c (rtl_check_failed_code2): Fix typo in last change.
9776
97772001-02-23  Per Bothner  <per@bothner.com>
9778
9779	* gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
9780	so they can be called from java/jvspec.c.
9781	* gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
9782
9783Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
9784
9785	* i386.c (ix86_frame): New structure.
9786	(ix86_compute_frame_size): Kill.
9787	(ix86_compute_frame_layout): New.
9788	(ix86_save_reg): New.
9789	(ix86_can_use_return_insn_p): Use frame layout stuff.
9790	(ix86_expand_prologue): Likewise.
9791	(ix86_expand_epilogue): Likewise.
9792	(ix86_initial_elimination_offset): Likewise.
9793	(ix86_nsaved_regs): Use ix86_save_reg.
9794	(ix86_emit_save_regs): Likewise.
9795
9796Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
9797
9798	* flow.c (find_sub_basic_blocks): New function.
9799	(split_block): Be ready for basic block introduced by CODE_LABEL.
9800	(commit_one_edge_insertion): Call find_sub_basic_block.
9801
9802	* flow.c (make_edges): Add edge from entry for blocks starting with
9803	label having ALTERNATE_NAME
9804
9805Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9806
9807	* function.c (epilogue_done): Be ready for first basic block not
9808	containing PROLOGUE_END note.
9809	(reposition_prologue_and_epilogue_notes): Avoid placing
9810	PROLOGUE_END note between BASIC_BLOCK.
9811
9812Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
9813
9814	* loop.c (canonicalize_condition): Move to reversed_comparison_code.
9815
98162001-02-21  DJ Delorie  <dj@redhat.com>
9817
9818	* config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
9819	check for current_function_has_nonlocal_goto from 1999-11-12.
9820
9821Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9822
9823	* diagnostic.c (trim_filename): No longer static.
9824	* toplev.h (trim_filename): Declare.
9825	* rtl.c (rtl_check_failed_bounds): Call internal_error.
9826	(rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
9827	(rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
9828	(rtvec_check_failed_bounds): Likewise.
9829	* tree.c (tree_check_failed, tree_class_check_failed): Likewise.
9830
9831	* convert.c (convert_to_integer): Don't do unsigned unless result or
9832	both inputs are unsigned.
9833
9834	* fold-const.c (fold_convert): Don't call size_int_type_wide if
9835	input overflows.
9836
9837	* c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
9838
9839	* varasm.c (output_constant): Recompute CODE after lang-specific fn.
9840
98412001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
9842
9843	* Makefile.in (resource.o): Add params.h dependence.
9844	* params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
9845	* params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
9846	* resource.c: Add dependence on params.h.
9847	(current_live_regs): Fix explanatory comment.
9848	(find_basic_block): Add new parameter to permit limiting search
9849	for a BARRIER.
9850	(mark_target_live_regs): Add new argument to find_basic_block call.
9851	(incr_ticks_for_insn): Likewise.
9852
98532001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
9854
9855	* diagnostic.c (output_to_stream): Rename to
9856	output_buffer_to_stream. Loses the stream parameter.
9857	(init_output_buffer): Set diagnosic_buffer's stream.
9858	(flush_diagnostic_buffer): Adjust.
9859	(default_print_error_function): Likewise.
9860	(finish_diagnostic): Likewise.
9861	(verbatim): Likewise.
9862
9863	* diagnostic.h (struct output_buffer): Add `stream' field.
9864	(output_buffer_attached_stream): New macro.
9865
98662001-02-23  Jakub Jelinek  <jakub@redhat.com>
9867
9868	* fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
9869	check if either operand is divisible by C.
9870	(multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
9871	If type is signed, consider negative numbers as well.
9872
98732001-02-22  Richard Henderson  <rth@redhat.com>
9874
9875	* config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
9876	reach .text instead of gp-relative relocs.
9877	* config/ia64/crtend.asm (.init): Likewise.
9878
98792001-02-22  Andreas Jaeger  <aj@suse.de>
9880
9881	* extend.texi (C++ Attributes): Fix typo.
9882
98832001-02-21  David Mosberger  <davidm@hpl.hp.com>
9884
9885	* config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
9886	functions, drop current_function_args_info.words test.
9887	(ia64_compute_frame_size): Mark syscall_linkage functions as
9888	using eight input registers.
9889
98902001-02-21  Loren J. Rittle  <ljrittle@acm.org>
9891	Bruce Korb  <bkorb@gnu.org>
9892
9893	* fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
9894	* fixinc/README: Document how to convert sed substitutions
9895	to format style c_fix-es.
9896	* fixinc/fixincl.x: regen
9897
98982001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
9899
9900	* gcc.c: Add comment explaining how to add a command-line option.
9901	Add title to specs language comment.
9902
99032001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
9904
9905	* gcc.c (cc1_options): Add "-param".
9906	(DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
9907	(option_map): Likewise.
9908	* toplev.c (display_help): Add entry for "--param".
9909	(independent_decode_option): Fix typographical error.
9910
9911Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
9912			      Bernd Schmidt  <bernds@redhat.com>
9913			      Jan Hubicka  <jh@suse.cz>
9914
9915	* i386.c (function_arg_advance):  Pass SSE arguments in registers.
9916	(function_arg): Likewise.
9917
9918Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
9919
9920	* i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
9921
99222001-02-21  Kazu Hirata  <kazu@hxi.com>
9923
9924	* config/h8300/h8300.md (iorsi3): Do not output an extra newline
9925	character.
9926	(xorsi3): Likewise.
9927
9928Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
9929
9930	* flow.c (init_propagate_block_info): Canon address and use single_set
9931	for killing dead memory stores.
9932
99332001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
9934
9935	* Makefile.in (reorg.o): Add params.h dependence.
9936	* params.def: Fix typographical error in comment.
9937	(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
9938	* params.h: Modify introductory comment.
9939	(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
9940	* reorg.c: Add dependence on params.h.
9941	(redundant_insn): Add parameterized throttle for search.
9942	(fill_simple_delay_slots): Add a comment explaining a variable.
9943	Move conditional out of loop, simplifying code.
9944	(fill_eager_delay_slots): Fix typographical error in comment.
9945
99462001-02-20  Aldy Hernandez  <aldyh@redhat.com>
9947
9948	* tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
9949
9950	* flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
9951	(REVERSE_CONDEXEC_PREDICATES_P): Define macro.
9952
99532001-02-21  Jason Merrill  <jason@redhat.com>
9954
9955	* tree.h (DECL_UNINLINABLE): Move from C++ frontend.
9956	(struct tree_decl): Add uninlinable bitfield.
9957	* c-decl.c (duplicate_decls): Set it.
9958	* integrate.c (function_cannot_inline_p): Check it.
9959
9960	* dwarf2out.c (add_name_and_src_coords_attributes): Don't add
9961	DW_AT_MIPS_linkage_name to abstract methods.
9962	(dwarf2out_abstract_function): Emit class context before calling
9963	set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
9964	(gen_subprogram_die): Remove obsolete code.
9965	(gen_member_die): Don't include clones in the member list.
9966	(gen_decl_die): Emit abstract info for clone origin.
9967	* dwarfout.c (output_type): Don't include clones in the member list.
9968	* dbxout.c (dbxout_type_methods): Ignore abstract methods.
9969	* toplev.c (note_deferral_of_defined_inline_function): Don't clear
9970	DECL_ABSTRACT on a function that already has it set.
9971
9972	* dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
9973	(get_subprogram_die): Pass it in.
9974
99752001-02-21  Richard Earnshaw  <rearnsha@arm.com>
9976
9977	* flow.c (mark_set_1): Make not_dead unsigned long.  For
9978	non-pseudos, use it as a bitmask of the hard regs that
9979	don't die.
9980
99812001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9982
9983	* cppfiles.c: Update comments.
9984	(_cpp_read_file): Don't check for NULL filenames any more.
9985	* cppinit.c (cpp_start_read): Don't do canonicalization of
9986	in_fname and out_fname.  Use the passed file name exclusively.
9987	(_cpp_handle_options): Don't treat "-" as a command line option,
9988	but as a normal filename.
9989	(_cpp_post_options): Canonicalize in_fname and out_fname.
9990	* cppmain.c (printer_init): Don't check out_fname for NULL.
9991	* c-lex.c (orig_filename): Rename cpp_filename for clarity.
9992	(init_c_lex): Update, and use "" to represent stdin to CPP.
9993	(yyparse): Update.
9994
99952001-02-20  Will Cohen  <wcohen@redhat.com>
9996
9997	* config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
9998	* config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
9999	(INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
10000	fixunstfsi_libfunc.
10001
100022001-02-20  Stan Shebs  <shebs@apple.com>
10003
10004	* config/rs6000/rs6000.c (output_cbranch): Output branches
10005	on separate lines instead of using ';' to separate.
10006
100072001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10008
10009	* cppinit.c (set_lang):  Move builtin handling to...
10010	(init_builtins): ...here.
10011	(_cpp_create_reader): Move call to set_lang.
10012
100132001-02-20  Mark Mitchell  <mark@codesourcery.com>
10014
10015	* stmt.c (expand_return): If an attempt is made to return the
10016	error_mar_node, treat the return like a return without a value.
10017
100182001-02-19  Zack Weinberg  <zackw@stanford.edu>
10019
10020	* sibcall.c (skip_copy_to_return_value): Call
10021	identify_call_return_value here, and return orig_insn if it
10022	returns zero.  Hardret and softret arguments now unnecessary.
10023	(call_ends_block_p): Don't call identify_call_return_value here.
10024
10025	* ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
10026	's' slots in RTXen.
10027	* ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete	function.
10028	* ggc.h (ggc_mark_if_gcable): Delete prototype.
10029
10030Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
10031
10032	* pa.c (move_operand): Accept code to load the address of a
10033	symbol out of the DLT as a valid move operand.
10034	(print_operand, case 'A'): New to handle generating a DLT
10035	reference for a LO_SUM expression.
10036	* pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
10037	* pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
10038
100392001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
10040
10041	* README, cpp.texi, gcc.texi, version.c: Update version number to
10042	3.1.
10043	* cpp.1, gcov.1, gcc.1: Regenerate.
10044
100452001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10046
10047	* cppfiles.c (stack_include_file): Generate dependencies
10048	here, and manage include_count here too.
10049	(PRINT_THIS_DEP): Delete.
10050	(_cpp_execute_include): Do not generate dependencies here,
10051	apart from the case of a missing header.  Do not manage
10052	include_count.
10053	(_cpp_read_file): Leave dependency generation to
10054	stack_include_file.
10055
10056Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
10057
10058	* config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
10059	target_cpu_default.  Remove dead assignment to
10060	target_cpu_default.
10061
10062Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
10063
10064	* regclass.c (contains_reg_of_mode): Make global.
10065	(init_reg_sets): Remove contains_reg_of_mode; take into account
10066	CLASS_MAX_NREGS when looking for the proper mode.
10067	(dump_regclass): Dump only classes considered for the pseudo.
10068	(regclass): Use contains_reg_of_mode.
10069
10070Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
10071
10072	* gcc.c (do_spec_1): 'n' for printing notices.
10073	* i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
10074
10075Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
10076
10077	* reg-stack.c (next_flags_user): Use current_block->end
10078	(swap_rtx_condition): Look for next user if flags don't die;
10079	give up on CALL_INSNs; use current_block->end.
10080
10081Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10082
10083	* sibcall.c (call_ends_block_p): New function.
10084	(optimize_sibling_and_tail_recursive_call): Use it.
10085
100862001-02-18  Kazu Hirata  <kazu@hxi.com>
10087
10088	* config/h8300/h8300.md: Update copyright.
10089	(andsi3): Do not output an extra newline character.
10090
10091Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10092
10093	* toplev.c (note_deferral_of_defined_inlined_function): Argument
10094	FNDECL may be unused.
10095
10096	* toplev.c (rest_of_compilation): Don't have CSE skip blocks or
10097	follow jumps after first run.
10098	If -fexpensive-optimizations rerun CSE after GCSE and iterate until
10099	it doesn't change any jumps.
10100
10101Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
10102
10103	* Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
10104	($HOST_PREFIX_1)rtlanal.o: Remove rules for building
10105	(mostlyclean): Corresponding changes.
10106	* rtlanal.c (hard-reg-set.h): Include.
10107	(rtx_unstable_p): Do not treat the argument pointer specially
10108	if it is not a fixed register.
10109	(rtx_varies_p, rtx_addr_can_trap_p): Similarly.
10110
10111Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10112
10113	* sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
10114	against last real insn in basic block.
10115	Rework to avoid gotos.
10116
10117	* Makefile.in (gcse.o): Now includes ggc.h.
10118	* gcse.c: Include ggc.h.
10119	(want_to_gcse_p): Verify expression can be in SET as valid insn.
10120	(try_replace_reg): Remove warning of uninitialize variable.
10121	(process_insert_insn): Call invalid_insn_p to validate insn.
10122	* recog.c (insn_invalid_p): Now global.
10123	See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
10124	* recog.h (insn_invalid_p): New declaration.
10125
10126	* jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
10127
10128	* config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
10129	assignments from FP constants since 'Y' output code can't handle it.
10130	(eligible_for_sibcall_delay): Likewise.
10131
10132	* flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
10133	Call fancy_abort directly, passing args.
10134	(print_rtl_and_abort): Now a macro, like fancy_abort.
10135
10136	* final.c (output_operand_lossage): Use internal_error, not error.
10137
101382001-02-18  Shane Nay  <shane@agendacomputing.com>
10139
10140	* mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
10141	structure shift insns.
10142
101432001-02-18  Mark Mitchell  <mark@codesourcery.com>
10144
10145	* invoke.texi (-fsquangle): Remove documentation.
10146	(-fname-mangling-version): Likewise.
10147
101482001-02-18  Lars Brinkhoff  <lars@nocrew.org>
10149
10150	* optabs.c (expand_abs): Remove reference to
10151	HAVE_contitional_arithmetic.
10152	* combine.c (simplify_set): Likewise.
10153
101542001-02-18  Richard Henderson  <rth@redhat.com>
10155
10156	* ifcvt.c (dead_or_predicable): Don't move code if eh regions
10157	would be disrupted.
10158
101592001-02-18  Richard Henderson  <rth@redhat.com>
10160
10161	* config/ns32k/ns32k.h (ADJSP): Upcase arguments.
10162
10163	* config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
10164
10165	* reload1.c (reload_cse_simplify_set): Fix typo.
10166
10167Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10168
10169	* diagnostic.c (_fatal_insn): Decrement errorcount.
10170
10171	* invoke.texi (-I): Add note avoiding use for system header files.
10172
10173	* rtl.h (add_clobbers): Remove duplicate declaration.
10174	* recog.h (added_clobbers_hard_reg_p): New declaration.
10175	* genemit.c (struct clobber_pat): New field has_hard_reg.
10176	(gen_insn): Record if added clobbers clobber hard reg.
10177	(gen_split): Avoid unused warning if number of operands is 0.
10178	(output_added_clobbers_hard_reg_p): New function.
10179	(main): Call it.
10180
101812001-02-18  Alan Modra <alan@linuxcare.com.au>
10182
10183	* pa.c (hppa_expand_prologue): Simplify code storing return
10184	pointer.  For large (>=8k) frames with a post_store, adjust stack
10185	pointer by 8k-64 first rather than by 64.  When testing with
10186	VAL_14_BITS_P, always use the actual value rather than the value
10187	negated.  Add blockage to prevent scheduling of spills before
10188	stack frame has been created.
10189	(hppa_expand_epilogue): Simplify code loading return pointer.
10190	Allow a slightly larger range for merge_sp_adjust_with_load case.
10191	When testing with VAL_14_BITS_P, always use the actual value.
10192
10193	* pa.c (pa_adjust_insn_length): Check that block move
10194	pattern is a set before looking at operands.
10195
101962001-02-17  Mark Mitchell  <mark@codesourcery.com>
10197
10198	* fold-const.c (fold_binary_op_with_conditional_arg): New
10199	function, split out from ...
10200	(fold): ... here.
10201	* tree.def (COND_EXPR): Document the use of VOID_TYPE for
10202	conditional arms that throw exceptions.
10203
10204	* print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
10205	looking at a BLOCK.
10206
102072001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10208
10209	* aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
10210	define HAVE_DECL_* to 1 to mask potential backup declarations.
10211	* configure: Regenerated.
10212
102132001-02-17  Mark Mitchell  <mark@codesourcery.com>
10214
10215	* invoke.texi (-Woverloaded-virtual): Clarify documentation.
10216
102172001-02-17  Richard Henderson  <rth@redhat.com>
10218
10219	* reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
10220	when replacing a memory load with a register.
10221
10222Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10223			  Jan Hubicka  <jh@suse.cz>
10224
10225	* recog.c (validate_replace_src_1): New.
10226	(validate_replace_src_data): Likewise.
10227	(validate_replace_src): Use note_uses.
10228	* rtl.h (note_uses): Declare.
10229	* rtlanal.c (note_uses): New.
10230
10231Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
10232
10233	* reg-stack.c (stack_def): Make field reg unsigned.
10234	(remove_regno_note): Unsignetize parameter.
10235
102362001-02-16  Jes Sorensen  <jes@linuxcare.com>
10237
10238	* ia64.c (errata_emit_nops): Add VOIDmode as second argument to
10239	shladd_operand() call.
10240
102412001-02-16  Bruce Korb  <bkorb@gnu.org>
10242	    Rodney Brown  <RodneyBrown@mynd.com>
10243
10244	* fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
10245	* fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
10246	machine restrictions
10247	* fixinc/fixincl.x: regen
10248
10249Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10250
10251	* gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
10252	Don't CSE a nop.
10253	(hash_scan_insn): Clean up calls to hash_scan_set.
10254	(compute_kill_rd): REGNO now unsigned.
10255	(try_replace_reg): Rework to use simplify_replace_rtx.
10256	(cprop_jump, cprop_cc0_jump): Likewise.
10257	(cprop_insn): Call find_reg_equal_equiv_note.
10258	Reflect changes to cprop_jump and cprop_cc0_jump.
10259
10260	* recog.c (validate_replace_src): Replace in operands of
10261	ZERO_EXTRACT in SET_DEST.
10262
10263	* cse.c (new_label_ref): New variable.
10264	(insert): Set it instead of recorded_label_ref.
10265	(cse_basic_block): Set recorded_label_ref if new_label_ref use, has
10266	CODE_LABEL for this function, and not already in REG_LABEL note.
10267
102682001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
10269
10270	* resource.c (mark_referenced_resources): Fix typo in introductory
10271	comment.
10272	* config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
10273	string constant.
10274
102752001-02-16  Jason Merrill  <jason@redhat.com>
10276
10277	* dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
10278	NULL.
10279	(gen_subprogram_die): Don't abort on seeing a second definition if
10280	the previous one was abstract.  Don't replace an abstract instance
10281	in the lookup table.
10282
10283	* dwarf2out.c (dwarf2out_abstract_function): Rename from
10284	gen_abstract_function.
10285	* dwarf2out.h: Declare it.
10286	* toplev.c (note_outlining_of_inline_function): New fn.
10287	* toplev.h: Declare it.
10288	* integrate.c (output_inline_function): Call it.
10289	* c-decl.c (duplicate_decls): Call it when redefining an extern
10290	inline.  Don't inline the new defn.
10291
10292	* tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
10293
102942001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10295
10296	* .gdbinit: Rename to gdbinit.in.
10297	* gdbinit.in: New file,
10298	* configure.in: Generate .gdbinit from gdbinit.in.
10299	* configure: Regenerated.
10300	* Makefile.in (distclean): Always remove .gdbinit.
10301
103022001-02-16  Jakub Jelinek  <jakub@redhat.com>
10303
10304	* objc/objc-act.c (start_class): Register implemented_classes with
10305	GC.
10306
103072001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10308
10309	* cppfiles.c (_cpp_make_system_header): Generate a file
10310	change callback.
10311
103122001-02-15  Jim Meyering  <meyering@lucent.com>
10313
10314	* Makefile.in (install-common): Don't depend on installdirs here.
10315	Instead, make each of the lang.install-common targets (e.g.,
10316	c++.install-common in cp/Make-lang.in) depend on it.
10317	(install-driver): Depend on installdirs.
10318
10319Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10320
10321	* flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
10322
10323	* function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
10324	do in memory.
10325
103262001-02-15  Mark Mitchell  <mark@codesourcery.com>
10327
10328	* invoke.texi (--param): Document.
10329
10330Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
10331
10332	* config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
10333
10334Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
10335
10336	* i386.md (extendsfdf2_2): Fix constraints.
10337
10338Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
10339
10340	* i386.md (fop_df_3 splitter): Fix operand number.
10341
10342Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
10343
10344	* invoke.texi (-mreg-alloc): Nuke.
10345	* i386.c (ix86_reg_alloc_order, regs_allocated,
10346	order_regs_for_local_alloc): Nuke.
10347	(override_options): Kill reg_alloc code.
10348	* i386.h (TARGET_OPTIONS): Kill reg-alloc.
10349	(REG_ALLOC_ORDER): SSE goes before I387.
10350	(ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
10351	(ix86_reg_alloc_order): Likewise.
10352	* i386-protos.h (ix86_reg_alloc_order): Kill.
10353
103542001-02-14  Richard Henderson  <rth@redhat.com>
10355
10356	* toplev.c (f_options): Clarify -fschedule-insns2 documentation.
10357
10358Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
10359
10360	* i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
10361
10362Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
10363
10364	* i386-protos.h (ix86_memory_move_cost): Move offline.
10365	* i386.c (ix86_register_move_cost): Compute properly cost of
10366	SSE, MMX and i387 instructions.
10367	(*_cost): Add costs of SSE/MMX moves.
10368	(ix86_memory_move_cost): Move offline from ....; Likewise.
10369	* i386.h (MEMORY_MOVE_COST): .... here;
10370	(struct processor costs): Add new fields to represent costs
10371	of SSE/MMX moves.
10372
10373Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
10374
10375	* regclass.c (init_reg_sets_1): Reinstall the optimization of
10376	move_cost together with Matt Kraai's fix.
10377
103782001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
10379
10380	* Makefile.in (OBJS): Add params.o.
10381
103822001-02-14  Richard Henderson  <rth@redhat.com>
10383	    DJ Delorie  <dj@redhat.com>
10384
10385	* jump.c (jump_optimize_1): When we delete a conditional jump
10386	preceding a non-conditional jump to effectively the same place,
10387	make sure that the combined jump skips any clobber insns between
10388	the two labels.
10389
103902001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
10391
10392	* gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
10393
103942001-02-14  Mark Mitchell  <mark@codesourcery.com>
10395
10396	* Makefile.in (toplev.o): Depend on params.h.
10397	(intergate.o): Likewise.
10398	(params.o): New target.
10399	* flags.h (inline_max_insns): Remove.
10400	* integrate.c: Include params.h.
10401	Use MAX_INLINE_INSNS instead of inline_max_insns.
10402	* params.c: New file.
10403	* params.h: Likewise.
10404	* params.def: Likewise.
10405	* toplev.c: Include params.h.
10406	(lang_independent_params): New variable.
10407	(decode_f_option): Use the param machinery instead of setting
10408	max_inline_insns.
10409	(independent_decode_option): Handle "--param name=value".
10410	(main): Register language-independent parameters.
10411
10412Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
10413
10414	* i386.md (pushsf, pushdf_nointeger): Fix constraint.
10415
104162001-02-14  Richard Henderson  <rth@redhat.com>
10417
10418	* regclass.c (init_reg_sets_1): Revert last two changes.
10419
104202001-02-14  Jakub Jelinek  <jakub@redhat.com>
10421
10422	* stor-layout.c (is_pending_size, put_pending_size): New functions.
10423	(variable_size): Call put_pending_size.
10424	* tree.h (is_pending_size, put_pending_size): Add prototypes.
10425	* fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
10426	sizes list, put newly created SAVE_EXPR there as well.
10427
104282001-02-14  Jakub Jelinek  <jakub@redhat.com>
10429
10430	* config/ia64/ia64.c (last_group): Only 2 entries are needed.
10431	(errata_find_address_regs): load_group has only 2 entries.
10432	(errata_emit_nops): Likewise.  shladd is not problematic.
10433	Clear last_group if nop was emitted.
10434	(fixup_errata): load_group has only 2 entries.
10435	Optimize.
10436
104372001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10438
10439	* c-lex.c (lex_number): Only warn traditionally for U suffix
10440	outside system macros.
10441	* cppexp.c (parse_number): Similarly.
10442	* cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
10443	* cppmacro.c (struct cpp_macro): New member node.
10444	(parse_args): Only warn about missing rest args if not
10445	a system macro.
10446	(funlike_invocation_p): Similarly for uninvoked funlike macros.
10447	(cpp_sys_objmacro_p): New.
10448	(_cpp_create_definition): Store the node with the macro defn.
10449	Remember if the macro is defined in a system header.
10450
104512001-02-13  DJ Delorie  <dj@redhat.com>
10452
10453	* configure.in (check_languages): determine languages to check
10454	* Makefile.in (check-c++): alias for check-g++
10455	(check-f77): alias for check-g77
10456	(CHECK_TARGETS): depend on configured languages
10457
10458Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
10459
10460	* i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
10461	(sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
10462	(sqrtsf2 patterns): Use 'x' instead of 'Y'.
10463	(sqrtextendsfdf2): Disable for SSE2.
10464
10465Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
10466
10467	* i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
10468	(sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
10469	(sqrtsf2 patterns): Use 'x' instead of 'Y'.
10470	(sqrtextendsfdf2): Disable for SSE2.
10471
10472Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
10473
10474	* i386.md (movsfcc_1): Support integer cmove instruction.
10475	(movdfcc_1): Likewise; new splitter.
10476
10477Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
10478
10479	* i386.c (output_fp_compare): Support SSE.
10480	(prepare_fp_compare_args): SSE comparisons always support memory.
10481	* i386.h (TARGET_CMOVE): SSE imply cmove.
10482	* i386.md (cmp?f2): Enable for SSE too.
10483	(cmpfp_i*): Support SSE.
10484	(cmpfp_i_sse): New.
10485	(cmpfp_i_sse_only): New.
10486	(s*, b* fp expanters): Enable for SSE too.
10487	(fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
10488	New patterns.
10489
10490Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
10491
10492	* regclass.c (init_reg_sets_1): Silence warning.
10493
10494Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
10495
10496	* i386.md (sqrt?f2): Change to expander.
10497	(sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
10498
10499Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10500
10501	* rtlanal.c (find_reg_equal_equiv_note): New function.
10502	* simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
10503	(simplify_gen_relational, simplify_replace_rtx): Likewise.
10504	* rtl.h: Add declarations for above functions.
10505
10506Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
10507
10508	* cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
10509	conditionals.
10510	* defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
10511	* emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
10512	* flow.c (mark_regs_live_at_end): Likewise.
10513	(calculate_global_regs_live): Likewise.
10514	* gcse.c (compute_hash_table): Likewise.
10515	(compute_kill_rd): Likewise.
10516	* resource.c (mark_target_live_regs): Likewise.
10517	* rtl.h (INVALID_REGNUM): New macro.
10518
10519Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
10520
10521	* i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
10522
10523Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
10524
10525	* i386.md (fixsfsi2, fixdfdi2): Force operand to register
10526	for SSE.
10527
10528Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
10529
10530	* i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
10531	too.
10532	(fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
10533	(fop_sf_comm_sse, fop_df_comm_sse): New patterns.
10534	(fop_sf_1_sse, fop_df_1_sse): New patterns
10535	(fop_*): Disable float_extend and float patterns for SSE compilation.
10536	* i386.c (output_387_binary_op): Support SSE.
10537
10538Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
10539
10540	* i386.md (dummy_extendsfdf2): Support SSE2
10541	(extendsfdf2): Enable if 80387 or SSE2.
10542	(extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
10543	and no MIX_I387_SSE2
10544	(extendsfdf2_1_sse_only): New pattern.
10545	(truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
10546	of SSE.
10547	(truncdfsf2_1): Support SSE.
10548	(truncdfsf2_2): Support SSE.
10549	(truncdfsf2_2_1_sse): New pattern.
10550	(fixtruncsfsi2): Always use SSE if available.
10551	(fix_truncsfsi_sse): New pattern.
10552	(fix_truncdfsi_sse): New pattern.
10553	(floatsis?f2): Support SSE.
10554	(floatsidf2_i387): New pattern.
10555	(floatsidf2_sse): Likewise.
10556
10557Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10558
10559	* configure.in: Use "have_gnat" variable, not "gnat".
10560	* configure: Regenerated.
10561
10562	* config/sparc/sparc.c (function_value): Treat all non-record
10563	aggregate types like used to treat UNION_TYPE.
10564
10565Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
10566
10567	* i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
10568	* i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
10569	(MASK_SSE2): New.
10570	(MASK_MIX_SSE_I387): New.
10571	(TARGET_SSE): SSE2 imply SSE.
10572	(TARGET_SSE2, TARGET_MIX_SSE_I387): New.
10573	(TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
10574	(enum reg_class): Add new classes.
10575	(REG_CLASS_NAMES): Likewise.
10576	(REG_CLASS_CONTENTS): Likewise.
10577	(ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
10578	(REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
10579	supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
10580	(CLASS_MAX_NREGS): Use new macros.
10581	(REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
10582	* i386.md (pushsf, movsf): Support SSE.
10583	(pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
10584	splitters to use ANY_FP_REGNO_P.
10585	(movdf_nointeger, movdf_integer): Likewise.
10586
105872001-02-13  Alexandre Oliva  <aoliva@redhat.com>
10588
10589	* combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
10590	(try_combine): Use it.
10591
10592Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
10593
10594	* i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
10595	MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
10596	(PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
10597	(REGISTER_MOVE_COST): Likewise.
10598	* i386-protos.h (ix86_secondary_memory_needed,
10599	ix86_preferred_reload_class, ix86_register_move_cost): Declare.
10600	* i386.c (ix86_secondary_memory_needed,
10601	ix86_preferred_reload_class, ix86_register_move_cost): New function.
10602
10603Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
10604
10605	* i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
10606	(HARD_REGNO_MODE_OK): Move offline to ....
10607	* i386.c (ix86_hard_regno_mode_ok) ... here;
10608	refuse all incorrect modes.
10609	* i386-protos.h (ix86_hard_regno_mode_ok): Declare.
10610
106112001-02-13  Richard Henderson  <rth@redhat.com>
10612
10613	* sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
10614	entire operator; replicate that and match_dup the operands.
10615	(cmp_ccx_arith_op_set): Likewise.
10616	(cmp_cc_arith_op_not_set): Likewise.
10617	(cmp_ccx_arith_op_not_set): Likewise.
10618
106192001-02-13  Alexandre Oliva  <aoliva@redhat.com>
10620
10621	* explow.c (trunc_int_for_mode): Sign-extend value to mode.
10622
106232001-02-12  Geoffrey Keating  <geoffk@redhat.com>
10624
10625	* config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
10626	(TARGET_NO_BITFIELD_WORD): New macro.
10627	(SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
10628	(BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
10629
10630Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10631
10632	* cselib.c: New file, from simplify-rtx.c.
10633	* simplify-rtx.c: Remove cselib parts.
10634	* Makefile.in: Add cselib.o.
10635
106362001-02-12  Geoffrey Keating  <geoffk@redhat.com>
10637
10638	* config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
10639	(setup_incoming_varargs): Remove warning.
10640
10641	* config/rs6000/rs6000.c (validate_condition_mode): When
10642	flag_fast_math, allow floating-point conditionals to be reversed.
10643	(rs6000_generate_compare): When flag_fast_math, don't generate
10644	cror operations for FP conditionals.
10645
10646	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
10647	-mcall-i960.
10648	(ASM_SPEC): Likewise.
10649	(CC1_ENDIAN_LITTLE_SPEC): Likewise.
10650	(CC1_SPEC): Likewise.
10651	(LINK_TARGET_SPEC): Likewise.
10652	(CPP_ENDIAN_SPEC): Likewise.
10653	* Makefile.in (check-consistency): New target.
10654
106552001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
10656
10657	* c-decl.c (grokdeclarator): In C99 mode, give the more specific
10658	"return type defaults" warning for functions with return type
10659	defaulting to int.
10660	* c-lang.c (c_init): In C99 mode, enable warnings for implicit
10661	function declarations by default rather than only when pedantic.
10662
10663Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
10664
10665	* regclass.c (init_reg_sets_1): Optimize calculation of move_cost
10666	arrays.
10667
106682001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
10669
10670	* extend.texi (Deprecated): Deprecate new initializer lists.
10671
106722001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
10673
10674	* mkdeps.c (deps_add_default_target): Robustify. Add
10675	basename component only.
10676	* cpp.texi (-M): Describe how default target is generated.
10677	* invoke.texi (-M): Likewise.
10678
106792001-02-12  Kazu Hirata  <kazu@hxi.com>
10680
10681	* toplev.c (push_float_handler): Remove.
10682	(pop_float_handler): Remove.
10683	* toplev.h: Remove prototypes for the above functions.
10684
106852001-02-12  Jakub Jelinek  <jakub@redhat.com>
10686
10687	* c-common.c (constant_fits_type_p): New function.
10688	(convert_and_check): Use it.
10689
106902001-02-11  Mark Mitchell  <mark@codesourcery.com>
10691
10692	* Makefile.in (GXX_ABI_FLAG): Don't define.
10693	* configure.in (--enable-new-gxx-abi): Remove option.
10694	* config.in: Regenerated.
10695	* configure: Likewise.
10696
106972001-02-12  Alexandre Oliva  <aoliva@redhat.com>
10698
10699	* lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
10700	basic block.
10701	(optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
10702	regular basic block, and arrange for all edges into it to switch
10703	to normal mode.
10704
107052001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10706
10707	* Makefile.in (distclean): Do not remove .gdbinit.
10708
107092001-02-11  Mark Mitchell  <mark@codesourcery.com>
10710
10711	* Makefile.in (gcc.o): Fix typos.
10712	(protize.o): Likewise.
10713	(unprotoize.o): Likewise.
10714
107152001-02-11  Richard Henderson  <rth@redhat.com>
10716
10717	* tree.c (build1): Check for null operand in last change.
10718
107192001-02-11  Richard Henderson  <rth@redhat.com>
10720
10721	* fold-const.c (split_tree): Don't assume a constant isn't splittable.
10722	(fold): Don't assume a constant isn't foldable.
10723	* tree.c (build): Set TREE_CONSTANT for an expression with no
10724	side-effects and constant operands.
10725	(build1): Likewise.
10726
107272001-02-10  Richard Henderson  <rth@redhat.com>
10728
10729	* jump.c (squeeze_notes): Revert 2000-05-12 change.
10730
107312001-02-10  Anthony Green  <green@redhat.com>
10732
10733	* cpp.texi (Standard Predefined): Add documentation for
10734	__OPTIMIZE_SIZE__.
10735
10736	* c-common.c (combine_strings): Improve warning message.
10737
107382001-02-10  Geoffrey Keating  <geoffk@redhat.com>
10739
10740	* config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
10741	--oformat.
10742	* config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
10743
10744Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
10745
10746	* config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
10747	CYGWIN_CROSS_DIR.
10748
107492001-02-09  Alexandre Oliva  <aoliva@redhat.com>
10750
10751	* config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
10752	fp_mode attribute.
10753
107542001-02-09  Nick Clifton  <nickc@redhat.com>
10755
10756	* config/arm/arm.md: Change output contraint on post inc
10757	load/store multiple patterns to be a read/write contraint.
10758
107592001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10760
10761	* gcc.c (cpp_options): Delete .d files on error.  Don't delete
10762	.o files when using the -M options.
10763
107642001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10765	    David Edelsohn  <edelsohn@gnu.org>
10766
10767	* config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
10768	handle DImode constants.  Use one TOC entry for SImode and smaller
10769	constants, aligned properly.
10770
107712001-02-08  Jason Merrill  <jason@redhat.com>
10772
10773	* config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
10774	about the SP adjustment for saving the static chain pointer.
10775	* dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
10776	offset when setting a temporary CFA register.
10777
107782001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
10779
10780	* config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
10781	powerpc-*-chorusos* .
10782	* config/rs6000/chorus.h : New file.
10783	* config/i386/chorus.h : New file.
10784	* config/sparc/chorus.h : New file.
10785	* config/sparc/t-chorus-elf : New file.
10786
107872001-02-08  David Edelsohn  <edelsohn@gnu.org>
10788
10789	* config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
10790	* config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
10791	* config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
10792	(__WCHAR_TYPE__): Correct macro name.
10793
107942001-02-08  Richard Henderson  <rth@redhat.com>
10795
10796	* config/i386/i386.c (ix86_frame_pointer_required): New.
10797	(ix86_setup_frame_addresses): New.
10798	(struct machine_function): Add accesses_prev_frame.
10799	* config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
10800	ix86_frame_pointer_required.
10801	(SUBTARGET_FRAME_POINTER_REQUIRED): New.
10802	(SETUP_FRAME_ADDRESSES): New.
10803	* config/i386/i386-protos.h: Update.
10804	* config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
10805	from FRAME_POINTER_REQUIRED.
10806	* config/i386/svr3gas.h: Likewise.
10807	* config/i386/sysv3.h: Likewise.
10808	* config/i386/v3gas.h: Likewise.
10809
108102001-02-08  Richard Henderson  <rth@redhat.com>
10811
10812	* config/sparc/sparc.c (function_arg_record_value_3): Fix
10813	calculation of the number of integer registers required.
10814	(function_arg_record_value): Likewise.
10815
108162001-02-08  Jason Merrill  <jason@redhat.com>
10817
10818	* diagnostic.c (internal_error): Say "confused" after 1 error, not
10819	two.  Print file and line with "confused" message.
10820
10821	* dwarf2out.c (dwarf2out_line): Include filename in -dA output.
10822
10823Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10824
10825	* rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
10826
108272001-02-08  Bernd Schmidt  <bernds@redhat.com>
10828
10829	* final.c (cleanup_subreg_operands): The address of a MEM can
10830	contain SUBREGs.
10831
10832	* config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
10833	for asms, too.
10834
108352001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
10836
10837	* gcc.texi (Incompatibilities): Update documentation of
10838	preprocessing numbers.
10839
108402001-02-07  Jakub Jelinek  <jakub@redhat.com>
10841
10842	* c-decl.c (finish_enum): Revert part of 2000-01-05 change.
10843
108442001-02-07  Mark Mitchell  <mark@codesourcery.com>
10845
10846	* config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
10847
10848	* defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
10849	* gcc.c (struct compiler): Add cpp_spec field.
10850	(input_file_compiler): New variable.
10851	(do_spec_1): Allow a particular compiler to handle `%C'
10852	specially.
10853	(main): Store the current compiler in input_file_compiler.
10854	* tm.texi (CPLUSPLUS_CPP_SPEC): Document.
10855
108562001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
10857
10858	* cpphash.h (struct spec_nodes): Add n_true and n_false.
10859	* cppinit.c (cpp_create_reader): Initialize them.
10860	(append_include_chain): cxx_aware arg might be unused.
10861	* cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
10862	keywords and give them their phase 7 meaning.  Pedwarn about
10863	this unless '__bool_true_false_are_defined' is defined.
10864
108652001-02-07  Alexandre Oliva  <aoliva@redhat.com>
10866
10867	* lcm.c (optimize_mode_switching): Emit mode_set before the
10868	JUMP_INSN of an abnormal edge.
10869
108702001-02-07  Bernd Schmidt  <bernds@redhat.com>
10871
10872	* builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
10873	a scheduling barrier at the end.
10874
10875	* tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
10876
108772001-02-07  Alexandre Oliva  <aoliva@redhat.com>
10878
10879	* config/sh/sh.md (reload_outsf): Removed.
10880	(movsf_ie): Introduce constraints for FPUL loads and stores.
10881	(reload_insf): Broaden the output constraint.
10882
10883	* config/elfos.h (INT_ASM_OP): Don't define it if it's already
10884	defined.
10885	* config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
10886	ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
10887
108882001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
10889
10890	* final.c: Revert my previous changes.
10891	* output.h: Make profile_label_no extern.
10892	* config/rs6000/rs6000.c (output_profile_hook): Use standard functions
10893	for generating label.
10894
108952001-02-06  Laurynas Biveinis  <lauras@softhome.net>
10896
10897	* config/i386/djgpp.h: Add comments about standard paths.
10898	(MD_EXEC_PREFIX): Undefine before defining.
10899	(MD_STARTFILE_PREFIX): New.
10900
109012001-01-30  Bruce Korb  <bkorb@gnu.org>
10902
10903	fixinc/fixincl.c(process):  Emit error message only if appropriate :)
10904	(load_file): do not rely on load_file_data() to close file pointer
10905	fixinc/fixlib.c(load_file_data): do not close passed in file pointer
10906	fixinc/inclhack.def(irix_limits_const): add test_text
10907
109082001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10909
10910	* cppexp.c (parse_defined): Improve diagnostics for invalid
10911	syntax.
10912
109132001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10914
10915	* cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
10916
109172001-02-06  Mark Mitchell  <mark@codesourcery.com>
10918
10919	* config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
10920	* config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
10921	* config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
10922	(rs6000_output_symbol_ref): New function.
10923	(output_toc): Use VTABLE_NAME_P.
10924
10925Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10926
10927	* print-tree.c (print_node, case PARM_DECL):
10928	Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
10929
10930	* stor-layout.c (reference_types_internal): New variable.
10931	(internal_reference_types): New function.
10932	(layout_type, case REFERENCE_TYPE): Make Pmode if internal.
10933	* tree.h (internal_reference_types): New declaration.
10934
10935	* cse.c (find_best_addr): Fix typo in computing cost.
10936
10937Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10938
10939	* combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
10940	and this is the sum of a pointer and a constant, we know the result
10941	did not overflow.
10942	(num_sign_bit_copies, case PLUS): Likewise.
10943	* explow.c (convert_memory_address): Remove opposite SUBREG.
10944	* function.c (instantiate_new_reg): New function (from common code).
10945	(instantiate_virtual_regs_1): Call it.
10946	For PLUS, handle if (plus (subreg (virt-reg) (const_int))
10947	if pointers sign- or zero-extend.
10948	* simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
10949	If pointers extend unsigned, use inside of SUBREG.
10950	(simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
10951
109522001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
10953
10954	* Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
10955	subdir of gcc_gxx_include_dir.
10956	(gcc_gxx_target_include_dir): Remove.
10957
109582001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
10959
10960	* dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
10961	(dwarf2out_frame_debug_expr): Revise introductory comments to add
10962	a high-level description.
10963
109642001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
10965
10966	* final.c: Move the declaration of profile_label_no to ...
10967	* output.h: ... here.
10968	* function.c (expand_function_start): Call PROFILE_HOOK.
10969	* config/rs6000/aix.h: Define PROFILE_HOOK.
10970	* config/rs6000/rs6000-protos.h: output_profile_hook new.
10971	* config/rs6000/rs6000.c (output_profile_hook): Define.
10972	(output_prolog): Do nothing for ABI_AIX as it is taken care by
10973	output_profile_hook.
10974	tm.texi : Explain new macro PROFILE_HOOK.
10975
109762001-02-06  Hans-Peter Nilsson  <hp@axis.com>
10977
10978	* extend.texi (Extended Asm): Do not say that semicolon is always
10979	a valid line-breaking character for GNU assemblers.  Use
10980	newline-tab as the most commonly supported syntax.  Use
10981	newline-tab rather than semicolon in multi-insn examples.
10982
109832001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10984
10985	* Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
10986
109872001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10988	    David Edelsohn  <edelsohn@gnu.org>
10989
10990	* config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
10991	code for AIX, even without flag_pic.
10992
109932001-02-05  Jakub Jelinek  <jakub@redhat.com>
10994
10995	* c-typeck.c (common_type): push and pop binding level around
10996	calling common_type on function parameters.
10997
10998Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
10999
11000	* config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
11001
11002Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11003
11004	* config/mips/mips.c (override_options): Fix typo in last change.
11005	(mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
11006	(mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
11007
110082001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
11009
11010	* invoke.texi (-fdump-class-layout): Document.
11011	(-fdump-translation-unit): Use `=' as filename separator.
11012
110132001-02-05  Mark Mitchell  <mark@codesourcery.com>
11014
11015	* Makefile.in (s-mlib): Don't build multilibs if
11016	--disable-multilib.
11017	(DRIVER_DEFINES): Adjust accordingly.
11018	(gcc.o): Likewise.
11019	(protoize.o): Likewise.
11020	(unprotoize.o): Likewise.
11021	* configure.in: Recognize --enable-multilib.
11022
110232001-02-04  Mark Mitchell  <mark@codesourcery.com>
11024
11025	* Makefile.in (DRIVER_DEFINES): Fix quoting.
11026
11027	* Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
11028	* configure.in: Remove --enable-libstdcxx_v3 support.
11029	* configure: Regenerated.
11030
11031Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11032
11033	* config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
11034	Call abort instead of fatal.
11035	(TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
11036	* config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
11037	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
11038	(TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
11039	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
11040	* config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
11041
11042	* diagnostic.h (set_internal_error_function): Renamed.
11043	* toplev.h (internal_error): Renamed from fatal.
11044	(pfatal_with_name): Deleted.
11045	(fatal_io_error): Now has printf-style arguments.
11046	* diagnostic.c (pfatal_with_name): Deleted.
11047	(fatal_io_error): Rework to have args in printf-style.
11048	(set_internal_error_function): Renamed from set_fatal_function.
11049	(internal_error): Renamed from fatal.
11050	(error_recursion, fancy_abort): Call internal_error instead of fatal.
11051	* dwarf2out.c (get_cfa_from_loc_descr): Likewise.
11052	* emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
11053	* expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
11054	* flow.c (verify_flow_info): Likewise.
11055	* config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
11056	* config/mips/mips.c (save_restore_insns): Likewise.
11057
11058	* except.c (duplicate_eh_handlers): Call abort instead of fatal.
11059	* flow.c (verify_flow_info): Likewise.
11060	* config/arm/arm.c (thumb_load_double_from_address): Likewise.
11061	* config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
11062	(avr_normalize_condition): Likewise.
11063	* config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
11064	* config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
11065	(limit_reload_class, double_reg_to_memory): Likewise.
11066	(print_operand_address, emit_1600_code_shift): Likewise.
11067	(gen_tst_reg, gen_compare_reg): Likewise.
11068	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
11069	* config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
11070	Deleted.
11071	* config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
11072
11073	* c-parse.in (methoddef): Call fatal_error instead of fatal.
11074	* objc/objc-act.c (build_ivar_chain): Likewise.
11075	* dwarfout.c (dwarfout_init): Call fatal_io_error instead of
11076	pfatal_with_name.
11077	* graph.c (clean_graph_dump_file): Likewise.
11078	* profile.c (init_branch_prob): Likewise.
11079	* objc/objc-act.c (objc_init): Likewise.
11080
11081	* config/arm/arm.c (arm_override_options): Make errors non-fatal.
11082	* config/avr/avr.c (avr_override_options): Likewise.
11083	* config/c4x/c4x.c (c4x_expand_prologue): Likewise.
11084	* config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
11085	* config/h8300/h8300.c (h8300_init_once): Likewise.
11086	* config/mips/mips.c (override_options): Likewise.
11087	* config/i386/i386.c (override_options): Likewise, rework.
11088	* config/m68k/m68k.c (override_options): Likewise.
11089
11090	* config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
11091	instead of fatal.
11092	* config/mips/mips.c (print_operand): Likewise.
11093	* hash.c (hash_allocate): Don't check for failure returns from
11094	obstack functions that can't fail.
11095	(hash_table_init_n, hash_table_init): Likewise; also now return void.
11096	* hash.h (hash_table_init_n, hash_table_init): Now return void.
11097	* objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
11098	(get_object_reference): Likewise.
11099
111002001-02-04  Nick Clifton  <nickc@redhat.com>
11101
11102	* config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
11103	StrongARM1110, 10TDMI, and 1020T.
11104
111052001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11106
11107	* mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
11108
111092001-02-04  Alexandre Oliva  <aoliva@redhat.com>
11110
11111	* config/sh/sh.md (movdf load split): Pass register number to
11112	FP_OR_XD_REGISTER_P.
11113
111142001-02-04  Mark Mitchell  <mark@codesourcery.com>
11115
11116	* cppinit.c (BC): New macro.
11117	(builtin_array): Add __GXX_WEAK__.
11118	* cpplib.h (builtin_type): Add BT_WEAK.
11119	* cppmacro.c (builtin_macro): Handle BT_WEAK.
11120	* defaults.h (SUPPORTS_ONE_ONLY): Define.
11121	* varasm.c (SUPPORTS_ONE_ONLY): Do not define.
11122
111232001-02-03  Jakub Jelinek  <jakub@redhat.com>
11124
11125	* cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
11126
111272001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
11128
11129	* cpphash.h: Rename _ALIGN POOL_ALIGN.
11130	* cpplex.c (new_chunk, _cpp_pool_reserve): Update.
11131
111322001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
11133
11134	* cpphash.h: Rename ALIGN _ALIGN.
11135	* cpplex.c (new_chunk, _cpp_pool_reserve): Update.
11136
11137Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
11138
11139	* config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
11140	compilation environment.
11141	* config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
11142	control over location of cygwin includes and libs.
11143
111442001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
11145
11146	* c4x.h	(HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
11147
111482001-02-02  lars brinkhoff  <lars@nocrew.org>
11149
11150	* md.texi (Standard Names): remove reference to spur.md.
11151
111522001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
11153
11154	* c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
11155	(HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
11156	(INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
11157	* c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
11158	(c4x_expand_prologue, c4x_expand_epilogue): Likewise.
11159
111602001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11161
11162	* c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
11163	c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
11164	number before reload.
11165	(c4x_adjust_cost): Return zero before reload.
11166	* c4x.md (load_immed_address+1, load_immed_address+2): Do not
11167	split before reload.
11168
111692001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11170
11171	* c4x.c (c4x_hard_regno_rename_ok): New.
11172	* c4x-protos.h (c4x_hard_regno_rename_ok): New.
11173	* c4x.h (HARD_REGNO_RENAME_OK): Define.
11174
11175Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11176
11177	* diagnostic.h: Add missing "extern" in all declarations.
11178
111792001-02-02  Alex Samuel  <samuel@codesourcery.com>
11180
11181	* Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
11182	as for gcc_gxx_include_dir.
11183
111842001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
11185
11186	* cpp.texi, invoke.texi: Update -Wtraditional documentation.
11187
111882001-02-02  Alexandre Oliva  <aoliva@redhat.com>
11189
11190	* config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
11191	label before alignment to be used as the braf base address.
11192	* config/sh/sh.md (length): Use longer lengths for SH1 PIC far
11193	branches.
11194	(casesi_jump_2): Require at least TARGET_SH2.
11195
11196	* config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
11197	truncation to 32-bit doubles on -m3e and -m4-single-only.
11198
111992001-02-02  Mark Mitchell  <mark@codesourcery.com>
11200
11201	* gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
11202	the default when building a shared object.
11203	(init_spec): Use it.
11204	* testsuite/lib/g++.exp: Include the directory where libgcc
11205	is located to the LD_LIBRARY_PATH list.
11206	* invoke.texi (-shared-libgcc): Document the cases in which
11207	GCC defaults to using the shared libgcc.
11208
112092001-02-02  Alexandre Oliva  <aoliva@redhat.com>
11210
11211	* config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
11212	unsigned is wide enough.
11213	(BITS_PER_SI): New.
11214	* config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
11215	(si_to_float): Likewise.
11216	(float_to_si, float_to_usi): Use BITS_PER_SI.
11217
112182001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
11219
11220	* dwarf2out.c: Added explanation of abbreviations.
11221	(def_cfa_1): Added comments listing DWARF2 instructions.
11222	(cfa_temp_reg): Removed in favor of cfa_temp.
11223	(cfa_temp_value): Removed in favor of cfa_temp.
11224	(cfa_temp): New global variable.
11225	(dwarf2out_frame_debug_expr): Added extensive introductory
11226	comments explaining the function's transformations.  Revised to
11227	use cfa_temp.  Added some rtx checking.  Generalize IOR case.
11228	(dwarf2out_frame_debug): Revised to use cfa_temp.
11229	(output_aranges): Cast as "unsigned" to avoid warning.
11230	* rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
11231	explain which instructions must be marked.
11232
112332001-02-01  Richard Henderson  <rth@redhat.com>
11234
11235	* local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
11236	new instruction.
11237
112382001-02-01  Alexandre Oliva  <aoliva@redhat.com>
11239
11240	* config/sh/crt1.asm (main_k): Modified so that start calls
11241	___setup_argv_and_call_main.
11242
112432001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
11244
11245	* cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
11246	* cpplex.c (_cpp_lex_token): New token picks up the saved flags,
11247	and AVOID_LPASTE is cleared on meeting an unescaped newline.
11248	* cppmacro.c (builtin_macro): Set builtin flags here.
11249	(paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
11250	(replace_args): Clarify intent.
11251	(cpp_get_token): Macro expansion tokens get the saved flags.
11252	Update.
11253	* cppmain.c (scan_buffer): Remove now-redundant print.printed
11254	check.
11255
112562001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
11257
11258	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
11259	2001-Jan-29.
11260
11261Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11262
11263	* builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
11264	returns Pmode pseudo, but we need ptr_mode.
11265	* explow.c (allocate_dynamic_stack_space): Use plus_constant.
11266	Remove bogus conversions; use HOST_WIDE_INT for size.
11267	Don't use TARGET if wrong mode.
11268
11269	* config/i386/i386.c (ix86_compute_frame_size): Allow
11270	stack_alignment_needed to be non-default even if size is zero.
11271
112722001-01-31  Alan Modra <alan@linuxcare.com.au>
11273
11274	* pa.c (hppa_init_pic_save): New function.
11275	* pa.h (hppa_init_pic_save): Declare.
11276	* pa.md (call, call_value, sibcall, sibcall_value): Use
11277	the above instead of duplicated code.
11278
11279	* pa.c (hppa_encode_label): Correct size of alloca buffer
11280	so we don't overrun it.  Correct leading `*' case.
11281	* pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
11282	need to handle `*@'.
11283	(FUNCTION_NAME_P): Likewise.
11284
112852001-01-31  Richard Henderson  <rth@redhat.com>
11286
11287	* config.gcc (alpha-osf5): Use float-i128.h.
11288
11289	* config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
11290	* config/float-i32.h: Likewise.
11291	* config/float-i64.h: Likewise.
11292	* config/float-sh.h: Likewise.
11293	* config/float-sparc.h: Likewise.
11294
112952001-01-31  DJ Delorie  <dj@redhat.com>
11296
11297	* expmed.c (extract_bit_field): allow non-integral modes if we
11298	want to extract a whole register from itself.
11299
113002001-01-31  Jakub Jelinek  <jakub@redhat.com>
11301
11302	* c-typeck.c (set_init_index): If first is equal to last, assume as
11303	if it was not a range at all.
11304
113052001-01-31  Alexandre Oliva  <aoliva@redhat.com>
11306
11307	* config/fp-bit.c: Include tm.h.
11308	(float_to_si): Don't assume SImode is 32-bits wide.
11309	(float_to_usi): Likewise.
11310
113112001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
11312
11313	* c-parse.in (structsp): Pedwarn when "enum foo" refers to an
11314	incomplete type.
11315	(typename): Call pending_xref_error after parsing typed_typespecs.
11316	* c-decl.c (lookup_tag): Give error immediately rather than
11317	leaving it pending if the tag of the wrong type is in the same
11318	binding level.
11319	(xref_tag): Don't pedwarn for forward declarations of enum types
11320	here.
11321	* gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
11322	and enum tags.
11323
113242001-01-31  Alexandre Oliva  <aoliva@redhat.com>
11325
11326	* config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
11327
113282001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
11329
11330	* cpplib.c (T_ELIF): Move to STDC89, not that it matters.
11331	(_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
11332
113332001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
11334
11335	* cpphash.h (struct cpp_reader): New saved_flags.
11336	* cppmacro.c (cpp_get_token): Use saved_flags to remember
11337	to avoid a paste after a pasted token.
11338
113392001-01-31  Alexandre Oliva  <aoliva@redhat.com>
11340
11341	* libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
11342	* libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
11343	Wtype_MIN instead of LONG_MIN.
11344
113452001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
11346
11347	* fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
11348	README file.
11349	* fixinc/fixincl.x: Regenerated.
11350	* fixinc/inclhack.def (irix_limits_const): New definition to
11351	convert "const" to "__const" in limits.h.
11352
113532001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
11354
11355	* fixinc/genfixes (AG): Fix "autogen4" thinko.
11356
113572001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
11358
11359	* regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
11360	when register dies in the insn.
11361
113622001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
11363
11364	* diagnostic.c (fatal): Fix word wrap.
11365
113662001-01-30  Alexandre Oliva  <aoliva@redhat.com>
11367
11368	* combine.c (try_combine): Fix SUBREG setting for
11369	HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
11370
113712001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11372
11373	* jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
11374	comparison codes.
11375
113762001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
11377
11378	* c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
11379	is not NULL.
11380	* toplev.c (decode_W_option): Update warn_larger_than
11381	unconditionally for each processed switch.
11382
113832001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11384
11385	* pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
11386	to NULL_RTX.
11387	(hppa_expand_prologue): Delete code to save pic offset table register
11388	in the function prologue.
11389	* pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
11390	* pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
11391	table register at the beginning of the function after the prologue.
11392
113932001-01-29  lars brinkhoff  <lars@nocrew.org>
11394
11395	* tm.texi (PUSH_ROUNDING): Remove duplicate lines.
11396
113972001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11398	    Jeff Law <law@redhat.com>
11399
11400	* pa.md (return): Revise comment for trivial return.
11401	(return_internal): Non-trivial return pattern for non-PIC code.
11402	(return_internal_pic): Non-trivial return pattern for PIC code.
11403	It uses the PIC register to ensure it is restored after
11404	function calls.
11405	(epilogue): Generate appropriate return for PIC and non-PIC code.
11406
11407Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
11408
11409	* config/i386/cygwin.h: Fix -mno-cygwin search path for link.
11410
114112001-01-29  DJ Delorie  <dj@redhat.com>
11412
11413	* combine.c (if_then_else_cond): Pass the correct mode to
11414	operand_subword() for constants.
11415
11416Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
11417
11418	* config/i386/cygwin.h: Add w32api to include search.  Search different
11419	directories in a cross-build environment.
11420
114212001-11-29  Tim Josling  <tej@melbpc.org.au>
11422
11423	* tree.h (TYPE_STUB_DECL): Add documentation.
11424
114252001-11-29  Laurynas Biveinis  <lauras@softhome.net>
11426
11427	* sdbout.c (sdbout_one_type): Skip types with indeterminate size.
11428	(sdbout_field_types): Likwise.  Fix use of host_integerp.
11429
114302001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
11431
11432	* mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
11433	cygwin.h.
11434
114352001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
11436
11437	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
11438	to use flag_gnu_linker.
11439
114402001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
11441
11442	* cpplib.c (T_BAD_DIRECTIVE): Remove.
11443	(_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
11444
114452001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
11446
11447	* tree.c, tree.h (build_parse_node): Remove; was identical to
11448	build_nt.
11449	* c-lang.c (start_cdtor), objc/objc-act.c
11450	(build_module_descriptor): Use build_nt instead of
11451	build_parse_node.
11452
114532001-01-29  Jakub Jelinek  <jakub@redhat.com>
11454
11455	* config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
11456	(testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
11457	not have any upper bits set.
11458
114592001-01-29  Phil Edwards  <pme@sources.redhat.com>
11460
11461	* COPYING.LIB:  Update to LGPL 2.1 from the FSF.
11462
114632001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11464
11465	* stmt.c (estimate_case_costs): Use integer_minus_one_node.
11466
11467	* tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
11468
11469	* tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
11470	(integer_minus_one_node): Define.
11471
114722001-01-28  Alexandre Oliva  <aoliva@redhat.com>
11473
11474	* Makefile.in (bootstrap2-lean): Fix typo.
11475
114762001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
11477
11478	* cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
11479	: Don't set fe_value.
11480	* cpplib.h (AVOID_LPASTE): New flag.
11481	(struct cpp_hashnode): Remove fe_value.
11482	* cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
11483	* cppmacro.c (builtin_macro): Don't set flags here.
11484	(replace_args): Set AVOID_LPASTE flag on first token of an
11485	argument, and the token following it.
11486	(cpp_get_token): Set AVOID_LPASTE flag on first token of a
11487	macro expansion, and on the token following it.  Do it for
11488	builtins too.
11489	* cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
11490
114912001-01-27  Richard Henderson  <rth@redhat.com>
11492
11493	* config/alpha/t-ieee: Remove multilibbing.
11494	(TARGET_LIBGCC2_CFLAGS): Add -mieee.
11495
114962001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11497
11498	* configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
11499
11500	* Makefile.in: Remove all dependencies on defaults.h.
11501	* builtins.c: Don't include defaults.h.
11502	* c-common.c: Likewise.
11503	* c-decl.c: Likewise.
11504	* c-pragma.c: Likewise.
11505	* c-typeck.c: Likewise.
11506	* combine.c: Likewise.
11507	* i386.c: Likewise.
11508	* frame-ia64.c: Likewise.
11509	* cppexp.c: Likewise.
11510	* crtstuff.c: Likewise.
11511	* dbxout.c: Likewise.
11512	* dwarf2out.c: Likewise.
11513	* dwarfout.c: Likewise.
11514	* emit-rtl.c: Likewise.
11515	* except.c: Likewise.
11516	* expr.c: Likewise.
11517	* final.c: Likewise.
11518	* frame-dwarf2.c: Likewise.
11519	* libgcc2.c: Likewise.
11520	* optabs.c: Likewise.
11521	* profile.c: Likewise.
11522	* sdbout.c: Likewise.
11523	* toplev.c: Likewise.
11524	* tradcif.y: Likewise.
11525	* tree.c: Likewise.
11526	* varasm.c: Likewise.
11527
115282001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11529
11530	* builtins.c (expand_builtin_fputs): Use size_one_node when
11531	transforming into fwrite.
11532
115332001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
11534
11535	* extend.texi (Attribute Syntax): New section.
11536
115372001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11538
11539	* fixproto: Correctly install synthesized unistd.h and stdlib.h when
11540	they didn't need fixing.
11541
115422001-01-27  Janis Johnson <janis@us.ibm.com>
11543
11544	* config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
11545	if appropriate.
11546	* config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
11547	to remove macro definitions that are duplicated from elfos.h.
11548
115492001-01-27  Richard Henderson  <rth@redhat.com>
11550
11551	* config/i386/sco5gas.h: Move ...
11552	* config/usegas.h: ... here.
11553	* config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
11554
115552001-01-27  Jakub Jelinek  <jakub@redhat.com>
11556
11557	* c-typeck.c (struct constructor_stack): Add range_stack member.
11558	(really_start_incremental_init): Clear it.
11559	(push_init_level): Save constructor_range_stack and clear it if
11560	pushing explicit braces.
11561	(pop_init_level): abort if constructor_range_stack is nonzero at
11562	explicit closing brace.  Restore saved constructor_range_stack if
11563	not implicit.
11564
115652001-01-27  Alexandre Oliva  <aoliva@redhat.com>
11566
11567	* expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
11568	into register was forced into memory.
11569
115702001-01-27  Alexandre Oliva  <aoliva@redhat.com>
11571
11572	* Makefile.in: Remove uses of + before $(MAKE).
11573
115742001-01-26  Richard Henderson  <rth@redhat.com>
11575
11576	* stmt.c (cost_table): Remove.
11577	(COST_TABLE, cost_table_initialized): New.
11578	(estimate_case_costs): Use the later instead of the former.
11579	(balance_case_nodes): Likewise.
11580
115812001-01-26  Richard Henderson  <rth@redhat.com>
11582
11583	* alias.c (objects_must_conflict_p): Read-only slots may not
11584	conflict despite having the same type.
11585
115862001-01-27  Michael Hayes  <mhayes@redhat.com>
11587
11588	* loop.c (loop_giv_reduce_benefit): Copy mode size into
11589	int variable.
11590	(check_ext_dependant_givs): Initialize u_start_val and
11591	u_end_val.
11592	(load_mems): Make last_max_reg unsigned.
11593	(try_swap_copy_prop): Use INSN_P and initialize set.
11594
11595Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
11596
11597	* README.AVR : Removed.
11598
11599Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
11600
11601	* pa-64.h (text_section): Remove declaration.
11602
11603	* pa.md (return_internal): Remove mode on PIC register use.
11604
116052001-01-25  lars brinkhoff  <lars@nocrew.org>
11606
11607	* tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
11608	ASM_CLOSE_PAREN): fix typos.
11609
116102001-01-25  Mark Mitchell  <mark@codesourcery.com>
11611
11612	* acconfig.h: Define `const' to the empty string if neither
11613	__STDC__ nor __cplusplus is defined.
11614	* config.in: Regenerated.
11615
116162001-01-25  David Edelsohn  <edelsohn@gnu.org>
11617
11618	* config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
11619	* collect2.c (main): Delete importf.  Add ".obj" file extension.
11620	(GCC_CHECK_HDR): Handle AIX V5 new magic number.
11621	(aix_std_libs): Add additional AIX libraries to skip.
11622	* config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
11623	* config/rs6000/aix51.h: New file.
11624
116252001-01-25  Michael Hayes  <mhayes@redhat.com>
11626
11627	* loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
11628	(loop_insn_emit_before): No longer static.
11629	(move_movables): Replace emit_insn_after with loop_insn_emit_after.
11630	(loop_givs_rescan, load_mems): Likewise.
11631	(check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
11632	(maybe_eliminate_biv_1):
11633	(move_movables): Replace emit_call_insn_before with
11634	loop_call_insn_hoist.
11635	* loop.h (loop_insn_emit_before): Add.
11636	* unroll.c (copy_loop_body): Replace emit_insn_before with
11637	loop_insn_emit_before.
11638
116392001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
11640
11641	* diagnostic.c (fatal): Request preprocessed source.
11642
11643Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
11644
11645	* c-decl.c (duplicate_decls): If different_binding_level is nonzero,
11646	olddecl has argument types and newdecl has none, use the argument
11647	types from olddecl.
11648
116492001-01-24  Ulrich Drepper  <drepper@redhat.com>
11650
11651	* dwarf2out.c (prefix_of): New function.  Determine longest common
11652	prefix of the two arguments.  The units are whole path components.
11653	(output_file_names): When adding a new directory find the one entry
11654	with the longest common prefix already in the list.  Artificially
11655	generate entry if there is none for this prefix.
11656	Fix test to check whether the zeroth directory entry is used.
11657
11658Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
11659
11660	* reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
11661	Changed all callers.  Take it into account when deciding if a
11662	previously loaded value matches.
11663
116642001-01-24  Richard Henderson  <rth@redhat.com>
11665
11666	* reload.c (find_reloads_subreg_address): Fail the substitution
11667	if the resulting address is insufficiently aligned.
11668
116692001-01-24  DJ Delorie  <dj@redhat.com>
11670
11671	* combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
11672	check the original operand's mode also.
11673	* simplify-rtx.c (simplify_ternary_operation): Ditto.
11674
116752001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
11676
11677	* c-parse.in (cast_expr): Move compound literals from here ...
11678	(primary): ... to here.  Use standard terminology "compound
11679	literal" instead of "constructor expression".
11680
116812001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
11682
11683	* gcc.1, cpp.1: Regenerate.
11684
116852001-01-24  Alexandre Oliva  <aoliva@redhat.com>
11686
11687	* calls.c (emit_library_call_value_1): Memory slot for
11688	pass-by-reference argument should have the mode of the argument,
11689	not of the pointer to it.
11690
116912001-01-24  Tom Tromey  <tromey@redhat.com>
11692
11693	* gcc.texi (G++ and GCC): Mention gcj manual.
11694	(Standards): Link to section of manual mentioning gcj/Java
11695	compatibility.
11696
116972001-01-24  Jakub Jelinek  <jakub@redhat.com>
11698
11699	* cppfiles.c (_cpp_read_file): Add to dependencies if requested.
11700	* cppinit.c (cpp_start_read): Remove deps_add_dep call.
11701	* tradcpp.c (main): Add -imacros or -include'd dependencies
11702	for -M*.
11703	* cpp.texi (-M, -MM): Document -M -include behavior.
11704
117052001-01-24  Roger Collins <roger@ProProject.com>
11706
11707	* config/i386/xm-i386.h: Make __i386__ a boolean macro.
11708
117092001-01-24  Will Cohen  <wcohen@redhat.com>
11710
11711	* config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
11712	whether registers are 32 bits or 64 bits in size.
11713
117142001-01-24  Ben Elliston  <bje@redhat.com>
11715
11716	* config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
11717
117182001-01-24  Richard Henderson  <rth@redhat.com>
11719
11720	* config/alpha/alpha.md (builtin_longjmp_internal): New.
11721	(builtin_longjmp): Use it instead of emit_indirect_jump.
11722
117232001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11724
11725	* bb-reorder.c (make_reorder_chain_1): Handle case where
11726	jump edge goes to the same block as the fallthru edge.
11727
117282001-01-23  Jim Wilson  <wilson@redhat.com>
11729
11730	* dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
11731	* frame.h (__ia64_personality_v1): Add prototype.
11732	* libgcc2.c (ia64_throw_helper): Change personality declaration to
11733	prototype form.  Add void * cast to first argument to personality
11734	call.
11735	* real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
11736	(asctoe113): Likewise.
11737	* config/ia64/frame-ia64.c: Include eh-common.h.
11738	* config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
11739	prototypes.
11740	* config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
11741	to dump parameter.
11742	(itanium_split_issue): Add prototype.
11743	(gen_nop_type): Ifdef out.
11744	(find_best_packet): Initialize best_packet.
11745	(ia64_encode_section_info): New local string.  Use for ggc_alloc_string
11746	result.
11747	* config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
11748	* config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
11749	(flushrs): Add explicit stop bit at end.
11750	* config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
11751	trailing \ to >.
11752
117532001-01-23  Chris Demetriou  <cgd@broadcom.com>
11754
11755	* libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
11756	of EH symbols.
11757	* libgcc2.c (__terminate_func): Make variable static.
11758	(__terminate_set_func): New function to set __terminate_func.
11759	* libgcc2.h (__terminate_func_ptr): New typedef.
11760	(__terminate_set_func): New function.
11761
117622001-01-23  Richard Henderson  <rth@redhat.com>
11763
11764	* flow.c (init_propagate_block_info): Don't consider unchanging
11765	memories for dead frame store elimination.
11766
117672001-01-23  Richard Henderson  <rth@redhat.com>
11768
11769	* varasm.c (UNIQUE_SECTION): Move default implementation ...
11770	* defaults.h: ... here.
11771
117722001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11773
11774	* c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
11775
117762001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
11777
11778	* c-lex.c (lex_charconst): Fix typo: s/p/str.
11779
117802001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11781
11782	* rs6000.h (rs6000_return_addr): Move prototype from here...
11783	* rs6000-protos.h (rs6000_return_addr): ...to here.
11784	(rs6000_init_expanders): Delete prototype.
11785
117862001-01-23  Nick Clifton  <nickc@redhat.com>
11787
11788	* invoke.texi: Replace , with \, inside @gccoptlist macros.
11789	(Spec Files): Document %B and %j and %.	and %v3 and %M and
11790	%{S*&T} spec switches.
11791
117922001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11793
11794	* c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
11795
117962001-01-23  Chris Demetriou  <cgd@sibyte.com>
11797	    Neil Booth  <neil@daikokuya.demon.co.uk>
11798
11799	* cpperror.c: Merge handlers of PEDWARN and WARNING.
11800	Have -Werror make pedantic warnings errors, like the
11801	rest of GCC.
11802
118032001-01-23  Phil Edwards  <pme@sources.redhat.com>
11804
11805	* c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
11806
118072001-01-23  Jakub Jelinek  <jakub@redhat.com>
11808
11809	* integrate.h (struct inline_remap): Add compare_src, compare_mode.
11810	* integrate.c (expand_inline_function): Initialize them.
11811	(subst_constants): If changing COMPARE so that both its arguments
11812	will be VOIDmode and the comparison mode will be lost, note
11813	compare_mode.  Use the recorded compare_mode to optimize
11814	IF_THEN_ELSE.
11815
118162001-01-23  Jason Merrill  <jason@redhat.com>
11817
11818	* dwarf2out.c (new_die): Use xcalloc.
11819	(output_die): Abort rather than emit a local reference to offset 0.
11820
118212001-01-17  Andrew Haley  <aph@redhat.com>
11822
11823	* libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
11824	of a saved register; return NULL instead.
11825	(copy_reg): Take a pointer to a source register rather than a
11826	frame_state.
11827	(next_stack_level): Remember the address in the stack frame of all
11828	saved registers.
11829	Use the saved register pointer array as the source of the CFA.
11830	(throw_helper): Rewrite.  Unwind once rather than twice and keep
11831	track of saved registers as we go.
11832
118332001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11834
11835	* c4x-protos.h (c4x_legitimize_reload_address): Remove.
11836	* c4x.c (c4x_legitimize_reload_address): Remove.
11837	* c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
11838	reload address for ldp(k) insn.
11839
11840Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
11841
11842	* pa.md (return_internal): Add a USE of the PIC register to ensure
11843	it is restored after each call.
11844	(return expander): Corresponding changes.
11845
118462001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11847
11848	* rs6000.h (INIT_EXPANDERS): Delete.
11849	(RETURN_ADDR_RTX): Call rs6000_return_addr().
11850	* rs6000.c (rs6000_override_options): Call *_machine_status from
11851	here...
11852	(rs6000_init_expanders): ...instead of here. Delete.
11853	(rs6000_mark_machine_status): New function.
11854	(rs6000_init_machine_status): Use xcalloc.
11855	(rs6000_return_addr): Generate RTX for the return address.
11856	(rs6000_ra_ever_killed): New, check if LR was ever destroyed.
11857	(rs6000_stack_info): Use it.
11858
118592001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
11860
11861	* gthr-win32.h: Include errno.h to get a declaration for
11862	EINVAL and _mingw.h if the target is mingw32.
11863
118642001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
11865
11866	* cpp.texi: Correct typos.
11867
11868Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11869
11870	* explow.c (probe_stack_range): Ensure value passed to
11871	stack_check_libfunc is ptr_mode, not Pmode.
11872
11873Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
11874
11875	* recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
11876	case, don't use operand_subword to calculate a SUBREG that is
11877	wider than a word.
11878
11879	* rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
11880
118812001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11882
11883	* c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
11884	(c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
11885	valid.  If not replace it by equivalent insns.
11886
118872001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11888
11889	* c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
11890	contains SYMBOL_REF, LABEL_REF and CONST_INT.
11891	(c4x_U_constraint, symbolic_address_operand): Likewise.
11892	(c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
11893	memory.
11894	(c4x_r11_set_p, c4x_check_laj_p): New functions.
11895	* c4x-protos.h (c4x_check_laj_p): Add prototype.
11896	* c4x.md (in_annul_slot_3): Do not allow auto-increment in last
11897	anulling slot because of silicon bug.
11898	(laj, lajv): Call c4x_check_laj_p to check for silicon bug.
11899
119002001-01-22  Alan Modra <alan@linuxcare.com.au>
11901
11902	* cppexp.c (parse_charconst):  Change `mask' type to agree
11903	with parse_escape.
11904
119052001-01-21  Richard Henderson  <rth@redhat.com>
11906
11907	* config/i386/i386.c (ix86_asm_file_end): Disable putting
11908	pic_label_name in a linkonce section.
11909
119102001-01-17  Philipp Thomas  <pthomas@suse.de>
11911
11912	* aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
11913	found in libintl.
11914	* configure: Regenerate.
11915
11916Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
11917
11918	* expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
11919	uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
11920
11921Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
11922
11923	* config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
11924	If REVERSE nonzero then condition code in X must be reversed.
11925	(encode_section_info): Optimize if/else.
11926	(avr_function_value): Fix formatting.
11927
11928	* config/avr/avr.md (branch): Call to ret_cond_branch changed.
11929	(difficult_branch): Likewise.
11930	(rvbranch): Likewise.
11931	(difficult_rvbranch): Likewise.
11932
11933	* config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
11934
11935	* config/avr/libgcc.S: Fix comment.
11936
119372001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11938
11939	* sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
11940
119412001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11942
11943	* cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
11944
119452001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11946
11947	* aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
11948	* configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
11949	* configure, config.in: Regenerate.
11950	* Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
11951	(LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
11952	(strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
11953	(doprint.o): New rule.
11954
119552001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
11956
11957	* c-typeck.c (digest_init): Handle boolean types as scalars.
11958
11959Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11960
11961	* stmt.c (expand_return): Don't return anything if size is zero.
11962	Delete redundant assignment to BYTES.
11963	* expr.c (move_block_from_reg): Do nothing if NREGS is zero.
11964
119652001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
11966
11967	* config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
11968	the same as the default library function names.
11969	* config/avr/avr.md: Document special characters after '%'.
11970	(mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
11971	knowing which of the call-used registers are really clobbered.
11972	(divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
11973	New.  Both quotient and remainder from one libgcc.S call.
11974	* config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
11975	clobber as few registers as possible.
11976	* config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
11977
119782001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
11979
11980	* cppmacro.c (funlike_invocation_p): Don't move back up to the
11981	context of the top of the stack.
11982
119832001-01-20  Jakub Jelinek  <jakub@redhat.com>
11984
11985	* function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
11986	(fixup_var_refs_insns): ...here.
11987
119882001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
11989
11990	* function.c (fixup_var_refs_insns): Break up into
11991	fixup_var_refs_insn [body of loop], fixup_var_refs_insns
11992	[loop over entire insn list], and fixup_var_refs_insns_with_hash
11993	[loop over hash table entries].
11994	(fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
11995	fixup_var_refs_insns_with_hash, to match above changes.
11996
119972001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11998
11999	* Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
12000	(libgcc.a): Likewise.
12001	(stmp-multilib): Likewise.
12002	(STAGE2_FLAGS_TO_PASS): Likewise.
12003
120042001-01-19  Alexandre Oliva  <aoliva@redhat.com>
12005
12006	* config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
12007	temporary if no_new_pseudos.
12008
120092001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12010
12011	* cppinternals.texi: Update.
12012
120132001-01-19  Richard Earnshaw  <rearnsha@arm.com>
12014
12015	* arm.c (arm_init_builtins): Re-enable builtins.
12016
12017Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12018
12019	* rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
12020	* flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
12021	element to be null, and always expect an EXPR_LIST.
12022	* rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
12023	* sched-deps.c (sched_analyze_1): Likewise.
12024	* sched-rgn.c (check_live_1, update_live_1): Likewise.
12025
12026	* regclass.c (max_set_parallel): New variable.
12027	(reg_scan): Take it into account in computation of max_parallel.
12028	(reg_scan_mark_refs, case SET): Compute it.
12029
12030	* alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
12031	args are REG.
12032	* expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
12033	* function.c (assign_parms): Use INTVAL for a CONST_INT.
12034
120352001-01-19  Jason Merrill  <jason@redhat.com>
12036
12037	* dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
12038	for the abstract instance of an inline function.
12039
12040Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
12041			  J"orn Rennecke <amylaar@redhat.com>
12042
12043	* reload1.c (move2add_note_store): Treat all registers directly or
12044	indirectly derived from a base register as members of the same set
12045	of values.
12046	(reload_cse_move2add): Adjust accordingly.  Take mode and offset
12047	of base register into account.
12048
12049Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
12050
12051	* alias.c (find_base_value): Recognize TRUNCATE.
12052	(record_set): In PLUS case, invalidate if other summand is also a
12053	base value.
12054
12055Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12056
12057	* flow.c (mark_set_1, case PARALLEL): New case; rework to allow
12058	entry to be EXPR_LIST.
12059	* rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
12060	be an EXPR_LIST (but not null, which other code doesn't allow).
12061	(note_stores): Properly handle PARALLEL in SET.
12062	Recursively call for top-level PARALLEL.
12063	* sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
12064	* sched-rgn.c (check_live_1, update_live_1): Likewise.
12065
12066	* config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
12067
120682001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
12069
12070	* cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
12071	not pfile->skipping (== 0).
12072
120732001-01-17  Nick Clifton  <nickc@redhat.com>
12074
12075	* config/rs6000/rs6000.c: Add prototypes for {init|free}_
12076	machine_status.
12077
120782001-01-17  Jim Wilson  <wilson@redhat.com>
12079
12080	* invoke.texi (IA-64 options): Improve.
12081
120822001-01-17  Tom Tromey  <tromey@redhat.com>
12083
12084	* invoke.texi (Optimize Options): Use `{}' to around @samp
12085	argument.
12086
120872001-01-17  Aldy Hernandez  <aldyh@redhat.com>
12088
12089	* invoke.texi (-fno-guess-branch-probability): New option.
12090
12091Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12092
12093	* combine.c (try_combine): Don't set i3_subst_into_i2 for
12094	case of making new double-word constant.
12095	Revert last change: instead just test i3_subst_into_i2.
12096
120972001-01-17  Jakub Jelinek  <jakub@redhat.com>
12098
12099	* config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
12100	Use q constraints instead of r.
12101
12102Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
12103
12104	* config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
12105	(machine_function): Define.
12106	(PIC_OFFSET_TABLE_SAVE_RTX) : Define.
12107	* config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
12108	pa_free_machine_status): New functions.
12109	(override_options): Set {init,mark,free}_machine_status to above.
12110	(hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
12111	PIC_OFFSET_TABLE_REGNUM_SAVED.
12112	* config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
12113	PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
12114	* config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
12115	references to PIC_OFFSET_TABLE_REGNUM_SAVED.
12116	* config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12117
121182001-01-15  DJ Delorie  <dj@redhat.com>
12119
12120	* Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
12121	(cpp.1): Ditto.
12122	(gcc.1): Ditto.
12123
12124Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12125
12126	* flow.c (propagate_one_insn): Make trying to delete a prologue
12127	or epilogue insn an ICE, not a warning.  Allow doing this if
12128	the current function returns with stack pointer depressed.
12129
12130	* combine.c (try_combine): If i3_subst_into_i2, properly check for
12131	I3 having more than one SET.
12132
121332001-01-16  Jim Wilson  <wilson@redhat.com>
12134
12135	* invoke.texi: Document IA-64 options.
12136
12137	* config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
12138	(fixup_errata): Delete TARGET_A_STEP use.
12139	* config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
12140	(TARGET_SWITCHES): Delete -ma-step option.
12141	* config/ia64/ia64.md (all FP patterns): Delete %B0.
12142	(movqicc_astep, movqi_internal_astep, movhicc_astep,
12143	movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
12144	movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
12145	movdfcc_astep, movdf_internal_astep, movtfcc_astep,
12146	movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
12147	Delete.
12148	(movqi_internal, movhi_internal, movsi_internal, movdi_internal,
12149	movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
12150	cmovsi_internal): Delete ! TARGET_A_STEP check.
12151
121522001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12153
12154	* gcc.texi (Bug Lists): Do not mention newsgroups nor the
12155	possibility to report bugs via postal mail. Change a URL and
12156	merge in a nearly duplicate statement...
12157	(Bug Reporting): ...from here.
12158	(Service): Refer to the Bug Reporting section instead of
12159	duplicating an URL.
12160	(Contributing): Remove trivial explanations concerning snapshots.
12161
121622001-01-16  Alan Modra <alan@linuxcare.com.au>
12163
12164	* cppmain.c (general_init): Don't use ANSI prototype.
12165
121662001-01-16  Tom Tromey  <tromey@redhat.com>
12167
12168	* gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
12169
121702001-01-16  Richard Henderson  <rth@redhat.com>
12171
12172	* config/i386/i386.h: Fix comment typo.
12173	* config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
12174	(ashr+compare patterns): Match CCGOCmode not CCNOmode.
12175
121762001-01-16  Phil Edwards  <pme@sources.redhat.com>
12177
12178	* gcc.c:  Revert previous -fsyntax-only-related change; move
12179	to cp/g++spec.c.
12180
121812001-01-16  Jakub Jelinek  <jakub@redhat.com>
12182
12183	* config/i386/i386.c (fcmov_comparison_operator): Only initialize
12184	inmode after checking GET_CODE (op).
12185
121862001-01-16  Richard Henderson  <rth@redhat.com>
12187
12188	* flow.c (struct propagate_block_info): Add mem_set_list_len.
12189	(MAX_MEM_SET_LIST_LEN): New.
12190	(propagate_one_insn): Update mem_set_list_len.
12191	(invalidate_mems_from_autoinc): Likewise.
12192	(invalidate_mems_from_set): Likewise.
12193	(mark_used_regs): Likewise.
12194	(init_propagate_block_info): Likewise.  Stop collecting memories
12195	when we reach MAX_MEM_SET_LIST_LEN.
12196	(mark_set_1): Likewise.
12197
121982001-01-16  Richard Henderson  <rth@redhat.com>
12199
12200	* unroll.c (precondition_loop_p): Fail if no iteration
12201	variable found.
12202
122032001-01-16  Phil Edwards  <pme@sources.redhat.com>
12204
12205	* gcc.c:  When -fsyntax-only is given, do not complain about
12206	unused libraries.
12207
122082001-01-15  Richard Henderson  <rth@redhat.com>
12209
12210	* config/i386/i386.c (asm_output_function_prefix): Remove.
12211	(ix86_asm_file_end): New.
12212	(load_pic_register): Generate pic_label_name into a
12213	statically allocated buffer.
12214	* config/i386/i386-protos.h: Update.
12215	* config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
12216	(ASM_FILE_END): New.
12217	* config/i386/i386afe.h: New file.
12218	* config.gcc (i?86-*-elf) [tm_file]: Use it.
12219	(i?86-*-{freebsd,linux*,moss*}): Likewise.
12220	* config/elfos.h (ASM_FILE_END): Undef before redefinition.
12221	* config/i386/cygwin.h (ASM_FILE_END): Likewise.
12222	* config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
12223	* config/i386/sco5.h (ASM_FILE_END): Likewise.
12224	* config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
12225
122262001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
12227
12228	* Makefile.in (install-man): Remove explicit dependency on
12229	$(srcdir)/gcc.1.
12230
12231	* configure.in, configure: Revert previous patch requiring perl
12232	5.6.0.
12233
122342001-01-12  Aldy Hernandez  <aldyh@redhat.com>
12235
12236	* toplev.c (flag_guess_branch_prob): New.
12237	(f_options): Add guess-branch-probability option.
12238	(rest_of_decl_compilation): Only estimate branch probability if
12239	flag set.
12240	(main): set flag_guess_branch_prob.
12241
12242	* flags.h (flag_guess_branch_prob): New.
12243
122442001-01-15  DJ Delorie  <dj@redhat.com>
12245
12246	* gcc.texi (Makefile): Add documentation for Makefile targets.
12247
122482001-01-15  Philip Blundell  <philb@gnu.org>
12249
12250	* config/arm/arm.c (arm_finalize_pic): New arg "prologue".
12251	(is_pic): Delete.
12252	* config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
12253	(is_pic): Delete declaration.
12254	* config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
12255	(OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
12256	* config/arm/arm.md (builtin_setjmp_receiver): New.
12257
122582001-01-15  Richard Earnshaw  <rearnsha@arm.com>
12259
12260	* arm.c (use_return_insn): Don't try to determine the function type
12261	until after reload has completed.
12262	(arm_output_epilogue): Don't adjust the sp value recovered from the
12263	stack.
12264	(emit_multi_reg_push): Don't record dwarf information for the pc.
12265	* arm.md (eh_epilogue): The function type may have changed, so it
12266	needs to be recalculated.
12267	* arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
12268	unwind tables on arm/netbsd.
12269
122702001-01-15  Richard Earnshaw  <rearnsha@arm.com>
12271
12272	* arm.md (cbranchsi4): Correct calculation of branch ranges.
12273	(negated_cbranchsi4): Likewise.
12274
122752001-01-15  Richard Earnshaw  <rearnsha@arm.com>
12276
12277	* config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
12278	(SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
12279	(ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
12280	pass -mapcs-* options to assembler.
12281	* config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
12282	(SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
12283	(ASM_SPEC): Call subtarget_extra_asm_spec.
12284
122852001-01-15  Andreas Jaeger  <aj@suse.de>
12286
12287	* config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
12288	warnings.
12289	(ix86_expand_builtin): Likewise.
12290
12291	* gencodes.c (output_predicate_decls): Make i size_t to avoid
12292	warning about comparison between signed and unsigned.
12293
122942001-01-14  Geoffrey Keating  <geoffk@redhat.com>
12295
12296	* expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
12297
122982001-01-14  Ralf Baechle <ralf@gnu.org>
12299
12300	* config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
12301	SUBTARGET_CPP_SPEC appropriately.
12302
123032001-01-12  Mark Mitchell  <mark@codesourcery.com>
12304
12305	* varasm.c (make_decl_rtl): Fix typo in last change.
12306
123072001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
12308
12309	* defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
12310	linker supports the init_priority C++ attribute.
12311	* tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
12312	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
12313	linker does not support init_priority C++ attribute.
12314
12315Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
12316
12317	* Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
12318
123192001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
12320
12321	* c-parse.in (finish_parse): Add comment about cpp_destroy.
12322	* cp/lex.c (finish_parse): Similarly.
12323	* cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
12324	Return the number of errors encountered.
12325	* cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
12326	* cppmain.c (main): Don't call cpp_destroy.
12327
123282001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
12329
12330	* configure.in: Require at least perl 5.6.0 to regenerate
12331	manpages.
12332	* configure: Regenerate.
12333
123342001-01-14  Richard Henderson  <rth@redhat.com>
12335
12336	* genrecog.c (DT_veclen_ge): New.
12337	(add_to_sequence) [MATCH_PARALLEL]: Generate one.
12338	(maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
12339	(nodes_identical_1): Handle DT_veclen_ge.
12340	(write_cond, debug_decision_2): Likewise.
12341
123422001-01-14  Richard Earnshaw  <rearnsha@arm.com>
12343
12344	* arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
12345	with ...
12346	(ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
12347
123482001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
12349
12350	* cppmain.c (do_preprocessing): New function; most of the old
12351	main.
12352	(main): Call it to do most of the work.
12353	(cb): Move from global scope to set_callbacks ().
12354	(setup_callbacks): Get the callback pointer.
12355	(general_init, printer_init): Clean up code and comments.
12356
123572001-01-14  Richard Earnshaw  <rearnsha@arm.com>
12358
12359	* config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
12360	compiling PIC.
12361
123622001-01-14  Kazu Hirata  <kazu@hxi.com>
12363
12364	* config/h8300/h8300.c (get_shift_alg): Update comments.
12365
12366Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12367
12368	* ggc-page.c (alloc_annon): Call perror and correctly call exit.
12369	(alloc_page, ggc_alloc): Add casts to remove warnings.
12370
123712001-01-14  Geoffrey Keating  <geoffk@redhat.com>
12372
12373	* combine.c (simplify_comparison): Don't change `code' when
12374	can't reverse comparison.
12375
123762001-01-14  Richard Henderson  <rth@redhat.com>
12377
12378	* rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
12379	update all call sites.  Return true for all non-label constants.
12380
12381Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
12382
12383	* i386.c (ix86_expand_compare): Add bypass_test and second_test
12384	parameters.
12385	(ix86_expand_branch): Update.
12386	(ix86_expand_setcc): Update to handle multiple test conditions.
12387	(expand_int_movcc): Likewise.
12388	(expand_fp_movcc): Likewise.
12389	* i386-protos.h (ix86_expand_compare): New.
12390	* i386.md (andqi_?_slp, orqi_?_slp): New.
12391	(conditional trap expander): Update call to ix86_expand_compare.
12392
123932001-01-14  Richard Henderson  <rth@redhat.com>
12394
12395	* config/vax/vax.md: Use nonimmediate_operand instead of
12396	general_operand in destinations.
12397
12398	* config/vax/vax.md (indirect_jump): Use register_operand.
12399
12400	* config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
12401	* config/vax/vax.md (call_pop): Turn into an expander.
12402	(call_value_pop): Likewise.
12403	(call, call_value): New.
12404
124052001-01-14  Andreas Jaeger  <aj@suse.de>
12406
12407	* config/i386/i386.c (ix86_split_fp_branch): Remove unused
12408	variables.
12409	(ix86_fp_compare_mode): Add unused attribute.
12410	(ix86_expand_fp_movcc): Remove unused variable.
12411	(ix86_expand_builtin): Make fcode unsigned.
12412
12413	* expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
12414	(expand_expr): Add cast to avoid signed warning.
12415	(store_field): Likewise.
12416	(store_constructor_field): Likewise.
12417	(store_constructor): Likewise.
12418	(store_expr): Likewise.
12419	(clear_storage): Likewise.
12420	(emit_group_store): Likewise.
12421	(emit_group_load): Likewise.
12422
124232001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
12424
12425	* c-common.c: Move format checking code to ...
12426	* c-format.c: ... here.  New file.  Reorder some functions and
12427	declarations.
12428	(decl_handle_format_attribute, decl_handle_format_arg_attribute):
12429	New functions.
12430	* c-common.h (decl_handle_format_attribute,
12431	decl_handle_format_arg_attribute): Declare.
12432	* Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
12433	(c-common.o): Adjust dependencies.
12434	(c-format.o): New list of dependencies.
12435
124362001-01-13  Jakub Jelinek  <jakub@redhat.com>
12437
12438	* unroll.c (loop_iterations): If we cannot prove iteration variable
12439	is set once in each iteration, punt.
12440
12441Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
12442
12443	* config/avr/avr.md ("strlenhi"): Remove clobber of input address.
12444	(*strlenhi): Remove clobber (which was buggy) of output address.
12445
124462001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
12447
12448	* Makefile.in (generated-manpages): Add gcc.1
12449	($(srcdir)/gcc.1): New target.
12450	(maintainer-clean): Delete $(srcdir)/gcc.1.
12451	* gcc.texi: Add macros @gccoptlist and @gol.
12452	* invoke.texi: Include option summary in manpage.  Mark up option
12453	summary with @gccoptlist and @gol.  Use @r in one place where
12454	appropriate.
12455	* texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
12456	* gcc.1: Generate from invoke.texi.
12457
124582001-01-13  Richard Henderson  <rth@redhat.com>
12459
12460	* ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
12461	(struct page_entry): Add group member.
12462	(struct page_group): New.
12463	(struct globals): Add page_groups member.
12464	(alloc_anon): Only define for using mmap; remove valloc call.
12465	(page_group_index): New.
12466	(set_page_group_in_use): New.
12467	(clear_page_group_in_use): New.
12468	(alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
12469	(free_page, release_pages): Likewise.
12470	* configure.in (with-gc): Default to ggc-page always.
12471
124722001-01-13  Alexandre Oliva  <aoliva@redhat.com>
12473
12474	* reload1.c (replace_pseudos_in_call_usage): Use
12475	reg_equiv_constant and reg_equiv_address, and don't try
12476	regno_reg_rtx first.
12477
124782001-01-13  Richard Henderson  <rth@redhat.com>
12479
12480	* ggc-page.c (alloc_page): Round up allocation size to one page.
12481	Set e->order on extra pages.
12482
124832001-01-13  Richard Henderson  <rth@redhat.com>
12484
12485	* genrecog.c (nodes_identical): Expand commentary.
12486	(write_switch): Watch out for identical nodes.
12487
124882001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12489
12490	* cppfiles.c (_cpp_fake_include): New function.
12491	* cpphash.h (_cpp_fake_include): New.
12492	* cpplib.c (do_line): Call _cpp_fake_include when entering
12493	header files in preprocessed input.
12494	* cppmain.c (cb_pragma_implementation): Remove handling.
12495	(setup_callbacks): Don't register pragmas.
12496
124972001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12498
12499	* extend.texi: Udate for CPP.
12500
125012001-01-13  Andreas Jaeger  <aj@suse.de>
12502
12503	* reload1.c: Add prototype for replace_pseudos_in_call_usage.
12504
12505	* regmove.c: Add prototype for replace_in_call_usage.
12506
125072001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12508
12509	* cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
12510	struct cpp_chunk, struct htab, struct toklist,
12511	struct cpp_context, CPP_STACK_MAX, struct lexer_state,
12512	struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
12513	CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
12514	ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
12515	(struct macro_args): Delete.
12516	* cpphash.h: See above.
12517
125182001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12519
12520	* cppmain.c (struct printer): Remove no_line_dirs.
12521	(options, cb): New.
12522	(main, setup_callbacks, scan_buffer, printer_init, cb_define)
12523	: Use options rather than CPP_OPTION.
12524	(setup_callbacks): Use cb rather than pfile->cb.
12525	(main): No need to check for a buffer.  Use cpp_errors.
12526	(printer_init): Don't set no_line_dirs.
12527	(maybe_print_line): Use options not no_line_dirs.
12528	(cb_file_change): Don't call print_line if -P.
12529
125302001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12531
12532	* c-lex.c (init_c_lex): Use cpp_get_callbacks to set
12533	callbacks.
12534	* c-parse.in (finish_parse): Use cpp_errors.
12535	(__yylex): Use return value of cpp_pop_buffer.
12536	* cp/lex.c (finish_parse): Use cpp_errors.
12537	* cp/spew.c (read_token): Use return value of cpp_pop_buffer.
12538
12539Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
12540
12541	* README.AVR: URLs corrected.
12542
12543Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12544
12545	* c-decl.c (start_function): Don't warn if old prototype is builtin
12546	that's not in C's namespace.
12547	* libgcc2.c (_varargs): Update definition of __builtin_saveregs.
12548	(_bb): Add prototype for ctime.
12549	* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
12550
12551Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
12552
12553	* i386.c (ix86_fp_comparison_arithmetics_cost,
12554	ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
12555	ix86_fp_comparison_cost): New functions.
12556	(ix86_expand_fp_compare): Use the costs to choose best bethod; add
12557	two new parameters SECOND_TEST and BYPASS_TEST; allow generating
12558	two-branch sequences; make static.
12559	(ix86_use_fcomi_compare): Do decision according to the costs.
12560	(split_fp_branch): New.
12561	* i386.md (compare-and-branch patterns): Use split_fp_branch.
12562	* i386-protos.h (ix86_expand_fp_compare): Remove
12563	(ix86_split_fp_branch): Declare.
12564
12565	* i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
12566	and ix86_comparison_operator.
12567
12568	* i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
12569	to make it cheaper.
12570
12571	* i386.c (put_condition_code): Output properly the unordered/ordered
12572	compares in fp case.
12573	(ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
12574
12575	* tm.texi (REVERSE_CONDITION): Document.
12576	* i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
12577	in -ffast-math mode.
12578	* i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
12579
125802001-01-13  Alexandre Oliva  <aoliva@redhat.com>
12581
12582	* config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
12583
12584	* config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
12585	optimized away.
12586
12587	* config/sh/sh.c (mova_p): Fix test for mova_const.
12588
125892001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12590
12591	* fix-header.c (read_scan_file): Use cpp_get_callbacks and
12592	cpp_get_options rather than dereferencing pfile and using
12593	CPP_OPTION.
12594	* scan-decls.c (scan_decls): Use return value of
12595	cpp_pop_buffer rather than CPP_BUFFER.
12596
125972001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
12598
12599	* cppinit.c (cpp_handle_option): help_only is now part of the
12600	cpp_options structure.
12601	* cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
12602	cpp_set_callbacks): New functions.
12603	* cpplib.h (cpp_callbacks): Break out as a named structure.
12604	(cpp_options): Move help_only here from cpp_reader.
12605	(CPP_FATAL_ERRORS): Update to use cpp_errors.
12606	(cpp_errors, cpp_get_options, cpp_get_callbacks,
12607	cpp_set_callbacks): New prototypes.
12608	* cppmain.c (main): Update for help_only.
12609
126102001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
12611
12612	* Makefile.in (info, maintainer-clean, install-info, uninstall):
12613	Also build and remove and install and uninstall c-tree.info and
12614	cppinternals.info.
12615	($(srcdir)/gcc.info): Add dependency on contrib.texi.
12616	($(srcdir)/cppinternals.info): New target.
12617	* c-tree.texi: Change file name used when makeinfo used without -o
12618	from ir.info to c-tree.info.  Add info directory entry.
12619	* cppinternals.texi: Add info directory entry.
12620	* .cvsignore: Update.
12621
126222001-01-12  Jakub Jelinek  <jakub@redhat.com>
12623
12624	* c-typeck.c (store_init_value): Don't require constant initializer
12625	elements with -pedantic -std=c99.
12626	(digest_init): Change error about non-constant initializer elements
12627	into pedwarn.
12628	(constructor_range_end): Remove.
12629	(constructor_incremental, designator_depth,
12630	designator_errorneous): New variables.
12631	(struct constructor_stack): Remove range_end, add incremental.
12632	(struct constructor_range_stack, constructor_range_stack): New.
12633	(struct initializer_stack): Add constructor_range_stack.
12634	(finish_init): Set it.
12635	(start_init): Likewise.  require_constant_elements for non-static
12636	trees only if not flag_isoc99.
12637	(really_start_incremental_init): Remove constructor_range_end, add
12638	constructor_incremental.
12639	(pop_init_level): Likewise.
12640	(push_init_level): Likewise.  If implicit and the subobject had some
12641	value set already, preinitialize the level with it.
12642	Warn about missing braces only if not pushing due to designators.
12643	(set_designator, push_range_stack): New functions.
12644	(set_init_label): Use them.
12645	(set_init_index): Likewise.  Remove constructor_range_end.
12646	Error if designator index is outside of array bounds.
12647	(add_pending_init): Compare values of purpose index trees, not the
12648	trees themselves.  Allow overwriting of already initialized element.
12649	Issue a warning if it had side-effects.
12650	(set_nonincremental_init, set_nonincremental_init_from_string): New
12651	functions.
12652	(pending_init_member): Rename to...
12653	(find_init_member): ...this function.  Call set_nonincremental_init
12654	if necessary.  Compare values of purpose index trees, not the trees
12655	themselves.  Return the actual value, not just nonzero if something
12656	is found.
12657	(output_init_element): Remove checks for duplicates.
12658	If field has zero size, only check the initializer for correctness.
12659	Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
12660	if constructor_incremental is zero.  Change error about initializers
12661	not computable at load time into pedwarn.
12662	(output_pending_init_elements): Compare bit positions, not
12663	FIELD_DECLs to take into account zero-sized fields.
12664	(process_init_element): Use constructor_range_stack to fill all
12665	ranges in the designator lists from current level up.
12666	* extend.texi: Update documentation for labeled elements.
12667
126682001-01-12  Alexandre Oliva  <aoliva@redhat.com>
12669
12670	* calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
12671	to function usage for arguments passed by reference.  Optimize
12672	callee-copied arguments.
12673	* regmove.c (replace_in_call_usage): New function.
12674	(fixup_match_1): Call it.
12675	* cse.c (cse_insn): Canonicalize registers in function usage.
12676	* reload1.c (replace_pseudos_in_call_usage): New function.
12677	(reload): Call it.
12678
12679	* Makefile.in: Reverted yesterday's wrong patch.  Installed the
12680	right version.
12681
126822001-01-12  Jakub Jelinek  <jakub@redhat.com>
12683
12684	* config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
12685	not XEXP (tmp, 0).
12686
126872001-01-12  DJ Delorie  <dj@redhat.com>
12688
12689	* Makefile.in (bootstrap): rename stages to be mnemonic.  Add
12690	restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
12691	targets.
12692
126932001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
12694
12695	* cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
12696	tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
12697	-std options alongside references to -ansi.  Update some
12698	documentation for C99.
12699	* cpp.1: Regenerate.
12700
127012001-01-12  Andreas Jaeger  <aj@suse.de>
12702
12703	* haifa-sched.c (restore_line_notes): Remove argument block B
12704	since it's unused.
12705	* sched-ebb.c (schedule_ebb): Change caller.
12706	* sched-rgn.c (schedule_region): Likewise.
12707	* sched-int.h (restore_line_notes): Adjust prototype.
12708
12709	* loop.h: Remove wrong declaration of doloop_condition_get.
12710
127112001-01-12  Phil Edwards  <pme@sources.redhat.com>
12712
12713	* extend.texi:  Move C++-extension-related node from the C section
12714	into the C++ section.
12715
127162001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
12717
12718	* extend.texi: Refer to an array of pointers to functions instead
12719	of one of functions.
12720
12721Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
12722			      Jan Hubicka  <jh@suse.cz>
12723
12724	* combine.c (reversed_comparison): Fix typo in last patch.
12725	Check X for NULL.
12726	(combine_reversed_comparison_code): Make static to follow
12727	prototype declaration.
12728
127292001-01-12  Phil Edwards  <pme@sources.redhat.com>
12730
12731	* install.texi:  Remove misplaced duplicate entry.
12732
127332001-01-11  Ulrich Drepper  <drepper@redhat.com>
12734
12735	* config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
12736
12737Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
12738
12739	* final.c: (leaf_function_p): Fix typo.
12740
127412001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
12742
12743	* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
12744	Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
12745	which you have.
12746	(AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
12747	* configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
12748	mmap_anon, and valloc is available.
12749	* ggc-page.c: Restructure ifdef logic to match new autoconf
12750	spec.  Don't throw away the test page in init_ggc.
12751
12752	* configure, config.in: Regenerate.
12753
127542001-01-12  Michael Hayes  <mhayes@redhat.com>
12755
12756	* loop.h (total_biv_increment): Constify iv_class pointer.
12757	(struct induction): Replace `mem_mode' with `mem' rtx.
12758	* unroll.c (total_biv_increment): Constify iv_class pointer.
12759	* loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
12760	(find_mem_givs, combine_givs_p): Likewise.
12761	(debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
12762
127632001-01-10  Thomas Pfaff <tpfaff@gmx.net>
12764
12765	* gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
12766	LastError.
12767	(__gthread_getspecific): Ditto.
12768
12769Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
12770
12771	* i386.c (ix86_comparison_operator, fcmov_comparison_operator,
12772	put_condition_code): Convert fp comparison codes to integer
12773	before handling.
12774	(ix86_expand_fp_compare): Postnote the fp comparison code conversion
12775	to final.
12776
12777	* i386.c (unsigned_comparison, no_comparison_operator): Kill.
12778	* i386-protos.h (no_comparison_operator): Kill.
12779
12780	* i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
12781
12782	* combine.c (REVERSIBLE_CC_MODE): Remove.
12783	(reversible_comparison_p): Remove.
12784	(combine_reversed_comparison_code): New.
12785	(reversed_comparison): New.
12786	(combine_simplify_rtx): Use
12787	combine_reversed_comparison_code/reversed_comparison instead
12788	of reversible_comparison_p.
12789	(simplify_if_then_else): Likewise.
12790	(simplify_set): Likewise.
12791	(simplify_logical): Likewise.
12792	(if_then_else_cond): Likewise.
12793	(known_cond): Likewise.
12794	(simplify_comparison): Likewise.
12795
127962001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
12797
12798	* builtins.c (std_expand_builtin_va_start): Handle varargs when
12799	sizeof (int) is larger than sizeof(__word__).
12800
128012001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12802
12803	* cppinit.c (do_includes): Fix typo.
12804
128052001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12806
12807	* config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
12808	in S_REGS does not occur because not all sources are possible
12809	when a S_REGS is a destination (sometimes needs a clobber).
12810	(movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
12811	(zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
12812	(anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
12813	(ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
12814	(ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
12815	(ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
12816	(lshrdi_const1, lshrsi3_const16): Likewise.
12817	(*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
12818	(*movhi_68hc12, *movqi_68hc12): Likewise.
12819	(movstrictqi): Make sure reloading in D_REGS as a destination
12820	does not happen.
12821
128222001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12823
12824	* cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12825
128262001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12827
12828	* cppinit.c (cpp_start_read): If -fpreprocessed, ignore
12829	-D, -U and -A, and don't initialize the builtins.
12830	(do_includes): Error if -include or -imacros with -fpreprocessed.
12831	* cppmain.c (cb_define, cb_undef): Unconditionally process
12832	the callback.
12833	* tradcpp.c (main): Fix typo.
12834
128352000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
12836
12837	* cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
12838	(read_name_map): Use IS_ABSOLUTE_PATH.
12839	* tradcpp.c (get_filename): Likewise.
12840
128412001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12842
12843	* config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
12844	(*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
12845	(*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
12846	(*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
12847	(*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
12848	(cmphi_z_used): Don't use '@' for the output.
12849	(tstqi_z_used): Likewise.
12850	(cmpqi_z_used): Likewise.
12851	(one_cmplsi2): Likewise.
12852
128532001-01-11  Alexandre Oliva  <aoliva@redhat.com>
12854
12855	* config/sh/sh.c (barrier_align): Recognize branch around far
12856	branch and redundant insn.
12857
128582001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12859
12860	* invoke.texi: Restore documentation of the drivers' switches -MD
12861	and -MMD.
12862
128632001-01-11  Alexandre Oliva  <aoliva@redhat.com>
12864
12865	* config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
12866
12867	* Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
12868	check-objc//%): Support parallel testing of multilibs.
12869	(TESTSUITEDIR): Set to testsuite by default, but override for
12870	parallel testing.
12871	(check-gcc, check-g++, check-g77, check-objc): Enter
12872	$(TESTSUITEDIR).
12873
128742001-01-11  Bernd Schmidt  <bernds@redhat.com>
12875
12876	* alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
12877	* sched-deps.c (deps_may_trap_p): Likewise.
12878	* basic-block.h: Remove a comment.
12879	* flow.c (PROP_POSTRELOAD): Remove.
12880	(update_life_info): Don't add it to prop_flags.
12881	(mark_set_1): Lose the code that was enabled by it.
12882
128832001-01-11  Michael Hayes  <mhayes@redhat.com>
12884
12885	* flow.c (flow_call_edges_add): New.
12886	* basic_block.h (flow_call_edges_add): New.
12887
128882001-01-11  J"orn Rennecke <amylaar@redhat.com>
12889
12890	* reload1.c (move2add_note_store): Update reg_set_luid even if
12891	base reg remains the same.
12892
128932001-01-10  Nick Clifton  <nickc@redhat.com>
12894
12895	* config/d30v/d30v.c (d30v_init_machine_status): Initialize
12896	machine_function structure to zero.
12897	Add prototypes for machine_status functions.
12898
128992001-01-10  Mark Mitchell  <mark@codesourcery.com>
12900
12901	* c-common.h (CTI_VOID_LIST): Remove.
12902	(void_list_node): Likewise.
12903	* tree.h (TI_VOID_LIST_NODE): New enumeral.
12904	(void_list_node): New macro.
12905	* config/arm/arm.c (arm_init_builtins): Use void_list_node.
12906	* config/i386/i386.c (ix86_init_builtins): Likewise.
12907	* config/ia64a/ia64.c (ia64_init_builtins): Likewise.
12908
129092001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12910
12911	* Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
12912	* cppinit.c (cpp_start_read): Update comment, remove unneeded
12913	if statement.
12914	* tradcpp.c: Include mkdeps.h.
12915	(deps, print_deps_phony_targets, deps_append, output_deps,
12916	init_dependency_output, output_deps): New.
12917	(deps_buffer, deps_allocated_size, deps_size, deps_column,
12918	deps_output): Delete.
12919	(print_deps_missing_files): Rename deps_missing_files.
12920	(inhibit_output): Make global.
12921	(main): Delete inhibit_output, deps_stream, deps_target.
12922	Use mkdeps functionality in the same way as cpplib.  Remove
12923	-g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
12924	-M and -MM.  Remove old handling of deps via deps_out, and
12925	old reading of environment variables.
12926	(get_filename): Update to use deps_add_dep.
12927
129282001-01-10  Mark Mitchell  <mark@codesourcery.com>
12929
12930	* output.h (make_function_rtl): Remove prototype.
12931	(make_decl_rtl): Likewise.
12932	* varasm.c (make_function_rtl): Remove.
12933	(make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
12934	than from a third parameter.
12935	* tree.h (make_decl_rtl): Remove last parameter.
12936	* c-decl.c (builtin_function): Remove last argument in call to
12937	make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
12938	(start_function): Likewise.
12939	* except.c (call_get_eh_context): Likewise.
12940	* expr.c (emit_block_move): Likewise.
12941	(clear_storage): Likewise.
12942	* profile.c (output_func_start_profiler): Likewise.
12943	* toplev.c (rest_of_decl_compilation): Likewise.
12944	* objc/objc-act.c (create_builtin_decl): Likewise.
12945	(synth_module_prologue): Likewise.
12946	(generate_static_reference): Likewise.
12947	(build_selector_reference_decl): Likewise.
12948	(build_class_reference_decl): Likewise.
12949	(build_objc_string_decl): Likewise.
12950	(build_protocol_reference): Likewise.
12951
129522001-01-10  Richard Henderson  <rth@redhat.com>
12953
12954	* hwint.h: Revert yesterday's change.
12955
129562001-01-10  Nick Clifton  <nickc@redhat.com>
12957
12958	* function.h (save_machine_status): Delete.
12959	(restore_machine_status): Delete.
12960	Amend comment describing {init|mark|free}_machine_status.
12961
12962	* function.c (save_machine_status): Delete.
12963	(restore_machine_status): Delete.
12964	Amend comment describing {init|mark|free}_machine_status.
12965	(push_function_context_to): Remove invocation of
12966	save_machine_status.
12967	(pop_function_context_from): Remove invocation of
12968	restore_machine_status.
12969
12970	* emit-rtl.c (init_emit_once): Amend comment describing
12971	{init|mark|free}_machine_status.
12972
12973	* tm.texi (Per-Function Data): New node.  Describe the
12974	INIT_EXPANDERS macro and the {init|mark|free}_machine_status
12975	function pointers.
12976
129772001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12978
12979	* cppinit.c (OPT_g): Remove.
12980	(cpp_handle_option): Update for removed -g3.
12981	(print_help): Update.
12982	* cpplib.h (struct cpp_options): Remove debug_output.
12983	* cppmain.c (setup_callbacks, cb_define): Update.
12984	* gcc.c (cpp_options): Translate -g3 to -dD.
12985
129862001-01-10  Aldy Hernandez  <aldyh@redhat.com>
12987
12988	* config/i960/i960.md: Change modifier to + on the zero_extract
12989	pattern after the (rotate -2 reg) canonicalization pattern.
12990
129912001-01-10  Richard Henderson  <rth@redhat.com>
12992
12993	* config/alpha/alpha.c (alpha_free_machine_status): New.
12994	(override_options): Install it.
12995	(alpha_mark_machine_status): Verify machine non-null.
12996	* config/i386/i386.c (ix86_free_machine_status): New.
12997	(override_options): Install it.
12998	(ix86_init_machine_status): Use xcalloc.
12999	(ix86_mark_machine_status): Verify machine non-null.
13000	* config/ia64/ia64.c (ia64_free_machine_status): New.
13001	(ia64_override_options): Install it.
13002	(ia64_mark_machine_status): Verify machine non-null.
13003
13004Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
13005
13006	* function.c (instantiate_virtual_regs): Instantiate virtual
13007	registers found in CALL_INSN_FUNCTION_USAGE.
13008
130092001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
13010
13011	* i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
13012	equivalent to -ansi in disabling -Di386.
13013
13014Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
13015
13016	* i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
13017	new functions.
13018	(ix86_expand_fp_compare): Make trivial use of new infrastructure.
13019
130202001-01-10  Richard Earnshaw  <rearnsha@arm.com>
13021
13022	* arm.c (arm_init_builtins): Temporarily disable xscale builtins.
13023
130242001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
13025
13026	* invoke.texi: Document that -fcond-mismatch isn't supported for
13027	C++.
13028
130292001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
13030
13031	* gcc.texi: Define macro gcctabopt.
13032	* invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
13033	@command, @env and @option in some places where appropriate.  Use
13034	@gcctabopt where appropriate.  Put URLs and email addresses inside
13035	@w.
13036
130372001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
13038
13039	* gcc.c (cpp_options): Set MD file name from output
13040	filename, if specified.
13041	(suffix_subst): New static variable.
13042	(do_spec): Clear it.
13043	(do_spec_1, case '.'): Handle new `%.suffix' spec.
13044	Clear it.
13045	(give_switch): Handle suffix_subst.
13046
130472001-01-10  Phil Edwards  <pme@sources.redhat.com>
13048
13049	* invoke.texi:  Fix another typo.
13050
130512001-01-10  Phil Edwards  <pme@sources.redhat.com>
13052
13053	* invoke.texi:  Fix typo.
13054
130552001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
13056
13057	* c-lang.c (lang_hooks): Update.
13058	(lang_decode_option): Remove.
13059	(lang_init_options): Rename c_init_options.
13060	* toplev.c (main): Use lang_hooks for lang_init_options
13061	and lang_decode_option.
13062	* toplev.h (lang_hooks): Add 2 new hooks.
13063	* tree.h: Remove lang_init_options and lang_decode_option.
13064	* cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
13065	* cp/decl2.c: Similarly.
13066	* cp/lex.c (lang_init_options): Rename cxx_init_options.
13067	(lang_hooks): Update.
13068	* f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
13069	for consistency.
13070	(lang_init_options): Rename ffe_init_options.
13071	(lang_hooks): Update.
13072	(lang_decode_option): Remove.
13073	* java/lang.c (lang_init_options): Rename java_init_options.
13074	(lang_decode_option): Rename java_decode_option.
13075	(lang_hooks): Update.
13076	* objc/objc-act.c (lang_init_options): Rename objc_init_options.
13077	(lang_decode_option): Rename objc_decode_option.
13078	(lang_hooks): Update.
13079
130802001-01-09  Nick Clifton  <nickc@redhat.com>
13081
13082	* config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
13083	(d30v_return_addr_rtx): Delete.
13084	(d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
13085	cfun->machine structure.
13086	(struct machine_function): Move to d30v.h
13087	(d30v_save_machine_status): Delete.
13088	(d30v_restore_machine_status): Delete.
13089	(d30v_init_machine_status): New Function.
13090	(d30v_mark_machine_status): New Function.
13091	(d30v_free_machine_status): New Function.
13092	(d30v_init_expanders): Use new functions.
13093	(d30v_return_addr): Use ra_rtx field in cfun->machine.
13094	(d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
13095	d30v_return_addr_rtx.
13096
13097	* config/d30v/d30v.h (struct_machine): Move here.
13098	Add eh_epilogue_sp_ofs field.
13099
13100	*config/d30v/d30v.md (epilogue): Initialize eh_epilogue_sp_ofs
13101	field in cfun->machine structure.
13102
13103Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13104
13105	* pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
13106	PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
13107	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
13108
13109Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
13110
13111	* objc/lang-options.h: Remove bogus reference to
13112	Java trademark.
13113
131142001-01-09  Kazu Hirata  <kazu@hxi.com>
13115
13116	* config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
13117	return the result.
13118
131192001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
13120
13121	* reload.c (find_reloads_address): Check for eliminable registers
13122	when substituting a constant expression for a pseudo.
13123
131242001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
13125
13126	* c-common.c (enum format_type): Add format_type_error.
13127	(decode_format_type): New function.
13128	(decl_attributes): Use it.
13129	(format_kind_info): Adjust comment.
13130
131312001-01-09  David O'Brien  <obrien@BSDi.com>
13132
13133	* config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
13134	i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
13135	files in tm_file.
13136	* config/i386/gnu.h: Don't include required platform specific .h files,
13137	tm.h will do it instead.
13138	* config/i386/i386elf.h: Likewise.
13139	* config/i386/linux.h: Likewise.
13140	* config/i386/moss.h: Likewise.
13141	* config/mips/gnu.h: Likewise.
13142
131432001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13144
13145	* config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
13146	(rs6000-ibm-aix3.[01]*): Likewise.
13147	(rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
13148	(rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
13149	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
13150	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
13151	(powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
13152	(powerpc-*-eabiaix*): Likewise.
13153	(powerpc-*-eabisim*): Likewise.
13154	(powerpc-*-elf*): Likewise.
13155	(powerpc-*-eabi*): Likewise.
13156	(powerpc-*-rtems*): Likewise.
13157	(powerpc-*-linux*libc1): Likewise.
13158	(powerpc-*-linux*): Likewise.
13159	(powerpc-wrs-vxworks*): Likewise.
13160	(powerpcle-wrs-vxworks*): Likewise.
13161	(powerpcle-*-sysv*): Likewise.
13162	(powerpcle-*-elf*): Likewise.
13163	(powerpcle-*-eabisim*): Likewise.
13164	(powerpcle-*-eabi*): Likewise.
13165	(powerpcle-*-solaris2*): Likewise.
13166	* config/rs6000/aix31.h: Delete includes.
13167	* config/rs6000/aix3newas.h: Likewise.
13168	* config/rs6000/aix41.h: Likewise.
13169	* config/rs6000/aix43.h: Likewise.
13170	* config/rs6000/beos.h: Likewise.
13171	* config/rs6000/rtems.h: Likewise.
13172	* config/rs6000/sysv4.h: Likewise.
13173
131742001-01-09  Kazu Hirata  <kazu@hxi.com>
13175
13176	* config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
13177	Change an argument mode of machine_mode to shift_mode of
13178	shift_mode.  Remove an extra error check.
13179	(emit_a_shift): Adopt to the new calling prototype of
13180	get_shift_alg.
13181	(function_prologue): Fix code for a monitor
13182	function.  Support H8S.
13183	(function_epilogue): Do not output pop for a monitor function.
13184
131852001-01-09  Nick Clifton  <nickc@redhat.com>
13186
13187	* config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
13188	(setup_incoming_varargs): Use sysv_varargs_p field of the
13189	cfun->machine structure.
13190	(struct machine_function): Move to rs6000.h
13191	(rs6000_save_machine_status): Delete.
13192	(rs6000_restore_machine_status): Delete.
13193	(rs6000_init_machine_status): New Function.
13194	(rs6000_free_machine_status): New Function.
13195	(rs6000_init_expanders): Use new functions.
13196
13197	* config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
13198	export.
13199	(struct machine_function): Move here.
13200
13201	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
13202	sysv_varargs_p field of the cfun->machine structure.
13203
13204	* config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
13205	Remove prototype.
13206	(rs6000_restore_machine_status): Remove prototype.
13207
132082001-01-09  Richard Henderson  <rth@redhat.com>
13209
13210	* sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
13211	reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
13212	* sched-deps.c (sched_analyze_1): Update uses of struct deps.
13213	(sched_analyze_2, sched_analyze_insn): Likewise.
13214	(sched_analyze, init_deps): Likewise.
13215	(free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
13216	* sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
13217	(compute_block_backward_dependences): Update propagate_deps call.
13218
132192001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
13220
13221	* gcc.c (process_command): Set switches[n_switches].ordering to 0.
13222
132232001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13224
13225	* cppinit.c (OPT_MD, OPT_MMD): Restore.
13226	(cpp_handle_option): Handle them.
13227	(cpp_post_options): Ensure one of -M or -MM is specified with
13228	any other -M? option.
13229	(init_dependency_output): Suppress output with -MG.
13230
132312001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13232
13233	* cpp.texi: Update.
13234	* invoke.texi: Update.
13235
132362001-01-09  Bernd Schmidt  <bernds@redhat.com>
13237
13238	* sh.md (reload_outsf): Generate recognizable patterns for
13239	TARGET_SH3E.
13240
132412001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13242
13243	* c-lang.c (lang_hooks): Update.
13244	(lang_init): Rename c_init.
13245	(lang_finish): Remove.
13246	* toplev.c (compile_file): Use lang_hooks for lang_init ()
13247	and lang_finish ().
13248	* toplev.h (lang_hooks): Add init () and finish ().
13249	* tree.h (lang_init, lang_finish): Remove.
13250	* cp/tree.h (lang_init, lang_finish): Remove.
13251	* cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
13252	* cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
13253	lang_hooks): New.
13254	(lang_init, lang_finish): Remove.
13255	* f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
13256	(lang_hooks): Update.
13257	* java/lang.c (lang_init): Rename java_init.
13258	(lang_finish): Remove.
13259	(lang_hooks): Update.
13260	* objc/objc-act.c (lang_init): Rename objc_init.
13261	(lang_finish): Remove.
13262	(lang_hoooks): Update.
13263
1326420001-01-09  Graham Stott  <grahams@redhat.com>
13265
13266	* cppfiles.c (_cpp_execute_include): Move `len` initialisation
13267	after `ptr` is initialized.
13268
132692001-01-09  Alexandre Oliva  <aoliva@redhat.com>
13270
13271	* config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
13272	(INITIALIZE_TRAMPOLINE): Adjust accordingly.
13273	* config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
13274	stack adjusts, instead of r3.
13275
132762001-01-09  Michael Hayes  <mhayes@redhat.com>
13277
13278	* flow.c (flow_loop_scan): Break out of ...
13279	(flow_loops_find) ... here.
13280	* basic-block.h (flow_loop_scan): New.
13281	(LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
13282	(LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
13283
132842001-01-09  Alexandre Oliva  <aoliva@redhat.com>
13285
13286	* cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
13287	macro_buffer_len.
13288	* cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
13289	realloc()ing macro_buffer.
13290
13291	* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
13292	if it's wider than long and the target's long is wider than the
13293	host's.
13294
132952001-01-09  Mark Mitchell  <mark@codesourcery.com>
13296
13297	Remove support for using UWIN as a host machine.
13298	* configure.in: Issue an error message.
13299	* configure: Regenerated.
13300	* config.gcc: Remove xm_* UWIN configury.
13301	* config/i386/xm-uwin.h: Remove.
13302
133032001-01-08  Nick Clifton  <nickc@redhat.com>
13304
13305	* config/v850/v850.c (ra_rtx): Delete.
13306	(v850_save_machine_status): Delete.
13307	(v850_restore_machine_status): Delete.
13308	(v850_init_machine_status): New function.
13309	(v850_mark_machine_status): New function.
13310	(v850_free_machine_status): New function.
13311	(v850_return_addr): Use ra_rtx field in machine structure.
13312	(v850_init_expanders): Use new functions.
13313
13314	* config/v850/v850-protos.h: Fix prototypes for v850_output_*
13315	* config/v850/v850.c: Change arguments to v850_output+* functions
13316	to take a const char *, to avoid compile time warning.
13317	* config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
13318	(USER_LABEL_PREFIX): Redefine.
13319
133202000-01-08  Jim Wilson  <wilson@redhat.com>
13321
13322	* sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
13323	1 to unsigned HOST_WIDE_INT before left shift.
13324
133252001-01-08  Nick Clifton  <nickc@redhat.com>
13326
13327	* config/arm/arm.c (arm_mark_machine_status): Check to see if
13328	the machine structure has been allocated.
13329	(arm_free_machine_status): New function: Free the machine
13330	specific function structure.
13331
133322001-01-08  Richard Henderson  <rth@redhat.com>
13333
13334	* jump.c (simplejump_p): Revert last change.
13335
133362001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
13337
13338	* cppinit.c (init): Rename init_library.
13339	(cpp_create_reader): Update.
13340	* gcc.c (cpp_options): If -o given, use it as the target of
13341	any -M options.
13342
133432001-01-08  Richard Earnshaw  <rearnsha@arm.com>
13344
13345	* arm.c (arm_arch5e): New variable.
13346	(all_cores): XScale is a 5TE device.
13347	(arm_override_options): Set arm_arch5e.
13348	(arm_init_builtins): __builtin_prefetch is in arch5e.
13349	* arm.h (arm_arch5e): Declare it.
13350
13351	* arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
13352
13353	* arm.md (define_constants): Add defines for UNSPEC and
13354	UNSPEC_VOLATILE insns.  Update all users.
13355	(define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
13356	* arm.c (multi_register_push, note_invalid_constants)
13357	(emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
13358	* arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
13359	(STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
13360
13361Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
13362
13363	* jump.c (jump_optimize_1): Use reversed_comparison_code
13364	instead of can_reverse_comparison_p.
13365	(jump_back_p): Likewise.
13366	(invert_exp_1): Likewise.
13367	(thread_jumps): Likewise.
13368	* simplify-rtx.c (simplify_unary_operation): Likewise.
13369	(simplify_ternary_operation): Likewise.
13370	* cse.c (find_comparison_args): Convert to use
13371	can_reverse_comparison_p.
13372	(record_jump_equiv): Likewise.
13373
133742001-01-08  Richard Earnshaw  <rearnsha@arm.com>
13375
13376	* arm.h (HARD_REGNO_RENAME_OK): Delete.
13377	(EPILOGUE_USES): Define.
13378	(INITIAL_ELIMINATION_OFFSET): Current prologue code does not
13379	automatically stack the LR if it isn't live.
13380
13381Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
13382
13383	* i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
13384	properly.
13385
13386Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
13387
13388	* ggc-page.c (max_alignment): New structure.
13389	(MAX_ALIGNMENT): New macro.
13390	(init_ggc): Use it to round up the sizes in the
13391	extra_order_size_table.
13392
133932001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13394
13395	* config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
13396	after reload.
13397
133982001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13399
13400	* builtins.def (BUILT_IN_FPRINTF): New entry.
13401
13402	* c-common.c (c_expand_builtin_fprintf): New function.
13403	(init_function_format_info): Handle __builtin_fprintf.
13404	(c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
13405	(c_expand_builtin): Handle BUILT_IN_FPRINTF.
13406
13407	* c-decl.c (duplicate_decls): Adjust comment.
13408
13409	* extend.texi (fprintf): Document new builtin.
13410
134112001-01-07  Richard Henderson  <rth@redhat.com>
13412
13413	* jump.c (simplejump_p): Recognize any single_set jump
13414	of the proper form.
13415
134162001-01-07  Richard Henderson  <rth@redhat.com>
13417
13418	* configure.in (slibdir): Accept an --with-slibdir option.
13419	Use "test" not "[" in configure.  Default to $(libdir).
13420
13421	* config/t-linux (SHLIB_INSTALL): Double quote slibdir;
13422	fix typo in rm -f.
13423	* config/t-aix43 (SHLIB_INSTALL): Likewise.
13424	* config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
13425	(SHLIB_LINK): Create links for the soname.
13426	* config/mips/t-iris6: Likewise.
13427	* config/sparc/t-slibgcc: Likewise.
13428	* config/sparc/t-slibgcc-sld: Likewise.
13429
134302001-01-07  Jakub Jelinek  <jakub@redhat.com>
13431
13432	* config/i386/i386.c (constant_call_address_operand): Accept
13433	(const (plus (symbol_ref) (const_int))).
13434	* config/i386/i386.h (PREDICATE_CODES): Add CONST for
13435	constant_call_address_operand.
13436
134372001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13438
13439	* libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
13440	and LONG_LONG_TYPE_SIZE > 32.
13441
134422001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13443
13444	* jump.c (reversed_comparison_code_parts): Fix typo introduced by
13445	the previous change.
13446
13447Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
13448
13449	* jump.c (reversed_comparison_code_parts, reversed_comparison_code):
13450	New.
13451	(can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
13452	(reverse_condition_maybe_unordered): Abort on unsigned comparisons.
13453	* rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
13454	Declare.
13455
134562001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13457
13458	* fix-header.c (read_scan_file): s/pfile/scan_in/.
13459
134602001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13461
13462	* c-lang.c (c_post_options): Call cpp_post_options.
13463	* objc/objc-act.c (objc_post_options): Similarly.
13464	* cppmain.c (main): Similarly.
13465	* fix-header.c (read_scan_file): Similarly.
13466	* cppinit.c (cpp_start_read): Move option consistency checks
13467	to cpp_post_options.  Don't call init_dependency_output.
13468	If needed, add default target and main file dependency.
13469	(OPT_MD, OPT_MMD): Remove.
13470	(OPT_MF): New.
13471	(cpp_handle_option): Update for OPT_* changes.
13472	(cpp_post_options): New.
13473	(init_dependency_output): Command line -MF overrides environment
13474	variables.  Don't set default target etc.  Suppress output
13475	if dependencies are going to stdout.
13476	(print_help): Update.
13477	* cpplib.h (cpp_post_options): New.
13478	* gcc.c (cpp_options): Update for -MD, -MMD, -MF.
13479
13480Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
13481
13482	* jump.c (comparison_dominates_p): Support unordered compares.
13483
13484Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
13485
13486	* simplify-rtx.c (simplify_relational_operation): Always simplify
13487	ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
13488	and UNGE.
13489
13490Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
13491
13492	* combine.c (combine_simplify_rtx): Recognize the unordered compares.
13493	(nonzero_bits): Likewise.
13494	(simplify_comparison): Likewise.
13495	(num_sign_bit_copies): Likewise; return more sane value depending
13496	on STORE_FLAG_VALUE.
13497	(known_cond): Do not assume EQ to be always true for equivalent
13498	operands.
13499
13500Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
13501
13502	* cse.c (fold_rtx): Handle unordered comparisons.
13503
13504Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
13505
13506	* rtlanal.c (set_of_1): New static function.
13507	(reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
13508	 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
13509	 reg_set_last_last_regno): Remove.
13510	(set_of): New global function.
13511	(set_of_data): New structure.
13512	(reg_set_p, reg_set_last): Revamp for set_of.
13513	* rtl.h (set_of): New.
13514
135152001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
13516
13517	* c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
13518	* extend.texi: Document _Exit builtin.
13519
135202001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13521
13522	* (initialize, initialize_builtins,
13523	initialize_dependency_output, initialize_standard_includes):
13524	Rename s/initialize/init. Update.
13525	(init_dependency_output): Move to after
13526	cpp_handle_options, the correct location temporally at least.
13527	(opt_comp): Move next to init (), its caller.  Fix prototype.
13528	(init): Make "initialized" local scope.
13529	(cpp_create_reader): Always call init ().
13530	(cpp_start_read): Update.
13531	(output_deps): New function, broken out of cpp_finish.
13532	(cpp_finish): Break out output_deps.
13533
135342001-01-07  Richard Henderson  <rth@redhat.com>
13535
13536	* collect2.c (COFF specific stuff): Revert 12-06 patch
13537	to prototype system functions.
13538
135392001-01-07  Michael Hayes  <mhayes@redhat.com>
13540
13541	* hard-reg-set.h: Add multiple include guard.
13542	* basic-block.h (struct loop): Add `sink' field.
13543	* loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
13544	(emit_iv_add_mult): Delete.
13545	(loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
13546	(loop_iv_add_mult_emit_before, loop_insn_sink): Define.
13547	(unroll_loop): Remove end_insert_before argument.
13548	* loop.c (loop_givs_rescan): Remove end_insert_before argument.
13549	(maybe_eliminate_biv_1): Likewise.
13550	(emit_iv_add_mult): Delete.
13551	(gen_add_mult, loop_regs_update): New.
13552	(loop_insn_emit_after, loop_insn_emit_before): New.
13553	(loop_insn_sink, loop_insn_sink_or_swim): New.
13554	(emit_iv_add_mult): Delete.
13555	(scan_loop): Set loop->sink.
13556	(loop_givs_reduce): Use loop_insn_sink and its ilk.
13557	(loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
13558	(maybe_eliminate_biv_1): Likewise.
13559	(maybe_eliminate_biv_1): Add basic block argument.
13560	* unroll.c (unroll_loop): Remove end_insert_before argument.
13561	(find_splittable_regs): Likewise.
13562	(find_splittable_regs): Use loop_insn_sink and its ilk.
13563	(find_splittable_givs, final_biv_value, final_giv_value): Likewise.
13564
135652001-01-07  Michael Hayes  <mhayes@redhat.com>
13566
13567	* loop.h (loop_insn_hoist): New prototype.
13568	* loop.c (loop_insn_hoist, loop_insn_emit_before): New.
13569	(move_movables, loop_givs_rescan): Use loop_insn_hoist.
13570	(check_dbra_loop, load_mems): Likewise.
13571	* unroll.c (unroll_loop, find_splittable_regs): Likewise.
13572	(find_splittable_givs): Likewise.
13573
135742001-01-07  Michael Hayes  <mhayes@redhat.com>
13575
13576	* loop.c (emit_iv_add_mult): Use single_set to examine new insn.
13577
135782001-01-07  Richard Henderson  <rth@redhat.com>
13579
13580	* sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
13581
135822001-01-07  Richard Henderson  <rth@redhat.com>
13583
13584	* Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
13585	NO_SHARED_LIBGCC_MULTILIB as required for the target.
13586	* gcc.c (init_spec): Massage the existing libgcc_spec into a
13587	variant that handles a shared libgcc.
13588	(process_command): Always validate -{static,shared}-libgcc.
13589	(do_spec_1): New 'M' case.
13590	* invoke.text (Link Options): Document -{static,shared}-libgcc.
13591
135922001-01-07  Richard Henderson  <rth@redhat.com>
13593
13594	* Makefile.in (slibdir): New variable.
13595	(libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
13596	(installdirs): Create slibdir.
13597	(install-libgcc, install-multilib): Defer to libgcc.mk.
13598	* configure.in (slibdir): Substitute.
13599	* mklibgcc.in (install): New target.
13600
13601	* config/t-linux (SHLIB_LINK): Create links for the soname.
13602	(SHLIB_INSTALL): New.
13603	* config/alpha/t-osf4 (SHLIB_INSTALL): New.
13604	* config/mips/t-iris6 (SHLIB_INSTALL): New.
13605	* config/rs6000/t-aix43 (SHLIB_INSTALL): New.
13606	* config/sparc/t-slibgcc (SHLIB_INSTALL): New.
13607	* config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
13608
136092001-01-07  Richard Henderson  <rth@redhat.com>
13610
13611	* config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
13612	* config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
13613	* config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
13614
136152001-01-07  Michael Hayes  <mhayes@redhat.com>
13616
13617	* loop.c (count_loop_regs_set): Delete.
13618	(load_mems_and_recount_loop_regs_set): Delete.
13619	(loop_regs_scan): Merge common code from count_loop_regs_set,
13620	scan_loop, and load_mems_and_recount_loop_regs_set.
13621	(scan_loop): Call load_mems directly and loop_regs_scan
13622	again if new registers created.
13623
136242001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13625
13626	* toplev.c (main): Call the front-end specific post_options
13627	hook if one is given.
13628	* toplev.h (struct_lang_hooks, lang_hooks): New.
13629	* c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
13630	for the C front end.
13631	* cp/decl2.c (cxx_post_options, lang_hooks): Implement
13632	lang_hooks for the C++ front end.
13633	* objc/objc-act.c (objc_post_options, lang_hooks): Implement
13634	lang_hooks for the ObjC front end.
13635	* f/com.c (lang_hooks): Hooks for the Fortran front end.
13636	* java/lang.c (lang_hooks): Hooks for the Java front end.
13637
136382001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13639
13640	* c-lex.c (init_c_lex): Request #define / #undef callbacks
13641	for verbose DWARF[2] debugging.
13642	(cb_define, cb_undef): The new callbacks.
13643	* toplev.h (debug_define, debug_undef): Make const correct.
13644	* toplev.c (debug_define, debug_undef): Similarly.  Do not
13645	perform the verbosity tests here anymore.
13646
136472001-01-07  Alexandre Oliva  <aoliva@redhat.com>
13648
13649	* reload.c (subst_reloads): Take INSN argument.  When
13650	replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
13651	* reload.h (subst_reloads): Adjust prototype.
13652	* reload1.c (reload_as_needed): Pass INSN to subst_reloads.
13653	* jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
13654	present in JUMP_INSNs and copy them to JUMP_LABEL.
13655	* flow.c (find_label_refs, find_basic_blocks_1): Skip
13656	JUMP_INSNs and insns with REG_LABELs that are followed by
13657	JUMP_INSNs with the same REG_LABEL.
13658	* sched-rgn.c (is_cfg_nonregular): Likewise.
13659	* rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
13660	note is available.
13661	* unroll.c (unroll_loop): Look for REG_LABEL notes in
13662	JUMP_INSNs too.
13663	* rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
13664
136652001-01-06  Richard Henderson  <rth@redhat.com>
13666
13667	* loop.c (scan_loop): Use xcalloc for the regs array.
13668	(load_mems_and_recount_loop_regs_set): Zero the new memory
13669	received from xrealloc.
13670
136712001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
13672
13673	* mkdeps.c (deps_add_dep): Fix vector re-allocation.
13674
13675Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
13676
13677	* integrate.c (copy_rtx_and_substitute): When copying
13678	an ignored return value, strip REG_FUNCTION_VALUE_P.
13679
136802001-01-06  Michael Hayes  <mhayes@redhat.com>
13681
13682	* loop.c (debug_biv, debug_giv): New.
13683	(loop_biv_dump): Break out from ...
13684	(record_biv): ... here.
13685	(loop_giv_dump): Break out from ...
13686	(record_giv): ... here.
13687	(loop_bivs_check): Use print_simple_rtl.
13688	* unroll.c (loop_iterations): Use print_simple_rtl.
13689
136902000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13691
13692	* pa.md (return, return_internal): Modify patterns to prevent regrename
13693	mucking with the return pointer.
13694
136952001-01-05  Richard Henderson  <rth@redhat.com>
13696
13697	* dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
13698
13699Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
13700
13701	* config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
13702	version supplied by Matteo Frigo.
13703
137042001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13705
13706	* cpp.texi: Update for -MQ.
13707	* cppinit.c (cpp_create_reader): Always create pfile->deps.
13708	(cpp_cleanup): Always free pfile->deps.
13709	(initialize_dependency_output): Don't create pfile->deps.
13710	(cpp_handle_option): Similarly.
13711	(OPT_MQ): New.
13712	* gcc.c (cpp_options): Handle -MQ.
13713	(DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
13714	* mkdeps.c (base_name): Remove.
13715	(deps_init): Don't allocate vector space until it's needed.
13716	(deps_free): Only free vectors if allocated.
13717	(deps_add_target, deps_add_dep): Update for initial allocation.
13718	(deps_add_default_target): Don't strip to the base_name.
13719
137202001-01-05  DJ Delorie <dj@redhat.com>
13721
13722	* config/v850/v850.h (RETURN_ADDR_RTX): Define.
13723	(INIT_EXPANDERS): Define.
13724
13725	* config/v850/v850.c (struct machine_function): Define.
13726	(v850_save_machine_status): New function.
13727	(v850_restore_machine_status): New function.
13728	(v850_return_addr): New function.
13729	(v850_init_expanders): New function.
13730
13731	* config/v850/v850-protos.h: Add prototypes for v850_return_addr
13732	and v850_init_expanders.
13733
137342001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
13735
13736	* cpplib.h (struct cpp_reader): Add help_only field.
13737	* cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
13738	(cpp_handle_option): Set pfile->help_only if we see -h,
13739	--help, -target-help, or --version.  Print version string but
13740	do not set help_only if we see -v or -version.  Make text
13741	printed by -v match that printed by (-)-version.
13742
13743	* cppmain.c (main): Exit after option parsing if
13744	pfile->help_only is true.
13745
13746	* toplev.c (independent_decode_option): Call print_version,
13747	then exit, if we see --version (but not -version).
13748	(print_version): Split lengthy message into two lines.
13749
137502001-01-05  Nick Clifton  <nickc@redhat.com>
13751
13752	* config/v850/v850.c (v850_encode_data_area): Use alloca to create
13753	temporary string for initialisation before calling ggc_alloc_string.
13754
137552001-01-06  Michael Hayes  <mhayes@redhat.com>
13756
13757	* rtl.h (print_simple_rtl): New.
13758	* print-rtl.c (print_simple_rtl): New.
13759	(flag_simple): New.
13760	(print_rtx): Disable printing of flags and modes, etc.,
13761	if `flag_simple` nonzero.
13762
137632001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
13764
13765	* function.c (fixup_var_refs): Use push_to_full_sequence where
13766	possible.
13767
137682001-01-05  Michael Meissner  <meissner@redhat.com>
13769
13770	* flags.h (flag_reorder_blocks): Add declaration.
13771	(flag_rename_block): Ditto.
13772
137732001-01-05  DJ Delorie  <dj@redhat.com>
13774
13775	* function.c (reorder_blocks): Make sure the flags are all reset
13776	before using them to mark blocks, else a second invocation will
13777	corrupt the block chain.
13778	(reorder_blocks_0): New, resets the flags.
13779
13780Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
13781
13782	* cse.c (find_comparison_args): Stop if the argument is known to
13783	be constant.
13784
137852001-01-05  Alexandre Oliva  <aoliva@redhat.com>
13786
13787	* config/sh/sh.md (movdf): When splitting load into pair of
13788	registers, don't clobber the register used in the address too
13789	early.
13790
137912001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
13792
13793	* varasm.c (mark_constant_pool): Improve initial comments.
13794	(mark_constants): Move marking of constants to mark_constant.
13795	(mark_constant): New function to recursively mark all constants
13796	referred to by a constant.
13797
137982001-01-05  Catherine Moore  <clm@redhat.com>
13799
13800	* dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
13801
138022001-01-05  Phil Edwards  <pme@sources.redhat.com>
13803
13804	* cp/lang-options.h:  Bring comment in line with reality.
13805	* f/lang-options.h:  Likewise.
13806	* java/lang-options.h:  Likewise.
13807	* objc/lang-options.h:  Likewise.
13808	* ch/lang-options.h:  Likewise.
13809	* f/g77.texi:  And update the manual.
13810
138112001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
13812	    Denis Chertykov  <denisc@overta.ru>
13813
13814	* config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
13815	* config/avr/avr.c (avr_peep2_scratch_safe): New function.
13816	* config/avr/avr.md (all peepholes that request a scratch register):
13817	Call it, FAIL the peephole if not safe (in interrupt functions).
13818
138192001-01-05  Mark Mitchell  <mark@codesourcery.com>
13820
13821	* ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
13822
138232001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
13824
13825	* builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
13826	Define.
13827	* builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
13828	BUILT_IN_CREAL and BUILT_IN_CIMAG.
13829	* c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
13830	conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
13831	(expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
13832	BUILT_IN_CIMAG.
13833	* extend.texi: Document these builtins.
13834
138352001-01-05  Daniel Berlin  <dberlin@redhat.com>
13836
13837	* c-common.c (lang_get_alias_set): Say we know nothing of
13838	VECTOR_TYPE aliasing.
13839
13840	* dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
13841
138422001-01-05  Bruce Korb  <bkorb@gnu.org>
13843
13844	* fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
13845	their x* equivalent versions for atexit-less systems
13846	* fixinc/fixincl.c(main): do not return from main() on atexit-less
13847	systems (or any other system any more).
13848
138492001-01-05  Richard Earnshaw  <rearnsha@arm.com>
13850
13851	* arm.md (ldmsi_postinc): Avoid use of match_dup between input and
13852	output operands.  Use arm_hard_register_operand for operand 4.
13853	(stmsi_postinc): Similarly.
13854	(ldmsi): Use arm_hard_register_operand for opernand 2.
13855	(stmsi): Similarly.
13856	* arm.c (arm_hard_register_operand): New function.
13857	* arm-protos.h (arm_hard_register_operand): Prototype it.
13858
13859	* arm.h (HARD_REGNO_RENAME_OK): Define.
13860
13861Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
13862
13863	* simplify-rtx.c (cfc_args): add "unordered" field.
13864	(check_fold_consts): Set unordered field.
13865	(simplify_relational_operation): Simplify the unordered
13866	comparisons.
13867
13868	* reg-stack.c (swap_rtx_condition): Ensure that the transformation
13869	is valid.
13870
13871	* emit-rtl.c (try_split): Fix code to mark labels.
13872	* jump.c (mark_jump_label): Make global.
13873	* rtl.h (mark_jump_label): Declare.
13874
13875	* predict.c (estimate_probability): Handle unordred comparisons.
13876
138772001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13878
13879	* cpp.texi: Update for -MP.  Clarify behavior of -MT.
13880	* cppinit.c (initialize_dependency_output):  Update.
13881	(cpp_finish): Output dummy targets for -MP.
13882	(OPT_MP): New.
13883	(cpp_handle_option): Handle -MP.  Don't quote -MT options.
13884	* cpplib.h (struct cpp_options): Add deps_phony_targets.
13885	* gcc.c (cpp_options): Update to handle -MP.
13886	* mkdeps.c (deps_add_target, deps_add_default_target): Update
13887	to quote only the default target.
13888	(deps_phony_targets): Insert a preceding newline.  Rename from
13889	deps_dummy_targets for consistency.
13890	* mkdeps.h: Update
13891
138922001-01-05  Alexandre Oliva  <aoliva@redhat.com>
13893
13894	* calls.c (emit_library_call_value_1): Support
13895	INIT_CUMULATIVE_LIBCALL_ARGS.
13896	* tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
13897
138982001-01-04  Richard Henderson  <rth@redhat.com>
13899
13900	* c-decl.c (finish_struct): Detect flexible array members
13901	used in an inappropriate context.
13902	* c-typeck.c (really_start_incremental_init): Special case
13903	constructor_max_index for zero length arrays.
13904	(pop_init_level): Allow initialization of flexible array
13905	members.  Deprecate initialization of zero length arrays.
13906	Don't issue missing initializer warning for flexible array
13907	members or zero length arrays.
13908	(process_init_element): Don't dereference null DECL_SIZE.
13909	* varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
13910	Don't abort for empty constructors.  Use size_binop
13911	(output_constructor): Add commentary regarding zero length
13912	array futures.  Abort if we try to initialize an array of
13913	unspecified length with a non-empty constructor in the middle
13914	of a structure.
13915
13916	* extend.texi (Zero Length): Update and clarify documentation
13917	on static initialization.
13918
139192001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13920
13921	* config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
13922	with more than 32767 words of local storage.
13923
139242001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13925
13926	* config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
13927	for 'abs', 'labs', and 'fabs'.
13928	(c4x_expand_builtin): Likewise.
13929	* config/c4x/c4x.h (enum c4x_builtins): Likewise.
13930
139312001-01-05  Alexandre Oliva  <aoliva@redhat.com>
13932
13933	* config/sh/sh.md (prget, prset): New insn types.
13934	(return delay slot): Don't allow prset.
13935	(call, sfunc delay slot): Don't allow prget.
13936	(movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
13937	for prset and prget.
13938
139392001-01-05  Michael Hayes  <mhayes@redhat.com>
13940
13941	* loop.h (struct loop_reg): New.
13942	(struct loop_regs): Change to use array of `struct loop_reg'.
13943	* loop.c: Replace assortment of varrays with single regs array.
13944	(count_one_set): Delete may_not_move array argument
13945	and use regs array instead.  All caller's changed.
13946	(count_loop_regs_set): Delete may_not_move and single_usage
13947	arguments and use regs array instead.  All caller's changed.
13948	(find_single_use_in_loop): Replace usage array argument with pointer
13949	to regs structure.  All caller's changed.
13950	(loop_optimize): Delete `moved_once' array.
13951
139522001-01-05  Michael Hayes  <mhayes@redhat.com>
13953
13954	* loop.c (prescan_loop): Set loop_info->has_nonconst_call.
13955	Use it instead of loop_info->has_call for scanning loop mems.
13956	(check_dbra_loop): Replace loop_info->has_call test with
13957	loop_info->has_nonconst_call.
13958
139592000-01-04  Matthew Hiller  <hiller@redhat.com>
13960
13961	* config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
13962	for TARGET_SH3E.
13963
139642001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
13965
13966	* fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
13967	use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
13968
139692001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
13970
13971	* c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
13972	(flag_short_double, flag_short_wchar): Define.
13973	(c_common_nodes_and_builtins): Create many tree nodes shared
13974	between C and C++ here instead of in cp/decl.c and ...
13975	* c-decl.c (init_decl_processing): ... here.
13976	(SIZE_TYPE, WCHAR_TYPE): Don't define.
13977	(flag_short_double, flag_short_wchar): Don't define.
13978	(record_builtin_type): New function.
13979	(build_void_list_node): New function.
13980	* c-common.h (flag_short_double, flag_short_wchar,
13981	record_builtin_type, build_void_list_node): Declare.
13982
13983Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
13984
13985	* integrate.c (expand_inline_function): Don't put a virtual
13986	register into the reg map.
13987
13988	* function.c (fixup_var_refs_1): If force_operand didn't put
13989	the address into the target, move it there.
13990
139912001-01-04  Mark Mitchell  <mark@codesourcery.com>
13992
13993	Special-case tree_decl/tree_list allocations.
13994	* ggc-page.c (OBJECT_PER_PAGE): Reimplement.
13995	(OBJECT_SIZE): New macro.
13996	(NUM_EXTRA_ORDER): Likewise.
13997	(extra_order_size_table): New variable.
13998	(NUM_ORDERS): New macro.
13999	(objects_per_page_table): New variable.
14000	(object_size_table): New variable.
14001	(G.pages): Use NUM_ORDERS to bound the array.
14002	(G.page_tails): Likewise.
14003	(DIV_ROUND_UP): Remove.
14004	(BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
14005	(alloc_page): Use OBJECT_SIZE.
14006	(size_lookup): Don't make it const.
14007	(ggc_alloc): Use OBJECT_SIZE.
14008	(ggc_set_mark): Likewise.
14009	(ggc_get_size): Likewise.
14010	(init_ggc): Set up the object_size_table, objects_per_page_table,
14011	and adjust size_lookup.
14012	(ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
14013	(ggc_pop_context): Use NUM_ORDERS.
14014	(clear_marks): Likewise.
14015	(sweep_pages): Likewise.
14016	(poison_pages): Likewise.
14017	(ggc_print_statistics): Use OBJECT_SIZE.
14018
14019Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14020
14021	* varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
14022	Only call array_size_for_constructor if last field and array type
14023	with no upper bound.
14024
140252001-01-04  Philip Blundell  <philb@gnu.org>
14026
14027	* config/arm/arm.c (arm_gen_constant): Prefer to emit constants
14028	from bit 31 downwards, if this requires no more insns.
14029	(count_insns_for_constant): New helper function for above.
14030
140312001-01-04  Alexandre Oliva  <aoliva@redhat.com>
14032
14033	* gencodes.c (output_predicate_decls): Remove empty initializer.
14034
140352001-01-04  Mark Mitchell  <mark@codesourcery.com>
14036
14037	* tree.c (copy_node): Remove documentation about obstacks.
14038	(buidl1): Check that nobody tries to build 2-argument nodes this
14039	way.
14040
140412001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14042
14043	* sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
14044	fp_high_losum_p.
14045
14046	* gencodes.c (output_predicate_decls): Fill empty initializer
14047	braces.
14048
140492001-01-04  Jakub Jelinek  <jakub@redhat.com>
14050
14051	* tradcpp.c (deps_file, print_deps_missing_files): New variables.
14052	(main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
14053	or -MM.
14054	(do_include): Handle missing headers like cpp0.
14055	* cppfiles.c (_cpp_execute_include): Don't prefix absolute header
14056	paths with first include pathname.  Don't strcat to uninitialized
14057	string.
14058
140592001-01-04  Bernd Schmidt  <bernds@redhat.com>
14060
14061	* regrename.c (regrename_optimize): Don't rename from frame pointer
14062	if frame_pointer_needed.
14063	(do_replace): Don't set ORIGINAL_REGNO to a hard register number.
14064	* config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
14065	(ia64_reorg): Use it instead of scheduling if ! optimize.
14066	(errata_emit_nops): Properly call asm_noperands.
14067	(ia64_sched_reorder): Finish cycle if we see an asm.
14068	(ia64_variable_issue): Clear scheduling state after asms.
14069
140702001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14071
14072	* cpp.texi: Update for -MT.
14073	* cppinit.c (initialize_dependency_output): Add a default
14074	target if none has been given already.
14075	(no_tgt, OPT_MT): New.
14076	(cpp_handle_option): Handle -MT.  Update -M etc.
14077	* cpplib.h (struct cpp_options): Remove deps_target.
14078	* gcc.c (cpp_options): Handle -MT.
14079	* mkdeps.c (struct deps): Move from mkdeps.h.
14080	(deps_calc_target): Rename deps_add_default_target.  Add a
14081	default target if none has been specified already.
14082	* mkdeps.h (struct deps): Move to mkdeps.c.
14083	(deps_calc_target): Rename deps_add_default_target.
14084
140852000-01-03  Richard Henderson  <rth@redhat.com>
14086
14087	* c-decl.c (grokdeclarator): Give zero-length arrays size zero.
14088	Remove dead code.
14089	* c-typeck.c (push_init_level): Move checks for flexible array
14090	members and zero length arrays ...
14091	(pop_init_level): ... here.  Silently discard empty initializations.
14092	Remove dead code.
14093	* varasm.c (output_constructor): Update for sizeof change to
14094	zero-length arrays.
14095
14096	* extend.texi (Zero Length): Clarify semantics.
14097
140982001-01-03  Alexandre Oliva  <aoliva@redhat.com>
14099
14100	* configure.in (tm.h): Include isns-codes.h last.
14101	* configure: Rebuilt.
14102
141032001-01-03  Richard Henderson  <rth@redhat.com>
14104
14105	* config/alpha/alpha.md (addvsi3, addvdi3): New.
14106	(negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
14107
141082001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14109
14110	* tradcpp.c (main): Make sure finclude() is called with a valid
14111	indepth value while handling -include.
14112
141132001-01-03  Alexandre Oliva  <aoliva@redhat.com>
14114
14115	* gencodes.c (output_predicate_decls): New function.
14116	(main): Call it.
14117	* machmode.h (GET_MODE_MASK): Arrange for it to be defined
14118	even if it is not the first time machmode.h is #included.
14119	* config/sh/sh.c (fpul_operand): Declare MODE argument.
14120	* tm.texi (PREDICATE_CODES): Document predicate declarations.
14121	* gcc.texi (Copyright): Added 2001.
14122
141232001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14124
14125	* c-common.c (c_common_lang_init): New function.  Warn if format
14126	warning options which only have effects when used with -Wformat
14127	are used without -Wformat.
14128	* c-common.h (c_common_lang_init): Declare.
14129	* c-lang.c (lang_init): Call c_common_lang_init.
14130	* objc/objc-act.c (lang_init): Call c_common_lang_init.
14131
141322001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14133
14134	* configure.in: Check for the mktemp command.
14135	* configure: Regenerate.
14136	* gccbug.in: Use a separate temporary file $TEMP0 for one use of
14137	$TEMP.  Create temporary files with mktemp, if available at
14138	configure time; otherwise use set -C.  Remove temporary files
14139	before exit.
14140
141412001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14142
14143	* configure.in: Require at least texinfo 4.0.  Check for whether
14144	Pod::Man is sufficiently recent to regenerate GCC manpages.
14145	* configure:  Regenerate.
14146	* Makefile.in (TEXI2POD): Call perl explicitly rather than relying
14147	on #!.
14148	(GENERATED_MANPAGES): Define.
14149	(generated-manpages): New target.  Depend on cpp.1 as well as
14150	gcov.1.
14151	(install-man): Depend on $(GENERATED_MANPAGES) (defined by
14152	configure to generated-manpages or empty) rather than on the
14153	manpages directly.  Remove execute permission from installed
14154	gcov.1 as well as cpp.1.
14155	* cpp.1, gcov.1: Regenerate.
14156
141572001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14158
14159	* builtins.c (expand_builtin_strncmp): Use host_integerp and
14160	tree_low_cst.  Allow using cmpstrsi in more cases.
14161
14162Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14163
14164	* config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
14165	sized types.
14166
14167Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
14168
14169	* build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
14170	* Makefile.in (HOST_CFLAGS): Mention build-make.
14171
14172Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14173
14174	* config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
14175	as JUMP_INSN.
14176
141772001-01-01  Bernd Schmidt  <bernds@redhat.com>
14178
14179	* builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
14180	a REG rtx.
14181
14182	* cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
14183	callers changed.
14184
14185	* alias.c (throughout): Use ORIGINAL_REGNO when accessing
14186	reg_base_value and reg_known_value arrays.
14187	(init_alias_analysis): Add more cases to detect known values.
14188	* sched-deps.c (deps_may_trap_p): New function.
14189	(sched_analyze_2): Use it.
14190
141912001-01-03  Alexandre Oliva  <aoliva@redhat.com>
14192
14193	* combine.c (simplify_shift_const): Even if we're sign-extracting,
14194	don't discard an ASHIFTRT if we're shifting in a wider mode.
14195
141962000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14197
14198	* toplev.c (rest_of_compilation): Don't print basic block information
14199	when CFG isn't up to date.
14200
142012001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
14202
14203	* config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
14204	(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
14205	(UNALIGNED_SHORT_ASM_OP): Define.
14206	(CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
14207
142082001-01-02  Mark Mitchell  <mark@codesourcery.com>
14209
14210	* fold-const.c (fold_convert): Fix typo.
14211
142122001-01-02  Richard Henderson  <rth@redhat.com>
14213
14214	* c-common.h (ASM_INPUT_P): New.
14215	* c-parse.in (asm): Set it when needed.
14216	* c-semantics.c (genrtl_asm_stmt): Test it instead of the
14217	existence of an operand.
14218
14219Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
14220
14221	* dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
14222	(dwarf2out_frame_debug_expr): Likewise.
14223	(mem_loc_descriptor): Handle PRE and POST_MODIFY.
14224
14225Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
14226
14227	* i386.c (ix86_split_to_parts): Return number of part required;
14228	handle TFmodes.
14229	(print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
14230	TFmodes.
14231	(ix86_split_long_move): Use number of part returned
14232	by ix86_split_to_parts
14233	* i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
14234	New macros.
14235	(TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
14236	(LONG_DOUBLE_TYPE_SIZE): Change from constant.
14237	(MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
14238	(INTEL_EXTENDED_IEEE_FORMAT): Likewise.
14239	(ALIGN_MODE_128): Add TFmode.
14240	(IS_STACK_MODE): Likewise.
14241	(HARD_REGNO_NREGS): TFmode needs 3 registers.
14242	(HARD_REGNO_OK): Support TFmodes.
14243	(ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
14244	* i386.md (scheduler definitions): Use memory operand to determine
14245	fst/fld instructions; use mode attribute to determine real mode of
14246	the instruction.
14247	(*tf): New patterns, expanders and splitters; based on XFmode patterns.
14248	* invoke.texi (128bit-long-double, 96bit-long-double): Document.
14249
142502001-01-02  Mark Mitchell  <mark@codesourcery.com>
14251
14252	* tree.def (TRUTH_NOT_EXPR): Improve documentation.
14253
14254Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
14255
14256	* expr.c (store_constructor_field): Update ALIGN before calling
14257	store_constructor.
14258
142592001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
14260
14261	* config/mips/mips.c (function_arg): Don't pass NULL_TREE to
14262	host_integerp.
14263
142642001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
14265
14266	* tm.texi (FUNCTION_ARG): Document that @var{type} can be an
14267	incomplete type.
14268
14269Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
14270
14271	* c-decl.c (start_function): Don't warn on third parameter to main.
14272
142732001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14274
14275	* tsystem.h: Define HAVE_DECL_GETOPT.
14276
142772001-01-02  Philip Blundell  <pb@futuretv.com>
14278
14279	* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
14280	of input operand.
14281
142822001-01-02  Richard Henderson  <rth@redhat.com>
14283
14284	* alpha.md (*ze_and_ne): Duplicate insn condition to split.
14285
142862001-01-02  Andreas Jaeger  <aj@suse.de>
14287
14288	* c-decl.c (c_decode_option): Remove support of
14289	-Wmissing-noreturn.
14290
14291	* toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
14292	(W_options): Add -Wmissing-noreturn here.
14293
14294	* flow.c: Define lang_missing_noreturn_ok_p.
14295	(check_function_return_warnings): Use it.
14296
14297	* c-common.h: Declare lang_missing_noreturn_ok_p.
14298
14299	* c-lang.c (c_missing_noreturn_ok_p): New function.
14300	(lang_init): Set lang_missing_noreturn_ok_p.
14301
14302	* invoke.texi (Warning Options): Document this.
14303
143042000-12-27  Phil Edwards  <pme@sources.redhat.com>
14305
14306	* extend.texi (C++ Extensions):  New node for C++ attributes;
14307	describe init_priority and com_interface.
14308	* invoke.texi:  Remove -finit-priority as it now has zero effect.
14309	* install.texi:  Fix xref syntax.
14310	* md.texi:  Likewise.
14311
14312Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14313
14314	* config.gcc (sparc64-wrs-vxworks*): New case.
14315	* config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
14316
14317	* config/sparc/sparc.c (sparc_override_options): Do support different
14318	pointer and architecture size.
14319	* config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
14320	(POINTERS_EXTEND_UNSIGNED): Define.
14321	(Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
14322	(FUNCTION_MODE): Define to be Pmode.
14323	* config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
14324
14325	* function.c (expand_function_end): Properly handle DECL_RESULT
14326	and copy when ptr_mode != Pmode.
14327	* expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
14328
143292001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14330
14331	* c-common.c (c_common_nodes_and_builtins): Set prototype
14332	parameters for __builtin_fputs, __builtin_fputc and
14333	__builtin_fwrite.  Don't declare plain fputc as a builtin.
14334
143352001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14336
14337	* loop.c (add_label_notes): Increment the label usage count when
14338	a note is added to an insn which refers to a CODE_LABEL.
14339	* gcse.c (add_label_notes): Likewise.
14340
143412001-01-01  Andreas Jaeger  <aj@suse.de>
14342
14343	* loop.c (scan_loop): Use xmalloc to allocate movables.
14344
143452001-01-01  Alexandre Oliva  <aoliva@redhat.com>
14346
14347	* tm.texi (REGISTER_MOVE_COST): Add a mode argument.
14348	* reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
14349	* reload1.c (REGISTER_MOVE_COST): Likewise.
14350	* regclass.c (REGISTER_MOVE_COST): Likewise.
14351	(move_cost, may_move_in_cost, may_move_out_cost): Add mode
14352	dimension.  Adjust all users.
14353	(init_reg_sets_1): Iterate on all modes.
14354	* config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
14355	* config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
14356	* config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
14357	* config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
14358	* config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
14359	* config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
14360	* config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
14361	* config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
14362	* config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
14363	* config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
14364	* config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
14365	* config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
14366	* config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
14367	* config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
14368	* config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
14369	* config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
14370	* config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
14371	* config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
14372	* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
14373	* config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
14374	* config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
14375	* config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
14376	* config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
14377	* config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
14378	* config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
14379	* config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
14380	* config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
14381
143822001-01-01  Bernd Schmidt  <bernds@redhat.com>
14383
14384	* alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
14385	arg VARIES_P.  Call it with extra arg.
14386	(true_dependence): Likewise.
14387	* rtl.h (rtx_addr_can_trap_p): Declare.
14388	(rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
14389	prototypes.
14390	* rtlanal.c (rtx_addr_can_trap_p): No longer static.
14391	(rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
14392	pic offset table register if it's zero.  All callers changed.
14393	(rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
14394
14395Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14396
14397	* explow.c (convert_memory_address, case SYMBOL_REF): Copy
14398	STRING_POOL_ADDRESS_P.
14399
14400	* config/sparc/sparc.c (input_operand): Properly test for short op.
14401
14402	* config.gcc (sparc-*-elf): Include sparc/sol2.h.
14403	(sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
14404	(sparclite-*-elf*, sparc86x-*-elf*): Likewise.
14405	* config/sparc/elf.h: No longer include sol2.h.
14406	* config/sparc/lifeelf.h: No longer include sparc/elf.h.
14407	* config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
14408
14409	* config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
14410
144112001-01-01  Michael Hayes  <mhayes@redhat.com>
14412
14413	* loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
14414	(find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
14415	(record_initial): Likewise.
14416	* unroll.c (copy_loop_body, loop_iterations): Likewise.
14417	(remap_split_bivs): Likewise.
14418
144192001-01-01  Michael Hayes  <mhayes@redhat.com>
14420
14421	* loop.c (loop_ivs_free): New function.
14422	(strength_reduce): Break out from...
14423
144242001-01-01  Michael Hayes  <mhayes@redhat.com>
14425
14426	* loop.h (struct iv): New.
14427	(REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
14428	(struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
14429	'reg_biv_class' fields with 'regs' and 'n_regs'.
14430	(struct ivs): Rename 'loop_iv_list' field to 'list'.
14431	* loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
14432	* unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
14433
144342000-12-31  Alexandre Oliva  <aoliva@redhat.com>
14435
14436	* resource.c (mark_referenced_resources): Abort() before
14437	attempting to mark a pseudo register.
14438	(mark_set_resources): Likewise.
14439
144402001-01-01  Michael Hayes  <mhayes@redhat.com>
14441
14442	* loop.h (REG_IV_CLASS): New accessor macro.
14443	* loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
14444	* unroll.c (REG_IV_CLASS): Likewise.
14445
14446See ChangeLog.4 for earlier changes.
14447