1169689Skan2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
2169689Skan
3169689Skan	* resource.c (mark_referenced_resources): Abort() before
4169689Skan	attempting to mark a pseudo register.
5169689Skan	(mark_set_resources): Likewise.
6169689Skan
7169689Skan2000-12-31  Philip Blundell  <philb@gnu.org>
8169689Skan
9169689Skan	* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Add missing asm
10169689Skan	operands.
11169689Skan
12169689Skan2000-12-30  Richard Henderson  <rth@redhat.com>
13169689Skan
14169689Skan	* dbxout.c (dbxout_block): Invert logic on eliding LBRAC/RBRAC.
15169689Skan	Initialize variables properly for DBX_LBRAC_FIRST.
16169689Skan
17169689Skan2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18169689Skan
19169689Skan	* expr.c (expand_expr, case COMPONENT_REF): Fix typo in last change.
20169689Skan
21169689Skan2000-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
22169689Skan
23169689Skan	* builtins.c (validate_arglist): New function, use it.
24169689Skan
25169689Skan2000-12-30  Philip Blundell  <philb@gnu.org>
26169689Skan
27169689Skan	* config/arm/arm.c (arm_expand_prologue): Fix typos in error
28169689Skan	message and comment.  Note location of testcase for an unhandled
29169689Skan	situation.
30169689Skan
31169689Skan2000-12-30  Jeffrey Oldham  <oldham@codesourcery.com>
32169689Skan
33169689Skan	* defaults.h (BUILD_VA_LIST_TYPE): New definition.
34169689Skan	* tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node
35169689Skan	is a copy, not an alias.
36169689Skan
37169689Skan2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
38169689Skan
39169689Skan	* calls.c (calls_function_1, case CONSTRUCTOR): New case.
40169689Skan
41169689Skan	* alias.c (alias_sets_conflict_p): New function.
42169689Skan	(mems_in_disjoint_alias_sets_p): Use it.
43169689Skan	(readonly_fields_p): Moved from expr.c; check for record type.
44169689Skan	(objects_must_conflict_p): New function.
45169689Skan	* calls.c (expand_call): Use assign_temp as much as possible, use
46169689Skan	readonly variant if assigned once, and don't set memory attributes.
47169689Skan	(emit_library_call_value_1, store_one_arg): Likewise.
48169689Skan	* integrate.c (expand_inline_function): Likewise.
49169689Skan	* stmt.c (expand_asm_operands, expand_return): Likewise.
50169689Skan	* expr.c (copy_blkmode_from_reg, store_constructor): Likewise.
51169689Skan	(store_field, save_noncopied_parts, expand_expr): Likewise.
52169689Skan	(expand_expr_unaligned): Likewise.
53169689Skan	(readonly_fields_p): Moved to alias.c.
54169689Skan	(safe_from_p): Rework handling of SAVE_EXPR.
55169689Skan	MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF.
56169689Skan	* function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE.
57169689Skan	(assign_stack_for_temp): Use objects_must_confict_p.
58169689Skan	Set all memory attributes from type, if specified.
59169689Skan	(mark_temp_slot): Mark TYPE field.
60169689Skan	* tree.h (alias_sets_conflict_p, readonly_fields_p): New decls.
61169689Skan	(objects_must_conflict_p): Likewise.
62169689Skan
63169689Skan	* stmt.c (expand_decl): Don't use assign_stack_temp in error case.
64169689Skan	(add_case_node): No need to copy nodes anymore.
65169689Skan
66169689Skan2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
67169689Skan
68169689Skan	* config/sh/sh.c (split_branches): Don't dereference re-computed
69169689Skan	`beyond' before checking it's non-NULL.
70169689Skan
71169689Skan2000-12-29  Robert Lipe <robertl@sco.com>
72169689Skan
73169689Skan	Remove COFF support from i?86-pc-sco3.2v5.
74169689Skan	* i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II.
75169689Skan	(TARGET_ELF): Now always true.
76169689Skan	(SUBTARGET_SWTICHES: )Remove -mcoff.
77169689Skan
78169689Skan	* i386/t-sco5 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
79169689Skan	MULTILIB_EXCEPTION): Nuke coff.
80169689Skan	(CRTSTUFF_T_CFLAGS_S):  Deleted.
81169689Skan	(TARGET_LIBGCC2_CFLAGS): Added.
82169689Skan
83169689Skan2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
84169689Skan
85169689Skan	* varasm.c (output_constant_def): Don't ENCODE_SECTION_INFO
86169689Skan	twice.  Update desc->rtl and ->label, in case ENCODE_SECTION_INFO
87169689Skan	modifies them.
88169689Skan
89169689Skan2000-12-29  Bernd Schmidt  <bernds@redhat.com>
90169689Skan
91169689Skan	* ia64.c (ia64_expand_load_address): Accept additional scratch
92169689Skan	register argument.  All callers & prototype changed.
93169689Skan	Use scratch register when generating load_symptr insns.
94169689Skan	* ia64.md (movdi_symbolic): Clobber a scratch register.  Use it
95169689Skan	when calling ia64_expand_load_address.
96169689Skan	(movdi): Generate movdi_symbolic with additional operand.
97169689Skan	(load_gprel64): Use pic_offset_table_rtx instead of (reg:DI 1).
98169689Skan	(load_symptr): Likewise.  Use additional operand as a scratch
99169689Skan	register instead of generating it here.
100169689Skan
101169689Skan	* basic-block.h: Add a comment.
102169689Skan	* flow.c (PROP_POSTRELOAD): New macro.
103169689Skan	(update_life_info): Add it to prop_flags.
104169689Skan	(mark_set_1): If it is set, compute REG_N_SETS for the original
105169689Skan	register number of a hard reg.
106169689Skan
107169689Skan	* emit-rtl.c (gen_raw_REG): New function.
108169689Skan	(gen_rtx_REG, gen_reg_rtx, init_emit_once): Use it instead of
109169689Skan	gen_rtx_raw_REG.
110169689Skan	* print-rtl.c (print_rtx): Print ORIGINAL_REGNO.
111169689Skan	* final.c (alter_subreg): Update it.
112169689Skan	* regrename.c (do_replace): Likewise.  Use gen_raw_REG.
113169689Skan	* rtl.def (REG): Update comment.
114169689Skan	* rtl.h (X0UINT, ORIGINAL_REGNO): New macros.
115169689Skan	(gen_raw_REG): Declare.
116169689Skan
117169689Skan2000-12-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
118169689Skan
119169689Skan	* tree.c (get_set_constructor_bits): Use host_integerp and
120169689Skan	tree_low_cst.
121169689Skan
122169689Skan	* local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN.
123169689Skan
124169689Skan	* toplev.c (main): Call xmalloc_set_program_name.
125169689Skan	* gcc.c (main): Likewise.
126169689Skan
127169689Skan2000-12-29  Philip Blundell  <philb@gnu.org>
128169689Skan
129169689Skan	* config/arm/arm.c (arm_override_options): Fix typo in warning
130169689Skan	message.
131169689Skan
132169689Skan2000-12-29  Richard Henderson  <rth@redhat.com>
133169689Skan
134169689Skan	* config/alpha/alpha.c (alpha_expand_block_move): Initialize
135169689Skan	src_align and dst_align in bits.  Do unaligned quadword loads
136169689Skan	if possible for BWX too.
137169689Skan	(alpha_expand_block_clear): Initialize align in bits.  Track
138169689Skan	small leading offsets into a larger alignment.  Play games with
139169689Skan	stq_u for large 4-byte aligned blocks.  Use load/mask/store
140169689Skan	for appropreately aligned heads and tails.
141169689Skan
142169689Skan2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
143169689Skan
144169689Skan	* function.c (assign_parms): Convert arguments passed by
145169689Skan	reference to the right mode.
146169689Skan
147169689Skan2000-12-28  Geoffrey Keating  <geoffk@redhat.com>
148169689Skan
149169689Skan	* c-parse.in (select_or_iter_stmt): Use truthvalue_conversion
150169689Skan	on the condition of a FOR statement, so that it gets typechecked
151169689Skan	and optimized.
152169689Skan
153169689Skan2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
154169689Skan
155169689Skan	* c-decl.c (grokdeclarator): Prevent crash in case of overflow in
156169689Skan	array size.
157169689Skan
158169689Skan	* calls.c (emit_library_call_value_1): Add to call_fusage the
159169689Skan	stack slot assigned to argument passed by reference.
160169689Skan
161169689Skan2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
162169689Skan
163169689Skan	* toplev.h (extern really_sorry): Remove extern declaration for
164169689Skan        nonexistent function.
165169689Skan
166169689Skan2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
167169689Skan
168169689Skan	* varasm.c (initializer_constant_valid_p): Indicate subtraction of
169169689Skan	pointers to the same string constant is absolute.
170169689Skan
171169689Skan2000-12-28  Joseph S. Myers  <jsm28@cam.ac.uk>
172169689Skan
173169689Skan	* c-common.c (enum format_type): Add strfmon_format_type.
174169689Skan	(decl_attributes): Handle format attributes strfmon and
175169689Skan	__strfmon__.
176169689Skan	(FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD,
177169689Skan	FMT_FLAG_EMPTY_PREC_OK): Define.
178169689Skan	(format_char_info): Update comment for flag_chars.
179169689Skan	(format_flag_spec): Add skip_next_char.
180169689Skan	(format_kind_info): Add left_precision_char.
181169689Skan	(printf_flag_specs, scanf_flag_specs, strftime_flag_specs,
182169689Skan	format_types): Update for these new structure members and flags.
183169689Skan	(time_char_table): Make const.
184169689Skan	(strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs,
185169689Skan	monetary_char_table): New.
186169689Skan	(format_types): Add details of strfmon formats.
187169689Skan	(init_function_format_info): Create default attribute for strfmon.
188169689Skan	(check_format_info_main): Check the new flags.  Handle
189169689Skan	skip_next_char and left precision.
190169689Skan	* toplev.c (documented_lang_options): Update description of
191169689Skan	-Wformat.
192169689Skan	* extend.texi: Document strfmon format attributes.  Document
193169689Skan	attribute forms such as __printf__.  Clarify format_arg attribute
194169689Skan	documentation.
195169689Skan	* invoke.texi (-Wformat): Update for strfmon formats.
196169689Skan
197169689Skan2000-12-28  Andreas Jaeger  <aj@suse.de>
198169689Skan
199169689Skan	* expmed.c (store_bit_field): Fix last patch.
200169689Skan
201169689Skan2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
202169689Skan
203169689Skan	* config/sh/crt1.asm (start_l): `__SH4_SINGLE_ONLY__' was missing
204169689Skan	the trailing `__'.
205169689Skan
206169689Skan2000-12-28  Alan Lehotsky  <lehotsky@tiac.net>
207169689Skan
208169689Skan	* expmed.c (store_bit_field): Correctly compute smallest mode that
209169689Skan	is sufficient to contain all bits we are storing.
210169689Skan
211169689Skan2000-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
212169689Skan
213169689Skan	* builtins.c (build_function_call_expr): New function.  Use it
214169689Skan	everywhere in lieu of manually constructing a CALL_EXPR.
215169689Skan
216169689Skan2000-12-27  Chandrakala Chavva  <cchavva@redhat.com>
217169689Skan
218169689Skan	* calls.c (store_one_arg):  If parm is passed both in stack and in
219169689Skan	register and offset is greater than reg_parm_stack_space, split
220169689Skan	the offset and call emit_push_insn().
221169689Skan
222169689Skan2000-12-27  Nick Clifton  <nickc@redhat.com>
223169689Skan
224169689Skan	* ifcvt.c (noce_emit_store_flag): Handle jump insns that are
225169689Skan	PARALLEL.
226169689Skan
227169689Skan2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
228169689Skan
229169689Skan	* rtl.c (copy_most_rtx, shallow_copy_rtx): Copy frame_related
230169689Skan	flag.
231169689Skan
232169689Skan2000-12-27  Bruce Korb  <bkorb@gnu.org>
233169689Skan
234169689Skan	* fixinc/Makefile.in: fix for ancient Bourne shell
235169689Skan	* fixinc/Makefile.BEOS: obsolete
236169689Skan	* fixinc/Makefile.DOS: obsolete
237169689Skan	* fixinc/fixincl.sh(LINKS): use `test -d' rather than `ls' for testing
238169689Skan
239169689Skan2000-12-27  Bernd Schmidt  <bernds@redhat.com>
240169689Skan
241169689Skan	* sched-deps.c (get_condition, conditions_mutex_p): New functions.
242169689Skan	(add_dependence): Use them to avoid adding unnecessary dependencies
243169689Skan	between conditionally executed insns.
244169689Skan	(sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free
245169689Skan	dependency lists if current insn is a COND_EXEC.
246169689Skan
247169689Skan2000-12-27  Geoffrey Keating  <geoffk@redhat.com>
248169689Skan
249169689Skan	* config/rs6000/rs6000.md (define_attr "length"): Correct
250169689Skan	calculation.
251169689Skan
252169689Skan2000-12-26  Kazu Hirata  <kazu@hxi.com>
253169689Skan
254169689Skan	* config/h8300/h8300.c: Fix a comment typo.
255169689Skan	(get_shift_alg): Fix a typo in the assembly code for 12-bit
256169689Skan	ASHIFTRT in HImode.  Do not output extra whitespace after one line
257169689Skan	of assembly code.  Output a tab after an opcode instead of a
258169689Skan	space.
259169689Skan	(emit_a_shift): Output a tab after an opcode instead of a space.
260169689Skan
261169689Skan2000-12-23  Marek Michalkiewicz  <marekm@linux.org.pl>
262169689Skan
263169689Skan	* config/avr/avr.c (out_movqi_r_mr, out_movhi_r_mr, out_movsi_r_mr,
264169689Skan	out_movsi_mr_r, out_movqi_mr_r, out_movhi_mr_r): Use %o instead of
265169689Skan	%4 in output templates, do not modify operands passed by the caller.
266169689Skan
267169689Skan2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
268169689Skan
269169689Skan	* builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS):
270169689Skan	Don't define.
271169689Skan	* builtins.c (expand_builtin): Don't handle BUILT_IN_LABS,
272169689Skan	BUILT_IN_LLABS and BUILT_IN_IMAXABS.
273169689Skan	* c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for
274169689Skan	builtin labs, llabs and imaxabs.
275169689Skan	(expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS
276169689Skan	and BUILT_IN_IMAXABS.
277169689Skan
278169689Skan2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
279169689Skan
280169689Skan	* c-common.c (builtin_function_2): New function.
281169689Skan	(c_common_nodes_and_builtins): Use it to define each pair (foo,
282169689Skan	__builtin_foo) of builtins in one place.
283169689Skan
284169689Skan2000-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
285169689Skan
286169689Skan	* gccbug.in: Add libgcj and preprocessor categories.
287169689Skan
288169689Skan2000-12-22  Bernd Schmidt  <bernds@redhat.com>
289169689Skan
290169689Skan	* config/ia64/ia64.c (itanium_reorder): Only schedule stops in
291169689Skan	the final scheduling pass.
292169689Skan
293169689Skan2000-12-22  Nick Clifton  <nickc@redhat.com>
294169689Skan
295169689Skan	* config/arm/arm.h (struct machine_function): Add new field
296169689Skan	'lr_save_eliminated'.
297169689Skan	* config/arm/arm.c (arm_compute_save_reg_mask): Do not include the
298169689Skan	link register if its save has been eliminated.
299169689Skan	(output_arm_prologue): Mention if the save of the link register
300169689Skan	has been eliminated.
301169689Skan	(output_arm_epilogue): Rename 'live_regs_mask' to
302169689Skan	'saved_regs_mask'.
303169689Skan	Test 'saved_regs_mask' for the link register, not regs_ever_live.
304169689Skan	(arm_expand_prologue): If the link register has not been saved set
305169689Skan	lr_save_eliminated and emit a USE to prevent later passes from
306169689Skan	scavenging it.
307169689Skan
308169689Skan	* dwarf2out_frame_debug_expr: Allow the (scratch) frame
309169689Skan	pointer to be initialized from the stack pointer plus a
310169689Skan	constant.
311169689Skan
312169689Skan2000-12-22  Bernd Schmidt  <bernds@redhat.com>
313169689Skan
314169689Skan	* regrename.c (struct du_chain): New field "earlyclobber".
315169689Skan	(enum scan_actions): Remove unused entry "note_reference".
316169689Skan	(enum scan_actions_name): Likewise.
317169689Skan	(note_sets, clear_dead_regs, merge_overlapping_regs): New static
318169689Skan	functions.
319169689Skan	(regrename_optimize): Use them to compute unavailable regs; get
320169689Skan	rid of the more simpleminded code we used to have here.
321169689Skan	Use a tick array to ensure registers are allocated in a more
322169689Skan	round-robin way.  Disable code that only optimizes registers
323169689Skan	that were seen more than once.
324169689Skan	(referenced_regs): Remove variable.
325169689Skan	(scan_rtx_reg): New arg "earlyclobber".  All callers changed.
326169689Skan	Store its value in newly generated du_chain structures.
327169689Skan	Add new du_chains at the end, not the start, of the list.
328169689Skan	Don't handle the "note_reference" action.
329169689Skan	(scan_rtx): New arg "earlyclobber".  All callers changed.
330169689Skan	(build_def_use): Lose code to keep track of referenced regs.
331169689Skan
332169689Skan2000-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
333169689Skan
334169689Skan	* Makefile.in (sched-deps.o, sched-rgn.o): Fix dependency typo.
335169689Skan
336169689Skan	* fp-bit.h (usi_to_float): Add prototype.
337169689Skan
338169689Skan	* i386.c (ix86_expand_builtin): Delete unused label.
339169689Skan
340169689Skan	* dwarf2out.c (file_info_cmp): Prototype.
341169689Skan	(dwarf2out_line): Hide variable `old_in_use'.
342169689Skan
343169689Skan	* objc-act.c (objc_fatal): Delete.
344169689Skan
345169689Skan	* sched-vis.c (visualize_stall_cycles): Remove unused variable.
346169689Skan
347169689Skan	* system.h (getopt): Fix error in last change.
348169689Skan
349169689Skan	* varasm.c (assemble_trampoline_template): Constify.
350169689Skan
351169689Skan2000-12-22  Jason Merrill  <jason@redhat.com>
352169689Skan
353169689Skan	* collect2.c (main): Use auto_demangling.
354169689Skan
355169689Skan2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
356169689Skan
357169689Skan	* function.c (assign_parms): Update parm's DECL_INCOMING_RTL
358169689Skan	when optimizing PARALLEL to REG.
359169689Skan
360169689Skan2000-12-22  Graham Stott  <grahams@redhat.com>
361169689Skan
362169689Skan	* reload.c (update_auto_inc_notes): New, broken out from ...
363169689Skan	(find_reloads_address_1): ... use here, also correct possible
364169689Skan	use of uninitialized reloadnum.
365169689Skan
366169689Skan2000-12-21  David O'Brien  <obrien@FreeBSD.org>
367169689Skan
368169689Skan	* config/freebsd.h (LIB_SPEC): remove -kthread option.
369169689Skan
370169689Skan2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
371169689Skan
372169689Skan	* resource.c (mark_set_resources): Use MARK_SRC_DEST for
373169689Skan	PRE_MODIFY and POST_MODIFY cases.
374169689Skan
375169689Skan	* rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY.
376169689Skan
377169689Skan2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
378169689Skan
379169689Skan	* md.texi (Looping Patterns): New node.
380169689Skan
381169689Skan2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
382169689Skan
383169689Skan	* gcc.texi, cpp.texi: Update last-updated dates.
384169689Skan
385169689Skan2000-12-21  Chandrakala Chavva  <cchavva@redhat.com>
386169689Skan
387169689Skan	* varasm.c (output_addressed_constants): Use language specific
388169689Skan	expander on unknown nodes.
389169689Skan
390169689Skan2000-12-21  Graham Stott  <grahams@redhat.com>
391169689Skan
392169689Skan	* combine.c (distribute_notes): Handle REG_NON_LOCAL_GOTO notes.
393169689Skan
394169689Skan2000-12-21  Bernd Schmidt  <bernds@redhat.com>
395169689Skan
396169689Skan	* Makefile.in (out_object_file): Depend on sched-int.h.
397169689Skan	* rtl.h (single_set_1): New macro.
398169689Skan	(single_set_2): Renamed from single_set_1 and extra argument added.
399169689Skan	* rtlanal.c (single_set_2): Likewise.
400169689Skan
401169689Skan	* config/ia64/ia64-protos.h (get_bundle_name, ia64_issue_rate,
402169689Skan	ia64_adjust_cost, ia64_sched_init, ia64_sched_finish,
403169689Skan	ia64_sched_reorder, ia64_sched_reorder2, ia64_variable_issue):
404169689Skan	Declare.
405169689Skan	* config/ia64/ia64.c: Include "sched-int.h".
406169689Skan	(hard_regno_rename_ok): Also disallow renaming from the various
407169689Skan	reg_save_* regs.
408169689Skan	(ia64_safe_itanium_requiers_unit0, ia64_safe_itanium_class,
409169689Skan	ia64_safe_type, init_insn_group_barriers, group_barrier_needed_p,
410169689Skan	safe_group_barrier_needed_p, fixup_errata): New static functions.
411169689Skan	(rtx_needs_barrier):  Handle bundle selector and cycle display
412169689Skan	insns.
413169689Skan	(emit_insn_group_barriers): Accept additional FILE * arg.  All
414169689Skan	callers changed.  Rework to only generate stop bits between
415169689Skan	basic blocks that haven't been inserted by scheduling.
416169689Skan	(struct bundle, struct ia64_packet): New structures.
417169689Skan	(NR_BUNDLES, NR_PACKETS): New macros.
418169689Skan	(bundle, packets, type_names): New static arrays.
419169689Skan	(ia64_final_schedule): New variable.
420169689Skan	(ia64_single_set, insn_matches_slot, ia64_emit_insn_before,
421169689Skan	gen_nop_type, finish_last_head, rotate_one_bundle, rotate_two_bundles,
422169689Skan	cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
423169689Skan	find_best_packet, itanium_reorder, dump_current_packet, schedule_stop):
424169689Skan	New static functions.
425169689Skan	(ia64_issue_rate, ia64_sched_init, ia64_sched_reorder,
426169689Skan	ia64_sched_finish, ia64_sched_reorder2, ia64_variable_issue): New
427169689Skan	functions.
428169689Skan	(ia64_reorg): Perform a final scheduling pass.
429169689Skan	* config/ia64/ia64.h (CONST_COSTS): Slightly increase SYMBOL_REF costs.
430169689Skan	(MAX_CONDITIONAL_EXECUTE, ADJUST_COST, ISSUE_RATE, MD_SCHED_INIT,
431169689Skan	MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_FINISH,
432169689Skan	MD_SCHED_VARIABLE_ISSUE): Define macros.
433169689Skan	(ia64_final_schedule): Declare variable.
434169689Skan	* config/ia64/ia64.md (attr itanium_class): Add some more classes.
435169689Skan	(attr type): Account for them.
436169689Skan	(itanium_requires_unit0): New attribute.
437169689Skan	(function units): Rewrite.
438169689Skan	(some splitters): Don't create scheduling barriers here.
439169689Skan	(gr_spill_internal, gr_restore_internal): Don't predicate the
440169689Skan	pseudo-op.
441169689Skan	(nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1,
442169689Skan	bundle_selector): New patterns.
443169689Skan	(insn_group_barrier): Now has an operand.
444169689Skan
445169689Skan2000-12-21  DJ Delorie  <dj@redhat.com>
446169689Skan
447169689Skan	* dwarf2out.c (simple_decl_align_in_bits): new
448169689Skan	(field_byte_offset): Try both the type align and the
449169689Skan	decl align, use whichever works, preferring the type align.
450169689Skan
451169689Skan2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
452169689Skan
453169689Skan	* gccbug.in: Fix typo.
454169689Skan
455169689Skan2000-12-20  Benjamin Kosnik  <bkoz@redhat.com>
456169689Skan
457169689Skan	* Makefile.in (gcc_gxx_target_include_dir): Use instead of
458169689Skan	build_tooldir and libstdcxx_incdir.
459169689Skan
460169689Skan2000-12-20  Robert Lipe <robertlipe@usa.net>
461169689Skan
462169689Skan	* haifa-sched.c (schedule_block): Provide empty source statement
463169689Skan	if not MD_SCHED_REORDER2.
464169689Skan
465169689Skan2000-12-20  Richard Henderson  <rth@redhat.com>
466169689Skan
467169689Skan	* rtl.h (REG_NON_LOCAL_GOTO): New.
468169689Skan	* rtl.c (reg_note_name): Update.
469169689Skan	* stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note.
470169689Skan	* builtins.c (expand_builtin_longjmp): Likewise.
471169689Skan	* flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do
472169689Skan	not emit an edge.
473169689Skan
474169689Skan2000-12-20  Marek Michalkiewicz  <marekm@linux.org.pl>
475169689Skan
476169689Skan	* config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r, out_movhi_mr_r):
477169689Skan	Do not output undefined opcodes where source or destination register
478169689Skan	overlaps with modified pointer register.  Handle (X + d) addresses.
479169689Skan	* config/avr/avr.md (*movhi, *movsi, *movsf): Correct insn length
480169689Skan	in alternatives with memory operand.
481169689Skan
482169689Skan2000-12-20  Richard Henderson  <rth@redhat.com>
483169689Skan
484169689Skan	* c-typeck.c (build_asm_stmt): New, broken out from ...
485169689Skan	(c_expand_asm_operands): ... here.  Just do rtl expansion.
486169689Skan	(c_expand_return): Return the new stmt node.
487169689Skan	(c_start_case, do_case): Likewise.
488169689Skan	* c-common.c (c_expand_expr_stmt): Likewise.
489169689Skan	* c-common.h: Update declarations.
490169689Skan	* c-tree.h: Likewise.
491169689Skan	* c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY.
492169689Skan	* c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace.
493169689Skan	(nested_function, notype_nested_function): Likewise.
494169689Skan	(compstmt): Return the compound statement not the binding level.
495169689Skan	(lineno_labeled_stmt): Simplify.
496169689Skan	(lineno_stmt, lineno_label): Set STMT_LINENO.
497169689Skan	(stmt, label): Return the new stmt node.
498169689Skan
499169689Skan2000-12-20  Bernd Schmidt  <bernds@redhat.com>
500169689Skan
501169689Skan	* Makefile.in (OBJS): Add sched-ebb.o.
502169689Skan	(sched-ebb.o): New rule.
503169689Skan	(sched-vis.o): Depend on hard-reg-set.h and $(BASIC_BLOCK_H).
504169689Skan	(haifa-sched.o): Depend on insn-flags.h.
505169689Skan	* haifa-sched.c: Include "insn-flags.h".
506169689Skan	(priority): Don't access BLOCK_NUM, use the new contributes_to_priority
507169689Skan	callback.
508169689Skan	* rtl.h (schedule_ebbs): Declare.
509169689Skan	* sched-int.h (struct sched_info): Add new members
510169689Skan	contributes_to_priority and compute_jump_reg_dependencies.
511169689Skan	* sched-rgn.c (contributes_to_priority, compute_jump_reg_dependencies):
512169689Skan	New functions.
513169689Skan	(region_sched_info): Add them.
514169689Skan	* sched-vis.c: Include "hard-reg-set.h" and "basic-block.h".
515169689Skan	* sched-ebb.c: New file.
516169689Skan	* sched-deps.c (sched_analyze_insn): Add code to handle JUMP_INSNs.
517169689Skan
518169689Skan	* flow.c (ior_reg_cond, and_reg_cond, elim_reg_cond): Properly
519169689Skan	handle all relational operators.
520169689Skan
521169689Skan2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
522169689Skan
523169689Skan	* final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF.
524169689Skan	* tm.texi: Document it.
525169689Skan
526169689Skan2000-12-19  Benjamin Kosnik  <bkoz@redhat.com>
527169689Skan
528169689Skan	* Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir
529169689Skan	instead of gcc_tooldir.
530169689Skan
531169689Skan2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
532169689Skan
533169689Skan	* system.h (getopt): Update prototype to match include/getopt.h.
534169689Skan
535169689Skan2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
536169689Skan
537169689Skan	From Jeff Law.
538169689Skan	* pa.c (basereg_operand): Simplify.
539169689Skan
540169689Skan2000-12-19  Bernd Schmidt  <bernds@redhat.co.uk>
541169689Skan
542169689Skan	* haifa-sched.c (rm_line_notes): Arguments are now head and tail,
543169689Skan	not block number.  All callers and prototype changed.
544169689Skan	(set_priorities): Likewise.
545169689Skan	(save_line_notes): Add head and tail arguments; all callers and
546169689Skan	prototype changed.
547169689Skan	(restore_line_notes): Likewise.  Don't crash on insns generated
548169689Skan	during scheduling.
549169689Skan	(schedule_block): Don't use BLOCK_HEAD/BLOCK_END macros.
550169689Skan	Call MD_SCHED_INIT with additional argument.
551169689Skan	When starting a new cycle, emit cycle_display insns if available.
552169689Skan	Don't stop scheduling when encountering a JUMP_INSN, but add another
553169689Skan	call to schedule_more_p in the inner loop.
554169689Skan	Call MD_SCHED_REORDER2 after scheduling an insn.
555169689Skan	Call MD_SCHED_FINISH once all insns are scheduled.
556169689Skan	(sched_init): Compensate for the fact that get_block_head_tail
557169689Skan	doesn't include leading notes.
558169689Skan	* sched-deps.c (free_deps): Free vectors here.
559169689Skan	* sched-rgn.c (compute_block_backward_dependencies): Not here.
560169689Skan	(last_was_jump): New static variable.
561169689Skan	(schedule_more_p): Test it.
562169689Skan	(init_ready_list): Initialize it.
563169689Skan	(can_schedule_ready_p): Set it if we have a JUMP_INSN.
564169689Skan
565169689Skan	* config/i386/i386.h (MD_SCHED_INIT): Add new arg.
566169689Skan	* config/m32r/m32r.h (MD_SCHED_INIT): Add new arg.
567169689Skan	* config/sparc/sparc.h (MD_SCHED_INIT): Add new arg.
568169689Skan
569169689Skan	* md.texi (cycle_display): Document.
570169689Skan	* tm.texi (MD_SCHED_INIT): Document new arg.
571169689Skan	(MD_SCHED_FINISH, MD_SCHED_REORDER2): Document.
572169689Skan
573169689Skan	* flow.c (ior_reg_cond, nand_reg_cond, not_reg_cond): Rewrite
574169689Skan	to use different representation.  All callers changed.
575169689Skan	(and_reg_cond): Renamed from nand_reg_cond; caller changed.
576169689Skan	(init_propagate_block_info): Don't test flags to determine
577169689Skan	whether to compute conditional lifetimes.
578169689Skan	Adjust code for new representation of conditional lifetimes.
579169689Skan	(mark_regno_cond_dead): Similar adjustment.
580169689Skan	(free_reg_cond_life_info): Similar adjustment.
581169689Skan	(elim_reg_cond): New function.
582169689Skan	(flush_reg_cond_1): Use it.
583169689Skan
584169689Skan2000-12-19  Catherine Moore  <clm@redhat.com>
585169689Skan
586169689Skan	* reload1.c (reload_combine): Take multi-hard-regs into account
587169689Skan	when processing CALL_INSN_FUNCTION_USAGE.
588169689Skan
589169689Skan2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
590169689Skan
591169689Skan	* invoke.texi (-print-search-dirs): Make references to cpp refer
592169689Skan	to cpp0 instead.
593169689Skan
594169689Skan2000-12-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
595169689Skan
596169689Skan	* fold-const.c (tree_expr_nonnegative_p): Treat truth values as
597169689Skan	non-negative.
598169689Skan
599169689SkanTue Dec 19 00:37:08 2000  J"orn Rennecke <amylaar@redhat.com>
600169689Skan
601169689Skan	* reload.c (push_reload): When using a dying register for the reload
602169689Skan	register in an in-out reload, use outmode if wider than inmode.
603169689Skan
604169689Skan2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
605169689Skan
606169689Skan	* config/d30v/d30v.h (EXIT_BODY): Update comment.
607169689Skan
608169689Skan2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
609169689Skan
610169689Skan	* config.gcc (*-*-linux*): Don't define HAVE_ATEXIT or BSTRING.
611169689Skan	* tm.texi (EXIT_BODY): Update documentation.
612169689Skan	* config/freebsd.h, config/netware.h, config/arm/coff.h,
613169689Skan	config/arm/conix-elf.h, config/arm/unknown-elf.h,
614169689Skan	config/d30v/d30v.h, config/mcore/mcore.h, config/pj/pj.h,
615169689Skan	sparc/sp86x-aout.h: Remove definitions of HAVE_ATEXIT (some
616169689Skan	commented out) and associated comments.
617169689Skan
618169689Skan2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
619169689Skan
620169689Skan	* c-common.c (STD_C9L, ADJ_STD): Define.
621169689Skan	(printf_length_specs, scanf_length_specs): Mark "ll" as standard
622169689Skan	STD_C9L.
623169689Skan	(T99_LL): Rename to T9L_LL.
624169689Skan	(T99_ULL): Rename to T9L_ULL.
625169689Skan	(print_char_table, scan_char_table): Use T9L_LL and T9L_ULL
626169689Skan	instead of T99_LL and T99_ULL.
627169689Skan	(check_format_info_main): Use ADJ_STD on all format standard
628169689Skan	versions being compared.
629169689Skan	* c-common.h: Declare warn_long_long.
630169689Skan	* c-tree.h: Don't declare warn_long_long.
631169689Skan
632169689Skan2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
633169689Skan
634169689Skan	* COPYING: Update to current
635169689Skan	ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
636169689Skan	to 19yy as example year in copyright notice).
637169689Skan
638169689Skan2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
639169689Skan
640169689Skan	* c-lex.c (cb_file_change): Treat in_system_header as strictly
641169689Skan	boolean (0 or 1).
642169689Skan
643169689Skan2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
644169689Skan
645169689Skan	* cppmain.c: Update print.lineno with -P.
646169689Skan
647169689Skan2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
648169689Skan
649169689Skan	* c-lex.c: s/change_file/file_change.
650169689Skan	* cpplib.h: Similarly.
651169689Skan	* cppmain.c: Similarly.
652169689Skan	* fix-header.c: Similarly.
653169689Skan	* cppfiles.c (stack_include_file): Pass the buffer location and
654169689Skan	size to cpp_push_buffer.  Generate the file_change callback,
655169689Skan	so that sysp is already set.
656169689Skan	* cpphash.h: Add _cpp_do_file_change.
657169689Skan	* cpplib.c (do_line): Set buffer->sysp directly. Generate the
658169689Skan	file_change callback after setting sysp.
659169689Skan	(_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception
660169689Skan	here.
661169689Skan	(cpp_push_buffer): Don't generate a callback.  Clear sysp.
662169689Skan	(cpp_pop_buffer): Clean up logic.
663169689Skan
664169689Skan2000-12-18  Benjamin Kosnik  <bkoz@redhat.com>
665169689Skan
666169689Skan	* configure.in (gcc_gxx_include_dir): Simplify.
667169689Skan	(libstdcxx_incdir): Export.
668169689Skan	* configure: Regenerate.
669169689Skan	* Makefile.in (PREPROCESSOR_DEFINES): Add in
670169689Skan	GPLUSPLUS_TOOL_INCLUDE_DIR bits here..
671169689Skan	(libstdcxx_incdir): Add.
672169689Skan	* cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path.
673169689Skan
674169689Skan2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
675169689Skan
676169689Skan	* c-lex.c (lex_lineno): Remove.
677169689Skan	(init_c_lex, c_lex): Remove lex_lineno.
678169689Skan	(cb_change_file): Update lineno correctly, both before calling
679169689Skan	push_srcloc and before leaving the function.
680169689Skan	(cb_def_pragma): Set lineno before outputting diagnostics.
681169689Skan
682169689SkanSun Dec 17 18:45:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
683169689Skan
684169689Skan	* print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN.
685169689Skan	Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE.
686169689Skan	Use print_node_brief to print bounds.
687169689Skan
688169689Skan2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
689169689Skan
690169689Skan	* cpplib.h (struct cpp_reader): Remove references to string_pool
691169689Skan	and temp_string_pool.
692169689Skan	* cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using
693169689Skan	ident_pool in place.
694169689Skan	* cpplex.c (parse_number, unescaped_terminator_p, parse_string,
695169689Skan	save_comment, cpp_token_as_text): Similarly.
696169689Skan	* cpplib.c (do_define, glue_header_name, parse_assertion): Similarly.
697169689Skan	* cppmacro.c (make_number_token, builtin_macro, lock_pools,
698169689Skan	unlock_pools, stringify_arg, paste_tokens): Similarly.
699169689Skan
700169689SkanSun Dec 17 12:41:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
701169689Skan
702169689Skan	* dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case.
703169689Skan	(loc_descriptor_from_tree, case CONVERT_EXPR): Likewise.
704169689Skan	(loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise.
705169689Skan
706169689Skan2000-12-17  Richard Earnshaw  <rearnsha@arm.com>
707169689Skan
708169689Skan	* Makefile.in (check-po): Use $(MAKE).
709169689Skan	(risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise.
710169689Skan
711169689Skan2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
712169689Skan
713169689Skan	* cppmain.c (check_multiline_token): New function.
714169689Skan	(scan_buffer): Use it.
715169689Skan	(cb_change_file): Restructure to avoid warning.
716169689Skan	* cpperror.c (print_location): Initialize col.
717169689Skan
718169689Skan2000-12-14  Philipp Thomas  <pthomas@suse.de>
719169689Skan
720169689Skan	* protoize.c (main): Correctly set locale categories.
721169689Skan	* gcc.c (main): Likewise.
722169689Skan	* cppmain.c (general_init): Likewise.
723169689Skan	* toplev.c (main): Likewise.
724169689Skan	* gcov.c (main): Likewise.
725169689Skan	* collect2.c (main): Likewise.
726169689Skan
727169689Skan2000-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
728169689Skan
729169689Skan	* c-common.c (c_common_nodes_and_builtins): Create a
730169689Skan	cstring_endlink, use it.  Rename int_ftype_string_string to
731169689Skan	int_ftype_cstring_cstring, string_ftype_string_int to
732169689Skan	string_ftype_cstring_int, and string_ftype_string_string to
733169689Skan	string_ftype_cstring_cstring.  Prefer sizetype_endlink and
734169689Skan	int_endlink to manually recreating them.  Fix the prototype
735169689Skan	set for __builtin_strspn/__builtin_strcspn.
736169689Skan
737169689Skan2000-12-12  Marek Michalkiewicz  <marekm@linux.org.pl>
738169689Skan
739169689Skan	* config/avr/avr.c (out_set_stack_ptr): Update comment.
740169689Skan	(print_operand): Add support for %~ and %o.
741169689Skan
742169689Skan2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
743169689Skan
744169689Skan	* c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code.
745169689Skan
746169689Skan2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
747169689Skan
748169689Skan	* c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up.
749169689Skan	* cpperror.c (print_containing_files): Get right line number.
750169689Skan	(print_location): Output column of 1 if 0.
751169689Skan	* cppfiles.c (stack_include_file): cpp_push_buffer handles
752169689Skan	the callback.
753169689Skan	* cpphash.h (_cpp_do_file_change): No longer external.
754169689Skan	* cpplib.c (do_file_change): Now local to cpplib.c.
755169689Skan	(do_line): Fake a buffer stack for preprocessed files.
756169689Skan	(cpp_push_buffer): Create a file_change callback.  Handle faked
757169689Skan	buffers.
758169689Skan	(cpp_pop_buffer): Similarly.
759169689Skan	* cpplib.h: BUF_FAKE: New buffer type.
760169689Skan	* cppmain.c: Update to handle correct file renaming where a
761169689Skan	#line is the first line of the main file, and produce only
762169689Skan	the renamed file, not the original file, as output.
763169689Skan
764169689Skan2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
765169689Skan
766169689Skan	* config/c4x/c4x.md: Remove redundant @s from output patterns.
767169689Skan
768169689Skan2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
769169689Skan            Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
770169689Skan
771169689Skan	* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma.
772169689Skan
773169689Skan	* config/c4x/c4x-protos.h (c4x_init_pragma): New prototype.
774169689Skan
775169689Skan	* config/c4x/c4x.c (c4x_init_pragma): New function.
776169689Skan	(c_lex_func): New variable.
777169689Skan	(c4x_parse_pragma): Use c_lex_func.
778169689Skan
779169689Skan2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
780169689Skan            Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
781169689Skan
782169689Skan	* config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument
783169689Skan	to c4x_init_builtins.
784169689Skan
785169689Skan	* config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument.
786169689Skan
787169689Skan	* config/c4x/c4x.c (c4x_init_builtins): Add tree argument.
788169689Skan	(c4x_output_ascii):  Fix.
789169689Skan
790169689Skan2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
791169689Skan            Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
792169689Skan
793169689Skan	* config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define.
794169689Skan
795169689Skan	* config/c4x/c4x-protos.h (c4x_init_builtins): New prototype.
796169689Skan	(c4x_expand_builtin): Likewise.
797169689Skan
798169689Skan	* config/c4x/c4x.c (c4x_init_builtins): New function.
799169689Skan	(c4x_expand_builtin): Likewise.
800169689Skan
801169689Skan	* config/c4x/c4x.md (floatunsqihf2): New pattern.
802169689Skan	(*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise.
803169689Skan	(fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise.
804169689Skan	(*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise.
805169689Skan	(*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise.
806169689Skan
807169689Skan2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
808169689Skan
809169689Skan	* libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes.
810169689Skan	* libgcc2.c (__absvsi2): Use Wtype and DWtype.
811169689Skan	(__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise.
812169689Skan	(__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise.
813169689Skan
814169689Skan2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
815169689Skan
816169689Skan	* config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block
817169689Skan	statement in do/while(0).
818169689Skan
819169689SkanSat Dec 16 19:56:24 MET 2000  Jan Hubicka  <jh@suse.cz>
820169689Skan
821169689Skan	* i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno,
822169689Skan	lshrhi3_cmpno): Remove redundant '@' from the template.
823169689Skan
824169689Skan	* i386.md (cmpstrsi_1): Fix type of the compare.
825169689Skan
826169689Skan	* genattrtab.c (attr_rtx_cost): New function.
827169689Skan	(simplify_test_exp): Avoid overactive inlining; use temporary
828169689Skan	obstacks for tests.
829169689Skan
830169689SkanSat Dec 16 10:41:11 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
831169689Skan
832169689Skan	* diagnostic.c (finish_abort): Deleted.
833169689Skan	(fatal): Add code from finish_abort.
834169689Skan	(error_recursion, fancy_abort): Call fatal, not finish_abort.
835169689Skan	(trim_filename): Remove leading "../".
836169689Skan	* diagnostic.h (finish_abort): Deleted.
837169689Skan	* toplev.c (crash_signal): Call fatal, not finish_abort.
838169689Skan
839169689Skan	* stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT
840169689Skan	as if size were variable.
841169689Skan
842169689Skan	* expmed.c (expand_mult): Write REG_EQUAL note with proper mode.
843169689Skan
844169689Skan2000-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
845169689Skan
846169689Skan	* tradcpp.c: T_WARNING: New.
847169689Skan	(do_warning): New function.
848169689Skan	(finclude): Skip past the newline and increase the line number
849169689Skan	before calling output_line_command.
850169689Skan	(do_line): Skip the new line after output_line_command.  Don't
851169689Skan	pre-decrement the line number.
852169689Skan
853169689Skan2000-12-15  Diego Novillo  <dnovillo@redhat.com>
854169689Skan
855169689Skan	* i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to
856169689Skan	_GLOBAL_OFFSET_TABLE_ when using Intel syntax.
857169689Skan
858169689Skan2000-12-15  Jakub Jelinek  <jakub@redhat.com>
859169689Skan
860169689Skan	* gcc.c (cpp_options): Pass -fno-operator-names.
861169689Skan	* cpplib.h (struct cpp_options): Add operator_names.
862169689Skan	* cppinit.c (cpp_create_reader): Initialize it.
863169689Skan	(initialize_builtins): If -fno-operator-names, don't add
864169689Skan	C++ alternate operator names.
865169689Skan	(COMMAND_LINE_OPTIONS): Add -fno-operator-names.
866169689Skan	(cpp_handle_option): Clear operator_names.
867169689Skan
868169689Skan2000-12-15  Jason Merrill  <jason@redhat.com>
869169689Skan
870169689Skan	* jump.c (jump_optimize_1): Don't delete the line note after the
871169689Skan	prologue even if it seems redundant.
872169689Skan
873169689Skan	* config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
874169689Skan	on all insns used to adjust the stack.
875169689Skan
876169689SkanFri Dec 15 15:32:16 MET 2000  Jan Hubicka  <jh@suse.cz>
877169689Skan
878169689Skan	* combine.c (cant_combine_insn_p): Get around SUBREGs when determining
879169689Skan	hardreg<->reg moves.
880169689Skan
881169689SkanFri Dec 15 14:48:37 MET 2000  Jan Hubicka  <jh@suse.cz>
882169689Skan
883169689Skan	* genrecog.c (add_to_sequence): Remove special case for
884169689Skan	const_int_operand.
885169689Skan	(maybe_both_true): Return 1 when falling out of sequence when
886169689Skan	trying to find common position in the pattern.
887169689Skan
888169689SkanFri Dec 15 14:44:51 MET 2000  Jan Hubicka  <jh@suse.cz>
889169689Skan
890169689Skan	* integrate.c (copy_rtx_and_substitute): Copy mode too.
891169689Skan
892169689SkanFri Dec 15 14:11:57 MET 2000  Jan Hubicka  <jh@suse.cz>
893169689Skan
894169689Skan	* flow.c (notice_stack_pointer_modification_1): Cleanup.
895169689Skan
896169689Skan2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
897169689Skan
898169689Skan	* function.c (adjust_trampoline_addr): New function.
899169689Skan	(trampoline_address): Call it instead of round_trampoline_addr().
900169689Skan	* tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it.
901169689Skan
902169689Skan2000-12-14  Zack Weinberg  <zack@wolery.stanford.edu>
903169689Skan
904169689Skan	* cppfiles.c (hack_vms_include_specification): Delete function
905169689Skan	(not used since 1998).
906169689Skan
907169689SkanFri Dec 15 03:37:51 2000  J"orn Rennecke <amylaar@redhat.com>
908169689Skan
909169689Skan	* haifa-sched.c (sched_init): Don't put a note in front of any BARRIER.
910169689Skan
911169689Skan2000-12-14  Jim Wilson  <wilson@redhat.com>
912169689Skan
913169689Skan	* alias.c (get_alias_set): Call record_component_aliases for
914169689Skan	COMPLEX_TYPE.
915169689Skan	(record_component_aliases): Handle COMPLEX_TYPE.
916169689Skan
917169689Skan2000-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
918169689Skan
919169689Skan	* fixinc/gnu-regex.c: Disable NLS.
920169689Skan
921169689Skan2000-12-14  Richard Henderson  <rth@redhat.com>
922169689Skan
923169689Skan	* config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
924169689Skan	comparison operands when that would create non-canonical rtl.
925169689Skan
926169689Skan	* config/i386/i386.md (umulsi3_highpart): Remove * from name.
927169689Skan	(smulsi3_highpart): Likewise.
928169689Skan
929169689Skan2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
930169689Skan
931169689Skan	* gcc.c (cpp_options): Add -remap.
932169689Skan
933169689Skan2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
934169689Skan
935169689Skan	* gcc.c (cpp_options): Update to use '&'.
936169689Skan	(struct switchstr): Change type of validated to save space.
937169689Skan	New member 'ordering'.
938169689Skan	(handle_braces, validate_switches): Update to handle '&'.
939169689Skan
940169689Skan2000-12-13  Laurynas Biveinis  <lauras@softhome.net>
941169689Skan
942169689Skan	* fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list
943169689Skan	found in a header.
944169689Skan	* fixinc/fixincl.x: regenerated.
945169689Skan
946169689Skan2000-12-13  DJ Delorie  <dj@redhat.com>
947169689Skan
948169689Skan	* config.gcc (cygwin, win32, mingw32): Use float-i386.h.
949169689Skan
950169689Skan2000-12-13  Tom Tromey  <tromey@redhat.com>
951169689Skan
952169689Skan	* gcc.c (handle_braces): Handle %{<S*} spec correctly.
953169689Skan
954169689Skan2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
955169689Skan
956169689Skan	* function.c (assign_parms): Optimize incoming PARALLELs into
957169689Skan	REGs if possible.
958169689Skan
959169689Skan2000-12-13  Bruce Korb  <bkorb@gnu.org>
960169689Skan
961169689Skan	* fixinc/Makefile.in(*): substantial rewrite to accommodate systems
962169689Skan	that cannot handle bi-directional pipes, viz. BeOS and DOS.
963169689Skan	* fixinc/fixlib.h(IGNORE_ARG): new macro
964169689Skan	(STATIC): define for all of fixinc to use
965169689Skan	* fixinc/fixfixes.c(*): eliminate unused arg warnings
966169689Skan	* fixinc/fixtests.c(*): ditto
967169689Skan	* fixinc/fixincl.c(start_fixer): chain_open now uses const arg list
968169689Skan	* fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE
969169689Skan	warning.  Also, eliminate the ``#ifdef emacs'' stuff.
970169689Skan	(re_syntax_options): make global as it is declared so.
971169689Skan	* fixinc/mkfixinc.sh: process the argument list more consistently
972169689Skan	(beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess
973169689Skan	* fixinc/procopen.c(globals): include "fixlib.h" for std defs
974169689Skan	* fixinc/server.c(globals): ditto
975169689Skan	* fixinc/server.h(defines): ditto
976169689Skan
977169689Skan2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
978169689Skan
979169689Skan	* tradcpp.c (special_symbol): Improve test for definedness,
980169689Skan	though it is still not perfect.
981169689Skan	(do_define): Don't define illegal macro names.
982169689Skan
983169689Skan2000-12-07  Aldy Hernandez  <aldyh@redhat.com>
984169689Skan
985169689Skan	* config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
986169689Skan	if changing into .bss section.
987169689Skan	* config/mips/elf64.h: same.
988169689Skan	* config/mips/iris6.h: same.
989169689Skan	* config/mips/netbsd.h: same.
990169689Skan	* config/mips/openbsd.h: same.
991169689Skan
992169689Skan2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
993169689Skan
994169689Skan	* cppfiles.c (read_name_map): Return null if open () fails.
995169689Skan	(remap_filename): Simplify logic.  Add ICE if it doesn't work
996169689Skan	as expected. Perform secondary lookup attempt on base filename
997169689Skan	only.
998169689Skan
999169689SkanWed Dec 13 19:48:04 MET 2000  Jan hubicka  <jh@suse.cz>
1000169689Skan
1001169689Skan	* flow.c (notice_stack_pointer_modification_1): Notice midifications
1002169689Skan	using PRE_MODIFY and POST_MODIFY.
1003169689Skan
1004169689SkanWed Dec 13 17:25:32 MET 2000  Jan Hubicka  <jh@suse.cz>
1005169689Skan
1006169689Skan	* genoutput.c (process_template): Add sanity checking for '@' templates.
1007169689Skan
1008169689Skan2000-12-13  Bernd Schmidt  <bernds@redhat.co.uk>
1009169689Skan
1010169689Skan	* simplify-rtx.c (cselib_finish): Free reg_values and used_regs
1011169689Skan	varrays.
1012169689Skan
1013169689Skan2000-12-12  Mike Stump  <mrs@wrs.com>
1014169689Skan
1015169689Skan	* Makefile.in (distclean): Remove safe-ctype.c as well.
1016169689Skan
1017169689Skan2000-12-12  Brad Lucier <lucier@math.purdue.edu>
1018169689Skan
1019169689Skan	* tradcpp.c (do_error): Cast difference of pointers to int
1020169689Skan	for error message.
1021169689Skan
1022169689Skan2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1023169689Skan
1024169689Skan	* config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
1025169689Skan	* config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
1026169689Skan
1027169689Skan2000-12-12  Jim Wilson  <wilson@redhat.com>
1028169689Skan
1029169689Skan	* rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
1030169689Skan
1031169689Skan2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
1032169689Skan
1033169689Skan	* configure.in: Simplify language enabling/disabling code.
1034169689Skan	* configure: Rebuilt.
1035169689Skan	* ch/config-lang.in (target_libs): Set.
1036169689Skan	(build_by_default): Set to no.
1037169689Skan	* cp/config-lang.in (target_libs): Set.
1038169689Skan	* f/config-lang.in (target_libs): Set.
1039169689Skan	* java/config-lang.in (target_libs): Set.
1040169689Skan	* objc/config-lang.in (target_libs): Set.
1041169689Skan
1042169689Skan2000-12-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1043169689Skan
1044169689Skan	* tradcpp.c (enum node_type): Add T_ERROR.
1045169689Skan	(do_error): New function.
1046169689Skan	(directive_table): Add #error handler.
1047169689Skan
1048169689Skan2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1049169689Skan
1050169689Skan	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
1051169689Skan	for powerpc*-*-*.
1052169689Skan	* configure: Regenerated.
1053169689Skan	* config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1054169689Skan	* config/rs6000/rs6000.c (rs6000_unique_section): Use
1055169689Skan	STRIP_NAME_ENCODING.
1056169689Skan
1057169689SkanMon Dec 11 13:51:09 2000  Jeffrey A Law  (law@cygnus.com)
1058169689Skan
1059169689Skan	* pa.c (cmpib_comparison_operator): Remove GEU and LTU.
1060169689Skan	* pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
1061169689Skan	changes.
1062169689Skan
1063169689Skan2000-12-11  Bruce Korb  <bkorb@gnu.org>
1064169689Skan
1065169689Skan	* fixinc/fixincl.tpl: initialize all fields for warnings
1066169689Skan	* fixinc/fixincl.x: regenerate
1067169689Skan
1068169689Skan2000-12-11  Neil Booth  <neilb@earthling.net>
1069169689Skan
1070169689Skan	* tradcpp.h: For tradcpp, NUL is not whitespace.
1071169689Skan
1072169689Skan2000-12-11  Neil Booth  <neilb@earthling.net>
1073169689Skan
1074169689Skan	* fix-header.c (read_scan_file): Macro expansion is not a file buffer.
1075169689Skan
1076169689Skan2000-12-05  Marek Michalkiewicz  <marekm@linux.org.pl>
1077169689Skan
1078169689Skan	* config/avr/avr.c (compare_condition, compare_sign_p): New functions.
1079169689Skan	(compare_diff_p, compare_eq_p): Call compare_condition.
1080169689Skan	(out_tsthi, out_tstsi): Call compare_sign_p.
1081169689Skan	(avr_progmem_p): Check for error_mark_node.
1082169689Skan
1083169689Skan2000-12-11  Neil Booth  <neilb@earthling.net>
1084169689Skan
1085169689Skan	* cpperror.c (print_location): New function.
1086169689Skan	(print_containing_files): Simplify.
1087169689Skan	(_cpp_begin_message): Simplify and use print_location.
1088169689Skan	* cppfiles.c (stack_include_file): Update.
1089169689Skan	(_cpp_pop_file_buffer): Update.
1090169689Skan	* cpphash.h (struct cpp_buffer): New members
1091169689Skan	include_stack_listed and type.
1092169689Skan	* cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
1093169689Skan	(run_directive): Take buffer type.  cpp_push_buffer cannot fail.
1094169689Skan	(_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
1095169689Skan	handle_assertion): Update.
1096169689Skan	(cpp_push_buffer): Take a buffer type and file name.
1097169689Skan	(cpp_pop_buffer): Update.  Clear include_stack_listed.
1098169689Skan	* cpplib.h (input_stack_listing_current): Remove.
1099169689Skan	(enum cpp_buffer_type): New.
1100169689Skan	(cpp_push_buffer): New prototype.
1101169689Skan	* cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
1102169689Skan	* fix-header.c (read_scan_file): Update.
1103169689Skan
1104169689Skan2000-12-10  Robert Lipe <robertlipe@usa.net>
1105169689Skan
1106169689Skan	* install.texi (i*86-*-sco3.2v5*): Remove information duplicated
1107169689Skan	in html version.
1108169689Skan
1109169689Skan2000-12-10  Richard Henderson  <rth@redhat.com>
1110169689Skan
1111169689Skan	* genrecog.c (find_operand): Handle 'V' format code.
1112169689Skan	(find_matching_operand): New.
1113169689Skan	(validate_pattern): Accept '=' for an in-out operand if there
1114169689Skan	is another operand with a matching constraint.
1115169689Skan
1116169689Skan	* config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
1117169689Skan	for op1 to op0.
1118169689Skan
1119169689Skan2000-12-10  Richard Henderson  <rth@redhat.com>
1120169689Skan
1121169689Skan	* genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
1122169689Skan
1123169689Skan2000-12-09  Richard Henderson  <rth@redhat.com>
1124169689Skan
1125169689Skan	* genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and
1126169689Skan	STRICT_LOW_PART as SET_DEST have in-out constraints.
1127169689Skan
1128169689Skan2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1129169689Skan
1130169689Skan	* c-common.c (check_function_format): Don't suggest adding format
1131169689Skan	attributes to functions with no parameter to which to add them.
1132169689Skan
1133169689Skan2000-12-09  Nick Clifton  <nickc@redhat.com>
1134169689Skan
1135169689Skan	* config/arm/arm.c (arm_expand_prologue): Mark the generated
1136169689Skan	insn not the set as being DWARF2_FRAME_RELATED_P.
1137169689Skan
1138169689Skan2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
1139169689Skan
1140169689Skan	* Makefile.in: use $(build_exeext) for all build
1141169689Skan	system executable targets.
1142169689Skan
1143169689Skan2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
1144169689Skan
1145169689Skan	* install.texi: remove i[345]86-*-winnt3.5 section.
1146169689Skan	* configur.bat: removed.
1147169689Skan	* config/msdos: directory removed.
1148169689Skan
1149169689Skan2000-12-09  Neil Booth  <neilb@earthling.net>
1150169689Skan
1151169689Skan	* cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
1152169689Skan	* cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
1153169689Skan	* cpplex.c (parse_identifier): Improve diagnostic.
1154169689Skan	(_cpp_lex_token): Return unconditionally at the end of a directive.
1155169689Skan	* cpplib.c (read_flag): Verify legality of each flag.
1156169689Skan	(end_directive): Resotre pfile->skipping before skip_rest_of_line.
1157169689Skan	(do_line): Use the new read_flag.
1158169689Skan	* cppmacro.c (struct cpp_macro, parse_arg, replace_args,
1159169689Skan	check_macro_redefinition, parse_params): Rename var_args to
1160169689Skan	variadic.
1161169689Skan
1162169689Skan2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1163169689Skan
1164169689Skan	* .cvsignore: Add info files.
1165169689Skan
1166169689Skan2000-12-08 Laurynas Biveinis <lauras@softhome.net>
1167169689Skan
1168169689Skan	* config/winnt: Remove obsolete directory.
1169169689Skan	* install.texi (Configurations): Remove obsolete documentation for
1170169689Skan	Windows NT.
1171169689Skan
1172169689Skan2000-12-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1173169689Skan
1174169689Skan	* configure.in: Don't define INSTALL_INFO.
1175169689Skan	* configure: Regenerate.
1176169689Skan	* Makefile.in (INSTALL_INFO): Remove.
1177169689Skan	(info): Depend on info files in source directory.
1178169689Skan	(cpp.info, gcc.info, c-tree.info): Build info files in source
1179169689Skan	directory.
1180169689Skan	(distclean): Don't remove info files.
1181169689Skan	(maintainer-clean): Remove info files from source directory.
1182169689Skan	(install-normal): Depend on install-info.
1183169689Skan	(install-info): Install info files from source directory, if they
1184169689Skan	exist.
1185169689Skan	* texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
1186169689Skan
1187169689Skan2000-12-08  Alexandre Oliva  <aoliva@redhat.com>
1188169689Skan
1189169689Skan	* lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
1190169689Skan	before taking its NOTE_LINE_NUMBER.
1191169689Skan
1192169689Skan2000-12-08  Nick Clifton  <nickc@redhat.com>
1193169689Skan
1194169689Skan	* config/arm/arm.md (load_indirect_jump): Add pool ranges.
1195169689Skan
1196169689Skan	* extend.texi: Document ARM "interrupt" function attribute.
1197169689Skan	Mention that the ARM also support the "naked" function
1198169689Skan	attribute.
1199169689Skan
1200169689Skan	* config/arm/arm-protos.h (arm_current_func_type): Add
1201169689Skan	prototype.
1202169689Skan
1203169689Skan	* config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
1204169689Skan	(struct machine_function): Add 'func_type' field.
1205169689Skan	Define bit values for 'func_type' field.
1206169689Skan	(ARM_FUNC_TYPE): New macro.
1207169689Skan	(IS_INTERRUPT): New macro.
1208169689Skan	(IS_VOLATILE): New macro.
1209169689Skan	(IS_NAKED): New macro.
1210169689Skan	(IS_NESTED): New macro.
1211169689Skan	(ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
1212169689Skan
1213169689Skan	* config/arm/arm.c (isr_attribute_args): New Structure.  A
1214169689Skan	list of "interrupt" function attribute modifiers.
1215169689Skan	(arm_isr_value): New Function: Returns the type of the current
1216169689Skan	interrupt function.
1217169689Skan	(arm_compute_func_type): New Function: Computes the type of
1218169689Skan	the current function.
1219169689Skan	(arm_current_func_type): New Function: Returns the type of the
1220169689Skan	current function.
1221169689Skan	(use_return_insn): Use arm_current_func_type.
1222169689Skan	(arm_valid_type_attribute_p): Accept "interrupt" function
1223169689Skan	attribute.
1224169689Skan	(arm_comp_type_attributes): Check "interrupt" attributes.
1225169689Skan	(arm_valid_machine_decl): Accept "interrupt" function
1226169689Skan	attribute.
1227169689Skan	(arm_function_ok_for_sibcall): Do not allow interrupt
1228169689Skan	functions to use sibcalls.
1229169689Skan	(arm_naked_function_p): Delete.
1230169689Skan	(print_multi_reg): Remove redundant parameter 'hat'.
1231169689Skan	(arm_compute_save_reg_mask): New Function: Compute a bit mask
1232169689Skan	of registers saved during the current function's prologue.
1233169689Skan	(output_arm_return_instruction): Use arm_current_func_type.
1234169689Skan	Generate return instruction when LR is not poppsed off the
1235169689Skan	stack.
1236169689Skan	(arm_volatile_func): Delete.
1237169689Skan	(output_arm_prologue): Use arm_current_func_type and
1238169689Skan	arm_compute_save_reg_mask.
1239169689Skan	Note presernce of interrupt functions.
1240169689Skan	(arm_output_epilogue): Use arm_current_func_type and
1241169689Skan	arm_compute_save_reg_mask.
1242169689Skan	(arm_expand_prologue): Use arm_current_func_type and
1243169689Skan	arm_compute_save_reg_mask.
1244169689Skan	(arm_init_machine_status): Initialize func_type field, if
1245169689Skan	necessary.
1246169689Skan	(thumb_expand_prologue): Use arm_current_func_type.
1247169689Skan	(output_thumb_prologue): Use arm_current_func_type.
1248169689Skan
1249169689Skan2000-12-08  Brad Lucier <lucier@math.purdue.edu>
1250169689Skan
1251169689Skan	* tradcpp.c (do_include): Make pointer differences 64-bit clean.
1252169689Skan
1253169689SkanFri Dec  8 08:23:29 2000  J"orn Rennecke <amylaar@redhat.com>
1254169689Skan
1255169689Skan	* fp-bit.c (_fpmul_parts): Use USItype variables as inputs
1256169689Skan	for multiplies.
1257169689Skan
1258169689Skan2000-12-07  Mike Stump  <mrs@wrs.com>
1259169689Skan
1260169689Skan	* Makefile.in (distclean): Remove alloca.c hashtab.c.
1261169689Skan
1262169689Skan2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
1263169689Skan
1264169689Skan	* Makefile.in (HOST_RTL): Add safe-ctype.o.
1265169689Skan	(safe-ctype.o): New rule.
1266169689Skan	* system.h: Include safe-ctype.h, not ctype.h.  No need to
1267169689Skan	wrap ctype macros.
1268169689Skan
1269169689Skan	* cpphash.h: Zap IStable and related macros.  Define is_* in
1270169689Skan	terms of safe-ctype.h macros.
1271169689Skan	* cppinit.c: Delete the IStable and all related code.
1272169689Skan
1273169689Skan	* tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
1274169689Skan	is_space arrays.  Delete initialize_char_syntax.  Change all
1275169689Skan	references to the above arrays to use macros instead.
1276169689Skan	* tradcpp.h: Define is_idchar, is_idstart, is_space, and
1277169689Skan	is_nvspace in terms of safe_ctype.h's macros.
1278169689Skan	* tradcif.y: is_idchar, is_idstart are macros not arrays.
1279169689Skan
1280169689Skan	* config/i370/i370.c, config/winnt/dirent.c,
1281169689Skan	config/winnt/fixinc-nt.c, config/winnt/ld.c:
1282169689Skan	Use uppercase ctype macros.  If we included ctype.h,
1283169689Skan	include safe-ctype.h instead.
1284169689Skan
1285169689Skan	* fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
1286169689Skan	ISLOWER(c) before calling TOUPPER(c).
1287169689Skan	* fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
1288169689Skan	* fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
1289169689Skan	wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
1290169689Skan
1291169689Skan2000-12-07  DJ Delorie  <dj@redhat.com>
1292169689Skan
1293169689Skan	* c-decl.c (grokdeclarator): preserve previous alignments when
1294169689Skan	rebuilding array types.
1295169689Skan
1296169689Skan2000-12-07  Neil Booth  <neilb@earthling.net>
1297169689Skan
1298169689Skan	* cppfiles.c (struct include_file): Move from cpphash.h.
1299169689Skan	(_cpp_never_reread): New function.
1300169689Skan	(open_file, read_include_file): Use it.
1301169689Skan	(stack_include_file): Set the buffer's sysp according to the
1302169689Skan	path in which the file was found.
1303169689Skan	(find_include_file): Don't set sysp.
1304169689Skan	(cpp_make_system_header, actual_directory): Update.
1305169689Skan	(_cpp_execute_include): Do #include_next lookup handling here,
1306169689Skan	not in cpplib.c.  Use _cpp_never_reread.
1307169689Skan	* cpphash.h (struct_include_file): Remove.
1308169689Skan	(struct cpp_buffer): New member sysp.
1309169689Skan	(CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
1310169689Skan	(_cpp_never_reread): New.
1311169689Skan	* cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
1312169689Skan	(end_directive): Clear line_extension flag.
1313169689Skan	(_cpp_handle_directive): Set line_extension flag for #number.
1314169689Skan	(do_include_next): Handle path lookup in _cpp_execute_include.
1315169689Skan	(do_line): Cleanup to use read_flag.  Don't allow flags in #line.
1316169689Skan	(_cpp_do_file_change): Update.
1317169689Skan	(do_pragma_once): Use cpp_never_reread.  Clean up.
1318169689Skan	* cpplib.h (struct lexer_state): New member line_extension.
1319169689Skan
1320169689Skan2000-12-07  Richard Henderson  <rth@redhat.com>
1321169689Skan
1322169689Skan	* flow.c (calculate_global_regs_live): Force the stack pointer live
1323169689Skan	after reload as well.
1324169689Skan
1325169689Skan2000-12-07  Bruce Korb  <bkorb@gnu.org>
1326169689Skan
1327169689Skan	* fixinc/Makefile.*(exeext): the variables are exeext, the
1328169689Skan	substitution expression is build_exeext.
1329169689Skan
1330169689Skan2000-12-07  Neil Booth  <neilb@earthling.net>
1331169689Skan
1332169689Skan	* c-common.c (parse_in): Make a cpp_reader *.
1333169689Skan	* cppfiles.c (_cpp_fake_include): Remove.
1334169689Skan	* cpphash.h: Similarly.
1335169689Skan	* cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
1336169689Skan	#line always creates a callback; FC_RENAME if there are no
1337169689Skan	#line flags.
1338169689Skan	* fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
1339169689Skan	The first EOF must be our get_char buffer.
1340169689Skan
1341169689Skan2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1342169689Skan
1343169689Skan	* c-common.c (warn_format_security): New variable.
1344169689Skan	(check_format_info): Warn about non-literal formats with no format
1345169689Skan	arguments if either -Wformat-nonliteral or -Wformat-security is
1346169689Skan	specified.
1347169689Skan	(set_Wformat): Set warn_format_security for settings other than 1.
1348169689Skan	* c-common.h (warn_format_security): Declare.
1349169689Skan	* c-decl.c (c_decode_option): Decode -Wformat-security and
1350169689Skan	-Wno-format-security.
1351169689Skan	* invoke.texi: Document -Wformat-security.
1352169689Skan	* toplev.c (documented_lang_options): Include -Wformat-security
1353169689Skan	and -Wno-format-security.
1354169689Skan
1355169689Skan2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1356169689Skan
1357169689Skan	* c-common.c (check_format_info): Warn for non-constant format
1358169689Skan	strings with strftime formats if -Wformat-nonliteral.  Where the
1359169689Skan	format can convert arguments, if the format is not a string
1360169689Skan	literal and there are no arguments to the format, give a different
1361169689Skan	warning message from the general non-string-literal case.
1362169689Skan
1363169689Skan2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1364169689Skan
1365169689Skan	* c-common.c (format_wanted_type): Add reading_from_flag.
1366169689Skan	(print_char_table): Mark %s and %S formats with flag "R".
1367169689Skan	(check_format_info_main): Set up reading_from_flag appropriately.
1368169689Skan	If aflag, always set writing_in_flag rather than relying on the
1369169689Skan	format used being a scanf format and so having it set.
1370169689Skan	(check_format_types): Check for formats reading through null
1371169689Skan	pointers.
1372169689Skan
1373169689Skan2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1374169689Skan
1375169689Skan	* invoke.texi (-Wformat): Document what format features are
1376169689Skan	checked.
1377169689Skan
1378169689Skan2000-12-06  Kazu Hirata  <kazu@hxi.com>
1379169689Skan
1380169689Skan	* config/h8300/h8300.h: Fix formatting.
1381169689Skan
1382169689Skan2000-12-06      Joel Sherrill <joel@OARcorp.com>
1383169689Skan
1384169689Skan	* config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
1385169689Skan	h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
1386169689Skan	* config.gcc (*-rtems*): Add support for gthr-rtems.h.
1387169689Skan	* gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
1388169689Skan	config/h8300/rtems.h, config/mips/rtems.h: New files.
1389169689Skan
1390169689Skan2000-12-06  Mark Kettenis  <kettenis@gnu.org>
1391169689Skan
1392169689Skan	* config.gcc: Reorganize handling of *-*-gnu*, to share target
1393169689Skan	specific make details with Linux.  Update comments to clarify
1394169689Skan	the distinction between GNU/Linux and GNU/Hurd.
1395169689Skan
1396169689SkanWed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
1397169689Skan
1398169689Skan	* contrib.texi: Fix my email address.  Update Per's
1399169689Skan	list of contributions.
1400169689Skan
1401169689Skan2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
1402169689Skan
1403169689Skan	* c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
1404169689Skan	* collect2.c (scan_libraries): Remove unused `ch'.
1405169689Skan	(COFF specific stuff): Prototype ldgetname.  Declare and prototype
1406169689Skan	ldbtread and ldclose.
1407169689Skan
1408169689Skan	* config/alpha/osf.h: Standarize copyright statement.
1409169689Skan	* config/arc/arc.h: Likewise.
1410169689Skan	* config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
1411169689Skan	* config/arm/arm.c config/arm/arm.h: Likewise.
1412169689Skan	* config/elxsi/elxsi.h: Likewise.
1413169689Skan	* config/i386/sco.h: Likewise.
1414169689Skan	* config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
1415169689Skan	* config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
1416169689Skan	* config/m68k/sun3.h: Likewise.
1417169689Skan	* config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
1418169689Skan	* config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
1419169689Skan	* config/romp/romp.h: Likewise.
1420169689Skan	* config/rs6000/aix41.h: Likewise.
1421169689Skan	* config/sparc/sysv4.h: Likewise.
1422169689Skan	* config/we32k/we32k.c config/we32k/we32k.h: Likewise.
1423169689Skan	* fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
1424169689Skan	* cpplib.h cppexp.c cselib.h profile.c: Likewise.
1425169689Skan	* longlong.h: Likewise.
1426169689Skan	* libgcc2.c: Likewise.
1427169689Skan
1428169689Skan2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1429169689Skan
1430169689Skan	* machmode.def: Use correct definition for BITSIZE on targets where
1431169689Skan	BITS_PER_UNIT != 8.
1432169689Skan
1433169689Skan2000-12-06  Bruce Korb  <bkorb@gnu.org>
1434169689Skan
1435169689Skan	* fixinc/Makefile.*: Reduce differences to (ultimately) reduce
1436169689Skan	the number of them.
1437169689Skan
1438169689Skan2000-12-06  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
1439169689Skan
1440169689Skan	* pa.c: Include expr.h before c-tree.h.
1441169689Skan	(remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
1442169689Skan	instead of reverse_condition.
1443169689Skan	(print_operand): Correct predicates for GT, GE, LT and LE.  Add
1444169689Skan	predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
1445169689Skan	ORDERED.
1446169689Skan	(cmpib_comparison_operator): Add GEU and LTU codes.
1447169689Skan	* pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
1448169689Skan	* pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
1449169689Skan	bordered): New float conditional branch patterns.
1450169689Skan
1451169689SkanWed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
1452169689Skan
1453169689Skan	* final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
1454169689Skan
1455169689Skan2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
1456169689Skan
1457169689Skan	* cpplex.c (skip_escaped_newlines): Don't warn for spaces between
1458169689Skan	backslash and newline, when inside a comment.
1459169689Skan
1460169689Skan2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1461169689Skan
1462169689Skan	* invoke.texi: Use @table @samp instead of @itemize @minus for
1463169689Skan	table of language standards.  Fix use of @pxref.  From Zack
1464169689Skan	Weinberg.  Also exclude specs documentation from generated
1465169689Skan	manpage, and create separate ENVIRONMENT section.
1466169689Skan
1467169689Skan2000-12-06  Michael Matz  <matzmich@cs.tu-berlin.de>
1468169689Skan
1469169689Skan	* gcse.c (compute_pre_data): Kill trapping expressions in
1470169689Skan	destination blocks of abnormal edges.
1471169689Skan
1472169689Skan2000-12-05  Richard Sandiford  <r.sandiford@redhat.com>
1473169689Skan
1474169689Skan	* config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
1475169689Skan	(mn10300_get_live_callee_saved_regs): Likewise.
1476169689Skan	(mn10300_gen_multiple_store): Likewise.
1477169689Skan	(store_multiple_operation): Likewise.
1478169689Skan	(expand_prologue): Use mn10300_gen_multiple_store().
1479169689Skan	* config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
1480169689Skan	(mn10300_get_live_callee_saved_regs): Likewise.
1481169689Skan	(mn10300_gen_multiple_store): Likewise.
1482169689Skan	(store_multiple_operation): Likewise.
1483169689Skan	* config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
1484169689Skan	tied to store_multiple_operation().
1485169689Skan
1486169689SkanTue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
1487169689Skan
1488169689Skan	* builtins.c (expand_builtin_setjmp_setup): Set
1489169689Skan	current_function_has_nonlocal_label.
1490169689Skan
1491169689Skan2000-12-05  Neil Booth  <neilb@earthling.net>
1492169689Skan
1493169689Skan	* cppfiles.c (stack_include_file): Push zero-length buffers
1494169689Skan	in case of failure.  Return void, as we don't fail any more.
1495169689Skan	(read_include_file): Check for files we shouldn't re-read.
1496169689Skan	Don't return an error code; errors are implied by marking the
1497169689Skan	file NEVER_REREAD.
1498169689Skan	(_cpp_execute_include): Move the recursion and in-macro checks
1499169689Skan	here.  Update for stack_include_file not failing.
1500169689Skan	* cpplib.c (cpp_push_buffer): Always succeed, since
1501169689Skan	_cpp_execute_include performs the recursion check.  Tidy up.
1502169689Skan	* cpplib.h (cpp_push_buffer): Update prototype.
1503169689Skan
1504169689Skan2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
1505169689Skan
1506169689Skan	* sched-vis.c (visual_tbl_line_length): New variable.
1507169689Skan	(get_visual_tbl_length): Set it.
1508169689Skan	(visualize_stall_cycles): Don't let stalls overrun
1509169689Skan	visual_tbl_line_length.
1510169689Skan
1511169689Skan2000-12-05  Geoffrey Keating  <geoffk@redhat.com>
1512169689Skan
1513169689Skan	* global.c (global_conflicts): Allow for a REG_UNUSED note
1514169689Skan	with a different mode to the REG set in the insn.
1515169689Skan
1516169689Skan2000-12-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1517169689Skan
1518169689Skan	* Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
1519169689Skan
1520169689Skan	* fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
1521169689Skan
1522169689Skan2000-12-05  Bruce Korb  <bkorb@gnu.org>
1523169689Skan
1524169689Skan	* fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
1525169689Skan	GNU/Linux.
1526169689Skan
1527169689Skan2000-12-05  Richard Earnshaw  <rearnsha@arm.com>
1528169689Skan
1529169689Skan	* fixinc/mkfixinc.sh: Run fixinc on netbsd.
1530169689Skan	* fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
1531169689Skan	to cope with aliased copies.
1532169689Skan	* fixinc/fixincl.x: Regenerate.
1533169689Skan
1534169689Skan2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
1535169689Skan
1536169689Skan	* sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
1537169689Skan	* sched-rgn.c: Likewise.
1538169689Skan	(rgn_print_insn): Fix output.
1539169689Skan
1540169689Skan2000-12-05  Bruce Korb  <bkorb@gnu.org>
1541169689Skan
1542169689Skan	* fixinc/Makefile.*: make these more consistent
1543169689Skan	* fixinc/mkfixincl.sh: enable BeOS fixincludes
1544169689Skan
1545169689Skan2000-12-05  Richard Henderson  <rth@redhat.com>
1546169689Skan
1547169689Skan	* stmt.c (warn_if_unused_value): Move side effects test earlier.
1548169689Skan
1549169689Skan2000-12-05  Alan Modra <alan@linuxcare.com.au>
1550169689Skan
1551169689Skan	* bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
1552169689Skan	when using sjlj.
1553169689Skan
1554169689Skan2000-12-05  Richard Henderson  <rth@redhat.com>
1555169689Skan
1556169689Skan	* flow.c (calculate_global_regs_live): Only force stack pointer
1557169689Skan	live before reload.  Force pic register live before reload.
1558169689Skan	(insn_dead_p): Don't protect pic references from deletion.
1559169689Skan
1560169689Skan2000-12-05  Joseph S. Myers  <jsm28@cam.ac.uk>
1561169689Skan
1562169689Skan	* invoke.texi: Add support for using texi2pod.pl.  Don't use
1563169689Skan	@multitable.
1564169689Skan
1565169689Skan2000-12-04  Nick Clifton  <nickc@redhat.com>
1566169689Skan
1567169689Skan	* config/arm/arm.c (arm_override_options): Test 'insn_flags' not
1568169689Skan	'tune_flags' for XScale nature.
1569169689Skan	Remove spurious test of HARD_FLOAT and XScale flags.
1570169689Skan
1571169689Skan	* config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
1572169689Skan	contraint, accidentally changed during XScale contribution.
1573169689Skan
1574169689Skan	* config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
1575169689Skan	not create these functions if the target architecture does not
1576169689Skan	support Thumb instructions.
1577169689Skan
1578169689Skan2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1579169689Skan
1580169689Skan	* ONEWS: New file with the current contents of NEWS up to EGCS
1581169689Skan	1.1.
1582169689Skan	* NEWS: Generate automatically from online release notes from EGCS
1583169689Skan	1.0 to GCC 2.95.2, using ../contrib/gennews.
1584169689Skan
1585169689Skan2000-12-04  Neil Booth  <neilb@earthling.net>
1586169689Skan
1587169689Skan	* tradcif.y: Move lexptr to top of file.  Add rule to handle
1588169689Skan	assertions in conditional expressions.
1589169689Skan	* tradcpp.c (parse_answer): Assertions do not need to go to
1590169689Skan	end of line in conditional directives.
1591169689Skan	(parse_assertion): Get first character of identifiers correct.
1592169689Skan	(test_assertion): New function.
1593169689Skan	* tradcpp.h (test_assertion): New prototype.
1594169689Skan
1595169689Skan2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
1596169689Skan
1597169689Skan	* config.gcc: Fix typo for UnixWare 7.
1598169689Skan
1599169689Skan2000-12-03  Phil Edwards  <pme@sources.redhat.com>
1600169689Skan
1601169689Skan	* invoke.texi:  Replace `pedwarns' with clearer text.
1602169689Skan
1603169689Skan2000-12-04  Bruce Korb  <bkorb@gnu.org>
1604169689Skan
1605169689Skan	* fixinc/Makefile.*(clean):  don't clean autogenerated files.
1606169689Skan	(mainainer-clean): clean autogenerated files
1607169689Skan
1608169689Skan2000-12-04  DJ Delorie  <dj@redhat.com>
1609169689Skan
1610169689Skan	* md.texi: Add overview, clarify match_dup and define_expand.
1611169689Skan
1612169689Skan2000-12-04  DJ Delorie  <dj@redhat.com>
1613169689Skan
1614169689Skan	* print-tree.c (print_node): Target-specific builtins print
1615169689Skan	numbers, not names.
1616169689Skan
1617169689Skan2000-12-04  Jason Merrill  <jason@redhat.com>
1618169689Skan
1619169689Skan	* stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
1620169689Skan	MODE_VECTOR_FLOAT.
1621169689Skan
1622169689Skan	* diagnostic.c (report_problematic_module): s/function/module/.
1623169689Skan
1624169689Skan	* c-lex.h: Remove decl for check_newline.
1625169689Skan
1626169689Skan2000-12-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1627169689Skan
1628169689Skan	* README.APOLLO: Remove obsolete file.
1629169689Skan
1630169689Skan2000-12-04  Neil Booth  <neilb@earthling.net>
1631169689Skan
1632169689Skan	* cppinternals.texi: New file.
1633169689Skan
1634169689Skan2000-12-04  Neil Booth  <neilb@earthling.net>
1635169689Skan
1636169689Skan	* cppfiles.c (cpp_make_system_header): Take 2 booleans,
1637169689Skan	and operate on current buffer.
1638169689Skan	(cpp_read_file): Rename _cpp_read_file.
1639169689Skan	* cpplib.c (do_line, do_pragma_system_header): Update calls to
1640169689Skan	cpp_make_system_header.
1641169689Skan	* fix-header.c: Similarly.
1642169689Skan	* cpphash.h (_cpp_read_file): Move from...
1643169689Skan	* cpplib.h: ... here.
1644169689Skan	* cppinit.c (do_includes, cpp_start_read): Update appropriately.
1645169689Skan
1646169689Skan2000-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1647169689Skan
1648169689Skan	* builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
1649169689Skan	Handle another transformation.
1650169689Skan
1651169689Skan2000-12-03  Nick Clifton  <nickc@redhat.com>
1652169689Skan
1653169689Skan	* config.gcc: Add support for StrongARM targets.
1654169689Skan	* config/arm/t-strongarm-elf: New file.
1655169689Skan	* config/arm/t-strongarm-coff: New file.
1656169689Skan	* config/arm/t-strongarm-pe: New file.
1657169689Skan	* config/arm/strongarm-pe.h: New file.
1658169689Skan
1659169689Skan2000-12-03  Nick Clifton  <nickc@redhat.com>
1660169689Skan
1661169689Skan	* NEWS: Mention XScale has been added.
1662169689Skan	* config.gcc: Add support for XScale targets.
1663169689Skan	* config/arm/arm.h: Add support for XScale processor.
1664169689Skan	* config/arm/arm.c: Add support for XScale processor.
1665169689Skan	* config/arm/arm.md: Add support for XScale processor.
1666169689Skan	* config/arm/t-xscale-elf: New file.
1667169689Skan	* config/arm/t-xscale-coff: New file.
1668169689Skan	* config/arm/xscale-elf.h: New file.
1669169689Skan	* config/arm/xscale-coff.h: New file.
1670169689Skan
1671169689Skan2000-12-03  Richard Henderson  <rth@redhat.com>
1672169689Skan
1673169689Skan	* bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
1674169689Skan	unless exception handling is enabled, and if not using sjlj.
1675169689Skan
1676169689Skan	* builtins.c (expand_builtin_setjmp_setup): New.
1677169689Skan	(expand_builtin_setjmp_receiver): New.
1678169689Skan	(expand_builtin_setjmp): Split out _setup and _receiver functions.
1679169689Skan	Move argument parsing in from ...
1680169689Skan	(expand_builtin): ... here.
1681169689Skan	* except.c (receive_exception_label): Branch around receiver
1682169689Skan	unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
1683169689Skan	(start_dynamic_handler): Call expand_builtin_setjmp_setup.
1684169689Skan	* expr.h: Update builtin setjmp decls.
1685169689Skan
1686169689Skan2000-12-03  Bruce Korb  <bkorb@gcc.org>
1687169689Skan
1688169689Skan	* fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
1689169689Skan	build machine name.  Default to the target.
1690169689Skan
1691169689Skan2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
1692169689Skan
1693169689Skan	* Makefile.in: use $(build_canonical), not $(canonical_build).
1694169689Skan
1695169689Skan2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
1696169689Skan
1697169689Skan	* Makefile.in (OBJS): Add sched-rgn.o.
1698169689Skan	(sched-rgn.o): New rule.  * haifa-sched.c (sched_verbose): No
1699169689Skan	longer static.
1700169689Skan	(INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
1701169689Skan	INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
1702169689Skan	UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
1703169689Skan	MAX_BLOCKAGE_COST): Move to sched-int.h.
1704169689Skan	(MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
1705169689Skan	IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
1706169689Skan	FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
1707169689Skan	OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
1708169689Skan	rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
1709169689Skan	RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
1710169689Skan	debug_regions, find_single_block_region, find_rgns, too_large,
1711169689Skan	init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
1712169689Skan	bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
1713169689Skan	extract_bitlst, bblst, struct candidate, candidate_table,
1714169689Skan	bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
1715169689Skan	SRC_PROB, target_bb, split_edges, compute_trg_info,
1716169689Skan	debug_candidate, debug_candidates, bbset, bbset_size, dom,
1717169689Skan	IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
1718169689Skan	rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
1719169689Skan	EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
1720169689Skan	compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
1721169689Skan	IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
1722169689Skan	MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
1723169689Skan	update_live, set_spec_fed, is_pfree, find_conditional_protection,
1724169689Skan	is_conditionally_protected, may_trap_exp, haifa_classify_insn,
1725169689Skan	is_prisky, is_exception_free, add_branch_dependences,
1726169689Skan	propagate_deps, compute_block_backward_dependences,
1727169689Skan	debug_dependencies, is_cfg_nonregular, build_control_flow,
1728169689Skan	new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
1729169689Skan	BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
1730169689Skan	UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
1731169689Skan	CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
1732169689Skan	target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
1733169689Skan	can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
1734169689Skan	rgn_rank, region_sched_info): Move to sched-rgn.c.
1735169689Skan	(debug_reg_vector): Delete useless function.
1736169689Skan	(get_bb_head_tail): Likewise.
1737169689Skan	(insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
1738169689Skan	no_real_insns_p, rm_line_notes, save_line_notes,
1739169689Skan	restore_line_notes, rm_redundant_line_notes, sched_init): No
1740169689Skan	longer static.
1741169689Skan	(rm_line_notes, save_line_notes, restore_line_notes,
1742169689Skan	schedule_block, set_priorities): Change argument to be a real
1743169689Skan	basic block, not one of haifa's "bb"s.  All callers changed
1744169689Skan	(rm_other_notes): Initialize note_list here, not in
1745169689Skan	schedule_region.
1746169689Skan	(sched_finish): New function, called from schedule_insn.  * *
1747169689Skan	sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
1748169689Skan	INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
1749169689Skan	UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
1750169689Skan	MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
1751169689Skan	(get_block_head_tail, no_real_insns_p, rm_line_notes,
1752169689Skan	save_line_notes, restore_line_notes, rm_redundant_line_notes,
1753169689Skan	rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
1754169689Skan	sched_init, sched_finish, ready_add, insn_cost): Declare.
1755169689Skan
1756169689Skan2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
1757169689Skan	    Bruce Korb  <bkorb@gnu.org>
1758169689Skan
1759169689Skan	* Makefile.in: pass $(build_canonical) to mkfixinc.sh.
1760169689Skan	* fixinc/mkfixinc.sh: accept build system name as an argument.
1761169689Skan	Use it for choosing the fix build method.  Use the target for
1762169689Skan	selecting special fix rules.
1763169689Skan
1764169689Skan2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
1765169689Skan
1766169689Skan	* Makefile.in (OBJS): Add sched-deps.o.
1767169689Skan	(sched-deps.o): New rule.
1768169689Skan	* haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
1769169689Skan	sched-int.h.
1770169689Skan	(INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
1771169689Skan	sched-int.h.
1772169689Skan	(SIZE_FOR_MODE): Delete unused macro.
1773169689Skan	(reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
1774169689Skan	reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
1775169689Skan	anti_dependency_cache, output_dependency_cache,
1776169689Skan	forward_dependency_cache): Variables moved to sched-deps.c.
1777169689Skan	(add_dependence, remove_dependence, find_insn_list,
1778169689Skan	find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
1779169689Skan	sched_analyze_insn, sched_analyze_1, sched_analyze_2,
1780169689Skan	sched_analyze, group_leader, compute_forward_dependences,
1781169689Skan	init_deps, free_deps, init_dependency_caches, free_dependency_caches):
1782169689Skan	Functions moved to sched-deps.c.
1783169689Skan	(schedule_region): Call init_deps_global and finish_deps_global
1784169689Skan	instead of directly manipulating dependency data structures.
1785169689Skan	* sched-deps.c: New file.
1786169689Skan	(init_deps_global, finish_deps_global): New functions.
1787169689Skan	* sched-int.h (struct haifa_insn_data, struct deps): Moved here from
1788169689Skan	haifa-sched.c.
1789169689Skan	(h_i_d): Declare.
1790169689Skan	(INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
1791169689Skan	from haifa-sched.c.
1792169689Skan
1793169689Skan	* Makefile.in (OBJS): Add sched-vis.o.
1794169689Skan	(sched-vis.o): New rule.
1795169689Skan	* haifa-sched.c (get_unit_last_insn): New function.
1796169689Skan	(sched_dump, insn_unit, actual_hazard_this_instance): No longer
1797169689Skan	static.
1798169689Skan	(schedule_block): Call visualize_alloc and visualize_free.  Delete
1799169689Skan	spurious return statement.
1800169689Skan	(init_target_units, insn_print_units, get_visual_tbl_length,
1801169689Skan	init_block_visualization, print_block_visualization, safe_concat,
1802169689Skan	visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
1803169689Skan	print_exp, print_value, print_pattern, print_insn, target_units,
1804169689Skan	MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
1805169689Skan	n_vis_no_unit, vis_no_unit): Move scheduling visualization
1806169689Skan	functions/variables...
1807169689Skan	* sched-vis.c: ...here.  New file.
1808169689Skan	(visualize_alloc, visualize_free): New functions.
1809169689Skan	(visualize_scheduled_insns, visualize_stall_cycles,
1810169689Skan	print_block_visualization): Lose basic block argument.  All callers
1811169689Skan	changed.
1812169689Skan	(visualize_scheduled_insns): Use new function get_unit_last_insn.
1813169689Skan	* sched-int.h (current_sched_info, sched_dump): Declare.
1814169689Skan	(init_target_units, insn_print_units, init_block_visualization,
1815169689Skan	print_block_visualization, visualize_scheduled_inns,
1816169689Skan	visualize_no_unit, visualize_stall_cycles, visualize_alloc,
1817169689Skan	visualize_free): Declare functions.
1818169689Skan
1819169689Skan	* sched-int.h: New file.
1820169689Skan	* Makefile.in (haifa-sched.o): Depend on it.
1821169689Skan	* haifa-sched.c: Include it.
1822169689Skan	(no_real_insns_p): New function.
1823169689Skan	(current_sched_info): New static variable.
1824169689Skan	(__inline, HAIFA_INLINE): Moved to sched-int.h.
1825169689Skan	(get_block_head_tail): Minor cleanup.
1826169689Skan	(init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
1827169689Skan	rgn_print_insn, rgn_rank): New functions, broken out of
1828169689Skan	rank_for_schedule, schedule_insn and schedule_block, where they
1829169689Skan	are now called through function pointers in current_sched_info.
1830169689Skan	(queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
1831169689Skan	print_insn): To display uid and block number, call the print_insn
1832169689Skan	function pointer in current_schedule_info.
1833169689Skan	(region_sched_info): New static variable.
1834169689Skan	(sched_target_n_insns, sched_n_insns, target_n_insns): New global
1835169689Skan	variables, moved out of schedule_block.
1836169689Skan	(schedule_block): Return void.  All callers changed.
1837169689Skan	Move some of the setup code into schedule_region.  Get head/tail
1838169689Skan	from current_sched_info, and update it when done.
1839169689Skan	(schedule_region): Slightly rearranged, some code moved here from
1840169689Skan	schedule_block.  Call no_real_insns_p to avoid doing work for a
1841169689Skan	block that consists only of notes and labels.
1842169689Skan	(schedule_insns): Initialize current_sched_info.
1843169689Skan
1844169689Skan2000-12-03  Neil Booth  <neilb@earthling.net>
1845169689Skan
1846169689Skan	* cppmacro.c (funlike_invocation_p): Re-disable macros enabled
1847169689Skan	by contexts drops AFTER argument pre-expansion, so that they
1848169689Skan	remain enabled during argument pre-expansion.
1849169689Skan	(_cpp_pop_context): Unconditionally re-enable a macro when
1850169689Skan	dropping a context level.
1851169689Skan
1852169689Skan2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
1853169689Skan
1854169689Skan	* arm/t-linux (MULTILIB_OPTIONS): Comment.
1855169689Skan	(MULTILIB_DIRNAMES): Likewise.
1856169689Skan	(EXTRA_MULTILIB_PARTS): Likewise.
1857169689Skan	(LIBGCC): Likewise.
1858169689Skan	(INSTALL_LIBGCC): Likewise.
1859169689Skan
1860169689Skan2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1861169689Skan
1862169689Skan	* builtins.c (expand_builtin_strcat, expand_builtin_strncat,
1863169689Skan	expand_builtin_strspn, expand_builtin_strcspn): New functions.
1864169689Skan	(expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
1865169689Skan	BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
1866169689Skan
1867169689Skan	* builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
1868169689Skan	BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
1869169689Skan
1870169689Skan	* c-common.c (c_common_nodes_and_builtins): Declare builtin
1871169689Skan	strcat, strncat, strspn and strcspn.
1872169689Skan	(string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
1873169689Skan
1874169689Skan	* extend.texi (strcat, strcspn, strncat, strspn): Document new
1875169689Skan	builtins.
1876169689Skan
1877169689Skan2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1878169689Skan
1879169689Skan	* builtins.c (expand_builtin_strcmp): Use const*_rtx when
1880169689Skan	expanding strcmp at compile-time.  Add another transformation.
1881169689Skan	(expand_builtin_strncmp): Add more transformations.  Call
1882169689Skan	expand_builtin_memcmp, not expand_builtin_strcmp, under
1883169689Skan	appropriate conditions if HAVE_cmpstrsi.
1884169689Skan
1885169689Skan2000-12-02  David Edelsohn  <edelsohn@gnu.org>
1886169689Skan
1887169689Skan	* rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
1888169689Skan	instruction.
1889169689Skan	(cr logic): Really make operands sequential.
1890169689Skan
1891169689Skan2000-12-02  Geoffrey Keating  <geoffk@redhat.com>
1892169689Skan
1893169689Skan	* c-common.c (combine_strings): When the ISO C standard specifies
1894169689Skan	the maximum length of a string, it doesn't include the trailing
1895169689Skan	zero byte.
1896169689Skan
1897169689Skan	* cpplib.c (do_ifdef): Add check_eol() call.
1898169689Skan	(do_ifndef): Likewise.
1899169689Skan
1900169689Skan2000-12-02  Daniel Berlin  <dberlin@redhat.com>
1901169689Skan	    Bruce Korb  <bkorb@gnu.org>
1902169689Skan
1903169689Skan	* fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
1904169689Skan	* fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
1905169689Skan	* fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
1906169689Skan	* fixinc/fixfix.c(wrap_fix): avoid wrapping files that
1907169689Skan	use the "__need_" hackery.  It breaks them.
1908169689Skan	* fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
1909169689Skan	Sometimes on DOS and BeOS the temp output file cannot be opened.
1910169689Skan	Skip the file noisily.  Ought to be fixed instead.
1911169689Skan
1912169689Skan2000-12-02  Bruce Korb  <bkorb@gnu.org>
1913169689Skan
1914169689Skan	From: 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1915169689Skan
1916169689Skan	* fixfixes.c (emit_gnu_type, format_write): Prototype.
1917169689Skan	(format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
1918169689Skan	custom uppercase ctype macros.
1919169689Skan	* fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
1920169689Skan	Use gcc's custom uppercase ctype macros.
1921169689Skan	(main): Prototype.
1922169689Skan	(machine_matches): Add static prototype and constify variable.
1923169689Skan	(create_file, test_test, egrep_test): Add static prototype.
1924169689Skan	(quoted_file_exists): Likewise, and constify parameters.
1925169689Skan	(extract_quoted_files, internal_fix, start_fixer, fix_applies,
1926169689Skan	write_replacement, test_for_changes): Add static prototype.
1927169689Skan	(write_replacement, test_for_changes): Delete excess argument to
1928169689Skan	`create_file'.
1929169689Skan	* fixtests.c (test): Make static.
1930169689Skan	* server.c (load_data, sig_handler, server_setup, find_shell): Add
1931169689Skan	static prototype.
1932169689Skan	(sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
1933169689Skan
1934169689Skan2000-12-02  Bruce Korb  <bkorb@gnu.org>
1935169689Skan
1936169689Skan	* fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
1937169689Skan	(per Laurynas Biveinis  <lauras@softhome.net>)
1938169689Skan
1939169689Skan2000-12-02  Richard Earnshaw  <rearnsha@arm.com>
1940169689Skan
1941169689Skan	* arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
1942169689Skan	macros.
1943169689Skan	(REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
1944169689Skan	(REGNO_OK_FOR_FOR_BASE_P): Delete.
1945169689Skan	(ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
1946169689Skan	both strict and non-strict uses.
1947169689Skan	(REG_MODE_OK_FOR_BASE_P): Define in terms of above.
1948169689Skan	(ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
1949169689Skan	(REG_OK_FOR_INDEX_P): Define in terms of above.
1950169689Skan	(REG_OK_FOR_BASE_P): Delete.
1951169689Skan	(REG_OK_FOR_PRE_POST_P): Delete.
1952169689Skan	(ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
1953169689Skan	(ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
1954169689Skan	(ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
1955169689Skan	(THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
1956169689Skan	(ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes.  Use ARM
1957169689Skan	specific variants rather than general ones.  Use ARM_REG_OK_FOR_BASE_P
1958169689Skan	in pre/post increment cases.
1959169689Skan	(THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
1960169689Skan	(ARM_LEGITIMIZE_ADDRESS): Similarly.
1961169689Skan	(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
1962169689Skan	* arm.c (legitimate_pic_address): Similarly.
1963169689Skan
1964169689Skan2000-12-02  Neil Booth  <neilb@earthling.net>
1965169689Skan
1966169689Skan	* tradcpp.c (struct answer, parse_assertion, parse_answer,
1967169689Skan	canonicalize_text, find_answer): New.
1968169689Skan	(do_assert, do_unassert): Provide appropriate function bodies.
1969169689Skan	(union hashval): New member answers.
1970169689Skan
1971169689Skan2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
1972169689Skan
1973169689Skan	* config/avr/avr.md: Document UNSPEC usage.
1974169689Skan	(*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
1975169689Skan	Make operand 0 input only, clobber it.  Use UNSPEC, not a bogus
1976169689Skan	MEM for program memory word reference.  Do not add the label to
1977169689Skan	the table index in each of the asm output templates, instead ...
1978169689Skan	(casesi): ... do it in RTL.  Adjust to match the above change.
1979169689Skan
1980169689Skan2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1981169689Skan
1982169689Skan	* c-common.c (PTRDIFF_TYPE): Provide default here, ...
1983169689Skan	* c-decl.c: ... not here.
1984169689Skan
1985169689Skan	* haifa-sched.c (sched_dump): Renamed from dump.  All users changed.
1986169689Skan	(old_max_uid): New variable.
1987169689Skan	(compute_forward_dependences): Renamed from
1988169689Skan	compute_block_forward_dependences; changed to accept block head and
1989169689Skan	tail instead of block number.  Caller changed.
1990169689Skan	(free_deps, init_dependency_caches, free_dependency_caches,
1991169689Skan	init_regions, sched_init): New functions, split out from
1992169689Skan	schedule_insns and compute_block_backward_dependences.
1993169689Skan
1994169689Skan2000-12-02  Neil Booth  <neilb@earthling.net>
1995169689Skan
1996169689Skan	* cppexp.c (parse_number): Update diagnostic test.
1997169689Skan
1998169689Skan2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1999169689Skan
2000169689Skan	* reload1.c (free_for_value_p): New function, frontend to
2001169689Skan	reload_reg_free_for_value_p.  All callers of the latter now call
2002169689Skan	this function with an additional mode argument.
2003169689Skan
2004169689Skan2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2005169689Skan
2006169689Skan	* install.texi (Configurations): Remove obsolete documentation for
2007169689Skan	hppa*-*-*.
2008169689Skan
2009169689Skan2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2010169689Skan
2011169689Skan	* install.texi (Installation): Remove obsolete description for
2012169689Skan	libstdc++ which is now an integral part of GCC.
2013169689Skan
2014169689Skan2000-12-01  Jim Blandy  <jimb@redhat.com>
2015169689Skan
2016169689Skan	* dbxout.c (dbxout_parms): Correctly describe parameters passed by
2017169689Skan	invisible reference in registers, but then spilled to the stack.
2018169689Skan	Remove code to emit a second stab for such parameters; it attempts
2019169689Skan	to describe the value's location by introducing a synthetic C++
2020169689Skan	`reference' type, and then saying the stack slot has that
2021169689Skan	reference type.  This loses type information (breaking GDB's
2022169689Skan	`ptype' command, among other things) just to describe a location
2023169689Skan	which stabs can represent correctly in other ways.
2024169689Skan
2025169689Skan2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
2026169689Skan
2027169689Skan	* final.c (output_addr_const) <PLUS>: Don't assume at least one
2028169689Skan	operand is a CONST_INT.
2029169689Skan
2030169689Skan	* config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
2031169689Skan	(machine_dependent_reorg): Split all insns.
2032169689Skan	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
2033169689Skan	reg_class_contents[SIBCALL_REGS].
2034169689Skan	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
2035169689Skan	* config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
2036169689Skan	call_value_pcrel, call, call_value, sibcall): Match even when
2037169689Skan	not optimizing.
2038169689Skan	(sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
2039169689Skan	for call address.
2040169689Skan	(sibcalli): Likewise.
2041169689Skan
2042169689Skan2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2043169689Skan
2044169689Skan	* c-common.c (warn_format, warn_format_y2k,
2045169689Skan	warn_format_extra_args, warn_format_nonliteral): Define.
2046169689Skan	(check_format_info): Check warn_format_nonliteral and
2047169689Skan	warn_format_extra_args.
2048169689Skan	(check_format_info_main): Check warn_format_y2k.
2049169689Skan	(set_Wformat): New function.
2050169689Skan	* c-common.h (warn_format_y2k, warn_format_extra_args,
2051169689Skan	warn_format_nonliteral, set_Wformat): Declare.
2052169689Skan	* c-decl.c (warn_format): Remove definition.
2053169689Skan	(c_decode_option): Handle -Wformat-nonliteral,
2054169689Skan	-Wno-format-extra-args and -Wno-format-y2k, and negated versions.
2055169689Skan	Use set_Wformat.
2056169689Skan	* invoke.texi: Document these new options and -Wformat=2.
2057169689Skan	* toplev.c (documented_lang_options): Add these new options.
2058169689Skan
2059169689Skan2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2060169689Skan
2061169689Skan	* builtins.def (BUILT_IN_IMAXABS): Add.
2062169689Skan	* builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
2063169689Skan	* c-common.c (c_common_nodes_and_builtins): Create builtin
2064169689Skan	functions __builtin_imaxabs, and plain imaxabs unless
2065169689Skan	flag_no_nonansi_builtin outside C99 mode.
2066169689Skan	(expand_tree_builtin): Handle BUILT_IN_IMAXABS.
2067169689Skan	* extend.texi: Document builtin imaxabs.
2068169689Skan
2069169689Skan2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2070169689Skan
2071169689Skan	* c-common.c: Include "defaults.h".
2072169689Skan	(WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
2073169689Skan	(c_common_nodes_and_builtins): Create string_type_node,
2074169689Skan	const_string_type_node, wint_type_node, intmax_type_node,
2075169689Skan	uintmax_type_node, default_function_type, ptrdiff_type_node and
2076169689Skan	unsigned_ptrdiff_type_node.
2077169689Skan	* c-common.h (identifier_global_value): Declare.
2078169689Skan	* c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
2079169689Skan	(init_decl_processing): Don't create string_type_node,
2080169689Skan	const_string_type_node, wint_type_node, intmax_type_node,
2081169689Skan	uintmax_type_node, default_function_type, ptrdiff_type_node and
2082169689Skan	unsigned_ptrdiff_type_node.
2083169689Skan	(identifier_global_value): New function.
2084169689Skan
2085169689Skan2000-12-01  Neil Booth  <neilb@earthling.net>
2086169689Skan
2087169689Skan	* cppinit.c (initialize): Forgotten prototype.
2088169689Skan	* cpplex.c (_cpp_lex_token): Loop until not skipping.
2089169689Skan	Always clear PREV_WHITE upon meeting a new line.
2090169689Skan	* cpplib.c (end_directive): Set pfile->skipping after
2091169689Skan	skip_rest_of_line.
2092169689Skan	* cpplib.h (cpp_reader): Remove macro_pos.
2093169689Skan	* cppmacro.c (cpp_get_line): Don't do anything special inside
2094169689Skan	macros.
2095169689Skan	(parse_arg): Add PREV_WHITE if a token appears after new lines.
2096169689Skan	(funlike_invocation_p): Save and restore the output position
2097169689Skan	over a successful check for a '('.
2098169689Skan	(enter_macro_context): Delete uses of macro_pos.
2099169689Skan	(cpp_get_token): Don't use pfile->skipping.
2100169689Skan
2101169689Skan2000-12-01  Phil Edwards  <pme@sources.redhat.com>
2102169689Skan
2103169689Skan	* diagnostic.c:  Fix typos in comments.
2104169689Skan	* diagnostic.h:  Likewise.
2105169689Skan
2106169689Skan2000-11-30  Phil Edwards  <pme@sources.redhat.com>
2107169689Skan
2108169689Skan	* rtl.texi (Machine Modes):  Document BImode and OImode.
2109169689Skan
2110169689Skan2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2111169689Skan
2112169689Skan	* gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
2113169689Skan	.FPP.
2114169689Skan
2115169689Skan2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2116169689Skan
2117169689Skan	* c-decl.c (grokdeclarator): If pedantic, warn about arrays with
2118169689Skan	incomplete element type.
2119169689Skan	(grokparms): Before checking for incomplete parameter type, check
2120169689Skan	the type isn't error_mark_node.
2121169689Skan
2122169689Skan2000-12-01  Jakub Jelinek  <jakub@redhat.com>
2123169689Skan
2124169689Skan	* builtins.c (target_char_cast): New function.
2125169689Skan	(expand_builtin_strchr): Use it.
2126169689Skan	(expand_builtin_strrchr): Use it.
2127169689Skan	(builtin_memset_read_str): New function.
2128169689Skan	(expand_builtin_memset): Use target_char_cast.
2129169689Skan	Try to optimize memset with second argument nonzero using
2130169689Skan	store_by_pieces.
2131169689Skan
2132169689Skan2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
2133169689Skan
2134169689Skan	* install.texi (avr): Replace incomplete list of supported MCU
2135169689Skan	types with a link to the current one ...
2136169689Skan	* invoke.texi (AVR Options): ... here.  Update -mmcu= to list
2137169689Skan	all supported MCU types.  Document -minit-stack= default.
2138169689Skan	Document new options -mno-tablejump, -mtiny-stack.
2139169689Skan	* md.texi (AVR family):  Fix typo in 'w' constraint letter
2140169689Skan	description.  Document 'q'.  Update 'O'.
2141169689Skan
2142169689Skan2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
2143169689Skan
2144169689Skan	* combine.c (cant_combine_insn_p): Only disallow insns involving
2145169689Skan	hard regs if they are reg-reg moves.
2146169689Skan	(try_combine, can_combine_p, combinable_i3pat): Delete old
2147169689Skan	SMALL_REGISTER_CLASSES tests.
2148169689Skan
2149169689Skan2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
2150169689Skan
2151169689Skan	* config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
2152169689Skan	whether X is a CONST_INT.
2153169689Skan	(addsubcosts): Likewise.
2154169689Skan
2155169689Skan	* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
2156169689Skan	mis-used XINT.
2157169689Skan	(ARG_POINTER_REGNUM): Set to AP_REG.
2158169689Skan
2159169689Skan2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
2160169689Skan
2161169689Skan	* config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
2162169689Skan	splits): Only match on TARGET_SH4.
2163169689Skan
2164169689Skan	* combine.c (try_combine): Disregard USEs when updating LOG_LINKS
2165169689Skan	of subsequent insns.
2166169689Skan
2167169689Skan2000-11-30  Richard Henderson  <rth@redhat.com>
2168169689Skan
2169169689Skan	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
2170169689Skan	* config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
2171169689Skan
2172169689Skan2000-11-30  Richard Henderson  <rth@redhat.com>
2173169689Skan
2174169689Skan	* config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
2175169689Skan	(DO_SELECT_SECTION): New.
2176169689Skan	(SELECT_SECTION): Use it.
2177169689Skan	(UNIQUE_SECTION_P): New.
2178169689Skan	(UNIQUE_SECTION): New.
2179169689Skan
2180169689Skan2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
2181169689Skan
2182169689Skan	* c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
2183169689Skan	from va_list before using it.
2184169689Skan
2185169689Skan2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
2186169689Skan
2187169689Skan	* flow.c (make_edge): Early out, if no flags to set.
2188169689Skan	(calculate_global_regs_live): Clear out garbage only when necessary.
2189169689Skan
2190169689Skan	* simplify-rtx.c (varray_type used_regs): New.
2191169689Skan	(clear_table): Use it to only clear necessary items.
2192169689Skan	(cselib_lookup, cselib_record_set): Remember newly set items.
2193169689Skan	(cselib_update_varray_sizes, cselib_init): Initialize and grow
2194169689Skan	used_regs.
2195169689Skan
2196169689Skan	* local-alloc.c (update_equiv_regs): New local `cleared_regs'.
2197169689Skan	Move clearing of dead regs out of insn-loop.
2198169689Skan
2199169689Skan2000-11-30  Richard Henderson  <rth@redhat.com>
2200169689Skan
2201169689Skan	* calls.c (expand_call): Emit queued insns before creating
2202169689Skan	the tail recursion sequence.
2203169689Skan
2204169689Skan2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
2205169689Skan	    Bruce Korb  <bkorb@gnu.org>
2206169689Skan
2207169689Skan	* fixinc/inclhack.def(): prevent dual double definition protection
2208169689Skan	* fixinc/fixincl.x: regenerate
2209169689Skan
2210169689Skan2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
2211169689Skan
2212169689Skan	* fixinc/Makefile.in (fixincl.x): Explicitly state the
2213169689Skan	location of the generated file.
2214169689Skan
2215169689Skan2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2216169689Skan
2217169689Skan	* README.FRESCO: Remove obsolete file.
2218169689Skan
2219169689Skan2000-11-30  Mark Kettenis  <kettenis@gnu.org>
2220169689Skan
2221169689Skan	* config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
2222169689Skan	TARGET_LIBGCC2_CFLAGS): Remove.  We now use the settings from
2223169689Skan	config/t-linux for the Hurd.
2224169689Skan
2225169689Skan2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2226169689Skan
2227169689Skan	* config/mn10200/udivmod.c, config/mn10200/divmod.c,
2228169689Skan	config/mn10200/udivmodsi4.c: Moved from here.
2229169689Skan	* config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
2230169689Skan	* config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
2231169689Skan	C division functions.
2232169689Skan	* config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
2233169689Skan
2234169689SkanThu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
2235169689Skan
2236169689Skan	* pa.md (conditional moves): Avoid holes in operand list.
2237169689Skan	(mod, umod patterns): Similarly.
2238169689Skan	(variable extract/shift patterns): Similarly.
2239169689Skan
2240169689Skan2000-11-30  Neil Booth  <neilb@earthling.net>
2241169689Skan
2242169689Skan	* objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
2243169689Skan	maybe_objc_check_decl, build_objc_string_object,
2244169689Skan	objc_declare_alias, objc_declare_class, build_message_expr,
2245169689Skan	build_protocol_expr, build_selector_expr, build_encode_expr,
2246169689Skan	get_class_ivars, start_class, start_protocol): Remove
2247169689Skan	redundant code, assuming doing_objc_thang is true.
2248169689Skan
2249169689Skan2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2250169689Skan
2251169689Skan	* pa.c (restore_unscaled_index_insn_codes): Delete procedure.
2252169689Skan	(record_unscaled_index_insn_codes): Likewise.
2253169689Skan	(unscaled_index_insn_codes): Delete.
2254169689Skan	(max_unscaled_index_insn_codes_uid): Delete.
2255169689Skan	(output_function_prologue, output_function_epilogue, pa_reorg):
2256169689Skan	Don't use the unscaled index insn hack.
2257169689Skan
2258169689Skan	* pa.md: Remove hack from all index insns to reverse the operand
2259169689Skan	order of frame and stack pointer references incorrectly created
2260169689Skan	in the reload pass.
2261169689Skan
2262169689Skan	* function.h (emit_status): Delete member regno_pointer_flag and
2263169689Skan	rename regno_pointer_flag_length to regno_pointer_align_length.
2264169689Skan	Delete define for REGNO_POINTER_FLAG.
2265169689Skan	* integrate.h (inline_remap): Delete member regno_pointer_flag.
2266169689Skan	Add member x_regno_reg_rtx.
2267169689Skan	* rtl.h (rtx_def): Use frame_related bit to indicate register is
2268169689Skan	a pointer in REG expressions.  Define REG_POINTER macro.
2269169689Skan	* alias.c (find_base_value, find_base_term): Use REG_POINTER
2270169689Skan	instead of REGNO_POINTER_FLAG.
2271169689Skan	* combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
2272169689Skan	* emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
2273169689Skan	of regno_pointer_flag_length.  Remove code which refers to
2274169689Skan	regno_pointer_flag.
2275169689Skan	(mark_reg_pointer): Use REG_POINTER.
2276169689Skan	(free_emit_status): Remove code which refers to regno_pointer_flag.
2277169689Skan	(init_emit, mark_emit_status): Likewise.
2278169689Skan	* flow.c (dump_flow_info): Likewise.
2279169689Skan	* function.c (preserve_temp_slots): Likewise.
2280169689Skan	* integrate.c (expand_inline_function, copy_rtx_and_substitute):
2281169689Skan	Use x_regno_reg_rtx instead of regno_pointer_flag for function
2282169689Skan	pointer determination in map.
2283169689Skan	* loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
2284169689Skan	* predict.c (estimate_probability): Likewise.
2285169689Skan	* regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
2286169689Skan	* unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
2287169689Skan	regno_pointer_flag for function pointer determination in map.
2288169689Skan	* convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
2289169689Skan	REG_POINTER.
2290169689Skan	* pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
2291169689Skan	Use REG_POINTER.
2292169689Skan	(restore_unscaled_index_insn_codes): Revise comment.
2293169689Skan
2294169689Skan	* expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
2295169689Skan
2296169689Skan2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
2297169689Skan
2298169689Skan	* extend.texi: Update documentation for attributes.
2299169689Skan
2300169689Skan2000-11-29  David O'Brien  <obrien@FreeBSD.org>
2301169689Skan
2302169689Skan	* config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
2303169689Skan	(ASM_DECLARE_OBJECT_NAME): Same.
2304169689Skan	(ASM_FILE_END): Same.
2305169689Skan	(ASM_FINISH_DECLARE_OBJECT): Same.
2306169689Skan	(ASM_IDENTIFY_GCC): Same.
2307169689Skan	(ASM_IDENTIFY_LANGUAGE): Same.
2308169689Skan	(ASM_OUTPUT_CONSTRUCTOR): Same.
2309169689Skan	(ASM_OUTPUT_DEF): Same.
2310169689Skan	(ASM_OUTPUT_DESTRUCTOR): Same.
2311169689Skan	(ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
2312169689Skan	(ASM_OUTPUT_SECTION_NAME): Same.
2313169689Skan	(ASM_WEAKEN_LABEL): Same.
2314169689Skan	(BSS_SECTION_ASM_OP): Same.
2315169689Skan	(COMMON_ASM_OP): Same.
2316169689Skan	(CONST_SECTION_ASM_OP): Same.
2317169689Skan	(CONST_SECTION_FUNCTION): Same.
2318169689Skan	(CTORS_SECTION_ASM_OP): Same.
2319169689Skan	(DTORS_SECTION_ASM_OP): Same.
2320169689Skan	(ESCAPES): Same.
2321169689Skan	(FINI_SECTION_ASM_OP): Same.
2322169689Skan	(IDENT_ASM_OP): Same.
2323169689Skan	(IDENT_ASM_OP): Same.
2324169689Skan	(INIT_SECTION_ASM_OP): Same.
2325169689Skan	(INT_ASM_OP): Same.
2326169689Skan	(MAX_OFILE_ALIGNMENT): Same.
2327169689Skan	(SBSS_SECTION_ASM_OP): Same.
2328169689Skan	(SDATA_SECTION_ASM_OP): Same.
2329169689Skan	(SECTION_FUNCTION_TEMPLATE): Same.
2330169689Skan	(SELECT_SECTION): Same.
2331169689Skan	(SE_CONST_SECTION): Same.
2332169689Skan	(SIZE_ASM_OP): Same.
2333169689Skan	(SKIP_ASM_OP): Same.
2334169689Skan	(STRING_ASM_OP): Same.
2335169689Skan	(STRING_LIMIT): Same.
2336169689Skan	(TYPE_ASM_OP): Same.
2337169689Skan	(TYPE_OPERAND_FMT): Same.
2338169689Skan
2339169689Skan2000-11-29  Neil Booth  <neilb@earthling.net>
2340169689Skan
2341169689Skan	* c-decl.c (c_decode_option): Don't handle -lang-objc.
2342169689Skan	* objc/lang-options.h: Remove -lang-objc.
2343169689Skan	* objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
2344169689Skan	* objc/objc-act.c (lang_init_options): Set c_language.
2345169689Skan
2346169689Skan2000-11-29  Jakub Jelinek  <jakub@redhat.com>
2347169689Skan
2348169689Skan	* expr.c (can_store_by_pieces): Reinitialize max_size for reverse
2349169689Skan	tests.
2350169689Skan
2351169689Skan2000-11-29  Neil Booth  <neilb@earthling.net>
2352169689Skan
2353169689Skan	* c-pragma.c (init_pragma): Update for parse_in type change.
2354169689Skan
2355169689Skan2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
2356169689Skan
2357169689Skan	* configure.in: recognize DOS-style absolute paths.
2358169689Skan
2359169689Skan2000-11-29  Jakub Jelinek  <jakub@redhat.com>
2360169689Skan
2361169689Skan	* expr.h (store_by_pieces): Add prototype.
2362169689Skan	(can_store_by_pieces): Likewise.
2363169689Skan	* expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
2364169689Skan	(can_store_by_pieces): New.
2365169689Skan	(store_by_pieces): New.
2366169689Skan	(clear_by_pieces): New.
2367169689Skan	(clear_by_pieces_1): New.
2368169689Skan	(store_by_pieces_1): Renamed from clear_by_pieces, handle storing
2369169689Skan	arbitrary compiler generated constants into memory block.
2370169689Skan	(store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
2371169689Skan	* builtins.c (c_readstr): New.
2372169689Skan	(builtin_memcpy_read_str): New.
2373169689Skan	(expand_builtin_memcpy): If src is string constant and
2374169689Skan	emit_block_move would move it by pieces, compute integer constants
2375169689Skan	from the string and store it into memory block instead.
2376169689Skan	(builtin_strncpy_read_str): New.
2377169689Skan	(expand_builtin_strncpy): If N is not constant zero and c_strlen does
2378169689Skan	not return INTEGER_CST, don't optimize.
2379169689Skan	If N is larger than strlen(src) + 1, try to copy the string
2380169689Skan	including padding with store_by_pieces.
2381169689Skan	(expand_builtin_strcmp): If both arguments have side effects, don't
2382169689Skan	optimize.
2383169689Skan	(expand_builtin_fputs): If STR has side effects, don't optimize.
2384169689Skan
2385169689Skan2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
2386169689Skan
2387169689Skan	* arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
2388169689Skan	Add use of link register.
2389169689Skan
2390169689Skan2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2391169689Skan
2392169689Skan	* extend.texi: Update documentation for default format attributes.
2393169689Skan
2394169689SkanTue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
2395169689Skan
2396169689Skan	* pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
2397169689Skan	a list, to keep track of the sections.
2398169689Skan
2399169689Skan2000-11-28  Nick Clifton  <nickc@redhat.com>
2400169689Skan
2401169689Skan	* config/arm/arm.md (pic_load_addr): Split into
2402169689Skan	pic_load_addr_arm and pic_load_addr_thumb.
2403169689Skan
2404169689Skan	* config/arm/arm.c (legitimize_pic_address): Generate either
2405169689Skan	ARM or Thumb versions of pic_load_addr.
2406169689Skan	(arm_finalize_pic): Generate either ARM or Thumb versions of
2407169689Skan	pic_load_addr.
2408169689Skan
2409169689Skan2000-11-28  Richard Henderson  <rth@redhat.com>
2410169689Skan
2411169689Skan	* calls.c (expand_call): Defer const/pure NO_DEFER_POP until
2412169689Skan	after sibcall do_pending_stack_adjust.
2413169689Skan
2414169689SkanWed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
2415169689Skan
2416169689Skan	* jump.c (delete_insn): Check that REG_LABEL note actually contains
2417169689Skan	a CODE_LABEL.
2418169689Skan
2419169689Skan2000-11-28  Neil Booth  <neilb@earthling.net>
2420169689Skan
2421169689Skan	* c-common.h: Remove flag_digraphs.
2422169689Skan	* c-decl.c: Remove flag_digraphs.
2423169689Skan	(c_decode_option): Don't set it.
2424169689Skan	* c-lex.c (init_c_lex): Don't do anything for digraphs.
2425169689Skan
2426169689Skan2000-11-28  Richard Henderson  <rth@redhat.com>
2427169689Skan
2428169689Skan	* c-parse.in (finish_parse): Update for parse_in type change.
2429169689Skan	(_yylex): Likewise.
2430169689Skan
2431169689Skan2000-11-28  Neil Booth  <neilb@earthling.net>
2432169689Skan
2433169689Skan	* cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
2434169689Skan	indicating whether to scan all buffers on the stack or
2435169689Skan	just one.
2436169689Skan	* cppinit.c (do_includes): Update.
2437169689Skan	* cppmain.c (main): Update.
2438169689Skan	* cpplib.h: Update prototype.
2439169689Skan
2440169689Skan2000-11-28  Richard Henderson  <rth@redhat.com>
2441169689Skan
2442169689Skan	* genoutput.c (validate_insn_operands): New.
2443169689Skan	(gen_insn): Call it.
2444169689Skan
2445169689Skan	* config/alpha/alpha.md (divmodsi_internal): Renumber operands.
2446169689Skan	(divmoddi_internal): Likewise.
2447169689Skan	* config/arm/arm.md (andsi3_compare0_scratch): Likewise.
2448169689Skan	* config/i960/i960.md (branch patterns): Likewise.
2449169689Skan	* config/ia64/ia64.md (tbit_and_0): Likewise.
2450169689Skan	(tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
2451169689Skan	* config/m68k/m68k.md (zero_extract memory patterns): Likewise.
2452169689Skan	* config/mips/mips.md (divmodsi4_internal): Likewise.
2453169689Skan	(divmoddi4_internal): Likewise.
2454169689Skan	* config/rs6000/rs6000.md (call patterns): Likewise.
2455169689Skan	* config/sh/sh.md (movsi_y): Likewise.
2456169689Skan	* config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
2457169689Skan
2458169689Skan2000-11-28  Richard Henderson  <rth@redhat.com>
2459169689Skan
2460169689Skan	* config.gcc: Kill residual pyramid support.
2461169689Skan
2462169689Skan2000-11-28  Neil Booth  <neilb@earthling.net>
2463169689Skan
2464169689Skan	* c-lex.h (parse_in): Change parse_in to a cpp_reader *.
2465169689Skan	* c-decl.c (c_decode_option): Update to match.
2466169689Skan	* c-lex.c (init_c_lex, yyparse): Update to match.
2467169689Skan	* c-lang.c (lang_init_options): Use cpp_create_reader.
2468169689Skan	* cppinit.c (cpp_init): Rename initialize.
2469169689Skan	(cpp_reader_init): Rename cpp_create_reader.  Create the
2470169689Skan	reader.  Initialize cpplib if appropriate.
2471169689Skan	* cpplib.h (cpp_create_reader) New prototype.
2472169689Skan	(cpp_init, cpp_reader_init): Delete prototypes.
2473169689Skan	* cppmain.c (general_init, setup_callbacks): New functions.
2474169689Skan	(main): Use them.
2475169689Skan	* fix-header.c (scan_in): Change type to cpp_reader *.
2476169689Skan	(read_scan_file): Update for new cpplib interface and scan_in type.
2477169689Skan
2478169689Skan	* cp/decl.c (parse_in): Change to cpp_reader *.
2479169689Skan	(lang_decode_option): Update.
2480169689Skan	* cp/lex.c (lang_init_options): Use new cpplib interface.
2481169689Skan	(init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
2482169689Skan	* cp/spew.c (read_token): Update.
2483169689Skan	* objc/objc-act.c (lang_init_options): Update new cpplib interface.
2484169689Skan
2485169689Skan2000-11-28  Jakub Jelinek  <jakub@redhat.com>
2486169689Skan
2487169689Skan	* loop.c (load_mems): Avoid using next_label to find end_label. If
2488169689Skan	jumping outside of the loop (other than loop end), don't hoist MEMs
2489169689Skan	out of loop.
2490169689Skan
2491169689Skan2000-11-28  Jan Hubicka  <jh@suse.cz>
2492169689Skan
2493169689Skan	* calls.c (expand_call): Don't disable tail recursion based
2494169689Skan	on the loop nest.
2495169689Skan
2496169689Skan2000-11-28  Neil Booth  <neilb@earthling.net>
2497169689Skan
2498169689Skan	* tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
2499169689Skan	(struct directive): Drop 4th argument from handlers.
2500169689Skan	(do_define, do_line, do_include, do_undef, do_else, do_elif,
2501169689Skan	do_endif): Similarly.
2502169689Skan	(do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
2503169689Skan	(do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
2504169689Skan	(make_definition, make_undef): Take a const char*.
2505169689Skan	(make_assertion): New function.
2506169689Skan	(struct directive_table): Update.
2507169689Skan	(main): Handle -A command line argument.
2508169689Skan	(handle_directive): Drop fourth handler argument.
2509169689Skan
2510169689Skan2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
2511169689Skan
2512169689Skan	* simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
2513169689Skan	is anything but REG or MEM, but look inside STRICT_LOW_PART.
2514169689Skan
2515169689SkanTue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2516169689Skan
2517169689Skan	* system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
2518169689Skan	(IS_ABSOLUTE_PATHNAME): New macro.
2519169689Skan	* gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
2520169689Skan
2521169689Skan2000-11-28  Jakub Jelinek  <jakub@redhat.com>
2522169689Skan
2523169689Skan	* config/i386/i386.md (truncxfsf2_2): Fix predicate.
2524169689Skan
2525169689Skan2000-11-27  Jim Wilson  <wilson@redhat.com>
2526169689Skan
2527169689Skan	* reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
2528169689Skan
2529169689Skan2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
2530169689Skan
2531169689Skan	* extend.texi (Nested Functions): Update URL of Usenix paper.
2532169689Skan
2533169689Skan2000-11-27  Mark Mitchell  <mark@codesourcery.com>
2534169689Skan
2535169689Skan	* function.c (free_after_compilation): Clear x_clobber_return_insn.
2536169689Skan
2537169689Skan2000-11-27  Neil Booth  <neilb@earthling.net>
2538169689Skan
2539169689Skan	* cppinit.c (cpp_reader_init): Remove handling of warn_paste
2540169689Skan	command line options.
2541169689Skan	(cpp_handle_option): Similarly.
2542169689Skan	* cpplib.h (struct cpp_options): Remove warn_paste.
2543169689Skan	* cppmacro.c (paste_tokens): Apart from assembler, make
2544169689Skan	unpasteable token warning mandatory.
2545169689Skan
2546169689Skan2000-11-27  Neil Booth  <neilb@earthling.net>
2547169689Skan
2548169689Skan	* tradcpp.c (enum pending_dir_t, struct pending_dir): New.
2549169689Skan	(main): Allocate a pending directive set of these.  Use it.
2550169689Skan	Merge handling of -D and -U.  Update handling of pending
2551169689Skan	directives.  Free the memory after use.
2552169689Skan
2553169689Skan2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
2554169689Skan
2555169689Skan	* flow.c (entry_exit_blocks): Add entry for cond_local_set.
2556169689Skan	(struct propagate_block_info): Add new member cond_local_set.
2557169689Skan	(propagate_block): Accept new arg cond_local_set.  All callers
2558169689Skan	changed.
2559169689Skan	(init_propagate_block_info): Likewise.
2560169689Skan	(calculate_global_regs_live): Allocate & free cond_local_set.  Always
2561169689Skan	rescan if there's overlap between cond_local_set and new_live_at_end.
2562169689Skan	(mark_set_1): Set bits either in cond_local_set or local_set, as
2563169689Skan	appropriate.
2564169689Skan	* basic-block.h (struct basic_block_def): New field cond_local_set.
2565169689Skan	(propagate_block, init_propagate_block_info): Update prototypes.
2566169689Skan
2567169689SkanMon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
2568169689Skan
2569169689Skan	* gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
2570169689Skan	T register.
2571169689Skan
2572169689Skan2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
2573169689Skan
2574169689Skan	* arm.c (select_dominance_cc_mode): Handle new way that combine
2575169689Skan	canonicalizes conditional compares.
2576169689Skan	(arm_select_cc_mode): Likewise.
2577169689Skan	* arm.md: Garbage collect some dead code.
2578169689Skan	(cmp_and, cmp_ior): New patterns.
2579169689Skan	(splitter for conditional move with inverted false): Use cond_exec
2580169689Skan	and handle unordered comparisons.
2581169689Skan
2582169689SkanMon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
2583169689Skan
2584169689Skan	* i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
2585169689Skan	* i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
2586169689Skan	* i386.md (float?i?f, int/fp operations): Rewrite spliters to use
2587169689Skan	ix86_force_to_memory and ix86_free_from_memory.
2588169689Skan
2589169689Skan2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
2590169689Skan
2591169689Skan	* arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
2592169689Skan	arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
2593169689Skan	anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
2594169689Skan	one_cmpldi2): Merge with splitters to create define_insn_and_split
2595169689Skan	patterns.  Remove redundant splits.
2596169689Skan	(peephole2 for add:SI of invalid immediate): New.
2597169689Skan	(peephole2 for minus:SI of invalid immediate): New.
2598169689Skan	(peephole2 for ior:SI of invalid immediate): New.
2599169689Skan	(peephole for merge of move and compare): Convert ot peephole2.
2600169689Skan	(addsf3, adddf3): Mark as commutative.
2601169689Skan
2602169689Skan	* arm.md (thumb peephole for merging stack adjustments): Convert to
2603169689Skan	peephole2.
2604169689Skan
2605169689Skan2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
2606169689Skan
2607169689Skan	* haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
2608169689Skan
2609169689Skan	* reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
2610169689Skan	(reload_cse_simplify_operands): Do nothing about operands where both
2611169689Skan	the operand and the match_operand fail to give us a mode.
2612169689Skan	* simplify-rtx.c (wrap_constant): New function.
2613169689Skan	(entry_and_rtx_equal_p): Except integer constants to come wrapped in a
2614169689Skan	CONST describing the proper mode.
2615169689Skan	(rtx_equal_for_cselib_p): Pass down modes to recursive calls of
2616169689Skan	cselib_lookup.
2617169689Skan	(cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
2618169689Skan	htab_find_slot_with_hash.
2619169689Skan	(cselib_lookup): Likewise.
2620169689Skan
2621169689Skan	Based on a patch from Geoff Keating <geoffk@redhat.com>:
2622169689Skan	* loop.c (basic_induction_var): If a REG is set from something
2623169689Skan	that is not a biv, then the REG is not a biv.  Even if it is
2624169689Skan	earlier set from something that is a biv.
2625169689Skan
2626169689Skan2000-11-27  Alexandre Oliva  <aoliva@redhat.com>
2627169689Skan
2628169689Skan	* configure.in (extra_objs): Enclose extra_headers in quotes.
2629169689Skan	* configure: Rebuilt.
2630169689Skan
2631169689Skan2000-11-27  Neil Booth  <neilb@earthling.net>
2632169689Skan
2633169689Skan	* c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
2634169689Skan	Combine into the new function cb_change_file.
2635169689Skan	(init_c_lex): Update.
2636169689Skan	* cppfiles.c (stack_include_file): Use _cpp_do_file_change.
2637169689Skan	(cpp_syshdr_flags): Delete.
2638169689Skan	* cpphash.h (_cpp_do_file_change): New prototype.
2639169689Skan	Move struct cpp_buffer here from...
2640169689Skan	* cpplib.h (struct cpp_buffer): ... here.
2641169689Skan	(enum cpp_fc_reason, struct cpp_file_loc,
2642169689Skan	struct_cpp_file_change, change_file): New.
2643169689Skan	(enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
2644169689Skan	* cpplib.c (do_line): Update for new cb_change_file callback.
2645169689Skan	(_cpp_do_file_change): New function.
2646169689Skan	(_cpp_pop_buffer): Update to use it.
2647169689Skan	* cppmain.c (move_printer): Delete.
2648169689Skan	(main): Set up single callback cb_change_file.
2649169689Skan	(cb_enter_file, cb_leave_file, cb_rename_file): Delete.
2650169689Skan	(cb_change_file): New.
2651169689Skan	* fix-header.c (cur_file, cb_change_file): New.
2652169689Skan	(recognized_function, read_scan_file): Update.
2653169689Skan	* scan-decls.c (scan_decls): Update.
2654169689Skan	* scan.h (recognized_function): Update prototype.
2655169689Skan
2656169689Skan2000-11-26  Mark Mitchell  <mark@codesourcery.com>
2657169689Skan
2658169689Skan	* tree.h (mark_tree_hashtable): New function.
2659169689Skan	* tree.c (mark_tree_hashtable_entry): New function.
2660169689Skan	(mark_tree_hashtable): Likewise.
2661169689Skan
2662169689Skan2000-11-27  Michael Meissner  <meissner@redhat.com>
2663169689Skan
2664169689Skan	* d30v-protos.h (srelational_si_operator): Correctly spell
2665169689Skan	function.
2666169689Skan	(urelational_si_operator): Ditto.
2667169689Skan	(relational_si_operator): Ditto.
2668169689Skan	(d30v_expand_prologue): Add prototype.
2669169689Skan	(d30v_expand_epilogue): Ditto.
2670169689Skan
2671169689Skan	* d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
2672169689Skan
2673169689Skan	* d30v.md (movcccc_*): Delete now unused patterns.
2674169689Skan	(64 bit comparison splitters): Rewrite to use COND_EXEC instead of
2675169689Skan	IF_THEN_ELSE.
2676169689Skan	(define_cond_exec): Use 'b' to select branch flags.
2677169689Skan
2678169689Skan2000-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2679169689Skan
2680169689Skan	* builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
2681169689Skan	functions.
2682169689Skan	(expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
2683169689Skan
2684169689Skan	* builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
2685169689Skan
2686169689Skan	* c-common.c (c_common_nodes_and_builtins): Declare builtin
2687169689Skan	strncpy and strncmp.
2688169689Skan
2689169689Skan	* extend.texi (strncmp, strncpy): Document new builtins.
2690169689Skan
2691169689Skan2000-11-26  Mark Mitchell  <mark@codesourcery.com>
2692169689Skan
2693169689Skan	* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
2694169689Skan	a list, to keep track of the sections.
2695169689Skan	* tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
2696169689Skan	parameter provided will always be a canonical string.
2697169689Skan
2698169689Skan2000-11-26  Neil Booth  <neilb@earthling.net>
2699169689Skan
2700169689Skan	* cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
2701169689Skan	current buffer.
2702169689Skan
2703169689Skan2000-11-26  Joseph S. Myers  <jsm28@cam.ac.uk>
2704169689Skan
2705169689Skan	* makefile.vms: Remove EGCS references.
2706169689Skan
2707169689Skan2000-11-26  Ulrich Drepper  <drepper@redhat.com>
2708169689Skan
2709169689Skan	* dwarf2out.c (output_file_names): New function.  Compute minimal
2710169689Skan	combination of directory and file name table and emit them.
2711169689Skan	(output_line_info): Remove code to emit directory and file name
2712169689Skan	table and call output_file_names instead.
2713169689Skan	(file_info_cmp): Helper function to sort directory names.
2714169689Skan
2715169689Skan2000-11-26  Neil Booth	<neilb@earthling.net>
2716169689Skan
2717169689Skan	* cpplib.h (struct cpp_reader): Remove lang_asm.
2718169689Skan	(struct cpp_options): Remove c89. New members lang,
2719169689Skan	extended_numbers.
2720169689Skan	* cppexp.c (parse_number): Use them.
2721169689Skan	* cpphash.h (VALID_SIGN): Use them.
2722169689Skan	* cppinit.c (set_lang, cpp_start_read): Update.
2723169689Skan	* cpplex.c (parse_string, _cpp_lex_token): Update.
2724169689Skan	* cpplib.c (_cpp_handle_directive): Update.
2725169689Skan	* cppmacro.c (parse_args): Update.
2726169689Skan	* cppmain.c (scan_buffer): Update.
2727169689Skan
2728169689SkanSun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2729169689Skan
2730169689Skan	* fold-const.c (fold, case CONVERT_EXPR): Always return tree of
2731169689Skan	proper type.
2732169689Skan
2733169689Skan2000-11-26  Neil Booth	<neilb@earthling.net>
2734169689Skan
2735169689Skan	* Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
2736169689Skan	* c-decl.c: Remove parse_in declaration.
2737169689Skan	* c-lang.c: Similarly.
2738169689Skan	* c-lex.c: Similarly.
2739169689Skan	* c-parse.in: Similarly.
2740169689Skan	* c-pragma.c: Similarly.
2741169689Skan	* configure.in: Similarly.
2742169689Skan	* cp/Make-lang.in: Similarly.
2743169689Skan	* cp/spew.c: Similarly.
2744169689Skan	* cp/decl2.c: Remove check for lang-c++ option.
2745169689Skan	* cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
2746169689Skan	* cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
2747169689Skan	* c-lex.h: Add declaration of parse_in.
2748169689Skan	* cppinit.c: Call set_lang after allocating pfile->pending.
2749169689Skan	* configure: Regenerate.
2750169689Skan
2751169689Skan2000-11-25  Zack Weinberg  <zack@wolery.stanford.edu>
2752169689Skan
2753169689Skan	* combine.c (try_combine): Remove redundant test.
2754169689Skan
2755169689Skan2000-11-25  Richard Henderson  <rth@redhat.com>
2756169689Skan
2757169689Skan	* c-common.h (DECL_C_HARD_REGISTER): New.
2758169689Skan	* c-decl.c (finish_decl): Set it for asm register variables.
2759169689Skan	* c-semantics.c (emit_local_var): Test it when instantiating one.
2760169689Skan
2761169689Skan2000-11-25  Richard Henderson  <rth@redhat.com>
2762169689Skan
2763169689Skan	* c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
2764169689Skan	lineno for the start of the function.
2765169689Skan
2766169689Skan2000-11-25  Richard Henderson  <rth@redhat.com>
2767169689Skan
2768169689Skan	* dwarf2out.c (file_table, file_table_allocated): Remove.
2769169689Skan	(file_table_allocated): Remove.
2770169689Skan	(struct file_table): New.
2771169689Skan	(decl_file_table, line_file_table): New.
2772169689Skan	(print_dwarf_line_table): Use them.
2773169689Skan	(size_of_line_prolog): Likewise.
2774169689Skan	(output_line_info): Likewise.
2775169689Skan	(add_src_coords_attributes): Likewise.
2776169689Skan	(gen_subprogram_die): Likewise.
2777169689Skan	(gen_variable_die): Likewise.
2778169689Skan	(dwarf2out_add_library_unit_info): Likewise.
2779169689Skan	(dwarf2out_line): Likewise.
2780169689Skan	(lookup_filename): Take a struct file_table argument.
2781169689Skan	(init_file_table): New.
2782169689Skan	(dwarf2out_init): Use it.
2783169689Skan
2784169689Skan2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2785169689Skan
2786169689Skan	* invoke.texi: Update sequence points references.
2787169689Skan
2788169689Skan2000-11-25  Neil Booth  <neilb@earthling.net>
2789169689Skan
2790169689Skan	* c-common.c: Remove USE_CPPLIB conditional inclusions.
2791169689Skan	* c-common.h: Similarly.
2792169689Skan	* c-decl.c: Similarly.
2793169689Skan	* c-lang.c: Similarly.
2794169689Skan	* c-lex.c: Similarly.
2795169689Skan	* c-parse.in: Similarly.
2796169689Skan	* c-pragma.c: Similarly.
2797169689Skan	* c-pragma.h: Similarly.
2798169689Skan	* gcc.c: Similarly.
2799169689Skan	* toplev.c: Similarly.
2800169689Skan	* cp/cp-tree.h: Similarly.
2801169689Skan	* cp/decl2.c: Similarly.
2802169689Skan	* cp/lang-specs.h: Similarly.
2803169689Skan	* cp/lex.c: Similarly.
2804169689Skan	* cp/lex.h: Similarly.
2805169689Skan	* cp/spew.c: Similarly.
2806169689Skan	* java/lang-options.h: Similarly.
2807169689Skan	* objc/lang-specs.h: Similarly.
2808169689Skan	* objc/objc-act.c: Similarly.
2809169689Skan
2810169689Skan	* configure.in: Remove configure option.
2811169689Skan	* config.in: Regenerate.
2812169689Skan	* configure: Regenerate.
2813169689Skan
2814169689Skan2000-11-25  Richard Henderson  <rth@redhat.com>
2815169689Skan
2816169689Skan	* haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
2817169689Skan	Revert 2000-11-22 change.
2818169689Skan
2819169689Skan2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
2820169689Skan
2821169689Skan	* config/i386/i386.h (FIXED_REGS): Make the three flags registers
2822169689Skan	fixed.
2823169689Skan
2824169689Skan2000-11-25  Philipp Thomas  <pthomas@suse.de>
2825169689Skan	* configure.in (ALL_LINGUAS): Remove en_GB and add sv.
2826169689Skan	* configure: Rebuilt.
2827169689Skan
2828169689Skan2000-11-25  Jakub Jelinek  <jakub@redhat.com>
2829169689Skan
2830169689Skan	* config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
2831169689Skan	Handle CONST_INT as second argument.
2832169689Skan	* config/sparc/sparc.c (set_extends): Remove first argument.
2833169689Skan	Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
2834169689Skan	MOV.
2835169689Skan	(sparc_check_64): Abort if first argument is not REG.
2836169689Skan	If it is DImode REG, look at the lower register of the register
2837169689Skan	pair.
2838169689Skan
2839169689Skan	* config/sparc/sparc.c (load_pic_register, restore_regs,
2840169689Skan	output_return, sparc_v8plus_shift, sparc_function_profiler,
2841169689Skan	sparc_function_block_profiler, sparc_block_profiler): Fix output
2842169689Skan	formatting.
2843169689Skan
2844169689Skan2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
2845169689Skan
2846169689Skan	* config/sh/sh.h (TARGET_NONE): New.
2847169689Skan	(TARGET_SWITCHES): For all variant-selecting switch, use
2848169689Skan	TARGET_NONE to reset all other variant-selecting switch.  Added
2849169689Skan	empty strings to avoid warnings.
2850169689Skan	(TARGET_DEFAULT): Set to SH1_BIT.
2851169689Skan
2852169689Skan	* Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
2853169689Skan	insn-codes.h.
2854169689Skan
2855169689Skan	* gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
2856169689Skan	(sibcall_pcrel): New insn_and_split.
2857169689Skan	(sibcall, sibcall_value, sibcall_epilogue): New expands.
2858169689Skan
2859169689Skan	* config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
2860169689Skan	symPLT_label2reg, call, call_value): Don't set
2861169689Skan	current_function_uses_pic_offset_table.
2862169689Skan	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
2863169689Skan	PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
2864169689Skan	takes it into account.
2865169689Skan	(FINALIZE_PIC): Delete, useless.
2866169689Skan	(LEGITIMATE_CONSTANT_P): Delete, unused.
2867169689Skan	* config/sh/sh.c (sh_expand_prologue): Don't use
2868169689Skan	current_function_uses_pic_offset_table.  Don't special-case
2869169689Skan	PIC_OFFSET_TABLE_REGNUM.  Initialize it if it's ever live and
2870169689Skan	PIC is enabled.
2871169689Skan	(sh_expand_epilogue, initial_elimination_offset): Don't
2872169689Skan	special case PIC_OFFSET_TABLE_REGNUM.
2873169689Skan
2874169689Skan2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
2875169689Skan
2876169689Skan	* config/sh/sh-protos.h (symbol_ref_operand): Declare.
2877169689Skan	* config/sh/sh.md (UNSPEC_CALLER): New constant.
2878169689Skan	(calli_pcrel, call_valuei_pcrel): Use PIC_REG.
2879169689Skan	(call_pcrel, call_value_pcrel): New insn_and_splits.
2880169689Skan	(call, call_value): Use them.
2881169689Skan	(call_site): New expand.
2882169689Skan	(sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
2883169689Skan	* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
2884169689Skan	Output call_site label.
2885169689Skan	(PREDICATE_CODES): Added symbol_ref_operand.
2886169689Skan	* config/sh/sh.c (symbol_ref_operand): Define.
2887169689Skan	* emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
2888169689Skan	to CALL_INSNs in the split sequence.
2889169689Skan
2890169689Skan2000-11-24  Nick Clifton  <nickc@redhat.com>
2891169689Skan
2892169689Skan	* config.gcc (v850-*-*): Define c_target_objs and
2893169689Skan	cxx_target_objs.
2894169689Skan
2895169689Skan	* config/v850/t-v850: Define how to build v850-c.o
2896169689Skan
2897169689Skan	* config/v850/v850.h (struct data_area_stack_element): Move
2898169689Skan	definition here from v850.c.
2899169689Skan
2900169689Skan	* config/v850v850.c: Include gcc.h to avoid compile time
2901169689Skan	warning.
2902169689Skan	(push_data_area): Move to v850-c.c.
2903169689Skan	(pop_data_area): Move to v850-c.c.
2904169689Skan	(mark_current_function_as_interrupt): Move to v850-c.c.
2905169689Skan	(GHS_default_section_names): Allow to be exported.
2906169689Skan	(GHS_current_section_names): Allow to be exported.
2907169689Skan	(data_area_stack_elements): Allow to be exported.
2908169689Skan	(ghs_pragma_section): Move to v850-c.c.
2909169689Skan	(ghs_pragma_interrupt): Move to v850-c.c.
2910169689Skan	(ghs_pragma_starttda): Move to v850-c.c.
2911169689Skan	(ghs_pragma_startsda): Move to v850-c.c.
2912169689Skan	(ghs_pragma_startzda): Move to v850-c.c.
2913169689Skan	(ghs_pragma_endtda): Move to v850-c.c.
2914169689Skan	(ghs_pragma_endsda): Move to v850-c.c.
2915169689Skan	(ghs_pragma_endzda): Move to v850-c.c.
2916169689Skan
2917169689Skan	* config/v850/v850-c.c: New file: Contains v850 specific
2918169689Skan	pragma parsing functions.
2919169689Skan
2920169689Skan2000-11-24  Nick Clifton  <nickc@redhat.com>
2921169689Skan
2922169689Skan	* config.gcc (extra_objs): Remove duplicate description.
2923169689Skan	(c_target_objs): New variable.  Contains target specific
2924169689Skan	object files for the gcc C compiler only.
2925169689Skan	(cxx_target_objs): New variable.  Contains target specific
2926169689Skan	object files for the gxx C++ compiler only.
2927169689Skan
2928169689Skan	* configure.in (c_target_objs): Substitute in the makefile.
2929169689Skan	(cxx_target_objs): Substitute in the makefile.
2930169689Skan	* configure: Regenerate.
2931169689Skan
2932169689Skan	* Makefile.in (C_TARGET_OBJS): Define and initialize from
2933169689Skan	c_target_objs.
2934169689Skan	(CXX_TARGET_OBJS): Define and initialize from
2935169689Skan	cxx_target_objs.
2936169689Skan	(C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
2937169689Skan
2938169689Skan	* cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
2939169689Skan
2940169689Skan	* tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
2941169689Skan	about how the use of the 'c_lex' function requires the use of
2942169689Skan	the target specific, language specific object files feature of
2943169689Skan	the configuration mechanism.
2944169689Skan
2945169689SkanFri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2946169689Skan
2947169689Skan	* gcc.c (process_command): Use F_OK, not R_OK.
2948169689Skan
2949169689Skan2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
2950169689Skan
2951169689Skan	* flow.c (print_rtl_and_abort): Remove ANSIism.
2952169689Skan
2953169689SkanFri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
2954169689Skan
2955169689Skan	* config/sh/sh.h (GENERAL_REGISTER_P,
2956169689Skan	GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
2957169689Skan	FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros.  Use them
2958169689Skan	all over.
2959169689Skan	(SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
2960169689Skan	* config/sh/sh.c: Use new macros.
2961169689Skan	* config/sh/sh.md: Likewise.
2962169689Skan
2963169689SkanFri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
2964169689Skan
2965169689Skan	* config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
2966169689Skan	instead of just MACH_REG in DImode.  Always refer to FPSCR_REG
2967169689Skan	in PSImode.
2968169689Skan
2969169689SkanFri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
2970169689Skan
2971169689Skan	* config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
2972169689Skan	fixed.
2973169689Skan	(machine_dependent_reorg): Wrong optimization based on
2974169689Skan	NOTICE_UPDATE_CC removed.
2975169689Skan
2976169689SkanFri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
2977169689Skan
2978169689Skan	* jump.c (delete_computation): Re-instate deletion of feeding insn.
2979169689Skan	(delete_insn): Look for REG_LABEL notes.
2980169689Skan	(redirect_tablejump): Delete feeding insns.
2981169689Skan
2982169689Skan2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
2983169689Skan
2984169689Skan	* config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
2985169689Skan	call_value_pop_1): Make sure operand numbers are contiguous.
2986169689Skan
2987169689Skan	* fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
2988169689Skan
2989169689Skan	* reload1.c (conflicts_with_override): New function.
2990169689Skan	(emit_input_reload_insns): Use it to tighten test for validity
2991169689Skan	of substituting into output of previous insn.
2992169689Skan
2993169689Skan	* haifa-sched.c (struct ready_list): New.
2994169689Skan	(ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
2995169689Skan	functions.
2996169689Skan	(schedule_insn): Replace args READY and N_READY with a pointer to a
2997169689Skan	ready_list; return void.  Use the new functions to access the ready
2998169689Skan	list.  All callers changed.
2999169689Skan	(queue_to_ready, debug_ready_list): Likewise.
3000169689Skan	(schedule_block): Initialize a ready_list structure.  Use new
3001169689Skan	functions to access it.
3002169689Skan	(max_priority): Remove unused variable.
3003169689Skan	(schedule_insn): Don't set it.
3004169689Skan
3005169689Skan	* c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
3006169689Skan
3007169689Skan	* combine.c (cant_combine_insn_p): New function.
3008169689Skan	(try_combine): Use it.
3009169689Skan
3010169689Skan	* Makefile.in (c-common.o): Depend on $(OBSTACK_H).
3011169689Skan	* c-common.c (c-obstack.c): Include "obstack.h".
3012169689Skan	(struct reverse_tree): Delete.
3013169689Skan	(reverse_list, reverse_max_depth): Delete.
3014169689Skan	(build_reverse_tree, common_ancestor, modify_ok): Delete functions.
3015169689Skan	(struct tlist, struct tlist_cache): New.
3016169689Skan	(tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
3017169689Skan	(add_tlist, merge_tlist, verify_tree, warning_candidate_p,
3018169689Skan	warn_for_collisions, warn_for_collisions_1, new_tlist): New
3019169689Skan	static functions.
3020169689Skan	(verify_sequence_points): Rewritten.
3021169689Skan	* fold-const.c (fold): Don't lose possibly important sequence
3022169689Skan	points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
3023169689Skan
3024169689Skan2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
3025169689Skan
3026169689Skan	* gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
3027169689Skan	when reversing a register-to-register copy.  Reversal now disabled
3028169689Skan	when the previous instruction has a REG_EQUIV.
3029169689Skan
3030169689Skan2000-11-24  Nathan Sidwell  <nathan@codesourcery.com>
3031169689Skan
3032169689Skan	* c-parse.in (unary_expr): Move VA_ARG from here ...
3033169689Skan	(primary): ... to here.
3034169689Skan
3035169689Skan2000-11-23  Graham Stott  <grahams@redhat.com>
3036169689Skan
3037169689Skan	* expr.c (store_constructor): If a field is non addressable and
3038169689Skan	the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
3039169689Skan
3040169689Skan2000-11-23  Bernd Schmidt  <bernds@redhat.co.uk>
3041169689Skan
3042169689Skan	* flow.c (print_rtl_and_abort): New function.
3043169689Skan	(verify_wide_reg, verify_local_live_at_start): Try to dump more
3044169689Skan	information before aborting.
3045169689Skan
3046169689Skan2000-11-23  Alexandre Oliva  <aoliva@redhat.com>
3047169689Skan
3048169689Skan	* emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
3049169689Skan	is narrower than requested mode.
3050169689Skan	(gen_highpart): Abort if register mode is narrower than
3051169689Skan	requested mode.
3052169689Skan
3053169689Skan2000-11-23  Graham Stott  <grahams@redhat.com>
3054169689Skan
3055169689Skan	* cse.c (cse_insn): Initialize all regcost variables.
3056169689Skan	Fix a typo add missing '='.
3057169689Skan	Only compare costs if there is a replacement insn.
3058169689Skan
3059169689SkanThu Nov 23 04:33:33 2000  Alexandre Oliva  <aoliva@redhat.com>
3060169689Skan
3061169689Skan	* final.c (output_addr_const) [LABEL_REF]: Simplify.
3062169689Skan	[MINUS]: Enclose non-CONST_INTs in parentheses.
3063169689Skan	[default]: Try OUTPUT_ADDR_CONST_EXTRA.
3064169689Skan	* tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
3065169689Skan	* varasm.c (decode_rtx_const) [CONST]: If it's not something
3066169689Skan	PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
3067169689Skan	instead of abort()ing.
3068169689Skan	* sh.c (output_pic_addr_const): Removed.  Fixed all callers.
3069169689Skan	* sh.h (OUTPUT_ADDR_CONST_EXTRA): New.  Handle the UNSPECs
3070169689Skan	formerly handled in output_pic_addr_const.
3071169689Skan	* sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
3072169689Skan	operands of MINUS in CONSTs so that decode_rtx_const() will
3073169689Skan	accept them.
3074169689Skan
3075169689SkanThu Nov 23 04:10:30 2000  Alexandre Oliva  <aoliva@redhat.com>
3076169689Skan
3077169689Skan	* config/sh/sh.md (mova_const): New pattern.
3078169689Skan	(GOTaddr2picreg): Use it.
3079169689Skan	* config/sh/sh.c (broken_move): Match it.
3080169689Skan	(mova_p): Don't match it.
3081169689Skan	(machine_dependent_reorg): Adjust it.
3082169689Skan
3083169689SkanThu Nov 23 02:09:09 2000  Alexandre Oliva  <aoliva@redhat.com>
3084169689Skan
3085169689Skan	* config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
3086169689Skan	Moved most register-number #defines...
3087169689Skan	* config/sh/sh.md (define_constants): ... here.  Use macros to
3088169689Skan	refer to registers and unspecs.
3089169689Skan	* config/sh/sh.c: Likewise.
3090169689Skan
3091169689SkanThu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
3092169689Skan
3093169689Skan	* Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
3094169689Skan	(rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
3095169689Skan	(alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
3096169689Skan	(splay-tree.o, hash.o): Likewise.
3097169689Skan	GCONFIG_H: New.
3098169689Skan	(rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
3099169689Skan	(bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
3100169689Skan	(hashtab.o): Likewise.
3101169689Skan	(gcov.o): Depend on $(CONFIG_H).
3102169689Skan	* configure.in: #include insn-codes.h in tm.h.
3103169689Skan
3104169689Skan2000-11-22  Nick Clifton  <nickc@redhat.com>
3105169689Skan
3106169689Skan	* config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
3107169689Skan	const char * to avoid a compile time warning.
3108169689Skan
3109169689Skan	* config/arm/arm.md (define_constants): Define symbolic names for
3110169689Skan	the link register, last integer register and the fake CC register.
3111169689Skan	Update patterns to use these symbolic names.
3112169689Skan
3113169689Skan2000-11-22  Neil Booth  <neilb@earthling.net>
3114169689Skan
3115169689Skan	* cpplex.c (trigraph_ok): Ensure we don't warn twice.
3116169689Skan	* cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
3117169689Skan
3118169689Skan2000-11-22  Richard Henderson  <rth@redhat.com>
3119169689Skan
3120169689Skan	* haifa-sched.c (sched_analyze_1): Don't special-case calls
3121169689Skan	for clobbering registers.
3122169689Skan	(sched_analyze_2): Likewise.
3123169689Skan	(sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
3124169689Skan
3125169689Skan2000-11-22  Chris Demetriou  <cgd@sibyte.com>
3126169689Skan	    Neil Booth  <neilb@earthling.net>
3127169689Skan
3128169689Skan	* gcc.c (validate_switches): Validate multiple switches named
3129169689Skan	in '|' (or) expressions in specs.
3130169689Skan	(handle_braces): If more than 1 alternative in a '|' spec
3131169689Skan	matches, call do_spec1 just once.
3132169689Skan
3133169689Skan2000-11-22  Michael Meissner  <meissner@redhat.com>
3134169689Skan
3135169689Skan	* d30v.h (TARGET_SWITCHES): Add documentation strings.
3136169689Skan	(TARGET_OPTIONS): Ditto.
3137169689Skan	(OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
3138169689Skan	-O3.
3139169689Skan
3140169689SkanWed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
3141169689Skan
3142169689Skan	* pa.c (hppa_encode_label): Account for addition of encoding
3143169689Skan	character when allocating persistent space for the new label
3144169689Skan	name.
3145169689Skan
3146169689Skan2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
3147169689Skan
3148169689Skan	* Makefile.in, config.gcc, configure.in: Expunge remaining
3149169689Skan	traces of facility for running MD files through C preprocessor.
3150169689Skan
3151169689Skan2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>
3152169689Skan
3153169689Skan	* gcov.texi: Add magic comments for texi2pod.pl.
3154169689Skan	* Makefile.in: Add rules to generate and install gcov.1.
3155169689Skan	* gcov.1: New (generated) file.
3156169689Skan
3157169689Skan2000-11-21  Richard Henderson  <rth@redhat.com>
3158169689Skan
3159169689Skan	* regrename.c (scan_rtx_reg): Terminate the chain rather than
3160169689Skan	abort on mark_read with NO_REGS.
3161169689Skan
3162169689Skan2000-11-21  Mike Stump  <mrs@wrs.com>
3163169689Skan
3164169689Skan	* fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
3165169689Skan	compilation with older compilers, such as /bin/cc on SunOS.
3166169689Skan	* fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
3167169689Skan
3168169689Skan2000-11-21  Richard Henderson  <rth@redhat.com>
3169169689Skan
3170169689Skan	* varasm.c (record_constant): Pad the constructed
3171169689Skan	constant_descriptor appropriately.
3172169689Skan
3173169689SkanWed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
3174169689Skan
3175169689Skan	* rtl.h (traverse_md_constants): Declare.
3176169689Skan	(struct md_constant): Define.
3177169689Skan	* Makefile.in (HOST_RTL): Add hashtab.o .
3178169689Skan	(OBJS): Add hashtab.o .
3179169689Skan	(hashtab.o): New rule.
3180169689Skan	(rtl.o): Depends on HASHTAB_H.
3181169689Skan	* rtl.c (hashtab.h): #include.
3182169689Skan	(md_constants): New static variable.
3183169689Skan	(def_hash, def_name_eq_p, read_constants): New static functions.
3184169689Skan	(traverse_md_constants): New function.
3185169689Skan	(read_name): Do constant expansion.
3186169689Skan	(read_rtx): Recognize define_constants.
3187169689Skan	* gencodes.c (print_md_constant): New function.
3188169689Skan	(main): Emit #defines for all constant definitions encountered.
3189169689Skan	* md.texi (Constant Definitions): New node.
3190169689Skan	* gensupport.c (xcalloc): New function.
3191169689Skan
3192169689Skan2000-11-21  Richard Henderson  <rth@redhat.com>
3193169689Skan
3194169689Skan	* config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
3195169689Skan	* config/alpha/alpha-protos.h: Declare it.
3196169689Skan	* config/alpha/alpha.md (abstf_internal): Use it.
3197169689Skan	(negtf_internal): Likewise.
3198169689Skan	(andnotdi3): Unstar the name.
3199169689Skan	(movtf_internal): Add o/G alternative.
3200169689Skan
3201169689Skan2000-11-21  Zack Weinberg  <zack@wolery.stanford.edu>
3202169689Skan
3203169689Skan	* stringpool.c (stringpool_statistics): Also report number and
3204169689Skan	percentage of entries which are identifiers.
3205169689Skan
3206169689Skan2000-11-21  Diego Novillo  <dnovillo@redhat.com>
3207169689Skan
3208169689Skan	* gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
3209169689Skan	visited before visiting it.
3210169689Skan
3211169689Skan2000-11-21  Nick Clifton  <nickc@redhat.com>
3212169689Skan
3213169689Skan	* config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
3214169689Skan	TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
3215169689Skan
3216169689Skan	* config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
3217169689Skan
3218169689Skan2000-11-21  Richard Henderson  <rth@redhat.com>
3219169689Skan
3220169689Skan	* c-common.c (c_unsafe_for_reeval): New function.
3221169689Skan	(add_c_tree_codes): Register it.
3222169689Skan	* c-common.h: Declare it.
3223169689Skan	* tree.c (lang_unsafe_for_reeval): New hook.
3224169689Skan	(unsafe_for_reeval): Call it.
3225169689Skan	* tree.h: Declare it.
3226169689Skan
3227169689Skan2000-11-21  Richard Henderson  <rth@redhat.com>
3228169689Skan
3229169689Skan	* config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
3230169689Skan	references as well.
3231169689Skan
3232169689Skan2000-11-21  Neil Booth  <neilb@earthling.net>
3233169689Skan
3234169689Skan	* do_includes: Revert to using cpp_read_file.
3235169689Skan
3236169689Skan2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
3237169689Skan
3238169689Skan	* loop.c (consec_sets_giv): If the reg we're examining is anything
3239169689Skan	but UNKNOWN_INDUCT, do nothing.
3240169689Skan	Reset the reg's type to UNKNOWN_INDUCT before returning.
3241169689Skan
3242169689Skan	Mostly from Vladimir Makarov (vmakarov@redhat.com)
3243169689Skan	* ia64.md (attr itanium_class): Define insn types as described in
3244169689Skan	Itanium docs.
3245169689Skan	(all insn patterns): Use itanium_class, not type attributes.
3246169689Skan	Occasionally split alternatives as necessary.
3247169689Skan	(attr type): Compute from new attr itanium_class.
3248169689Skan
3249169689Skan2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3250169689Skan
3251169689Skan	* tradcpp.c (output_line_command): Mark system headers as such in
3252169689Skan	`line' commands.
3253169689Skan
3254169689Skan2000-11-21  Jakub Jelinek  <jakub@redhat.com>
3255169689Skan
3256169689Skan	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): SPARC has .file/.loc
3257169689Skan	support in as as well.
3258169689Skan	* configure: Regenerate.
3259169689Skan
3260169689Skan2000-11-20  Richard Henderson  <rth@redhat.com>
3261169689Skan
3262169689Skan	* c-lex.c (orig_filename): New variable.
3263169689Skan	(init_c_lex): Set it.  Move call to cpp_start_read ...
3264169689Skan	(yyparse): ... here.  New function.
3265169689Skan	* c-parse.in (yyparse_1): Rename the parser entry point.
3266169689Skan	* c-tree.h: Declare it.
3267169689Skan
3268169689Skan2000-11-21  Jakub Jelinek  <jakub@redhat.com>
3269169689Skan
3270169689Skan	* expr.c (do_compare_and_jump): If op0 was replaced by promoted
3271169689Skan	integer constant, use type of op1 for comparison.
3272169689Skan
3273169689Skan2000-11-20  Stan Shebs  <shebs@apple.com>
3274169689Skan
3275169689Skan	* config/rs6000/xm-darwin.h: New file, Darwin host definitions.
3276169689Skan	* config/rs6000/x-darwin: New file, Darwin host fragment.
3277169689Skan	* config.gcc (powerpc-*-darwin*): New host.
3278169689Skan	* system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
3279169689Skan	overridden by a config file.
3280169689Skan
3281169689Skan2000-11-20  Neil Booth  <neilb@earthling.net>
3282169689Skan
3283169689Skan	* cppmacro.c (paste_tokens): Rename from paste_payloads.
3284169689Skan	Change token type after pasting spellings.
3285169689Skan	(paste_all_tokens): Use it.
3286169689Skan	* gcc.dg/cpp/paste2.c: Update test.
3287169689Skan	* objc/execute/paste.m: New test.
3288169689Skan
3289169689Skan2000-11-20  Richard Henderson  <rth@redhat.com>
3290169689Skan
3291169689Skan	* dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
3292169689Skan	dwarf_subscr_data_formats bits.
3293169689Skan	* dwarfout.c (simple_type_size_in_bits): Handle a type with
3294169689Skan	no computed size as size zero.
3295169689Skan	(field_byte_offset): Likewise.
3296169689Skan	(subscript_data_attribute): Handle a range with no upper bound.
3297169689Skan
3298169689Skan2000-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3299169689Skan
3300169689Skan	* gansidecl.h (const): Check __STDC__ before undef'ing `const'.
3301169689Skan
3302169689Skan2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3303169689Skan
3304169689Skan	* c-typeck.c (build_conditional_expr): When merging type
3305169689Skan	qualifiers for conditional expressions between a pointer and a
3306169689Skan	pointer to a void type, merge the qualifiers on the target types
3307169689Skan	rather than the pointer type.  Remove obsolete conditioned out
3308169689Skan	code.
3309169689Skan
3310169689Skan2000-11-20  Neil Booth  <neilb@earthling.net>
3311169689Skan
3312169689Skan	* c-lang.c (lang_init_options): Update call to
3313169689Skan	cpp_reader_init.
3314169689Skan	* cppmain.c (main): Similarly.
3315169689Skan	* fix-header.c (read_scan_file): Similarly.
3316169689Skan	* cp/lex.c (lang_init_options): Similarly.
3317169689Skan	* objc/objc-act.c (lang_init_options): Similarly.
3318169689Skan	* cppexp.c (parse_number): Only warn for unextended C89.
3319169689Skan	* cppinit.c (set_lang): New function.
3320169689Skan	(cpp_reader_init): Take a LANG argument and pass it to set_lang.
3321169689Skan	(COMMAND_LINE_OPTIONS): New option std=c++98.
3322169689Skan	(cpp_handle_option): Use set_lang.
3323169689Skan	* cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
3324169689Skan	* cppib.h (enum_c_lang): New enumeration.  Update comments.
3325169689Skan
3326169689Skan2000-11-20  Will Cohen  <wcohen@redhat.com>
3327169689Skan
3328169689Skan	* calls.c (expand_call): Clear target only when target is in
3329169689Skan	hard register and current_function_check_memory_usage is set.
3330169689Skan
3331169689Skan2000-11-20  Bernd Schmidt  <bernds@redhat.co.uk>
3332169689Skan
3333169689Skan	* toplev.c (rest_of_compilation): Run optimize_mode_switching even
3334169689Skan	if not optimizing.
3335169689Skan	* sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
3336169689Skan
3337169689Skan2000-11-19  Richard Henderson  <rth@redhat.com>
3338169689Skan
3339169689Skan	* crtstuff.c (force_to_data): Use array size 1 not 0.
3340169689Skan
3341169689Skan	* dwarf2out.c (simple_type_size_in_bits): Handle a type with
3342169689Skan	no computed size as size zero.
3343169689Skan	(field_byte_offset): Likewise.
3344169689Skan
3345169689Skan2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3346169689Skan
3347169689Skan	* config.gcc: Fix another typo.
3348169689Skan
3349169689Skan2000-11-19  Richard Henderson  <rth@redhat.com>
3350169689Skan
3351169689Skan	* c-decl.c (grokdeclarator): Support flexible array members.
3352169689Skan	Use open-ended ranges for these and zero-length arrays.
3353169689Skan	* c-typeck.c (push_init_level): Validate the context of
3354169689Skan	initialization of a zero-length array.
3355169689Skan	* tree.c (int_fits_type_p): Be prepared for missing bounds.
3356169689Skan	* varasm.c (array_size_for_constructor): New.
3357169689Skan	(output_constructor): Use it for arrays of unspecified length.
3358169689Skan	* extend.texi (Zero Length): Mention C99 flexible array members.
3359169689Skan	Document initialization in a top-level struct as valid.
3360169689Skan
3361169689Skan2000-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3362169689Skan
3363169689Skan	* config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
3364169689Skan
3365169689Skan	* alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
3366169689Skan	stdarg and varargs functions.
3367169689Skan
3368169689Skan2000-11-19  Zack Weinberg  <zack@wolery.stanford.edu>
3369169689Skan
3370169689Skan	* gcc.c (process_command): Define 'j' variable when
3371169689Skan	MODIFY_TARGET_NAME is defined.
3372169689Skan
3373169689Skan2000-11-19  Richard Henderson  <rth@redhat.com>
3374169689Skan
3375169689Skan	* stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
3376169689Skan
3377169689Skan2000-11-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3378169689Skan
3379169689Skan	* rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
3380169689Skan	calculation and allocation.
3381169689Skan
3382169689Skan2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3383169689Skan
3384169689Skan	* builtins.c (c_getstr): Constify variable.
3385169689Skan	* gmon-sol2.c (_mcleanup): Comment out #endif labels.
3386169689Skan	* conflict.c (const_conflict_graph_arc): New typedef.
3387169689Skan	(arc_hash, arc_eq): Avoid needlessly casting away const-ness.
3388169689Skan	* cppmacro.c (builtin_macro): Likewise.
3389169689Skan	* dwarf2out.c (output_comp_unit): Constify variable.
3390169689Skan	* fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
3391169689Skan	* protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
3392169689Skan	* ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
3393169689Skan	away const-ness.
3394169689Skan	* tradcpp.c (rescan, do_line, macroexpand, macarg): Use
3395169689Skan	ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
3396169689Skan	* varasm.c (const_str_htab_hash, const_str_htab_eq,
3397169689Skan	compare_constant_1, record_constant_1): Constify.
3398169689Skan
3399169689Skan2000-11-18  Richard Henderson  <rth@redhat.com>
3400169689Skan
3401169689Skan	* c-decl.c (grokdeclarator): Special case the creation of an
3402169689Skan	index for a zero-length array.
3403169689Skan	* tree.c (build_index_type): Revert Oct 20 change.
3404169689Skan
3405169689Skan2000-11-18  Marek Michalkiewicz  <marekm@linux.org.pl>
3406169689Skan
3407169689Skan	* config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
3408169689Skan	* config/avr/avr.c (jump_tables_size): New variable.
3409169689Skan	(function_prologue): Initialize it as 0.
3410169689Skan	(function_epilogue): Add it to function_size.
3411169689Skan	(avr_output_addr_vec_elt): New function.  Count words in jump
3412169689Skan	tables in jump_tables_size.  Move code ...
3413169689Skan	* config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
3414169689Skan	Call avr_output_addr_vec_elt instead.
3415169689Skan	* config/avr/avr.md (tablejump): Remove disabled define_expand.
3416169689Skan
3417169689Skan2000-11-18  Mark Mitchell  <mark@codesourcery.com>
3418169689Skan
3419169689Skan	* configure.in: Make --enable-new-gxx-abi the default.
3420169689Skan	* configure: Likewise.
3421169689Skan
3422169689Skan2000-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3423169689Skan
3424169689Skan	* Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
3425169689Skan
3426169689Skan	* tradcif.y: Include tradcpp.h.  Constify.  Make functions static.
3427169689Skan	Move extern function declarations to tradcpp.h.
3428169689Skan
3429169689Skan	* tradcpp.c: Likewise.
3430169689Skan
3431169689Skan	* tradcpp.h: New file.
3432169689Skan
3433169689Skan2000-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3434169689Skan
3435169689Skan	* c-decl.c (check_for_loop_decls): New function.
3436169689Skan	* c-parse.in (for_init_stmt): New.
3437169689Skan	(select_or_iter_stmt): Use for_init_stmt.
3438169689Skan	* c-tree.h (check_for_loop_decls): New declaration.
3439169689Skan
3440169689Skan2000-11-18  Neil Booth  <neilb@earthling.net>
3441169689Skan
3442169689Skan	* cppinit.c: Update comments.
3443169689Skan	(cpp_reader_init): Make -imacro and -include use the standard
3444169689Skan	#include "" search path.
3445169689Skan	(do_includes): New function.
3446169689Skan
3447169689Skan2000-11-18  Ben Elliston  <bje@redhat.com>
3448169689Skan
3449169689Skan	* config/sh/crt1.asm (start_l): Move PC-relative move instruction
3450169689Skan	out of a branch delay slot.
3451169689Skan
3452169689Skan2000-11-17  Richard Henderson  <rth@redhat.com>
3453169689Skan
3454169689Skan	* config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
3455169689Skan	(ASM_SPEC): Disable and enable .mdebug based on -gstabs.
3456169689Skan	(ASM_FILE_START): Only write out ecoff .file directive if
3457169689Skan	emitting mdebug debugging.
3458169689Skan
3459169689Skan2000-11-17  Richard Henderson  <rth@redhat.com>
3460169689Skan
3461169689Skan	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New.  Detect
3462169689Skan	whether as accepts .file/.loc and produces dwarf2 line info.
3463169689Skan	* dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
3464169689Skan	the assembler supports it.
3465169689Skan	* config.in, configure: Regenerate.
3466169689Skan
3467169689Skan2000-11-17  Richard Henderson  <rth@redhat.com>
3468169689Skan
3469169689Skan	* fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
3470169689Skan
3471169689Skan2000-11-17  Jim Wilson  <wilson@redhat.com>
3472169689Skan
3473169689Skan	* config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
3474169689Skan	Don't clear need_barrier is next_insn is a CALL_INSN, or has
3475169689Skan	instruction type B or UNKNOWN.
3476169689Skan
3477169689Skan2000-11-17  Neil Booth  <neilb@earthling.net>
3478169689Skan
3479169689Skan	* cpperror.c (print_file_and_line): Don't display line number if 0.
3480169689Skan
3481169689Skan2000-11-17  Zack Weinberg  <zack@wolery.stanford.edu>
3482169689Skan
3483169689Skan	* ggc.h: Delete ggc_add_string_root and ggc_mark_string.  Add
3484169689Skan	digit_vector and digit_string.
3485169689Skan	* stringpool.c (digit_vector): New.
3486169689Skan	(ggc_alloc_string): Use digit_string.
3487169689Skan
3488169689Skan	* stmt.c (digit_strings): Delete.
3489169689Skan	(init_stmt): Do not initialize digit_strings.
3490169689Skan	(expand_asm_operands): Use ggc.h's digit_string macro.
3491169689Skan	* toplev.c (mark_file_stack): Delete.
3492169689Skan	(compile_file): Don't call init_tree_codes.
3493169689Skan	(main): No need to make the file stack a GC root.
3494169689Skan	* tree.c (init_tree_codes): Delete.
3495169689Skan	* tree.h (init_tree_codes): Delete.
3496169689Skan
3497169689Skan	* c-lex.c: Don't include ggc.h.
3498169689Skan	(mark_splay_tree_node, mark_splay_tree): Delete.
3499169689Skan	(init_c_lex): No need to ggc_strdup string constant.  Don't add
3500169689Skan	file_info_tree to GGC roots.
3501169689Skan	(cb_enter_file, cb_rename_file): No need to ggc_strdup
3502169689Skan	ip->nominal_fname.
3503169689Skan
3504169689Skan	* Makefile.in (c-lex.o): No longer depends on $(GGC_H).
3505169689Skan
3506169689Skan	* dbxout.c (dbxout_init),
3507169689Skan	dwarf2out.c (dwarf2out_line),
3508169689Skan	ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
3509169689Skan	varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
3510169689Skan	xcoffout.c (xcoffout_source_file),
3511169689Skan	i386.c (load_pic_register):
3512169689Skan	Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
3513169689Skan
3514169689Skan	* except.c (create_rethrow_ref),
3515169689Skan	profile.c (init_edge_profiler),
3516169689Skan	toplev.c (compile_file),
3517169689Skan	varasm.c (named_section, assemble_static_space,
3518169689Skan	assemble_trampoline_template, output_constant_def, force_const_mem),
3519169689Skan	i386.c (load_pic_register),
3520169689Skan	ia64.c (ia64_encode_section_info),
3521169689Skan	rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
3522169689Skan	rs6000_emit_prologue, rs6000_emit_epilogue),
3523169689Skan	rs6000.md (load_toc_aix_si, load_toc_aix_di):
3524169689Skan	Change ggc_alloc_string (var, -1) to ggc_strdup (var).
3525169689Skan
3526169689Skan	* profile.c (output_func_start_profiler),
3527169689Skan	tree.c (make_node),
3528169689Skan	i386.c (load_pic_register): No need to ggc_strdup string constant.
3529169689Skan
3530169689Skan2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
3531169689Skan
3532169689Skan	* Makefile.in (config.status): Depend on config.gcc.
3533169689Skan	* configure.in <for machine in $build $host $target>: Move
3534169689Skan	contents of loop into config.gcc, removing autoconf quoting.
3535169689Skan	Fix changequote bug for alpha*-*-vxworks*.
3536169689Skan	* configure: Regenerate.
3537169689Skan	* config.gcc: New.
3538169689Skan
3539169689Skan2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
3540169689Skan
3541169689Skan	* c-parse.in (if_prefix): Find the filename and line number at
3542169689Skan	$-2 and $-1 respectively.
3543169689Skan	* diagnostic.c (error_recursion): Add missing newline, use
3544169689Skan	fputs, translate string.
3545169689Skan
3546169689Skan2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
3547169689Skan
3548169689Skan	* stringpool.c: New file.
3549169689Skan	* ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
3550169689Skan	(ggc_alloc_string): Now in stringpool.o.
3551169689Skan	* ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
3552169689Skan	* ggc.h: Delete prototype of ggc_add_string_root.  #define
3553169689Skan	ggc_add_string_root and ggc_mark_string to nothing.  Prototype
3554169689Skan	init_stringpool and stringpool_statistics.
3555169689Skan	(ggc_alloc_string): Returns a const char *.
3556169689Skan	* tree.c (hash_table, do_identifier_warnings): Delete.
3557169689Skan	(init_obstacks): Don't initialize the identifier hash table.
3558169689Skan	(get_identifier, maybe_get_identifier, start_identifier_warnings,
3559169689Skan	set_identifier_size): Now in stringpool.c.
3560169689Skan	* tree.h (struct tree_string): Constify pointer field.
3561169689Skan	(approx_sqrt): Prototype.
3562169689Skan
3563169689Skan	* Makefile.in (stringpool.o): Add rule, mention in OBJS.
3564169689Skan
3565169689Skan	* toplev.c (approx_sqrt): New function.
3566169689Skan	(compile_file): Call stringpool_statistics if mem_report is on.
3567169689Skan	(main): Call init_stringpool.
3568169689Skan
3569169689Skan	* builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
3570169689Skan	(process_directive), c-typeck.c (constructor_asmspec, struct
3571169689Skan	initializer_stack, start_init), except.c (create_rethrow_ref),
3572169689Skan	stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
3573169689Skan	(built_in_filename), varasm,c (in_named_name,
3574169689Skan	assemble_static_space, struct constant_descriptor, struct
3575169689Skan	deferred_string, struct pool_constant, force_const_mem),
3576169689Skan	i386.c (pic_label_name, global_offset_table_name), rs6000.c
3577169689Skan	(rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
3578169689Skan
3579169689Skan	* c-common.c (combine_strings): Combine strings in scratch
3580169689Skan	buffer, then pass to build_string.
3581169689Skan	* optabs.c (init_libfuncs), profile.c (init_edge_profiler,
3582169689Skan	output_func_start_profiler), stmt.c (init_stmt), alpha.c
3583169689Skan	(alpha_need_linkage), arm.c (arm_encode_call_attribute),
3584169689Skan	i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
3585169689Skan	rs6000.c (rs6000_encode_section_info): Create string in
3586169689Skan	scratch buffer, then pass to ggc_alloc_string.
3587169689Skan
3588169689Skan	* stmt.c (expand_asm_operands): If we must adjust the
3589169689Skan	constraint strings, do so by creating a new one, not by
3590169689Skan	modifying the old one in place.  Constify some char *s.
3591169689Skan	* config/pa/pa.c (hppa_encode_label): Drop unnecessary second
3592169689Skan	argument.  Create string in scratch buffer, then pass to
3593169689Skan	ggc_alloc_string.
3594169689Skan	* config/pa/pa-protos.h: Update prototype.
3595169689Skan	* config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
3596169689Skan	hppa_encode_label takes only one argument.
3597169689Skan
3598169689Skan2000-11-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3599169689Skan
3600169689Skan	* mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
3601169689Skan	malloc/realloc.
3602169689Skan
3603169689Skan	* cpplib.c (glue_header_name): Likewise.
3604169689Skan
3605169689Skan	* fixincl.c (run_compiles, start_fixer): Likewise.
3606169689Skan
3607169689Skan	* fixlib.c (load_file_data): Likewise.
3608169689Skan
3609169689Skan	* mkdeps.c (munge): Likewise.
3610169689Skan
3611169689Skan2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
3612169689Skan
3613169689Skan	* defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
3614169689Skan	trailing ';'.  Fix formatting.
3615169689Skan
3616169689Skan2000-11-16  Jim Wilson  <wilson@redhat.com>
3617169689Skan
3618169689Skan	* config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
3619169689Skan	Shift masks left by one to avoid conflict.
3620169689Skan
3621169689Skan	* config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
3622169689Skan	DECL_EXTERNAL set.
3623169689Skan
3624169689Skan2000-11-16  Nick Clifton  <nickc@redhat.com>
3625169689Skan
3626169689Skan	* config/arm/arm.c (output_arm_prologue): Note nested functions.
3627169689Skan	(arm_expand_prologue): For nested functions preserve the
3628169689Skan	static chain register during stack frame creation.
3629169689Skan
3630169689Skan	* config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
3631169689Skan	(ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
3632169689Skan	with a stack frame there is a 4 byte gap between the arg
3633169689Skan	pointer and the hard frame pointer (used to preserve the
3634169689Skan	static chain register during stack frame creation).
3635169689Skan
3636169689Skan2000-11-16  DJ Delorie  <dj@redhat.com>
3637169689Skan
3638169689Skan	* rtl.c (read_rtx): Provide suitable names for unnamed
3639169689Skan	define_insn and define_insn_and_split patterns, based on file
3640169689Skan	and line numbers.
3641169689Skan
3642169689Skan2000-11-15  Neil Booth  <neilb@earthling.net>
3643169689Skan
3644169689Skan	* cpplib.c (start_directive, end_directive): New functions.
3645169689Skan	(_cpp_handle_directive, run_directive): Use them.
3646169689Skan	(_cpp_handle_directive): Don't -Wtraditional on indented
3647169689Skan	null directives.
3648169689Skan	(_cpp_push_buffer): Don't re-clear was_skipping.
3649169689Skan	* cpplib.h (struct cpp_reader): New member la_saved.
3650169689Skan	* cppmacro.c (cpp_get_token): Don't interpret _Pragma in
3651169689Skan	directives.
3652169689Skan
3653169689Skan	gcc.dg/cpp/_Pragma1.c: Update.
3654169689Skan	gcc.dg/cpp/_Pragma2.c: New test.
3655169689Skan
3656169689Skan2000-11-15  Mark Mitchell  <mark@codesourcery.com>
3657169689Skan
3658169689Skan	* toplev.c (wrapup_global_declarations): Don't write out
3659169689Skan	artificial static variables that aren't needed.
3660169689Skan
3661169689Skan2000-11-15  Bernd Schmidt  <bernds@redhat.co.uk>
3662169689Skan
3663169689Skan	* ia64.c (struct group): New structure.
3664169689Skan	(last_group): New static array.
3665169689Skan	(group_idx): New static variable.
3666169689Skan	(emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
3667169689Skan	New static functions.
3668169689Skan	(emit_insn_group_barriers): Initialize and keep track of group_idx
3669169689Skan	and last_group.
3670169689Skan	Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
3671169689Skan	Replace all calls to emit_insn_after that emit a group barrier to use
3672169689Skan	emit_group_barrier_after.
3673169689Skan	* ia64.h (MASK_B_STEP): New.
3674169689Skan	(other MASK_XXX macros): Renumbered.
3675169689Skan	(TARGET_B_STEP): New.
3676169689Skan	(TARGET_SWITCHES): Add -mb-step.
3677169689Skan
3678169689Skan2000-11-15  Fred Fish  <fnf@be.com>
3679169689Skan
3680169689Skan	* fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
3681169689Skan	machines for which fixincludes is not needed.
3682169689Skan	* config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
3683169689Skan
3684169689Skan2000-11-15  Jason Merrill  <jason@redhat.com>
3685169689Skan
3686169689Skan	* diagnostic.c (finish_abort): New fn.
3687169689Skan	(fancy_abort, error_recursion): Use it.
3688169689Skan	* toplev.c (crash_signal): Likewise.
3689169689Skan	* diagnostic.h: Declare it.
3690169689Skan
3691169689Skan2000-11-13  Andrew Haley  <aph@redhat.com>
3692169689Skan
3693169689Skan	* tree.c (build_type_no_quals): New function.
3694169689Skan	* tree.h (build_type_no_quals): Declare.
3695169689Skan	* c-common.c (c_get_alias_set): When considering type
3696169689Skan	compatibility for pointer types, ignore cv-qualifiers anywhere in
3697169689Skan	a pointer chain.
3698169689Skan
3699169689Skan2000-11-15  Graham Stott  <grahams@redhat.com>
3700169689Skan
3701169689Skan	* regrename.c (scan_rtx_rtx): Skip to the next chain on
3702169689Skan	encountering a terminated chain.
3703169689Skan
3704169689Skan2000-11-14  Mark Mitchell  <mark@codesourcery.com>
3705169689Skan
3706169689Skan	* configure.in: Move check for V3 above check for C++ header-file
3707169689Skan	directory.
3708169689Skan	* configure: Regenerated.
3709169689Skan
3710169689Skan2000-11-14  DJ Delorie  <dj@redhat.com>
3711169689Skan
3712169689Skan	* config/v850/v850.c: Remove obstacks.
3713169689Skan
3714169689SkanTue Nov 14 21:54:31 2000  Marek Michalkiewicz  <marekm@linux.org.pl> & Denis Chertykov  <denisc@overta.ru>
3715169689Skan
3716169689Skan	* config/avr/avr.c (avr_case_values_threshold): New.
3717169689Skan	(avr_override_options): Set it depending on options, make it large
3718169689Skan	when not optimizing to work around "unable to generate reloads".
3719169689Skan
3720169689Skan	* config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
3721169689Skan	(EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
3722169689Skan	executable if not AVR_MEGA.  Make sure jump tables are word-aligned.
3723169689Skan	(JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
3724169689Skan	(ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
3725169689Skan	(avr_case_values_threshold): Declare as extern int.
3726169689Skan	(CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
3727169689Skan
3728169689Skan	* config/avr/avr.md (tablejump): Removed.
3729169689Skan	(*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
3730169689Skan	(*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
3731169689Skan	index in the table, not multiplied by 2.
3732169689Skan	(casesi): Change to match the above insns.  Always enable.
3733169689Skan
3734169689Skan	* config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
3735169689Skan	Change to expect the word address of the table, multiply it by 2
3736169689Skan	here and not in the caller.  Change "adiw" to faster "inc".
3737169689Skan
3738169689Skan2000-11-14  Neil Booth  <neilb@earthling.net>
3739169689Skan
3740169689Skan	* cppexp.c (parse_defined): Call cpp_get_token not
3741169689Skan	_cpp_get_token.
3742169689Skan	(lex): Similarly.
3743169689Skan	* cpplex.c (cpp_output_line): Similarly.
3744169689Skan	* cpplib.c (glue_header_name, do_line, do_ident,
3745169689Skan	parse_answer, parse_assertion): Similarly.
3746169689Skan	(_cpp_handle_diretive): Don't save to lookaheads
3747169689Skan	when processing directives.
3748169689Skan	* cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
3749169689Skan	_cpp_get_token.
3750169689Skan	(funlike_invocation_p): Don't save to lookaheads
3751169689Skan	when pre-expanding arguments.
3752169689Skan	(_cpp_get_token): Delete.
3753169689Skan	(cpp_get_token): Merge contents of _cpp_get_token.
3754169689Skan
3755169689Skan2000-11-14  Jakub Jelinek  <jakub@redhat.com>
3756169689Skan
3757169689Skan	* builtins.c (expand_builtin_setjmp): Set
3758169689Skan	current_function_calls_setjmp.
3759169689Skan	(expand_builtin_longjmp): Set current_function_calls_longjmp.
3760169689Skan
3761169689Skan	* config/sparc/sparc.md (builtin_setjmp_setup): New expand.
3762169689Skan	(do_builtin_setjmp_setup): New insn.
3763169689Skan
3764169689SkanTue Nov 14 12:34:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3765169689Skan
3766169689Skan	* tree.c (get_unwidened): Use host_integerp and tree_low_cst.
3767169689Skan	(int_fits_type_p): For variable bounds, call force_fit_type.
3768169689Skan
3769169689Skan2000-11-14  Jakub Jelinek  <jakub@redhat.com>
3770169689Skan
3771169689Skan	* varasm.c (struct deferred_string): New structure.
3772169689Skan	(const_str_htab): New variable.
3773169689Skan	(STRHASH): New macro.
3774169689Skan	(mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
3775169689Skan	constr_str_htab_eq, const_str_htab_del): New functions.
3776169689Skan	(output_constant_def): Add DEFER argument, defer string
3777169689Skan	constants until mark_constant_pool time if requested.
3778169689Skan	(mark_constant_pool): Walk the insn chain even if const_str_htab is
3779169689Skan	not empty.
3780169689Skan	(mark_constants): If a SYMBOL_REF for deferred string is found,
3781169689Skan	output it and remove from hash table.
3782169689Skan	(output_addressed_constants): Set DEFER to 0 in call to
3783169689Skan	output_constant_def.
3784169689Skan	* rtl.h (STRING_POOL_ADDRESS_P): Define.
3785169689Skan	(output_constant_def): Adjust prototype.
3786169689Skan	* expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
3787169689Skan
3788169689Skan2000-11-14  Chandrakala Chavva  <cchavva@redhat.com>
3789169689Skan
3790169689Skan	* optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
3791169689Skan	signed types if flag_trapv.
3792169689Skan
3793169689Skan2000-11-14  Zack Weinberg  <zack@wolery.stanford.edu>
3794169689Skan
3795169689Skan	* tradcpp.c, tradcif.y: Update FSF mailing address, delete
3796169689Skan	reference to GPLv1.
3797169689Skan
3798169689Skan2000-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
3799169689Skan
3800169689Skan	* c-common.h (CTI_C_SIZE_TYPE): Update comment.
3801169689Skan
3802169689Skan2000-11-14  Jakub Jelinek  <jakub@redhat.com>
3803169689Skan
3804169689Skan	* varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
3805169689Skan	to array of pool_constnat pointers.
3806169689Skan	(struct pool_constant): Add next_sym and label members.
3807169689Skan	(struct pool_sym): Remove.
3808169689Skan	(init_varasm_status): Change pool_sym into pool_constant.
3809169689Skan	(mark_pool_constant): Mark pc->label string as well.
3810169689Skan	(mark_pool_sym_hash_table): Remove.
3811169689Skan	(mark_varasm_status): Remove it from caller as well.
3812169689Skan	(free_varasm_status): Don't free pool_sym structures.
3813169689Skan	(force_const_mem): Don't allocate pool_sym structure, instead
3814169689Skan	fill pool->label and chain it into rtx_sym hash table.
3815169689Skan	(find_pool_constant, mark_constant_pool): Use pool_constant instead
3816169689Skan	of pool_sym.
3817169689Skan
3818169689Skan2000-11-14  Jakub Jelinek  <jakub@redhat.com>
3819169689Skan
3820169689Skan	* reload1.c (emit_input_reload_insns): Honor forcing of constants
3821169689Skan	into memory by PREFERRED_RELOAD_CLASS NO_REGS.
3822169689Skan
3823169689Skan2000-11-14  Michael Matz  <matzmich@cs.tu-berlin.de>
3824169689Skan
3825169689Skan	* dominance.c: New file.
3826169689Skan	* Makefile.in (OBJS): Add dominance.o.
3827169689Skan
3828169689Skan	* flow.c (compute_flow_dominators): Remove.
3829169689Skan	(compute_immediate_dominators): Remove.
3830169689Skan	(compute_immediate_postdominators): Remove.
3831169689Skan	* basic-block.h: Remove their prototypes.
3832169689Skan	(calculate_dominance_info): Add prototype.
3833169689Skan
3834169689Skan	* dce.c (eliminate_dead_code): Change calls to above functions.
3835169689Skan	Don't compute dominators but only immediate dominators.
3836169689Skan	* flow.c (flow_loops_find): Change callers.
3837169689Skan	* gcse.c (compute_code_hoist_data): Likewise.
3838169689Skan	* haifa-sched.c (schedule_insns): Likewise.
3839169689Skan	* ifcvt.c (if_convert): Likewise.
3840169689Skan	* ssa.c (convert_to_ssa): Likewise, and only compute immediate
3841169689Skan	dominators.
3842169689Skan
3843169689Skan2000-11-14  Richard Henderson  <rth@redhat.com>
3844169689Skan
3845169689Skan	* stmt.c (warn_if_unused_value): Don't warn if the expression
3846169689Skan	has side effects.
3847169689Skan
3848169689Skan	* c-typeck.c (c_sizeof): Fold result to c_size_type_node.
3849169689Skan	(c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
3850169689Skan
3851169689Skan2000-11-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3852169689Skan
3853169689Skan	* loop.c (basic_induction_var): Revert accidental checkin.
3854169689Skan
3855169689Skan2000-11-13  Hans-Peter Nilsson  <hp@axis.com>
3856169689Skan
3857169689Skan	* c-lex.c (cb_leave_file): Harmonize conditions and order of
3858169689Skan	statements to those of process_directive for (action == act_pop).
3859169689Skan
3860169689Skan	* collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
3861169689Skan
3862169689Skan	* local-alloc.c (equiv_init_movable_p): References to CC0 are not
3863169689Skan	movable.
3864169689Skan
3865169689Skan2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3866169689Skan
3867169689Skan	* c-parse.in (stmts_and_decls): Deprecate use of label at end of
3868169689Skan	compound statement.
3869169689Skan
3870169689Skan2000-11-13  Neil Booth  <neilb@earthling.net>
3871169689Skan
3872169689Skan	* cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
3873169689Skan	cases return without MI check.
3874169689Skan	* cpplib.c (do_diagnostic): Take boolean of whether to
3875169689Skan	print the directive name.
3876169689Skan	(do_error, do_warning): Update.
3877169689Skan	(do_pragma_dependency): Use it.
3878169689Skan	* cpplib.h (VARARGS_FIRST): Delete.
3879169689Skan	(struct cpp_token): Delete integer.
3880169689Skan	* cppmacro.c (enter_macro_context): Move disabled check
3881169689Skan	to _cpp_get_token.
3882169689Skan	(_cpp_get_token): Simplify into a single loop.
3883169689Skan
3884169689Skan2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
3885169689Skan
3886169689Skan	* configure.in:  Use 'test -f' not '[ -e'.
3887169689Skan	* configure: Regenerated.
3888169689Skan
3889169689Skan2000-11-13  DJ Delorie  <dj@redhat.com>
3890169689Skan
3891169689Skan	* config/mn10300/mn10300.md (store_movm): Note which registers are
3892169689Skan	really used or clobbered.
3893169689Skan
3894169689Skan2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3895169689Skan
3896169689Skan	* c-parse.in (ends_in_label): Remove from %union and %type.
3897169689Skan	(decls, stmts, lineno_stmt_or_labels, xstmts,
3898169689Skan	lineno_stmt_or_label, stmt_or_label): Remove.
3899169689Skan	(stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
3900169689Skan	lineno_stmt_decl_or_labels_ending_decl,
3901169689Skan	lineno_stmt_decl_or_labels_ending_label,
3902169689Skan	lineno_stmt_decl_or_labels_ending_error,
3903169689Skan	lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
3904169689Skan	lineno_stmt, lineno_label): New.
3905169689Skan	(compstmt_nostart): Use compstmt_contents_nonempty.
3906169689Skan
3907169689Skan2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3908169689Skan
3909169689Skan	* c-common.c (boolean_increment): New function.
3910169689Skan	* c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
3911169689Skan	CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
3912169689Skan	(c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
3913169689Skan	(boolean_increment): Declare.
3914169689Skan	* c-convert.c (convert): Allow for BOOLEAN_TYPE.
3915169689Skan	* c-decl.c (init_decl_processing): Create boolean nodes.
3916169689Skan	(finish_struct): Allow for _Bool bitfields.
3917169689Skan	* c-parse.in (reswords): Add _Bool.
3918169689Skan	(rid_to_yy): Allow for RID_BOOL.
3919169689Skan	* c-typeck.c (default_conversion): Make booleans promote to int.
3920169689Skan	(convert_arguments, build_unary_op, build_modify_expr,
3921169689Skan	convert_for_assignment): Allow for booleans.
3922169689Skan	* ginclude/stdbool.h: Make conforming to C99.
3923169689Skan
3924169689Skan2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3925169689Skan
3926169689Skan	* c-parse.in (c99_block_start, c99_block_end,
3927169689Skan	c99_block_lineno_labeled_stmt): New.
3928169689Skan	(simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
3929169689Skan	(stmt): Split off selection and iteration statements into...
3930169689Skan	(select_or_iter_stmt): New.  Use c99_block_lineno_labeled_stmt.
3931169689Skan
3932169689Skan2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3933169689Skan
3934169689Skan	* invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
3935169689Skan	-time): Update.
3936169689Skan
3937169689Skan2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
3938169689Skan
3939169689Skan	* arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
3940169689Skan	Rewrite to avoid use of match_dup.  Don't try to tie registers that
3941169689Skan	are not in the same mode.
3942169689Skan
3943169689Skan2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3944169689Skan
3945169689Skan	* invoke.texi: Update lists of languages and suffixes supported.
3946169689Skan
3947169689Skan2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3948169689Skan
3949169689Skan	* configure.in: Take toplevel configure arguments from the
3950169689Skan	environment to create configargs.h and substitute
3951169689Skan	gcc_config_arguments, taking account of any existing configargs.h
3952169689Skan	if reconfiguring.
3953169689Skan	* configure: Regenerate.
3954169689Skan	* gccbug.in: Include toplevel configure arguments in gccbug.
3955169689Skan
3956169689Skan2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
3957169689Skan
3958169689Skan	* varasm.c (struct constant_descriptor): Put CONTENTS inside a
3959169689Skan	union to make it well-aligned.  Update all uses.
3960169689Skan
3961169689Skan2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3962169689Skan
3963169689Skan	* c-parse.in (initelt): Give appropriate pedantic warnings,
3964169689Skan	depending on flag_isoc99, for non-ISO syntax and for C99 syntax
3965169689Skan	outside C99 mode.
3966169689Skan	(designator): If pedantic, pedwarn for a designator specifying a
3967169689Skan	range of elements.
3968169689Skan	* c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
3969169689Skan	these cases.
3970169689Skan	* extend.texi: Document the C99 syntax as the preferred syntax,
3971169689Skan	and the pre-2.5 syntax as obsolete.  Mention use of designator
3972169689Skan	lists for nested subobjects.
3973169689Skan
3974169689Skan2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3975169689Skan
3976169689Skan	* diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
3977169689Skan	Add ATTRIBUTE_PRINTF.
3978169689Skan	* tradcpp.c (v_message, warning, error, fatal, error_with_line):
3979169689Skan	Add ATTRIBUTE_PRINTF*.
3980169689Skan
3981169689Skan2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3982169689Skan
3983169689Skan	* function.c (assign_parms): When calling put_var_into_stack, make
3984169689Skan	sure that there are no hidden pending sequences.
3985169689Skan
3986169689Skan2000-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3987169689Skan
3988169689Skan	* builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
3989169689Skan	BUILT_IN_RINDEX.  Add missing checks for BUILT_IN_STRCHR and
3990169689Skan	BUILT_IN_STRRCHR.
3991169689Skan
3992169689Skan	* builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
3993169689Skan
3994169689Skan	* c-common.c (c_common_nodes_and_builtins): Declare index and
3995169689Skan	rindex when nonansi builtins are allowed.
3996169689Skan
3997169689Skan	* extend.texi (index, rindex): Document new builtins.
3998169689Skan
3999169689Skan2000-11-12  Mark Mitchell  <mark@codesourcery.com>
4000169689Skan
4001169689Skan	* configure.in: Turn on libstdc++ V3 by default.
4002169689Skan	* configure: Regenerated.
4003169689Skan
4004169689Skan	* fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
4005169689Skan
4006169689Skan2000-11-12  Jakub Jelinek  <jakub@redhat.com>
4007169689Skan
4008169689Skan	* reload1.c (set_label_offsets): Go inside of PARALLELs.
4009169689Skan
4010169689Skan2000-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
4011169689Skan
4012169689Skan	* invoke.texi: Clean up option summary.
4013169689Skan
4014169689Skan2000-11-12  Nick Clifton  <nickc@redhat.com>
4015169689Skan
4016169689Skan	* config/mcore/mcore.c: Fix comment formating, and adjust sequence
4017169689Skan	of #include headers.
4018169689Skan
4019169689Skan2000-11-12  Marc Espie <espie@openbsd.org>
4020169689Skan
4021169689Skan	* configure.in: Fix filds test.
4022169689Skan	* configure: Regen.
4023169689Skan
4024169689Skan2000-11-12  Mark Mitchell  <mark@codesourcery.com>
4025169689Skan
4026169689Skan	* jump.c (delete_computation): Don't assume that just because an
4027169689Skan	instruction sets a register, that register is dead.
4028169689Skan
4029169689Skan2000-11-12  Neil Booth  <neilb@earthling.net>
4030169689Skan
4031169689Skan	* cppexp.c: Don't worry about pfile->skipping.
4032169689Skan	* cpplib.c (struct if_stack): Make was_skipping unsigned char.
4033169689Skan	(cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
4034169689Skan	for handled directives.
4035169689Skan	(skip_rest_of_line): Use _cpp_lex_token after popping contexts
4036169689Skan	and releasing lookaheads.
4037169689Skan	(do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
4038169689Skan	(do_else, do_elif, push_conditional): Update logic.
4039169689Skan	(do_endif): Set buffer->was_skipping rather than pfile->skipping.
4040169689Skan	(unwind_if_stack): Inline into cpp_pop_buffer.
4041169689Skan	(cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
4042169689Skan	* cpplex.c (_cpp_lex_token): Clear skipping on EOF.  Handle
4043169689Skan	multiple-include optimisation.
4044169689Skan	* cpplib.h (struct cpp_buffer): New member was_skipping.
4045169689Skan	* cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping.  This
4046169689Skan	works because skipping == 0 in directives.
4047169689Skan	(_cpp_release_lookahead): Renamed from release_lookahead.
4048169689Skan	(cpp_get_token): No need to check skipping as _cpp_get_token does
4049169689Skan	this for us.  No need to handle MI optimisation.
4050169689Skan
4051169689SkanSat Nov 11 21:14:02 2000  Mark P Mitchell  <mark@codesourcery.com>
4052169689Skan
4053169689Skan	* fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
4054169689Skan	declarations that use `__MATH_EXCEPTION' in their prototypes, too.
4055169689Skan	* fixinc/fixincl.x: Regenerated.
4056169689Skan
4057169689Skan2000-11-11  Bruce Korb  <bkorb@gnu.org>
4058169689Skan
4059169689Skan	* fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
4060169689Skan	(avoid_wchar_t_type): ditto
4061169689Skan	* fixinc/fixinc.irix: obsoleted
4062169689Skan
4063169689Skan2000-11-11  Zack Weinberg  <zack@wolery.stanford.edu>
4064169689Skan
4065169689Skan	* configure.in: Don't add $outputs to all_lang_makefiles.  Add
4066169689Skan	$srcdir/$s/Makefile.in if it exists.
4067169689Skan	* configure: Regenerate.
4068169689Skan
4069169689SkanSat Nov 11 18:41:20 2000  Mark P Mitchell  <mark@codesourcery.com>
4070169689Skan
4071169689Skan	* fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
4072169689Skan
4073169689Skan2000-11-11  Jason Merrill  <jason@redhat.com>
4074169689Skan
4075169689Skan	* function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
4076169689Skan	give the parm a register and then call put_var_into_stack.
4077169689Skan	* stmt.c (expand_decl): Likewise.
4078169689Skan
4079169689Skan2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4080169689Skan
4081169689Skan	* gcc.texi: Adjust wording.
4082169689Skan
4083169689Skan2000-11-11  Mark Mitchell  <mark@codesourcery.com>
4084169689Skan
4085169689Skan	* fixinc/inclhack.def (avoid_wchar_t_type): New fix.
4086169689Skan	* fininc/fixincl.x: Regenerated.
4087169689Skan
4088169689Skan2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4089169689Skan
4090169689Skan	* invoke.texi: Correct spelling of -foptimize-register-move.
4091169689Skan
4092169689Skan2000-11-11  Neil Booth  <neilb@earthling.net>
4093169689Skan
4094169689Skan	Remove CPP_PLACEMARKERs.
4095169689Skan
4096169689Skan	* cppexp.c (lex): Don't handle CPP_PLACEMARKER.
4097169689Skan	* cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
4098169689Skan	* cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
4099169689Skan		   Similarly.
4100169689Skan	* cpplib.h: Remove CPP_PLACEMARKER.
4101169689Skan	(struct lexer_state): Rename skip_newlines to next_bol.
4102169689Skan	* cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
4103169689Skan	Simplify prev_white handling as a result.
4104169689Skan	(paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
4105169689Skan	(parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
4106169689Skan	(parse_args): Similarly.  Update argument count tests.
4107169689Skan	(enter_macro_context): Return 2 to indicate an empty macro.
4108169689Skan	(replace_args): Don't bother pre-expanding an empty argument.
4109169689Skan	Handle placemarkers and ## extension during pre-expansion.
4110169689Skan	(cpp_get_token): Handle empty macro expansions.  Don't worry
4111169689Skan	about CPP_PLACEMARKERs.
4112169689Skan	(_cpp_create_definition): Empty macros are now empty.
4113169689Skan	(cpp_macro_definition): Don't special case empty macros.
4114169689Skan	* scan-decls.c: Don't bother with CPP_PLACEMARKERs.
4115169689Skan	* c-lex.c: Similarly.
4116169689Skan
4117169689Skan2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4118169689Skan
4119169689Skan	* gcc.texi, invoke.texi: Add new section discussing language
4120169689Skan	standards; link to it where appropriate; refer to ISO C instead of
4121169689Skan	ANSI C.
4122169689Skan
4123169689Skan2000-11-11  Alexandre Oliva  <aoliva@redhat.com>
4124169689Skan
4125169689Skan	* builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
4126169689Skan	into account.
4127169689Skan
4128169689Skan	* config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
4129169689Skan	modes.
4130169689Skan
4131169689Skan2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4132169689Skan
4133169689Skan	* gcc.texi, gcov.texi: Update dates and version numbers.
4134169689Skan
4135169689Skan2000-11-10  Zack Weinberg  <zack@wolery.stanford.edu>
4136169689Skan
4137169689Skan	* configure.in: Remove AC_PROG_LEX and AC_PROG_YACC.  Look for
4138169689Skan	flex and bison, specifically, first in a unified build and
4139169689Skan	then installed on the system.
4140169689Skan	* Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@.  Rename
4141169689Skan	LEXFLAGS to FLEXFLAGS.  Adjust ORDINARY_FLAGS_TO_PASS to
4142169689Skan	match.
4143169689Skan
4144169689Skan	(collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
4145169689Skan	cppdefault.o): Remove pointless sed munging of source file
4146169689Skan	name.
4147169689Skan
4148169689Skan2000-11-10  Bernd Schmidt  <bernds@redhat.co.uk>
4149169689Skan
4150169689Skan	* reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
4151169689Skan	for address reloads.  Push replacements for REG_INC notes.
4152169689Skan	(regno_clobbered_p): New arg SETS.  Examine SETs if it's nonzero.  All
4153169689Skan	callers changed.
4154169689Skan	* reload1.c (choose_reload_regs): Registers set in the insn can't be
4155169689Skan	used for RELOAD_OTHER reloads.
4156169689Skan
4157169689Skan2000-11-10  Mark Mitchell  <mark@codesourcery.com>
4158169689Skan
4159169689Skan	* c-dump.h: New file.
4160169689Skan
4161169689Skan2000-11-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4162169689Skan
4163169689Skan	* alpha.c (check_float_value): Use memcpy, not bcopy.
4164169689Skan	* arm.c (output_move_double): Likewise.
4165169689Skan	* arm.md: Likewise.
4166169689Skan	* m88k.c (legitimize_operand): Likewise.
4167169689Skan	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
4168169689Skan	* m88k.md: Likewise.
4169169689Skan	* mips.c (override_options): Likewise.
4170169689Skan	* mips.md: Likewise.
4171169689Skan	* romp.c (output_fpops): Likewise.
4172169689Skan	* rs6000.c (rs6000_override_options): Likewise.
4173169689Skan	* sh.md: Likewise.
4174169689Skan	* vax.c (check_float_value): Likewise.
4175169689Skan
4176169689Skan	* emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
4177169689Skan	* expmed.c (synth_mult): Likewise.
4178169689Skan	* final.c (add_bb_string): Likewise.
4179169689Skan	* genattr.c (main): Likewise.
4180169689Skan	* genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
4181169689Skan	Likewise.
4182169689Skan	* jump.c (thread_jumps): Likewise.
4183169689Skan	* prefix.c (save_string): Likewise.
4184169689Skan	* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
4185169689Skan	* regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
4186169689Skan	* reload1.c (reload, eliminate_regs): Likewise.
4187169689Skan
4188169689Skan2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4189169689Skan
4190169689Skan	* gcc.texi (Service): Update to reflect current practice and
4191169689Skan	location of the GNU service directory.
4192169689Skan
4193169689Skan2000-11-09  Bernd Schmidt  <bernds@redhat.co.uk>
4194169689Skan
4195169689Skan	* regrename.c (build_def_use): Mark contents of REG_INC notes as
4196169689Skan	needing replacement.
4197169689Skan
4198169689Skan	* config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
4199169689Skan	a no-op move if regs are equal.
4200169689Skan	* toplev.c (rest_of_compilation): Do the noop moves elimination pass
4201169689Skan	when calling jump after post-reload splitting.
4202169689Skan
4203169689Skan2000-11-09  Jan van Male  <jan.vanmale@fenk.wau.nl>
4204169689Skan
4205169689Skan	* c-tree.texi: Fix typos.
4206169689Skan	* extend.texi: Likewise
4207169689Skan	* gcov.texi: Likewise
4208169689Skan	* rtl.texi: Likewise
4209169689Skan	* tm.texi: Likewise
4210169689Skan
4211169689Skan2000-11-09  Hans-Peter Nilsson  <hp@axis.com>
4212169689Skan
4213169689Skan	* c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
4214169689Skan	in_system_header and flags[1] before dereferencing flags[2].
4215169689Skan
4216169689Skan2000-11-09  Matthew Hiller <hiller@redhat.com>
4217169689Skan
4218169689Skan	* reload1.c (reload_combine): Fixed calculation of
4219169689Skan	first_index_reg, last_index_reg.
4220169689Skan
4221169689Skan2000-11-09  Mark Mitchell  <mark@codesourcery.com>
4222169689Skan
4223169689Skan	* c-dump.c (dequeue_and_dump): Dump function bodies.
4224169689Skan
4225169689Skan	* Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
4226169689Skan	(c-dump.o): New target.
4227169689Skan	* c-common.h (flag_dump_translation_unit): New variable.
4228169689Skan	(C_TYPE_QUALS): New macro.
4229169689Skan	(strip_array_types): New function.
4230169689Skan	(DECL_C_BIT_FIELD): New macro.
4231169689Skan	(SET_DECL_C_BIT_FIELD): Likewise.
4232169689Skan	(CLEAR_DECL_C_BIT_FIELD): Likewise.
4233169689Skan	(dump_info_p): New typedef.
4234169689Skan	(dump_tree_fn): Likewise.
4235169689Skan	(lang_dump_tree): New variable.
4236169689Skan	(dump_node_to_file): New function.
4237169689Skan	* c-common.c (flag_dump_translation_unit): Define it.
4238169689Skan	(strip_array_types): New function.
4239169689Skan	* c-decl.c (c_decode_option): Handle -fdump-translation-unit.
4240169689Skan	* c-lang.c (finish_file): Call dump_node_to_file if
4241169689Skan	flag_dump_translation_unit.
4242169689Skan	* c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
4243169689Skan	* c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
4244169689Skan	* c-dump.c: New file.
4245169689Skan
4246169689Skan2000-11-09  Christopher Faylor <cgf@cygnus.com>
4247169689Skan
4248169689Skan	* config/i386/cygwin.h: Add mingw startfile prefix.
4249169689Skan
4250169689Skan2000-11-09  Richard Henderson  <rth@redhat.com>
4251169689Skan
4252169689Skan	* flow.c (invalidate_mems_from_set): Split out from ...
4253169689Skan	(mark_set_1): ... here.
4254169689Skan	(try_pre_increment_1): Use it.  Use propagate_block_delete_insn
4255169689Skan	instead of turning insn into a NOTE_INSN_DELETED.
4256169689Skan
4257169689Skan2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4258169689Skan
4259169689Skan	* extend.texi, invoke.texi: Move documentation of builtin versions
4260169689Skan	of C library functions to one place and update.
4261169689Skan
4262169689Skan2000-11-09  Richard Henderson  <rth@redhat.com>
4263169689Skan
4264169689Skan	* fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
4265169689Skan	the types themselves to discover type equivalence.
4266169689Skan
4267169689Skan2000-11-09  Mike Stump  <mrs@wrs.com>
4268169689Skan
4269169689Skan	* Makefile.in (distclean): Remove a few extra leftovers.
4270169689Skan
4271169689Skan2000-11-09  Richard Henderson  <rth@redhat.com>
4272169689Skan
4273169689Skan	* recog.c (validate_replace_rtx_1): Consider subregs when
4274169689Skan	replacing a register with a constant inside a sign/zero_extend.
4275169689Skan
4276169689Skan	* config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
4277169689Skan
4278169689Skan2000-11-09  Geoffrey Keating  <geoffk@redhat.com>
4279169689Skan
4280169689Skan	* c-decl.c (finish_struct): When a structure is completed,
4281169689Skan	check all its variant types for completeness.
4282169689Skan
4283169689Skan2000-11-09  Neil Booth  <neilb@earthling.net>
4284169689Skan
4285169689Skan	* cpphash.c: Move cpp_defined here from cpplib.c.
4286169689Skan	* cpplib.c: Update comments, move cpp_defined to cpphash.c.
4287169689Skan	* cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
4288169689Skan	* cppmacro.c (cpp_get_token): Update comments, no need now
4289169689Skan	to catch the CPP_EOF meaning EOL case.
4290169689Skan
4291169689Skan2000-11-08  Geoffrey Keating  <geoffk@redhat.com>
4292169689Skan
4293169689Skan	* config/sparc/sparc.c (sparc_va_arg): When the required alignment
4294169689Skan	is more than that provided, copy to a temporary.
4295169689Skan
4296169689Skan2000-11-09  Alexandre Oliva  <aoliva@redhat.com>
4297169689Skan
4298169689Skan	* mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
4299169689Skan	interpreting $out as a macro assignment.
4300169689Skan	* Makefile.in (T_TARGET): New auxiliary macro and target.
4301169689Skan	(all): Add a target right in the beginning, so that we don't build
4302169689Skan	T_TARGET by default.
4303169689Skan
4304169689Skan2000-11-09  Graham Stott  <grahams@redhat.com>
4305169689Skan
4306169689Skan	* config/i386/i386.md (mmx_pinsrw): Output operands in correct
4307169689Skan	order for -mintel-syntax.  Remove comment now that the operand
4308169689Skan	order has been checked.
4309169689Skan	(mmx_pextrw): Likewise.
4310169689Skan	(mmx_pshufw): Likewise.
4311169689Skan
4312169689Skan2000-11-09  Jakub Jelinek  <jakub@redhat.com>
4313169689Skan
4314169689Skan	* builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
4315169689Skan	(c_getstr): New function.
4316169689Skan	(expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
4317169689Skan	If both arguments are constant string, optimize out.
4318169689Skan	(expand_builtin_strchr, expand_builtin_strrchr): New functions.
4319169689Skan	(expand_builtin_strpbrk): Use c_getstr, do nothing if
4320169689Skan	-fcheck-memory-usage.
4321169689Skan	(expand_builtin_fputs): Likewise.
4322169689Skan	(expand_builtin_strcmp): Add MODE argument.
4323169689Skan	Use even if !HAVE_cmpstrsi.
4324169689Skan	Optimize the case when both arguments are constant strings.
4325169689Skan	(expand_builtin): Adjust expand_builtin_strcmp caller.
4326169689Skan	Call expand_builtin_strchr and expand_builtin_strrchr.
4327169689Skan	* c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
4328169689Skan	builtins.
4329169689Skan	* builtins.def (BUILT_IN_STRRCHR): Add.
4330169689Skan
4331169689Skan2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4332169689Skan
4333169689Skan	* fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
4334169689Skan
4335169689Skan2000-11-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4336169689Skan
4337169689Skan	* calls.c (expand_call, emit_library_call_value_1), collect2.c
4338169689Skan	(scan_prog_file), config/a29k/a29k.c (print_operand),
4339169689Skan	config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
4340169689Skan	instead of bcopy ().
4341169689Skan	* real.h: Use memcmp () instead of bcmp ().
4342169689Skan	* config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
4343169689Skan	(split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
4344169689Skan	ultrasparc_sched_init, ultrasparc_sched_reorder),
4345169689Skan	config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
4346169689Skan	instead of bzero ().
4347169689Skan	* config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
4348169689Skan	instead of rindex ().
4349169689Skan	* configure.in: Don't check for bzero, bcmp, index or rindex.
4350169689Skan	* configure, config.in: Regenerate.
4351169689Skan	* system.h: Don't include declarations for bzero, bcmp, index or
4352169689Skan	rindex.
4353169689Skan	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
4354169689Skan	bzero, bcmp, index or rindex.
4355169689Skan
4356169689SkanWed Nov  8 21:58:20 2000  Christopher Faylor <cgf@cygnus.com>
4357169689Skan
4358169689Skan	* config/i386/cygwin.h: Add -no-win32 switch.  Separate -mno-cygwin
4359169689Skan	include and library paths from -mcygwin case.  Parameterize some
4360169689Skan	declarations to avoid warnings.  Use standard locations for include and
4361169689Skan	lib dirs.
4362169689Skan
4363169689Skan2000-11-08  Nick Clifton  <nickc@redhat.com>
4364169689Skan
4365169689Skan	* config/arm/arm.md (mulsidi3adddi): Change output operand
4366169689Skan	constraint from "=&" to "+&".
4367169689Skan	(umulsidi3adddi): Change output operand	constraint from "=&" to
4368169689Skan	"+&".
4369169689Skan
4370169689Skan2000-11-08  Richard Henderson  <rth@redhat.com>
4371169689Skan
4372169689Skan	* flow.c (init_propagate_block_info): Protect the rtx stored in
4373169689Skan	mem_set_list from modification by find_auto_inc.
4374169689Skan	(mark_set_1): Likewise.
4375169689Skan
4376169689Skan2000-11-08  Neil Booth  <neilb@earthling.net>
4377169689Skan
4378169689Skan	Move directive handling into the lexer itself.
4379169689Skan
4380169689Skan	* cpplex.c (_cpp_lex_token): Handle directives directly.
4381169689Skan	In the case of a directive interrupting a function-like
4382169689Skan	macro invocation, use extra_char since read_ahead is
4383169689Skan	used to store the '#'.  Return a CPP_EOF in this case.
4384169689Skan	* cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
4385169689Skan	(cpp_get_token): Don't handle directives here.
4386169689Skan	* cpplib.h: Remove CPP_DHASH token type.
4387169689Skan
4388169689SkanWed Nov  8 21:53:41 MET 2000  Jan Hubicka  <jh@suse.cz>
4389169689Skan
4390169689Skan	* regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
4391169689Skan	formed using PRE_MODIFY too.
4392169689Skan
4393169689Skan2000-11-08  Mark Mitchell  <mark@codesourcery.com>
4394169689Skan
4395169689Skan	* c-tree.texi (VAR_DECL): Describe representation of GCC's
4396169689Skan	extension for placing variables in particular registers.
4397169689Skan
4398169689Skan	* c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
4399169689Skan	unprototyped C functions with no parameters.
4400169689Skan
4401169689Skan2000-11-08  Jakub Jelinek  <jakub@redhat.com>
4402169689Skan
4403169689Skan	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
4404169689Skan	before passing to fprintf.
4405169689Skan
4406169689Skan2000-11-08  Jakub Jelinek  <jakub@redhat.com>
4407169689Skan
4408169689Skan	* function.c (expand_function_start): Cast GET_MODE_SIZE to
4409169689Skan	HOST_WIDE_INT before negating it.
4410169689Skan
4411169689Skan2000-11-08  Jakub Jelinek  <jakub@redhat.com>
4412169689Skan
4413169689Skan	* expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
4414169689Skan	passed in multiple non-contiguous locations.
4415169689Skan
4416169689Skan2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4417169689Skan
4418169689Skan	* README.gnat: Remove file.
4419169689Skan
4420169689Skan2000-11-08  Alexandre Oliva  <aoliva@redhat.com>
4421169689Skan
4422169689Skan	* mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
4423169689Skan	in-place.
4424169689Skan
4425169689Skan2000-11-07  Richard Henderson  <rth@redhat.com>
4426169689Skan
4427169689Skan	* dwarfout.c (INSN_LABEL_FMT): Remove.
4428169689Skan	(output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
4429169689Skan	(dwarfout_label): Remove.
4430169689Skan	* dwarfout.h: Remove it's prototype.
4431169689Skan	* dwarf2out.c (INSN_LABEL_FMT): Remove.
4432169689Skan	(gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
4433169689Skan	(dwarf2out_label): Remove.
4434169689Skan	* dwarf2out.h: Remove it's prototype.
4435169689Skan	* final.c (final_scan_insn): Don't call dwarf[2]out_label.
4436169689Skan
4437169689Skan2000-11-07  Richard Henderson  <rth@redhat.com>
4438169689Skan
4439169689Skan	* config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
4440169689Skan	search on the unwind region section.
4441169689Skan
4442169689Skan	* config/ia64/ia64.md (movbi): Add r/r alternative.
4443169689Skan	(cmovdi_internal_astep): Describe all combinations of register
4444169689Skan	classes for sources & destinations; remove matching constraints.
4445169689Skan	(cmovdi_internal): Likewise.
4446169689Skan
4447169689Skan	* gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
4448169689Skan
4449169689Skan2000-11-07  Richard Henderson  <rth@redhat.com>
4450169689Skan
4451169689Skan	* c-lang.c (start_cdtor, finish_cdtor): New functions.
4452169689Skan	(finish_file): Use them in building constructor/destructor functions.
4453169689Skan
4454169689Skan	* config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH,
4455169689Skan	LD_FINI_SWITCH): Move ...
4456169689Skan	* config/alpha/osf.h: ... here.
4457169689Skan	* config/alpha/alpha-interix.h: Don't undef them.
4458169689Skan
4459169689Skan2000-11-07  Jeffrey Oldham  <oldham@oz.codesourcery.com>
4460169689Skan
4461169689Skan	* config/mips/t-iris6 (FPBIT): New.  Added so that __unorddf2 is
4462169689Skan	included in libgcc.a.
4463169689Skan	(DPBIT): Likewise.
4464169689Skan	(dp-bit.c): Likewise.
4465169689Skan	(fp-bit.c): Likewise.
4466169689Skan
4467169689Skan2000-11-07  Nick Clifton  <nickc@redhat.com>
4468169689Skan
4469169689Skan	* config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
4470169689Skan	(INTERNAL_ASM_OP): Add missing tab.
4471169689Skan
4472169689Skan2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4473169689Skan
4474169689Skan	* alias.c (init_alias_analysis), calls.c (expand_call,
4475169689Skan	emit_library_call_value_1), combine.c (init_reg_last_arrays),
4476169689Skan	cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
4477169689Skan	(init_output_buffer, set_diagnostic_context), dwarf2out.c
4478169689Skan	(equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
4479169689Skan	(init_emit_once), fold-const.c (mul_double, div_and_round_double),
4480169689Skan	function.c (assign_parms), gcse.c (compute_can_copy,
4481169689Skan	alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
4482169689Skan	compute_hash_table, compute_set_hash_table,
4483169689Skan	compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
4484169689Skan	(global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
4485169689Skan	clear_units, schedule_block), integrate.c (initialize_for_inline,
4486169689Skan	expand_inline_function), jump.c (thread_jumps), local-alloc.c
4487169689Skan	(local_alloc), loop.c (combine_movables, count_loop_regs_set,
4488169689Skan	load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
4489169689Skan	regclass.c (init_reg_sets, init_reg_sets_1, regclass,
4490169689Skan	record_reg_classes, allocate_reg_info), reload.c
4491169689Skan	(get_secondary_mem, remove_address_replacements, find_reloads),
4492169689Skan	reload1.c (reload, set_initial_label_offsets, finish_spills,
4493169689Skan	reload_as_needed, choose_reload_regs_init,
4494169689Skan	reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
4495169689Skan	(sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
4496169689Skan	(rename_registers), stmt.c (expand_end_case), unroll.c
4497169689Skan	(unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
4498169689Skan	() instead of bzero ().
4499169689Skan
4500169689Skan2000-11-07  Neil Booth  <neilb@earthling.net>
4501169689Skan
4502169689Skan	* cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
4503169689Skan
4504169689Skan2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4505169689Skan
4506169689Skan	* c-common.c (combine_strings): Only warn about long strings for C.
4507169689Skan
4508169689SkanTue Nov  7 19:44:30 2000  J"orn Rennecke <amylaar@redhat.com>
4509169689Skan
4510169689Skan	* combine.c (distribute_notes): Fix typo in last change.
4511169689Skan
4512169689Skan2000-11-07  Geoff Keating  <geoffk@redhat.com>
4513169689Skan
4514169689Skan	* config/rs6000/rs6000.md (movdi_internal32+1): Use
4515169689Skan	operand_subreg_force rather than gen_rtx_SUBREG.
4516169689Skan	(movdi_internal32+2): Likewise.
4517169689Skan
4518169689Skan2000-11-07  Philip Blundell  <philb@gnu.org>
4519169689Skan
4520169689Skan	* configure.in (arm*-*-linuxaout*): Obsolete, deleted.
4521169689Skan	* config/arm/linux-aout.h: Likewise.
4522169689Skan	* configure: Regenerate.
4523169689Skan
4524169689Skan2000-11-07  Philipp Thomas  <pthomas@suse.de>
4525169689Skan
4526169689Skan	* ABOUT-GCC-NLS: Remove the patch for gettext as it has been
4527169689Skan	accepted my the gettext maintainer.
4528169689Skan
4529169689Skan2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4530169689Skan
4531169689Skan	* builtins.c (expand_builtin_strpbrk): New function.
4532169689Skan	(expand_builtin): Handle BUILT_IN_STRPBRK.
4533169689Skan
4534169689Skan	* builtins.def (BUILT_IN_STRPBRK): New entry.
4535169689Skan
4536169689Skan	* c-common.c (c_common_nodes_and_builtins): Declare builtin
4537169689Skan	strpbrk.
4538169689Skan
4539169689Skan2000-11-07  David O'Brien  <obrien@dragon.nuxi.com>
4540169689Skan
4541169689Skan	* config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
4542169689Skan	* POTFILES.in: Add config/alpha/freebsd.h
4543169689Skan	* configure.in: Add alpha*-freebsd support.
4544169689Skan	* configure: Regenerate.
4545169689Skan
4546169689Skan2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4547169689Skan
4548169689Skan	* tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
4549169689Skan	copy of ptr_type_node rather than ptr_type_node itself.
4550169689Skan
4551169689SkanTue Nov  7 06:29:24 2000  J"orn Rennecke <amylaar@redhat.com>
4552169689Skan
4553169689Skan	* combine.c (recog_for_combine): Allocate uninitialized vector with
4554169689Skan	rtvec_alloc.
4555169689Skan	* recog.c (apply_change_group): Likewise.
4556169689Skan
4557169689SkanTue Nov  7 06:24:02 2000  J"orn Rennecke <amylaar@redhat.com>
4558169689Skan
4559169689Skan	* flow.c (verify_local_live_at_start): Back out last change.
4560169689Skan	* combine.c (distribute_notes): When parts of a hard reg are
4561169689Skan	neither set nor referenced in PLACE, search backwards for a
4562169689Skan	place to put a REG_UNUSED note; if none found, ask for flow
4563169689Skan	info refresh.
4564169689Skan
4565169689SkanMon Nov  6 20:08:13 2000  J"orn Rennecke <amylaar@redhat.com>
4566169689Skan
4567169689Skan	* reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
4568169689Skan	with (clobber (match_scratch...)).
4569169689Skan
4570169689Skan2000-11-06  Neil Booth  <neilb@earthling.net>
4571169689Skan
4572169689Skan	* c-lex.c (init_c_lex): If cpp_start_read fails, exit with
4573169689Skan	error status.
4574169689Skan
4575169689Skan2000-11-06  Neil Booth  <neilb@earthling.net>
4576169689Skan
4577169689Skan	* tradcpp.c (special_symbol): Assign an null string rather
4578169689Skan	than writing to an unallocated buffer.
4579169689Skan
4580169689Skan2000-11-06  Neil Booth  <neilb@earthling.net>
4581169689Skan
4582169689Skan	* cpplex.c (_cpp_equiv_tokens): Check arg_no in the
4583169689Skan	CPP_MACRO_ARG case.
4584169689Skan
4585169689Skan2000-11-06  Neil Booth  <neilb@earthling.net>
4586169689Skan
4587169689Skan	* c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
4588169689Skan	tok.val.arg_no as appropriate.
4589169689Skan	* cppexp.c (lex): Similarly.
4590169689Skan	* cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
4591169689Skan	cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
4592169689Skan	* cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
4593169689Skan	cpp_macro_definition): Similarly.
4594169689Skan	* cpplib.h (struct cpp_token): Replace aux with c and arg_no.
4595169689Skan
4596169689Skan2000-11-06  Jakub Jelinek  <jakub@redhat.com>
4597169689Skan
4598169689Skan	* config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
4599169689Skan	operands[1] is constant, calculate the sum and generate movdi.
4600169689Skan	(addsi3): Similarly.  Use SImode in call to arith_4096_operand.
4601169689Skan	(subsi3): Use SImode in call to arith_4096_operand.
4602169689Skan
4603169689Skan2000-11-06  Jakub Jelinek  <jakub@redhat.com>
4604169689Skan
4605169689Skan	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
4606169689Skan	adjust %o1, not %o0 if the return type is large structure.
4607169689Skan
4608169689Skan2000-11-06  Jakub Jelinek  <jakub@redhat.com>
4609169689Skan
4610169689Skan	* config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
4611169689Skan	update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
4612169689Skan
4613169689SkanSat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz  <marekm@linux.org.pl>
4614169689Skan
4615169689Skan	* expmed.c (expand_divmod): For signed divide by 2, prefer
4616169689Skan	a branch and fewer shifts if branches are very cheap.
4617169689Skan
4618169689Skan2000-11-05  Joseph S. Myers  <jsm28@cam.ac.uk>
4619169689Skan
4620169689Skan	* Makefile.in: Remove all targets related to building
4621169689Skan	distributions and diffs, or INSTALL.
4622169689Skan	* INSTALL, install1.texi: Remove.
4623169689Skan	* configure.in: Remove mention of distdir.
4624169689Skan	* configure: Regenerate.
4625169689Skan	* objc/Make-lang.in: Remove mention of distdir.
4626169689Skan
4627169689Skan2000-11-04  Neil Booth  <neilb@earthling.net>
4628169689Skan
4629169689Skan	* cpp.texi: Update for _Pragma.
4630169689Skan
4631169689Skan2000-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
4632169689Skan
4633169689Skan	* gcc.texi (Contributing): Update URL for projects web page.
4634169689Skan
4635169689Skan2000-11-04  Neil Booth  <neilb@earthling.net>
4636169689Skan
4637169689Skan	* cpplex.c (parse_string): Don't allow multiline strings in
4638169689Skan	#include family directives.
4639169689Skan
4640169689Skan2000-11-04  Neil Booth  <neilb@earthling.net>
4641169689Skan
4642169689Skan	* cpplib.c (do_line): Only warn pedantically if not reading
4643169689Skan	preprocessed input.
4644169689Skan
4645169689Skan2000-11-04  Alexandre Oliva  <aoliva@redhat.com>
4646169689Skan
4647169689Skan	* calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of
4648169689Skan	RETURN_POPS_ARGS().
4649169689Skan
4650169689Skan2000-11-03  Zack Weinberg  <zack@wolery.stanford.edu>
4651169689Skan
4652169689Skan	* builtins.c (expand_builtin_strlen): Remove unused mode
4653169689Skan	argument.
4654169689Skan	* gcc.c (process_command): Remove unused variable.
4655169689Skan	* fold-const.c: Include expr.h.
4656169689Skan	* recog.c: Include reload.h.
4657169689Skan	* Makefile.in (recog.o, fold-const.o): Update deps.
4658169689Skan
4659169689Skan2000-11-02  Geoffrey Keating  <geoffk@cygnus.com>
4660169689Skan
4661169689Skan	* fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'.
4662169689Skan
4663169689SkanFri Nov  3 13:41:04 2000  Mark P Mitchell  <mark@codesourcery.com>
4664169689Skan
4665169689Skan	* config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static
4666169689Skan	handling.
4667169689Skan	(STARTFILE_SPEC): Likewise.
4668169689Skan	(LINK_SPEC): Likewise.
4669169689Skan
4670169689Skan2000-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4671169689Skan
4672169689Skan	* Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h.
4673169689Skan	(toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h.
4674169689Skan	(simplify-rtx.o): Likewise for $(GGC_H)/ggc.h.
4675169689Skan
4676169689Skan2000-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
4677169689Skan
4678169689Skan	* c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c
4679169689Skan	(dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks,
4680169689Skan	perm_calloc, get_identifier, maybe_get_identifier,
4681169689Skan	real_value_from_int_cst, simple_cst_equal), varasm.c
4682169689Skan	(assemble_name, assemble_real, immed_real_const_1,
4683169689Skan	compare_constant_1, decode_rtx_const, output_constant_pool): Use
4684169689Skan	strrchr () instead of rindex ().  Use memcmp () instead of bcmp
4685169689Skan	().  Use memcpy () instead of bcopy ().  Use memset () instead of
4686169689Skan	bzero ().
4687169689Skan
4688169689Skan2000-11-03  Nathan Sidwell  <nathan@codesourcery.com>
4689169689Skan
4690169689Skan	* cppfiles.c (open_file): If already read, then don't reopen.
4691169689Skan	Immediately close an empty file.
4692169689Skan
4693169689Skan2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
4694169689Skan
4695169689Skan	* expr.h (fold_builtin): Move declaration...
4696169689Skan	* tree.h (fold_builtin): ... here.
4697169689Skan
4698169689SkanFri Nov  3 05:41:07 2000  J"orn Rennecke <amylaar@redhat.com>
4699169689Skan
4700169689Skan	* flow.c (verify_local_live_at_start): Allow hard regs to die.
4701169689Skan
4702169689Skan2000-11-02  Neil Booth  <neilb@earthling.net>
4703169689Skan
4704169689Skanconfig:
4705169689Skan	* a29k/a29k.h, a29k/unix.h, a29k/vx29k.h,
4706169689Skan	alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h,
4707169689Skan	alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h,
4708169689Skan	alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h,
4709169689Skan	arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
4710169689Skan	arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h,
4711169689Skan	c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h,
4712169689Skan	elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h,
4713169689Skan	i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h,
4714169689Skan	i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h,
4715169689Skan	i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h,
4716169689Skan	i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h,
4717169689Skan	i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h,
4718169689Skan	i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h,
4719169689Skan	i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
4720169689Skan	i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h,
4721169689Skan	i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h,
4722169689Skan	i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h,
4723169689Skan	i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h,
4724169689Skan	i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h,
4725169689Skan	i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h,
4726169689Skan	ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h,
4727169689Skan	m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h,
4728169689Skan	m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h,
4729169689Skan	m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h,
4730169689Skan	m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h,
4731169689Skan	m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h,
4732169689Skan	m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h,
4733169689Skan	m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h,
4734169689Skan	m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h,
4735169689Skan	m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h,
4736169689Skan	m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h,
4737169689Skan	mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h,
4738169689Skan	mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h,
4739169689Skan	mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h,
4740169689Skan	mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h,
4741169689Skan	mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h,
4742169689Skan	mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h,
4743169689Skan	ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h,
4744169689Skan	ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h,
4745169689Skan	pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h,
4746169689Skan	pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h,
4747169689Skan	romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h,
4748169689Skan	rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h,
4749169689Skan	rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h,
4750169689Skan	rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h,
4751169689Skan	sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h,
4752169689Skan	sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h,
4753169689Skan	sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h,
4754169689Skan	sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h,
4755169689Skan	sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h,
4756169689Skan	sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h,
4757169689Skan	sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h,
4758169689Skan	v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h,
4759169689Skan	vax/vaxv.h, vax/vms.h, we32k/we32k.h
4760169689Skan
4761169689Skan	Replace -A() with -A=, the new assertion syntax.
4762169689Skan
4763169689SkanThu Nov  2 21:52:35 2000  J"orn Rennecke <amylaar@redhat.com>
4764169689Skan
4765169689Skan	* combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 /
4766169689Skan	elim_i1.
4767169689Skan	In REG_DEAD handling: When handling parts of multi-hard-reg hard
4768169689Skan	registers, increment the loop counter by the size of the parts;
4769169689Skan	use recursion to handle individual parts.
4770169689Skan
4771169689Skan2000-11-02  Neil Booth  <neilb@earthling.net>
4772169689Skan
4773169689Skan	* configure.in: Make integrated CPP the default.
4774169689Skan	* configure: Regenerate.
4775169689Skan
4776169689SkanThu Nov  2 19:20:12 2000  J"orn Rennecke <amylaar@redhat.com>
4777169689Skan
4778169689Skan	* reload.c (find_equiv_reg): Test all hard registers for membership
4779169689Skan	in the requested class.
4780169689Skan
4781169689Skan2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4782169689Skan
4783169689Skan	* collect2.c (main, write_c_file_stat), gcc.c (translate_options,
4784169689Skan	process_command, main), gcov.c (open_files, output_data), tlink.c
4785169689Skan	(frob_extension, scan_linker_output), toplev.c
4786169689Skan	(file_name_nondirectory): Use strchr () and strrchr () instead of
4787169689Skan	index () and rindex ().
4788169689Skan
4789169689Skan2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4790169689Skan
4791169689Skan	* c-common.c (get_flag_spec, check_format_info_main,
4792169689Skan	check_format_types): Use strchr () instead of index ().  Compare
4793169689Skan	against error_mark_node instead of comparing the TREE_CODE against
4794169689Skan	ERROR_MARK.
4795169689Skan
4796169689Skan2000-11-02  Zack Weinberg <zackw@Stanford.EDU>
4797169689Skan
4798169689Skan	Integrated CPP.
4799169689Skan
4800169689Skan	* c-lex.c (init_c_lex): Update cpp_start_read call.
4801169689Skan	(cb_ident): Update for new callback prototype.
4802169689Skan	(cb_def_pragma): Update for new cpp_get_token prototype.
4803169689Skan	(c_lex): Similarly.  Use cpp_get_line.
4804169689Skan
4805169689Skan	* c-parse.in (finish_parse): Update for new cpp_finish
4806169689Skan	prototype.
4807169689Skan
4808169689Skan	* cp/lex.c (finish_parse): Similarly.
4809169689Skan
4810169689Skan2000-11-01  Geoff Keating  <geoffk@cygnus.com>
4811169689Skan
4812169689Skan	* machmode.def: Add V16QImode.
4813169689Skan
4814169689Skan2000-11-01  Richard Henderson  <rth@redhat.com>
4815169689Skan
4816169689Skan	* dwarf2out.c (loc_descriptor_from_tree): Check for null result
4817169689Skan	from rtl_for_decl_location.
4818169689Skan	(add_location_or_const_value_attribute): Likewise.
4819169689Skan
4820169689Skan2000-11-01  Neil Booth  <neilb@earthling.net>
4821169689Skan
4822169689Skan	* cpplib.c (run_directive): Use correct line number for output
4823169689Skan	of _Pragma.  Remember any in-progress directive.
4824169689Skan
4825169689Skan	* gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests.
4826169689Skan
4827169689Skan2000-11-01  Richard Henderson  <rth@redhat.com>
4828169689Skan
4829169689Skan	* stmt.c (expand_start_null_loop): Set continue_label.
4830169689Skan
4831169689Skan2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
4832169689Skan
4833169689Skan	* builtins.c (fold_builtin_constant_p, fold_builtin): New functions.
4834169689Skan	(expand_builtin_constant_p): Move parts of the code into
4835169689Skan	fold_builtin_constant_p.
4836169689Skan	(expand_builtin_strlen): Move parts of the code into fold_builtin.
4837169689Skan	* expr.h (fold_builtin): Declare.
4838169689Skan	* fold-const.c (fold): Handle builtin calls.
4839169689Skan
4840169689Skan	* c-typeck.c (build_function_call): Call fold on the CALL_EXPR.
4841169689Skan
4842169689Skan2000-11-01  Richard Henderson  <rth@redhat.com>
4843169689Skan
4844169689Skan	* stmt.c (expand_start_null_loop): New.
4845169689Skan	(expand_end_null_loop): New.
4846169689Skan	* c-semantics.c (genrtl_do_stmt): Use them.
4847169689Skan	* tree.h: Declare them.
4848169689Skan
4849169689Skan2000-11-01  Richard Henderson  <rth@redhat.com>
4850169689Skan
4851169689Skan	* cppmain.c (scan_buffer): Don't avoid paste for assembly.
4852169689Skan
4853169689Skan2000-11-01  Neil Booth  <neilb@earthling.net>
4854169689Skan
4855169689Skan	* c-parse.in (_yylex): Remove CPP_BACKSLASH case.
4856169689Skan	* cp/spew.c: Similarly.
4857169689Skan	* cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER.
4858169689Skan	* cppmacro.c (stringify_arg): Similarly.
4859169689Skan	* cpplib.h (CPP_BACKSLASH): Delete.
4860169689Skan
4861169689Skan2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4862169689Skan
4863169689Skan	* builtins.c (expand_builtin_strstr): New function.
4864169689Skan	(expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR.
4865169689Skan
4866169689Skan	* builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries.
4867169689Skan
4868169689Skan	* c-common.c (c_common_nodes_and_builtins): Declare builtin strstr
4869169689Skan	and builtin strchr.
4870169689Skan
4871169689Skan2000-10-31  Richard Henderson  <rth@redhat.com>
4872169689Skan
4873169689Skan	* config/i386/i386.c (fcmov_comparison_operator): Check for
4874169689Skan	CCFPmode or CCFPUmode instead of CCmode.
4875169689Skan	(ix86_expand_fp_movcc): Call ix86_expand_setcc for most
4876169689Skan	unordered operations as well.
4877169689Skan
4878169689Skan2000-10-31  Richard Henderson  <rth@redhat.com>
4879169689Skan
4880169689Skan	* c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
4881169689Skan	of integer_zero_node.
4882169689Skan
4883169689Skan2000-10-31  Richard Henderson  <rth@redhat.com>
4884169689Skan
4885169689Skan	* c-semantics.c (genrtl_do_stmt): Special case do/while(0).
4886169689Skan
4887169689Skan2000-10-31  Nick Clifton  <nickc@redhat.com>
4888169689Skan
4889169689Skan	* config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow
4890169689Skan	-fdata-sections to override the section attribute of a DECL.
4891169689Skan
4892169689Skan2000-10-31  Chris Demetriou  <cgd@sibyte.com>
4893169689Skan
4894169689Skan	* libgcc2.c (__shtab): Remove __shtab variable.
4895169689Skan	* libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
4896169689Skan	* Makefile.in (LIB2FUNCS): Remove _shtab from list of library
4897169689Skan	members.
4898169689Skan
4899169689Skan2000-10-31  Jim Wilson  <wilson@redhat.com>
4900169689Skan
4901169689Skan	* defaults.h (ASM_OUTPUT_DEBUG_LABEL): New.
4902169689Skan	* tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document.
4903169689Skan	* dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL
4904169689Skan	instead of ASM_OUTPUT_INTERNAL_LABEL.
4905169689Skan	(dwarf2out_end_block, dwarf2out_label): Likewise.
4906169689Skan	* final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise
4907169689Skan	* config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define.
4908169689Skan
4909169689Skan2000-10-31  Richard Henderson  <rth@redhat.com>
4910169689Skan
4911169689Skan	* dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr.
4912169689Skan	(size_of_locs): Set it.
4913169689Skan	(output_loc_operands): Use it to compute branch displacement.
4914169689Skan	(int_loc_descriptor): New.
4915169689Skan	(mem_loc_descriptor): Dereference memory in the proper size.
4916169689Skan	Use DW_OP_plus_uconst when possible.  Use int_loc_descriptor.
4917169689Skan	(loc_descriptor_from_tree): New.
4918169689Skan	(rtl_for_decl_location): Break out from ...
4919169689Skan	(add_location_or_const_value_attribute): ... here.
4920169689Skan	(add_bound_info): Use loc_descriptor_from_tree.
4921169689Skan
4922169689Skan2000-10-31  Neil Booth  <neilb@earthling.net>
4923169689Skan
4924169689Skan	* cpp.texi: Update for new command line assertion syntax.
4925169689Skan	* cpplib.c (cpp_define): Simplify a bit.
4926169689Skan	(cpp_assert, cpp_unassert): Use handle_assertion.
4927169689Skan	(handle_assertion): New function; accept new command line
4928169689Skan	syntax with '='.
4929169689Skan	* testsuite/gcc.dg/cpp/assert3.c: New tests.
4930169689Skan
4931169689Skan2000-10-31  Neil Booth  <neilb@earthling.net>
4932169689Skan
4933169689Skan	* cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if
4934169689Skan	undefined.  Remove #ifdef check.
4935169689Skan	* config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h:
4936169689Skan	Define STDC_0_IN_SYSTEM_HEADERS to 1.
4937169689Skan
4938169689Skan2000-10-31  Jan Hubicka  <jh@suse.cz>
4939169689Skan	    Jakub Jelinek  <jakub@redhat.com>
4940169689Skan
4941169689Skan	* config/i386/i386.h: Clarify CCNOmode description in comment.
4942169689Skan	(EXTRA_CC_MODES): Remove CCRCmode.
4943169689Skan	* config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode.
4944169689Skan	(put_condition_code, ix86_match_ccmode): Likewise.
4945169689Skan	(ix86_cc_mode): Likewise.  Fix comment.
4946169689Skan	(ix86_expand_strlensi_unroll_1): *rc patterns are gone.
4947169689Skan	* config/i386/i386.md: Add unspec 12 description.
4948169689Skan	(adddi3 split): Use unspec 12 instead of CCRCmode.
4949169689Skan	(addsi3_carry_rc): Remove.
4950169689Skan	(addsi3_cc, addqi3_cc): New patterns.
4951169689Skan	(addsi_3): Swap operands, match CCZmode.
4952169689Skan	(addsi_4): Rewritten.
4953169689Skan	(addsi_5): Renamed from addsi_6.
4954169689Skan	(addsi_6): Removed.
4955169689Skan	(addhi_3): Swap operands, match CCZmode.
4956169689Skan	(addhi_4): Rewritten.
4957169689Skan	(addhi_5): Renamed from addhi_6.
4958169689Skan	(addhi_6): Removed.
4959169689Skan	(addqi_3): Swap operands, match CCZmode.
4960169689Skan	(addqi_4): Rewritten.
4961169689Skan	(addqi_5): Renamed from addqi_6.  Use =q constraint for clobber.
4962169689Skan	(subsi3_carry_rc): Removed.
4963169689Skan	(iorqi_3): Use =q constraint for clobber.
4964169689Skan	(xorqi_cc_2): Likewise.
4965169689Skan	(negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu.
4966169689Skan	(x86_movsicc_0_m1_rc): Removed.
4967169689Skan	(cmp?i peepholes): Remove neg.  Use CCGCmode instead of CCRCmode.
4968169689Skan
4969169689Skan2000-10-31  Joseph S. Myers  <jsm28@cam.ac.uk>
4970169689Skan
4971169689Skan	* c-typeck.c (build_unary_op): If pedantic, pedwarn for increment
4972169689Skan	and decrement of complex types.
4973169689Skan
4974169689Skan2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4975169689Skan
4976169689Skan	* builtins.c (expand_builtin_fputs): When deleting NOP calls to
4977169689Skan	builtin fputs, ensure we still evaluate the stream in case it
4978169689Skan	has side-effects.
4979169689Skan
4980169689Skan2000-10-31  Jakub Jelinek  <jakub@redhat.com>
4981169689Skan
4982169689Skan	* expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
4983169689Skan	to expand_shift.
4984169689Skan
4985169689SkanTue Oct 31 15:33:27 2000  J"orn Rennecke <amylaar@redhat.com>
4986169689Skan
4987169689Skan	* sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
4988169689Skan	(fp_extended_operand, emit_fpscr_use): Likewise.
4989169689Skan	* sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions.
4990169689Skan	(fpul_operand): New function.
4991169689Skan	* sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and
4992169689Skan	fp_extended_operand.  Add fpul_operand.
4993169689Skan	* sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands.
4994169689Skan	(mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise.
4995169689Skan	(cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise.
4996169689Skan	(negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise.
4997169689Skan	(adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise.
4998169689Skan	(divdf3_i): Likewise.
4999169689Skan	(floatsisf2): Likewise.  Use fpul_operand for 'y' operand.
5000169689Skan	(floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise.
5001169689Skan	(fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise.
5002169689Skan	(fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise.
5003169689Skan	(extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise.
5004169689Skan
5005169689Skan2000-10-31  Bernd Schmidt  <bernds@redhat.co.uk>
5006169689Skan
5007169689Skan	* config/i386/i386.c (ix86_init_builtins): Correct return type
5008169689Skan	building v4hi_ftype_v4hi_int_int tree node.
5009169689Skan	(ix86_expand_builtin): Use correct operand numbers 0 and 1.
5010169689Skan	Copy operand 0 into a Pmode register, don't generate a MEM rtx.
5011169689Skan
5012169689Skan	* config/i386/i386.md (sse_movntdi): Use mmx register constraint
5013169689Skan	for operand 1.
5014169689Skan	(mmx__uavgv8qi3): Correct insn mnemonic.
5015169689Skan	(mmx_psadbw): Correct insn mnemonic.  Use V8QI mode for operands 1 and 2.
5016169689Skan	(mmx_punpckhwd): Correct insn mnemonic.
5017169689Skan	(mmx_punpckhdq): Likewise.
5018169689Skan	(mmx_punpcklwd): Likewise.
5019169689Skan	(mmx_punpckldq): Likewise.
5020169689Skan	(prefetch): Use immediare_operand and 'n' constraint for operand 1.
5021169689Skan	Renumber case labels to match the _mm_prefetch constants defined in
5022169689Skan	xmmintrin.h.
5023169689Skan
5024169689Skan	* recog.c (split_all_insns): Don't try to call cleanup_subreg_operands
5025169689Skan	if the splitter didn't emit new insns.
5026169689Skan	Make sure we call cleanup_subreg_operands even when splitting the last
5027169689Skan	insn in a basic block.
5028169689Skan
5029169689Skan	* invoke.texi (Debugging Options): Describe -do.
5030169689Skan	* toplev.c (enum_dump_file_index): New entry DFI_postreload.
5031169689Skan	(dump_file): Likewise.
5032169689Skan	(rest_of_compilation): Split .greg dump into .greg and .postreload.
5033169689Skan
5034169689Skan2000-10-30  Neil Booth  <neilb@earthling.net>
5035169689Skan
5036169689Skan	* cppfiles.c (stack_include_file): Check for stacked contexts
5037169689Skan	here.
5038169689Skan	* cpphash.h (_cpp_do__Pragma): New prototype.
5039169689Skan	* cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.
5040169689Skan
5041169689Skan	* cpplex.c (skip_escaped_newlines): Only process trigraphs and
5042169689Skan	escaped newlines if !(buffer->from_stage3).
5043169689Skan	(_cpp_lex_token): Warn about missing newlines iff
5044169689Skan	!buffer->from_stage3.
5045169689Skan
5046169689Skan	* cpplib.c (get__Pragma_string, destringize,
5047169689Skan	_cpp_do__Pragma): New functions.
5048169689Skan	(run_directive): Set output_line for _Pragma to avoid line
5049169689Skan	markers in output.  Set from_stage3 and prevent macro expansion
5050169689Skan	for _Pragma and command-line options.  Check buffer exhaustion.
5051169689Skan	(cpp_push_buffer): Don't check for stacked macro contexts, as
5052169689Skan	this is perfectly legitimate for _Pragma.  Move the check to
5053169689Skan	stack_include_file instead. Set from_stage3 iff buffer is
5054169689Skan	preprocessed input.
5055169689Skan
5056169689Skan	* cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
5057169689Skan	unsigned. New boolean from_stage3.
5058169689Skan	(struct spec_nodes): Add n__Pragma.
5059169689Skan
5060169689Skan	* cppmacro.c (enter_macro_context): Flip sense of return value.
5061169689Skan	(_cpp_get_token): Handle _Pragma operator.
5062169689Skan
5063169689Skan2000-10-30  Phil Edwards  <pme@sources.redhat.com>
5064169689Skan
5065169689Skan	* gcc.texi:  The C++ standard isn't "draft" anymore.
5066169689Skan
5067169689Skan2000-10-30  Mark Mitchell  <mark@codesourcery.com>
5068169689Skan
5069169689Skan	* cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID.
5070169689Skan
5071169689Skan2000-10-29  Neil Booth  <neilb@earthling.net>
5072169689Skan
5073169689Skan	* cpplib.c (skip_rest_of_line):  Use _cpp_get_token.
5074169689Skan
5075169689Skan2000-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
5076169689Skan
5077169689Skan	* toplev.c, flags.h, fold-const.c, real.c, rtl.c,
5078169689Skan	fixinc/inclhack.def: Change comments mentioning C9X to refer to
5079169689Skan	C99 instead.
5080169689Skan
5081169689Skan	* invoke.texi: Document that -V will only work for very similar
5082169689Skan	versions of driver and compiler.
5083169689Skan
5084169689Skan2000-10-29  Neil Booth  <neilb@earthling.net>
5085169689Skan
5086169689Skan	* cppmacro.c (_cpp_create_definition): Optimize the case of
5087169689Skan	a macro defined to itself.
5088169689Skan
5089169689Skan2000-10-29  Neil Booth  <neilb@earthling.net>
5090169689Skan
5091169689Skan	* cpplex.c (save_comment): Don't store new lines in C++ comments.
5092169689Skan
5093169689Skan2000-10-29  Michael Hayes  <mhayes@redhat.com>
5094169689Skan
5095169689Skan	* integrate.c (copy_insn_list): Copy the unchanging flag for calls.
5096169689Skan
5097169689Skan2000-10-28  Geoffrey Keating  <geoffk@cygnus.com>
5098169689Skan
5099169689Skan	* cpphash.c (cpp_forall_identifiers): Add context variable
5100169689Skan	for callback routine.
5101169689Skan	* cppmain.c (dump_macro): Update to match cpp_forall_identifiers
5102169689Skan	change.
5103169689Skan	(main): Call cpp_forall_identifiers with null context.
5104169689Skan	* cpplib.h (cpp_forall_identifiers): Update prototype.
5105169689Skan
5106169689Skan	* cppmain.c: Make `parse_in' and `print' static.
5107169689Skan
5108169689Skan2000-10-28  Alan Modra <alan@linuxcare.com.au>
5109169689Skan
5110169689Skan	* c-decl.c (finish_function): Clear c_function_name_declared_p.
5111169689Skan
5112169689Skan2000-10-28  Richard Henderson  <rth@redhat.com>
5113169689Skan
5114169689Skan	* regrename.c (scan_rtx_address): Frob action, not class,
5115169689Skan	when trying to disable optimization.
5116169689Skan
5117169689Skan2000-10-28  Mark Mitchell  <mark@codesourcery.com>
5118169689Skan
5119169689Skan	* c-semantics.c (make_rtl_for_local_static): Don't clobber
5120169689Skan	DECL_ASSEMBLER_NAME.
5121169689Skan
5122169689Skan2000-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
5123169689Skan
5124169689Skan	* configure.in: Determine and substitute gcc_version_full.
5125169689Skan	* configure: Regenerate.
5126169689Skan	* gccbug.in: Use it to give full version.  Don't allow
5127169689Skan	confidential PRs.
5128169689Skan
5129169689Skan2000-10-28  Richard Henderson  <rth@redhat.com>
5130169689Skan
5131169689Skan	* recog.c (split_all_insns): Run cleanup_subreg_operands
5132169689Skan	after reload.
5133169689Skan
5134169689Skan	* regrename.c (regrename_optimize): Verify that all registers of
5135169689Skan	a multiple register mode are available.
5136169689Skan	(scan_rtx_address): Accept the mode of the address; all callers
5137169689Skan	changed.
5138169689Skan
5139169689Skan	* cpplib.c (run_directive): Fix prototype.
5140169689Skan
5141169689Skan2000-10-28  Bernd Schmidt  <bernds@redhat.co.uk>
5142169689Skan
5143169689Skan	* reload.c (find_reloads): Distinguish "wins" so that we know whether
5144169689Skan	a given operand won because of a matching constraint or not; then use
5145169689Skan	that information to compute goal_alternative_matched properly.
5146169689Skan	* reload1.c (choose_reload_regs): Never set reload_override_in for an
5147169689Skan	optional reload.
5148169689Skan
5149169689Skan	* config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more
5150169689Skan	accurate value for MULT.
5151169689Skan	* config/ia64/ia64.c (ia64_print_operand): Require probability to be
5152169689Skan	2% or > 98% before using static branch prediction bits.
5153169689Skan
5154169689Skan2000-10-28  Neil Booth  <neilb@earthling.net>
5155169689Skan
5156169689Skan	New macro expander.
5157169689Skan
5158169689Skan	* cpplib.c (struct answer): New.
5159169689Skan	(struct if_stack): Use cpp_lexer_pos rather than line and col.
5160169689Skan	Rename cmacro mi_cmacro.
5161169689Skan	(struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
5162169689Skan	IN_I): New directive and flags.
5163169689Skan	(skip_rest_of_line, check_eol, run_directive, glue_header_name,
5164169689Skan	parse_answer, parse_assertion, find_answer): New functions.
5165169689Skan	(parse_ifdef, detect_if_not_defined, validate_else): Remove.
5166169689Skan	(lex_macro_node): New function to replace parse_ifdef and
5167169689Skan	get_define_node.
5168169689Skan
5169169689Skan	(_cpp_handle_directive): New function, combines _cpp_check_directive
5170169689Skan	and _cpp_check_linemarker.
5171169689Skan
5172169689Skan	(do_define, do_undef, parse_include, do_include, do_import,
5173169689Skan	do_include_next, read_line_number, do_line, do_ident, do_pragma,
5174169689Skan	do_pragma_once, do_pragma_poison, do_pragma_dependency):
5175169689Skan	Update for new token getting interface.
5176169689Skan
5177169689Skan	(do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
5178169689Skan	: Update for new multiple-include optimisation technique.
5179169689Skan	(do_elif): Don't forget to invalidate controlling macros.
5180169689Skan
5181169689Skan	(unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
5182169689Skan	(parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
5183169689Skan	Functions to handle assertions with the new token interface.
5184169689Skan	(do_assert, do_unassert): Use them.
5185169689Skan
5186169689Skan	(cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
5187169689Skan	Use run_directive.
5188169689Skan
5189169689Skan	(_cpp_init_stacks): Register directive names.  Don't register special
5190169689Skan	nodes.
5191169689Skan
5192169689Skan	* cpperror.c (print_containing_files, _cpp_begin_message): Update to
5193169689Skan	new position recording regime.
5194169689Skan	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
5195169689Skan	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
5196169689Skan	cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
5197169689Skan	(cpp_type2name): Move to cpplex.c.
5198169689Skan
5199169689Skan	* cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
5200169689Skan	(parse_defined): Update to handle new multiple include optimisation
5201169689Skan	method.  Remove poisoned identifier warning.
5202169689Skan	(parse_assertion, TYPE_NAME): Delete.
5203169689Skan	(lex): Update for multiple include optimisation, removal of
5204169689Skan	CPP_DEFINED, to use _cpp_test_assertion for assertions and
5205169689Skan	cpp_token_as_text.
5206169689Skan	(_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
5207169689Skan	(op_as_text): New function, to wrap cpp_token_as_text.
5208169689Skan
5209169689Skan	* cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
5210169689Skan	Update for MI optimisation.
5211169689Skan	(_cpp_execute_include): Take a token rather than 3 arguments.  Fix
5212169689Skan	segfault on diagnostic.
5213169689Skan	(_cpp_compare_file_date): Take a token rather than 3 args.
5214169689Skan	(cpp_read_file): Work correctly for zero-length files.
5215169689Skan
5216169689Skan	* cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
5217169689Skan	_cpp_init_hashtable and _cpp_cleanup_hashtable.
5218169689Skan	(cpp_lookup): Place identifiers at front of identifier pool
5219169689Skan	for _cpp_lookup_with_hash.
5220169689Skan	(_cpp_lookup_with_hash): Require identifiers to be at the front of
5221169689Skan	the identifier pool.  Commit the memory if not already in the
5222169689Skan	hash table.
5223169689Skan
5224169689Skan	* cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
5225169689Skan	Initialize various members of cpp_reader, memory pools, and the
5226169689Skan	special nodes.
5227169689Skan	(cpp_printer_init): Delete.
5228169689Skan	(cpp_cleanup): Update.
5229169689Skan	(struct builtin, builtin_array, initialize_builtins): Update for new
5230169689Skan	hashnode definition and builtin handling.
5231169689Skan	(cpp_start_read, cpp_finish): Don't take or initialize a
5232169689Skan	printer.  Update.
5233169689Skan
5234169689Skan	* cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
5235169689Skan	PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
5236169689Skan	T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
5237169689Skan	T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
5238169689Skan	(struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
5239169689Skan	struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
5240169689Skan	NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
5241169689Skan	struct toklist, struct cpp_context, struct specnodes,
5242169689Skan	TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
5243169689Skan	NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
5244169689Skan	enum builtin_type, cpp_can_paste): New.
5245169689Skan	(struct cpp_token): Delete line and col members.
5246169689Skan	(struct cpp_buffer): New member output_lineno.
5247169689Skan	(struct lexer_state): Delete indented, in_lex_line, seen_dot.
5248169689Skan	Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
5249169689Skan	(struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
5250169689Skan	ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
5251169689Skan	base_context, context, directive, mi_state, mi_if_not_defined,
5252169689Skan	mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
5253169689Skan	mlstring_pos, macro_buffer, macro_buffer_len.
5254169689Skan	Delete members mls_line, mls_column, token_list, potential_control_macro,
5255169689Skan	temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
5256169689Skan	context_cap, cur_context, no_expand_level, paste_level, contexts, args,
5257169689Skan	save_parameter_spellings, need_newline, .
5258169689Skan	Change type of date, time and spec_nodes members.
5259169689Skan	Change prototypes for include and ident callbacks.
5260169689Skan	(struct cpp_hashnode): Change type of name.  Remove union members
5261169689Skan	expansion and code.  Add members macro, operator and builtin.
5262169689Skan
5263169689Skan	(cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
5264169689Skan	cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
5265169689Skan	cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
5266169689Skan	cpp_stop_lookahead): New prototypes.
5267169689Skan	(cpp_printer_init, cpp_dump_definition): Delete prototypes.
5268169689Skan
5269169689Skan	(U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
5270169689Skan	Move from cpphash.h.
5271169689Skan
5272169689Skan	* cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
5273169689Skan	ufputs): Move to cpplib.h.
5274169689Skan	(enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
5275169689Skan	TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
5276169689Skan	COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
5277169689Skan	struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
5278169689Skan	_cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
5279169689Skan	_cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
5280169689Skan	_cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
5281169689Skan	_cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
5282169689Skan	_cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
5283169689Skan	_cpp_parse_assertion, _cpp_find_answer): Delete.
5284169689Skan	(VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
5285169689Skan	POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
5286169689Skan	_cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
5287169689Skan	_cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
5288169689Skan	_cpp_handle_directive, DSC): New.
5289169689Skan	(struct include_file): New member defined.
5290169689Skan
5291169689Skan	(DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
5292169689Skan	_cpp_compare_file_date): Update.
5293169689Skan	(_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
5294169689Skan	(_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
5295169689Skan	_cpp_cleanup_hashtable.
5296169689Skan
5297169689Skan	* Makefile.in: Remove cppoutput.c.
5298169689Skan
5299169689Skan	* cppoutput.c: Delete
5300169689Skan
5301169689Skan	* fixheader.c (read_scan_file): Update for new cpp_get_token
5302169689Skan	prototype.
5303169689Skan	(recognized_function): New argument LINE.
5304169689Skan
5305169689Skan	* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
5306169689Skan	new cpp_get_token prototype.
5307169689Skan
5308169689Skan	* scan.h (recognized_function): Update prototype.
5309169689Skan
5310169689Skan	* po/POTFILES.in: Remove cppoutput.c.
5311169689Skan
5312169689Skan2000-10-27  Mark Mitchell  <mark@codesourcery.com>
5313169689Skan
5314169689Skan	* c-typeck.c (check_init_type_bitfields): Remove.
5315169689Skan	(constructor_incremental): Likewise.
5316169689Skan	(struct constructor_stack): Remove incremental bit.
5317169689Skan	(struct initializer_stack): Likewise.
5318169689Skan	(start_init): Don't play with constructor_incremental.
5319169689Skan	(finish_init): Likewise.
5320169689Skan	(really_start_incremental_init): Likewise.
5321169689Skan	(push_init_level): Likewise.
5322169689Skan	(pop_init_level): Likewise.
5323169689Skan	(output_init_level): Likewise.
5324169689Skan	(output_pending_init_elements): Likewise.
5325169689Skan
5326169689Skan2000-10-21  Mike Coleman  <mcoleman2@kc.rr.com>
5327169689Skan
5328169689Skan	* c-pragma.c (handle_pragma_pack): Initialize align to -1.
5329169689Skan	Improve error messages.  Correct parsing of
5330169689Skan	#pragma pack(pop [,id]).  Do not check the user-supplied
5331169689Skan	alignment if we're popping.
5332169689Skan
5333169689Skan	* gcc.dg/pack-test-1.c: New test case.
5334169689Skan	* gcc.dg/pack-test-2.c: New test case.
5335169689Skan	* gcc.dg/pack-test-1.h: New file.
5336169689Skan
5337169689Skan2000-10-27  Neil Booth  <neilb@earthling.net>
5338169689Skan
5339169689Skan	* cpp.texi: Update.
5340169689Skan
5341169689Skan2000-10-27  Kelley Cook <kelley.cook@home.com>
5342169689Skan
5343169689Skan	* invoke.texi: Document -mintel-syntax
5344169689Skan
5345169689Skan2000-10-27  Richard Henderson  <rth@redhat.com>
5346169689Skan
5347169689Skan	* invoke.texi: Document -frename-registers.  Add it to -O3.
5348169689Skan	* toplev.c (rest_of_compilation): Run regrename before ifcvt2.
5349169689Skan	(enum dump_file_index, dump_file): Update order.
5350169689Skan	(main): Set flag_rename_registers at -O3.
5351169689Skan
5352169689Skan2000-10-27  Richard Henderson  <rth@redhat.com>
5353169689Skan
5354169689Skan	* config/alpha/alpha.h (enum reg_class): Add PV_REG.
5355169689Skan	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
5356169689Skan	(REG_CLASS_FROM_LETTER): Assign it to 'c'.
5357169689Skan	* config/alpha/alpha.md (call_osf_1): Use it.
5358169689Skan	(call_value_osf_1): Likewise.
5359169689Skan
5360169689Skan	* config/ia64/ia64.c: Revert 10-23 patch.
5361169689Skan	(ia64_hard_regno_rename_ok): New.
5362169689Skan	* config/ia64/ia64-protos.h: Declare it.
5363169689Skan	* config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it.
5364169689Skan
5365169689Skan2000-10-27  Bernd Schmidt  <bernds@redhat.co.uk>
5366169689Skan	    Richard Henderson  <rth@redhat.com>
5367169689Skan
5368169689Skan	* regrename.c: Rewrite to handle multi-register modes and
5369169689Skan	cond_exec instructions.
5370169689Skan	* Makefile.in (regrename.o): Update dependencies.
5371169689Skan	* recog.h (struct operand_alternative): Add is_address.
5372169689Skan	* recog.c (preprocess_constraints) [case 'p']: Set it.
5373169689Skan
5374169689Skan2000-10-27  Zack Weinberg  <zack@wolery.stanford.edu>
5375169689Skan
5376169689Skan	* configure.in: If not NO_MINUS_C_MINUS_O, substitute
5377169689Skan	OUTPUT_OPTION with '-o $@'.  Make zlibdir, zlibinc relative to
5378169689Skan	top level.  Kill oldstyle_subdirs.  Do not include
5379169689Skan	$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
5380169689Skan	$outputs.  Do not run configure.lang from config.status.
5381169689Skan	Rearrange warning-flag logic to correspond to what the
5382169689Skan	makefile wants.  Put special vax stage1 options in
5383169689Skan	@stage1_flags@ not @stage1_warn_cflags@.  Don't do anything
5384169689Skan	with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
5385169689Skan	(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
5386169689Skan	switch is given, nothing otherwise.
5387169689Skan	* configure.lang: Delete.
5388169689Skan
5389169689Skan	* Makefile.in: Expunge all traces of extra_c_objs,
5390169689Skan	extra_cxx_objs, and extra_cpp_objs.  Set MAYBE_CPPLIB from
5391169689Skan	@maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS.  Set
5392169689Skan	warning options via a three level scheme so that -pedantic and
5393169689Skan	-Wtraditional are not used for non-C front ends: LOOSE_WARN,
5394169689Skan	STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
5395169689Skan	WARN_CFLAGS.  Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
5396169689Skan	Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
5397169689Skan	Set OUTPUT_OPTION, ZLIB, ZLIBINC.  Do not set P,
5398169689Skan	LANG_FLAGS_TO_PASS.  Add OUTPUT_OPTION to all object-file
5399169689Skan	generation rules.  Wrap all rules that change the current
5400169689Skan	directory in parentheses; pmake doesn't spawn a new shell for
5401169689Skan	each command.  Expunge all references to $(P).  When one
5402169689Skan	command depends on another and they're run all at once, use &&
5403169689Skan	to separate them, not ;.  Add libgcc_s$(SHLIB_EXT) to files
5404169689Skan	deleted on make clean.  Force OUTPUT_OPTION='-o $@' in stage2
5405169689Skan	and beyond.
5406169689Skan
5407169689Skan	* objc/Make-lang.in: Wrap all rules that change the current
5408169689Skan	directory in parentheses.  Expunge all references to $(P).
5409169689Skan	When one command depends on another and they're run all at
5410169689Skan	once, use && to separate them, not ;.  Add OUTPUT_OPTION to
5411169689Skan	all object-file generation rules.  Delete obsolete variables.
5412169689Skan	* objc/Makefile.in: Delete.
5413169689Skan
5414169689Skan2000-10-27  Jakub Jelinek  <jakub@redhat.com>
5415169689Skan
5416169689Skan	* calls.c (expand_call): If sibcall_failure is set during pass 1,
5417169689Skan	clear tail_call_insns as well.
5418169689Skan
5419169689Skan2000-10-27  Nick Clifton  <nickc@redhat.com>
5420169689Skan
5421169689Skan	* config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add
5422169689Skan	prototype.
5423169689Skan
5424169689Skan2000-10-26  Richard Henderson  <rth@redhat.com>
5425169689Skan
5426169689Skan	* calls.c (expand_call): Supress sibcall if we have a
5427169689Skan	BLKmode return in registers.
5428169689Skan
5429169689Skan2000-10-26  Bernd Schmidt  <bernds@redhat.co.uk>
5430169689Skan
5431169689Skan	* ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
5432169689Skan	into memory.
5433169689Skan
5434169689Skan2000-10-26  Nathan Sidwell  <nathan@codesourcery.com>
5435169689Skan
5436169689Skan	* tree.c (make_node, case 't'): Set alignment to that of
5437169689Skan	char_type_node.
5438169689Skan	* expr.c (move_by_pieces_ninsns): Abort if some length remains.
5439169689Skan
5440169689Skan2000-10-25  Mark Mitchell  <mark@codesourcery.com>
5441169689Skan
5442169689Skan	* Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3.
5443169689Skan	* configure.in (enable-libstdcxx-v3): Arrange to have
5444169689Skan	HAVE_LIBSTDCXX_V3 substituted into the output files.
5445169689Skan
5446169689Skan2000-10-25  Richard Henderson  <rth@redhat.com>
5447169689Skan
5448169689Skan	* recog.c (constrain_operands): Initialize which_alternative
5449169689Skan	before no alternatives early exit.
5450169689Skan
5451169689Skan	* cse.c (find_comparison_args): Check that we can reverse a
5452169689Skan	comparison if needed before accepting the substitution.
5453169689Skan
5454169689Skan	* reload.c (find_reloads_address_part): Kill rtx obstack hackery.
5455169689Skan
5456169689Skan	* simplify-rtx.c (simplify_relational_operation): Sign extend
5457169689Skan	low words before sign extending to high words.
5458169689Skan
5459169689Skan2000-10-25  Nick Clifton  <nickc@redhat.com>
5460169689Skan
5461169689Skan	* config/mcore/mcore.c: Include config.h before system.h.
5462169689Skan
5463169689Skan2000-10-25  Ray Essick  <essick@ddna.labs.mot.com>
5464169689Skan
5465169689Skan	* config/mcore/mcore.md (return): Force function epilogue to
5466169689Skan	always be generated to work around epilogue suppression bug in
5467169689Skan	M*Core backend.
5468169689Skan
5469169689Skan2000-10-25  Joseph S. Myers  <jsm28@cam.ac.uk>
5470169689Skan
5471169689Skan	* c-decl.c (grokdeclarator): Move warning for qualified void
5472169689Skan	return types with -pedantic to when the function type is
5473169689Skan	constructed.  At -W, warn in general for qualified function return
5474169689Skan	types, except for volatile void.
5475169689Skan	* invoke.texi: Document this new warning at -W.
5476169689Skan
5477169689Skan2000-10-25  Neil Booth  <neilb@earthling.net>
5478169689Skan
5479169689Skan	* cpp.texi: Update with implementation-defined behavior and
5480169689Skan	internal limits.
5481169689Skan
5482169689Skan2000-10-25  Jakub Jelinek  <jakub@redhat.com>
5483169689Skan
5484169689Skan	* stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the
5485169689Skan	incomplete type force it into alias set 0.
5486169689Skan
5487169689SkanWed Oct 25 01:02:44 EDT 2000  John Wehle  (john@feith.com)
5488169689Skan
5489169689Skan	* alias.c: Include basic-block.h.
5490169689Skan	(loop_p): New function.
5491169689Skan	(mark_constant_function): Use it.
5492169689Skan	* Makefile.in (alias.o): Update dependencies.
5493169689Skan
5494169689Skan2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
5495169689Skan
5496169689Skan	* config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos
5497169689Skan	like memory.
5498169689Skan
5499169689Skan2000-10-24  Jim Wilson  <wilson@cygnus.com>
5500169689Skan
5501169689Skan	* expmed.c (store_bit_field): Move integer pun code down after
5502169689Skan	code that calls emit_move_insn for entire register move.
5503169689Skan	* stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
5504169689Skan	Oct 20 changes.  Only store mode in TYPE_MODE if RECORD_TYPE.
5505169689Skan
5506169689Skan2000-10-24  Richard Henderson  <rth@cygnus.com>
5507169689Skan
5508169689Skan	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic
5509169689Skan	register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
5510169689Skan
5511169689Skan2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
5512169689Skan
5513169689Skan	* gcse.c (cprop_insn): do not propagate constants into jump_insn
5514169689Skan	for machines with CC0 more than once.
5515169689Skan
5516169689Skan2000-10-24  Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com>
5517169689Skan
5518169689Skan	* config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
5519169689Skan	pseudos just like memory.
5520169689Skan
5521169689Skan2000-10-24  Alexandre Oliva  <aoliva@redhat.com>
5522169689Skan
5523169689Skan	* combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL
5524169689Skan	when deleting libcall sequence collapsed to a single instruction.
5525169689Skan
5526169689Skan2000-10-24  Andrew Haley  <aph@cygnus.co.uk>
5527169689Skan
5528169689Skan	* expr.c (do_store_flag): Don't crash if either side of a
5529169689Skan	comparison is error_mark_node.
5530169689Skan
5531169689Skan2000-10-24  Jakub Jelinek  <jakub@redhat.com>
5532169689Skan
5533169689Skan	* sibcall.c (purge_mem_unchanging_flag): New function.
5534169689Skan	(optimize_sibling_and_tail_recursive_calls): Call it.
5535169689Skan
5536169689Skan2000-10-24  Philipp Thomas  <pthomas@suse.de>
5537169689Skan
5538169689Skan	* Makefile.in (check-po): New target for doing checks in the po
5539169689Skan	subdir if all languages configured.
5540169689Skan	(CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via
5541169689Skan	configure if NLS is enabled.
5542169689Skan	* configure.in: If NLS is enabled, substitute CHECK_PO by check-po,
5543169689Skan	otherwise leave empty.
5544169689Skan	* configure: Regenerate.
5545169689Skan
5546169689Skan2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
5547169689Skan
5548169689Skan	* i386.c (print_operand): Handle new 'A' formatting code.
5549169689Skan	387 opcodes need suffixes even with -mintel-syntax.
5550169689Skan	Check for explicit size override (codes 'b', 'w' and 'k').
5551169689Skan	(print_operand_address): Check if register prefix is needed when
5552169689Skan	emitting `ds' segment override.
5553169689Skan	* i386.h: Add comment about new 'A' formatting code.
5554169689Skan	* i386.md (jump and call patterns): Emit absolute references using %A.
5555169689Skan
5556169689Skan2000-10-23  Richard Henderson  <rth@cygnus.com>
5557169689Skan
5558169689Skan	* config/ia64/ia64.c (ia64_expand_prologue): Mark extra
5559169689Skan	output registers as fixed.
5560169689Skan	(ia64_function_epilogue): Undo output fixation.
5561169689Skan
5562169689Skan2000-10-23  Richard Henderson  <rth@cygnus.com>
5563169689Skan
5564169689Skan	* config/alpha/alpha.md: Add names for all unnamed insns; use
5565169689Skan	define_insn_and_split in some obvious places.
5566169689Skan	(lda): Remove.
5567169689Skan	(zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX.
5568169689Skan	(zero_extendqisi2, zero_extendqidi2): Likewise.
5569169689Skan	(zero_extendhisi2, zero_extendhidi2): Likewise.
5570169689Skan	(abs splitters): Fix match_scratch operand number.
5571169689Skan	(bcc_reverse): Swap pc & label instead of non-canonical compare.
5572169689Skan
5573169689Skan2000-10-23  Jim Wilson  <wilson@cygnus.com>
5574169689Skan
5575169689Skan	* ia64.c (ia64_print_operand, case 'r'): Correct comment.  Handle
5576169689Skan	CONST_INT.
5577169689Skan	* ia64.md (cmpsi_adjusted): Use %r3.
5578169689Skan	(cmpdi_adjusted): Likewise.
5579169689Skan
5580169689Skan2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
5581169689Skan
5582169689Skan	* config/i386/att.h (ASM_FILE_START): Define.
5583169689Skan
5584169689Skan2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
5585169689Skan
5586169689Skan	* config/i386/linux.h (ASM_FILE_START): Define.
5587169689Skan
5588169689SkanWed Oct 18 11:16:40 2000  Donald Lindsay  <dlindsay@cygnus.com>
5589169689Skan
5590169689Skan	* gcc/configure.in: m68k-coff tm_file should not have libgloss.h,
5591169689Skan	since this (only) drags in a crt0.o reference that the .ld files
5592169689Skan	also introduce.
5593169689Skan
5594169689Skan2000-10-23  Geoff Keating  <geoffk@cygnus.com>
5595169689Skan
5596169689Skan	* reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can
5597169689Skan	overwrite the value in a RELOAD_FOR_INPUT and other kinds of
5598169689Skan	reloads just like an RELOAD_FOR_OUTPUT would.
5599169689Skan
5600169689Skan	* local-alloc.c (update_equiv_regs): Add an abort().  When
5601169689Skan	deleting or moving insns, update reg_equiv[regno].init_insns.
5602169689Skan
5603169689Skan2000-10-23  Mark Mitchell  <mark@codesourcery.com>
5604169689Skan
5605169689Skan	* c-tree.texi: Improve documentation for IF_STMTs and related
5606169689Skan	conditional statements.
5607169689Skan
5608169689Skan2000-10-22  Mark Mitchell  <mark@codesourcery.com>
5609169689Skan
5610169689Skan	* expr.c (do_preexpand_calls): Remove.
5611169689Skan	(same_from_p): Don't use CALL_EXPR_RTL.
5612169689Skan	(expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL.
5613169689Skan	(preexpand_calls): Remove.
5614169689Skan	* tree.c (first_rtl_op): Remove CALL_EXPR case.
5615169689Skan	(unsave_expr_1): Likewise.
5616169689Skan	* tree.def (CALL_EXPR): Give it only two slots.
5617169689Skan	* tree.h (CALL_EXPR_RTL): Remove.
5618169689Skan
5619169689Skan2000-10-21  Chandrakala Chavva   <cchavva@redhat.com>
5620169689Skan
5621169689Skan	* libgcc-std.ver (__addvsi3, __addvdi3,  __subvsi3, __subvdi3,
5622169689Skan	__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
5623169689Skan	New functions.
5624169689Skan
5625169689Skan2000-10-22  Alexandre Oliva  <aoliva@redhat.com>
5626169689Skan
5627169689Skan	* calls.c (combine_pending_stack_adjustment_and_call): Don't
5628169689Skan	adjust stack when unadjusted_alignment ends up as zero.
5629169689Skan
5630169689Skan2000-10-22  Joseph S. Myers  <jsm28@cam.ac.uk>
5631169689Skan
5632169689Skan	* fixinc/genfixes: Remove EGCS reference.
5633169689Skan	* install.texi: Remove EGCS reference.
5634169689Skan	* INSTALL: Regenerate.
5635169689Skan
5636169689Skan2000-10-22  Mark Mitchell  <mark@codesourcery.com>
5637169689Skan
5638169689Skan	* tree.h (TYPE_IS_SIZETYPE): Add more documentation.
5639169689Skan
5640169689Skan2000-10-21  Joseph S. Myers  <jsm28@cam.ac.uk>
5641169689Skan
5642169689Skan	* diagnostic.c: Remove EGCS reference in comment.
5643169689Skan
5644169689SkanSat Oct 21 08:24:25 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5645169689Skan
5646169689Skan	* loop.c (strength_reduce): Fix error in last change.
5647169689Skan
5648169689Skan2000-10-20  David Edelsohn  <edelsohn@gnu.org>
5649169689Skan
5650169689Skan	* Makefile.in (SHLIB_NM_FLAGS): New.
5651169689Skan	(libgcc.mk): Pass it.
5652169689Skan	* mklibgcc.in (libgcc.map): Use it.
5653169689Skan
5654169689Skan	* rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS,
5655169689Skan	SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New.
5656169689Skan
5657169689Skan2000-10-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5658169689Skan
5659169689Skan	* mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char.
5660169689Skan
5661169689Skan	* sparc.c (load_pic_register): Delete unused varaible.
5662169689Skan
5663169689Skan	* libgcc2.c (__addvsi3): Delete unused variable.
5664169689Skan
5665169689Skan	* libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3,
5666169689Skan	__subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2,
5667169689Skan	__negvdi2): Prototype.
5668169689Skan
5669169689Skan	* ssa.c (apply_delayed_renames): Avoid undefined operation.
5670169689Skan
5671169689Skan	* toplev.c (display_target_options): Make static to match
5672169689Skan	prototype.  Delete empty declaration.
5673169689Skan
5674169689Skan2000-10-20  Tom Tromey  <tromey@cygnus.com>
5675169689Skan
5676169689Skan	* cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
5677169689Skan	* gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
5678169689Skan
5679169689SkanFri Oct 20 17:05:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5680169689Skan
5681169689Skan	* expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
5682169689Skan	returned MEM.
5683169689Skan	(expand_expr_unaligned, case ARRAY_REF): Check that index is
5684169689Skan	a constant before comparing it; use tree_low_cst.
5685169689Skan	* tree.c (save_expr): Set TREE_READONLY.
5686169689Skan	(substitute_expr): Return inside of NON_LVALUE_EXPR.
5687169689Skan	(build, build1): Set TREE_READONLY if all operands are.
5688169689Skan	(build_index_type): If upper bound is a negative number, lower
5689169689Skan	bound is zero and sizetype is unsigned, use upper bound of one and
5690169689Skan	lower of zero.
5691169689Skan
5692169689Skan2000-10-20  David Edelsohn  <edelsohn@gnu.org>
5693169689Skan
5694169689Skan	* gcc.c (process_command, main): Use "because" instead of
5695169689Skan	"since" in error messages.
5696169689Skan
5697169689SkanFri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5698169689Skan
5699169689Skan	* stor-layout.c (compute_record_mode): Use tree_low_cst.
5700169689Skan	Don't use mode of field for record unless sizes are the same.
5701169689Skan	(layout_type, case ARRAY_TYPE): Remove special bounds handling
5702169689Skan	previously added for Ada; also change to using host_integerp
5703169689Skan	and tree_low_cst.
5704169689Skan
5705169689Skan	* loop.c (strength_reduce): Show when new register made for
5706169689Skan	giv is known to be a pointer and its aligment if so and known.
5707169689Skan	(loop_dump_aux): Show VERBOSE parameter unused.
5708169689Skan
5709169689Skan	* gcse.c (set_hash_table_size): Now unsigned.
5710169689Skan	* sdbout.c (template_name_p): Add "const" to avoid warnings.
5711169689Skan	(sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise.
5712169689Skan	(sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise.
5713169689Skan	(sdbout_end_epilogue): Remove variable NAME.
5714169689Skan	* system.h (getopt): Add default definition.
5715169689Skan	* config/alpha/alpha.c (print_operand): Don't continue processing
5716169689Skan	after issuing error.
5717169689Skan	(summarize_insn): Avoid use of UL in constant.
5718169689Skan
5719169689Skan	* function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst.
5720169689Skan
5721169689Skan	* fold-const.c (force_fit_type): Unsigned values can overflow
5722169689Skan	if they are sizetype.
5723169689Skan	(int_const_binop): Don't use cache if overflows.
5724169689Skan
5725169689Skan2000-10-20  Richard Henderson  <rth@cygnus.com>
5726169689Skan
5727169689Skan	* function.c (locate_and_pad_parm): Zero alignment_pad.
5728169689Skan
5729169689Skan	* regrename.c (rr_replace_reg): Rewrite to use recog_data to
5730169689Skan	perform substitutions, and apply_change_group to see if it worked.
5731169689Skan
5732169689SkanFri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5733169689Skan
5734169689Skan	* dwarf2out.c (add_bound_info): Also ignore COND_EXPR.
5735169689Skan
5736169689Skan	* combine.c (struct undo): Change int to unsigned int.
5737169689Skan	(do_SUBST_INT): Args are unsigned int.
5738169689Skan	(make_extraction, force_to_mode): Use proper type when forming mask.
5739169689Skan	(make_field_assignment): Likewise.
5740169689Skan
5741169689Skan2000-10-20  Joseph S. Myers  <jsm28@cam.ac.uk>
5742169689Skan
5743169689Skan	* c-common.c (check_format_info_recurse): Extract string constant
5744169689Skan	initializers from non-volatile constant arrays and check them as
5745169689Skan	formats.
5746169689Skan	* c-typeck.c (decl_constant_value): Don't check pedantic or check
5747169689Skan	for DECL_MODE (decl) != BLKmode.
5748169689Skan	(decl_constant_value_for_broken_optimization): New function which
5749169689Skan	includes these checks.
5750169689Skan	(default_conversion, convert_for_assignment, digest_init): Use
5751169689Skan	decl_constant_value_for_broken_optimization instead of
5752169689Skan	decl_constant_value.
5753169689Skan
5754169689Skan2000-10-20  Mark Mitchell  <mark@codesourcery.com>
5755169689Skan
5756169689Skan	* tree.h (DECL_ALIGN_UNIT): New macro.
5757169689Skan
5758169689Skan2000-10-14  Marek Michalkiewicz  <marekm@linux.org.pl>
5759169689Skan
5760169689Skan	* config/avr/avr-protos.h (avr_output_bld): New.
5761169689Skan	(out_shift_with_cnt): Add t_len argument.
5762169689Skan	* config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args.
5763169689Skan	(output_movqi, output_movhi, output_movsisf): Optimize loading
5764169689Skan	any constant with exactly one bit set to NO_LD_REGS.
5765169689Skan	(out_shift_with_cnt): Optimize output code for size or speed,
5766169689Skan	depending on optimize_size.  Handle small shift counts as well
5767169689Skan	(if not hand-optimized in ?sh??i3_out).  Shifts can be done
5768169689Skan	with or without a scratch register, with help of __tmp_reg__
5769169689Skan	or __zero_reg__ if necessary.  Add T_LEN argument to pass the
5770169689Skan	length of TEMPLATE in words, return total insn length in *LEN.
5771169689Skan	(ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to
5772169689Skan	out_shift_with_cnt to work with the above change.
5773169689Skan	(ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out,
5774169689Skan	lshrsi3_out): Likewise.  Optimize more known shift count cases.
5775169689Skan	Remove cases already well optimized in out_shift_with_cnt.
5776169689Skan	(avr_output_bld): New function.
5777169689Skan	* config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove.
5778169689Skan	(TARGET_SWITCHES): Remove -mpack-args backward compatibility.
5779169689Skan	* config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi):
5780169689Skan	Add reload_completed to insn condition - only for peepholes.
5781169689Skan	(ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts
5782169689Skan	in a register or memory.
5783169689Skan	(ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise.
5784169689Skan	Do not require a scratch register.
5785169689Skan	(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
5786169689Skan	*lshrhi3_const, *lshrsi3_const): New insns and matching peepholes.
5787169689Skan	Optimize shifts by known count using a scratch register, but only
5788169689Skan	if one is still available after register allocation.
5789169689Skan
5790169689Skan2000-10-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
5791169689Skan
5792169689Skan	* t-vax: New file.  Don't build modules from libgcc1.c.
5793169689Skan
5794169689SkanFri Oct 20 00:57:00 EDT 2000  John Wehle  (john@feith.com)
5795169689Skan
5796169689Skan	* alias.c: (mark_constant_function): Don't check pure functions.
5797169689Skan	Initialize and end alias analysis.
5798169689Skan	(nonlocal_mentioned_p): Rename from nonlocal_reference_p.
5799169689Skan	Don't make a special exception for recursion.  Handle
5800169689Skan	UNSPEC_VOLATILE.  Don't assume ASM_OPERANDS is non-local
5801169689Skan	unless it's volatile.
5802169689Skan
5803169689Skan	* local-alloc.c (equivalence): New structure.
5804169689Skan	(reg_equiv): Define.
5805169689Skan	(contains_replace_regs): Remove array and use
5806169689Skan	field in reg_equiv.
5807169689Skan	(memref_referenced_p): Likewise.
5808169689Skan	(no_equiv): Likewise.
5809169689Skan	(update_equiv_regs): Likewise.
5810169689Skan
5811169689Skan	(equiv_init_varies_p,
5812169689Skan	equiv_init_movable_p): New functions.
5813169689Skan	(update_equiv_regs): Use them.  Use rtx_varies_p
5814169689Skan	instead of function_invariant_p.  Process insns
5815169689Skan	from end to beginning.  Allow a REG_EQUIV insn
5816169689Skan	within the same loop as a use to be moved, also
5817169689Skan	allow it to be moved out of a loop.  Update
5818169689Skan	REG_DEAD notes when substituting into an insn.
5819169689Skan
5820169689Skan2000-10-19  Jim Wilson  <wilson@cygnus.com>
5821169689Skan
5822169689Skan	* c-decl.c (start_decl): Check for error_mark_node type before using
5823169689Skan	COMPLETE_TYPE_P.
5824169689Skan	(finish_decl): Likewise.  Don't give an error if decl type is
5825169689Skan	already error_mark_node.
5826169689Skan
5827169689Skan	* haifa-sched.c (compute_trg_info): Add explanatory comments.
5828169689Skan	New local update_blocks.  Use update_blocks to remove duplicates
5829169689Skan	when computing update blocks.  Check for bblst_table overflow.
5830169689Skan	(schedule_block): Add explanatory comment.  Reduce bblst_size by
5831169689Skan	factor of 2.
5832169689Skan	* config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL
5833169689Skan	notes.
5834169689Skan
5835169689Skan2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
5836169689Skan
5837169689Skan	* libgcc2.c (_mulvsi3): Change variables u and v to a and b.
5838169689Skan
5839169689Skan2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
5840169689Skan
5841169689Skan	* expmed.c: Minor corrections in comments.
5842169689Skan	* invoke.texi: Added desciption for the new option -ftrapv.
5843169689Skan
5844169689Skan2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
5845169689Skan
5846169689Skan	* libgcc2.c: Added the missing #endif.
5847169689Skan
5848169689SkanThu Oct 19 14:25:11 MET DST 2000  Jan Hubicka  <jh@suse.cz>
5849169689Skan
5850169689Skan	* i386.h (CONST_OK_FOR_LETTER): Re-add 'N'; document.
5851169689Skan
5852169689Skan2000-10-18  Chandrakala Chavva  <cchavva@redhat.com>
5853169689Skan
5854169689Skan	* expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
5855169689Skan	Use smulv_optab for -ftrapv.
5856169689Skan	(expand_mult_highpart): Use unsigned multiply.
5857169689Skan	(expand_divmod): Special-case division by -1.
5858169689Skan	For EXACT_DIV_EXPR, do right shift first, then the multiply.
5859169689Skan	For complex divide, use abs with unsigned result.
5860169689Skan	* expr.c (force_operand): Use unsigned multiply.
5861169689Skan	(expand_expr): Use overflow-trapping optabs for signed types if
5862169689Skan	flag_trapv.
5863169689Skan	If flag_trapv, don't generate a recursive call with EXPAND_SUM
5864169689Skan	if the type is signed and the original call wasn't EXPAND_SUM or
5865169689Skan	EXPAND_INITIALIZER.
5866169689Skan	* expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
5867169689Skan	(negv_optab, absv_optab): Declare.
5868169689Skan	* flags.h (flag_trapv): Declare.
5869169689Skan	* genopinit.c (optabs): Add entries for addv_optab, subv_optab,
5870169689Skan	smulv_optab, sdivv_optab, negv_optab and absv_optab.
5871169689Skan	(gen_insn): Interpret '$P' as requiring an integer mode,
5872169689Skan	including partial integer modes.
5873169689Skan	* loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
5874169689Skan	(product_cheap_p): Use unsigned expand_mult.
5875169689Skan	* optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
5876169689Skan	(negv_optab, absv_optab): Define.
5877169689Skan	(expand_binop): Use overflow-trapping optabs for signed types if
5878169689Skan	flag_trapv.
5879169689Skan	Handle negv_optab libe neg_optab.
5880169689Skan	(expand_abs): Take result_unsignedp argument instead of unsignedp one.
5881169689Skan	Use overflow-trapping optabs for signed result if flag_trapv.
5882169689Skan	(expand_complex_abs): Use overflow-trapping optabs for signed types if
5883169689Skan	flag_trapv.
5884169689Skan	Don't open-code complex absolute-value operation for flag_trapv.
5885169689Skan	(init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
5886169689Skan	sdivv_optab, negv_optab and absv_optab.
5887169689Skan	* toplev.c (flag_trapv): Define.
5888169689Skan	(lang_independent_options f_options): Include flag_trapv.
5889169689Skan	* tree.h (TYPE_TRAP_SIGNED): Define.
5890169689Skan	* libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
5891169689Skan	__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
5892169689Skan	New functions.
5893169689Skan	* Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
5894169689Skan	_subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
5895169689Skan
5896169689Skan2000-10-18  Geoffrey Keating  <geoffk@cygnus.com>
5897169689Skan	    David V. Henkel-Wallace  <gumby@cygnus.com>
5898169689Skan
5899169689Skan	* config/i386/t-netware: Bring in from the Red Hat tree.
5900169689Skan	* config/i386/netware.h: Likewise.
5901169689Skan	* config/netware.h: Likewise.
5902169689Skan	* config/rs6000/netware.h: Delete.
5903169689Skan	* configure.in: Add i[34567]86-*-netware.
5904169689Skan	* configure: Hand-edit to match configure.in change.
5905169689Skan
5906169689Skan2000-10-18  Mark Mitchell  <mark@codesourcery.com>
5907169689Skan
5908169689Skan	* c-common.h (flag_no_builtin): Declare.
5909169689Skan	(flag_no_nonansi_builtin): Likewise.
5910169689Skan	(c_common_nodes_and_builtins): Change prototype.
5911169689Skan	* c-common.c (flag_no_builtin): New variable.
5912169689Skan	(flag_no_nonansi_builtin): Likewise.
5913169689Skan	(c_common_nodes_and_builtins): Remove parameters.  Adjust
5914169689Skan	accordingly.
5915169689Skan	* c-decl.c (flag_no_builtin): Remove.
5916169689Skan	(flag_no_nonansi_builtin): Likewise.
5917169689Skan	(init_decl_processing): Adjust call to
5918169689Skan	c_common_nodes_and_builtins.
5919169689Skan
5920169689Skan2000-10-18  Marc Espie <espie@openbsd.org>
5921169689Skan
5922169689Skan	* tm.texi (LIBGCC_SPEC): Synch with reality.
5923169689Skan
5924169689Skan2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5925169689Skan
5926169689Skan	* c-common.c (check_format_types): Check for writing through a
5927169689Skan	NULL pointer argument.
5928169689Skan
5929169689Skan2000-10-18  Hans-Peter Nilsson  <hp@axis.com>
5930169689Skan
5931169689Skan	* tm.texi (Exception Region Output): Document
5932169689Skan	DWARF_CIE_DATA_ALIGNMENT.
5933169689Skan	* dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in
5934169689Skan	#ifndef.
5935169689Skan	[ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of
5936169689Skan	DWARF_CIE_DATA_ALIGNMENT.
5937169689Skan
5938169689Skan2000-10-18  Michael Hayes  <mhayes@cygnus.com>
5939169689Skan
5940169689Skan	* basic-block.h (struct loop): Delete fields pre_header_root
5941169689Skan	and pre_header_trace and replace with pre_header_edges
5942169689Skan	and num_pre_header_edges.
5943169689Skan	* flow.c (flow_loop_dump): Dump pre_header_edges.
5944169689Skan	(flow_loops_free): Free pre_header_edges.
5945169689Skan	(flow_loop_pre_header_scan): Calculate pre_header_edges.
5946169689Skan
5947169689Skan2000-10-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5948169689Skan
5949169689Skan	* contrib.texi: Update references to steering committee members
5950169689Skan	and Jeff Law's entry.
5951169689Skan
5952169689Skan2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5953169689Skan
5954169689Skan	* c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define.
5955169689Skan	(maybe_read_dollar_number, check_format_info_main): Use them for
5956169689Skan	pedantic warning messages.
5957169689Skan
5958169689Skan2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
5959169689Skan
5960169689Skan	* c-common.c (check_format_info_main): Minor cleanup: move
5961169689Skan	variables into inner scopes; initialize declarations where
5962169689Skan	appropriate; don't hardcode "scanf" name on warning for zero
5963169689Skan	width.
5964169689Skan
5965169689Skan2000-10-17  Mark Mitchell  <mark@codesourcery.com>
5966169689Skan
5967169689Skan	* c-common.c (back_end_hook): New variable.
5968169689Skan	* c-common.h (back_end_hook): Declare it.
5969169689Skan	* c-lang.c (finish_file): Use it.
5970169689Skan
5971169689Skan	* emit-rtl.c (init_emit_once): Initialize the const_int_htab
5972169689Skan	earlier.
5973169689Skan
5974169689Skan2000-10-18  Jan Hubicka  <jh@suse.cz>
5975169689Skan
5976169689Skan	* i386.c (ix86_comparison_operator, put_condition_code,
5977169689Skan	ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
5978169689Skan	(ix86_expand_strlensi_unroll_1): Use CCRCmode.
5979169689Skan	* i386.h (EXTRA_CC_MODES): Add CCRCmode.
5980169689Skan	* i386.md (adddi and negdi splitter): Use CCRCmode.
5981169689Skan	(add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
5982169689Skan	(subsi3_carry): add '*'
5983169689Skan	(addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
5984169689Skan	(cmp to add peep2): Use CCRCmode; swap operands.
5985169689Skan
5986169689Skan2000-10-18  Kazu Hirata  <kazu@hxi.com>
5987169689Skan
5988169689Skan	* h8300.c: Fix a comment typo.
5989169689Skan	(round_frame_size): New.
5990169689Skan	(compute_saved_regs): Likewise.
5991169689Skan	(push): Likewise.
5992169689Skan	(pop): Likewise.
5993169689Skan	(push_order): Remove.
5994169689Skan	(pop_order): Likewise.
5995169689Skan	(function_prologue): Rearrange code for readability.
5996169689Skan	(function_epilogue): Likewise.
5997169689Skan
5998169689Skan	* config/h8300/h8300.md: Remove an unnecessary sign_extend
5999169689Skan	expander that is used when not optimizing.  Output a tab after
6000169689Skan	each assembly insns.
6001169689Skan
6002169689Skan	* reorg.c: Fix formatting.
6003169689Skan
6004169689Skan2000-10-17  Joern Rennecke <amylaar@redhat.co.uk>
6005169689Skan
6006169689Skan	* reload1.c (move2add_note_store): Check for simple
6007169689Skan	auto-inc in destination.
6008169689Skan
6009169689Skan2000-10-17  Michael Chastain  <chastain@redhat.com>
6010169689Skan
6011169689Skan	* config/i386/i386-aout.h: define INT_ASM_OP.
6012169689Skan
6013169689SkanTue Oct 17 20:11:08 2000  Alan Modra <alan@linuxcare.com.au>
6014169689Skan
6015169689Skan	* pa.c (print_operand): Handle case 'c' for .vtable_inherit
6016169689Skan
6017169689SkanTue Oct 17 20:05:51 2000  Martin Buchholz <martin@xemacs.org>
6018169689Skan
6019169689Skan	* i370.md: Fix spelling typo.
6020169689Skan
6021169689Skan2000-10-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6022169689Skan
6023169689Skan	* function.c (locate_and_pad_parm): Don't align stack unconditionally.
6024169689Skan	Fixes execute/20001017-1.c on powerpc-linux-gnu.
6025169689Skan
6026169689Skan	* expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
6027169689Skan	* rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a
6028169689Skan	LABEL_REF.
6029169689Skan
6030169689Skan	* rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
6031169689Skan	ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
6032169689Skan	here...
6033169689Skan	* rs6000/aix.h: ...to here.
6034169689Skan	* rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
6035169689Skan
6036169689Skan2000-10-17  Jakub Jelinek  <jakub@redhat.com>
6037169689Skan
6038169689Skan	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed.
6039169689Skan
6040169689Skan	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make
6041169689Skan	sure linker can relax even the delay slot mov %g1,%o7, fix output
6042169689Skan	formating.
6043169689Skan
6044169689Skan2000-10-17  Kazu Hirata  <kazu@hxi.com>
6045169689Skan
6046169689Skan	* config/h8300/h8300.md: Remove an unnecessary zero_extend
6047169689Skan	expander that is used when not optimizing.  Output a tab after
6048169689Skan	each assembly insns.
6049169689Skan
6050169689Skan2000-10-17  Chandrakala Chavva  <cchavva@redhat.com>
6051169689Skan
6052169689Skan	* gcc.c: New options --target-help.
6053169689Skan	(process_command): Added code to parse this new option.
6054169689Skan	* toplev.c (display_target_options): New function to support the
6055169689Skan	above new option.
6056169689Skan	* cppinit.c (new_pending_directive) : New option OPT_target__help.
6057169689Skan	(cpp_handle_option): Support this new option.
6058169689Skan	* invoke.texi: Added notes about --target-help option.
6059169689Skan
6060169689Skan2000-10-17  Graham Stott  <grahams@redhat.com>
6061169689Skan
6062169689Skan	* config/i386/i386.md (testqi_1): Add missing operand prefix
6063169689Skan	for operand 0.
6064169689Skan	* config/i386/i386-protos.h: Add missing prototype.
6065169689Skan
6066169689Skan2000-10-17  Diego Novillo  <dnovillo@cygnus.com>
6067169689Skan
6068169689Skan	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol
6069169689Skan	_GLOBAL_OFFSET_TABLE should not have a $ prefix when
6070169689Skan	using -mintel-syntax.
6071169689Skan
6072169689Skan2000-10-17  Joseph S. Myers  <jsm28@cam.ac.uk>
6073169689Skan
6074169689Skan	* c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define.
6075169689Skan	(format_types): Use it for printf.
6076169689Skan	(maybe_read_dollar_number): Add parameter for the kind of format
6077169689Skan	involved.  Warn for multiple use for arguments if this is
6078169689Skan	inappropriate for the kind of format involved.
6079169689Skan	(check_format_info_main): Update calls to maybe_read_dollar_number.
6080169689Skan
6081169689Skan2000-10-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
6082169689Skan
6083169689Skan	* inclhack.def (hpux_maxint): Also apply fix to values.h.
6084169689Skan	* fixincl.x: Rebuilt.
6085169689Skan
6086169689Skan2000-10-17  Alexandre Oliva  <aoliva@redhat.com>
6087169689Skan
6088169689Skan	* genrecog.c (write_switch): Return the first condition that needs a
6089169689Skan	label.
6090169689Skan
6091169689Skan2000-10-17  Bernd Schmidt  <bernds@redhat.co.uk>
6092169689Skan
6093169689Skan	* c-tree.h (warn_sequence_point): Move declaration to...
6094169689Skan	* c-common.h (warn_sequence_point): ... here.
6095169689Skan	* c-decl.c (warn_sequence_point): Move definition to...
6096169689Skan	* c-common.c (warn_sequence_point): ... here.
6097169689Skan	(struct reverse_tree): New.
6098169689Skan	(reverse_list, reverse_max_depth): New static variables.
6099169689Skan	(build_reverse_tree, common_ancestor, modify_ok
6100169689Skan	verify_sequence_points): New functions.
6101169689Skan	(c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point.
6102169689Skan	* c-typeck.c (check_modify_expr): Delete.
6103169689Skan	(build_modify_expr): Don't call it.
6104169689Skan
6105169689Skan2000-10-17  Joseph S. Myers  <jsm28@cam.ac.uk>
6106169689Skan
6107169689Skan	* c-common.h (warn_missing_format_attribute): New variable.
6108169689Skan	* c-decl.c (warn_missing_format_attribute): New variable.
6109169689Skan	(c_decode_option): Decode -Wmissing-format-attribute and
6110169689Skan	-Wno-missing-format-attribute.
6111169689Skan	* c-common.c (check_function_format): If
6112169689Skan	-Wmissing-format-attribute, give a warning where a vprintf or
6113169689Skan	vscanf function is called by a function without its own printf or
6114169689Skan	scanf attribute.
6115169689Skan	* toplev.c (documented_lang_options): Add
6116169689Skan	-Wmissing-format-attribute.
6117169689Skan	* invoke.texi: Document -Wmissing-format-attribute.
6118169689Skan
6119169689Skan2000-10-17  Marc Espie <espie@openbsd.org>
6120169689Skan
6121169689Skan	* invoke.texi (-shared): Insist on requiring code generation flags
6122169689Skan	to be used along with -shared, and document the subtle failure that
6123169689Skan	may occur otherwise.
6124169689Skan
6125169689Skan2000-10-16  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
6126169689Skan
6127169689Skan	* pa.md (return_internal): Move `use' after `return'.
6128169689Skan
6129169689Skan2000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
6130169689Skan
6131169689Skan	* machmode.def: Correct comment.
6132169689Skan
6133169689Skan2000-10-16  Rodney Brown  <RodneyBrown@mynd.com>
6134169689Skan
6135169689Skan	* print-rtl.c (print_rtx_head): Constify.
6136169689Skan	* rtl.h (print_rtx_head): Similarly.
6137169689Skan
6138169689Skan	* config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior):
6139169689Skan	Constify char * return value.
6140169689Skan	* config/pa/pa/pa.c
6141169689Skan	(output_64bit_and, output_64bit_ior): Constify char * return value.
6142169689Skan	(pa_can_combine_p): Make static.
6143169689Skan	(function_arg): Decorate unused `named' argument. Fix comment typo.
6144169689Skan	(function_arg_partial_nregs): Decorate unused `named' argument.
6145169689Skan
6146169689Skan2000-10-16  Joseph S. Myers  <jsm28@cam.ac.uk>
6147169689Skan
6148169689Skan	* c-common.c (format_check_results): New structure.
6149169689Skan	(finish_dollar_format_checking): Adjust to take a
6150169689Skan	format_check_results * parameter.
6151169689Skan	(check_format_info, check_format_info_recurse,
6152169689Skan	check_format_info_main): Split check_format_info into three
6153169689Skan	functions, the main checking going in check_format_info_main.
6154169689Skan	Recurse when any reduction of the format string argument towards a
6155169689Skan	string literal is done; go down both branches of a conditional
6156169689Skan	expression.  Don't warn for extra format arguments or empty format
6157169689Skan	strings if they only occur in some branches of a conditional
6158169689Skan	expression.
6159169689Skan
6160169689Skan2000-10-16  Kazu Hirata  <kazu@hxi.com>
6161169689Skan
6162169689Skan	* config/h8300/h8300.c: Remove obstack.  Include ggc.h.
6163169689Skan
6164169689Skan2000-10-16  Jakub Jelinek  <jakub@redhat.com>
6165169689Skan
6166169689Skan	* rtlanal.c (may_trap_p): Check operand modes of COMPARE.
6167169689Skan
6168169689Skan2000-10-15  Diego Novillo  <dnovillo@cygnus.com>
6169169689Skan
6170169689Skan	* i386.md (*movsi_or): Switch operand order for intel syntax.
6171169689Skan
6172169689Skan2000-10-14  Joseph S. Myers  <jsm28@cam.ac.uk>
6173169689Skan
6174169689Skan	* PROBLEMS: Remove.
6175169689Skan
6176169689Skan	* gcc.texi (Contributing): Update.
6177169689Skan
6178169689Skan2000-10-13  Diego Novillo  <dnovillo@cygnus.com>
6179169689Skan
6180169689Skan	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
6181169689Skan	appropriate assembler dialect.
6182169689Skan
6183169689Skan2000-10-13  Alexandre Oliva  <aoliva@redhat.com>
6184169689Skan
6185169689Skan	* c-common.c (c_expand_builtin): PARAMS-ize prototype.
6186169689Skan
6187169689Skan2000-10-12  Marek Michalkiewicz  <marekm@linux.org.pl>
6188169689Skan
6189169689Skan	* config/avr/avr.c (output_movhi, output_movsisf): Fix loading
6190169689Skan	constants 1 and 2 to NO_LD_REGS.
6191169689Skan
6192169689Skan2000-10-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6193169689Skan
6194169689Skan	* Makefile.in (c-parse.c, tradcif.c): Create atomically.
6195169689Skan
6196169689Skan	* objc/Make-lang.in (objc-parse.c): Likewise.
6197169689Skan
6198169689Skan2000-10-13  Richard Earnshaw <rearnsha@arm.com>
6199169689Skan
6200169689Skan	* arm.c: Include obstack.h
6201169689Skan	(minipool_obstack, minipool_startobj): Define.
6202169689Skan	(arm_add_gc_roots): Initialize them.
6203169689Skan	(create_fix_barrier): Use our new obstack.
6204169689Skan	(push_minipool_barrier, push_minipool_fix): Likewise.
6205169689Skan	(arm_reorg): Release obstack memory.
6206169689Skan
6207169689Skan2000-10-13  Jakub Jelinek  <jakub@redhat.com>
6208169689Skan
6209169689Skan	* config/sparc/sparc.md (nonlocal_goto_receiver): Remove.
6210169689Skan	(prologue, exception_receiver, builtin_setjmp_receiver): New
6211169689Skan	patterns.
6212169689Skan	* config/sparc/sparc.h (FINALIZE_PIC): Remove.
6213169689Skan	* config/sparc/sparc-protos.h (finalize_pic): Remove.
6214169689Skan	(load_pic_register): New prototype.
6215169689Skan	* config/sparc/sparc.c (pic_setup_code): Remove.
6216169689Skan	(finalize_pic): Rename to...
6217169689Skan	(load_pic_register): ...this function.
6218169689Skan	Don't look for nonlocal_goto_receivers and emit pic setup code
6219169689Skan	directly.  Don't check current_function_uses_pic_offset_table.
6220169689Skan
6221169689Skan2000-10-13  Richard Earnshaw <rearnsha@arm.com>
6222169689Skan
6223169689Skan	* tree.h (struct obstack): Declare.
6224169689Skan
6225169689Skan2000-10-12  Mark Mitchell  <mark@codesourcery.com>
6226169689Skan
6227169689Skan	Remove obstacks.
6228169689Skan	* Makefile.in (ggc-callbacks.o): Remove target.
6229169689Skan	(flow.o): Depend on GGC_H.
6230169689Skan	* alias.c (init_alias_analysis):
6231169689Skan	Remove ggc_p conditionals.
6232169689Skan	(end_alias_analysis): Likewise.
6233169689Skan	* basic-block.h (init_flow): New function.
6234169689Skan	(allocate_reg_life_data): Declare.
6235169689Skan	* bb-reorder.c	(function_obstack): Replace with ...
6236169689Skan	(flow_obstack): ... new variable.
6237169689Skan	(fixup_reorder_chain): Use it.
6238169689Skan	* c-decl.c (ggc_p): Remove.
6239169689Skan	(caller-save.c): Don't call oballoc/obfree.
6240169689Skan	* combine.c (struct
6241169689Skan	undobuf): Remove storage.
6242169689Skan	(try_combine): Don't call oballoc.
6243169689Skan	(undo_all): Don't call obfree.
6244169689Skan	* cse.c (insert): Use xmalloc, not
6245169689Skan	oballoc.
6246169689Skan	(cse_main): Adjust accordingly.
6247169689Skan	* dwarf2out.c (save_rtx): Remove
6248169689Skan	obstack code.
6249169689Skan	(dwarf2out_init): Remove ggc_p conditionals.
6250169689Skan	* emit-rtl.c (rtl_obstack): Remove.
6251169689Skan	(gen_rtx_CONST_INT): Remove ggc_p conditionals.
6252169689Skan	(make_insn_raw): Likewise.
6253169689Skan	(emit_insn_before): Likewise.
6254169689Skan	(emit_insn_after): Likewise.
6255169689Skan	(emit_insn): Likewise.
6256169689Skan	(gen_sequence): Likewise.
6257169689Skan	(copy_insn_1): Remove handling of `b' RTL components.
6258169689Skan	(init_emit_once): Remove ggc_p conditionals.
6259169689Skan	* except.c (create_rethrow_ref): Don't fool with obstacks.
6260169689Skan	(add_partial_entry): Likewise.
6261169689Skan	(call_get_eh_context): Likewise.
6262169689Skan	(begin_protect_partials): Likewise.
6263169689Skan	(protect_with_terminate): Likewise.
6264169689Skan	* explow.c
6265169689Skan	(plus_constant_wide): Likewise.
6266169689Skan	* expr.c (init_expr_once):
6267169689Skan	Likewise.
6268169689Skan	(emit_block_move): Likewise.
6269169689Skan	(clear_storage): Likewise.
6270169689Skan	(expand_expr): Likewise.
6271169689Skan	* flow.c (function_obstack): Remove.
6272169689Skan	(flow_obstack): New variable.
6273169689Skan	(flow_firstobj): Likewise.
6274169689Skan	(create_base_block): Use the flow_obstack.
6275169689Skan	(split_block): Likewise.
6276169689Skan	(split_edge): Likewise.
6277169689Skan	(calculate_global_regs_live): Likewise.
6278169689Skan	(allocate_bb_life_data): Make it static.  Likewiwse.
6279169689Skan	(init_flow): New function.
6280169689Skan	(size_int_type_wide): Remove ggc_p conditionals.
6281169689Skan	* function.c
6282169689Skan	(push_function_context_to): Don't call save_tree_status.
6283169689Skan	(pop_function_context_from): Or restore_tree_status.
6284169689Skan	(assign_stack_local_1): Don't call push_obstacks.
6285169689Skan	(find_fixup_replacement): Use xmalloc.
6286169689Skan	(fixup_var_refs_insns): Free the storage.
6287169689Skan	(insns_for_mem_walk): Don't mess with obstacks.
6288169689Skan	(instantiate_decls): Likewise.
6289169689Skan	(trampoline_address): Likewise.
6290169689Skan	(expand_function_end): Likewise.
6291169689Skan	* function.h (sturct function):
6292169689Skan	Remove obstack-related variables.
6293169689Skan	(save_tree_status): Don't declare.
6294169689Skan	(restore_tree_status): Likewise.
6295169689Skan	* gcse.c (compute_can_copy):
6296169689Skan	Don't call oballoc/obfree.
6297169689Skan	* genattrtab.c (operate_exp): Remove
6298169689Skan	ggc_p conditionals.
6299169689Skan	(simplify_cond): Likewise.
6300169689Skan	(simplify_test_exp): Don't mess with obstacks.
6301169689Skan	(optimize_attrs): Likewise.
6302169689Skan	* gengenrtl.c (gendef): Don't include
6303169689Skan	ggc_p conditionals.
6304169689Skan	* ggc-callbacks.c (ggc_p): Remove.
6305169689Skan	* ggc-none.c (ggc_p): Remove.
6306169689Skan	* ggc.h (ggc_p): Don't declare.
6307169689Skan	* integrate.c (save_for_inline): Don't mess with obstacks.
6308169689Skan	(integrate_decl_tree): Likewise.
6309169689Skan	(output_inline_function): Likewise.
6310169689Skan	* lists.c
6311169689Skan	(init_EXPR_INSN_LIST_cache): Likewise.
6312169689Skan	* loop.c (temp_obstack):
6313169689Skan	Remove.
6314169689Skan	(rtl_obstack): Likewise.
6315169689Skan	(init_loop): Don't mess with obstacks.
6316169689Skan	(reg_address_cost): Free BIVs and GIVs.
6317169689Skan	(check_insns_for_bivs): Use xmalloc, not oballoc.
6318169689Skan	(find_mem_givs): Likewise.
6319169689Skan	(record_biv): Likewise.
6320169689Skan	(general_induction_var): Likewise.
6321169689Skan	(product_cheap_p): Likewse.
6322169689Skan	* optabs.c (init_one_libfunc): Remove
6323169689Skan	ggc_p conditional.
6324169689Skan	* print-tree.c (debug_tree): Don't use
6325169689Skan	oballoc/obfree.
6326169689Skan	(print_node): Likewise.
6327169689Skan	* profile.c (output_func_start_profiler):
6328169689Skan	Remove call to temporary_allocation.
6329169689Skan	* reload1.c
6330169689Skan	(eliminate_regs_in_insn): Don't mess with obstacks.
6331169689Skan	* resource.c
6332169689Skan	(mark_target_live_regs): Use xmalloc.
6333169689Skan	(free_resource_info): Free the memory.
6334169689Skan	* rtl.c (rtl_obstack):
6335169689Skan	Remove.
6336169689Skan	(rtvec_alloc): Don't mess with obstacks.
6337169689Skan	(rtx_alloc): Likewise.
6338169689Skan	(rtx_free): Remove.
6339169689Skan	(copy_rtx): Don't handle `b' cases.
6340169689Skan	(read_rtx): Use a local rtl_obstack.
6341169689Skan	* rtl.h (oballoc): Remove.
6342169689Skan	(obfree): Likewise.
6343169689Skan	(pop_obstacks): Likewise.
6344169689Skan	(push_obstacks): Likewise.
6345169689Skan	(allocate_bb_life_data): Likewise.
6346169689Skan	(allocate_reg_life_data): Likewise.
6347169689Skan	(rtx_free): Likewise.
6348169689Skan	* sdbout.c (sdbout_queue_anonymous_type):
6349169689Skan	Use tree_cons, not saveable_tree_cons.
6350169689Skan	* simplify-rtx.c
6351169689Skan	(cselib_init): Don't mess with obstacks.
6352169689Skan	* stmt.c
6353169689Skan	(mark_block_nesting): Mark the label_chain.
6354169689Skan	(epxand_label): Use ggc_alloc, not oballoc.
6355169689Skan	(clear_last_expr): Don't mess with obstacks.
6356169689Skan	(expand_decl_cleanup): Likewise.
6357169689Skan	(expand_dcc_cleanup): Likewise.
6358169689Skan	(expand_dhc_cleanup): Likewise.
6359169689Skan	(expand_anon_union_decl): Likewise.
6360169689Skan	(add_case_node): Use xmalloc, not oballoc.
6361169689Skan	(free_case_nodes): New function.
6362169689Skan	(expand_end_case): Call it.
6363169689Skan	* stor-layout.c (layout_type): Don't
6364169689Skan	mess with obstacks.
6365169689Skan	(layout_type): Likewise.
6366169689Skan	* toplev.c (wrapup_global_declarations):
6367169689Skan	Likewise.
6368169689Skan	(compile_file): Remove ggc_p conditionals.
6369169689Skan	(rest_of_compilation): Call init_flow.  Remove ggc_p conditionals.
6370169689Skan	(decode_f_option): Remove ggc_p conditionals.
6371169689Skan	* tree.c
6372169689Skan	(function_maybepermanent_obstack): Remove.
6373169689Skan	(maybepermanent_obstack): Likewise.
6374169689Skan	(function_obstack): Likewise.
6375169689Skan	(tmeporary_obstack): Likewise.
6376169689Skan	(momentary_obstack): Likewise.
6377169689Skan	(temp_decl_obstack): Likewise.
6378169689Skan	(saveable_obstack): Likewise.
6379169689Skan	(rtl_obstack): Likewise.
6380169689Skan	(current_obstack): Likewise.
6381169689Skan	(expression_obstack): Likewise.
6382169689Skan	(struct obstack_stack): Likewise.
6383169689Skan	(obstack_stack): Likewise.
6384169689Skan	(obstack_stack_obstack): Likewise.
6385169689Skan	(maybepermanent_firstobj): Likewise.
6386169689Skan	(temporary_firstobj): Likewise.
6387169689Skan	(momentary_firstobj): Likewise.
6388169689Skan	(temp_decl_firstobj): Likewise.
6389169689Skan	(momentary_function_firstobj): Likewise.
6390169689Skan	(all_types_permanent): Likewise.
6391169689Skan	(struct momentary_level): Likewise.
6392169689Skan	(momentary_stack): Likewise.
6393169689Skan	(init_obstacks): Remove initialization of removed obstacks.
6394169689Skan	(save_tree_status): Remove.
6395169689Skan	(restore_tree_status): Likewise.
6396169689Skan	(temporary_allocation): Liekwise.
6397169689Skan	(end_temporary_allocation): Liekwise.
6398169689Skan	(resume_temporary_allocation): Likewise.
6399169689Skan	(saveable_allocation): Likewise.
6400169689Skan	(push_obstacks): Likewise.
6401169689Skan	(push_obstacks_nochange): Likewise.
6402169689Skan	(pop_obstacks): Likewise.
6403169689Skan	(allocation_temporary_p): Likewise.
6404169689Skan	(permanent_allocation): Likewise.
6405169689Skan	(preserve_data): Likewise.
6406169689Skan	(preserve_initializer): Likewise.
6407169689Skan	(rtl_in_current_obstack): Likewise.
6408169689Skan	(rtl_in_saveable_obstack): Likewise.
6409169689Skan	(oballoc): Likewise.
6410169689Skan	(obfree): Likewise.
6411169689Skan	(savealloc): Likewise.
6412169689Skan	(expralloc): Likewise.
6413169689Skan	(print_obstack_name): Likewise.
6414169689Skan	(debug_obstack): Likewise.
6415169689Skan	(object_permanent_p): Likewise.
6416169689Skan	(push_momentary): Likewise.
6417169689Skan	(perserve_momentary): Likewise.
6418169689Skan	(clear_momentary): Likewise.
6419169689Skan	(pop_momentary): Likewise.
6420169689Skan	(pop_momentary_nofree): Likewise.
6421169689Skan	(suspend_momentary): Likewise.
6422169689Skan	(resume_momentary): Likewise.
6423169689Skan	(make_node): Don't set TREE_PERMANENT.
6424169689Skan	(copy_node): Remove ggc_p conditionals.  Don't set TYPE_OBSTACK.
6425169689Skan	Don't set TREE_PERMANENT.
6426169689Skan	(get_identifier): Remove ggc_p conditionals.
6427169689Skan	(build_string): Likewise.
6428169689Skan	(make_tree_vec): Likewise.
6429169689Skan	(build_decl_list): Remove.
6430169689Skan	(build_expr_list): Likewise.
6431169689Skan	(tree_cons): Remove ggc_p conditionals.
6432169689Skan	(decl_tree_cons): Remove.
6433169689Skan	(expr_tree_cons): Likewise.
6434169689Skan	(perm_tree_cons): Likewise.
6435169689Skan	(temp_tree_cons): Likewise.
6436169689Skan	(saveable_tree_cons): Likewise.
6437169689Skan	(build1): Remove ggc_p conditionals.
6438169689Skan	(build_parse_node): Likewise.
6439169689Skan	(build_type_attribute_variant): Don't mess with obstacks.
6440169689Skan	(build_type_copy): Likewise.
6441169689Skan	(type_hash_canon): Likewise.
6442169689Skan	(build_pointer_type): Likewise.
6443169689Skan	(build_reference_type): Likewise.
6444169689Skan	(build_index_type): Likewise.
6445169689Skan	(build_range_type): Likewise.
6446169689Skan	(dump_tree_statistics): Don't print obstack information.
6447169689Skan	* tree.h
6448169689Skan	(struct tree_common): Remove permanent_flag.
6449169689Skan	(TREE_PERMANENT): Remove.
6450169689Skan	(TREE_SET_PERMANENT): Likewise.
6451169689Skan	(TYPE_OBSTACK): Likewise.
6452169689Skan	(struct tree_type): Remove obstack.
6453169689Skan	(oballoc): Remove.
6454169689Skan	(savealloc): Likewise.
6455169689Skan	(build_decl_list): Likewise.
6456169689Skan	(build_expr_list): Likewise.
6457169689Skan	(perm_tree_cons): Likewise.
6458169689Skan	(temp_tree_cons): Likewise.
6459169689Skan	(saveable_tree_cons): Likewise.
6460169689Skan	(decl_tree_cons): Likewise.
6461169689Skan	(expr_tree_cons): Likewise.
6462169689Skan	(suspend_momentary): Likewise.
6463169689Skan	(allocation_temporary_p): Likewise.
6464169689Skan	(resume_momentary): Likewise.
6465169689Skan	(push_obstacks_nochange): Likewise.
6466169689Skan	(permanent_allocation): Likewise.
6467169689Skan	(push_momentary): Likewise.
6468169689Skan	(clear_momentary): Likewise.
6469169689Skan	(pop_momentary): Likewise.
6470169689Skan	(end_temporary_allocation): Likewise.
6471169689Skan	(pop_obstacks): Likewise.
6472169689Skan	(push_obstacks): Likewise.
6473169689Skan	(pop_momentary_nofree): LIkewise.
6474169689Skan	(preserve_momentary): Likewise.
6475169689Skan	(saveable_allocation): Likewise.
6476169689Skan	(temporary_allocation): Likewise.
6477169689Skan	(resume_temporary_allocation): Likewise.
6478169689Skan	(perserve_initializer): Likewise.
6479169689Skan	(debug_obstack): Likewise.
6480169689Skan	(rtl_in_current_obstack): Likewise.
6481169689Skan	(rtl_in_saveable_obstack): Likewise.
6482169689Skan	(obfree): Likewise.
6483169689Skan	* varasm.c (current_obstack): Remove.
6484169689Skan	(saveable_obstack): Remove.
6485169689Skan	(rtl_obstack): Remove.
6486169689Skan	(immed_double_const): Don't mess with obstacks.
6487169689Skan	(immed_real_cons): Likewise.
6488169689Skan	(output_constant_def): Likewise.
6489169689Skan	(init_varasm_status): Use xcalloc.
6490169689Skan	(mark_pool_constant): Mark the pool constant itself.
6491169689Skan	(free_varasm_status): Free memory.
6492169689Skan	(decode_rtx_const): Call bzero directly, rather than expanding it
6493169689Skan	inline.
6494169689Skan	(record_rtx_const): Don't mess with obstacks.
6495169689Skan	(force_const_mem): Likewise.
6496169689Skan	* config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
6497169689Skan	conditionals.
6498169689Skan	(aof_pic_entry): Likewise.
6499169689Skan	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
6500169689Skan	* config/m32r/m32r.c (m32r_encode_section_info): Likewise.
6501169689Skan	* config/pa/pa.c (saveable_obstack): Remove.
6502169689Skan	(rtl_obstack): Likewise.
6503169689Skan	(current_obstack): Likewise.
6504169689Skan	(output_call): Don't mess with obstacks.
6505169689Skan	(hppa_encode_label): Remove ggc_p conditionals.
6506169689Skan	* config/romp/romp.c (get_symref): Don't mess with obstacks.
6507169689Skan	* config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
6508169689Skan	(rs6000_encode_section_info): Likewise.
6509169689Skan	* config/sh/sh.c (get_fpscr_rtx): Likewise.
6510169689Skan
6511169689SkanThu Oct 12 16:02:31 MET DST 2000 Jan Hubicka  <jh@suse.cz>
6512169689Skan
6513169689Skan	* i386.md (adddi3, subdi3 splitters): Update for new pattern.
6514169689Skan	(addsi3_cc, addqi3_cc, subsi3_cc): Remove
6515169689Skan	(addsi3_carry): Canonicalize.
6516169689Skan	(addqi_5): Remove '*'.
6517169689Skan	(sbb pattern): Canonicalize.
6518169689Skan
6519169689Skan	* i386.md (cmp to inc/add peep2): New.
6520169689Skan
6521169689Skan2000-10-12  Richard Earnshaw  <rearnsha@arm.com>
6522169689Skan
6523169689Skan	* bb-reorder.c (reorder_basic_blocks): Allocate an aux block for
6524169689Skan	the exit block.
6525169689Skan
6526169689Skan2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
6527169689Skan
6528169689Skan	* gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK.
6529169689Skan	* README.TRAD, TESTS.FLUNK: Remove.
6530169689Skan
6531169689Skan2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
6532169689Skan
6533169689Skan	* c-common.c (decl_attributes): Don't allow strftime formats with
6534169689Skan	first_arg_num nonzero.
6535169689Skan	(check_format_info): Set wanted_type and wanted_type_name to zero
6536169689Skan	before they are possibly assigned and used.
6537169689Skan
6538169689Skan2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
6539169689Skan
6540169689Skan	* c-common.c (scanf_flag_specs): Add flags ' and I.
6541169689Skan	(strftime_flag_pairs): Disallow any pair of the _, - and 0 flags,
6542169689Skan	or the ^ and # flags together.
6543169689Skan	(scan_char_table): Handle the ' and I flags.
6544169689Skan	(format_types): Add ' and I flags for scanf.
6545169689Skan
6546169689Skan2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
6547169689Skan
6548169689Skan	* c-common.c (print_char_table): Use the unpromoted type for
6549169689Skan	lengths "h" and "hh" with conversions dioxXu.
6550169689Skan	(check_format_types): Apply the default argument promotions where
6551169689Skan	the wanted type is not a pointer target.
6552169689Skan
6553169689Skan2000-10-11  Michael Meeks  <mmeeks@gnu.org>
6554169689Skan	    Joseph S. Myers  <jsm28@cam.ac.uk>
6555169689Skan
6556169689Skan	* c-typeck.c (check_modify_expr): New function.
6557169689Skan	(build_modify_expr): Call it if warn_sequence_point.
6558169689Skan	* c-decl.c (warn_sequence_point): New variable.
6559169689Skan	(c_decode_option): Handle -Wsequence-point and
6560169689Skan	-Wno-sequence-point.  Enable -Wsequence-point as part of -Wall.
6561169689Skan	* c-tree.h (warn_sequence_point): Declare.
6562169689Skan	* invoke.texi (-Wsequence-point): Document.
6563169689Skan	* toplev.c (documented_lang_options): Add -Wsequence-point and
6564169689Skan	-Wno-sequence-point.
6565169689Skan	Original work by Michael Meeks, 16 Jun 1998.
6566169689Skan
6567169689SkanWed Oct 11 06:15:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6568169689Skan
6569169689Skan	* tree.c (get_narrower): Don't look at precision of field if
6570169689Skan	not laid out yet.
6571169689Skan
6572169689SkanTue Oct 10 23:14:33 2000  Denis Chertykov  <denisc@overta.ru>
6573169689Skan
6574169689Skan	* config/avr/avr.c (valid_machine_decl_attribute): Allow `extern'
6575169689Skan	declaration for data with "progmem" attribute.
6576169689Skan
6577169689Skan2000-10-09  Marek Michalkiewicz  <marekm@linux.org.pl>
6578169689Skan
6579169689Skan	* config/avr/avr.c (out_shift_with_cnt): Use AS2 macro.
6580169689Skan	Correct insn length if shift count is a memory operand.
6581169689Skan	* config/avr/avr.md: New define_peephole2 to use *reload_inqi.
6582169689Skan	(*iorhi3_clobber): Change lo8 to hi8.
6583169689Skan	(zero_extendhisi2): Change %B0 to %A1.
6584169689Skan	(ashlhi3, ashrhi3): Correct insn length.
6585169689Skan	(andhi3, abssf2, extendqisi2, extendhisi2): Change "cc"
6586169689Skan	from "clobber" to "set_n" in some alternatives.
6587169689Skan
6588169689Skan2000-10-10  Jakub Jelinek  <jakub@redhat.com>
6589169689Skan
6590169689Skan	* reload1.c (calculate_needs_all_insns): If deleting an instruction,
6591169689Skan	remove its insn_chain structure as well.
6592169689Skan
6593169689Skan2000-10-09  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
6594169689Skan
6595169689Skan	* dbxout.c (dbxout_source_line): Remove extra tab.
6596169689Skan
6597169689Skan2000-10-09  Hans-Peter Nilsson  <hp@bitrange.com>
6598169689Skan
6599169689Skan	* config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
6600169689Skan
6601169689Skan2000-10-09  Richard Henderson  <rth@cygnus.com>
6602169689Skan
6603169689Skan	* Makefile.in (LANG_LIB2FUNCS): Remove.
6604169689Skan	(LIB2FUNCS): Remove _pure.
6605169689Skan	(LIB2ADD): Remove LANG_LIB2FUNCS.
6606169689Skan	(stage_a): Don't set LANG_LIB2FUNCS.
6607169689Skan	* libgcc2.c (__terminate): Mark noreturn.
6608169689Skan	(__pure_virtual): Remove.
6609169689Skan	* mklibgcc.in: Remove LIB2ADD .txt processing.
6610169689Skan
6611169689Skan2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
6612169689Skan
6613169689Skan	* arm.md (push_multi): Revert unintended change.
6614169689Skan
6615169689Skan2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
6616169689Skan
6617169689Skan	* arm.c: Miscellaneous white space and comment clean-ups.  No
6618169689Skan	functional change.
6619169689Skan	* arm.md: Likewise.
6620169689Skan
6621169689Skan2000-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6622169689Skan
6623169689Skan	* c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new
6624169689Skan	STRING_CST by calling combine_strings.
6625169689Skan
6626169689Skan2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
6627169689Skan
6628169689Skan	* arm.c (thumb_expand_movstrqi): Rewrite to support SSA form.
6629169689Skan	(thumb_output_move_mem_multiple): Support new insn format.
6630169689Skan	* arm.md (movmem12b): Use SSA compatible format.
6631169689Skan	(movmem8b): Likewise.
6632169689Skan
6633169689Skan2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
6634169689Skan
6635169689Skan	* arm.md (predicable): New attribute, default to "no".
6636169689Skan	(all patterns): Mark as predicable if appropriate.
6637169689Skan	(conditional execution splits): Split using predication format.
6638169689Skan	(define_cond_exec): Define.
6639169689Skan	* arm.c (arm_print_operand): handle insn predicate.
6640169689Skan
6641169689Skan2000-10-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6642169689Skan
6643169689Skan	* README.NS32K: Remove file.
6644169689Skan
6645169689Skan2000-10-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6646169689Skan
6647169689Skan	* README-bugs: Remove file.
6648169689Skan
6649169689Skan2000-10-08  Philipp Thomas  <pthomas@suse.de>
6650169689Skan	* aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator
6651169689Skan	for test.
6652169689Skan	* configure: Rebuilt.
6653169689Skan
6654169689Skan2000-10-08  Philipp Thomas  <pthomas@suse.de>
6655169689Skan	* aclocal.m4 (AM_WITH_NLS): When not using included gettext,
6656169689Skan	disable catalog building if no suitable program was found.
6657169689Skan	Move warning message from here
6658169689Skan	(AM_GNU_GETTEXT): To here.
6659169689Skan	* configure: Rebuilt.
6660169689Skan
6661169689Skan2000-10-08  Philipp Thomas  <pthomas@suse.de>
6662169689Skan	* aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses
6663169689Skan	different cache variables.
6664169689Skan	(GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but
6665169689Skan	uses different cache variables.
6666169689Skan	(AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
6667169689Skan	* configure: Regenerated.
6668169689Skan
6669169689Skan2000-10-08  Richard Henderson  <rth@cygnus.com>
6670169689Skan
6671169689Skan	* Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
6672169689Skan	* configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}.
6673169689Skan	* mklibgcc.in: Consider SHLIB_LINK the entire shlib build command.
6674169689Skan	Use SHLIB_EXT.
6675169689Skan
6676169689Skan	* config/t-linux (SHLIB_EXT): New.
6677169689Skan	(SHLIB_LINK): Use the entire build command, with substitutions.
6678169689Skan	(SHLIB_LIBS): Remove.
6679169689Skan	* config/alpha/t-osf4: Likewise.
6680169689Skan	* config/mips/t-iris6: Likewise.
6681169689Skan	* config/sparc/t-sol2: Likewise, but move shlib stuff...
6682169689Skan	* config/sparc/t-slibgcc-sld: ...here.
6683169689Skan	* config/sparc/t-slibgcc: New file.
6684169689Skan
6685169689Skan2000-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>
6686169689Skan
6687169689Skan	* tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define.
6688169689Skan	* c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and
6689169689Skan	CTI_UINTMAX_TYPE.
6690169689Skan	(intmax_type_node, uintmax_type_node): Define.
6691169689Skan	* c-common.c (decl_attributes): If pedantic, warn if `mode'
6692169689Skan	attributes create a type wider than intmax_t.
6693169689Skan	(T_IM, T_UIM): Define properly.
6694169689Skan	* c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
6695169689Skan	defined.
6696169689Skan	(init_decl_processing): Initialize intmax_type_node and
6697169689Skan	uintmax_type_node.
6698169689Skan	* c-lex.c (lex_number): When pedantic and warning for integer
6699169689Skan	constants that are too large, in C99 mode warn for those that have
6700169689Skan	a type wider than long long.
6701169689Skan
6702169689Skan2000-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>
6703169689Skan
6704169689Skan	* c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE,
6705169689Skan	FMT_FLAG_FANCY_PERCENT_OK): Define.
6706169689Skan	(format_char_info): Add flag "4" to comment.
6707169689Skan	(format_flag_spec, format_flag_pair): New structures.
6708169689Skan	(format_kind_info): Add additional fields to control format
6709169689Skan	checking.
6710169689Skan	(printf_flag_specs, printf_flag_pairs, scanf_flag_specs,
6711169689Skan	scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New
6712169689Skan	arrays.
6713169689Skan	(time_char_table): Use "4" flag to handle %Ey.
6714169689Skan	(format_types): Add entries for new fields.
6715169689Skan	(get_flag_spec): New function.
6716169689Skan	(check_format_info): Increase size of flag_chars[] to 256.
6717169689Skan	Control format checking using the new fields of a format_kind_info
6718169689Skan	and the new tables; remove all conditionals on printf_format_type,
6719169689Skan	scanf_format_type or strftime_format_type.  Handle all details of
6720169689Skan	bad combinations of flags (including width, precision and strftime
6721169689Skan	modifiers) through data rather than ad hoc code.  Handle all
6722169689Skan	details of standard versions in which flags appeared through
6723169689Skan	data.  Use the "4" flag.
6724169689Skan
6725169689Skan2000-10-07  Will Cohen  <wcohen@redhat.com>, Kazu Hirata  <kazu@hxi.com>
6726169689Skan
6727169689Skan	* config/h8300/h8300.md: Remove the memory alternative and correct
6728169689Skan	the insn lengths in the templates for sign extension and zero
6729169689Skan	extension.
6730169689Skan
6731169689Skan2000-10-07  Richard Henderson  <rth@cygnus.com>
6732169689Skan
6733169689Skan	* calls.c (expand_call): Disallow sibcalls to noreturn functions.
6734169689Skan	* flow.c (make_edges): Revert last change.
6735169689Skan
6736169689Skan	* config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test
6737169689Skan	TREE_THIS_VOLATILE.
6738169689Skan	* config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
6739169689Skan
6740169689Skan2000-10-06  David O'Brien  <obrien@dragon.nuxi.com>
6741169689Skan
6742169689Skan	* config/alpha/elf.h: Standardize the formatting.
6743169689Skan
6744169689Skan2000-10-06  David O'Brien  <obrien@FreeBSD.org>
6745169689Skan
6746169689Skan	* config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
6747169689Skan	#undef.
6748169689Skan
6749169689Skan2000-10-06  Richard Henderson  <rth@cygnus.com>
6750169689Skan
6751169689Skan	* function.c (diddle_return_value): Examine
6752169689Skan	current_function_return_rtx instead of the DECL_RESULT.
6753169689Skan	(expand_function_end): Handle reloading DECL_RESULT from memory
6754169689Skan	into a hard register.  Query promote_mode for sign of mismatched
6755169689Skan	modes.
6756169689Skan
6757169689Skan2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
6758169689Skan
6759169689Skan	* haifa-sched.c (schedule_insns): Fix typo in freeing
6760169689Skan	forward_dependency_cache.
6761169689Skan
6762169689Skan2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
6763169689Skan
6764169689Skan	* config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
6765169689Skan	`TARGET_SH2' as a condition.
6766169689Skan
6767169689Skan2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
6768169689Skan
6769169689Skan	* haifa-sched.c (anti_dependency_cache, output_dependency_cache,
6770169689Skan	forward_dependency_cache): New variables.
6771169689Skan	(add_dependence, remove_dependence): Use anti_dependency_cache and
6772169689Skan	output_dependency_cache.
6773169689Skan	(compute_block_forward_dependences): Use forward_dependency_cache.
6774169689Skan	(schedule_insns): Allocate and free memory for anti/output/forward
6775169689Skan	dependencies caches.
6776169689Skan
6777169689Skan2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
6778169689Skan
6779169689Skan	* config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
6780169689Skan	`! TARGET_SH1'.  Reindent.
6781169689Skan
6782169689Skan2000-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6783169689Skan
6784169689Skan	* builtins.c (is_valid_printf_arglist, expand_builtin_printf):
6785169689Skan	Move functions from here ...
6786169689Skan
6787169689Skan	* c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
6788169689Skan	... to here.
6789169689Skan	(c_expand_builtin): New function.
6790169689Skan	(init_function_format_info): Don't set `check_function_format_ptr'.
6791169689Skan	(c_common_nodes_and_builtins): Set built_in_class type for
6792169689Skan	printf/__builtin_printf to BUILT_IN_FRONTEND.
6793169689Skan	(c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
6794169689Skan
6795169689Skan	* c-common.h (build_function_call): Declare.
6796169689Skan
6797169689Skan	* expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
6798169689Skan	to `lang_expand_expr' rather than `expand_builtin'.
6799169689Skan
6800169689Skan	* tree.c (check_function_format_ptr): Delete.
6801169689Skan
6802169689Skan	* tree.h (check_function_format_ptr): Likewise.
6803169689Skan
6804169689Skan2000-10-06  Hans-Peter Nilsson  <hp@bitrange.com>
6805169689Skan
6806169689Skan	* dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
6807169689Skan	DW_OP_bregx when cfa->reg > 31.
6808169689Skan
6809169689Skan	* frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
6810169689Skan	break.
6811169689Skan
6812169689Skan2000-10-05  Richard Henderson  <rth@cygnus.com>
6813169689Skan
6814169689Skan	* c-decl.c (warn_missing_noreturn): Remove.
6815169689Skan	(c_expand_body): Don't set or check can_reach_end.
6816169689Skan	* c-tree.h (warn_missing_noreturn): Move ...
6817169689Skan	* flags.h: ... here.
6818169689Skan	(can_reach_end): Remove.
6819169689Skan	* flow.c (check_function_return_warnings): New.
6820169689Skan	(make_edges): No edge to exit for noreturn sibcalls.
6821169689Skan	* function.c (expand_function_end): Save the return value
6822169689Skan	clobber instruction.
6823169689Skan	(mark_function_status): Mark it.
6824169689Skan	* function.h (struct function): Add x_clobber_return_insn.
6825169689Skan	* jump.c (can_reach_end): Remove.
6826169689Skan	(calculate_can_reach_end): Remove.
6827169689Skan	(jump_optimize_1): Don't call it.
6828169689Skan	* output.h (check_function_return_warnings): Declare.
6829169689Skan	* toplev.c (warn_missing_noreturn): Move from c-decl.c
6830169689Skan	(rest_of_compilation): Call check_function_return_warnings.
6831169689Skan
6832169689Skan2000-10-05  Richard Henderson  <rth@cygnus.com>
6833169689Skan
6834169689Skan	* Makefile.in (NM_FOR_TARGET): New.
6835169689Skan	(libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
6836169689Skan	(libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
6837169689Skan	* mklibgcc.in: If SHLIB_MKMAP, build libgcc.map.  Depend the
6838169689Skan	shared library build on that and EXTRA_MULTILIB_PARTS.
6839169689Skan	* mkmap-flat.awk: New file.
6840169689Skan	* mkmap-symver.awk: New file.
6841169689Skan	* libgcc-std.ver: New file.
6842169689Skan	* config/libgcc-glibc.ver: New file.
6843169689Skan	* config/ia64/libgcc-ia64.ver: New file.
6844169689Skan	* config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
6845169689Skan	(SHLIB_LINK): Add --version-script.
6846169689Skan	* config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
6847169689Skan	* config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
6848169689Skan	* config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
6849169689Skan	(SHLIB_LINK): Add -M.
6850169689Skan
6851169689Skan2000-10-05  Richard Henderson  <rth@cygnus.com>
6852169689Skan
6853169689Skan	* Makefile.in (LIB2FUNCS): Add _clz.
6854169689Skan	* libgcc2.c (__ffsdi2): Use count_trailing_zeros.
6855169689Skan	(__clz_tab): Put in its own unit, non-static.
6856169689Skan	* libgcc2.h: Always include longlong.h.
6857169689Skan
6858169689Skan	* longlong.h [alpha] (count_leading_zeros): Use cmpbge with
6859169689Skan	a zero instead of -1.
6860169689Skan	(count_trailing_zeros): Likewise.
6861169689Skan
6862169689Skan2000-10-05  Richard Henderson  <rth@cygnus.com>
6863169689Skan
6864169689Skan	* config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
6865169689Skan	when second op1 is const0_rtx.  Validate op0 as a register.
6866169689Skan	* config/alpha/alpha.md (setcc_internal): Don't allow constants
6867169689Skan	in the first argument of the compare.
6868169689Skan	(setcc_swapped_internal): Likewise.
6869169689Skan	(setne_internal): Likewise.
6870169689Skan
6871169689Skan2000-10-05  Geoff Keating  <geoffk@cygnus.com>
6872169689Skan
6873169689Skan	* tree.c (tree_size): New function split out of copy_node.
6874169689Skan	(make_node): Remove obstack handling.  Use tree_size.
6875169689Skan	(copy_node): Use tree_size.
6876169689Skan	* tree.h: Prototype tree_size.
6877169689Skan
6878169689Skan2000-10-05  Richard Henderson  <rth@cygnus.com>
6879169689Skan
6880169689Skan	* diagnostic.c (output_format): Add missing break.
6881169689Skan
6882169689Skan2000-10-05  Jim Wilson  <wilson@cygnus.com>
6883169689Skan
6884169689Skan	* function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
6885169689Skan	SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
6886169689Skan	sequence insn to INSN, and delete last sequence insn.
6887169689Skan
6888169689Skan2000-10-05  Phil Edwards  <pme@gcc.gnu.org>
6889169689Skan
6890169689Skan	* gcc.c (main): Include generated configargs.h header
6891169689Skan	and use arguments in '-v' output.
6892169689Skan
6893169689SkanThu Oct  5 16:16:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6894169689Skan
6895169689Skan	* gcc.c: Move data on prefixes forward in file and reorganize.
6896169689Skan	(md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
6897169689Skan	Always define, but make null if no value.
6898169689Skan	(static_specs): Add "md_exec_prefix", "md_startfile_prefix",
6899169689Skan	and "md_startfile_prefix_1".
6900169689Skan	(main): Check whether md_exec_prefix and the others are the
6901169689Skan	null string rather than whether the macro is defined.
6902169689Skan
6903169689SkanThu Oct  5 19:04:18 2000  J"orn Rennecke <amylaar@redhat.co.uk>
6904169689Skan
6905169689Skan	* (convert_move): Use zero_extendpsisi2 to do an unsigned extension
6906169689Skan	from PSImode to SImode.
6907169689Skan
6908169689Skan2000-10-05  Jakub Jelinek  <jakub@redhat.com>
6909169689Skan
6910169689Skan	* emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
6911169689Skan	from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
6912169689Skan	* dwarf2out.c (add_const_value_attribute): Divide by 4, not
6913169689Skan	sizeof(long).
6914169689Skan
6915169689SkanThu Oct  5 09:31:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6916169689Skan
6917169689Skan	* fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
6918169689Skan	negation in proper type.a
6919169689Skan
6920169689Skan2000-10-04  Richard Henderson  <rth@cygnus.com>
6921169689Skan
6922169689Skan	* configure.in (enable-shared): New.
6923169689Skan	* Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
6924169689Skan	(libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
6925169689Skan	* mklibgcc.in: Use them to link shared a libgcc.
6926169689Skan	* config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
6927169689Skan	* config/alpha/t-ieee (SHLIB_MULTILIB): New.
6928169689Skan	* config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
6929169689Skan	* config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
6930169689Skan
6931169689Skan	* configure.in (alpha-osf*): Use t-osf and x-osf.
6932169689Skan	* config/alpha/t-osf: New file.
6933169689Skan	* config/alpha/t-osf4: New file.
6934169689Skan	* config/alpha/x-osf: New file.
6935169689Skan	* config/alpha/x-alpha: Remove file.
6936169689Skan
6937169689Skan2000-10-04  Will Cohen  <wcohen@redhat.com>
6938169689Skan
6939169689Skan	* c-typeck.c (process_init_element): Added warning for zero-length
6940169689Skan	array.
6941169689Skan
6942169689Skan	* extend.texi (Zero Length): State that static initializers for
6943169689Skan	zero-length arrays are not allowed.
6944169689Skan
6945169689SkanMon Oct  2 14:50:14 MET DST 2000  Jan Hubicka  <jh@suse.cz>
6946169689Skan
6947169689Skan	* rtlanal.c (single_set_1): Do not require USE and CLOBBERs
6948169689Skan	to come last.
6949169689Skan
6950169689Skan2000-10-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6951169689Skan
6952169689Skan	* config/float-c4x.h: New.
6953169689Skan	* configure.in (c4x-*): Set float_format to c4x.
6954169689Skan	* configure: Regenerate.
6955169689Skan
6956169689Skan2000-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6957169689Skan
6958169689Skan	* configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
6959169689Skan	compilation for solaris versions 2.7 and greater.
6960169689Skan
6961169689Skan2000-10-02  Marc Espie <espie@openbsd.org>
6962169689Skan
6963169689Skan	* config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default,
6964169689Skan	instead of redefining from scratch.
6965169689Skan
6966169689Skan2000-10-02  David O'Brien  <obrien@dragon.nuxi.com>
6967169689Skan
6968169689Skan	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
6969169689Skan
6970169689Skan2000-10-01  Mark Mitchell  <mark@codesourcery.com>
6971169689Skan
6972169689Skan	* config/ns32k/genix.h: Remove.
6973169689Skan	* config/ns32k/x-genix: Likewise.
6974169689Skan	* config/ns32k/xm-genix.h: Likewise.
6975169689Skan	* config/fx80: Remove all filee in directory.
6976169689Skan	* config/pyr: Likewise.
6977169689Skan	* config/tahoe: Likewise.
6978169689Skan	* config/gmicro: Likewise.
6979169689Skan	* config/spur: Likewise.
6980169689Skan	* configure.in: Remove configury bits for above targets.
6981169689Skan	* configure: Regenerated.
6982169689Skan
6983169689Skan	* configure.in: Don't configure chill by default.
6984169689Skan	* configure: Regenerated.
6985169689Skan
6986169689Skan	* c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
6987169689Skan	(lang_mark_false_label_stack): Remove.
6988169689Skan	* c-lex.c (init_c_lex): Add file_info_tree as GC root.  Allocate
6989169689Skan	<top level> string in GC area.
6990169689Skan	(mark_splay_tree_node): New function.
6991169689Skan	(mark_splay_tree): Likewise.
6992169689Skan	* except.c (mark_eh_status): Only call lang_mark_false_label_stack
6993169689Skan	if it exists.
6994169689Skan	* ggc-callbacks.c (lang_mark_false_label_stack): Remove.
6995169689Skan	* ggc-common.c (lang_mark_false_label_stack): Change type.
6996169689Skan	* ggc.h (ggc_alloc_string): Add comment.
6997169689Skan	(ggc_strdup): New function.
6998169689Skan
6999169689SkanSat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru>
7000169689Skan
7001169689Skan	* config/avr/avr.h (BRANCH_COST): Define as 0.
7002169689Skan
7003169689Skan	* config/pdp11/pdp11.c: #include "tree.h" added.
7004169689Skan
7005169689Skan2000-09-30  Marek Michalkiewicz  <marekm@linux.org.pl>
7006169689Skan
7007169689Skan	* config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
7008169689Skan	ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
7009169689Skan	with known shift count.
7010169689Skan	* config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
7011169689Skan	New alternative for shift count 2 with no scratch register.
7012169689Skan	(ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
7013169689Skan	"set_n" for shift counts 1 and 2.
7014169689Skan
7015169689Skan2000-09-30  Geoff Keating  <geoffk@cygnus.com>
7016169689Skan
7017169689Skan	* config/rs6000/rs6000.md (movsi_to_cr): Remove the USE.  Calculate
7018169689Skan	the mask value from the individual SET operations.
7019169689Skan	(return_internal_si): Move the USE after the RETURN.
7020169689Skan	(return_internal_di): Likewise.
7021169689Skan	(return_and_restore_fpregs_si): Likewise.
7022169689Skan	(return_and_restore_fpregs_di): Likewise.
7023169689Skan	(return_eh_si): Likewise.
7024169689Skan	(return_eh_di): Likewise.
7025169689Skan	* config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
7026169689Skan	or check, the USE.
7027169689Skan	(rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
7028169689Skan	Don't generate a PARALLEL around a single operation movsi_to_cr.
7029169689Skan	Generate the RETURN first in any PARALLELs.
7030169689Skan
7031169689Skan	* rtlanal.c (single_set_1): Use fatal_insn to display the
7032169689Skan	invalid insn.  Check for more cases when a USE or CLOBBER occurs
7033169689Skan	before a SET.
7034169689Skan	* Makefile.in: Update dependencies for rtlanal.o.
7035169689Skan
7036169689Skan2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
7037169689Skan
7038169689Skan	* i386.c: Move include of "config.h" to before that of <setjmp.h>.
7039169689Skan
7040169689Skan2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
7041169689Skan
7042169689Skan	* c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
7043169689Skan	Consistently use @email for formatting email addresses.
7044169689Skan
7045169689Skan2000-09-29  Richard Henderson  <rth@cygnus.com>
7046169689Skan
7047169689Skan	* cse.c (notreg_cost): New argument outer.
7048169689Skan	(COST): Pass in SET to notreg_cost
7049169689Skan	(COST_IN): New.
7050169689Skan	(fold_rtx): Use COST_IN.  Prefer constants when costs
7051169689Skan	are the same.
7052169689Skan
7053169689Skan2000-09-29  David Edelsohn  <edelsohn@gnu.org>
7054169689Skan
7055169689Skan	* fixinc/inclhack.def (broken_cabs): Generalize regex.
7056169689Skan	* fixinc/fixincl.x: Regenerate.
7057169689Skan
7058169689Skan2000-09-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7059169689Skan
7060169689Skan	* loop.c (check_final_value): A GIV is not replaceable if used
7061169689Skan	before set.
7062169689Skan
7063169689SkanFri Sep 29 10:04:12 2000  Jeffrey A Law  (law@cygnus.com)
7064169689Skan
7065169689Skan	* version.c: Bump to gcc-2.97.
7066169689Skan
7067169689SkanFrs Sep 29 13:37:59 MET DST 2000  Jan Hubicka  <jh@suse.cz>
7068169689Skan
7069169689Skan	* final.c (final_scan_insn): Remove extra extract_insn call;
7070169689Skan	Use caching for constrain_operands.
7071169689Skan	(cleanup_subreg_operands): Use caching for extract_insn.
7072169689Skan	* recog.c (constrain_operands_cached): New.
7073169689Skan	* recog.h (constrain_operands_cached): Declare.
7074169689Skan	* i386.c (ix86_attr_length_immediate_default,
7075169689Skan	ix86_attr_length_address_default, ix86_agi_dependant): Cache
7076169689Skan	extract_insn call.
7077169689Skan
7078169689Skan	* recog.c (asm_noperands): Tweak.
7079169689Skan	(extract_insn): Do not call asm_noperads for non-asm instructions.
7080169689Skan
7081169689SkanFri Sep 29 13:20:42 MET DST 2000  Jan Hubicka  <jh@suse.cz>
7082169689Skan
7083169689Skan	* recog.c (recog_memoized): Rename to recog_memoized_1.
7084169689Skan	* recog.h (recog_memoized): Rename to recog_memoized_1.
7085169689Skan	(recog_memoized): New macro.
7086169689Skan	* rtl.h (single_set): Rename to single_set_1
7087169689Skan	(single_set): New macro.
7088169689Skan	* rtlanal.c (single_set): Rename to single_set_1;  expect clobbers
7089169689Skan	to be last.
7090169689Skan
7091169689Skan	* i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
7092169689Skan	Do not use match_dup of input operands at outputs.
7093169689Skan	Use register_operand for memory expression.
7094169689Skan	(rep_movsi): Put use last, canonicalize.
7095169689Skan	Use register_operand for memory expression.
7096169689Skan	(rep_movqi): Put use last.
7097169689Skan	Use register_operand for memory expression.
7098169689Skan	(strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
7099169689Skan	of input operands at outputs.  Use register_operand for memory
7100169689Skan	expression.
7101169689Skan	(rep_stossi): Put use last; canonicalize; fix match_dup in
7102169689Skan	the address expression
7103169689Skan	(rep_stosqi): Likewise.
7104169689Skan	(memcmp expander): Update calls.
7105169689Skan	(cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
7106169689Skan	the clobbers.
7107169689Skan
7108169689Skan	* i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
7109169689Skan	VOIDmode.
7110169689Skan	(fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.
7111169689Skan
7112169689Skan2000-09-28  David O'Brien  <obrien@FreeBSD.org>
7113169689Skan
7114169689Skan	* config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
7115169689Skan	Contains the old contents of config/i386/freebsd.h
7116169689Skan	* config/i386/freebsd.h: Now the ELF rather than a.out config file.
7117169689Skan	Contains the old contents of config/i386/freebsd-elf.h
7118169689Skan	* config/i386/freebsd-elf.h: Retire this file -- contents moved to
7119169689Skan	config/i386/freebsd.h.
7120169689Skan	* configure.in: Adjust for above changes.
7121169689Skan	* po/POTFILES.in: Likewise.
7122169689Skan	* po/en_GB.po: Likewise.
7123169689Skan	* po/gcc.pot: Likewise.
7124169689Skan	* configure: Rebuilt.
7125169689Skan
7126169689Skan2000-09-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7127169689Skan
7128169689Skan	* doloop.c (doloop_modify): Prevent delete_insn() from
7129169689Skan	deleting too much.  Prefer loop->top over loop->start as
7130169689Skan	target for the new JUMP insn.
7131169689Skan	(doloop_valid_p): Ignore loop with exit_count != 0.
7132169689Skan
7133169689Skan2000-09-28  Philipp Thomas  <pthomas@suse.de>
7134169689Skan
7135169689Skan	* invoke.texi (i386 Options): Add athlon to table of possible
7136169689Skan	choices for -mcpu=.
7137169689Skan
7138169689Skan2000-09-28  Gabriel Dos Reis  <gdr@codesourcery.com>
7139169689Skan
7140169689Skan	* diagnostic.h (output_clear_message_text): New function.
7141169689Skan	(output_message_text): New macro.
7142169689Skan
7143169689Skan	* diagnostic.c (clear_text_info): Rename to
7144169689Skan	output_clear_message_text.
7145169689Skan	(output_clear): Adjust.
7146169689Skan	(output_finish): Rename to output_finalize_message.  Tweek.
7147169689Skan	(output_to_stream): Adjust.
7148169689Skan
7149169689Skan2000-09-28  Neil Booth  <neilb@earthling.net>
7150169689Skan
7151169689Skan	* cpperror.c (_cpp_begin_message):  Do the test for suppression
7152169689Skan	of warnings and pedantic warnings before the "is a warning an
7153169689Skan	error" tests.
7154169689Skan	* cppinit.c (cpp_handle_option): Remove surplus \n.
7155169689Skan	* cpplex.c (ON_REST_ARG): Delete.
7156169689Skan	(skip_block_comment): Initialize prevc.
7157169689Skan	(parse_args): Improve error messages.
7158169689Skan	(maybe_paste_with_next): Use CONTEXT_VARARGS rather
7159169689Skan	than ON_REST_ARG.
7160169689Skan	* cpplib.c (cpp_push_buffer): Fix grammar in message.
7161169689Skan	* cppmain.c (main): Set callbacks for #ident and #pragma
7162169689Skan	only if no_output option is false.
7163169689Skan	(do_pragma_implementation): Only call the #pragma handler
7164169689Skan	if it is set in the cpp_reader structure.
7165169689Skan
7166169689SkanWed Sep 27 14:00:07 2000  Donald Lindsay  <dlindsay@cygnus.com>
7167169689Skan
7168169689Skan	* integrate.c (copy_insn_list): if an ignored return value
7169169689Skan	is being clobbered, skip cloning that into the inline copy.
7170169689Skan
7171169689Skan2000-09-27  Joseph S. Myers  <jsm28@cam.ac.uk>
7172169689Skan
7173169689Skan	* extend.texi, invoke.texi, gcc.texi, install.texi: Consistently
7174169689Skan	use @uref for formatting URLs.
7175169689Skan
7176169689Skan2000-09-27  Mark Elbrecht  <snowball3@bigfoot.com>
7177169689Skan
7178169689Skan	* config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
7179169689Skan	name and prefix.
7180169689Skan
7181169689SkanTue 26-Sep-2000 18:25:38 BST  Neil Booth  <neilb@earthling.net>
7182169689Skan
7183169689Skan	* gcc.c (cpp_options): Add spec for -ftabstop=.
7184169689Skan	(invoke_as): New spec that handles invoking as.
7185169689Skan	Update specs to handle -save-temps and -traditional.
7186169689Skan	* ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
7187169689Skan	Use invoke_as.
7188169689Skan	* cp/lang-specs.h, objc/lang-specs.h: Update to use
7189169689Skan	invoke_as, and handle -save-temps and -traditional (if
7190169689Skan	appropriate).
7191169689Skan
7192169689Skan2000-09-26  Jakub Jelinek  <jakub@redhat.com>
7193169689Skan
7194169689Skan	* config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
7195169689Skan	op0 is a SUBREG.
7196169689Skan	(function_arg_slotno): Accept TImode/CTImode.
7197169689Skan	* config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
7198169689Skan	to UNITS_PER_WORD.
7199169689Skan
7200169689Skan2000-09-26  Michael Hayes  <mhayes@cygnus.com>
7201169689Skan
7202169689Skan	* flow.c (flow_loop_pre_header_scan): Punt if loop enters
7203169689Skan	from entry block.
7204169689Skan
7205169689Skan2000-09-25  Jim Wilson  <wilson@cygnus.com>
7206169689Skan
7207169689Skan	* config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
7208169689Skan	(REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
7209169689Skan	(LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
7210169689Skan	(REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.
7211169689Skan
7212169689SkanTue 26-Sep-2000 00:16:22 BST  Neil Booth  <neilb@earthling.net>
7213169689Skan
7214169689Skan	* cpplex.c (parse_args): Don't set VOID_REST flag.
7215169689Skan	(CONTEXT_VARARGS): New flag.
7216169689Skan	(maybe_paste_with_next): Set context earlier in loop.  Use
7217169689Skan	it.  Do varargs test with CONTEXT_VARARGS flag.
7218169689Skan	(push_arg_context): Set CONTEXT_VARARGS flag if we're
7219169689Skan	pushing an argument context for a varargs argument.
7220169689Skan	* cpplib.h (VOID_REST): Delete.
7221169689Skan	* gcc.dg/cpp/vararg1.c: Add test case.
7222169689Skan
7223169689Skan2000-09-25  Branko Cibej  <branko.cibej@hermes.si>
7224169689Skan
7225169689Skan	* flags.h:  Declare warning flag warn_system_headers.
7226169689Skan	* toplev.c:  Define it.
7227169689Skan	(W_options): Add option -Wsystem-headers.
7228169689Skan	* diagnostic.c (count_error): Test warn_system_headers.
7229169689Skan	* invoke.texi:  Add description for -Wsystem-headers.
7230169689Skan	* cpplib.h (cpp_options): New member warn_system_headers.
7231169689Skan	* cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
7232169689Skan	CPP_IN_SYSTEM_HEADER.
7233169689Skan	* cpplib.c (do_import, do_pragma_once): Likewise.
7234169689Skan	* cpperror.c (_cpp_begin_message): Test warn_system_headers
7235169689Skan	and CPP_IN_SYSTEM_HEADER.
7236169689Skan	* cppinit.c (handle_option): Recognize -Wsystem_headers.
7237169689Skan	(print_help): Describe -Wsystem_headers.
7238169689Skan	* cpplex.c (lex_line): Reorganize condition so that warnings
7239169689Skan	about C++ comments in system headers can be enabled. Remove
7240169689Skan	label do_line_comment.
7241169689Skan
7242169689SkanMon 25-Sep-2000 23:38:27 BST  Neil Booth  <neilb@earthling.net>
7243169689Skan
7244169689Skan	* cpplex.c (save_comment): Only store the initial '/'
7245169689Skan	now.
7246169689Skan	(lex_token): Combine handling of the two comment types.
7247169689Skan	Pass everything but the initial '/' to save_comment.
7248169689Skan
7249169689SkanMon 25-Sep-2000 23:31:45 BST  Neil Booth  <neilb@earthling.net>
7250169689Skan
7251169689Skan	* cpphash.h (_cpp_digraph_spellings, _cpp_process_directive,
7252169689Skan	_cpp_can_paste): New library-internal prototypes.
7253169689Skan	* cpplex.c (dump_param_spelling, output_line_command,
7254169689Skan	output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput,
7255169689Skan	cpp_printf, cpp_output_list): Move to cppoutput.c.
7256169689Skan	(process_directive, can_paste, digraph_spellings): Add _cpp_ prefix.
7257169689Skan	* cppmacro.c (dump_macro_args, cpp_dump_definition) Move to
7258169689Skan	cppoutput.c.
7259169689Skan	* cppoutput.c (dump_macro_args, cpp_dump_definition, output_token,
7260169689Skan	dump_param_spelling, output_line_command, cpp_scan_buffer,
7261169689Skan	cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved
7262169689Skan	from elsewhere.
7263169689Skan	* Makefile.in: Add cppoutput.c.
7264169689Skan	* po/POTFILES.in: Add cppoutput.c.
7265169689Skan
7266169689Skan2000-09-25  Richard Henderson  <rth@cygnus.com>
7267169689Skan
7268169689Skan	* config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n.
7269169689Skan	* config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't
7270169689Skan	split until after reload.
7271169689Skan	(rotlsi3, rotldi3): New.
7272169689Skan
7273169689Skan2000-09-25  Gabriel Dos Reis  <gdr@codesourcery.com>
7274169689Skan
7275169689Skan	* diagnostic.c (output_last_position): Define.
7276169689Skan	(set_real_maximum_length): Tweek.
7277169689Skan	* diagnostic.h (output_last_position): Declare.
7278169689Skan
7279169689Skan2000-09-25  Kazu Hirata  <kazu@hxi.com>
7280169689Skan
7281169689Skan	* config/i386/i386.c: Fix formatting.
7282169689Skan
7283169689Skan2000-09-24  Alan Lehotsky  <alehotsky@cygnus.com>
7284169689Skan
7285169689Skan	* emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when
7286169689Skan	UNITS_PER_WORD is small.
7287169689Skan
7288169689Skan2000-09-25  Joseph S. Myers  <jsm28@cam.ac.uk>
7289169689Skan
7290169689Skan	* c-common.c (format_char_info): Add flags2; update comments.
7291169689Skan	(print_char_table, scan_char_table, time_char_table): Split some
7292169689Skan	flags out into flags2.
7293169689Skan	(check_format_info): Use flags2 for those flags, for identifying
7294169689Skan	the initial character of a scanf scanset, and for identifying
7295169689Skan	printf formats where the '0' flag is ignored with precision.
7296169689Skan
7297169689Skan2000-09-25  Hans-Peter Nilsson  <hp@axis.com>
7298169689Skan
7299169689Skan	Changes below marked "here" add TABs on either or both sides,
7300169689Skan	covering start of line, up to any operand for all noted .*ASM.*_OP
7301169689Skan	definitions.  All callers changed.
7302169689Skan	* tm.texi: Make documented *_ASM.*_OP:s include spacing
7303169689Skan	(TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP,
7304169689Skan	BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
7305169689Skan	ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
7306169689Skan	ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP).
7307169689Skan	Fix typos in description for LONG_LONG_TYPE_SIZE and
7308169689Skan	FINI_SECTION_ASM_OP.
7309169689Skan	* crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain
7310169689Skan	why these defaults don't have leading spacing.
7311169689Skan	* dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here.
7312169689Skan	* dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7313169689Skan	UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here.
7314169689Skan	* dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP,
7315169689Skan	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP,
7316169689Skan	PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here.
7317169689Skan	* defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here.
7318169689Skan	* varasm.c (ASM_STABS_OP): Here.
7319169689Skan	* xcoffout.h (ASM_STABS_OP): Here.
7320169689Skan	* config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
7321169689Skan	SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
7322169689Skan	INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP,
7323169689Skan	STRING_ASM_OP): Here.
7324169689Skan	* config/freebsd.h (IDENT_ASM_OP): Here.
7325169689Skan	* config/linux-aout.h (SET_ASM_OP): Here.
7326169689Skan	* config/linux.h (SET_ASM_OP): Here.
7327169689Skan	* config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
7328169689Skan	INT_ASM_OP): Here.
7329169689Skan	* config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
7330169689Skan	* config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here.
7331169689Skan	* config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
7332169689Skan	* config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
7333169689Skan	INT_ASM_OP): Here.
7334169689Skan	* config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
7335169689Skan	SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
7336169689Skan	INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP,
7337169689Skan	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
7338169689Skan	FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here.
7339169689Skan	* config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
7340169689Skan	CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here.
7341169689Skan	* config/a29k/udi.h (INT_ASM_OP): Here.
7342169689Skan	* config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP,
7343169689Skan	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
7344169689Skan	SET_ASM_OP): Here.
7345169689Skan	* config/alpha/alpha.h (TEXT_SECTION_ASM_OP,
7346169689Skan	READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7347169689Skan	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7348169689Skan	UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP,
7349169689Skan	ASM_STABD_OP): Here.
7350169689Skan	* config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP,
7351169689Skan	COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP,
7352169689Skan	CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
7353169689Skan	BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
7354169689Skan	INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP,
7355169689Skan	SIZE_ASM_OP, STRING_ASM_OP): Here.
7356169689Skan	* config/alpha/vms.h (LINK_SECTION_ASM_OP,
7357169689Skan	READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP,
7358169689Skan	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here.
7359169689Skan	* config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here.
7360169689Skan	(PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT.
7361169689Skan	* config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP):
7362169689Skan	Here.
7363169689Skan	* config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7364169689Skan	BSS_SECTION_ASM_OP, SET_ASM_OP): Here.
7365169689Skan	* config/arm/coff.h (INT_ASM_OP): Here.
7366169689Skan	* config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here.
7367169689Skan	* config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here.
7368169689Skan	* config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP,
7369169689Skan	INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here.
7370169689Skan	* config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here.
7371169689Skan	* config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7372169689Skan	ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP,
7373169689Skan	STRING_ASM_OP): Here.  Update documentation copy in comments.
7374169689Skan	* config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here.
7375169689Skan	* config/clipper/clipper.h (TEXT_SECTION_ASM_OP,
7376169689Skan	DATA_SECTION_ASM_OP): Here.
7377169689Skan	* config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP):
7378169689Skan	Here.
7379169689Skan	* config/convex/convex.h (TEXT_SECTION_ASM_OP,
7380169689Skan	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
7381169689Skan	* config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7382169689Skan	BSS_SECTION_ASM_OP): Here.
7383169689Skan	* config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7384169689Skan	BSS_SECTION_ASM_OP): Here.
7385169689Skan	* config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
7386169689Skan	Here.
7387169689Skan	* config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP,
7388169689Skan	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
7389169689Skan	* config/h8300/h8300.h (ASM_WORD_OP): Here.
7390169689Skan	* config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7391169689Skan	BSS_SECTION_ASM_OP): Here.
7392169689Skan	* config/i386/aix386.h (INIT_SECTION_ASM_OP): Here.
7393169689Skan	* config/i386/bsd.h (ASM_BYTE_OP): Here.
7394169689Skan	* config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here.
7395169689Skan	* config/i386/dgux.h (CONST_SECTION_ASM_OP): Here.
7396169689Skan	* config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP):
7397169689Skan	Here.
7398169689Skan	* config/i386/freebsd-elf.h (SET_ASM_OP): Here.
7399169689Skan	* config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP):
7400169689Skan	Here.
7401169689Skan	* config/i386/i386-coff.h (CTORS_SECTION_ASM_OP,
7402169689Skan	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
7403169689Skan	* config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP,
7404169689Skan	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
7405169689Skan	SET_ASM_OP): Here.
7406169689Skan	* config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here.
7407169689Skan	* config/i386/netbsd.h (INT_ASM_OP): Here.
7408169689Skan	* config/i386/openbsd.h (INT_ASM_OP): Here.
7409169689Skan	* config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP,
7410169689Skan	IDENT_ASM_OP): Here.
7411169689Skan	* config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP,
7412169689Skan	ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP,
7413169689Skan	LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP,
7414169689Skan	SKIP_ASM_OP, GLOBAL_ASM_OP): Here.
7415169689Skan	* config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP,
7416169689Skan	SHARED_BSS_SECTION_ASM_OP): Here.
7417169689Skan	* config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here.
7418169689Skan	* config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
7419169689Skan	DATA_SECTION_ASM_OP): Here.
7420169689Skan	* config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
7421169689Skan	CONST_SECTION_ASM_OP): Here.
7422169689Skan	* config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here.
7423169689Skan	* config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7424169689Skan	BSS_SECTION_ASM_OP): Here.
7425169689Skan	* config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here.
7426169689Skan	* config/i860/bsd.h (ASCII_DATA_ASM_OP): Here.
7427169689Skan	* config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP,
7428169689Skan	BSS_ASM_OP): Here, but use trailing spaces.
7429169689Skan	* config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
7430169689Skan	DATA_SECTION_ASM_OP): Here.
7431169689Skan	* config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP):
7432169689Skan	Here.
7433169689Skan	* config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP,
7434169689Skan	DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here.
7435169689Skan	* config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
7436169689Skan	TDESC_SECTION_ASM_OP): Here.
7437169689Skan	* config/i960/i960-coff.h (CTORS_SECTION_ASM_OP,
7438169689Skan	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
7439169689Skan	* config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
7440169689Skan	Here.
7441169689Skan	* config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7442169689Skan	BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
7443169689Skan	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7444169689Skan	UNALIGNED_DOUBLE_INT_ASM_OP): Here.
7445169689Skan	* config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP,
7446169689Skan	COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP,
7447169689Skan	FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
7448169689Skan	SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here.
7449169689Skan	* config/m32r/m32r.h (SCOMMON_ASM_OP): Here.
7450169689Skan	* config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here.
7451169689Skan	* config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
7452169689Skan	SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
7453169689Skan	SET_ASM_OP): Here.
7454169689Skan	* config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
7455169689Skan	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
7456169689Skan	* config/m68k/crds.h (BSS_SECTION_ASM_OP): Here.
7457169689Skan	* config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here.
7458169689Skan	* config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here.
7459169689Skan	* config/m68k/linux.h (BSS_SECTION_ASM_OP): Here.
7460169689Skan	* config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here.
7461169689Skan	* config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7462169689Skan	GLOBAL_ASM_OP): Here.
7463169689Skan	* config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP,
7464169689Skan	BSS_SECTION_ASM_OP): Here.
7465169689Skan	* config/m68k/m68kv4.h (BSS_ASM_OP): Here.
7466169689Skan	* config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7467169689Skan	ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP,
7468169689Skan	DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP,
7469169689Skan	SKIP_ASM_OP): Here.
7470169689Skan	* config/m68k/newsgas.h (SET_ASM_OP): Here.
7471169689Skan	* config/m68k/rtemself.h (INIT_SECTION_ASM_OP,
7472169689Skan	FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
7473169689Skan	* config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
7474169689Skan	SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
7475169689Skan	SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here,
7476169689Skan	but use trailing spaces.
7477169689Skan	* config/m68k/tower-as.h (TEXT_SECTION_ASM_OP,
7478169689Skan	DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP,
7479169689Skan	FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP):
7480169689Skan	Here.
7481169689Skan	* config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
7482169689Skan	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
7483169689Skan	* config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7484169689Skan	CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
7485169689Skan	DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
7486169689Skan	IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP,
7487169689Skan	GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP,
7488169689Skan	BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP,
7489169689Skan	CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP,
7490169689Skan	SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP,
7491169689Skan	VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7492169689Skan	PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP,
7493169689Skan	ASM_BYTE_OP): Here.
7494169689Skan	* config/m88k/openbsd.h (SET_ASM_OP): Here.
7495169689Skan	* config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
7496169689Skan	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
7497169689Skan	* config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP,
7498169689Skan	UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP,
7499169689Skan	DTORS_SECTION_ASM_OP): Here.
7500169689Skan	* config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP,
7501169689Skan	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
7502169689Skan	* config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP,
7503169689Skan	BSS_SECTION_ASM_OP): Here.
7504169689Skan	* config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here.
7505169689Skan	* config/mips/iris5.h (ABICALLS_ASM_OP): Here.
7506169689Skan	* config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP,
7507169689Skan	POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32,
7508169689Skan	CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP,
7509169689Skan	DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
7510169689Skan	* config/mips/mips.c (ABICALLS_ASM_OP): Here.
7511169689Skan	* config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP):
7512169689Skan	Here.
7513169689Skan	* config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP):
7514169689Skan	Here.
7515169689Skan	* config/mips/osfrose.h (SET_ASM_OP): Here.
7516169689Skan	* config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here.
7517169689Skan	* config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here.
7518169689Skan	* config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here.
7519169689Skan	* config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
7520169689Skan	Here.
7521169689Skan	* config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here.
7522169689Skan	* config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here.
7523169689Skan	* config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here.
7524169689Skan	* config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here.
7525169689Skan	* config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here.
7526169689Skan	* config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
7527169689Skan	Here.
7528169689Skan	* config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
7529169689Skan	Here.
7530169689Skan	* config/rs6000/rs6000.h (SET_ASM_OP): Here.
7531169689Skan	* config/rs6000/sol2.h (ASM_STABN_OP): Here.
7532169689Skan	* config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP):
7533169689Skan	Here.
7534169689Skan	* config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP,
7535169689Skan	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here.
7536169689Skan	* config/sparc/linux.h (COMMON_ASM_OP): Here.
7537169689Skan	* config/sparc/linux64.h (COMMON_ASM_OP,
7538169689Skan	UNALIGNED_DOUBLE_INT_ASM_OP): Here.
7539169689Skan	* config/sparc/litecoff.h (BSS_SECTION_ASM_OP,
7540169689Skan	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
7541169689Skan	* config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here.
7542169689Skan	* config/sparc/pbd.h (ASM_INT_OP): Here.
7543169689Skan	* config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here.
7544169689Skan	* config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
7545169689Skan	DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here.
7546169689Skan	* config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP,
7547169689Skan	UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here.
7548169689Skan	* config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP,
7549169689Skan	UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP,
7550169689Skan	UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP,
7551169689Skan	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7552169689Skan	CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
7553169689Skan	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
7554169689Skan	EH_FRAME_SECTION_ASM_OP): Here.
7555169689Skan	* config/sparc/vxsim.h (COMMON_ASM_OP): Here.
7556169689Skan	* config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
7557169689Skan	Here.
7558169689Skan	* config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
7559169689Skan	Here.
7560169689Skan	* config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP,
7561169689Skan	TCOMMON_ASM_OP): Here.
7562169689Skan	* config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
7563169689Skan	Here.
7564169689Skan	* config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7565169689Skan	ASM_BYTE_OP): Here.
7566169689Skan
7567169689Skan2000-09-25  Richard Henderson  <rth@cygnus.com>
7568169689Skan
7569169689Skan	* expmed.c (store_bit_field): Adjust last change to not consider
7570169689Skan	any word-sized field naturally aligned.
7571169689Skan
7572169689Skan2000-09-24  Richard Henderson  <rth@cygnus.com>
7573169689Skan
7574169689Skan	* config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
7575169689Skan	TFmode unordered compares properly.  Revalidate integer compare
7576169689Skan	operands.
7577169689Skan	(alpha_emit_setcc): New.
7578169689Skan	(alpha_emit_conditional_move): Revalidate integer compare operands.
7579169689Skan	* config/alpha/alpha-protos.h: Update.
7580169689Skan	* config/alpha/alpha.md (cmpdi): Allow general operands.
7581169689Skan	(sne): Use alpha_emit_setcc.
7582169689Skan	(seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise.
7583169689Skan	(sunordered, sordered): New.
7584169689Skan
7585169689Skan2000-09-24  Richard Henderson  <rth@cygnus.com>
7586169689Skan
7587169689Skan	* config/ia64/ia64-protos.h: Update.
7588169689Skan	* config/ia64/ia64.c (call_multiple_values_operation): Remove.
7589169689Skan	(ia64_expand_call): New.
7590169689Skan	(ia64_expand_prologue): Emit an alloc if we need extra input
7591169689Skan	registers.
7592169689Skan	(ia64_expand_epilogue): New arg sibcall_p; don't emit the return
7593169689Skan	instruction if true.
7594169689Skan	(struct reg_flags): Add is_sibcall.
7595169689Skan	(rtx_needs_barrier): A sibcall does not use CFM et al.  Ignore USEs.
7596169689Skan	(emit_insn_group_barriers): Set flags.is_sibcall.  Remove hacks
7597169689Skan	for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal.
7598169689Skan	* config/ia64/ia64.h (PREDICATE_CODES): Update.
7599169689Skan	* config/ia64/ia64.md (call): Use ia64_expand_call.
7600169689Skan	(call_value): Likewise.
7601169689Skan	(sibcall, sibcall_value): New.
7602169689Skan	(call patterns): Remove extra expanders; tidy.
7603169689Skan	(sibcall_epilogue): New.
7604169689Skan	(set_bsp): Remove the extra USE.  Put the operand inside the UNSPEC.
7605169689Skan
7606169689Skan2000-09-24  Richard Henderson  <rth@cygnus.com>
7607169689Skan
7608169689Skan	* emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode.
7609169689Skan
7610169689Skan	* sibcall.c (skip_pic_restore): New.
7611169689Skan	(identify_call_return_value): Use it.
7612169689Skan
7613169689Skan2000-09-24  Mark Mitchell  <mark@codesourcery.com>
7614169689Skan
7615169689Skan	* c-tree.texi: Moved here from cp/ir.texi.  Documented nested
7616169689Skan	functions.  Generalize to handle both C and C++.
7617169689Skan	* Makefile.in (c-tree.info): New target.
7618169689Skan	(info): Add c-tree.info.
7619169689Skan
7620169689SkanSun Sep 24 09:15:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7621169689Skan
7622169689Skan	* expr.c (store_field): If BITSIZE is negative, use size of type.
7623169689Skan	(expand_expr, case COMPONENT_EXPR): Likewise.
7624169689Skan
7625169689SkanSun 24-Sep-2000 11:40:23 BST  Neil Booth  <NeilB@earthling.net>
7626169689Skan
7627169689Skan	* cpplex.c: Update TODO comment.
7628169689Skan	* cpplib.c (do_error, do_warning): Merge common code of
7629169689Skan	do_error and do_warning	into do_diagnostic.  Use it.
7630169689Skan	(do_diagnostic): New function.
7631169689Skan	* cpplib.h: Fix comment typo.
7632169689Skan
7633169689Skan2000-09-24  Joseph S. Myers  <jsm28@cam.ac.uk>
7634169689Skan
7635169689Skan	* c-common.c (check_format_info): Warn for a wide character string
7636169689Skan	used as a non-wide format argument.
7637169689Skan
7638169689Skan2000-09-24  Joseph S. Myers  <jsm28@cam.ac.uk>
7639169689Skan
7640169689Skan	* builtins.def (BUILT_IN_LLABS): Add.
7641169689Skan	* builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS.
7642169689Skan	* c-common.c (c_common_nodes_builtins): Create builtin functions
7643169689Skan	__builtin_llabs, and plain llabs unless no_nonansi_builtins
7644169689Skan	outside of C99 mode.
7645169689Skan	(expand_tree_builtin): Handle BUILT_IN_LLABS.
7646169689Skan
7647169689SkanSat 23-Sep-2000 22:39:18 BST  Neil Booth  <NeilB@earthling.net>
7648169689Skan
7649169689Skan	* cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q,
7650169689Skan	CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete.
7651169689Skan	* cpplex.c (_cpp_expand_token_space, _cpp_init_toklist,
7652169689Skan	_cpp_free_toklist): No need to worry about extra dummy token
7653169689Skan	at the start of token lists any more.
7654169689Skan	(trigraph_ok): Only warn outside comments.
7655169689Skan	(skip_block_comment): Set and clear lexing_comment.
7656169689Skan	(skip_line_comment): Take a cpp_reader not cpp_buffer.
7657169689Skan	Set and clear lexing_comment.
7658169689Skan	(parse_number): Handle leading '.' indicated by pfile->seen_dot.
7659169689Skan	(check_long_token): Delete.
7660169689Skan	(lex_percent, lex_dot): New subroutines of lex_token to
7661169689Skan	handle lexing of '.' and '%' without lookback.
7662169689Skan	(lex_token): Use lex_dot and lex_percent.
7663169689Skan	(lex_line): Don't check for LIST_OFFSET.
7664169689Skan	(_cpp_init_input_buffer): Update for new _cpp_init_toklist.
7665169689Skan	* cpplib.c (_cpp_parse_assertion): Similarly.
7666169689Skan	(cpp_push_buffer): Initialize extra_char.
7667169689Skan	* cpplib.h (LIST_OFFSET): Delete.
7668169689Skan	(struct cpp_buffer): New member extra_char.
7669169689Skan	(struct lexer_state): New members lexing_comment and seen_dot.
7670169689Skan
7671169689Skan2000-09-23  Jason Merrill  <jason@redhat.com>
7672169689Skan
7673169689Skan	* config/rs6000/x-aix41 (CLIB): Define here.
7674169689Skan	* config/rs6000/t-aix43: Not here.
7675169689Skan	* config/rs6000/t-aix41: Or here.  Remove.
7676169689Skan	* configure.in: Don't use it.
7677169689Skan
7678169689Skan2000-09-22  Jason Merrill  <jason@redhat.com>
7679169689Skan
7680169689Skan	* configure.in: Add test for HAVE_LD_DWARF_LINKONCE.
7681169689Skan	* toplev.c: Use it to initialize flag_eliminate_dwarf2dups.
7682169689Skan	* config.in: Regenerate.
7683169689Skan
7684169689Skan	* configure.in: Fix checks for assembler features when using a
7685169689Skan	one-tree assembler that has not yet been built.
7686169689Skan	Fix --disable-threads.
7687169689Skan
7688169689Skan2000-09-19  Geoff Keating  <geoffk@cygnus.com>
7689169689Skan
7690169689Skan	* stmt.c (expand_asm_operands): Allow # in constraints.
7691169689Skan
7692169689Skan2000-09-22  Jason Merrill  <jason@redhat.com>
7693169689Skan
7694169689Skan	* c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
7695169689Skan
7696169689Skan	* dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
7697169689Skan	function-local names.
7698169689Skan
7699169689Skan2000-09-22  Brad Lucier <lucier@math.purdue.edu>
7700169689Skan	    Mark Mitchell  <mark@codesourcery.com>
7701169689Skan
7702169689Skan	* toplev.c (warn_disabled_optimization): Declare new warning flag.
7703169689Skan	* flags.h (warn_disabled_optimization): Add it here.
7704169689Skan	* gcse.c (gcse_main): Add warning when disabled.
7705169689Skan	* invoke.texi: Document -Wdisabled-optimization.
7706169689Skan
7707169689Skan2000-09-21  Jason Merrill  <jason@redhat.com>
7708169689Skan
7709169689Skan	* dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
7710169689Skan
7711169689Skan	* dwarf2out.c (tree_add_const_value_attribute): New fn.
7712169689Skan	(gen_variable_die): Call it for non-definitions.
7713169689Skan
7714169689Skan	* dwarf2out.c (die_struct): Add die_mark field.
7715169689Skan	(mark_dies, unmark_dies): New fns.
7716169689Skan	(clear_die_sizes): Remove.
7717169689Skan	(print_die): Check die_symbol rather than die_offset.
7718169689Skan	(build_abbrev_table, output_pubnames, output_aranges): Check
7719169689Skan	die_mark rather than die_offset.
7720169689Skan	(output_comp_unit): Move calc_die_sizes after build_abbrev_table.
7721169689Skan	Call mark_dies.
7722169689Skan
7723169689SkanThu 21-Sep-2000 18:19:05 BST  Neil Booth  <NeilB@earthling.net>
7724169689Skan
7725169689Skan	* cppfiles.c (lookup_include_file): Rename to open_file.
7726169689Skan	Always create a splay tree value, even on syscall failures.
7727169689Skan	Negative entries indicated by fd == -2.
7728169689Skan	Re-open files closed in the meantime.
7729169689Skan	(_cpp_fake_include): Create a negative splay tree entry.
7730169689Skan	(find_include_file, cpp_read_file): Update for function name
7731169689Skan	change.
7732169689Skan	* gcc.gd/cpp/mi4.c: Testcase.
7733169689Skan
7734169689Skan2000-09-21  Nick Clifton  <nickc@redhat.com>
7735169689Skan
7736169689Skan	* config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
7737169689Skan	ARM and THUMB modes.
7738169689Skan
7739169689Skan	* config/mcore/mcore.c: Fix compile time warnings.
7740169689Skan	* config/mcore/mcore-protos.h: Fix compile time warnings.
7741169689Skan
7742169689Skan2000-09-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
7743169689Skan
7744169689Skan	* configure.in: Correct test of gcc_cv_glibc.
7745169689Skan	* configure: Rebuilt.
7746169689Skan	* config.in: Rebuilt.
7747169689Skan
7748169689Skan2000-09-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7749169689Skan
7750169689Skan	* builtins.c (expand_builtin_fputs): Also expand when length!=1.
7751169689Skan	(expand_builtin): Handle BUILT_IN_FWRITE.
7752169689Skan
7753169689Skan	* builtins.def (BUILT_IN_FWRITE): New entry.
7754169689Skan
7755169689Skan	* c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite.
7756169689Skan
7757169689SkanWed Sep 20 15:39:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7758169689Skan
7759169689Skan	* gcc.c (modify_target): New variable and struct.
7760169689Skan	(process_command): Handle MODIFY_TARGET_NAME.
7761169689Skan	* tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro.
7762169689Skan	* config/pa/pa.h (MODIFY_TARGET_NAME): New macro.
7763169689Skan
7764169689Skan	* c-decl.c (finish_decl): Add else's to avoid referencing
7765169689Skan	TYPE_DOMAIN of an ERROR_MARK.
7766169689Skan
7767169689SkanWed Sep 20 21:44:31 2000  Denis Chertykov  <denisc@overta.ru>
7768169689Skan
7769169689Skan	* config/avr/avr.c (adjust_insn_length): Adjust lengths of
7770169689Skan	`reload_in*' insns.
7771169689Skan
7772169689Skan2000-09-19  Marek Michalkiewicz  <marekm@linux.org.pl>
7773169689Skan
7774169689Skan	* config/avr/avr.md (neghi2): Add alternative for input and output
7775169689Skan	operands in different registers, as in negsi2.
7776169689Skan	(*negsi2): Remove '*' from the name.  Use "movw" if available.
7777169689Skan
7778169689Skan2000-09-19  Jim Wilson  <wilson@cygnus.com>
7779169689Skan
7780169689Skan	* config/ia64/crtbegin.asm (__dso_handle): Delete use of
7781169689Skan	HAVE_GAS_HIDDEN macro.
7782169689Skan
7783169689SkanTue 19-Sep-2000 22:38:57 BST  Neil Booth  <NeilB@earthling.net>
7784169689Skan
7785169689Skan	* cpplex.c (lex_line): Drop the EOF token for unknown
7786169689Skan	directives in assembler.
7787169689Skan
7788169689Skan2000-09-19  David Edelsohn  <edelsohn@gnu.org>
7789169689Skan
7790169689Skan	* configure.in: Allow enable_threads_flag value of "aix".  Define
7791169689Skan	thread_file as "aix" for AIX 4.3 and above.
7792169689Skan	* configure: Regenerated.
7793169689Skan
7794169689Skan	* gthr-aix.h: New file.
7795169689Skan
7796169689Skan	* rs6000/t-aix43: Replace soft-float multilib with pthread.
7797169689Skan	Remove 403 processor multilib match.  Fix rios2 processor multilib
7798169689Skan	match.
7799169689Skan
7800169689Skan	* rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
7801169689Skan	to return to appropriate csect.
7802169689Skan
7803169689Skan2000-09-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7804169689Skan
7805169689Skan	* builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
7806169689Skan	functions.
7807169689Skan	(expand_builtin_fputs): Set `target' parameter for `expand_expr'.
7808169689Skan	(expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
7809169689Skan	BUILT_IN_PRINTF.
7810169689Skan
7811169689Skan	* builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
7812169689Skan	New entries.
7813169689Skan
7814169689Skan	* c-common.c (init_function_format_info): Handle __builtin_printf.
7815169689Skan	Set `check_function_format_ptr'.
7816169689Skan	(c_common_nodes_and_builtins): Set `puts_ftype' and
7817169689Skan	`printf_ftype'.  Declare __builtin_putchar, __builtin_puts,
7818169689Skan	__builtin_printf and printf.
7819169689Skan
7820169689Skan	* tree.c, tree.h (check_function_format_ptr): Declare.
7821169689Skan
7822169689SkanTue 19-Sep-2000 18:26:57 BST  Neil Booth  <NeilB@earthling.net>
7823169689Skan
7824169689Skan	* cppfiles.c (read_include_file): Take no special action for
7825169689Skan	zero-length files.
7826169689Skan
7827169689Skan2000-09-19  Bernd Schmidt  <bernds@redhat.co.uk>
7828169689Skan
7829169689Skan	* final.c (insn_current_reference_address): Use INSN_SHUID of seq
7830169689Skan	rather than that of branch.
7831169689Skan	(shorten_branches): Don't increment insn_current_address twice.
7832169689Skan
7833169689Skan	Undo most of the Wed Jan 27 23:39:53 1999 patch:
7834169689Skan	* loop.h (struct induction): Delete members derived, ix and last_use.
7835169689Skan	(struct loop_ivs): Delete members first_increment_giv and
7836169689Skan	last_increment_giv.
7837169689Skan	* loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats,
7838169689Skan	recombine_givs): Delete functions.
7839169689Skan	(find_and_verify_loops): Don't initialize cont_dominator.
7840169689Skan	(strength_reduce): Lose code to try to find bivs that can be
7841169689Skan	expressed as givs of another biv, and to convert biv increments
7842169689Skan	into givs.
7843169689Skan	Lose loop_scan_start variable, always use loop->scan_start.
7844169689Skan	Don't call recombine_givs.  Don't handle derived givs.
7845169689Skan	(record_giv): Don't initialize derived and last_use fields.
7846169689Skan	(biv_eliminiation_giv_has_0_offset): Lose code to handle derived
7847169689Skan	givs.
7848169689Skan	* unroll.c (derived_regs): Delete static variable.
7849169689Skan	(unroll_loop): Don't initialize it.
7850169689Skan	(copy_loop_body): Lose code to handle derived givs.
7851169689Skan	(find_splittable_givs): Don't check for givs made from biv
7852169689Skan	increments.
7853169689Skan	Don't set derived_regs.
7854169689Skan
7855169689Skan	Fix misapplied earlier patch:
7856169689Skan	* config/sh/sh.md (floatsisf_ie): Reenable.  Remove explicit reference
7857169689Skan	to fpul.
7858169689Skan	(floatsisf2): Generate floatsisf_ie by default.
7859169689Skan	(floatsisf_i4): Conditional on TARGET_SH4.
7860169689Skan
7861169689Skan	(floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand
7862169689Skan	predicate for the expanders.
7863169689Skan
7864169689Skan2000-09-19  Richard Henderson  <rth@cygnus.com>
7865169689Skan
7866169689Skan	* config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
7867169689Skan	in addition to pentium and pentiumpro symbols.
7868169689Skan	(CPP_CPU_DEFAULT_SPEC): Likewise.
7869169689Skan
7870169689Skan	* c-typeck.c (c_expand_asm_operands): Restore the output tree
7871169689Skan	after expanding.
7872169689Skan
7873169689Skan	* stmt.c (expand_expr_stmt): Only call warn_if_unused_value
7874169689Skan	if the tree has side effects.
7875169689Skan	(warn_if_unused_value): Do not warn about void constructs.
7876169689Skan
7877169689Skan	* c-decl.c (poplevel): Invoke warn_about_unused_variables.
7878169689Skan
7879169689Skan	* unroll.c (copy_loop_body): Update LABEL_NUSES before
7880169689Skan	calling invert_jump.
7881169689Skan
7882169689Skan2000-09-18  Geoff Keating  <geoffk@cygnus.com>
7883169689Skan
7884169689Skan	* combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
7885169689Skan	into anything.
7886169689Skan
7887169689Skan2000-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7888169689Skan
7889169689Skan	* Makefile.in (c-common.o): Depend on diagnostic.h.
7890169689Skan
7891169689Skan	* c-common.c: Include diagnostic.h.
7892169689Skan	(tfaff): Delete.
7893169689Skan	(status_warning): New function.
7894169689Skan	(check_format_info, maybe_read_dollar_number, check_format_types,
7895169689Skan	finish_dollar_format_checking, check_function_format): Accept a
7896169689Skan	`status' parameter.  All callers changed.
7897169689Skan
7898169689Skan	* c-common.h (check_function_format): Accept a `status' parameter.
7899169689Skan
7900169689Skan	* c-typeck.c: Update call to `check_function_format'.
7901169689Skan
7902169689Skan2000-09-18  Richard Henderson  <rth@cygnus.com>
7903169689Skan
7904169689Skan	* c-decl.c (c_expand_body): Call mark_varargs before
7905169689Skan	expand_function_start.
7906169689Skan
7907169689Skan2000-09-18  Geoff Keating  <geoffk@cygnus.com>
7908169689Skan
7909169689Skan	* config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
7910169689Skan	* config/rs6000/eabi-ci.asm: Likewise.
7911169689Skan
7912169689Skan2000-09-18  Richard Henderson  <rth@cygnus.com>
7913169689Skan
7914169689Skan	* emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
7915169689Skan	for BImode.
7916169689Skan
7917169689Skan2000-09-18  Jim Wilson  <wilson@cygnus.com>
7918169689Skan
7919169689Skan	* unroll.c (loop_iterations): Pass increment to extend_for_giv_value
7920169689Skan	before passing it to fold_rtx_mult_add.
7921169689Skan
7922169689Skan	* unroll.c (final_giv_value): Pass increment through
7923169689Skan	extend_value_for_giv before passing it to emit_iv_add_mult.
7924169689Skan
7925169689Skan	* function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
7926169689Skan	paradoxical subreg, then directly substitute the replacement and
7927169689Skan	return.
7928169689Skan
7929169689SkanMon 18-Sep-2000 22:12:44 BST  Neil Booth  <NeilB@earthling.net>
7930169689Skan
7931169689Skan	* cpp.texi: Update documentation, including some clarifications,
7932169689Skan	the treatment of various newline combinations, and space between
7933169689Skan	backslash and newline.
7934169689Skan
7935169689SkanMon Sep 18 21:00:47 2000  J"orn Rennecke <amylaar@redhat.co.uk>
7936169689Skan
7937169689Skan	* sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
7938169689Skan	Replace ASM_OUTPUT_LABELREF with assemble_name.
7939169689Skan
7940169689SkanMon Sep 18 20:26:50 2000  J"orn Rennecke <amylaar@redhat.co.uk>
7941169689Skan
7942169689Skan	* sh.c (addsubcosts): CONST is not cheap.
7943169689Skan	(find_barrier): For Sh1, take alignment after jumps into account.
7944169689Skan
7945169689Skan2000-09-15  Andrew Haley  <aph@redhat.com>
7946169689Skan
7947169689Skan	* toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
7948169689Skan	remove all SETs of SUBREGs of hard registers.
7949169689Skan	* function.c (purge_hard_subreg_sets): New function.
7950169689Skan	(purge_single_hard_subreg_set): New function.
7951169689Skan	* rtl.h: (purge_hard_subreg_sets): New function.
7952169689Skan
7953169689Skan2000-09-18  Richard Henderson  <rth@cygnus.com>
7954169689Skan
7955169689Skan	* config/ia64/ia64-protos.h: Update.
7956169689Skan	* config/ia64/ia64.c (signed_inequality_operator): New.
7957169689Skan	(ia64_expand_compare): New.
7958169689Skan	(ia64_register_move_cost): Handle PR_REGS moves.
7959169689Skan	(ia64_secondary_reload_class): Require a GR when moving to a PR.
7960169689Skan	(struct reg_write_state): Add written_by_and/or.
7961169689Skan	(struct reg_flags): Add is_and/or.
7962169689Skan	(rws_update): Set them.
7963169689Skan	(rws_access_regno): Test them to allow parallel comparisons.
7964169689Skan	(rtx_needs_barrier): Recognize parallel comparisons.
7965169689Skan	(emit_insn_group_barriers): Set prev_insn after a call stop bit.
7966169689Skan	Call recog_memoized; ignore pred_rel_mutex.
7967169689Skan	(emit_predicate_relation_info): Don't call find_basic_blocks here.
7968169689Skan	(ia64_reorg): Do it here instead.
7969169689Skan	* config/ia64/ia64.h: s/CCmode/BImode/g
7970169689Skan	(MODES_TIEABLE_P): Don't tie BImode.
7971169689Skan	(PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
7972169689Skan	(CONST_COSTS): Pick sensible values for CONST_INT based on context.
7973169689Skan	(RTX_COSTS): Make multiply 4 insns.
7974169689Skan	(MEMORY_MOVE_COST): New.
7975169689Skan	(PREDICATE_CODES): Update.
7976169689Skan	* config/ia64/ia64.md: s/CCmode/BImode/g
7977169689Skan	(movcci, movbi): New.
7978169689Skan	(andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
7979169689Skan	(cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
7980169689Skan	(cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
7981169689Skan	(tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
7982169689Skan	(cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
7983169689Skan	(cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
7984169689Skan	(tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
7985169689Skan	(mulsi, muldi): Use xmpy not xma.
7986169689Skan	(cmpbi): New.
7987169689Skan	(movcc, movcc_internal): Remove.
7988169689Skan	(branch expanders): Use ia64_expand_compare.
7989169689Skan	(setcc expanders): Likewise.
7990169689Skan	(cmov insns): Use move_operand and ia64_move_ok.
7991169689Skan	(pred_rel_mutex): Use unspec not unspec_volatile.  Prevent the
7992169689Skan	scheduler from moving it past a use.
7993169689Skan	* config/ia64/build.hacks: Remove.
7994169689Skan
7995169689SkanMon 18-Sep-2000 19:21:35 BST  Neil Booth  <NeilB@earthling.net>
7996169689Skan
7997169689Skan	* cpphash.h (HASHSTEP): Take character rather than pointer
7998169689Skan	to character.
7999169689Skan	(_cpp_check_directive, _cpp_check_linemarker): Update prototypes.
8000169689Skan
8001169689Skan	* cpphash.c (cpp_loookup): Update for new HASHSTEP.
8002169689Skan
8003169689Skan	* cpplex.c (auto_expand_name_space, trigraph_replace,
8004169689Skan	backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
8005169689Skan	IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
8006169689Skan	BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
8007169689Skan	KNOWN_DIRECTIVE): Delete.
8008169689Skan
8009169689Skan	(handle_newline, check_long_token, skip_escaped_newlines,
8010169689Skan	unterminated): New functions.
8011169689Skan	(ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.
8012169689Skan
8013169689Skan	(parse_identifier): Was parse_name, new implementation.
8014169689Skan	(skip_line_comment, skip_block_comment, skip_whitespace,
8015169689Skan	parse_number, parse_string, trigraph_ok, save_comment,
8016169689Skan	adjust_column, _cpp_get_line): New implementations.
8017169689Skan
8018169689Skan	(lex_token): New function.  Lexes a token at a time, looking
8019169689Skan	forwards.  Contains most of the guts of the old lex_line.
8020169689Skan	(lex_line): New implementation, using lex_token to obtain
8021169689Skan	individual tokens.
8022169689Skan	(cpp_scan_buffer): Use the token's line, not the list's line.
8023169689Skan
8024169689Skan	* cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
8025169689Skan	 New implementations.
8026169689Skan	(do_assert): Don't bother setting the answer's list's line.
8027169689Skan	(cpp_push_buffer): Initialize new pfile and read_ahead members
8028169689Skan	of struct cpp_buffer.
8029169689Skan
8030169689Skan	* cpplib.h (cppchar_t): New typedef.
8031169689Skan	(struct cpp_buffer): read_ahead, pfile and col_adjust are
8032169689Skan	new members.
8033169689Skan	(struct lexer_state): New structure that determines the state
8034169689Skan	and behavior of the lexer.
8035169689Skan	(IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
8036169689Skan	(struct cpp_reader): New member "state". Rename
8037169689Skan	multiline_string_line and multiline_string_column. Delete
8038169689Skan	col_adjust, in_lex_line members.
8039169689Skan	(CPP_BUF_COLUMN): Update.
8040169689Skan
8041169689Skan2000-09-18  Richard Henderson  <rth@cygnus.com>
8042169689Skan
8043169689Skan	* combine.c (simplify_comparison): Shift a NOT out of a single
8044169689Skan	bit test.
8045169689Skan
8046169689Skan	* combine.c (if_then_else_cond): Canonicalize BImode true to
8047169689Skan	STORE_FLAG_VALUE.
8048169689Skan	* explow.c (trunc_int_for_mode): Likewise.
8049169689Skan
8050169689Skan	* combine.c (combine_simplify_rtx): Use gen_unary to distribute
8051169689Skan	the NOT for De Morgan's rule.
8052169689Skan	* simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
8053169689Skan	of a comparison to the reverse comparison.
8054169689Skan
8055169689Skan	* combine.c (try_combine): Allow split to create a single insn.
8056169689Skan
8057169689Skan	* machmode.def: Add BImode.  Add a column for bitsize.
8058169689Skan	* machmode.h (DEF_MACHMODE): Adjust for extra column.
8059169689Skan	(GET_MODE_BITSIZE): Use it.
8060169689Skan	* rtl.c (DEF_MACHMODE): Adjust for extra column.
8061169689Skan	(mode_bitsize): New.
8062169689Skan	(mode_mask_array): Use bitsize.
8063169689Skan	* combine.c (combine_simplify_rtx): Require inner and outer
8064169689Skan	modes to match on nonzero_bits optimizations.
8065169689Skan
8066169689Skan2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
8067169689Skan
8068169689Skan	* reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
8069169689Skan	its entry in spill_reg_store.
8070169689Skan	* config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
8071169689Skan	* sh.c (reg_no_subreg_operand): New function.
8072169689Skan	* sh-protos.h (reg_no_subreg_operand): Declare it.
8073169689Skan	* sh.h (PREDICATE_CODES): Add it.
8074169689Skan	* sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for
8075169689Skan	input operand that needs to be in fpul.
8076169689Skan	(fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output.
8077169689Skan	* sh.c (find_barrier): Take into account that machine_dependent_reorg
8078169689Skan	might add new insns.
8079169689Skan
8080169689Skan2000-09-18  Alexandre Oliva  <aoliva@redhat.com>
8081169689Skan
8082169689Skan	* config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
8083169689Skan	MAYBE_DEAD.
8084169689Skan	(sh_expand_epilogue): Take the PIC register into account when
8085169689Skan	computing the frame size.
8086169689Skan
8087169689Skan	* config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
8088169689Skan	* config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
8089169689Skan	LABEL_REFs with a PIC-safe unspec.
8090169689Skan
8091169689Skan2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
8092169689Skan
8093169689Skan	* c-common.c (check_format_info): Properly save the argument
8094169689Skan	number and parameter for $ operand number formats in case width
8095169689Skan	and precision arguments are also used.  Allow printf width and
8096169689Skan	precision arguments to have operand numbers even if none was
8097169689Skan	specified for the main format, since this is OK for %*.*m.  Only
8098169689Skan	object to missing $ operand number if the format used requires an
8099169689Skan	argument.
8100169689Skan
8101169689Skan2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
8102169689Skan
8103169689Skan	* c-common.c (format_char_info): Add 'W' flag to comment.
8104169689Skan	(print_char_table, scan_char_table): Use it.
8105169689Skan	(check_format_info): Use the 'W' flag to determine whether a
8106169689Skan	format argument is written into.
8107169689Skan
8108169689Skan2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
8109169689Skan
8110169689Skan	* c-common.c (check_format_types): Reorganize and clean up,
8111169689Skan	checking earlier for ERROR_MARKs and making cur_type into its
8112169689Skan	TYPE_MAIN_VARIANT where convenient.
8113169689Skan
8114169689Skan2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
8115169689Skan
8116169689Skan	* gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
8117169689Skan
8118169689Skan2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
8119169689Skan
8120169689Skan	* optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
8121169689Skan
8122169689Skan	* i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare.
8123169689Skan	* i386.c (struct builtin_description): New.
8124169689Skan	(bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays.
8125169689Skan	(mmx_reg_operand): Declare MODE arg as unused.
8126169689Skan	(ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand,
8127169689Skan	ix86_expand_unop1_builtin, ix86_expand_unop_builtin,
8128169689Skan	ix86_expand_binop_builtin, ix86_expand_store_builtin,
8129169689Skan	ix86_init_builtins, ix86_expand_builtin): New functions.
8130169689Skan	* i386.h (ix86_builtins): New enumeration.
8131169689Skan	(MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros.
8132169689Skan	* i386.md (attr length_immediate): 0 for mmx/sse types.
8133169689Skan	(attr prefix_0f): 1 for mmx/sse types.
8134169689Skan	(setcc_2): Remove "*" so we get gen_setcc_2.
8135169689Skan	(emms): Account for changed register numbering.  Set "memory" attr
8136169689Skan	to unknown.
8137169689Skan	(sfence): Set "memory" attr to unknown.
8138169689Skan
8139169689Skan2000-09-18  Andreas Jaeger  <aj@suse.de>
8140169689Skan
8141169689Skan	* configure.in: Define _GNU_SOURCE only when using the GNU C
8142169689Skan	Library.
8143169689Skan	* configure: Regenerated.
8144169689Skan	* config.in: Regenerated.
8145169689Skan
8146169689Skan2000-09-17  Mark Mitchell  <mark@codesourcery.com>
8147169689Skan
8148169689Skan	* cppinit.c (cpp_init): Don't use ANSI prototypes.
8149169689Skan	* flow.c (flow_dump_loop): Likewise.
8150169689Skan	(flow_loops_dump): Likewise.
8151169689Skan
8152169689Skan	* c-typeck.c (c_start_case): Fix typo.
8153169689Skan
8154169689Skan2000-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
8155169689Skan
8156169689Skan	* c-decl.c (grokdeclarator): Don't give a warning about defaulting
8157169689Skan	to int for plain complex which defaults to complex double.  Do
8158169689Skan	warn about defaulting to complex double if pedantic.  Warn about
8159169689Skan	complex integer types if pedantic.  Warn about complex types if
8160169689Skan	pedantic and not in C99 mode.
8161169689Skan	* c-typeck.c (build_unary_op): If pedantic, warn about use of ~
8162169689Skan	for complex conjugation.
8163169689Skan
8164169689Skan2000-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
8165169689Skan
8166169689Skan	* contrib.texi: Update my entry.
8167169689Skan
8168169689SkanSun Sep 17 18:48:32 2000  Denis Chertykov  <denisc@overta.ru>
8169169689Skan
8170169689Skan	* config/avr/avr.md (mcu_enhanced): New attribute.
8171169689Skan	(mcu_mega): Likewise.
8172169689Skan	(extendhisi2): Use mcu_enhanced.
8173169689Skan	(zero_extendhisi2): Likewise.
8174169689Skan	(call_insn): Use mcu_enhanced and mcu_mega.
8175169689Skan	(call_value_insn): Likewise.
8176169689Skan	(*sbrx_branch): Use mcu_mega.
8177169689Skan	(*sbrx_and_branchsi): Likewise.
8178169689Skan	(*sbrx_and_branchhi): Likewise.
8179169689Skan	(*tablejump_lib): Likewise.
8180169689Skan
8181169689SkanSun Sep 17 10:46:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8182169689Skan
8183169689Skan	* alias.c (true_dependence): Allow non-unchanging read to conflict
8184169689Skan	with unchanging write.
8185169689Skan
8186169689Skan	* expr.c (store_constructor_field): Accept ALIAS_SET arg.
8187169689Skan	(store_constructor): Pass alias_set to it.
8188169689Skan
8189169689Skan	* c-decl.c (grokdeclarator): Reorder tests to avoid looking at
8190169689Skan	TYPE_MAIN_VARIANT of ERROR_MARK.
8191169689Skan	* c-lex.c (readescape): Avoid using printf syntax we don't recognize.
8192169689Skan
8193169689Skan	* simplify-rtx.c (simplify_unary_operation): Add cases
8194169689Skan	FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
8195169689Skan
8196169689Skan2000-09-17  Bernd Schmidt  <bernds@redhat.co.uk>
8197169689Skan
8198169689Skan	* expr.h (emit_library_call, emit_library_call_value): Delete
8199169689Skan	declarations.
8200169689Skan	* rtl.h (enum libcall_type): New.
8201169689Skan	(emit_library_call, emit_library_call_value): Change fn_type arg to
8202169689Skan	be of type enum libcall_type.
8203169689Skan	* calls.c: Likewise for the function definitions.  Several callers
8204169689Skan	throughout changed to use the new enumeration appropriately.
8205169689Skan	(emit_library_call_value_1): Likewise.  Put back code to make libcall
8206169689Skan	blocks of equal form, but only use it for the two new higher
8207169689Skan	enumeration values.
8208169689Skan
8209169689Skan2000-09-16  Mark Mitchell  <mark@codesourcery.com>
8210169689Skan
8211169689Skan	Convert the C front-end to use function-at-a-time mode.
8212169689Skan	* c-common.h: Include splay-tree.h.
8213169689Skan	(C_DECLARED_LABEL_FLAG): New macro.
8214169689Skan	(struct language_function): Add x_scope_stmt_stack and
8215169689Skan	x_function_name_declared_p.
8216169689Skan	(RECHAIN_STMTS): Move definition.
8217169689Skan	(lang_statement_code_p): Likewise.
8218169689Skan	(lang_expand_stmt): Likewise.
8219169689Skan	(lang_expand_decl_stmt): New variable.
8220169689Skan	(lang_expand_function_end): Likewise.
8221169689Skan	(current_scope_stmt_stack): New function.
8222169689Skan	(add_decl_stmt): Likewise.
8223169689Skan	(add_scope_stmt): Likewise.
8224169689Skan	(mark_stmt_tree): Likewise.
8225169689Skan	(struct c_lang_decl): New structure.
8226169689Skan	(DECL_SAVED_TREE): Define.
8227169689Skan	(c_mark_lang_decl): New function.
8228169689Skan	(c_expand_start_cond): Change prototype.
8229169689Skan	(c_finish_then): New function.
8230169689Skan	(c_finish_else): Likewise.
8231169689Skan	(current_function_name_declared): Remove.
8232169689Skan	(set_current_function_name_declared): Likewise.
8233169689Skan	(mark_c_language_function): Declare.
8234169689Skan	(case_compare): Likewise.
8235169689Skan	(c_add_case_label): Likewise.
8236169689Skan	(c_expand_expr): Likewise.
8237169689Skan	(c_safe_from_p): Likewise.
8238169689Skan	* c-common.c (lang_expand_function_end): New variable.
8239169689Skan	(struct if_elt): Add if_stmt.
8240169689Skan	(c_expand_start_cond): Add the if-statement to the statement-tree,
8241169689Skan	rather than generating RTL.
8242169689Skan	(c_finish_then): New function.
8243169689Skan	(c_expand_start_else): Don't generate RTL.
8244169689Skan	(c_finish_else): New function.
8245169689Skan	(c_expand_expr_stmt): Don't generate RTL.
8246169689Skan	(statement_code_p): Add SCOPE_STMT.
8247169689Skan	(case_compare): New function.
8248169689Skan	(c_add_case_label): Likewise.
8249169689Skan	(mark_stmt_tree): Likewise.
8250169689Skan	(c_mark_lang_decl): Likewise.
8251169689Skan	(mark_c_language_function): Likewise.
8252169689Skan	(c_expand_expr): Likewise.
8253169689Skan	(c_safe_from_p): Likewise.
8254169689Skan	* c-decl.c (c_stmt_tree): New variable
8255169689Skan	(c_scope_stmt_stack): Likewise.
8256169689Skan	(c_function_name_declared_p): Likewise.
8257169689Skan	(lang_expand_expr_stmt): Remove.
8258169689Skan	(poplevel): Don't call output_inline_function for nested
8259169689Skan	functions.
8260169689Skan	(pushdecl): Don't set DECL_CONTEXT for a local declaration of an
8261169689Skan	`extern' function.
8262169689Skan	(redeclaration_error_message): Change means of computing whether
8263169689Skan	or not a function is nested.
8264169689Skan	(lookup_label): Don't call label_rtx.
8265169689Skan	(init_decl_processing): Add more GC roots.
8266169689Skan	(start_decl): Add DECL_STMTs to the statement-tree, rather than
8267169689Skan	calling rest_of_decl_compilation.
8268169689Skan	(finish_decl): Don't call expand_decl.
8269169689Skan	(store_parm_decls): Begin the statement-tree, but don't generate
8270169689Skan	RTL.
8271169689Skan	(finish_function): Tie off the statement-tree.  Call c_expand_body
8272169689Skan	if appropriate.
8273169689Skan	(c_expand_body): New function.
8274169689Skan	(push_c_function_context): Save more information.
8275169689Skan	(pop_c_function_contxt): Likewise.
8276169689Skan	(copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
8277169689Skan	(lang_mark_tree): Mark it.
8278169689Skan	(current_stmt_tree): Adjust.
8279169689Skan	(current_scope_stmt_stack): New function.
8280169689Skan	(do_case): Remove.
8281169689Skan	(set_current_name_declared): Likewise.
8282169689Skan	(c_begin_compound_stmt): Define.
8283169689Skan	(c_expand_decl_stmt): Likewise.
8284169689Skan	* c-lang.c: Include rtl.h and expr.h.
8285169689Skan	(lang_init): Set more language-specific hooks.
8286169689Skan	* c-lex.c: Include expr.h.
8287169689Skan	* c-parse.in: Changes throughout to add statements to the
8288169689Skan	statement-tree, rather than generating RTL after every statement.
8289169689Skan	* c-semantics.c (lang_expand_decl_stmt): Define.
8290169689Skan	(add_decl_stmt): New function.
8291169689Skan	(add_scope_stmt): Likewise.
8292169689Skan	(finish_stmt_tree): Tweak.
8293169689Skan	(genrtl_expr_stmt): Likewise.
8294169689Skan	(genrtl_decl_stmt): Handle local labels, and call
8295169689Skan	lang_expand_decl_stmt if required.
8296169689Skan	(genrtl_for_stmt): Fix line-number handling.
8297169689Skan	(genrtl_case_label): Handle cleanups.
8298169689Skan	(genrtl_asm_stmt): Don't call combine_strings.
8299169689Skan	(genrtl_compound_stmt): Simplify.
8300169689Skan	(expand_stmt): Handle SCOPE_STMTs.
8301169689Skan	* c-tree.h (struct lang_decl): New structure.
8302169689Skan	(C_DECLARED_LABEL_FLAG): Remove.
8303169689Skan	(c_begin_compound_stmt): Declare.
8304169689Skan	(c_expand_decl_stmt): Likewise.
8305169689Skan	(c_expand_start_case): Rename to c_start_case.
8306169689Skan	(c_finish_case): New function.
8307169689Skan	* c-typeck.c (start_init): Tweak setting of
8308169689Skan	constructor_incremental.
8309169689Skan	(c_expand_asm_operands): Tweak error-handling.  Add to the
8310169689Skan	statement-tree.
8311169689Skan	(c_expand_return): Add to the statement-tree.
8312169689Skan	(c_expand_start_case): Rename to ...
8313169689Skan	(c_start_case): ... this.
8314169689Skan	(struct c_switch): New type.
8315169689Skan	(switch_stack): New variable.
8316169689Skan	(do_case): Simplify.
8317169689Skan	(c_finish_case): New function.
8318169689Skan	* dependence.c: Include expr.h.
8319169689Skan	(enum dependence_type): Change spelling of enumerals.
8320169689Skan	(check_node_dependence): Adjust.
8321169689Skan	* expr.h (lang_safe_from_p): Declare.
8322169689Skan	(safe_from_p): Likewise.
8323169689Skan	* expr.c (lang_safe_from_p): New variable.
8324169689Skan	(safe_from_p): Give it external linkage.  Use lang_safe_from_p.
8325169689Skan	* stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
8326169689Skan	* toplev.c (rest_of_decl_compilation): Robustify.
8327169689Skan	* tree.c (contains_placeholder_p): Likewise.
8328169689Skan	* Makefile.in: Update dependencies.
8329169689Skan	* objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
8330169689Skan	* objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
8331169689Skan	(objc_expand_function_end): New function.
8332169689Skan	(finish_method_def): Use it.
8333169689Skan	(init_objc): Initialize more language-specific hooks.
8334169689Skan	* objc/Make-lang.in: Update dependencies.
8335169689Skan
8336169689Skan2000-09-16  Geoffrey Keating  <geoffk@cygnus.com>
8337169689Skan
8338169689Skan	* configure.in: Define macros that affect features before
8339169689Skan	testing for features.  Don't define _XOPEN_SOURCE.
8340169689Skan	* configure: Regenerated.
8341169689Skan	* config.in: Regenerated.
8342169689Skan
8343169689SkanSat Sep 16 19:42:50 EDT 2000  John Wehle  (john@feith.com)
8344169689Skan
8345169689Skan	* rtlanal.c (rtx_varies_p): Volatile asms vary.
8346169689Skan	(rtx_unstable_p): Restructure code.  Volatile asms
8347169689Skan	are unstable.
8348169689Skan
8349169689SkanSat Sep 16 14:35:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8350169689Skan
8351169689Skan	* function.h (no_debugging_symbols): New field.
8352169689Skan	* integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
8353169689Skan	Initialize no_debugging_symbols.
8354169689Skan	(output_inline_function): Save and restore write_symbols and set from
8355169689Skan	no_debugging_symbols.
8356169689Skan	* toplev.c (rest_of_compilation): Call save_for_inline.
8357169689Skan	* tree.h: Update comment.
8358169689Skan
8359169689Skan	* stor-layout.c (place_field): Don't do anything if field or
8360169689Skan	its type are ERROR_MARK.
8361169689Skan
8362169689SkanSat Sep 16 19:14:00 2000  Laurynas Biveinis <lauras@softhome.net>
8363169689Skan
8364169689Skan	* cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined.
8365169689Skan	(read_include_file): Ensure inc->mmaped is initialized.
8366169689Skan
8367169689Skan2000-09-16  Richard Henderson  <rth@cygnus.com>
8368169689Skan
8369169689Skan	* cppiles.c (purge_cache): Use PTR not caddr_t.
8370169689Skan
8371169689Skan2000-09-16  Hans-Peter Nilsson  <hp@axis.com>
8372169689Skan
8373169689Skan	* gcc.c: In description for %{<S}, say the option removed is -S.
8374169689Skan	* invoke.texi (Spec Files): Ditto.
8375169689Skan
8376169689Skan2000-09-16  Andreas Jaeger  <aj@suse.de>
8377169689Skan
8378169689Skan	* configure.in: Always define _GNU_SOURCE to make interfaces
8379169689Skan	visible that were hidden by only defining _GNU_SOURCE.
8380169689Skan	* configure: Regenerated.
8381169689Skan
8382169689SkanSat 16-Sep-2000 08:13:45 BST  Neil Booth  <NeilB@earthling.net>
8383169689Skan
8384169689Skan	* cpplex.c (push_macro_context): Set an argument's level after
8385169689Skan	calling parse_args.  We could loop infinitely otherwise.
8386169689Skan
8387169689Skan2000-09-15  Tom Tromey  <tromey@cygnus.com>
8388169689Skan
8389169689Skan	* configure, config.in: Rebuilt.
8390169689Skan	* configure.in: Check for iconv.h.  Define _XOPEN_SOURCE.
8391169689Skan
8392169689Skan2000-09-15  Greg McGary  <greg@mcgary.org>
8393169689Skan
8394169689Skan	* cppmacro.c (check_trad_stringification): Check token
8395169689Skan	text pointers against limit before dereferencing.
8396169689Skan
8397169689Skan2000-09-15  Joseph S. Myers  <jsm28@cam.ac.uk>
8398169689Skan
8399169689Skan	* c-common.c (format_wanted_type): New structure.
8400169689Skan	(check_format_types): New function.
8401169689Skan	(check_format_info): Pass all checking of types of format
8402169689Skan	arguments, including width and precision arguments, to this new
8403169689Skan	function.
8404169689Skan
8405169689Skan2000-09-15  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8406169689Skan
8407169689Skan	* BUGS: Remove file.
8408169689Skan
8409169689Skan2000-09-15  Jakub Jelinek  <jakub@redhat.com>
8410169689Skan
8411169689Skan	* config/alpha/alpha.c (override_options): ev6 cache latencies
8412169689Skan	from Richard Henderson.  Don't allow -mmemory-latency=L0.
8413169689Skan
8414169689Skan	* config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
8415169689Skan	(TARGET_OPTIONS): Add tune=.
8416169689Skan	(alpha_tune_string): Declare.
8417169689Skan	* config/alpha/alpha.c (override_options): Add cpu_table.
8418169689Skan	Use alpha_cpu_string first to set both alpha_cpu and target_flags
8419169689Skan	and then alpha_tune_string to set alpha_cpu only.
8420169689Skan	Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
8421169689Skan	* config/alpha/elf.h (ASM_FILE_START): Likewise.
8422169689Skan	* config/alpha/osf.h (ASM_FILE_START): Likewise.
8423169689Skan	* config/alpha/openbsd.h (ASM_FILE_START): Likewise.
8424169689Skan
8425169689SkanFri Sep 15 19:45:55 MET DST 2000  Jan Hubicka  <jh@suse.cz>
8426169689Skan
8427169689Skan	* i386-protos.h (no_comparison_operator, uno_comparison_operator):
8428169689Skan	Remove.
8429169689Skan	(ix86_comparison_operator, ix86_cc_mode): Declare
8430169689Skan	* i386.h (CCGC, CCGCO): New modes.
8431169689Skan	(SELECT_CC_MODE): Move offline to ....
8432169689Skan	* i386.c (ix86_cc_mode): .... here; use new modes.
8433169689Skan	(ix86_comparison_operator): New.
8434169689Skan	(fcmov_comparison_operator): Ensure proper mode.
8435169689Skan	(put_condition_mode): More sanity checking.
8436169689Skan	(ix86_match_ccmode): Handle new modes.
8437169689Skan	(ix86_expand_fp_compare): GEU requires CCmode.
8438169689Skan	(ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
8439169689Skan	doing it by hand.
8440169689Skan	* i386.md (cmp?i_ccz_1): Remove
8441169689Skan	(cmp?i_ccno_1): Use ix86_match_ccmode.
8442169689Skan	(cmp?i_minus_1): New.
8443169689Skan	(cmpsi_1): New expander.
8444169689Skan	(cmpqi_ext_1): Use match_ccmode
8445169689Skan	(cmpqi_ext_3): New expander.
8446169689Skan	(cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
8447169689Skan	(cmpqi_ext_4): Use match_ccmode.
8448169689Skan	(add?i_?): Use match_ccmode.
8449169689Skan	(add?i_6): New.
8450169689Skan	(test?i_ccz_1): Remove
8451169689Skan	(test?i_1): New.
8452169689Skan	(testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
8453169689Skan	(testqi_ext_0): Use ix86_match_ccmode.
8454169689Skan	(*xorqi_cc_ext_1): Use ix86_match_ccmode.
8455169689Skan	(xorqi_cc_ext_1): New expander.
8456169689Skan	(shift patterns): Use CCGOCmode for all shifts except for sar.
8457169689Skan	(setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
8458169689Skan	(setcc_3, jcc_3, miv?icc_c): Remove.
8459169689Skan
8460169689Skan2000-09-15  Will Cohen  <wcohen@redhat.com>
8461169689Skan
8462169689Skan	* dwarf2out.c (add_const_value_attribute): Changed array into a
8463169689Skan	xmalloced object, so it exists after function exit.
8464169689Skan	(free_AT): Added case for dw_val_class_float to free allocated
8465169689Skan	memory.
8466169689Skan
8467169689Skan2000-09-15  Kazu Hirata  <kazu@hxi.com>
8468169689Skan
8469169689Skan	* config/i386/i386.md: Fix a comment typo.
8470169689Skan	* gcc.c: Fix formatting.
8471169689Skan
8472169689Skan2000-09-15  Bernd Schmidt  <bernds@redhat.co.uk>
8473169689Skan
8474169689Skan	* optabs.c (emit_libcall_block): If target is a user variable,
8475169689Skan	copy to a temporary first.
8476169689Skan	* expr.c (convert_move): When generating a libcall, make a libcall
8477169689Skan	block.
8478169689Skan	* calls.c (emit_library_call_value_1): Don't create a libcall
8479169689Skan	sequence here; our caller will in most cases do it.
8480169689Skan
8481169689Skan	* sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or
8482169689Skan	MACH into FPUL.
8483169689Skan	(SECONDARY_OUTPUT_RELOAD_CLASS): Similar case.
8484169689Skan	* sh.md (reload_outsf): Generate recognizable patterns for
8485169689Skan	TARGET_SH3E.
8486169689Skan	(floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2,
8487169689Skan	fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2,
8488169689Skan	fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2,
8489169689Skan	truncdfsf2_i4): Change not to use explicit references to fpul.
8490169689Skan	(floatsisf2_ie): Remove USE of fpscr.
8491169689Skan	(floatsisf2): Change default expansion to match this.
8492169689Skan	(fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out
8493169689Skan	unused patterns.
8494169689Skan
8495169689Skan2000-09-15  Richard Henderson  <rth@cygnus.com>
8496169689Skan
8497169689Skan	* expmed.c (store_bit_field): Consider naturally aligned
8498169689Skan	memory for direct reference.
8499169689Skan
8500169689Skan2000-09-15  Richard Henderson  <rth@cygnus.com>
8501169689Skan
8502169689Skan	* config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
8503169689Skan	AND addresses into alias set 0.
8504169689Skan	(alpha_expand_unaligned_store): Likewise.
8505169689Skan	(alpha_expand_unaligned_load_words): Likewise.
8506169689Skan	(alpha_expand_unaligned_store_words): Likewise.
8507169689Skan
8508169689Skan2000-09-15  Bernd Schmidt  <bernds@redhat.co.uk>
8509169689Skan
8510169689Skan	* config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
8511169689Skan	* config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
8512169689Skan	is defined.
8513169689Skan	* config/mips/mips.c (mips_va_arg): Args passed by reference have a
8514169689Skan	rsize of UNITS_PER_WORD.
8515169689Skan
8516169689SkanFri 15-Sep-2000 06:49:07 BST  Neil Booth  <NeilB@earthling.net>
8517169689Skan
8518169689Skan	* cpplex.c (ON_REST_ARG): Correct the test.
8519169689Skan	(maybe_paste_with_next): Duplicate a token that fail pasting,
8520169689Skan	and clear its PASTE_LEFT flag, so that nested pasting attempts
8521169689Skan	do not occur.
8522169689Skan
8523169689Skan2000-09-14  Richard Henderson  <rth@cygnus.com>
8524169689Skan
8525169689Skan	* calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
8526169689Skan	* cse.c (rtx_cost): Likewise.
8527169689Skan	* optabls.c (expand_binop): Likewise.
8528169689Skan	(expand_twoval_binop, prepare_cmp_insn): Likewise.
8529169689Skan	* regclass.c (copy_cost): Likewise.
8530169689Skan	* reload1.c (reload_cse_move2add): Likewise.
8531169689Skan
8532169689Skan2000-09-14  Joseph S. Myers  <jsm28@cam.ac.uk>
8533169689Skan
8534169689Skan	* c-parse.in (reswords): Add _Complex.
8535169689Skan
8536169689Skan2000-09-14  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
8537169689Skan
8538169689Skan	* gcc.1: Delete documentation for -undef preprocessor option.
8539169689Skan
8540169689Skan2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
8541169689Skan
8542169689Skan	* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
8543169689Skan	STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
8544169689Skan	* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
8545169689Skan	Remove undefine before config/elfos.h.
8546169689Skan	* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
8547169689Skan
8548169689Skan2000-09-14  Kazu Hirata  <kazu@hxi.com>
8549169689Skan
8550169689Skan	* invoke.texi (H8/300 Options): Add -ms2600.
8551169689Skan	* config/h8300.c (h8300_init_once): Output an error when -ms2600
8552169689Skan	is used without -ms.
8553169689Skan	* config/h8300.h (TARGET_MAC): New.
8554169689Skan	(TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
8555169689Skan	(CONDITIONA_REGISTER_USAGE): Disable the mac register on any
8556169689Skan	machine other than H8S/2600.
8557169689Skan	* config/h8300.md: Accept mac instructions on the H8S/2600 instead
8558169689Skan	of the H8S/2000.
8559169689Skan
8560169689Skan2000-09-14  Alexandre Oliva  <aoliva@redhat.com>, Bernd Schmidt  <bernds@redhat.co.uk>
8561169689Skan
8562169689Skan	* reload.c (find_reloads_address_1): Generate reloads for auto_inc
8563169689Skan	pseudos that refer to the original pseudos, not only to their
8564169689Skan	equivalent memory locations.
8565169689Skan
8566169689SkanThu Sep 14 12:10:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8567169689Skan
8568169689Skan	* expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
8569169689Skan	when making new MEM.
8570169689Skan
8571169689Skan	* Makefile.in (LN): Remove duplicate definition.
8572169689Skan
8573169689Skan2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
8574169689Skan
8575169689Skan	From Joern Rennecke:
8576169689Skan	* local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
8577169689Skan	on an insn and function_invariant_p returns nonzero for the source,
8578169689Skan	add a REG_EQUAL note.
8579169689Skan
8580169689SkanThu Sep 14 00:51:57 EDT 2000  John Wehle  (john@feith.com)
8581169689Skan
8582169689Skan	* alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
8583169689Skan	conflict with frame_pointer_rtx.
8584169689Skan
8585169689Skan2000-09-13  Kazu Hirata  <kazu@hxi.com>
8586169689Skan
8587169689Skan	* loop.c: Fix formatting.
8588169689Skan	* loop.h: Likewise.
8589169689Skan
8590169689Skan2000-09-13  Richard Henderson  <rth@cygnus.com>
8591169689Skan
8592169689Skan	* config/ia64/ia64.md (divsf3): New.
8593169689Skan	(divsf3_internal_lat, divsf3_internal_thr): New.
8594169689Skan	(divdf3, divdf3_internal_lat, divdf3_internal_thr): New.
8595169689Skan	(divtf3, divtf3_internal_lat, divtf3_internal_thr): New.
8596169689Skan	(adddf3_trunc, subdf3_trunc, muldf3_trunc): New.
8597169689Skan	(madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New.
8598169689Skan	(nmadddf4_alts, nmadddf4_trunc): New.
8599169689Skan	(addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New.
8600169689Skan	(subtf3_truncdf, multf3_truncsf, multf3_truncdf): New.
8601169689Skan	(multf3_truncsf_alts, multf3_truncdf_alts): New.
8602169689Skan	(maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New.
8603169689Skan	(msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New.
8604169689Skan	(nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New.
8605169689Skan	(nmaddtf4_truncdf_alts): New.
8606169689Skan	(recip_approx): Don't predicate.
8607169689Skan
8608169689Skan2000-09-13  Richard Henderson  <rth@cygnus.com>
8609169689Skan
8610169689Skan	* config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
8611169689Skan
8612169689Skan2000-09-13  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8613169689Skan
8614169689Skan	* flags.h (flag_dump_rtl_in_asm): Declare.
8615169689Skan	* toplev.c (flag_dump_rtl_in_asm): Define.
8616169689Skan	(decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
8617169689Skan	if -dP is specified.
8618169689Skan	* rtl.h (print_rtx_head): Declare.
8619169689Skan	* print-rtl.c (print_rtx_head): Define.
8620169689Skan	(print_rtx): Print the string pointed to by print_rtx_head
8621169689Skan	at beginning of each dump line.
8622169689Skan	(print_rtl): Likewise.
8623169689Skan	(print_rtl_single): Likewise.
8624169689Skan	* final.c (final_scan_insn): Dump the insn in the assembly
8625169689Skan	file for debugging.
8626169689Skan	* gcc.1: Document -dP option.
8627169689Skan	* invoke.texi (Debugging Options): Likewise.
8628169689Skan
8629169689Skan2000-09-13  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8630169689Skan
8631169689Skan	* md.texi (Machine Constraints): Document the 68HC11 constraints.
8632169689Skan	* install.texi (Configurations): Document the 68HC11&68HC12 port.
8633169689Skan	* invoke.texi (Option Summary, M68hc1x Options): Document the options.
8634169689Skan
8635169689SkanTue Sep 12 13:51:13 2000  Denis Chertykov  <denisc@overta.ru>
8636169689Skan
8637169689Skan	* config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared.
8638169689Skan	* config/avr/avr.md (*movstrqi_insn): Cleanup output template.
8639169689Skan	(*clrstrqi): Likewise.
8640169689Skan	(xorhi3,xorsi3,absqi2): Likewise.
8641169689Skan	(one_cmplhi2,one_cmplsi2): Likewise.
8642169689Skan	(addsi3): Two stupid constraint alternatives removed.
8643169689Skan	(extendhisi2): Use `movw' for enhanced avr cores.
8644169689Skan	(zero_extendhisi2): Likewise.
8645169689Skan
8646169689SkanWed Sep 13 02:31:23 EDT 2000  John Wehle  (john@feith.com)
8647169689Skan
8648169689Skan	* alias.c (find_base_term): Use frame_pointer_rtx
8649169689Skan	when handling an ADDRESSOF.
8650169689Skan
8651169689Skan	* cse.c (canon_hash): Handle USE of BLKmode memory.
8652169689Skan	(cse_insn): Outgoing arguments for a libcall don't
8653169689Skan	affect any recorded expressions.
8654169689Skan
8655169689Skan2000-09-12  Tom Tromey  <tromey@cygnus.com>
8656169689Skan
8657169689Skan	* configure, config.in: Rebuilt.
8658169689Skan	* configure.in: Check for iconv, nl_langinfo, langinfo.h.
8659169689Skan
8660169689Skan2000-09-12  Jakub Jelinek  <jakub@redhat.com>
8661169689Skan
8662169689Skan	* c-lex.c (lex_string): Use charwidth to compute bytemask.
8663169689Skan	* expr.c (expand_expr): Don't optimize constant array references
8664169689Skan	initialized with wide string constants.
8665169689Skan
8666169689Skan2000-09-13  Michael Hayes  <mhayes@cygnus.com>
8667169689Skan
8668169689Skan	* loop.c (note_set_pseudo_multiple_uses): Correct.
8669169689Skan
8670169689Skan2000-09-12  Jim Wilson  <wilson@cygnus.com>
8671169689Skan
8672169689Skan	* ifcvt.c (noce_process_if_block): If A and B are the same, and no
8673169689Skan	else block, and X has side-effects, then fail.
8674169689Skan
8675169689Skan2000-09-12  Greg McGary  <greg@mcgary.org>
8676169689Skan
8677169689Skan	* config/mips/mips-protos.h
8678169689Skan	(trap_cmp_op, mips_gen_conditional_trap): New func decls.
8679169689Skan	* config/mips/mips.h (ISA_HAS_COND_TRAP): New macro.
8680169689Skan	(PREDICATE_CODES): Add "trap_cmp_op".
8681169689Skan	* config/mips/mips.c
8682169689Skan	(trap_cmp_op, mips_gen_conditional_trap): New functions.
8683169689Skan	* config/mips/mips.md (trap, conditional_trap): New patterns.
8684169689Skan
8685169689Skan2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
8686169689Skan
8687169689Skan	* flow.c (try_pre_increment_1): Don't do anything to sets of the stack
8688169689Skan	pointer.
8689169689Skan
8690169689Skan2000-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8691169689Skan
8692169689Skan	* builtins.c (built_in_decls): New array.
8693169689Skan	(expand_builtin_fputs): New function.
8694169689Skan	(expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS.
8695169689Skan
8696169689Skan	* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members.
8697169689Skan
8698169689Skan	* c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs.
8699169689Skan
8700169689Skan	* tree.h (built_in_decls): New array.
8701169689Skan
8702169689SkanTue Sep 12 08:53:57 2000  Jeffrey A Law  (law@cygnus.com)
8703169689Skan
8704169689Skan	* convex.md: Use "+" instead of "=" for outputs wrapped in a
8705169689Skan	STRICT_LOW_PART.
8706169689Skan	* i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.
8707169689Skan
8708169689Skan2000-09-12  Kazu Hirata  <kazu@hxi.com>
8709169689Skan
8710169689Skan	* haifa-sched.c: Fix formatting.
8711169689Skan
8712169689Skan	* genattrtab.c: Fix formatting.
8713169689Skan
8714169689Skan	* unroll.c: Fix formatting.
8715169689Skan
8716169689Skan2000-09-12  Bruce Korb  <bkorb@gnu.org>
8717169689Skan
8718169689Skan	* fixinc/fixfixes.c: make a type for the fix procedure & use it,
8719169689Skan	remove obsolete code
8720169689Skan	* fixinc/fixincl.c: Use PARAMS, not _P_.  Add no-op default to switch.
8721169689Skan	* fixinc/fixincl.tpl: make non-exported arrays static scope
8722169689Skan	* fixinc/fixincl.x: regenerate
8723169689Skan	* fixinc/fixlib.h: Use PARAMS, not _P_
8724169689Skan	* fixinc/fixtests.c: make a type for the test proc & use it
8725169689Skan	* fixinc/server.h: Use PARAMS, not _P_
8726169689Skan
8727169689Skan2000-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8728169689Skan
8729169689Skan	* c-typeck.c (process_init_element): Avoid union init warnings on
8730169689Skan	floating point zero.  Don't crash on unions containing structs.
8731169689Skan
8732169689Skan2000-09-12  Alexandre Oliva  <aoliva@redhat.com>
8733169689Skan
8734169689Skan	* config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to
8735169689Skan	general_movsrc_operand, and remove CONST_INT from
8736169689Skan	general_movdst_operand.
8737169689Skan
8738169689Skan2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
8739169689Skan
8740169689Skan	* cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX
8741169689Skan	if a reference to non-fixed hardreg is seen.  Otherwise, count hard
8742169689Skan	regs with a higher cost.
8743169689Skan	(preferrable): Deal with cases where either cost or regcost is
8744169689Skan	MAX_COST.
8745169689Skan	(cse_insn): Use MAX_COST rather than 10000.  Always initialize
8746169689Skan	regcost values.
8747169689Skan	(COSTS_N_INSNS): Move definition...
8748169689Skan	* rtl.h: ...here.
8749169689Skan	(MAX_COST): New macro.
8750169689Skan	* loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded
8751169689Skan	constant.
8752169689Skan
8753169689Skan2000-09-11  Mark Mitchell  <mark@codesourcery.com>
8754169689Skan
8755169689Skan	* c-common.h (genrtl_clear_out_block): Remove.
8756169689Skan	* c-semantics.c (genrtl_clear_out_block): Remove.
8757169689Skan	(genrtl_while_stmt): Don't call it.
8758169689Skan	(genrtl_for_stmt): Likewise.
8759169689Skan
8760169689Skan2000-09-11  Zack Weinberg  <zack@wolery.cumb.org>
8761169689Skan
8762169689Skan	* cppfiles.c: Move all default-#defines to top of file.
8763169689Skan	(open_include_file): Replace by lookup_include_file.
8764169689Skan	(read_with_read, read_file): Merged into read_include_file.
8765169689Skan	(stack_include_file, purge_cache): New functions.
8766169689Skan	(close_cached_fd): Delete.
8767169689Skan	(lookup_include_file, read_include_file, _cpp_pop_file_buffer):
8768169689Skan	Cache the in-memory buffer, not the file descriptor.
8769169689Skan
8770169689Skan	* cpphash.h (struct include_file): Add buffer, st, refcnt,
8771169689Skan	mapped fields.
8772169689Skan	(xcnew): New utility macro.
8773169689Skan	(DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file.
8774169689Skan	* cpplib.h (struct cpp_buffer): Remove mapped field.
8775169689Skan
8776169689Skan2000-09-11  Zack Weinberg  <zack@wolery.cumb.org>
8777169689Skan
8778169689Skan	* cpplex.c (parse_string): Accept backslash space newline as a
8779169689Skan	line continuation.
8780169689Skan	(lex_line): Likewise.
8781169689Skan	(_cpp_get_token): Remove hard limit on macro nesting.
8782169689Skan
8783169689Skan2000-09-12  Philipp Thomas  <pthomas@suse.de>
8784169689Skan
8785169689Skan	* aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext.
8786169689Skan	* configure: Rebuilt.
8787169689Skan
8788169689Skan2000-09-13  Michael Hayes  <mhayes@cygnus.com>
8789169689Skan
8790169689Skan	* flow.c (split_block): Fix update of registers live at
8791169689Skan	end of split block.
8792169689Skan
8793169689SkanTue Sep 12 01:51:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
8794169689Skan
8795169689Skan	* i386.md (add?i_3, add?i_5): New.
8796169689Skan	(add?i_4): Rename from add?i_3;  Fix compare pattern.
8797169689Skan	(sub?i_3, xor?i_3, ior?i_3): New.
8798169689Skan
8799169689Skan	* genrecog.c (write_tree): Output code to clear insn_extract cache.
8800169689Skan	* genattrtab.c (write_attr_case): Gen call to extract_insn_cache
8801169689Skan	instead of extract_insn and extract_constrain_insn_cache instead of
8802169689Skan	extract_insn and constrain_operands.
8803169689Skan	* recog.c (extract_insn_cached, extract_constrain_insn_cached):
8804169689Skan	New functions.
8805169689Skan	(extract_insn): Clear which_alternative.
8806169689Skan	(constrain_operands): Set which_alternative to -1 when failed.
8807169689Skan	* recog.h (extract_constrain_insn_cached, extract_insn_cached):
8808169689Skan	Declare.
8809169689Skan
8810169689Skan2000-09-11  Matthew Hiller  <hiller@redhat.com>
8811169689Skan
8812169689Skan	* config/h8300/h8300.md (movstrictqi): Changed constraint modifier
8813169689Skan	on operand 0 to '+'.
8814169689Skan	(movstricthi): Likewise.
8815169689Skan
8816169689Skan2000-09-12  Michael Hayes  <mhayes@cygnus.com>
8817169689Skan
8818169689Skan	* loop.h (LOOP_IVS): New macro.
8819169689Skan	(REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
8820169689Skan	(struct loop_ivs): New.
8821169689Skan	(struct loop_info): Add ivs field.
8822169689Skan	(reg_iv_type, reg_iv_info): Delete prototype.
8823169689Skan	(reg_biv_class, loop_iv_list): Likewise.
8824169689Skan	* loop.c (record_biv, find_life_end): Pass loop argument.
8825169689Skan	(reg_iv_type): Remove global array and use
8826169689Skan	field in loop_regs structure within loop_ivs structure.
8827169689Skan	(reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
8828169689Skan	(first_increment_giv, last_increment_giv): Use entry in
8829169689Skan	loop_ivs structure.
8830169689Skan	(record_initial): Pass ivs pointer.
8831169689Skan	* unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
8832169689Skan
8833169689Skan2000-09-12  Michael Hayes  <mhayes@cygnus.com>
8834169689Skan
8835169689Skan	* loop.h (LOOP_REGS): New macro.
8836169689Skan	(struct loop_regs): New.
8837169689Skan	(struct loop_info): Add regs field.
8838169689Skan	* loop.c (set_in_loop): Remove global array and store
8839169689Skan	in loop_regs structure as part of loop_info structure.
8840169689Skan	(n_times_set, may_not_optimize): Likewise.
8841169689Skan	(reg_single_usage, moved_once): Likewise.
8842169689Skan	(count_one_set): Add regs argument.
8843169689Skan	(combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
8844169689Skan	(set_pseudo_multiple_uses): Pass regs pointer.
8845169689Skan
8846169689Skan2000-09-12  Michael Hayes  <mhayes@cygnus.com>
8847169689Skan
8848169689Skan	* unroll.c (iteration_info): Subsume into loop_iterations.
8849169689Skan	* loop.h (loop_info): New field iv.
8850169689Skan
8851169689Skan2000-09-12  Michael Hayes  <mhayes@cygnus.com>
8852169689Skan
8853169689Skan	* basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
8854169689Skan	(LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
8855169689Skan	(flow_loops_update): New prototype.
8856169689Skan	(flow_loops_find): Add flags to prototype.
8857169689Skan	(struct loop): Add `pre_header_root' and `pre_header_trace' fields.
8858169689Skan	* flow.c (flow_loop_pre_header_scan): New.
8859169689Skan	(flow_loop_dump): Dump pre-header root and trace and exit dominators.
8860169689Skan	(flow_loop_free): Free pre-header root and trace and exit dominators.
8861169689Skan	(flow_loops_find): New argument flags.
8862169689Skan	(flow_loops_update): New function.
8863169689Skan	* toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
8864169689Skan
8865169689Skan2000-09-12  Michael Hayes  <mhayes@cygnus.com>
8866169689Skan
8867169689Skan	* basic-block.h (split_block, update_bb_for_insn): New prototypes.
8868169689Skan	* flow.c (split_block, update_bb_for_insn): New functions.
8869169689Skan
8870169689Skan2000-09-11  Richard Henderson  <rth@cygnus.com>
8871169689Skan
8872169689Skan	* cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
8873169689Skan
8874169689Skan2000-09-11  Richard Henderson  <rth@cygnus.com>
8875169689Skan
8876169689Skan	* config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
8877169689Skan	* config/ia64/ia64.c (fr_nonimmediate_operand): New.
8878169689Skan	(ia64_override_options): Prevent optimizing division for both
8879169689Skan	latency and throughput.
8880169689Skan	(rtx_needs_barrier): Handle frcpa.
8881169689Skan	* config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
8882169689Skan	(MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
8883169689Skan	(TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
8884169689Skan	(TARGET_SWITCHES): Add -minline-divide-min-latency and
8885169689Skan	-minline-divide-max-throughput.
8886169689Skan	(PREDICATE_CODES): Update.
8887169689Skan	* config/ia64/ia64.md (extendsidi2): Remove * from f case.
8888169689Skan	(zero_extendsidi2): Likewise.  Fix typo in f case insn.
8889169689Skan	(extendsfdf2): Add cases for gr<->fr and fr<->mem.
8890169689Skan	(extendsftf2): Likewise.
8891169689Skan	(extenddftf2): Likewise.
8892169689Skan	(fix_trunctfdi2_alts): New.
8893169689Skan	(fixuns_trunctfdi2_alts): New.
8894169689Skan	(madd*4): Rename from madd*3.
8895169689Skan	(divsi3, modsi3, udivsi3, umodsi3): New.
8896169689Skan	(divsi3_internal): New.
8897169689Skan	(divdi3, moddi3, udivdi3, umoddi3): New.
8898169689Skan	(divdi3_internal_lat, divdi3_internal_thr): New.
8899169689Skan	(multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
8900169689Skan	(recip_approx): New.
8901169689Skan
8902169689Skan2000-09-11  Alexandre Oliva  <aoliva@redhat.com>
8903169689Skan
8904169689Skan	* print-rtl.c (debug_call_placeholder_verbose): New variable.
8905169689Skan	(print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
8906169689Skan	set.
8907169689Skan	* integrate.c (copy_rtx_and_substitute): Don't share
8908169689Skan	LEAF_REG_REMAPpable registers with the inlined function.  Don't
8909169689Skan	share the function value with calling sequences.
8910169689Skan
8911169689Skan2000-09-11  Jakub Jelinek  <jakub@redhat.com>
8912169689Skan
8913169689Skan	* c-decl.c (do_case): Fix a typo.
8914169689Skan
8915169689Skan	* combine.c (simplify_if_then_else): Don't convert a == b ? b : a
8916169689Skan	to a if the comparison is floating mode and not -ffast-math.
8917169689Skan	* simplify-rtx.c (simplify_ternary_operation): Likewise.
8918169689Skan
8919169689SkanMon Sep 11 20:07:48 2000  J"orn Rennecke <amylaar@redhat.co.uk>
8920169689Skan
8921169689Skan	* sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
8922169689Skan	gen_ic_invalidate_line.
8923169689Skan
8924169689Skan2000-09-11  Philip Blundell  <pb@futuretv.com>
8925169689Skan
8926169689Skan	* config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
8927169689Skan
8928169689SkanMon Sep 11 10:48:41 2000  Ulrich Drepper <drepper@redhat.com>
8929169689Skan
8930169689Skan	* install.texi (LANGUAGES): Update to include new languages.
8931169689Skan	* INSTALL: Rebuilt.
8932169689Skan
8933169689Skan2000-09-11  DJ Delorie  <dj@redhat.com>
8934169689Skan
8935169689Skan	* gcc.c (main): Don't warn about unused -B prefixes
8936169689Skan	(unused_prefix_warnings): remove
8937169689Skan
8938169689Skan2000-09-11  Kazu Hirata  <kazu@hxi.com>
8939169689Skan
8940169689Skan	* final.c: Fix formatting.
8941169689Skan
8942169689Skan	* integrate.c: Fix formatting.
8943169689Skan
8944169689Skan2000-09-11  Geoff Keating  <geoffk@cygnus.com>
8945169689Skan
8946169689Skan	* alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
8947169689Skan
8948169689Skan2000-09-11  Bernd Schmidt  <bernds@redhat.co.uk>
8949169689Skan
8950169689Skan	* reload.c (regno_clobbered_p): Fix thinko in previous change.
8951169689Skan
8952169689Skan2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8953169689Skan
8954169689Skan	* gcc.1: Document 68hc11 specific options.
8955169689Skan
8956169689Skan2000-09-10  Geoff Keating  <geoffk@cygnus.com>
8957169689Skan
8958169689Skan	* config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
8959169689Skan	(TARGET_LONG_DOUBLE_128): Define.
8960169689Skan	(SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
8961169689Skan	(LONG_DOUBLE_TYPE_SIZE): Redefine.
8962169689Skan	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
8963169689Skan	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
8964169689Skan	of __LONG_DOUBLE_128__.
8965169689Skan	(CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
8966169689Skan	passed.
8967169689Skan	(CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
8968169689Skan	(CPP_SYSV_DEFAULT_SPEC): Define.
8969169689Skan	(SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
8970169689Skan	(INIT_TARGET_OPTABS): Define.
8971169689Skan
8972169689Skan	* config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
8973169689Skan	(RS6000_UITRUNC): Likewise.
8974169689Skan	(INIT_TARGET_OPTABS): New macro.
8975169689Skan	* config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
8976169689Skan	(trunc_defined): Delete.
8977169689Skan	(output_prolog): Don't output .extern definitions for fp->int
8978169689Skan	conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
8979169689Skan	* config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
8980169689Skan	(trunc_defined): Delete.
8981169689Skan	(RS6000_ITRUNC): Moved to aix.h.
8982169689Skan	(RS6000_UITRUNC): Likewise.
8983169689Skan	* config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
8984169689Skan	only emit a libcall.
8985169689Skan	(fixuns_truncdfsi2): Delete.
8986169689Skan	(trunc_call): Delete.
8987169689Skan	(trunc_call_rtl): Delete.
8988169689Skan
8989169689Skan2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
8990169689Skan
8991169689Skan	* varasm.c (make_decl_rtl): Restore leading star on
8992169689Skan	DECL_ASSEMBLER_NAME set for decls with an asmspec.
8993169689Skan
8994169689Skan2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
8995169689Skan
8996169689Skan	* c-pragma.c (handle_pragma_pack): Correct parsing logic so it
8997169689Skan	won't give a spurious error for '#pragma pack()'.  Simplify
8998169689Skan	control flow for readability.  'reset' action is not necessary.
8999169689Skan
9000169689Skan2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
9001169689Skan
9002169689Skan	* defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
9003169689Skan	SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
9004169689Skan	LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
9005169689Skan	DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
9006169689Skan
9007169689Skan	* cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
9008169689Skan	profile.c, sdbout.c, tradcif.y, tree.c:
9009169689Skan	Include defaults.h if not already included.
9010169689Skan	Don't define the above macros.
9011169689Skan
9012169689Skan	* Makefile.in: Update dependencies.
9013169689Skan
9014169689Skan2000-09-10  Mark Mitchell  <mark@codesourcery.com>
9015169689Skan
9016169689Skan	* c-common.h (add_stmt): Change prototype.
9017169689Skan	(RECHAIN_STMTS): New macro.
9018169689Skan	(CASE_LABEL_DECL): Likewise.
9019169689Skan	(genrtl_case_label): Change prototype.
9020169689Skan	(c_expand_start_case): Remove prototype.
9021169689Skan	(build_case_label): Change prototype.
9022169689Skan	(decl_constant_value): Declare.
9023169689Skan	* c-common.c (check_case_value): Handle C++'s extensions to C
9024169689Skan	semantics.
9025169689Skan	* c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
9026169689Skan	field.
9027169689Skan	* c-parse.in (stmt): Adjust handling of return statements and case
9028169689Skan	laels.
9029169689Skan	* c-semantics.c (add_stmt): Return the new statement.
9030169689Skan	(genrtl_return_stmt): Take the RETURN_STMT as input, not the
9031169689Skan	returned expression.  Directly generate RTL, rather than calling
9032169689Skan	c_expand_return.
9033169689Skan	(genrtl_switch_stmt): Don't call c_expand_start_case.
9034169689Skan	(build_case_label): Take the LABEL_DECL as input, too.
9035169689Skan	(genrtl_case_label): Just call add_case_node.
9036169689Skan	(expand_stmt): Adjust calls to genrtl_return_stmt and
9037169689Skan	genrtl_case_label.
9038169689Skan	* c-tree.h (c_expand_start_case): Declare.
9039169689Skan	* c-typeck.c (decl_constant_value): Give it external linkage.
9040169689Skan	(c_expand_return): Don't call expand_return or expand_null_return;
9041169689Skan	use genrtl_return_stmt instead.
9042169689Skan	* stmt.c (struct nesting): Remove num_ranges field.
9043169689Skan	(add_case_node): Give it external linkage.
9044169689Skan	(expand_start_case): Don't set num_ranges.
9045169689Skan	(expand_start_case_dummy): Don't clear it.
9046169689Skan	(pushcase): Rely on add_case_node to handle `default' labels.
9047169689Skan	(add_case_node): Handle `default' labels.
9048169689Skan	* tree.c (tree_int_cst_compare): New function.
9049169689Skan	* tree.h (tree_int_cst_compare): Declare.
9050169689Skan	(add_case_node): Likewise.
9051169689Skan
9052169689Skan2000-09-10  Richard Henderson  <rth@cygnus.com>
9053169689Skan
9054169689Skan	* c-parse.in: Revert last change.
9055169689Skan	(init_reswords): Do not enter disabled keywords into the ridpointers
9056169689Skan	table, modulo objc weirdness.
9057169689Skan	(_yylex): Return the canonical spelling for a keyword.
9058169689Skan
9059169689Skan2000-09-10  Philip Blundell  <philb@gnu.org>
9060169689Skan
9061169689Skan	* config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'.
9062169689Skan	* config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'.
9063169689Skan
9064169689SkanSun Sep 10 14:30:28 EDT 2000  John Wehle  (john@feith.com)
9065169689Skan
9066169689Skan	* alias.c (find_base_term): Handle ADDRESSOF.
9067169689Skan	(memrefs_conflict_p): An ADDRESSOF doesn't conflict.
9068169689Skan
9069169689Skan2000-09-10  Denis Chertykov  <denisc@overta.ru>
9070169689Skan
9071169689Skan	* genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
9072169689Skan	outputting templates with many lines.
9073169689Skan
9074169689Skan2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9075169689Skan
9076169689Skan	* libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
9077169689Skan	to decide whether 64-bit support must be generated.
9078169689Skan
9079169689Skan2000-09-10  Richard Henderson  <rth@cygnus.com>
9080169689Skan
9081169689Skan	* c-parse.in (asm patterns): Fix volatile check.
9082169689Skan
9083169689Skan2000-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9084169689Skan
9085169689Skan	* cppmacro.c (check_trad_stringification): New function.
9086169689Skan	(save_expansion): If -Wtraditional, warn about stringification of
9087169689Skan	macro arguments.
9088169689Skan
9089169689Skan2000-09-11  Michael Hayes  <mhayes@cygnus.com>
9090169689Skan
9091169689Skan	* loop.h (struct loop_mem_info): Move from loop.c
9092169689Skan	(struct loop_info): Add fields store_mems, mems, mems_idx,
9093169689Skan	mems_allocated, unknown_address_altered,
9094169689Skan	unknown_constant_address_altered, num_mem_sets, and
9095169689Skan	first_loop_store_insn.
9096169689Skan
9097169689Skan	* loop.c (loop_store_mems): Replace with field in loop_info struct.
9098169689Skan	(loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
9099169689Skan	(unknown_address_altered, unknown_constant_address_altered): Likewise.
9100169689Skan	(num_mem_sets): Likewise.
9101169689Skan	(replace_loop_mems, replace_loop_regs): New.
9102169689Skan	(struct loop_replace_args): New.
9103169689Skan	(load_mems): Use replace_loop_mems.
9104169689Skan	(try_copy_prop): Use replace_loop_regs.
9105169689Skan	(replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.
9106169689Skan
9107169689Skan2000-09-09  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9108169689Skan
9109169689Skan	* configure.in: Recognize m6811-elf and m6812-elf.
9110169689Skan	* configure: Regenerate.
9111169689Skan
9112169689Skan2000-09-09  Geoff Keating  <geoffk@cygnus.com>
9113169689Skan
9114169689Skan	* recog.c (validate_replace_rtx_1): Correct MODE parameter in call
9115169689Skan	to operand_subword.
9116169689Skan
9117169689Skan2000-09-10  Michael Hayes  <mhayes@cygnus.com>
9118169689Skan
9119169689Skan	* loop.c (struct movables): New.
9120169689Skan	(num_movables): Move into struct movables.
9121169689Skan	(the_movables): Change type to struct movables.
9122169689Skan	(ignore_some_movables): Change struct movable arg to struct movables.
9123169689Skan	(force_movables, combine_movables, regs_match_p): Likewise.
9124169689Skan	(rtx_equal_for_loop_p, move_movables): Likewise.
9125169689Skan	(scan_loop): Change movables to be of type struct movables.
9126169689Skan	Replace last_movable with field in movables structure.
9127169689Skan
9128169689Skan2000-09-08  Zack Weinberg  <zack@wolery.cumb.org>
9129169689Skan
9130169689Skan	* c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
9131169689Skan	(init_pragma): Avoid warning if pfile happens to be unused.
9132169689Skan	* c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS.  Never
9133169689Skan	define init_pragma to nothing.  Always prototype
9134169689Skan	init_pragma.  Prototype dispatch_pragma if !USE_CPPLIB.
9135169689Skan
9136169689Skan	* c-lex.c (process_directive): Always call dispatch_pragma.
9137169689Skan	Initialize entering_c_header to 0.
9138169689Skan
9139169689Skan2000-09-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9140169689Skan
9141169689Skan	* config/m68hc11/m68hc11.md: New file, machine description for
9142169689Skan	68HC11 & 68HC12.
9143169689Skan	* config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12.
9144169689Skan	* config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12.
9145169689Skan	* config/m68hc11/m68hc12.h: New file, definitions for 68HC12.
9146169689Skan	* config/m68hc11/m68hc11-protos.h: New file.
9147169689Skan	* config/m68hc11/m68hc11-crt0.S: New file, startup code.
9148169689Skan	* config/m68hc11/t-m68hc11-gas: New file, makefile fragment.
9149169689Skan	* config/m68hc11/xm-m68hc11.h: New file, target defs.
9150169689Skan	* config/m68hc11/larith.asm: New file, libgcc routines.
9151169689Skan
9152169689Skan2000-09-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9153169689Skan
9154169689Skan	* Makefile.in (DPBIT_FUNCS): Add _usi_to_df.
9155169689Skan	(FPBIT_FUNCS): Add _usi_to_sf.
9156169689Skan	* config/fp-bit.c (usi_to_float): New function.
9157169689Skan	* config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define.
9158169689Skan	(usi_to_float): Add appropriate #define.
9159169689Skan
9160169689Skan2000-09-08  Bernd Schmidt  <bernds@redhat.co.uk>
9161169689Skan
9162169689Skan	* i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare
9163169689Skan	new functions.
9164169689Skan	* i386.c (sse_comparison_operator, mmx_reg_operand): New functions.
9165169689Skan	* i386.md (attr "type"): Add sse and mmx types.
9166169689Skan	(attr "memory"): Handle them without a crash.
9167169689Skan	(movsi_1, movdi_2): Allow MMX regs.
9168169689Skan	(movdi splits): Don't split moves involving MMX regs.
9169169689Skan	(setcc_4): Remove '*' from pattern name so we get a gen_setcc4.
9170169689Skan	(movv4sf_internal, movv4si_internal, movv8qi_internal,
9171169689Skan	movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si,
9172169689Skan	movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si,
9173169689Skan	sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq,
9174169689Skan	sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps,
9175169689Skan	sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps,
9176169689Skan	addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3,
9177169689Skan	divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2,
9178169689Skan	sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3,
9179169689Skan	sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
9180169689Skan	vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
9181169689Skan	smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
9182169689Skan	cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3,
9183169689Skan	addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3,
9184169689Skan	subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
9185169689Skan	mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
9186169689Skan	mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3,
9187169689Skan	mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw,
9188169689Skan	eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3,
9189169689Skan	smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3,
9190169689Skan	lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3,
9191169689Skan	mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
9192169689Skan	mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
9193169689Skan	mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti,
9194169689Skan	mmx_clrdi): New patterns.
9195169689Skan
9196169689Skan2000-09-08  Richard Earnshaw  <rearnsha@arm.com>
9197169689Skan
9198169689Skan	* arm.c: Don't include tm.h directly.
9199169689Skan
9200169689SkanFri Sep  8 14:34:56 MET DST 2000  Jan Hubicka  <jh@suse.cz>
9201169689Skan
9202169689Skan	* recog.c (validate_replace_rtx_1): Fix confusion about equality
9203169689Skan	testing; simplify subregs of constants and nested subregs.
9204169689Skan
9205169689Skan2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
9206169689Skan
9207169689Skan	* config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
9208169689Skan
9209169689Skan2000-09-08  Bernd Schmidt  <bernds@redhat.co.uk>
9210169689Skan
9211169689Skan	* combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a
9212169689Skan	VEC_CONCAT.
9213169689Skan	* rtl.texi (description of USE): Add note about possible pitfalls
9214169689Skan	with this rtx.
9215169689Skan	From Richard Henderson:
9216169689Skan	* reload1.c (choose_reload_regs): Compute need_mode properly.
9217169689Skan
9218169689Skan2000-09-07  Richard Henderson  <rth@cygnus.com>
9219169689Skan
9220169689Skan	* config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
9221169689Skan	(__modsi3, __umodsi3): Likewise.
9222169689Skan	(__udivsi3): Likewise.  Normalize the TFmode values.
9223169689Skan
9224169689Skan2000-09-07  Geoff Keating  <geoffk@cygnus.com>
9225169689Skan
9226169689Skan	* config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
9227169689Skan	with a prototype.
9228169689Skan	* config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
9229169689Skan	warning.
9230169689Skan
9231169689SkanFri Sep  8 03:26:38 2000  J"orn Rennecke <amylaar@redhat.co.uk>
9232169689Skan
9233169689Skan	* sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove.
9234169689Skan	(cmpeqdi_t): Add output pattern.
9235169689Skan	(cmpeqdi_t+1): Don't split when not optimizing.
9236169689Skan	Restore proper splitting operation.
9237169689Skan
9238169689Skan2000-09-07  Richard Henderson  <rth@cygnus.com>
9239169689Skan
9240169689Skan	* c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
9241169689Skan	do not call dispatch_pragma.
9242169689Skan
9243169689Skan2000-09-07  Jim Wilson  <wilson@cygnus.com>
9244169689Skan
9245169689Skan	* reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition
9246169689Skan	to CLASS_CANNOT_CHANGE_MODE.
9247169689Skan	* config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the
9248169689Skan	mode classes are different.
9249169689Skan
9250169689Skan2000-09-07  Zack Weinberg  <zack@wolery.cumb.org>
9251169689Skan
9252169689Skan	* cpplib.h (struct cpp_options): Add user_label_prefix member,
9253169689Skan	left out of commit which removed cppulp.c.
9254169689Skan
9255169689Skan2000-09-07  Richard Henderson  <rth@cygnus.com>
9256169689Skan
9257169689Skan	* bb-reorder.c (fixup_reorder_chain): Add jump in new block
9258169689Skan	after switch for CASE_DROPS_THROUGH.
9259169689Skan
9260169689Skan2000-09-07  Richard Henderson  <rth@cygnus.com>
9261169689Skan
9262169689Skan	* loop.c (strength_reduce): Call check_ext_dependant_givs.
9263169689Skan	Properly extend the biv initial value for the giv.
9264169689Skan	(record_biv): Zero ext_dependant.
9265169689Skan	(record_giv): New argument ext_val.  Update all callers.
9266169689Skan	(general_induction_var): Likewise.
9267169689Skan	(consec_sets_giv): Likewise.
9268169689Skan	(simplify_giv_expr): Likewise.  Fill in ext_val if we find
9269169689Skan	a sign-extend, zero-extend, or truncate.
9270169689Skan	(combine_givs_p): Make sure modes are compatible.
9271169689Skan	(check_ext_dependant_givs): New.
9272169689Skan	(extend_value_for_giv): New.
9273169689Skan	* loop.h (struct induction): Add ext_dependant.
9274169689Skan	* unroll.c (iteration_info): Extend the biv initial value for the giv.
9275169689Skan	(find_splittable_givs): Likewise.
9276169689Skan	(final_giv_value): Likewise.
9277169689Skan
9278169689Skan2000-09-07  Zack Weinberg  <zack@wolery.cumb.org>
9279169689Skan
9280169689Skan	* c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
9281169689Skan	REGISTER_TARGET_PRAGMAS is defined.  Duplicate some
9282169689Skan	definitions from cpplib.h.
9283169689Skan	* cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
9284169689Skan	already done it.
9285169689Skan	* tm.texi: Document HANDLE_PRAGMA as no longer supported.  Add
9286169689Skan	documentation for REGISTER_TARGET_PRAGMAS.
9287169689Skan
9288169689Skan	* c-lex.c: Include cpplib.h before c-pragma.h.  Define a
9289169689Skan	default-pragma callback to implement -Wunknown-pragmas if
9290169689Skan	USE_CPPLIB.
9291169689Skan	* c-parse.in: Move all includes to top of file.
9292169689Skan	* c-pragma.c: Include cpplib.h before c-pragma.h.  Include
9293169689Skan	tm_p.h.
9294169689Skan	(dispatch_pragma): Put the namespace in the -Wunknown-pragmas
9295169689Skan	warning.
9296169689Skan	(init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
9297169689Skan
9298169689Skan	* arm.h, arm-protos.h, arm.c,
9299169689Skan	  c4x.h, c4x-protos.h, c4x.c,
9300169689Skan	  h8300.h, h8300-protos.h, h8300.c,
9301169689Skan	  i370.h, i370-protos.h, i370.c,
9302169689Skan	  i960.h, i960-protos.h, i960.c,
9303169689Skan	  sh.h, sh-protos.h, sh.c,
9304169689Skan	  v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
9305169689Skan	pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
9306169689Skan
9307169689Skan	* d30v.h: Don't mention HANDLE_PRAGMA in comment.  Add
9308169689Skan	multiple include guard.
9309169689Skan	* i370.md (untyped_call): Use GEN_CALL.
9310169689Skan	(umodsi3): Remove unused variable.
9311169689Skan	* sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
9312169689Skan	* v850.c (output_move_single, output_move_double): Constify
9313169689Skan	return value.
9314169689Skan	(print_operand): Constify a char *.
9315169689Skan	* v850.h (struct small_memory_info): Constify name member.
9316169689Skan
9317169689Skan2000-09-07  Kazu Hirata  <kazu@hxi.com>
9318169689Skan
9319169689Skan	* config/h8300.h: Fix comment typos.
9320169689Skan	* config/h8300/h8300.md: Likewise.
9321169689Skan	* config/h8300/lib1funcs.asm: Likewise.
9322169689Skan
9323169689SkanThu 07-Sep-2000 21:29:00 BST  Neil Booth  <NeilB@earthling.net>
9324169689Skan
9325169689Skan	* Makefile.in: Remove references to cppulp.{c,o}.
9326169689Skan	* cppinit.c (initialize_builtins, cpp_start_read,
9327169689Skan	cpp_handle_option): Update to use cpp_options structure.
9328169689Skan	* cppulp.c: Remove.
9329169689Skan
9330169689Skan2000-09-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9331169689Skan
9332169689Skan	* c-common.c (time_char_table): Allow %#b and %#h.
9333169689Skan
9334169689Skan2000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9335169689Skan
9336169689Skan	* reorg.c (find_end_label): If the basic block reorder pass moves the
9337169689Skan	return insn to some other place try to locate it again and put our
9338169689Skan	end_of_function_label there.
9339169689Skan	* reorg.c (relax_delay_slots): Check if find_end_label created a
9340169689Skan	new label that invalidates the current optimazation.
9341169689Skan
9342169689Skan2000-09-07  Catherine Moore  <clm@redhat.com>
9343169689Skan
9344169689Skan	* unroll.c (unroll_loop): Check for unconditional jumps
9345169689Skan	to loop continuation.  Delete if n_iterations is 1.
9346169689Skan	(ujump_to_loop_cont): New routine.
9347169689Skan
9348169689Skan2000-09-07  Bernd Schmidt  <bernds@redhat.co.uk>
9349169689Skan
9350169689Skan	* rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and
9351169689Skan	MODE_VECTOR_FLOAT.
9352169689Skan	* reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
9353169689Skan	to handle multiword modes correctly.  All callers and the declaration
9354169689Skan	changed.
9355169689Skan
9356169689Skan2000-09-06  Mark Mitchell  <mark@codesourcery.com>
9357169689Skan
9358169689Skan	* c-common.h (prep_stmt): Declare.
9359169689Skan	(lang_expand_stmt): Likewise.
9360169689Skan	* c-decl.c (lang_expand_stmt): Remove.
9361169689Skan	* c-semantics.c (lang_expand_stmt): Define.
9362169689Skan	(prep_stmt): New function.
9363169689Skan	(expand_stmt): Handle common statement types here.
9364169689Skan
9365169689Skan2000-09-07  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
9366169689Skan
9367169689Skan	* configure.in (sh-*-linux*): Added.
9368169689Skan	* configure: Rebuilt.
9369169689Skan	* config/sh/t-linux: New file.
9370169689Skan	* config/sh/sh.h (USERMODE_BIT): Define.
9371169689Skan	(TARGET_USERMODE): Likewise.
9372169689Skan	(TARGET_SWITCHES): New switches for the bits above.
9373169689Skan	(INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
9374169689Skan	* config/sh/linux.h: New file.
9375169689Skan	* config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
9376169689Skan	underscore on linux.
9377169689Skan	(L_sdivsi3, L_udivsi3): Define for linux.
9378169689Skan	(L_ic_invalidate): Define.
9379169689Skan	* invoke.texi (SH Options): Document -musermode.
9380169689Skan
9381169689Skan2000-09-07  Alexandre Oliva  <aoliva@redhat.com>
9382169689Skan
9383169689Skan	* config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
9384169689Skan	CSE unless generating PIC.
9385169689Skan
9386169689Skan	* config/sh/sh.md (symPLT_label2reg): Force the initialization of
9387169689Skan	the PIC register.
9388169689Skan
9389169689Skan2000-09-06  H.J. Lu  (hjl@gnu.org)
9390169689Skan
9391169689Skan	* Makefile.in (clean_s1): Depend on stage_b.
9392169689Skan	(clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
9393169689Skan	stage2. They are used for "make compare".
9394169689Skan
9395169689Skan2000-09-06  Mark Mitchell  <mark@codesourcery.com>
9396169689Skan
9397169689Skan	Move statement-tree facilities from C++ to C front-end.
9398169689Skan	* c-common.h (c_tree_index): Add CTI_VOID_ZERO.
9399169689Skan	(void_zero_node): New macro.
9400169689Skan	(struct stmt_tree_s): New type.
9401169689Skan	(stmt_tree): New typedef.
9402169689Skan	(struct language_function): New type.
9403169689Skan	(last_tree): New macro.
9404169689Skan	(last_expr_type): Likewise.
9405169689Skan	(walk_tree_fn): New typedef.
9406169689Skan	(current_stmt_tree): New function.
9407169689Skan	(begin_stmt_tree): Likewise.
9408169689Skan	(add_stmt): Likewise.
9409169689Skan	(finish_stmt_tree): Likewise.
9410169689Skan	(statement_code_p): Likewise.
9411169689Skan	(lang_statement_code_p): New variable.
9412169689Skan	(walk_stmt_tree): New function.
9413169689Skan	(STMT_IS_FULL_EXPR_P): New macro.
9414169689Skan	* c-common.c (lang_statement_code_p): New variable.
9415169689Skan	(c_common_nodes_and_builtins): Initialize void_zero_node.
9416169689Skan	(statement_code_p): New function.
9417169689Skan	(walk_stmt_tree): Likewise.
9418169689Skan	* c-decl.c (language_function): Rename to ...
9419169689Skan	(c_language_function): ... this.  Include language_function.
9420169689Skan	(push_c_function_context): Adjust accordingly.
9421169689Skan	(pop_c_function_context): Likewise.
9422169689Skan	(mark_c_function_context): Likewise.
9423169689Skan	(current_stmt_tree): Define.
9424169689Skan	* c-semantics.c (begin_stmt_tree): New function.
9425169689Skan	(add_stmt): Likewise.
9426169689Skan	(prune_unused_decls): Likewise.
9427169689Skan	(finish_stmt_tree): Likewise.
9428169689Skan
9429169689Skan2000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9430169689Skan
9431169689Skan	* flow.c (insn_dead_p): Detect dead memory stores with auto increments.
9432169689Skan
9433169689Skan2000-09-06  Kazu Hirata  <kazu@hxi.com>
9434169689Skan
9435169689Skan	* calls.c: Fix formatting.
9436169689Skan
9437169689Skan2000-09-06  Graham Stott  <grahams@cygnus.co.uk>
9438169689Skan
9439169689Skan	* config/i386/i386.h (ADDRESS_COST): Fix typo.
9440169689Skan
9441169689Skan2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
9442169689Skan
9443169689Skan	Integrated preprocessor.
9444169689Skan
9445169689Skan	* Makefile.in: Remove all references to c-parse.gperf,
9446169689Skan	c-gperf.h, and c-parse.h.  Remove -d from yacc command line
9447169689Skan	generating c-parse.c.  Update dependencies.
9448169689Skan	* c-parse.gperf, c-gperf.h: Delete.
9449169689Skan
9450169689Skan	* c-common.c: Don't define parse_options, cpp_token, yy_cur,
9451169689Skan	yy_lim, or yy_get_token.  Don't define get_directive_line if
9452169689Skan	USE_CPPLIB.
9453169689Skan	* c-common.h: Add multiple include guard.  Define RID values
9454169689Skan	for every keyword in C, C++, and Objective-C.  Put all the
9455169689Skan	modifiers first.
9456169689Skan	(struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
9457169689Skan	* c-decl.c (c_decode_option): Handle -lang-objc here.
9458169689Skan	(print_lang_identifier): Handle C_IS_RESERVED_WORD case.
9459169689Skan	(grokdeclarator): Adjust for new RID scheme.
9460169689Skan	(extract_interface_info): New stub.
9461169689Skan	* c-lang.c: Don't declare yy_cur or parse_options.
9462169689Skan	(lang_init_options): Call cpp_init.  Don't call
9463169689Skan	cpp_options_init.
9464169689Skan	(lang_init): Don't call check_newline if USE_CPPLIB.
9465169689Skan
9466169689Skan	* c-lex.c: Don't include c-parse.h.  Do include timevar.h.
9467169689Skan	Elide lots of unnecessary code if USE_CPPLIB.  Delete code
9468169689Skan	rendered unnecessary by new architecture.  Move routines not
9469169689Skan	shared with C++ to c-parse.in.  Maintain a local idea of the
9470169689Skan	line number.    Handle C++ as well as C.
9471169689Skan	[USE_CPPLIB]: Declare and register callbacks for #ident and
9472169689Skan	for entering/leaving files.
9473169689Skan	(init_c_lex, c_lex): Are now the entry points to this file.
9474169689Skan	(check_newline): Break out directive handling to
9475169689Skan	process_directive.
9476169689Skan	(read_ucs, is_extended_char, utf8_extend_token): Moved here
9477169689Skan	from C++ front end.
9478169689Skan	(readescape, parse_float): Overhaul.
9479169689Skan	(lex_number, lex_string, lex_charconst): Break out of c_lex
9480169689Skan	(n'ee yylex).
9481169689Skan	(get_fileinfo, update_header_times, dump_one_header,
9482169689Skan	dump_time_statistics): New and/or moved here from C++.
9483169689Skan	Support per-file data needed by C++ and per-header timing
9484169689Skan	statistics (C++ only, at the moment).
9485169689Skan	* c-lex.h: Update prototypes.  Add multiple include guard.
9486169689Skan	* c-tree.h (struct lang_identifier): Add rid_code field.
9487169689Skan	(C_IS_RESERVED_WORD, C_RID_CODE): New.
9488169689Skan
9489169689Skan	* c-parse.in: Include c-pragma.h. Remove unnecesary calls to
9490169689Skan	reinit_parse_for_function and/or position_after_white_space.
9491169689Skan	(save_filename, save_lineno): Look ahead before saving.
9492169689Skan	(label -> identifier ':'): Save file and line before shifting ':'.
9493169689Skan	(reservedwords): No need to call get_identifier.
9494169689Skan	(init_parse, finish_parse, yyerror, yylex, yyprint,
9495169689Skan	make_pointer_declarator): Are now here for C/ObjC.
9496169689Skan	(rid_to_yy): Conversion table from RID constants to Yacc codes.
9497169689Skan
9498169689Skan	* c-pragma.c: Rewrite parsing logic to fit with cpplib's
9499169689Skan	#pragma registry.  Provide dummy implementation of that
9500169689Skan	interface if !USE_CPPLIB.
9501169689Skan	* c-pragma.h: Update to match.
9502169689Skan
9503169689Skan	* flags.h: Add multiple include guard.
9504169689Skan	(flag_detailed_statistics): Moved here from C++.
9505169689Skan	* toplev.c: Define flag_detailed_statistics.
9506169689Skan
9507169689Skan	* gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
9508169689Skan	#if USE_CPPLIB.
9509169689Skan	* timevar.def (TV_CPP, TV_LEX): New.
9510169689Skan	* timevar.h: Add multiple include guard.
9511169689Skan
9512169689Skan	* objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
9513169689Skan	#if USE_CPPLIB.
9514169689Skan	* objc/objc-act.c: Don't mention yy_cur or parse_options.
9515169689Skan	Initialize cpplib properly.  Force lineno to 0 after first
9516169689Skan	call to check_newline.  Don't handle -lang-objc here.
9517169689Skan	Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
9518169689Skan
9519169689Skan2000-09-06  David Edelsohn  <edelsohn@gnu.org>
9520169689Skan
9521169689Skan	* rs6000.md: Correct function unit definitions for cr_logical and
9522169689Skan	mtjmpr.
9523169689Skan	(sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
9524169689Skan	and use portable method for >=0 and floating point >=.  Remove
9525169689Skan	associated matchers.
9526169689Skan
9527169689Skan2000-09-06  Mark Mitchell  <mark@codesourcery.com>
9528169689Skan
9529169689Skan	* extend.texi: Mark named return value extension as deprecated.
9530169689Skan
9531169689Skan2000-09-06  Geoff Keating  <geoffk@cygnus.com>
9532169689Skan
9533169689Skan	* config/rs6000/rs6000.c (rs6000_reverse_condition): Return
9534169689Skan	the result.
9535169689Skan
9536169689Skan2000-09-06  Gabriel Dos Reis  <gdr@codesourcery.com>
9537169689Skan
9538169689Skan	* toplev.c (display_help): Fix thinko in documentation.
9539169689Skan
9540169689Skan	* diagnostic.h (output_buffer::indent_skip): New fields.
9541169689Skan	(output_indentation): New macro.
9542169689Skan
9543169689Skan	* diagnostic.c (output_indent): New function.
9544169689Skan	(output_set_prefix, clear_diagnostic_info): Use.
9545169689Skan	(output_emit_prefix): Predict future indentation.
9546169689Skan
9547169689Skan2000-09-06  DJ Delorie  <dj@redhat.com>
9548169689Skan
9549169689Skan	* Makefile.in (stage_*): add more dependencies to ensure parallel
9550169689Skan	builds build correctly
9551169689Skan
9552169689Skan2000-09-06  Manfred Hollstein  <manfredh@redhat.com>
9553169689Skan
9554169689Skan	* Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
9555169689Skan	not bootstrap-lean_f.
9556169689Skan
9557169689Skan2000-09-06  Andreas Schwab  <schwab@suse.de>
9558169689Skan
9559169689Skan	* mklibgcc.in: Emit rule for libgcc-stage-start.
9560169689Skan	* Makefile.in (stage1-start, stage2-start, stage3-start,
9561169689Skan	stage4-start): Don't handle libgcc here, use libgcc.mk instead.
9562169689Skan
9563169689Skan2000-09-06  Bernd Schmidt  <bernds@redhat.co.uk>
9564169689Skan
9565169689Skan	* local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED.
9566169689Skan	(update_equiv_regs): Likewise, except for the mn10200 kludge.
9567169689Skan	(combine_regs): Likewise.
9568169689Skan
9569169689Skan	* Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H).
9570169689Skan	* cse.c: Include "basic-block.h".
9571169689Skan	(struct table_elt): New field REGCOST.
9572169689Skan	(CHEAP_REG): Delete macro.
9573169689Skan	(COST): Return 0 for REGs.
9574169689Skan	(approx_reg_cost_1, approx_reg_cost, preferrable): New functions.
9575169689Skan	(notreg_cost): Return 0 for appropriate SUBREGs.
9576169689Skan	(COSTS_N_INSNS): Return N * 2.
9577169689Skan	(rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap
9578169689Skan	SUBREGs.
9579169689Skan	(CHEAPER): Use new function preferrable.
9580169689Skan	(insert): Initialize REGCOST member.
9581169689Skan	(find_best_addr): Use approx_reg_cost for estimation of register
9582169689Skan	usage.
9583169689Skan	(cse_insn): Likewise.
9584169689Skan	* loop.c (iv_add_mult_cost): New function.
9585169689Skan	(add_cost, shift_cost, mult_cost): Delete variables.
9586169689Skan	(init_loop): Don't initialize add_cost; reduce copy_cost by half.
9587169689Skan	(strength_reduce): Use iv_add_mult_cost instead of fixed add_cost.
9588169689Skan	Make code that detects autoinc opportunities slightly less optimistic.
9589169689Skan	(simplify_giv_expr): If expression contains other reg that is also a
9590169689Skan	giv, only increment benefit if this is the only use of that reg.
9591169689Skan	(consec_sets_giv): Take that change into account.
9592169689Skan	(combine_givs): Slightly more verbose output.
9593169689Skan
9594169689Skan	* i386.h (RTX_COSTS): For MULT, return true cost of multiplication,
9595169689Skan	not the cost of an equivalent shift.
9596169689Skan	* sh-protos.h (addsubcosts): Declare.
9597169689Skan	* sh.c (addsubcosts): New function.
9598169689Skan	* sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0.
9599169689Skan	(RTX_COSTS): Tweak.  Use addsubcosts.
9600169689Skan	(ADDRESS_COST): Return higher cost for reg+reg addressing.
9601169689Skan
9602169689Skan2000-09-06  Geoff Keating  <geoffk@cygnus.com>
9603169689Skan
9604169689Skan	* config/rs6000/rs6000.c (validate_condition_mode): New function.
9605169689Skan	(branch_comparison_operator): Call validate_condition_mode to
9606169689Skan	abort rather than returning 0.
9607169689Skan	(branch_positive_comparison_operator): New function.
9608169689Skan	(scc_comparison_operator): Call validate_condition_mode to abort
9609169689Skan	rather than returning 0.
9610169689Skan	(ccr_bit): Call validate_condition_mode.  Update for
9611169689Skan	new branch scheme.
9612169689Skan	(print_operand): Delete %C modifier.  Update %E case
9613169689Skan	to use EQ bit not SO bit.
9614169689Skan	(rs6000_reverse_condition): New function.
9615169689Skan	(rs6000_generate_compare): New function.
9616169689Skan	(rs6000_emit_sCOND): New function.
9617169689Skan	(rs6000_emit_cbranch): New function.
9618169689Skan	(output_cbranch): The length of a long branch insn is
9619169689Skan	now only 8 bytes.  Add validate_condition_mode.  Use
9620169689Skan	rs6000_reverse_condition.  Remove cror generation.
9621169689Skan
9622169689Skan	* config/rs6000/rs6000.h: Update comments.
9623169689Skan	(PREDICATE_CODES): Add new predicate.  Update codes used
9624169689Skan	by branch_comparison_operator and scc_comparison_operator.
9625169689Skan	* config/rs6000/rs6000-protos.h: Add prototypes for
9626169689Skan	new external functions.
9627169689Skan	* config/rs6000/rs6000.md: Add new scheduling parameters
9628169689Skan	for cr_logical instructions.  Change length of branch
9629169689Skan	instructions.
9630169689Skan	(bCOND patterns): Call rs6000_emit_cbranch.
9631169689Skan	(sCOND patterns): Call rs6000_emit_sCOND.
9632169689Skan	(branch patterns): Change lengths to 4.
9633169689Skan	(cr logical patterns): New.
9634169689Skan
9635169689Skan2000-09-06  Richard Henderson  <rth@cygnus.com>
9636169689Skan
9637169689Skan	* config/i386/i386.md (call_pop): Fix test for setting
9638169689Skan	current_function_uses_pic_offset_table.
9639169689Skan	(call, call_value_pop, call_value): Likewise.
9640169689Skan
9641169689Skan2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
9642169689Skan
9643169689Skan	* timevar.c (timevar_add): Delete.
9644169689Skan	(timevar_get): Also count time since the selected timer was
9645169689Skan	last updated.  Do not examine the timevar stack if the
9646169689Skan	selected timer is standalone.
9647169689Skan
9648169689Skan2000-09-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
9649169689Skan
9650169689Skan	* gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
9651169689Skan
9652169689Skan2000-09-05  Jason Merrill  <jason@redhat.com>
9653169689Skan
9654169689Skan	* c-decl.c (finish_incomplete_decl): Don't call complete_array_type
9655169689Skan	for 'extern' arrays.
9656169689Skan
9657169689Skan2000-09-05  Richard Henderson  <rth@cygnus.com>
9658169689Skan
9659169689Skan	* config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
9660169689Skan	Eliminate final copy from non-trapping case.
9661169689Skan	(__divdf3, __divsf3): Likewise.
9662169689Skan
9663169689Skan2000-09-05  Richard Henderson  <rth@cygnus.com>
9664169689Skan
9665169689Skan	* config/ia64/ia64.md (mulhi3): Fix typo last change.
9666169689Skan	* config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
9667169689Skan
9668169689Skan2000-09-03  Donn Terry  <donn@interix.com>,  Laurynas Biveinis  <lauras@softhome.net>
9669169689Skan
9670169689Skan	* Makefile.in: Restructure bootstrap stages to allow clean
9671169689Skan	restart after failure.
9672169689Skan
9673169689Skan2000-09-05  Richard Henderson  <rth@cygnus.com>
9674169689Skan
9675169689Skan	* config/ia64.md (movsi and movdi patterns): Allow moves from
9676169689Skan	8-bit constants to AR registers.
9677169689Skan
9678169689Skan2000-09-05  Richard Henderson  <rth@cygnus.com>
9679169689Skan
9680169689Skan	* config/ia64/ia64.md (mulhi3): New.
9681169689Skan
9682169689Skan2000-09-05  Richard Henderson  <rth@cygnus.com>
9683169689Skan
9684169689Skan	* config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove.
9685169689Skan	* config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64
9686169689Skan	Optimization Guide, minimum latency alternative.
9687169689Skan	(__moddi3, __udivdi3, __umoddi3): Likewise.
9688169689Skan	(__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise.
9689169689Skan
9690169689Skan2000-09-05  Bruce Korb  <bkorb@gnu.org>
9691169689Skan
9692169689Skan	* fixinc/fixincl.c (load_file): always read header files
9693169689Skan	with sizes that are a multiple of the page size.
9694169689Skan	& use libiberty's getpagesize for determining that.
9695169689Skan
9696169689Skan2000-09-05  Alexandre Oliva  <aoliva@redhat.com>
9697169689Skan
9698169689Skan	* gcse.c (hash_string_1): Add prototype.
9699169689Skan	* cse.c (canon_hash_string): Likewise.
9700169689Skan
9701169689Skan2000-09-04  Craig Newell  <CraigN@ieee.org>
9702169689Skan
9703169689Skan	* gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
9704169689Skan
9705169689Skan2000-09-04  Andreas Schwab  <schwab@suse.de>
9706169689Skan
9707169689Skan	* Makefile.in (STAGESTUFF): Remove libgcc.
9708169689Skan	(stage1-start, stage2-start, stage3-start): Copy the contents of
9709169689Skan	the libgcc directory explicitly.
9710169689Skan	(mostlyclean): Clean libgcc.
9711169689Skan
9712169689Skan2000-09-04  Andrew Haley  <aph@redhat.com>
9713169689Skan
9714169689Skan	* dwarf2out.c: (stack_adjust_offset): New prototype.
9715169689Skan
9716169689SkanWed Jan  1 00:23:59 MET 1997  Jan Hubicka  <jh@suse.cz>
9717169689Skan
9718169689Skan	* combine.c (make_extraction): Fix rtx_cost comparison to
9719169689Skan	match the comment.
9720169689Skan
9721169689SkanWed Jan  1 00:17:32 MET 1997  Jan Hubicka  <jh@suse.cz>
9722169689Skan
9723169689Skan	* i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
9724169689Skan	umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
9725169689Skan	Add '*' to insn pattern name.
9726169689Skan
9727169689Skan2000-09-04  Jakub Jelinek  <jakub@redhat.com>
9728169689Skan
9729169689Skan	* cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
9730169689Skan	use posn - 1 to index into tokens array.
9731169689Skan	(maybe_paste_with_next): Adjust caller.
9732169689Skan
9733169689Skan2000-09-03  Geoff Keating  <geoffk@cygnus.com>
9734169689Skan
9735169689Skan	* invoke.texi: Document the -mvxworks option for rs6000 ELF.
9736169689Skan
9737169689Skan	* config/rs6000/rs6000.h: Update various comments about XER_REGNO.
9738169689Skan	(REGNO_REG_CLASS): Use symbolic register
9739169689Skan	names.
9740169689Skan
9741169689Skan2000-09-03  Richard Earnshaw  <rearnsha@arm.com>
9742169689Skan
9743169689Skan	* arm.c (final_prescan_insn): If the form of a jump insn isn't
9744169689Skan	recognized, don't try to conditionally execute it.
9745169689Skan
9746169689SkanSun Sep  3 13:10:56 2000  Denis Chertykov  <denisc@overta.ru>
9747169689Skan
9748169689Skan	* config/avr/avr.md ("*tablejump_lib"): New pattern.
9749169689Skan	(call_value_insn): Right length claculation.
9750169689Skan	(call_insn): Likewise.
9751169689Skan
9752169689Skan2000-09-02  Marek Michalkiewicz  <marekm@linux.org.pl>
9753169689Skan
9754169689Skan	* config/avr/avr-protos.h, config/avr/avr.c (unique_section,
9755169689Skan	gas_output_limited_string, gas_output_ascii, output_movqi,
9756169689Skan	output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr,
9757169689Skan	out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf,
9758169689Skan	out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out,
9759169689Skan	ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out,
9760169689Skan	lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf,
9761169689Skan	out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info):
9762169689Skan	Add "const" as needed to remove warnings.
9763169689Skan
9764169689Skan	* config/avr/avr.c (avr_override_options, avr_init_once,
9765169689Skan	function_prologue, function_epilogue, frame_pointer_required_p,
9766169689Skan	class_likely_spilled_p, order_regs_for_local_alloc,
9767169689Skan	avr_address_cost, avr_ret_register): Use K&R style arguments.
9768169689Skan	(initial_elimination_offset, gas_output_limited_string):
9769169689Skan	Remove ATTRIBUTE_UNUSED from the used arguments.
9770169689Skan	(output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
9771169689Skan	Use local variables src, dest, base to access operands[].
9772169689Skan	Rename reg_dest to reg_src if that's what it is.
9773169689Skan	(output_movhi, output_movsisf): Optimize loading 8-bit immediate
9774169689Skan	constants to LD_REGS if reg_was_0.
9775169689Skan	(output_reload_insisf): Change arg 3 to insn length and set it.
9776169689Skan	(out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
9777169689Skan	access to 16-bit I/O register pairs.
9778169689Skan	(avr_address_cost): Lower cost for the above case.
9779169689Skan	(out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
9780169689Skan	may be clobbered, also for LD_REGS.
9781169689Skan	(adjust_insn_length): Correct insn length for iorhi3 and iorsi3
9782169689Skan	with a CONST_INT.
9783169689Skan
9784169689Skan	* config/avr/avr.h (PTRDIFF_TYPE): Make signed.
9785169689Skan
9786169689Skan	* config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
9787169689Skan	macro to test_hard_reg_class function.
9788169689Skan	(*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
9789169689Skan	for loading immediate constants to LD_REGS.
9790169689Skan	(andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
9791169689Skan
9792169689Skan
9793169689SkanSat Sep  2 13:58:23 2000  Marek Michalkiewicz <marekm@linux.org.pl>
9794169689Skan
9795169689Skan	* config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__
9796169689Skan	* config/avr/libgcc.S: Lost part of the previous patch.
9797169689Skan
9798169689Skan2000-08-31  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
9799169689Skan
9800169689Skan	* gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
9801169689Skan	object before calling pthread_mutex_init.
9802169689Skan
9803169689Skan2000-09-02  Alexandre Oliva  <aoliva@redhat.com>
9804169689Skan
9805169689Skan	* config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
9806169689Skan	config/sh/crtn.asm: New files.
9807169689Skan	* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
9808169689Skan	(crt1.o, crti.o, crtn.o): New targets.
9809169689Skan	* configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
9810169689Skan	sh/t-elf.
9811169689Skan	* configure: Rebuilt.
9812169689Skan	* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
9813169689Skan	STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
9814169689Skan	* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
9815169689Skan	Undefine for config/elfos.h to redefine.
9816169689Skan	(STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
9817169689Skan
9818169689Skan2000-09-02  Alexandre Oliva  <aoliva@redhat.com>, Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>
9819169689Skan
9820169689Skan	* config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
9821169689Skan	legitimize_pic_address, output_pic_addr_const): Declare.
9822169689Skan	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
9823169689Skan	(PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
9824169689Skan	(TARGET_SWITCHES): New switch -mprefergot.
9825169689Skan	(OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
9826169689Skan	(PIC_OFFSET_TABLE_REGNUM): Define.
9827169689Skan	(GOT_SYMBOL_TABLE): Likewise.
9828169689Skan	(LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
9829169689Skan	(ENCODE_SECTION_INFO): Define.
9830169689Skan	(FINALIZE_PIC): New macros.
9831169689Skan	(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
9832169689Skan	(ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
9833169689Skan	* config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
9834169689Skan	(prepare_move_operands): Call emit_pic_move or
9835169689Skan	emit_pic_const_move if appropriate.
9836169689Skan	(output_far_jump): For PIC, use braf and output long offset.
9837169689Skan	(machine_dependent_reorg):
9838169689Skan	(sh_expand_prologue): Save and initialize the PIC register.
9839169689Skan	(sh_expand_epilogue): Restore it.
9840169689Skan	(initial_elimination_offset): Account for it.
9841169689Skan	(nonpic_symbol_mentioned_p): New function.
9842169689Skan	(legitimize_pic_address): Likewise.
9843169689Skan	(output_pic_addr_const): Likewise.
9844169689Skan	* config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
9845169689Skan	(call, call_value): Use them.
9846169689Skan	(GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
9847169689Skan	symPLT_label2reg): New expands.
9848169689Skan	* invoke.texi (SH Options): Document -mprefergot.
9849169689Skan
9850169689Skan2000-09-01  Alexandre Oliva  <aoliva@redhat.com>
9851169689Skan
9852169689Skan	* rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
9853169689Skan	* gcse.c (hash_string_1): New function.
9854169689Skan	(hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
9855169689Skan	(expr_equiv_p) <ASM_OPERANDS>: Likewise.
9856169689Skan	* cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
9857169689Skan	(canon_hash_string): New function.
9858169689Skan	(canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
9859169689Skan	(exp_equiv_p) <ASM_OPERANDS>: Likewise.
9860169689Skan	(fold_rtx): Use ASM_OPERANDS accessor macros.
9861169689Skan	* emit-rtl.c (copy_insn_1): Likewise.
9862169689Skan	* integrate.c (copy_rtx_and_substitute): Likewise.
9863169689Skan	* stmt.c (expand_asm_operands): Likewise.  Give an
9864169689Skan	ASM_OPERANDS rtx the mode of the output reg being set from it.
9865169689Skan
9866169689Skan2000-09-01  Fred Fish  <fnf@be.com>
9867169689Skan
9868169689Skan	* fix-header.c (write_rbrac): Add putc and getc to list of
9869169689Skan	functions to protect against prior definition as a macro.
9870169689Skan
9871169689Skan2000-09-01  Joseph S. Myers  <jsm28@cam.ac.uk>
9872169689Skan
9873169689Skan	* c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
9874169689Skan	(c_size_type_node): Define.
9875169689Skan	* c-decl.c (init_decl_processing): Initialize c_size_type_node.
9876169689Skan	* c-common.c (enum format_lengths, enum format_std_version,
9877169689Skan	format_length_info, format_type_detail, BADLEN, NOLENGTHS,
9878169689Skan	format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
9879169689Skan	T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
9880169689Skan	T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
9881169689Skan	T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
9882169689Skan	TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
9883169689Skan	format_types): Define.
9884169689Skan	(format_char_info, print_char_table, scan_char_table,
9885169689Skan	time_char_table): Rearrange for new organization of information
9886169689Skan	about format length modifiers and standard versions.
9887169689Skan	(T_ST): Redefine to use c_size_type_node.
9888169689Skan	(check_format_info): Obtain information about length modifiers and
9889169689Skan	standard versions from tables.  Adjust warning message wordings.
9890169689Skan	Use the name from the user's program for `ll' and `hh' length
9891169689Skan	modifiers in warning messages.  Use more informative names for
9892169689Skan	wanted types where available (for wchar_t, wint_t, size_t, signed
9893169689Skan	size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
9894169689Skan
9895169689Skan2000-09-01  Jim Wilson  <wilson@cygnus.com>
9896169689Skan
9897169689Skan	* calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
9898169689Skan	* combine.c (distribute_notes): Handle REG_NORETURN.
9899169689Skan	* rtl.c (reg_note_name): Add REG_NORETURN.
9900169689Skan	* rtl.h (enum reg_note): Likewise.
9901169689Skan
9902169689Skan	* config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
9903169689Skan	ia64_file_start.
9904169689Skan	* config/ia64/ia64.c (emit_safe_across_calls): Likewise.
9905169689Skan	(rtx_needs_barrier): Handle unspec_volatile 8 and 9.
9906169689Skan	(emit_predicate_relation_info): Handle conditional calls with
9907169689Skan	REG_NORETURN.
9908169689Skan	* config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
9909169689Skan	instead of ia64_file_start.
9910169689Skan	* config/ia64/sysv4.h (ASM_FILE_START): Likewise.
9911169689Skan	* config/ia64/ia64.md (safe_across_calls_all,
9912169689Skan	save_across_calls_normal): New patterns.
9913169689Skan
9914169689Skan	* loop.c (check_final_value): Check for biv use before checking for
9915169689Skan	giv use.  Check for both biv and giv uses.  Always set last_giv_use
9916169689Skan	if there is a giv use.
9917169689Skan
9918169689Skan2000-09-01  Richard Henderson  <rth@cygnus.com>
9919169689Skan
9920169689Skan	* config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
9921169689Skan	(madddi3): Likewise.
9922169689Skan	(maddsi3): New.
9923169689Skan
9924169689SkanFri Sep  1 10:59:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9925169689Skan
9926169689Skan	* expr.c (clear_storage): Don't use emit_move_insn unless
9927169689Skan	either BLKmode or proper size.
9928169689Skan	(store_constructor): Don't call clear_storage if REG of wrong size.
9929169689Skan
9930169689Skan	* flow.c (init_propagate_block_info): Don't mark frame dead at end
9931169689Skan	of function if returns wiht stack pointer depressed.
9932169689Skan
9933169689Skan2000-09-01  Andrew Haley  <aph@redhat.com>
9934169689Skan
9935169689Skan	* dwarf2out.c (stack_adjust_offset): New function.
9936169689Skan	(dwarf2out_stack_adjust): Break out stack adjust logic into
9937169689Skan	new stack_adjust_offset function.  Look inside parallels and
9938169689Skan	sequences for stack adjustments.
9939169689Skan
9940169689Skan2000-08-31  Jeff Law <law@cygnus.com>
9941169689Skan
9942169689Skan	* arm.md: Use no_new_pseudos to determine when it is safe
9943169689Skan	to create new pseudo registers.
9944169689Skan
9945169689Skan	* arm.c (legitimize_pic_address): Use no_new_pseudos to determine
9946169689Skan	when we can safely allocate new registers.
9947169689Skan
9948169689Skan2000-08-31  Geoffrey Keating  <geoffk@cygnus.com>
9949169689Skan
9950169689Skan	* stmt.c (expand_asm_operands): Twiddle generating_concat_p
9951169689Skan	so that CONCATs are not generated for ASMs.
9952169689Skan	* emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when
9953169689Skan	not generating_concat_p.
9954169689Skan	* function.c (pop_function_context_from): Reset
9955169689Skan	generating_concat_p.
9956169689Skan	(prepare_function_start): Likewise.
9957169689Skan	* rtl.c (generating_concat_p): Define.
9958169689Skan	* rtl.h (generating_concat_p): Declare.
9959169689Skan	* toplev.c (rest_of_compilation): No CONCATs after RTL generation.
9960169689Skan
9961169689Skan2000-08-22  Philipp Thomas  <pthomas@suse.de>
9962169689Skan	    Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
9963169689Skan
9964169689Skan	* gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
9965169689Skan	for translation.
9966169689Skan
9967169689Skan2000-08-30  Greg McGary  <greg@mcgary.org>
9968169689Skan
9969169689Skan	* Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh
9970169689Skan	* fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC).
9971169689Skan	* fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE.
9972169689Skan
9973169689Skan2000-08-30  Greg McGary  <greg@mcgary.org>
9974169689Skan
9975169689Skan	* tree.h (struct tree_int_cst): Wrap low and high in a sub-struct.
9976169689Skan	(TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct.
9977169689Skan	(TREE_INT_CST): New macro.
9978169689Skan	* varasm.c (const_hash, compare_constant_1, record_constant_1):
9979169689Skan	Use new macro TREE_INT_CST.
9980169689Skan
9981169689SkanWed 30-Aug-2000 23:18:59 BST  Neil Booth  <NeilB@earthling.net>
9982169689Skan
9983169689Skan	* contrib.texi: Add self.
9984169689Skan
9985169689Skan2000-08-30  Alexandre Oliva  <aoliva@redhat.com>
9986169689Skan
9987169689Skan	* config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
9988169689Skan	(cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
9989169689Skan	and labels.
9990169689Skan
9991169689Skan2000-08-30  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
9992169689Skan
9993169689Skan	* fixinc/gnu-regex.c: Don't define `const'.
9994169689Skan
9995169689SkanTue Aug 29 22:09:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9996169689Skan
9997169689Skan	* expr.c (store_constructor): Allow variable bounds of array type.
9998169689Skan	(expand_expr): Don't blow up if type is ERROR_MARK.
9999169689Skan	* varasm.c (output_constructor): Don't access lower bound of array
10000169689Skan	type unless need it if index is supplied (so it can be a variable
10001169689Skan	if no index is supplied).
10002169689Skan	Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
10003169689Skan	Other minor cleanups.
10004169689Skan
10005169689Skan2000-08-29  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
10006169689Skan
10007169689Skan	* Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS
10008169689Skan	for compilations in stage 1 and subsequent stages, respectively.
10009169689Skan	* configure.in (vax): Add compiler-dependent CFLAGS for stage 1.
10010169689Skan	* configure: Rebuilt.
10011169689Skan	* x-vax, x-vax-gcc: Deleted.
10012169689Skan
10013169689Skan2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
10014169689Skan
10015169689Skan	* c-common.c (declare_function_name): Use func_id_node,
10016169689Skan	function_id_node, and pretty_function_id_node.  Do not make
10017169689Skan	__func__ visible at file scope.
10018169689Skan	* c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
10019169689Skan	CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
10020169689Skan	(function_id_node, pretty_function_id_node, func_id_node): New
10021169689Skan	macros.
10022169689Skan	* c-decl.c (init_decl_processing): Initialize function_id_node,
10023169689Skan	pretty_function_id_node, and func_id_node.
10024169689Skan	(c_make_fname_decl): Correct comment.
10025169689Skan
10026169689Skan	* tree.h (struct tree_identifier): Constify pointer member.
10027169689Skan
10028169689Skan	* c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
10029169689Skan	* c-pragma.h (struct weak_syms): Constify name and value members.
10030169689Skan	(add_weak): Constify arguments.
10031169689Skan
10032169689Skan	* calls.c (special_function_p): Constify a char *.
10033169689Skan	(expand_call): Remove variable which is initialized and then
10034169689Skan	never used.
10035169689Skan	* dependence.c (struct def_use, struct induction, struct subscript):
10036169689Skan	Constify 'variable' member.
10037169689Skan	(get_low_bound, have_induction_variable): Constify char * argument.
10038169689Skan	(find_induction_variable): Add braces to avoid dangling else.
10039169689Skan	(classify_dependence): Constify char * arrays.
10040169689Skan	* profile.c (output_func_start_profiler): Constify a char *.
10041169689Skan	* stor-layout.c (finalize_record_size): Constify a char *.
10042169689Skan	* tree.c (is_attribute_p): Constify a char *.
10043169689Skan	* varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
10044169689Skan
10045169689Skan	* varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
10046169689Skan	for comprehensibility.  Do not call get_identifier if we did
10047169689Skan	not change the DECL_ASSEMBLER_NAME of the decl.  Use alloca to
10048169689Skan	create temporary string constants, not ggc_alloc_string.  No
10049169689Skan	need to copy result of ASM_FORMAT_PRIVATE_NAME.  Use const
10050169689Skan	char * to hold IDENTIFIER_POINTERs.
10051169689Skan
10052169689Skan2000-08-29  Richard Henderson  <rth@cygnus.com>
10053169689Skan
10054169689Skan	* config/ia64/ia64.md (muldi3): Use grfr_register_operand
10055169689Skan	for the inputs.
10056169689Skan
10057169689Skan2000-08-29  Richard Henderson  <rth@cygnus.com>
10058169689Skan
10059169689Skan	* reload.c (push_secondary_reload): Allow class == reload_class
10060169689Skan	if we're using a reload_in/out pattern.
10061169689Skan
10062169689Skan	* config/ia64/ia64.md (reload_inti): Use a TImode scratch.  Use
10063169689Skan	the half that does not conflict with the reload register.
10064169689Skan	(reload_outti): Likewise.
10065169689Skan
10066169689Skan2000-08-29  Kazu Hirata  <kazu@hxi.com>
10067169689Skan
10068169689Skan	* reload.c: Fix formatting.
10069169689Skan
10070169689Skan	* stmt.c: Fix formatting.
10071169689Skan
10072169689Skan	* gcc.c: Fix formatting.
10073169689Skan
10074169689Skan2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
10075169689Skan
10076169689Skan	* flags.h (time_report, mem_report): New global flags.
10077169689Skan	* toplev.c: Define time_report and mem_report.
10078169689Skan	(f_options): Add -ftime-report and -fmem-report.
10079169689Skan	(compile_file): Turn on time_report if quiet_flag is off.
10080169689Skan	Call ggc_print_statistics at very end if mem_report is on.
10081169689Skan	* timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag.
10082169689Skan
10083169689Skan	* ggc-common.c (ggc_print_statistics): Rename to
10084169689Skan	ggc_print_common_statistics; all callers changed.  Scale
10085169689Skan	quantities above 10K to kilobytes and above 10M to megabytes.
10086169689Skan	* ggc-page.c (ggc_page_print_statistics): Rename to
10087169689Skan	ggc_print_statistics.  Report memory consumed by internal data
10088169689Skan	structures for each allocation bucket.  Scale quantities above
10089169689Skan	10K to kilobytes and above 10M to megabytes.
10090169689Skan	* ggc-simple.c: Prototype debug_ggc_tree to avoid warning.
10091169689Skan	Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning.
10092169689Skan	Define tally_leaves always.
10093169689Skan	(ggc_print_statistics): New function.
10094169689Skan	* ggc.h: Adjust for renamed functions.
10095169689Skan
10096169689SkanWed Aug 30 00:11:42 2000  Denis Chertykov  <denisc@overta.ru>
10097169689Skan
10098169689Skan	* config/avr/avr.md ("*movsf","*movsi"): Pass NULL to
10099169689Skan	output_movsisf instead of which_alternative.
10100169689Skan
10101169689Skan	* config/avr/avr.c (output_reload_inhi): Check for NULL ponter.
10102169689Skan
10103169689SkanTue Aug 29 22:29:58 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
10104169689Skan
10105169689Skan	* config/avr/avr-protos.h: (avr_output_ascii) Removed.
10106169689Skan	(avr_progmem_p): New prototype.
10107169689Skan	(output_movsisf): Prototype declaration changed.
10108169689Skan	(output_movqi): New prototype.
10109169689Skan	(output_movhi): New prototype.
10110169689Skan	(call_insn_operand): Likewise.
10111169689Skan	(final_prescan_insn): Likewise.
10112169689Skan	(avr_simplify_comparision_p): Likewise.
10113169689Skan	(avr_normalize_condition): Likewise.
10114169689Skan	(compare_eq_p): Likewise.
10115169689Skan	(out_shift_with_cnt): Likewise.
10116169689Skan	(const_int_pow2_p): Likewise.
10117169689Skan	(output_reload_inhi): Prototype declaration changed.
10118169689Skan
10119169689Skan	* config/avr/avr.c: (debug_hard_reg_set): Prototype declared.
10120169689Skan	(ldi_reg_rtx): New. rtx for r31.
10121169689Skan	(avr_init_stack): Initialize as "__stack".
10122169689Skan	(function_prologue): Use it.
10123169689Skan	Replace all TARGET_ENHANCED with AVR_ENHANCED.
10124169689Skan	(avr_mcu_name): Initialize as "avr2".
10125169689Skan	(avr_enhanced_p, avr_mega_p): New variables.
10126169689Skan	(mcu_types, avr_override_options): Handle all known MCU types.
10127169689Skan	Also handle avr1 (only preprocess, assemble and link).
10128169689Skan	(print_operand): Using of `%K' in output template removed.
10129169689Skan	(out_movqi_r_mr): Optimized.
10130169689Skan	(out_movhi_r_mr): Likewise.
10131169689Skan	(output_movqi): New function.
10132169689Skan	(output_movhi): Likewise.
10133169689Skan	(out_movsi_r_mr): Optimized.
10134169689Skan	(output_movsisf): Compute insn length for `adjust_insn_length'
10135169689Skan	(out_movqi_mr_r): Optimized.
10136169689Skan	(out_movhi_mr_r): Optimized.
10137169689Skan	(adjust_insn_length): Use output_movsisf, output_movqi,
10138169689Skan	output_movhi for insn length adjusting.
10139169689Skan	(reg_unused_after): Use dead_or_set_p.
10140169689Skan	(preferred_reload_class): Now haven't any restriction.
10141169689Skan	(reg_was_0): New function.
10142169689Skan	(io_address_p): Likewise.
10143169689Skan	(const_int_pow2_p): Likewise.
10144169689Skan	(output_reload_inhi): Likewise.
10145169689Skan	(output_reload_insisf): Likewise.
10146169689Skan
10147169689Skan	* config/avr/avr.h (MULTILIB_DEFAULTS): Define.
10148169689Skan	(LIB_SPEC): Use -lc for all supported devices.
10149169689Skan	(LIBGCC_SPEC): Use -lgcc for all supported devices.
10150169689Skan	(AVR_MEGA): Define as avr_mega_p.
10151169689Skan	(AVR_ENHANCED): New, define as avr_enhanced_p.
10152169689Skan	(TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=...
10153169689Skan	(CPP_SPEC, LINK_SPEC): Handle all known MCU types.
10154169689Skan	(CRT_BINUTILS_SPECS): Handle all known MCU types.
10155169689Skan	Rename gcrt1-*.o to make file names unique on 8.3 filesystems.
10156169689Skan	(EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC.
10157169689Skan	(ASM_SPEC): Pass -mmcu=... to the assembler.
10158169689Skan	Change all -DAVR_* to -D__AVR_*__.
10159169689Skan	(INIT_TARGET_OPTABS), config/avr/libgcc.S:
10160169689Skan	Rename library functions to start with two underscores.
10161169689Skan	(ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid
10162169689Skan	alignment.
10163169689Skan	(ASM_WEAKEN_LABEL): Declared for __attribute__((weak)).
10164169689Skan	(SUPPORTS_WEAK): Likewise.
10165169689Skan	(LDI_REG_REGNO): New. Register r31 will be used as temporary
10166169689Skan	register for loading constants to r0-r14.
10167169689Skan
10168169689Skan	* config/avr/avr.md: Replace all TARGET_ENHANCED with
10169169689Skan	AVR_ENHANCED.
10170169689Skan	(*mov_r_sp): Removed. Handled by output_movhi.
10171169689Skan	(*mov_sp_r): Likewise.
10172169689Skan	(*mov_sp_r_no_interrupts): Likewise
10173169689Skan	(*mov_sp_r_tiny): Likewise.
10174169689Skan	(*movqi): Use output_movqi.
10175169689Skan	(*reload_inqi): New.
10176169689Skan	(*movhi): Use output_movhi.
10177169689Skan	(*reload_inhi): New.
10178169689Skan	(*negsi2): Optimized.
10179169689Skan	(*negsf2): Likewise.
10180169689Skan	Added peepholes (define_peephole2) for loading constants to r0-r14
10181169689Skan	and for using `cpse' command.
10182169689Skan
10183169689Skan	* config/avr/libgcc.S: Rename library functions to start with two
10184169689Skan	underscores.
10185169689Skan	Add support for enhanced core.
10186169689Skan	(_moqhi3): Fix typo, now _modqi3.
10187169689Skan	(__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word.
10188169689Skan	(__prologue_saves__): Remove test for stack adjust by 0.
10189169689Skan	(__tablejump__): New.
10190169689Skan
10191169689Skan	* config/avr/t-avr: Build libgcc2 with -mcall-prologues.
10192169689Skan	Add multilib support.
10193169689Skan
10194169689SkanTue Aug 29 15:17:54 EDT 2000  John Wehle  (john@feith.com)
10195169689Skan
10196169689Skan	* loop.c (prescan_loop): Don't check unknown_address_altered
10197169689Skan	when deciding if insert_loop_mem is safe.  Add BLKmode MEMs
10198169689Skan	to loop_store_mems as necessary.
10199169689Skan	(loop_invariant_p): Don't check unknown_address_altered
10200169689Skan	or unknown_constant_address_altered.
10201169689Skan
10202169689Skan2000-08-29  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
10203169689Skan
10204169689Skan	* vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
10205169689Skan
10206169689Skan2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
10207169689Skan
10208169689Skan	* cpperror.c (print_file_and_line): If line is (unsigned int)-1,
10209169689Skan	print just the filename.
10210169689Skan	* cpplex.c (_cpp_run_directive): Add additional argument, the
10211169689Skan	name to give the synthetic buffer.  This defaults to
10212169689Skan	translated "<command line>".
10213169689Skan	* cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert):
10214169689Skan	Adjust to match.
10215169689Skan	(_cpp_define_builtin): New function.
10216169689Skan	* cppinit.c (initialize_builtins): Use _cpp_define_builtin.
10217169689Skan	* cpphash.h: Update prototypes.
10218169689Skan
10219169689Skan	* tradcpp.c (main): Process -D and -U simultaneously, in the
10220169689Skan	order they appeared on the command line.
10221169689Skan
10222169689Skan2000-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10223169689Skan
10224169689Skan	* c-decl.c (define_label): Call warning_with_file_and_line and
10225169689Skan	error_with_file_and_line instead of plain warning or error.
10226169689Skan
10227169689Skan	* c-parse.in (label): Use save_filename/save_lineno to ensure
10228169689Skan	correct values for calls to define_label.
10229169689Skan
10230169689Skan2000-08-29  Mark Mitchell  <mark@codesourcery.com>
10231169689Skan
10232169689Skan	* calls.c (expand_call): Don't create a VAR_DECL just to throw it
10233169689Skan	away.
10234169689Skan	* expr.c (expand_expr, case TARGET_EXPR): Don't call
10235169689Skan	mark_addressable.
10236169689Skan	* tree.h (get_file_function_name): Remove two duplicate
10237169689Skan	declarations.
10238169689Skan
10239169689Skan2000-08-28  Kazu Hirata  <kazu@hxi.com>
10240169689Skan
10241169689Skan	* tree.c: Fix formatting.
10242169689Skan
10243169689Skan	* xcoffout.c: Fix formatting.
10244169689Skan
10245169689Skan2000-08-28  Jason Merrill  <jason@redhat.com>
10246169689Skan
10247169689Skan	* dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
10248169689Skan
10249169689Skan2000-08-28  Daniel Berlin  <dberlin@redhat.com>
10250169689Skan
10251169689Skan	* dwarf2out.c (dwarf2out_finish): Don't bother calling
10252169689Skan	break_out_includes if it won't do anything.
10253169689Skan
10254169689Skan2000-08-28  Richard Henderson  <rth@cygnus.com>
10255169689Skan
10256169689Skan	* reload.c (push_secondary_reload): Revert 2000-08-16 change.
10257169689Skan	(find_reloads): Likewise.
10258169689Skan	* config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
10259169689Skan	(reload_inhi): Likewise.
10260169689Skan
10261169689Skan2000-08-28  Richard Henderson  <rth@cygnus.com>
10262169689Skan
10263169689Skan	* config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
10264169689Skan	(call_insn_operand): Don't expect a surrounding mem.
10265169689Skan	(constant_call_address_operand): Likewise.
10266169689Skan	* config/i386/i386.h (PREDICATE_CODES): Update.
10267169689Skan	* config/i386/i386.md (call patterns): Move the match_operand
10268169689Skan	for the call destination inside the mem.
10269169689Skan
10270169689Skan2000-08-28  Richard Henderson  <rth@cygnus.com>
10271169689Skan
10272169689Skan	* local-alloc.c (requires_inout): Don't use reserved range for
10273169689Skan	EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
10274169689Skan	* recog.c (asm_operand_ok): Likewise.
10275169689Skan	(preprocess_constraints, constrain_operands): Likewise.
10276169689Skan	* regclass.c (record_reg_classes): Likewise.
10277169689Skan	* reload.c (find_reloads): Likewise.
10278169689Skan	* reload1.c (maybe_fix_stack_asms): Likewise.
10279169689Skan	(reload_cse_simplify_operands): Likewise.
10280169689Skan	* stmt.c (expand_asm_operands): Likewise.
10281169689Skan
10282169689Skan	* md.texi: Update constraints documentation.
10283169689Skan	* tm.texi (EXTRA_CONSTRAINT): Update.
10284169689Skan
10285169689Skan2000-08-28  Daniel Berlin  <dberlin@redhat.com>
10286169689Skan
10287169689Skan	* dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
10288169689Skan	(print_die): If we don't know the offset of the
10289169689Skan	target die, try the symbol.  Add a trailing newline.
10290169689Skan	(reverse_all_dies): New fn.
10291169689Skan	(dwarf2out_finish): Call it.
10292169689Skan	(break_out_includes): Reorganize for clarity.
10293169689Skan	(add_sibling_attributes): Don't call reverse_die_lists.
10294169689Skan	(output_comp_unit): Rename from output_comdat_comp_unit.  Use for
10295169689Skan	primary CU, too.
10296169689Skan	* flags.h: Add flag_eliminate_dwarf2_dups.
10297169689Skan	* toplev.c (f_options): Support -feliminate-dwarf2-dups.
10298169689Skan
10299169689Skan2000-08-28  Jason Merrill  <jason@redhat.com>
10300169689Skan
10301169689Skan	* dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
10302169689Skan	* dwarf2out.c: #include "md5.h".
10303169689Skan	(DIE_LABEL_PREFIX): New macro.
10304169689Skan	(dw_val_struct): Add 'external' flag to val_die_ref.
10305169689Skan	(add_AT_die_ref, AT_ref): Adjust.
10306169689Skan	(AT_ref_external, set_AT_ref_external): New fns.
10307169689Skan	(build_abbrev_table): Call set_AT_ref_external.
10308169689Skan	(value_format): Call AT_ref_external.
10309169689Skan	(die_struct): Add die_symbol field.
10310169689Skan	(new_die): Clear it.
10311169689Skan	(dwarf_tag_name): Handle BINCL/EINCL.
10312169689Skan	(dwarf2out_start_source_file): Add BINCL DIE.
10313169689Skan	(dwarf2out_end_source_file): Add EINCL DIE.
10314169689Skan	(push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
10315169689Skan	(loc_checksum, attr_checksum, die_checksum): New fns.
10316169689Skan	(is_type_die, is_comdat_die, is_symbol_die): New fns.
10317169689Skan	(compute_section_prefix, assign_symbol_names): New fns.
10318169689Skan	(gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
10319169689Skan	(output_die): Call output_die_symbol and AT_ref_external.
10320169689Skan	(output_comdat_comp_unit): New fn, split out from...
10321169689Skan	(dwarf2out_finish): ...here.  Also call add_sibling_attributes for
10322169689Skan	secondary CUs.
10323169689Skan	(output_pubnames, output_aranges): Abort if we see entries from
10324169689Skan	secondary CUs.
10325169689Skan	* toplev.h: Declare file_name_nondirectory.
10326169689Skan	* toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
10327169689Skan	(rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
10328169689Skan	(debug_start_source_file): Call dwarf2out_start_source_file
10329169689Skan	regardless of debug verbosity.
10330169689Skan	(debug_end_source_file): Similarly.
10331169689Skan	* tree.h: Declare clean_symbol_name.
10332169689Skan	* tree.c (clean_symbol_name): Split out from...
10333169689Skan	(get_file_function_name_long): ...here.
10334169689Skan
10335169689Skan	* dwarf2out.c (new_loc_descr): Use calloc.
10336169689Skan	(splice_child_die): Remove the die from the right parent.
10337169689Skan	(gen_struct_or_union_die): Don't add AT_name to a specification DIE.
10338169689Skan
10339169689SkanMon Aug 28 19:02:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10340169689Skan
10341169689Skan	* toplev.c (decode_g_option): Don't give warning for unknown -g
10342169689Skan	option; return 0 instead.
10343169689Skan	(main): If -g option is not recognized by front end or
10344169689Skan	language-independent code, give warning.
10345169689Skan
10346169689Skan2000-08-28  Greg McGary  <greg@mcgary.org>
10347169689Skan
10348169689Skan	* config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
10349169689Skan	* config/i386/i386.c (ix86_expand_compare): Remove `static'.
10350169689Skan	* config/i386/i386.md (trap, conditional_trap): New insn & expand.
10351169689Skan
10352169689Skan2000-08-27  Greg McGary  <greg@mcgary.org>
10353169689Skan
10354169689Skan	* cpplex.c (parse_string): Don't look for backslash
10355169689Skan	before first char in `namebuf'.
10356169689Skan	* loop.c (strength_reduce): Skip NOTEs.
10357169689Skan
10358169689Skan2000-08-27  Jason Merrill  <jason@redhat.com>
10359169689Skan
10360169689Skan	* c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
10361169689Skan	DECL_EXTERNAL on a local extern.  Don't set DECL_IGNORED_P or
10362169689Skan	TREE_ASM_WRITTEN, either.
10363169689Skan	(finish_decl): Adjust.
10364169689Skan
10365169689Skan2000-08-28  Philipp Thomas  <pthomas@suse.de>
10366169689Skan
10367169689Skan	* ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
10368169689Skan	they have been incorporated into the gettext CVS. Change the text to
10369169689Skan	reflect the current status of NLS. Add instructions for accessing
10370169689Skan	the gettext CVS and add the patch from Martin v. Loewis.
10371169689Skan
10372169689Skan2000-08-27  Geoff Keating  <geoffk@cygnus.com>
10373169689Skan
10374169689Skan	* config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
10375169689Skan	by using gen_lowpart_common.
10376169689Skan	(movdi_internal64+6): Likewise.
10377169689Skan
10378169689Skan2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
10379169689Skan
10380169689Skan	* tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
10381169689Skan	Document.
10382169689Skan
10383169689Skan	* config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
10384169689Skan	numbers to the ranges used by GDB.
10385169689Skan
10386169689Skan2000-08-25  Richard Henderson  <rth@cygnus.com>
10387169689Skan
10388169689Skan	* config/ia64/ia64.h (struct machine_function): Add n_varargs.
10389169689Skan	* config/ia64/ia64.c (ia64_compute_frame_size): Use it.
10390169689Skan	(ia64_expand_prologue): Likewise.
10391169689Skan	(ia64_setup_incoming_varargs): Set it.  Properly skip the current
10392169689Skan	argument for stdargs.
10393169689Skan
10394169689Skan2000-08-25  Jason Merrill  <jason@redhat.com>
10395169689Skan
10396169689Skan	* integrate.c (expand_inline_function): Pull out the original decl.
10397169689Skan
10398169689Skan2000-08-25  Jim Wilson  <wilson@cygnus.com>
10399169689Skan
10400169689Skan	* cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
10401169689Skan
10402169689Skan	* function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
10403169689Skan
10404169689Skan2000-08-25  Greg McGary  <greg@mcgary.org>
10405169689Skan
10406169689Skan	* flow.c (dump_edge_info): Use ARRAY_SIZE.
10407169689Skan	* config/alpha/alpha.c (alpha_expand_block_move): Likewise.
10408169689Skan
10409169689Skan2000-08-25  Richard Earnshaw  <rearnsha@arm.com>
10410169689Skan
10411169689Skan	* arm.h (STRUCT_VALUE): Define to 0, not NULL.
10412169689Skan
10413169689SkanFri Aug 25 12:52:49 EDT 2000  John Wehle  (john@feith.com)
10414169689Skan
10415169689Skan	* i386.c (ix86_find_base_term): New.
10416169689Skan	* i386-protos.h (ix86_find_base_term): Prototype.
10417169689Skan	* i386.h (FIND_BASE_TERM): Define.
10418169689Skan	* alias.c (find_base_term): Use it.
10419169689Skan	* tm.texi (FIND_BASE_TERM): Document it.
10420169689Skan
10421169689Skan	* alias.c (true_dependence, write_dependence_p): Unchanging
10422169689Skan	memory can't conflict with non-unchanging memory.
10423169689Skan
10424169689Skan	* alias.c (memrefs_conflict_p): A BLKmode reference
10425169689Skan	to a symbol (or CONST_INT address) always conflicts
10426169689Skan	with a reference to another symbol.
10427169689Skan
10428169689Skan2000-08-25  Joseph S. Myers  <jsm28@cam.ac.uk>
10429169689Skan
10430169689Skan	* c-common.c (time_char_table): Don't allow width and flags with
10431169689Skan	"z" format.
10432169689Skan
10433169689Skan2000-08-25  Jakub Jelinek  <jakub@redhat.com>
10434169689Skan
10435169689Skan	* config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
10436169689Skan	way as LT and LTU when the second operand has 0 in low word.
10437169689Skan
10438169689Skan2000-08-26  Michael Hayes  <mhayes@cygnus.com>
10439169689Skan
10440169689Skan	* basic-block.h (struct loop): Rename `exits' field to
10441169689Skan	`exit_edges'.  Add `entry_edges' and `num_entries' fields.
10442169689Skan
10443169689Skan	* flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
10444169689Skan	(flow_loop_entry_edges_find): Add.
10445169689Skan	(flow_edge_list_print): Rename from flow_exits_print.
10446169689Skan	(flow_loops_find): Call flow_loop_entry_edges_find.
10447169689Skan	(flow_loop_dump): Dump entry_edges list.
10448169689Skan	(flow_loops_free): Free entry_edges.
10449169689Skan
10450169689Skan2000-08-26  Michael Hayes  <mhayes@cygnus.com>
10451169689Skan
10452169689Skan	* loop.c (loop_dump_aux, debug_loop): New functions.
10453169689Skan	(LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
10454169689Skan
10455169689Skan	* flow.c (flow_loops_dump): Add callback parameter.
10456169689Skan	(flow_loop_dump): Add callback parameter and call it.  Move
10457169689Skan	loop note debugging code to loop_dump_aux.
10458169689Skan
10459169689Skan	* basic-block.h (flow_loop_dump): Add callback parameter
10460169689Skan	(flow_loops_dump): Likewise.
10461169689Skan
10462169689Skan	* toplev.c (rest_of_compilation): Add NULL callback function pointer
10463169689Skan	to call to flow_loops_dump.
10464169689Skan
10465169689Skan2000-08-26  Michael Hayes  <mhayes@cygnus.com>
10466169689Skan
10467169689Skan	* loop.c (count_loop_regs_set): Replace start and end arguments
10468169689Skan	with loop argument.  All callers udated.
10469169689Skan
10470169689Skan2000-08-26  Michael Hayes  <mhayes@cygnus.com>
10471169689Skan
10472169689Skan	* loop.c (constant_high_bytes): Delete.
10473169689Skan
10474169689Skan2000-08-26  Michael Hayes  <mhayes@cygnus.com>
10475169689Skan
10476169689Skan	* loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
10477169689Skan	and NOTE_INSN_LOOP_VTOP to...
10478169689Skan	(find_and_verify_loops) ...here.
10479169689Skan
10480169689SkanFri Aug 25 04:21:13 2000  Alexandre Oliva  <aoliva@redhat.com>
10481169689Skan
10482169689Skan	* crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
10483169689Skan	(fini_dummy, init_dummy): Use it.
10484169689Skan
10485169689SkanFri 25-Aug-2000 08:03:27 BST  Neil Booth  <NeilB@earthling.net>
10486169689Skan
10487169689Skan	* cpplex.c (is_macro_disabled): Caller has already checked
10488169689Skan	that we're not a preprocessed file.
10489169689Skan
10490169689Skan2000-08-24  Mark Mitchell  <mark@codesourcery.com>
10491169689Skan
10492169689Skan	* Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
10493169689Skan	(c-iterate.o): Remove target.
10494169689Skan	* gcc/c-common.h (enum rid): Remove RID_ITERATOR.
10495169689Skan	* gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
10496169689Skan	(finish_decl): Don't handle iterators.
10497169689Skan	(grokdeclarator): Likewise.
10498169689Skan	* gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
10499169689Skan	* gcc/c-gperf.h: Regenerated.
10500169689Skan	* gcc/c-iterate.c: Removed.
10501169689Skan	* gcc/c-lex.c (init_lex): Don't handle iterators.
10502169689Skan	* gcc/c-parse.in (primary): Remove pop_iterator_stack call.
10503169689Skan	(compstmt_primary_start): Remove push_iterator_stack call.
10504169689Skan	(stmt): Don't allow iterator statements.  Replace iterator_expand
10505169689Skan	with expand_expr_stmt.
10506169689Skan	(all_iter_stmt): Remove.
10507169689Skan	(all_iter_stmt_simple): Likewise.
10508169689Skan	(all_iter_stmt_with_decl): Likewise.
10509169689Skan	* gcc/c-tree.h (ITERATOR_P): Remove.
10510169689Skan	(ITERATOR_BOUND_P): Likewise.
10511169689Skan	(init_iterators): Remove declaration.
10512169689Skan	(iterator_expand): Likewise.
10513169689Skan	(iterator_for_loop_start): Likewise.
10514169689Skan	(iterator_for_loop_end): Likewise.
10515169689Skan	(iterator_for_loop_record): Likewise.
10516169689Skan	(push_iterator_stack): Likewise.
10517169689Skan	(pop_iterator_stack): Likewise.
10518169689Skan	* gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
10519169689Skan	(readonly_warning): Likewise.
10520169689Skan	* gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
10521169689Skan
10522169689Skan2000-08-24  Jim Wilson  <wilson@cygnus.com>
10523169689Skan
10524169689Skan	* c-common.c (decl_attributes, case A_ALIGN): Revert last change.
10525169689Skan	Copy type in a TYPE_DECL, just like pushdecl does.
10526169689Skan
10527169689Skan2000-08-24  Richard Henderson  <rth@cygnus.com>
10528169689Skan
10529169689Skan	* toplev.c (main): Enable flag_reorder_blocks at -O2.
10530169689Skan
10531169689Skan2000-08-24  Zack Weinberg  <zack@wolery.cumb.org>
10532169689Skan
10533169689Skan	* ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
10534169689Skan	asked for one page, allocate GGC_QUIRE_SIZE of them and put
10535169689Skan	the extras on the free list.
10536169689Skan	(release_pages): Clean up.
10537169689Skan	(ggc_set_mark): Don't adjust G.allocated here...
10538169689Skan	(sweep_pages): ... do it here.
10539169689Skan
10540169689Skan2000-08-24  Zack Weinberg  <zack@wolery.cumb.org>
10541169689Skan
10542169689Skan	* cppfiles.c (read_include_file): Rearrange initializations.
10543169689Skan
10544169689Skan2000-08-24  Richard Henderson  <rth@cygnus.com>
10545169689Skan
10546169689Skan	* stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
10547169689Skan
10548169689Skan	* config/ia64/ia64-protos.h: Update.
10549169689Skan	* config/ia64/ia64.c (gr_register_operand): New.
10550169689Skan	(fr_register_operand, grfr_register_operand): New.
10551169689Skan	(gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
10552169689Skan	(grfr_reg_or_8bit_operand): New.
10553169689Skan	(gr_reg_or_0_operand): Rename from reg_or_0_operand and
10554169689Skan	use gr_register_operand.
10555169689Skan	(gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
10556169689Skan	(gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
10557169689Skan	(gr_reg_or_8bit_and_adjusted_operand): Likewise.
10558169689Skan	(gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
10559169689Skan	(fr_reg_or_fp01_operand): Likewise.
10560169689Skan	(not_postinc_memory_operand): New.
10561169689Skan	(ia64_split_timode): Remove unused variables.
10562169689Skan	(rtx_needs_barrier): Check arguments to cmpxchg.
10563169689Skan	(builtin_description): Remove.
10564169689Skan	(bdesc_2argsi, bdesc_2argdi): Remove.
10565169689Skan	(ia64_init_builtins): Declare all builtins directly.
10566169689Skan	(ia64_expand_fetch_and_op): Rewrite to be called from
10567169689Skan	ia64_expand_builtin directly.  Use expand_binop and co.
10568169689Skan	(ia64_expand_op_and_fetch): Likewise.
10569169689Skan	(ia64_expand_compare_and_swap): Likewise.
10570169689Skan	(ia64_expand_binop_builtin): Remove.
10571169689Skan	(ia64_expand_lock_test_and_set): New.
10572169689Skan	(ia64_expand_lock_release): New.
10573169689Skan	(ia64_expand_builtin): Use them.
10574169689Skan	* config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
10575169689Skan	(EXTRA_CONSTRAINT): Use it.
10576169689Skan	(PREDICATE_CODES): Update.
10577169689Skan	* config/ia64/ia64.md (*): Use gr_register_operand and co.
10578169689Skan	(mf): Indicate that we set memory as well as use it.
10579169689Skan	(fetchadd_acq_si): Show memory being modified as well.
10580169689Skan	(fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
10581169689Skan	(val_compare_and_swap_si, val_compare_and_swap_di): Remove.
10582169689Skan	(lock_test_and_set_si, lock_test_and_set_di): Remove.
10583169689Skan	(fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
10584169689Skan	(fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
10585169689Skan	(fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
10586169689Skan	(fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
10587169689Skan	(add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
10588169689Skan	(and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
10589169689Skan	(add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
10590169689Skan	(and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
10591169689Skan	* config/ia64/ia64intrin.h (*): Cast result to the appropriate
10592169689Skan	return type.  Pretty print definitions.
10593169689Skan
10594169689Skan2000-08-24  Jim Wilson  <wilson@cygnus.com>
10595169689Skan
10596169689Skan	* config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
10597169689Skan	we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
10598169689Skan
10599169689Skan2000-08-24  Jason Merrill  <jason@redhat.com>
10600169689Skan
10601169689Skan	* dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
10602169689Skan	AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
10603169689Skan	(get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
10604169689Skan	get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
10605169689Skan
10606169689Skan2000-08-24  Greg McGary  <greg@mcgary.org>
10607169689Skan
10608169689Skan	* optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
10609169689Skan	and extendtab within their proper array boundaries.
10610169689Skan	* emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
10611169689Skan	for the entire array.
10612169689Skan
10613169689Skan	* config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
10614169689Skan	* config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
10615169689Skan	* config/avr/avr.c (order_regs_for_local_alloc): Likewise.
10616169689Skan	* config/fr30/fr30.c (fr30_print_operand): Likewise.
10617169689Skan	* config/i386/dgux.c (output_options): Likewise.
10618169689Skan	* config/i386/dgux.h (ASM_FILE_START): Likewise.
10619169689Skan	* config/m88k/m88k.c (output_options): Likewise.
10620169689Skan	* config/m88k/m88k.h (ASM_FILE_START): Likewise.
10621169689Skan	* config/mcore/mcore.c (mcore_output_inline_const_forced,
10622169689Skan	layout_mcore_frame, handle_structs_in_regs): Likewise.
10623169689Skan	* config/mips/mips.c (output_block_move): Likewise.
10624169689Skan	* config/rs6000/rs6000.c (rs6000_override_options,
10625169689Skan	rs6000_file_start): Likewise.
10626169689Skan	* config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
10627169689Skan	* fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
10628169689Skan	* fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
10629169689Skan	* builtins.c (expand_builtin_setjmp): Likewise.
10630169689Skan	* expr.c (safe_from_p): Likewise.
10631169689Skan	* flow.c (life_analysis): Likewise.
10632169689Skan	* fold-const.c (size_int_type_wide): Likewise.
10633169689Skan	* gcc.c (translate_options, init_spec, set_spec, main): Likewise.
10634169689Skan	* genattrtab.c (make_length_attrs): Likewise.
10635169689Skan	* genopinit.c (gen_insn): Likewise.
10636169689Skan	* genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
10637169689Skan	* global.c (global_alloc): Likewise.
10638169689Skan	* local-alloc.c (find_free_reg): Likewise.
10639169689Skan	* mips-tdump.c (print_symbol): Likewise.
10640169689Skan	* mips-tfile.c (parse_def, parse_input): Likewise.
10641169689Skan	* reload1.c (NUM_ELIMINABLE_REGS): Likewise.
10642169689Skan	* stmt.c (expand_nl_goto_receiver): Likewise.
10643169689Skan	* stor-layout.c (set_sizetype): Likewise.
10644169689Skan	* varasm.c (decode_reg_name): Likewise.
10645169689Skan	* toplev.c (decode_f_option, decode_W_option,
10646169689Skan	set_target_switch, print_switch_values): Likewise.
10647169689Skan	(NUM_ELEM): Remove macro.
10648169689Skan	(display_help, main): s/NUM_ELEM/ARRAY_SIZE/
10649169689Skan
10650169689Skan2000-08-24  Greg McGary  <greg@mcgary.org>
10651169689Skan
10652169689Skan	* tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
10653169689Skan	(MAIN_NAME_P, main_identifier_node): New macros.
10654169689Skan	* c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
10655169689Skan	* c-decl.c (start_decl, grokdeclarator, start_function,
10656169689Skan	store_parm_decls, finish_function): Use MAIN_NAME_P.
10657169689Skan	* config/avr/avr.c (function_prologue, function_epilogue): Likewise.
10658169689Skan	* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
10659169689Skan	* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
10660169689Skan	* config/pdp11/pdp11.c (output_function_prologue): Likewise.
10661169689Skan
10662169689Skan2000-08-24  Greg McGary  <greg@mcgary.org>
10663169689Skan
10664169689Skan	* cppfiles.c (actual_directory): Don't write beyond `dir'
10665169689Skan	when it contains "".
10666169689Skan	* real.c (asctoeg): Stay within bounds of etens[][].
10667169689Skan
10668169689Skan2000-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10669169689Skan
10670169689Skan	* dependence.c (dependence_string, direction_string,
10671169689Skan	dump_one_node, dump_node_dependence): Hide unused identifiers.
10672169689Skan	(get_low_bound, normalize_coefficients): Match definition to
10673169689Skan	static prototype.
10674169689Skan	(get_one_coefficient): Initialize variables `value0_is_idx' and
10675169689Skan	`value1_is_idx'.
10676169689Skan	(ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
10677169689Skan	(ziv_test): Delete variable `idx', use parameter `sub' instead.
10678169689Skan	(direction_merge): Avoid automatic aggregate initialization.
10679169689Skan	(have_dependence_p): Use `src' not `dest' to set `src_idx'.
10680169689Skan	Initialize variables `dest_idx' and `src_idx'.
10681169689Skan	(end_dependence_analysis): Avoid C89 style function definition.
10682169689Skan
10683169689Skan2000-08-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10684169689Skan
10685169689Skan	* c-common.c (time_char_table): Don't allow width with %F.
10686169689Skan	(check_format_info): Don't allow "Z" length with scanf.
10687169689Skan
10688169689Skan2000-08-24  Gabriel Dos Reis  <gdr@codesourcery.com>
10689169689Skan
10690169689Skan	* diagnostic.c (finish_diagnostic): Define.
10691169689Skan	(output_do_printf): Use wrap_text instead of output_add_string.
10692169689Skan	(default_print_error_function): Avoid embedded '\n'.
10693169689Skan
10694169689Skan	* diagnostic.h (flush_diagnostic_buffer): Declare.
10695169689Skan
10696169689Skan2000-08-23  Alexandre Oliva  <aoliva@redhat.com>
10697169689Skan
10698169689Skan	* dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
10699169689Skan
10700169689Skan2000-08-23  Hans-Peter Nilsson  <hp@axis.com>
10701169689Skan
10702169689Skan	* Makefile.in (GCC_PASSES): Add specs.
10703169689Skan
10704169689Skan2000-08-23  Jim Wilson  <wilson@cygnus.com>
10705169689Skan
10706169689Skan	* frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
10707169689Skan	* config/ia64/frame-ia64.c (__get_personality): Return zero if neither
10708169689Skan	EHANDLER nor UHANDLER bit is set.
10709169689Skan	(__get_except_table): Likewise.
10710169689Skan
10711169689Skan2000-08-23  Nick Clifton  <nickc@redhat.com>
10712169689Skan
10713169689Skan	* config/arm/lib1funcs.asm: Replace upper case condition codes
10714169689Skan	with lower case versions.
10715169689Skan
10716169689Skan	* config/arm/arm.h (STRUCT_VALUE): Define.
10717169689Skan	(STRUCT_VALUE_REGNUM): Delete.
10718169689Skan
10719169689Skan2000-08-23  Zack Weinberg  <zack@wolery.cumb.org>
10720169689Skan
10721169689Skan	* cpphash.h (IN_I): New flag for directive table.
10722169689Skan	* cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
10723169689Skan	#pragma with IN_I.
10724169689Skan	(_cpp_check_directive): If -fpreprocessed, execute directives
10725169689Skan	marked with IN_I.  Issue no warnings in this case.
10726169689Skan	* cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
10727169689Skan
10728169689Skan2000-08-23  Joseph S. Myers  <jsm28@cam.ac.uk>
10729169689Skan
10730169689Skan	* c-common.c (print_char_table): Allow 'I' flag with %d, %i and
10731169689Skan	%u.
10732169689Skan	(check_format_info): Support printf 'I' flag; warn about it with
10733169689Skan	-pedantic.
10734169689Skan
10735169689Skan2000-08-23  Richard Earnshaw  (rearnsha@arm.com)
10736169689Skan
10737169689Skan	* arm.c (arm_expand_prologue): Ensure that the stack-adjustment
10738169689Skan	barrier can't be ignored by the alias analysis code.
10739169689Skan
10740169689Skan2000-08-12  Eli Zaretskii  <eliz@is.elta.co.il>
10741169689Skan
10742169689Skan	* fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
10743169689Skan	works inside fixincl.
10744169689Skan
10745169689SkanWed Aug 23 04:55:48 2000  Alexandre Oliva  <aoliva@redhat.com>
10746169689Skan
10747169689Skan	* simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
10748169689Skan	simplify_relational_operation() unless both operands are of
10749169689Skan	VOIDmode.
10750169689Skan	* cse.c (fold_rtx): Likewise.
10751169689Skan
10752169689SkanTue Aug 22 23:53:27 EDT 2000  John Wehle  (john@feith.com)
10753169689Skan
10754169689Skan	* rtlanal.c (rtx_unstable_p): The pic register is stable
10755169689Skan	(within one function) and the actual rtx should be used
10756169689Skan	when checking the registers.
10757169689Skan	(rtx_addr_can_trap_p): Pic memory addresses can't trap.
10758169689Skan
10759169689Skan	* alias.c (true_dependence, write_dependence_p): Fix
10760169689Skan	bug in previous patch.
10761169689Skan
10762169689Skan	* i386.c (ix86_GOT_alias_set): New.
10763169689Skan	(legitimize_pic_address): Use it.
10764169689Skan
10765169689Skan	* rtlanal.c (rtx_unstable_p): An unchanging MEM is
10766169689Skan	only stable if its address is stable.
10767169689Skan	(rtx_varies_p): An unchanging MEM can't vary if
10768169689Skan	its address doesn't vary.
10769169689Skan
10770169689Skan2000-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10771169689Skan
10772169689Skan	* c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
10773169689Skan
10774169689Skan2000-08-22  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
10775169689Skan
10776169689Skan	* vax.h (ASM_SPEC): Pass `-J' to assembler.
10777169689Skan	* x-vax-gcc: New file for bootstrapping with gcc.
10778169689Skan	* x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
10779169689Skan	* configure.in: Use x-vax-gcc with gcc.
10780169689Skan	* configure: Rebuilt.
10781169689Skan
10782169689SkanTue Aug 22 21:21:05 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
10783169689Skan
10784169689Skan	* toplev.c (rest_of_compilation): Rebuild label notes after
10785169689Skan	post-reload splitting pass if new labels have been created.
10786169689Skan
10787169689Skan2000-08-22  Gabriel Dos Reis  <gdr@codesourcery.com>
10788169689Skan
10789169689Skan	* diagnostic.h (output_buffer_state): New macro.
10790169689Skan	* diagnostic.c (diagnostic_for_decl, sorry,
10791169689Skan	default_print_error_function, output_do_verbatim,
10792169689Skan	report_diagnostic, report_problematic_module): Use it.
10793169689Skan	(wrap_text): Tweak.
10794169689Skan	(output_format): Use wrap_text instead of maybe_wrap_text.
10795169689Skan
10796169689Skan2000-08-22  Nick Clifton  <nickc@redhat.com>
10797169689Skan
10798169689Skan	* config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
10799169689Skan	Common code for ARM divide and modulus functions.
10800169689Skan	(THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
10801169689Skan	ARM_DIV_MOD_BODY.
10802169689Skan	(FUNC_END): New macro: Common code at the end of the division and
10803169689Skan	modulo functions.
10804169689Skan	(THUMB_FUNCTION_START): New macro:  Common code at the start of
10805169689Skan	Thumb functions.
10806169689Skan	(__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
10807169689Skan
10808169689SkanTue Aug 22 20:34:52 2000  Kaz Kojima <kkojima@rr.iij4u.or.jp>
10809169689Skan
10810169689Skan	* config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
10811169689Skan
10812169689Skan	* config/sh/sh.c (prepare_scc_operands): Apply force_reg to
10813169689Skan	sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
10814169689Skan	const0_rtx.
10815169689Skan
10816169689Skan2000-08-22  Nick Clifton  <nickc@redhat.com>
10817169689Skan
10818169689Skan	* config/arm/lib1funcs.asm (__umodsi3): Before performing any
10819169689Skan	restorative additions, test for bottom bits of IP being set,
10820169689Skan	rather than relying upon the RORs not matching.
10821169689Skan	(__modsi3): Ditto.
10822169689Skan
10823169689Skan2000-08-22  David Edelsohn  <edelsohn@gnu.org>
10824169689Skan
10825169689Skan	* aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
10826169689Skan	text_section() as appropriate instead of emitting text csect
10827169689Skan	pseudo-op directly.
10828169689Skan	(TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
10829169689Skan	(UNIQUE_SECTION): Define macro.
10830169689Skan	(ASM_OUTPUT_SECTION_NAME): Define macro.
10831169689Skan	* rs6000.c (rs6000_override_options): Disable -ffunction-sections
10832169689Skan	on AIX if debugging and -fdata-sections always.
10833169689Skan
10834169689Skan2000-08-22  Steven King  <sxking@uswest.net>
10835169689Skan
10836169689Skan	* config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
10837169689Skan	machinery.
10838169689Skan	(LDBL_MAX): Same here.
10839169689Skan
10840169689Skan2000-08-22  Richard Henderson  <rth@cygnus.com>
10841169689Skan
10842169689Skan	* flow.c (tidy_fallthru_edge): Update b->end properly.
10843169689Skan
10844169689Skan2000-08-22  Stan Cox  <scox@redhat.com>
10845169689Skan
10846169689Skan	* Makefile.in (OBJS): Add dependence.o.
10847169689Skan	* dependence.c: New file.
10848169689Skan
10849169689Skan2000-08-22  Alexandre Oliva  <aoliva@redhat.com>, John David Anglin  <dave.anglin@nrc.ca>
10850169689Skan
10851169689Skan	* calls.c (check_sibcall_argument_overlap_1): Adjust for
10852169689Skan	ARGS_GROW_DOWNWARD.
10853169689Skan	(check_sibcall_argument_overlap): Likewise.
10854169689Skan
10855169689Skan2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
10856169689Skan
10857169689Skan	* invoke.texi (SH Options): Document -m4-nofpu,
10858169689Skan	-m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
10859169689Skan	-mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
10860169689Skan
10861169689Skan2000-08-22  Joseph S. Myers  <jsm28@cam.ac.uk>
10862169689Skan
10863169689Skan	* c-common.c (check_format_info): Give the 'some locales' warning
10864169689Skan	for strftime %Ey rather than the unconditional 'only last 2 digits
10865169689Skan	of year' one.
10866169689Skan
10867169689Skan2000-08-22  Richard Henderson  <rth@cygnus.com>
10868169689Skan
10869169689Skan	* alias.c (init_alias_analysis): Do not register
10870169689Skan	struct_value_incoming_rtx or static_chain_rtx as pointing
10871169689Skan	to stack memory.
10872169689Skan
10873169689SkanTue Aug 22 01:44:43 2000  Jeffrey A Law  (law@cygnus.com)
10874169689Skan
10875169689Skan	* protoize.c (munge_compile_params): Fix typo and formatting buglets.
10876169689Skan
10877169689Skan2000-08-22  Gabriel Dos Reis  <gdr@codesourcery.com>
10878169689Skan
10879169689Skan	* diagnostic.h (report_problematic_module): Declare.
10880169689Skan	* diagnostic.c (report_problematic_module): New function.
10881169689Skan	(report_error_function): Tweak.
10882169689Skan
10883169689SkanTue Aug 22 02:31:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10884169689Skan
10885169689Skan	* stmt.c (expand_goto_internal, fixup_gotos): Only check
10886169689Skan	TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
10887169689Skan
10888169689Skan2000-08-21  Richard Henderson  <rth@cygnus.com>
10889169689Skan
10890169689Skan	* flow.c (calculate_global_regs_live): Mark frame pointer live
10891169689Skan	everywhere before reload.
10892169689Skan
10893169689Skan2000-08-21  Jim Wilson  <wilson@cygnus.com>
10894169689Skan
10895169689Skan	* real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
10896169689Skan	INTEL_EXTENDED_IEEE_FORMAT.
10897169689Skan	(toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support.  Unconditionally
10898169689Skan	clear last two bytes of output FP value.
10899169689Skan
10900169689Skan2000-08-21  Graham Stott  <grahams@cygnus.co.uk>
10901169689Skan
10902169689Skan	* config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
10903169689Skan
10904169689Skan2000-08-21  Jakub Jelinek  <jakub@redhat.com>
10905169689Skan
10906169689Skan	* unroll.c (loop_find_equiv_value): If ret is modified between
10907169689Skan	insn and loop_start, ret might not be equivalent to reg.
10908169689Skan
10909169689Skan2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10910169689Skan
10911169689Skan	* c-common.c (init_dollar_format_checking,
10912169689Skan	maybe_read_dollar_number, finish_dollar_format_checking): New
10913169689Skan	functions.
10914169689Skan	(dollar_arguments_used, dollar_arguments_count,
10915169689Skan	dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
10916169689Skan	New variables.
10917169689Skan	(check_format_info): Support $ formats for scanf and printf width
10918169689Skan	and precision.  Always increment format_chars to advance past the
10919169689Skan	'*' of precision, not just when the format parameters are
10920169689Skan	available to check.
10921169689Skan
10922169689Skan2000-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10923169689Skan
10924169689Skan	* mips.c (block_move_loop, expand_block_move,
10925169689Skan	function_arg_partial_nregs, save_restore_insns, function_prologue,
10926169689Skan	mips_expand_prologue, RA_MASK): Avoid using the `U' integer
10927169689Skan	constant suffix.
10928169689Skan	(function_arg_advance, function_arg): Match argument to format
10929169689Skan	specifier `%p'.
10930169689Skan
10931169689Skan2000-08-21  Nix  <nix@esperi.demon.co.uk>
10932169689Skan
10933169689Skan	* gcc.c (do_spec_1): Implement %j spec flag.
10934169689Skan	Remove dead comment.
10935169689Skan
10936169689Skan	* gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
10937169689Skan	* system.h (HOST_BIT_BUCKET): Default to "/dev/null".
10938169689Skan	* config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
10939169689Skan	* config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
10940169689Skan
10941169689Skan	* protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
10942169689Skan	writable) instead of hardcoded value.
10943169689Skan
10944169689Skan	* toplev.c (compile_file): Output to a file even if -fsyntax-only.
10945169689Skan
10946169689Skan	* gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
10947169689Skan	MKTEMP_EACH_FILE.
10948169689Skan
10949169689Skan	* gcc.c (cc1_options): Do not process -o or run the assembler if
10950169689Skan	-fsyntax-only.
10951169689Skan	* objc/lang-spec.h: Likewise.
10952169689Skan
10953169689Skan2000-08-21  Eli Zaretskii  <eliz@is.elta.co.il>
10954169689Skan
10955169689Skan	* fixinc/fixincl.c (fix_with_system): Pipe the output of
10956169689Skan	"external" fixes through `cat', to avoid truncating the input
10957169689Skan	file by redirection.
10958169689Skan
10959169689Skan2000-08-21  Jakub Jelinek  <jakub@redhat.com>
10960169689Skan
10961169689Skan	* config/i386/i386.md (lea_general_1): Copy insn condition to split
10962169689Skan	condition.
10963169689Skan	(lea_general_2, lea_general_3): Likewise.
10964169689Skan
10965169689Skan2000-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10966169689Skan
10967169689Skan	* c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
10968169689Skan	warnings to user code.
10969169689Skan
10970169689Skan	* c-lex.c (readescape, yylex): Likewise.
10971169689Skan
10972169689Skan	* c-typeck.c (store_init_value, process_init_element): Likewise
10973169689Skan	(c_expand_start_case): Format.
10974169689Skan
10975169689Skan2000-08-18  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
10976169689Skan
10977169689Skan	* mips/linux.h (LINK_SPEC): Use %(endian_spec).
10978169689Skan
10979169689Skan	* mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
10980169689Skan	and linker_endian_spec to endian_spec.
10981169689Skan	(ENDIAN_SPEC): Add %{EB} and %{EL}.
10982169689Skan	(LINK_SPEC): Remove %{EB} and %{EL}.
10983169689Skan	(ASM_SPEC): Likewise.  Use %(endian_spec).
10984169689Skan
10985169689Skan2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10986169689Skan
10987169689Skan	* c-tree.h (flag_hosted): Move declaration from here...
10988169689Skan	* c-common.h (flag_hosted): ... to here.
10989169689Skan	(flag_noniso_default_format_attributes): New declaration.
10990169689Skan	* c-decl.c (flag_noniso_default_format_attributes): New variable.
10991169689Skan	(c_decode_option): Set it appropriately for options choosing
10992169689Skan	language standard variant.
10993169689Skan	* c-common.c (init_function_format_info): Only provide default
10994169689Skan	format attributes if flag_hosted.  Only provide the gettext
10995169689Skan	formats if flag_noniso_default_format_attributes.  Update
10996169689Skan	comments.
10997169689Skan	(check_format_info): Disable treatment of %a as a scanf flag in
10998169689Skan	C99 mode.
10999169689Skan
11000169689Skan2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
11001169689Skan
11002169689Skan	* c-common.c (scan_char_table): Add 'w' to flags for all formats
11003169689Skan	except 'n'.
11004169689Skan	(check_format_info): Set 'wide' for scanf format widths.  Warn for
11005169689Skan	a zero scanf width.  Make the check for writing into a constant
11006169689Skan	object at the first level of indirection; at later levels, warn if
11007169689Skan	any type qualifiers are encountered.
11008169689Skan
11009169689SkanMon Aug 21 07:41:12 2000  Jeffrey A Law  (law@cygnus.com)
11010169689Skan
11011169689Skan	* reload.c (reload_inner_reg_of_subreg): New function broken out of
11012169689Skan	push_reload.
11013169689Skan	(push_reload): Use reload_inner_reg_of_subreg.
11014169689Skan	(combine_reloads): Do not combine reloads if the input reload
11015169689Skan	is a SUBREG in which the inner part will need reloading.
11016169689Skan
11017169689Skan	* global.c (global_alloc): Avoid passing dumpfile argument to
11018169689Skan	reload routines.
11019169689Skan	* toplev.c (rest_of_compilation): Likewise.
11020169689Skan	* reload.h (reload): Remove dumpfile argument.  Callers changed.
11021169689Skan	(debug_reload, debug_reload_to_stream): Move prototypes here.
11022169689Skan	* rtl.h  (reload): Remove dumpfile argument.
11023169689Skan	* reload.c (debug_reload): Remove prototype.
11024169689Skan	(debug_reload_to_stream): Likewise.
11025169689Skan	* reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
11026169689Skan	instead.
11027169689Skan
11028169689Skan2000-08-21  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
11029169689Skan
11030169689Skan	* diagnostic.c (context_as_prefix): Export.
11031169689Skan	(need_error_newline): Remove.
11032169689Skan	(lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
11033169689Skan	(error_module_changed, record_last_error_module,
11034169689Skan	error_function_changed, record_last_error_function): New functions.
11035169689Skan	(initialize_diagnostics): Default initialize
11036169689Skan	lang_diagnostic_starter, lang_diagnostic_finalizer.
11037169689Skan	(init_output_buffer): Tweak.
11038169689Skan	(file_name_as_prefix): New function.
11039169689Skan	(announce_function, default_print_error_function,
11040169689Skan	report_error_function, set_diagnostic_context): Tweak.
11041169689Skan
11042169689Skan2000-08-21  Richard Earnshaw  <rearnsha@arm.com>
11043169689Skan
11044169689Skan	* flow.c (init_propagate_block_info): Handle SUBREG in a jump
11045169689Skan	condition expression.
11046169689Skan
11047169689Skan2000-08-20  Richard Henderson  <rth@cygnus.com>
11048169689Skan
11049169689Skan	* flow.c (merge_blocks_nomove): Don't seek back past the bb note.
11050169689Skan
11051169689Skan2000-08-20  Zack Weinberg  <zack@wolery.cumb.org>
11052169689Skan
11053169689Skan	* cppinit.c (cpp_init): Set global flag when called.
11054169689Skan	(cpp_reader_init): Bomb out if cpp_init hasn't been called.
11055169689Skan
11056169689SkanSun Aug 20 01:41:35 2000  Dennis Chernoivanov  <cdi@sparc.spb.su>
11057169689Skan
11058169689Skan	* cpplex.c (cpp_scan_buffer): Move `output_line_command' just
11059169689Skan	before `process_directive' so that newlines won't be missed
11060169689Skan	for directives.
11061169689Skan	(cpp_printf): Increment `print->lineno' when newline is emitted.
11062169689Skan
11063169689Skan	* cppmain.c (cb_ident): Likewise.
11064169689Skan	(cb_define): Likewise.
11065169689Skan	(cb_undef): Likewise.
11066169689Skan	(cb_include): Likewise.
11067169689Skan	(cb_def_pragma): Likewise.
11068169689Skan	(dump_macros_helper): Likewise.
11069169689Skan
11070169689Skan2000-08-20  Richard Henderson  <rth@cygnus.com>
11071169689Skan
11072169689Skan	* config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
11073169689Skan	assigned before a loop.
11074169689Skan
11075169689Skan	* config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
11076169689Skan	(ashrsi3, lshrsi3): Likewise.
11077169689Skan
11078169689Skan2000-08-20  Gabriel Dos Reis  <gdr@codesourcery.com>
11079169689Skan
11080169689Skan	* c-lang.c: #include diagnostic.h
11081169689Skan	(c_tree_printer): New function.
11082169689Skan	(lang_init): Initialize lang_printer.
11083169689Skan
11084169689Skan	* Makefile.in (c-lang.o): Depends on diagnostic.h
11085169689Skan
11086169689Skan2000-08-20  Gabriel Dos Reis  <gdr@codesourcery.com>
11087169689Skan
11088169689Skan	* c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
11089169689Skan
11090169689Skan	* diagnostic.c (default_diagnostic_starter,
11091169689Skan	default_diagnostic_finalizer): New functions.
11092169689Skan	(diagnostic_for_asm, diagnostic_for_decl): Tweak.
11093169689Skan	(pedwarn, pedwarn_with_file_and_line, error,
11094169689Skan	error_with_file_and_line, fatal, warning,
11095169689Skan	warning_with_file_and_line): Adjust call to report_diagnostic.
11096169689Skan	(report_diagnostic): Rework.
11097169689Skan	(set_diagnostic_context): New function.
11098169689Skan
11099169689Skan	* diagnostic.h (struct diagnostic_context): New data structure.
11100169689Skan	(diagnostic_message, diagnostic_argument_list,
11101169689Skan	diagnostic_file_location, diagnostic_line_location,
11102169689Skan	diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
11103169689Skan	diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
11104169689Skan	(set_diagnostic_context): Declare.
11105169689Skan	(report_diagnostic): Change prototype.
11106169689Skan
11107169689SkanSun 20-Aug-2000 09:25:45 BST  Neil Booth  <NeilB@earthling.net>
11108169689Skan
11109169689Skan	* fix-header.c (main): Initialize cpplib.
11110169689Skan
11111169689Skan2000-08-19  Michael Meissner  <meissner@redhat.com>
11112169689Skan
11113169689Skan	* ifcvt.c (find_if_block): Do not assume that a THEN block has any
11114169689Skan	instructions in it before checking for indirect jumps.
11115169689Skan
11116169689Skan	* ifcvt.c (find_if_block): Do not consider a THEN block that ends
11117169689Skan	in an indirect jump as a potential for conditional execution.
11118169689Skan
11119169689Skan	* d30v.h (d30v_init_expanders): Don't declare here.
11120169689Skan	* d30v-protos.h (d30v_init_expanders): Declare here with a valid
11121169689Skan	prototype.
11122169689Skan
11123169689SkanSat 19-Aug-2000 21:11:45 BST  Neil Booth  <NeilB@earthling.net>
11124169689Skan
11125169689Skan	* cpp.texi: Add @section for assertions.
11126169689Skan
11127169689SkanSat Aug 19 12:37:08 EDT 2000  John Wehle  (john@feith.com)
11128169689Skan
11129169689Skan	* loop.c (scan_loop): Use CONST_CALL_P instead of
11130169689Skan	checking for REG_LIBCALL / REG_RETVAL.
11131169689Skan
11132169689SkanSat Aug 19 09:18:47 2000  Jeffrey A Law  (law@cygnus.com)
11133169689Skan
11134169689Skan	* reload1.c (reload_as_needed): Accept dumpfile argument,
11135169689Skan	pass it to emit_reload_insns.
11136169689Skan	(emit_reload_insns): Add new dumpfile argument.  If non-null
11137169689Skan	then dump the reloads for each insn into the dumpfile.
11138169689Skan	(reload): Pass dumpfile to reload_as_needed.
11139169689Skan
11140169689Skan	* invoke.texi: Clean up linux-gnu vs linux comments.
11141169689Skan
11142169689Skan2000-08-19  Richard Henderson  <rth@cygnus.com>
11143169689Skan
11144169689Skan	* config/ia64/ia64.c (reg_or_5bit_operand): New.
11145169689Skan	(ia64_depz_field_mask): New.
11146169689Skan	* config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
11147169689Skan	(PREDICATE_CODES): Update.
11148169689Skan	* config/ia64/ia64.md: Update commentary.
11149169689Skan	(depz_internal): New.
11150169689Skan	(ashlsi3): Implement directly.
11151169689Skan	(ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
11152169689Skan	(ashldi3): Use shladd.
11153169689Skan	* config/ia64/ia64-protos.h: Update.
11154169689Skan
11155169689Skan2000-08-18  Zack Weinberg  <zack@wolery.cumb.org>
11156169689Skan
11157169689Skan	* toplev.c (independent_decode_option): Always process -g.
11158169689Skan	Remove third argument, now unused.  Adjust caller to match.
11159169689Skan
11160169689Skan2000-08-18  Richard Henderson  <rth@cygnus.com>
11161169689Skan
11162169689Skan	* combine.c (make_compound_operation): Break after creating
11163169689Skan	the extraction.
11164169689Skan
11165169689Skan2000-08-18  Zack Weinberg  <zack@wolery.cumb.org>
11166169689Skan
11167169689Skan	* cpplib.c (cpp_register_pragma_space): Just return if the
11168169689Skan	namespace is already registered.
11169169689Skan
11170169689Skan2000-08-18  Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton  <nickc@redhat.com>
11171169689Skan
11172169689Skan	* config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
11173169689Skan	constant amount.  Do not generate ROTL instruction.
11174169689Skan
11175169689SkanFri Aug 18 16:22:20 2000  Alexandre Oliva  <aoliva@redhat.com>
11176169689Skan
11177169689Skan	* config/sh/elf.h: Do not include sh/sh.h.
11178169689Skan	* config/sh/rtems.h: Likewise.
11179169689Skan	* config/sh/rtemself.h: Do not include sh/elf.h.
11180169689Skan	* configure.in: Get them included with `tm_file's.
11181169689Skan	* configure: Rebuilt.
11182169689Skan
11183169689Skan	* config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
11184169689Skan	* config/sh/sh.c (fpscr_set_from_mem): Use them.
11185169689Skan
11186169689SkanFri Aug 18 14:23:18 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11187169689Skan
11188169689Skan	* stor-layout.c (compute_record_type): Don't use mode of single
11189169689Skan	field as mode of record if not integer mode of same type.
11190169689Skan
11191169689Skan	* regmove.c (perhaps_ends_bb_p): New function.
11192169689Skan	(optimize_reg_copy_1, optimize_reg_copy_2): Call it.
11193169689Skan	(optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
11194169689Skan	(fixup_match_1): Likewise.
11195169689Skan	(fixup_match_1, combine_stack_adjustments_for_block): Add casts to
11196169689Skan	avoid signed/unsigned warnings.
11197169689Skan
11198169689Skan	* function.c (fixup_var_refs_1, case MEM): Update CODE after
11199169689Skan	updating X.
11200169689Skan
11201169689SkanFri 18-Aug-2000 18:33:45 BST  Neil Booth  <NeilB@earthling.net>
11202169689Skan
11203169689Skan	* cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
11204169689Skan	(_cpp_trigraph_map): Declaration moved from cpplex.c
11205169689Skan
11206169689Skan	* cppinit.c: Define _cpp_trigraph_map.  Use UCHAR_MAX + 1
11207169689Skan	instead	of 256.  Use consistent test for designated initializers.
11208169689Skan	(cpp_init): Initialize trigraph_map.
11209169689Skan	(initialize_standard_includes, parse_option):  Use memcmp
11210169689Skan	instead of strncmp.
11211169689Skan
11212169689Skan	* cpplex.c (init_trigraph_map): Remove.
11213169689Skan	(trigraph_ok, trigraph_replace, lex_line): Refer to
11214169689Skan	_cpp_trigraph_map.
11215169689Skan
11216169689Skan	* cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
11217169689Skan	(do_unassert): Remove unused "next" local.
11218169689Skan
11219169689Skan	* system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
11220169689Skan
11221169689Skan2000-08-18  Emmanuel Marty  <emarty@suntech.fr>
11222169689Skan
11223169689Skan	* arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
11224169689Skan	insn.
11225169689Skan
11226169689Skan2000-08-17  Richard Henderson  <rth@cygnus.com>
11227169689Skan
11228169689Skan	* config/ia64/ia64.c (spill_restore_mem): Handle emitting
11229169689Skan	the first insn in a sequence.
11230169689Skan
11231169689SkanThu Aug 17 22:40:05 EDT 2000  John Wehle  (john@feith.com)
11232169689Skan
11233169689Skan	* alias.c (true_dependence, write_dependence_p): A read
11234169689Skan	involving a label_ref or the constant pool doesn't create
11235169689Skan	a dependency.
11236169689Skan
11237169689Skan	* rtl.h (unchanging): Improve documentation.
11238169689Skan
11239169689Skan2000-08-17  Rodney Brown  <RodneyBrown@mynd.com>
11240169689Skan
11241169689Skan	* cse.c (insert_regs): Remove unused `regno'.
11242169689Skan
11243169689Skan2000-08-17  Neil Booth  <NeilB@earthling.net>
11244169689Skan
11245169689Skan	* (cppinit.c) merge_include_chains: Use remove_dup_dir,
11246169689Skan	remove_dup_dirs.  If qtail == brack, remove brack not
11247169689Skan	qtail.
11248169689Skan	(remove_dup_dir, remove_dup_dirs): New functions.
11249169689Skan
11250169689Skan2000-08-17  Neil Booth  <NeilB@earthling.net>
11251169689Skan
11252169689Skan	* cppinit.c (cpp_cleanup): Free include dir chains.
11253169689Skan	* cpplib.c (do_undef): Let _cpp_free_definition make the node void.
11254169689Skan	(do_unassert): Free the assert with _cpp_free_definition.
11255169689Skan	* cppmacro.c (_cpp_free_definition): Free memory allocated for
11256169689Skan	assertions.  Make the node a T_VOID node.
11257169689Skan
11258169689Skan2000-08-17  Neil Booth  <NeilB@earthling.net>
11259169689Skan
11260169689Skan	* cppinit.c (path_include, append_include_chain):
11261169689Skan	Remove 2nd parameter (struct cpp_pending *).
11262169689Skan	(path_include, initialize_standard_includes, cpp_handle_option):
11263169689Skan	Update callers appropriately.
11264169689Skan	(cpp_handle_option): Use pend.
11265169689Skan
11266169689Skan2000-08-17  Neil Booth  <NeilB@earthling.net>
11267169689Skan
11268169689Skan	* cppinit.c (sort_options): Remove, put functionality in
11269169689Skan	cpp_init.
11270169689Skan	(cpp_init): New.
11271169689Skan	(initialize_builtins): Free memory.
11272169689Skan	(cpp_start_read): Move init_IStable to cpp_init.
11273169689Skan
11274169689Skan	* cpplib.h (cpp_init): New prototype.
11275169689Skan	* cppmain.c (main): Call cpp_init.
11276169689Skan
11277169689SkanThu Aug 17 13:20:32 EDT 2000  John Wehle  (john@feith.com)
11278169689Skan
11279169689Skan	* rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
11280169689Skan	(rtx_unstable_p, rtx_varies_p): Process vectors.
11281169689Skan
11282169689Skan2000-08-16  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>
11283169689Skan
11284169689Skan	* config/sh/lib1funcs.asm (GLOBAL): Define.  Use for all
11285169689Skan	references to GLOBAL symbols.  Use LOCAL where appropriate.
11286169689Skan
11287169689Skan2000-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11288169689Skan
11289169689Skan	* configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld.  Always
11290169689Skan	use t-aix41 when host == target.
11291169689Skan
11292169689Skan2000-08-16  Richard Henderson  <rth@cygnus.com>
11293169689Skan
11294169689Skan	* reload.c (push_secondary_reload): Revert last change.
11295169689Skan	If we use a reload_in/out pattern, make the when the same
11296169689Skan	as the primary reload.
11297169689Skan	(find_reloads): Likewise.
11298169689Skan
11299169689Skan2000-08-16  Manfred Hollstein  <manfredh@redhat.com>
11300169689Skan
11301169689Skan	* configure.in (libstdcxx-v3): Fix test.
11302169689Skan	* configure: Regenerate.
11303169689Skan
11304169689SkanWed Aug 16 08:10:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11305169689Skan
11306169689Skan	* calls.c (calls_function_1, expand_call): Only test
11307169689Skan	TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
11308169689Skan	* function.c (thread_prologue_and_epilogue_insns): Likewise.
11309169689Skan
11310169689Skan2000-08-16  Richard Henderson  <rth@cygnus.com>
11311169689Skan
11312169689Skan	* combine.c (simplify_shift_const): Revert previous two
11313169689Skan	changes.  If SHIFT_COUNT_TRUNCATED, crop the shift count
11314169689Skan	before the main loop.
11315169689Skan
11316169689Skan2000-08-15  Richard Henderson  <rth@cygnus.com>
11317169689Skan
11318169689Skan	* combine.c (simplify_shift_const): Bound shift count when
11319169689Skan	combining shifts.
11320169689Skan
11321169689SkanTue Aug 15 17:33:05 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11322169689Skan
11323169689Skan	* calls.c (ECF_SP_DEPRESSED): New macro.
11324169689Skan	(calls_function_1): Treat calling sp-depressed function as alloca.
11325169689Skan	(emit_call_1): Don't adjust SP if calling sp-depressed function.
11326169689Skan	(expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
11327169689Skan	If sp-depressed, ensure block saves and restores SP.
11328169689Skan	* fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
11329169689Skan	for INTEGER_TYPE.
11330169689Skan	* function.c (keep_stack_depressed): New function.
11331169689Skan	(thread_prologue_and_epilogue_insns): Call it.
11332169689Skan	* print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
11333169689Skan	to print DECL_OFFSET_ALIGN.
11334169689Skan	Print no-force-blk and transparent-union flags properly.
11335169689Skan	* stmt.c (expand_goto_internal): Don't restore stack if last block
11336169689Skan	and function returns with sp depressed.
11337169689Skan	(fixup_gotos): Likewise.
11338169689Skan	(save_stack_pointer): New function, from code in expand_decl.
11339169689Skan	(expand_decl): Call new function.
11340169689Skan	* tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
11341169689Skan	(TYPE_RETURNS_STACK_DEPRESSED): New macro.
11342169689Skan	(save_stack_pointer): New declaration.
11343169689Skan
11344169689Skan	* diagnostic.c (fatal_function): New variable.
11345169689Skan	(set_fatal_function): New function.
11346169689Skan	(fatal): Call it.
11347169689Skan	* diagnostic.h (set_fatal_function): New declaration.
11348169689Skan
11349169689Skan2000-08-15  William Cohen  <wcohen@redhat.com>
11350169689Skan
11351169689Skan	* config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
11352169689Skan	(PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
11353169689Skan	(DWARF2_ASM_LINE_DEBUG_INFO): Defined.
11354169689Skan
11355169689Skan2000-08-15  Richard Henderson  <rth@cygnus.com>
11356169689Skan
11357169689Skan	* flow.c (mark_used_reg): Set reg_cond_reg appropriately.
11358169689Skan
11359169689Skan2000-08-15  Richard Earnshaw <rearnsha@arm.com>
11360169689Skan
11361169689Skan	* arm.c (arm_function_ok_for_sibcall): New function.
11362169689Skan	* arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
11363169689Skan	* arm.md (call expanders): Don't check here for calls that can't
11364169689Skan	be sibling calls.
11365169689Skan
11366169689Skan2000-08-15  Richard Earnshaw <rearnsha@arm.com>
11367169689Skan
11368169689Skan	* arm.md (splits generating cond_exec): Disable.
11369169689Skan
11370169689Skan2000-08-15  Richard Earnshaw <rearnsha@arm.com>
11371169689Skan
11372169689Skan	* arm/linux-elf.h (text_section): Delete declaration.
11373169689Skan
11374169689Skan2000-08-15  Richard Earnshaw <rearnsha@arm.com>
11375169689Skan
11376169689Skan	ARM support for unordered FP operations.
11377169689Skan	* arm-protos.h (arm_comparison_operator): Declare.
11378169689Skan	* arm.c (arm_comparison_operator): New function.
11379169689Skan	(arm_select_cc_mode): Add unordered comparison codes.
11380169689Skan	(get_arm_condition_code): Likewise.
11381169689Skan	(arm_final_prescan_insn): Can't handle unordered jumps that can't
11382169689Skan	be done in one insn.
11383169689Skan	* arm.h (PREDICATE_CODES): Add arm_comparison_operator.
11384169689Skan	* arm.md (all uses of comparison_operator): Replace with
11385169689Skan	arm_comparison_operator.
11386169689Skan	(bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
11387169689Skan	expands.
11388169689Skan	(arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
11389169689Skan	patterns.
11390169689Skan
11391169689SkanTue Aug 15 00:36:36 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
11392169689Skan
11393169689Skan	* gthr-posix.h: Conditionally include <sched.h>; include
11394169689Skan	<config.h> from libobjc/.
11395169689Skan
11396169689Skan2000-08-14  Richard Henderson  <rth@cygnus.com>
11397169689Skan
11398169689Skan	* config/i386/i386.c (legitimize_pic_address): Use Pmode
11399169689Skan	for all CONSTs.
11400169689Skan
11401169689Skan2000-08-14  Richard Henderson  <rth@cygnus.com>
11402169689Skan
11403169689Skan	* configure.in (ia64-*): Set float_format for i386 long double.
11404169689Skan
11405169689Skan	* real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
11406169689Skan	as we would for i386 XFmode.
11407169689Skan	(PUT_REAL): Likewise.
11408169689Skan	(endian, ereal_atof, real_value_truncate): Likewise.
11409169689Skan	(ereal_isneg, toe64, etens, make_nan): Likewise.
11410169689Skan	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
11411169689Skan
11412169689Skan	* config/ia64/ia64-protos.h: Update.
11413169689Skan	* config/ia64/ia64.c (general_tfmode_operand): New.
11414169689Skan	(destination_tfmode_operand): New.
11415169689Skan	(tfreg_or_fp01_operand): New.
11416169689Skan	(ia64_split_timode): New.
11417169689Skan	(spill_tfmode_operand): New.
11418169689Skan	(ia64_expand_prologue): Use TFmode not XFmode.
11419169689Skan	(ia64_expand_epilogue): Likewise.
11420169689Skan	(ia64_function_arg): Likewise.
11421169689Skan	(ia64_function_arg_advance): Likewise.
11422169689Skan	(ia64_return_in_memory): Likewise.
11423169689Skan	(ia64_function_value): Likewise.
11424169689Skan	(ia64_print_operand): Likewise.
11425169689Skan	(ia64_register_move_cost): Set GR<->FR to 5.
11426169689Skan	(ia64_secondary_reload_class): Get GR for TImode memory op.
11427169689Skan	* config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
11428169689Skan	(ROUND_TYPE_ALIGN): Remove.
11429169689Skan	(LONG_DOUBLE_TYPE_SIZE): Set to 128.
11430169689Skan	(INTEL_EXTENDED_IEEE_FORMAT): Define.
11431169689Skan	(HARD_REGNO_NREGS): Use TFmode, not XFmode.
11432169689Skan	(HARD_REGNO_MODE_OK): Likewise.  Disallow TImode in FRs.
11433169689Skan	(MODES_TIEABLE_P): Use TFmode, not XFmode.
11434169689Skan	(CLASS_MAX_NREGS): Likewise.
11435169689Skan	(ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
11436169689Skan	(PREDICATE_CODES): Update.
11437169689Skan	* config/ia64/ia64.md (movti): New.
11438169689Skan	(movti_internal): Use a clobber for memory alternatives.
11439169689Skan	(reload_inti, reload_outti): New.
11440169689Skan	(movsfcc_astep): Predicate properly.
11441169689Skan	(movdfcc_astep): Likewise.
11442169689Skan	(movxf): Remove.
11443169689Skan	(movtf): New.
11444169689Skan	(extendsftf2, extenddftf2): New.
11445169689Skan	(trunctfsf2, trunctfdf2): New.
11446169689Skan	(floatditf2, fix_trunctfdi2): New.
11447169689Skan	(floatunsditf2, fixuns_trunctfdi2): New.
11448169689Skan	(addtf3, subtf3, multf3, abstf2): New.
11449169689Skan	(negtf2, nabstf2, mintf3, maxtf3): New.
11450169689Skan	(maddtf3, msubtf3, nmultf3, nmaddtf3): New.
11451169689Skan	(cmptf): New.
11452169689Skan	(fr_spill): Use TFmode, not XFmode.
11453169689Skan	(fr_restore): Likewise.
11454169689Skan	* config/ia64/lib1funcs.asm (__divtf3): New.
11455169689Skan	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
11456169689Skan
11457169689Skan2000-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11458169689Skan
11459169689Skan	* cse.c (fold_rtx): Avoid empty body in an if-statement.
11460169689Skan
11461169689Skan	* doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
11462169689Skan	`U' integer constant suffix.
11463169689Skan
11464169689Skan	* dwarf2out.c (add_subscript_info): Avoid empty body in an
11465169689Skan	else-statement.
11466169689Skan
11467169689Skan	* sparc/sol2.h (__enable_execute_stack): Prototype.
11468169689Skan
11469169689Skan2000-08-14  David Edelsohn  <edelsohn@gnu.org>
11470169689Skan
11471169689Skan	* collect2.c: Remove use of AIX import file.
11472169689Skan
11473169689Skan	* longlong.h: Test ARCH_PWR not ARCH_POWER.
11474169689Skan
11475169689Skan	* rs6000.c (print_operand, case 'E'): Add else.
11476169689Skan
11477169689Skan2000-08-14  Richard Henderson  <rth@cygnus.com>
11478169689Skan
11479169689Skan	* config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
11480169689Skan	(movdi_symbolic): New.
11481169689Skan
11482169689Skan2000-08-14  Jim Wilson  <wilson@cygnus.com>
11483169689Skan
11484169689Skan	* config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
11485169689Skan	to GNU as.  For Intel as, pass -M const_gp and -M no_plabel.
11486169689Skan	* config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
11487169689Skan	to GNU as.
11488169689Skan
11489169689Skan2000-08-14  Richard Henderson  <rth@cygnus.com>
11490169689Skan
11491169689Skan	* expr.c (emit_group_load): Don't force constants into registers.
11492169689Skan	Special case source already in the correct mode.
11493169689Skan
11494169689Skan2000-08-14  Zack Weinberg  <zack@wolery.cumb.org>
11495169689Skan
11496169689Skan	* configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
11497169689Skan	* fixinc/inclhack.def: Likewise.
11498169689Skan	* fixinc/mkfixinc.sh: Likewise.
11499169689Skan	* configure: Regenerate.
11500169689Skan	* fixinc/fixincl.x: Regenerate.
11501169689Skan	* install.texi: Document equivalence of linux and linux-gnu.
11502169689Skan
11503169689SkanMon Aug 14 18:51:44 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
11504169689Skan
11505169689Skan	* cse.c (insert_regs): Also in REG case: When finding an invalid
11506169689Skan	value, and we make a new quantity, make sure that it won't be
11507169689Skan	mistaken by for a valid one by mention_regs.
11508169689Skan
11509169689Skan2000-08-13  Ralf G�tlein <ralf.guetlein@aranea.de>
11510169689Skan
11511169689Skan	* h8300.md: Remove obsolete peepholes.
11512169689Skan
11513169689Skan2000-08-13  Kazu Hirata  <kazu@hxi.com>
11514169689Skan
11515169689Skan	* invoke.texi (H8/300 Options): Fix typos.
11516169689Skan	* config/h8300.c: Fix formatting.
11517169689Skan	* config/h8300.h: Fix comment typos.
11518169689Skan	(OVERRIDE_OPTIONS): Fix formatting.
11519169689Skan
11520169689Skan	* function.c: Fix formatting.
11521169689Skan
11522169689Skan	* cse.c: Fix formatting.
11523169689Skan
11524169689Skan2000-08-13  Geoff Keating  <geoffk@cygnus.com>
11525169689Skan
11526169689Skan	* flow.c (attempt_auto_inc): Remove unused variable `bb'.
11527169689Skan	(attempt_auto_inc): Suppress parentheses warning.
11528169689Skan	* function.c (put_reg_into_stack): Remove unused variable `unsigned_p'.
11529169689Skan	* loop.c (load_mems): Remove `u' suffix in two places.
11530169689Skan	* config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from
11531169689Skan	hex constants.
11532169689Skan	* config/rs6000/rs6000.h: Likewise.
11533169689Skan	* config/rs6000/sol-c0.c: Prototype some functions.  Remove the
11534169689Skan	__eabi dummy routine.
11535169689Skan	* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused
11536169689Skan	variable `buf_ptr'.
11537169689Skan
11538169689Skan	* config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
11539169689Skan	not put stuff in .sdata unnecessarily.
11540169689Skan	(rs6000_unique_section): New function.
11541169689Skan	* config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
11542169689Skan	* config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
11543169689Skan
11544169689Skan	* c-typeck.c (build_array_ref): Don't complain about non-lvalue
11545169689Skan	arrays in C99.  Don't try to look at DECL_REGISTER of a
11546169689Skan	COMPONENT_REF.  Don't complain twice about the same error.
11547169689Skan
11548169689Skan	* fixinc/inclhack.def (aix_pthread): New fix.
11549169689Skan	(aix_sysmachine): New fix.
11550169689Skan	* fixinc/fixincl.x: Regenerate.
11551169689Skan
11552169689Skan	* expr.c (expand_expr): Call convert_modes when turning a large
11553169689Skan	multiply into a small one.
11554169689Skan
11555169689Skan2000-08-12  Geoff Keating  <geoffk@cygnus.com>
11556169689Skan
11557169689Skan	* tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
11558169689Skan	the tree structure an exponent rather than an explicit alignment
11559169689Skan	so it doesn't overflow.
11560169689Skan	(SET_DECL_OFFSET_ALIGN): New macro.
11561169689Skan	* stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
11562169689Skan	rather than DECL_OFFSET_ALIGN.
11563169689Skan	(place_field): Likewise.
11564169689Skan	* expmed.c (store_bit_field): Abort on align==0 to avoid
11565169689Skan	antisocial machine behavior.
11566169689Skan
11567169689Skan2000-08-12  Richard Henderson  <rth@cygnus.com>
11568169689Skan
11569169689Skan	* sibcall.c (uses_addressof): Accept both addressof and
11570169689Skan	current_function_internal_arg_pointer inside a mem.
11571169689Skan	(optimize_sibling_and_tail_recursive_call): Fail tail recursion
11572169689Skan	if current_function_uses_addressof.
11573169689Skan	* stmt.c (expand_return): Kill tail recursion and HAVE_return
11574169689Skan	optimizations.
11575169689Skan
11576169689Skan2000-08-11  Richard Henderson  <rth@cygnus.com>
11577169689Skan
11578169689Skan	* config/ia64/ia64.md (addsi3): Remove expander.
11579169689Skan	(subsi3, mulsi3, negsi2, one_cmplsi2): Likewise.
11580169689Skan	(*addsi3_shladd): New.
11581169689Skan
11582169689Skan2000-08-11  Richard Henderson  <rth@cygnus.com>
11583169689Skan
11584169689Skan	* config/ia64/ia64.c (do_spill): Pass cfa offset to move expander.
11585169689Skan	(do_restore): Likewise.
11586169689Skan	(gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New.
11587169689Skan	(ia64_expand_prologue, ia64_expand_epilogue): Use them.
11588169689Skan	(rtx_needs_barrier): Track actual bit manipulation for
11589169689Skan	ar.unat moves, gr_spill, and gr_restore.
11590169689Skan	(emit_insn_group_barriers): Special case gr_spill/gr_restore.
11591169689Skan	(process_set): Don't handle varargs spills.
11592169689Skan	* config/ia64/ia64.md (gr_spill): Accept cfa offset.  Emit
11593169689Skan	.mem.offset here instead of in process_set.
11594169689Skan	(gr_restore): Likewise.
11595169689Skan
11596169689Skan2000-08-11  Richard Henderson  <rth@cygnus.com>
11597169689Skan
11598169689Skan	* config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
11599169689Skan
11600169689Skan2000-08-11  Mark Elbrecht  <snowball3@bigfoot.com>
11601169689Skan
11602169689Skan	* gcc.texi (The Configuration File): Document
11603169689Skan	COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and
11604169689Skan	UPDATE_PATH_HOST_CANONICALIZATION.
11605169689Skan
11606169689Skan2000-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11607169689Skan
11608169689Skan	* c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for
11609169689Skan	unprototyped function pointer casts on integer constants.
11610169689Skan
11611169689Skan2000-08-11 Laurynas Biveinis <lauras@softhome.net>
11612169689Skan
11613169689Skan	* fixproto: Recognize DOS paths with drive letters as absolute paths.
11614169689Skan
11615169689Skan2000-08-11  Nathan Sidwell  <nathan@codesourcery.com>
11616169689Skan
11617169689Skan	* extend.texi (Volatiles): Fix typos.
11618169689Skan
11619169689Skan2000-08-11  Kazu Hirata  <kazu@hxi.com>
11620169689Skan
11621169689Skan	* flow.c: Fix formatting.
11622169689Skan
11623169689Skan2000-08-11  Richard Henderson  <rth@cygnus.com>
11624169689Skan
11625169689Skan	* reload.c (push_secondary_reload): When invoking a reload_{in,out}
11626169689Skan	pattern, always allocate a tertiary scratch register.
11627169689Skan
11628169689Skan	* config/alpha/alpha.md (reload_inqi): Use a DImode scratch.
11629169689Skan	(reload_inhi): Likewise.
11630169689Skan
11631169689Skan2000-08-11  Richard Henderson  <rth@cygnus.com>
11632169689Skan
11633169689Skan	* function.c (put_reg_into_stack): Allow type to be NULL.
11634169689Skan	(schedule_fixup_var_refs): Likewise.
11635169689Skan	(gen_mem_addressof): Allow decl to be NULL.
11636169689Skan	(put_addressof_into_stack): Likewise.
11637169689Skan
11638169689Skan	* flow.c (merge_blocks_nomove): Be more careful about
11639169689Skan	locating the beginning of block A.
11640169689Skan
11641169689Skan	* combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED.
11642169689Skan
11643169689SkanThu Aug 10 22:47:09 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
11644169689Skan
11645169689Skan	* configure.in:
11646169689Skan	* configure:
11647169689Skan	* gthr-posix.h:
11648169689Skan	* config.in: Reverted the check for <sched.h>.
11649169689Skan
11650169689Skan2000-08-10  Chris Demetriou  <cgd@sibyte.com>
11651169689Skan
11652169689Skan	* mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New
11653169689Skan	macros define the name of CTOR and DTOR sections.
11654169689Skan	(CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
11655169689Skan	DTOR_LIST_END): Change to use attributes to specify
11656169689Skan	sections.
11657169689Skan	* mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME,
11658169689Skan	(CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
11659169689Skan	DTOR_LIST_END): Same as in mips/elf.h.
11660169689Skan
11661169689Skan2000-08-10  Drew Moseley  <dmoseley@redhat.com>
11662169689Skan
11663169689Skan	* config/mn10300/mn10300.h: Added no-crt0 option for explicitly
11664169689Skan	disabling just crt0.o.
11665169689Skan
11666169689Skan2000-08-10  Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton  <nickc@cygnus.com>
11667169689Skan
11668169689Skan	* arm.h (CPP_SPEC): Use sub-spec cpp_interwork.
11669169689Skan	(CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs.
11670169689Skan	(EXTRA_SPECS): Add them.
11671169689Skan	* arm/lib1funcs.asm: Support builds for interworking.
11672169689Skan	Use macros to eliminate duplicated pieces of code.
11673169689Skan
11674169689Skan2000-08-10  Kazu Hirata  <kazu@hxi.com>
11675169689Skan
11676169689Skan	* h8300.c (expand_a_rotate): New.
11677169689Skan	(emit_a_rotate): Likewise.
11678169689Skan	(h8300_adjust_insn_length): Add support for the rotate insns.
11679169689Skan	* h8300.md (rotlqi3): New.
11680169689Skan	(*rotlqi3_1): Likewise.
11681169689Skan	(rotlhi3): Likewise.
11682169689Skan	(*rotlhi3_1): Likewise.
11683169689Skan	(rotlhi3): Likewise.
11684169689Skan	(*rotlhi3_1): Likewise.
11685169689Skan	* h8300-proto.h: Add prototypes for expand_a_rotate and
11686169689Skan	emit_a_rotate.
11687169689Skan
11688169689Skan	* h8300.c: Fix comment typos.
11689169689Skan	(dosize): Declare the variable amount as unsigned.
11690169689Skan	(get_shift_alg): Fix a comparison between signed and unsigned.
11691169689Skan	(emit_a_shift): Likewise.
11692169689Skan	(h8300_adjust_insn_length): Simplify the code.
11693169689Skan
11694169689Skan	* c-decl.c: Fix formatting.
11695169689Skan
11696169689Skan2000-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11697169689Skan
11698169689Skan	* c-lex.c (parse_float, yylex): For -Wtraditional, issue a
11699169689Skan	warning about non-traditional numeric constant suffixes.
11700169689Skan
11701169689Skan	* cppexp.c (parse_number): Likewise.
11702169689Skan
11703169689Skan	* invoke.texi: (-Wtraditional): Document new behavior.
11704169689Skan
11705169689SkanThu Aug 10 00:11:04 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
11706169689Skan
11707169689Skan	* gthr-posix.h: Include auto-host.h. Conditionally include
11708169689Skan	<sched.h>.
11709169689Skan	* configure.in: Check for the <sched.h> header file.
11710169689Skan	* config.in: Added define for HAVE_SCHED_H.
11711169689Skan
11712169689Skan2000-08-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11713169689Skan
11714169689Skan	* c-typeck.c (process_init_element): For -Wtraditional, warn about
11715169689Skan	initialization of unions.
11716169689Skan
11717169689Skan	* invoke.texi (-Wtraditional): Document new behavior.
11718169689Skan
11719169689Skan2000-08-09  Zack Weinberg  <zack@wolery.cumb.org>
11720169689Skan
11721169689Skan	* configure.in (--enable-c-cpplib): Uncomment.  Use AC_DEFINE
11722169689Skan	instead of extra_c_flags.
11723169689Skan	(--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
11724169689Skan	* configure: Regenerate.
11725169689Skan	* config.in: Regenerate.
11726169689Skan
11727169689Skan	* cpperror.c (cpp_type2name): New function.
11728169689Skan	* cpplex.c (lex_line): If we issued an error for an invalid
11729169689Skan	preprocessing directive, discard that logical line.
11730169689Skan	* cpplib.c (do_line): Call a hook function if the current file
11731169689Skan	is renamed by #line.
11732169689Skan	(do_ident): Pass the contents of the string, not the entire
11733169689Skan	token, to the callback function.
11734169689Skan	* cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
11735169689Skan	(cb.rename_file): New hook function.
11736169689Skan	(cb.ident): Adjust prototype.
11737169689Skan	(cpp_type2name): Prototype.
11738169689Skan	* cppmacro.c (dump_macro_args): Correct precedence lossage.
11739169689Skan
11740169689Skan	* cppmain.c (cb_ident): Update for changed interface.
11741169689Skan	(cb_rename_file): New function.
11742169689Skan	(main): Set rename callback.
11743169689Skan
11744169689Skan2000-08-09  Alexandre Oliva  <aoliva@redhat.com>
11745169689Skan
11746169689Skan	* caller-save.c (mark_referenced_regs): Mark partially-overwritten
11747169689Skan	multi-word registers.
11748169689Skan
11749169689Skan2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11750169689Skan
11751169689Skan	* c-common.c (combine_strings, check_format_info): Refer to ISO C
11752169689Skan	or ISO C89 instead of ANSI C.
11753169689Skan	* c-decl.c (grokdeclarator, xref_tag, finish_struct,
11754169689Skan	build_enumerator, do_case): Likewise.
11755169689Skan	* c-lex.c (parse_float, yylex): Likewise.
11756169689Skan	* c-parse.in: Likewise.
11757169689Skan	* c-typeck.c (common_type, build_array_ref, build_binary_op,
11758169689Skan	build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
11759169689Skan	build_c_cast, convert_for_assignment, set_init_index,
11760169689Skan	set_init_label, c_expand_start_case): Likewise.
11761169689Skan	* toplev.c (documented_lang_options, display_help): Likewise.
11762169689Skan
11763169689Skan2000-08-08  Kazu Hirata  <kazu@hxi.com>
11764169689Skan
11765169689Skan	* h8300.c: Fix formatting.
11766169689Skan	* h8300.h: Likewise.
11767169689Skan	* h8300.md: Likewise.
11768169689Skan	(movsi_h8300hs): Fix formatting of the resulting assembly code.
11769169689Skan
11770169689Skan	* reload1.c: Fix formatting.
11771169689Skan
11772169689Skan2000-08-08  Rodney Brown  <RodneyBrown@mynd.com>
11773169689Skan
11774169689Skan	* alpha/alpha.c (alpha_emit_xfloating_libcall):
11775169689Skan	Use GEN_CALL_VALUE define.
11776169689Skan	* alpha/alpha.md (untyped_call): Use GEN_CALL define.
11777169689Skan	* clipper/clipper.md (untyped_call): Likewise.
11778169689Skan	* dsp16xx/dsp16xx.md (untyped_call): Likewise.
11779169689Skan	* fx80/fx80.md (untyped_call): Likewise.
11780169689Skan	* mips/mips.md (untyped_call): Likewise.
11781169689Skan	* ns32k/ns32k.md (untyped_call): Likewise.
11782169689Skan	* pa/pa.md (untyped_call): Likewise.
11783169689Skan	* romp/romp.md (untyped_call): Likewise.
11784169689Skan	* sparc/sparc.md (untyped_call): Likewise.
11785169689Skan
11786169689Skan2000-08-08  Jason Eckhardt  <jle@cygnus.com>
11787169689Skan
11788169689Skan	* config/i860/i860.c (singlemove_string): Do not generate assembler
11789169689Skan	pseudo instructions that must be expanded (that is, with signed
11790169689Skan	constants larger than 16 bits).
11791169689Skan
11792169689Skan2000-08-08  Richard Henderson  <rth@cygnus.com>
11793169689Skan
11794169689Skan	* flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
11795169689Skan	PROP_AUTOINC at -O0.  Don't collect alias info at -O0.
11796169689Skan	(init_propagate_block_info): Don't kill memory stores at -O0.
11797169689Skan	(mark_set_1, mark_used_regs): Likewise.
11798169689Skan
11799169689Skan2000-08-08  David Edelsohn  <edelsohn@gnu.org>
11800169689Skan
11801169689Skan	* rs6000.c (optimization_options): Decorate 'level' as
11802169689Skan	ATTRIBUTE_UNUSED.
11803169689Skan	(mask64_operand): Remove sign-extend thinko.
11804169689Skan	(rldic_operand): New function.
11805169689Skan	(load_multiple_operation): regno's are unsigned ints.
11806169689Skan	(store_multiple_operation): Likewise.
11807169689Skan	(lmw_operation): Likewise.
11808169689Skan	(stmw_operation): Likewise.
11809169689Skan	(includes_lshift_p): shift_mask is unsigned int.
11810169689Skan	(includes_lshift64_p): New function.
11811169689Skan	(addrs_ok_for_quad_peep): unsigned int reg1.
11812169689Skan	(print_operand): Consistently add "else" after
11813169689Skan	output_operand_lossage().
11814169689Skan	(print_operand, case 'b'): Fold in case 'W'.
11815169689Skan	(print_operand, case 'W'): Print rldic MB value.
11816169689Skan	(output_epilogue): Update Objective-C language string.
11817169689Skan	(output_toc): unsigned HOST_WIDE_INT low, compare unsigned.
11818169689Skan	* rs6000.h (PREDICATE_CODES): Add rldic_operand.
11819169689Skan	* rs6000.md (ashldi3): Add rldic instruction.
11820169689Skan	(iordi3, xordi3): Remove redundant "else if CONST_DOUBLE".
11821169689Skan	(cmpsi_internal2, cmpdi_interal2): Use 'b' output template
11822169689Skan	modifier.
11823169689Skan
11824169689Skan2000-08-08  Richard Henderson  <rth@cygnus.com>
11825169689Skan
11826169689Skan	* config/ia64/ia64-protos.h: Remove duplicates.  Update
11827169689Skan	for massive code rearrangements.
11828169689Skan	* config/ia64/ia64.c (ia64_arpfs_regno): Remove.
11829169689Skan	(ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove.
11830169689Skan	(ia64_local_regs, ia64_need_regstk): Remove.
11831169689Skan	(ar_ccv_reg_operand): New.
11832169689Skan	(ia64_gp_save_reg): New.
11833169689Skan	(struct ia64_frame_info): Combine most of the size elements;
11834169689Skan	add new gr save elements.
11835169689Skan	(find_gr_spill): New.
11836169689Skan	(next_scratch_gr_reg): New.
11837169689Skan	(mark_reg_gr_used_mask): New.
11838169689Skan	(ia64_compute_frame_size): Rewrite.  Allocate special AR regs
11839169689Skan	to GR backing store regs when possible.
11840169689Skan	(ia64_initial_elimination_offset): New.
11841169689Skan	(ia64_rap_fp_offset): Remove.
11842169689Skan	(save_restore_insns): Remove.
11843169689Skan	(setup_spill_pointers): New.
11844169689Skan	(finish_spill_pointers): New.
11845169689Skan	(spill_restore_mem): New.
11846169689Skan	(do_spill, do_restore): New.
11847169689Skan	(ia64_expand_prologue): Rewrite to use them.
11848169689Skan	(ia64_expand_epilogue): Likewise.
11849169689Skan	(ia64_direct_return): Update for current_frame_info changes.
11850169689Skan	(ia64_function_prologue): Simplify .prologue emission.  Emit
11851169689Skan	.spill when needed.
11852169689Skan	(ia64_setup_incoming_varargs): Don't ever emit rtl.
11853169689Skan	(ia64_dbx_register_number): New.
11854169689Skan	(ia64_initialize_trampoline): New.
11855169689Skan	(ia64_secondary_reload_class): Request GR_REGS for integer
11856169689Skan	arithmetic destined for FR_REGS.
11857169689Skan	(ia64_init_machine_status): Don't reset return_address_pointer_rtx.
11858169689Skan	(ia64_mark_machine_status): Mark ia64_gp_save.
11859169689Skan	(rws_access_regno): Rename from rws_access_reg; don't treat
11860169689Skan	predicates specially.
11861169689Skan	(rws_access_reg): New.  Update all callers.
11862169689Skan	(rtx_needs_barrier): Remove dead unspecs.
11863169689Skan	(ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit.
11864169689Skan	(ia64_encode_section_info): Silence signed/unsigned warnings.
11865169689Skan	(spill_offset, sp_offset, spill_offset_emitted): Remove.
11866169689Skan	(tmp_reg, tmp_saved): Remove.
11867169689Skan	(process_set): Rewrite to expect complicated bits via
11868169689Skan	REG_FRAME_RELATED_EXPR.
11869169689Skan	(ia64_expand_fetch_and_op): Use emit_move_insn; be explicit
11870169689Skan	in the use of ar.ccv; never set RTX_UNCHANGING_P.
11871169689Skan	(ia64_expand_op_and_fetch): Likewise.
11872169689Skan	(ia64_expand_compare_and_swap): Likewise.
11873169689Skan	(ia64_expand_builtin): Likewise.
11874169689Skan	* config/ia64/ia64.h (AR_UNAT_REGNUM): New.
11875169689Skan	(FIRST_PSEUDO_REGISTER): Update.
11876169689Skan	(AR_M_REGNO_P): Update.
11877169689Skan	(FIXED_REGS): Don't mark three local registers as used.
11878169689Skan	(EXTRA_CC_MODES): New.
11879169689Skan	(SELECT_CC_MODE): New.
11880169689Skan	(HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode.
11881169689Skan	(HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates.
11882169689Skan	(FRAME_GROWS_DOWNWARD): Unset.
11883169689Skan	(STARTING_FRAME_OFFSET): Zero.
11884169689Skan	(ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer.
11885169689Skan	(INITIAL_ELIMINATION_OFFSET): Defer to out of line function.
11886169689Skan	(HARD_FRAME_POINTER_REGNUM): New.
11887169689Skan	(CAN_DEBUG_WITHOUT_FP): Define.
11888169689Skan	(TRAMPOLINE_TEMPLATE): Remove.
11889169689Skan	(TRAMPOLINE_SIZE): Lower to 32.
11890169689Skan	(TRAMPOLINE_ALIGNMENT): Lower to 64.
11891169689Skan	(INITIALIZE_TRAMPOLINE): Defer to out of line function.
11892169689Skan	(PREDICATE_CODES): Update.
11893169689Skan	(struct machine_function): Add ia64_gp_save.
11894169689Skan	* config/ia64/ia64.md: Purge unused unspecs.
11895169689Skan	(movsi patterns): Allow moves to/from AR_M_REGS.
11896169689Skan	(movdi patterns): Allow moves to/from p0.
11897169689Skan	(call patterns): Move most setjmp hackery to ia64_gp_save_reg.
11898169689Skan	(gr_spill, gr_restore): Indicate ar.unat read/written.
11899169689Skan	(nonlocal_goto): Don't pass old frame_pointer.
11900169689Skan	(nonlocal_goto_receiver): Remove.
11901169689Skan	(exception_receiver): New.
11902169689Skan	(builtin_setjmp_setup): New.
11903169689Skan	(builtin_setjmp_receiver): New.
11904169689Skan	* config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle.
11905169689Skan	(__ia64_nonlocal_goto): Bundle.  Don't kill r7.
11906169689Skan	(__ia64_restore_stack_nonlocal): Likewise.
11907169689Skan	(__ia64_trampoline): New.
11908169689Skan	* config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line
11909169689Skan	function.
11910169689Skan	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline.
11911169689Skan
11912169689Skan2000-08-08  Richard Henderson  <rth@cygnus.com>
11913169689Skan
11914169689Skan	* frame.h (ia64_frame_state): Add my_psp.
11915169689Skan	* libgcc2.c (ia64_throw_helper): Add throw_sp argument.
11916169689Skan	(__throw): Pass it in.  Don't clobber r7.
11917169689Skan	* config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
11918169689Skan	(execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
11919169689Skan	and nothing to do with sp.
11920169689Skan	(normalize_reg_loc): Use frame->my_psp.
11921169689Skan	(frame_translate): Handle frame-pointer-less functions.  Set
11922169689Skan	spill_base correctly, in absence of being told.
11923169689Skan	(__build_ia64_frame_state): New sp argument.  Fill in frame->my_sp.
11924169689Skan	(__ia64_backtrace_helper): New sp argument.  Use
11925169689Skan	builtin_return_address instead of label addresses.
11926169689Skan	(print_record) [mem_stack_v]: No size member.
11927169689Skan
11928169689Skan2000-08-08  Richard Henderson  <rth@cygnus.com>
11929169689Skan
11930169689Skan	* regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
11931169689Skan
11932169689Skan2000-08-08  Richard Henderson  <rth@cygnus.com>
11933169689Skan
11934169689Skan	* tm.texi (LOCAL_REGNO): Document.
11935169689Skan	* flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
11936169689Skan	(mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
11937169689Skan	* reload1.c (reload): Likewise when considering nonlocal labels.
11938169689Skan
11939169689Skan	* config/ia64/ia64.h (LOCAL_REGNO): New.
11940169689Skan	* config/sparc/sparc.h (LOCAL_REGNO): New.
11941169689Skan
11942169689Skan2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
11943169689Skan
11944169689Skan	* c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'.
11945169689Skan
11946169689Skan2000-08-07  Nick Clifton  <nickc@redhat.com>
11947169689Skan
11948169689Skan	* config/mips/mips.c: Fix compile time warning messages.
11949169689Skan	* config/mips/mips-protos.h: Add prototype for equality_op.
11950169689Skan
11951169689Skan	* mn10300.h (TARGET_SWITCHES): Document `-mam33'.
11952169689Skan
11953169689Skan2000-08-07  Graham Stott  <grahams@cygnus.co.uk>
11954169689Skan
11955169689Skan	* mn10300.md: Use nonimmediate_operand instead of general_operand
11956169689Skan	on output operands.
11957169689Skan
11958169689Skan	* mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
11959169689Skan
11960169689Skan2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
11961169689Skan
11962169689Skan	* sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards.
11963169689Skan	* sh.c (expand_block_move): Break long lines.
11964169689Skan	(expand_ashiftrt, fpscr_set_from_mem): Likewise.
11965169689Skan	* sh.md (mulsi3): Likewise.
11966169689Skan	(movdi): Adjust spacing.
11967169689Skan
11968169689Skan2000-08-07  Richard Henderson  <rth@cygnus.com>
11969169689Skan
11970169689Skan	* expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
11971169689Skan	* expr.c (emit_group_store): Don't set it.
11972169689Skan
11973169689Skan2000-08-07  Kazu Hirata  <kazu@hxi.com>
11974169689Skan
11975169689Skan	* invoke.texi (Options for Debugging Your Program or GCC): Remove
11976169689Skan	duplicate entries for 'w' and 'z'.
11977169689Skan
11978169689Skan	* flow.c: Fix a comment typo.
11979169689Skan
11980169689SkanSun Aug  6 23:47:35 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
11981169689Skan
11982169689Skan	* c-parse.in: Changed the language string for Objective-C to "GNU
11983169689Skan	Objective-C".
11984169689Skan
11985169689SkanSun Aug  6 11:54:03 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
11986169689Skan
11987169689Skan	* gthr-posix.h: Integrated Chris Ball's <cball@fmco.com> changes
11988169689Skan	to improve the Posix thread support for Objective-C.
11989169689Skan
11990169689Skan2000-08-06  Joseph S. Myers  <jsm28@cam.ac.uk>
11991169689Skan
11992169689Skan	* c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and
11993169689Skan	CTI_UNSIGNED_PTRDIFF_TYPE.
11994169689Skan	(signed_size_type_node): Define.
11995169689Skan	(unsigned_ptrdiff_type_node): Define.
11996169689Skan	* c-decl.c (init_decl_processing): Create the
11997169689Skan	signed_size_type_node and unsigned_ptrdiff_type_node types.
11998169689Skan	* c-common.c (T_SC): Define.
11999169689Skan	(T_SST): Define.
12000169689Skan	(T_UPD): Define.
12001169689Skan	(print_char_table): Use T_SST for %zd, %zi, %zn.  Use T_UPD for
12002169689Skan	%to, %tu, %tx, %tX.  Allow %hhn (T_SC).  Add "c" to the flags for
12003169689Skan	%s and %p.
12004169689Skan	(scan_char_table): Use T_SC for %hhd, %hhi, %hhn.  Use T_SST for
12005169689Skan	%zd, %zi, %zn.  Use T_UPD for %to, %tu, %tx, %tX.  Add "c" to the
12006169689Skan	flags for %c, %s and %[.
12007169689Skan	(check_format_info): Only allow leniency for signedness of targets
12008169689Skan	of character pointers (when pedantic) for formats flagged with
12009169689Skan	"c", so for strings but not for %hh formats.  When pedantic, don't
12010169689Skan	allow character pointers to substitute for void pointers if a
12011169689Skan	second level of indirection is present.
12012169689Skan
12013169689Skan2000-08-06  Kazu Hirata  <kazu@hxi.com>
12014169689Skan
12015169689Skan	* invoke.texi (Options for Debugging Your Program or GCC): Update
12016169689Skan	the names of dump files.
12017169689Skan
12018169689Skan	* h8300.c (dosize): Rearrange code for conciseness.
12019169689Skan	(split_adds_subs): Likewise.
12020169689Skan
12021169689Skan	* loop.c: Fix formatting.
12022169689Skan
12023169689Skan	* dwarf2out.c: Fix formatting.
12024169689Skan
12025169689Skan	* tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo.
12026169689Skan
12027169689Skan	* expr.c: Fix formatting.
12028169689Skan
12029169689Skan2000-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12030169689Skan
12031169689Skan	* rs6000.c (rs6000_maybe_dead): Prototype.
12032169689Skan
12033169689Skan2000-08-06  Richard Henderson  <rth@cygnus.com>
12034169689Skan
12035169689Skan	* stmt.c (expand_goto): Do virtual_stack_vars_rtx replacement for
12036169689Skan	HAVE_nonlocal_goto as well.
12037169689Skan	* config/i960/i960.md (nonlocal_goto): Don't do it here.
12038169689Skan	* config/pj/pj.md (nonlocal_goto): Likewise.
12039169689Skan
12040169689Skan2000-08-07  Michael Hayes  <mhayes@cygnus.com>
12041169689Skan
12042169689Skan	* loop.c (try_swap_copy_prop): New function.
12043169689Skan	(load_mems): Rename copies to load_copies and add new regset
12044169689Skan	store_copies.  Check for sets of shadow registers and mark
12045169689Skan	in store_copies.   Call try_swap_copy_prop for registers
12046169689Skan	marked in store_copies.
12047169689Skan
12048169689SkanSun Aug  6 00:54:42 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
12049169689Skan
12050169689Skan	* objc/objc-act.c: New command line option -fconstant-string-class
12051169689Skan	to allow specifying a user defined constant string class,
12052169689Skan	different from NXConstantString.
12053169689Skan
12054169689Skan	* toplev.c: Moved the Objective-C specific options to
12055169689Skan	objc/lang-options.h.
12056169689Skan
12057169689Skan	* objc/lang-options.h: Moved the Objective-C specific options from
12058169689Skan	toplev.c. Added -fconstant-string-class.
12059169689Skan
12060169689Skan2000-08-05  Chris Demetriou  <cgd@sibyte.com>
12061169689Skan
12062169689Skan	* mips/elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
12063169689Skan	DTOR_LIST_BEGIN, DTOR_LIST_END): change type of
12064169689Skan	__CTOR_LIST__ from func_ptr array to just func_ptr, to
12065169689Skan	avoid extra alignment imposed on arrays.
12066169689Skan	* mips/elf64.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
12067169689Skan	DTOR_LIST_BEGIN, DTOR_LIST_END): Likewise.
12068169689Skan
12069169689Skan	* mips.h: Clean up comments and spacing near MASKs.
12070169689Skan	(TARGET_UNIX_ASM): Delete.
12071169689Skan	(MASK_MIPS16, MASK_NO_CHECK_ZERO_DIV, MASK_CHECK_RANGE_DIV,
12072169689Skan	MASK_UNINIT_CONST_IN_RODATA): Change values to make mask
12073169689Skan	values contiguous.
12074169689Skan
12075169689Skan2000-08-05  Joseph S. Myers  <jsm28@cam.ac.uk>
12076169689Skan
12077169689Skan	* c-common.c (print_char_table): Add entries for the X/Open '
12078169689Skan	format flag (print decimals with locale's thousands grouping
12079169689Skan	character).  Make %C expect wint_t.
12080169689Skan	(check_format_info): If pedantic, warn when the %n$ operand
12081169689Skan	number form is used.  Allow for the ' flag; warn about it if
12082169689Skan	pedantic.
12083169689Skan
12084169689Skan2000-08-05  Zack Weinberg  <zack@wolery.cumb.org>
12085169689Skan
12086169689Skan	* i386.h (FUNCTION_OK_FOR_SIBCALL):  Not OK if DECL's return
12087169689Skan	type is a float mode, cfun->decl's return type is not, and
12088169689Skan	TARGET_FLOAT_RETURNS_IN_80387.
12089169689Skan
12090169689Skan2000-08-04  Andreas Schwab  <schwab@suse.de>
12091169689Skan
12092169689Skan	* cppmain.c (cb_def_pragma): Skip the first two tokens from the
12093169689Skan	token list, which are always `#' and `pragma'.
12094169689Skan
12095169689Skan2000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
12096169689Skan
12097169689Skan	* tree.c (tree_expr_nonnegative_p): Move to...
12098169689Skan	* fold-const.c: ... here.  Also handle BIND_EXPR and RTL_EXPR.
12099169689Skan	(rtl_expr_nonnegative_p): New.
12100169689Skan	* tree.h: Add prototype for rtl_expr_nonnegative_p.
12101169689Skan
12102169689Skan	* real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM,
12103169689Skan	CONST_DOUBLE_CHAIN: Move to...
12104169689Skan	* rtl.h: ...here.  Use XCINT/XCEXP.
12105169689Skan
12106169689Skan	* Makefile.in: Remove toplev.o from OBJS.  Add rule to make
12107169689Skan	libbackend.a; add libbackend.a to STAGESTUFF.  Add BACKEND
12108169689Skan	variable.  Use BACKEND when linking cc1, not OBJS.  Add BACKEND
12109169689Skan	to VOL_FILES.
12110169689Skan
12111169689Skan	* objc/Make-lang.in (cc1obj): Link with $(BACKEND).
12112169689Skan
12113169689Skan2000-08-05  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12114169689Skan
12115169689Skan	* config/c4x/c4x.md (return_indirect_internal): New.
12116169689Skan	* config/c4x/c4x.c (c4x_expand_epilogue): Use it.
12117169689Skan
12118169689Skan2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12119169689Skan
12120169689Skan	* c-common.c (time_char_table): Mark up formats added in C99 and
12121169689Skan	make other corrections.  %D and %g were added in C99.  %Og is an
12122169689Skan	extension.  %EX is permitted.  %R, %T, %n, %r, %t were added in
12123169689Skan	C99.  %e was added in C99.  %Oj is an extension.  %G and %z are in
12124169689Skan	C99 rather than GNU extensions, but %OG and %Oz are extensions.
12125169689Skan	%h was added in C99.  %C was added in C99.  %OY and %OC are
12126169689Skan	extensions.  Add the C99 format %F.
12127169689Skan	(check_format_info): If pedantic and not in C99 mode, warn for C99
12128169689Skan	formats, %E and %O.
12129169689Skan
12130169689SkanFri Aug  4 23:01:58 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
12131169689Skan
12132169689Skan	* function.c (schedule_fixup_var_refs): New function, broken out
12133169689Skan	of put_reg_into_stack.
12134169689Skan	(put_reg_into_stack): Use it.
12135169689Skan	(put_var_into_stack): In CONCAT case, fixup up references for
12136169689Skan	components only after fixing up references to the whole concat.
12137169689Skan
12138169689Skan2000-08-04  Rodney Brown  <RodneyBrown@pmsc.com>
12139169689Skan
12140169689Skan	* alias.c (mark_constant_function): Use INSN_P.
12141169689Skan	(init_alias_analysis): Likewise.
12142169689Skan	* combine.c (combine_instructions): Use INSN_P.
12143169689Skan	(can_combine_p): Likewise.
12144169689Skan	(try_combine): Likewise.
12145169689Skan	(distribute_notes): Likewise.
12146169689Skan	(distribute_links): Likewise.
12147169689Skan	* cse.c (cse_around_loop): Use INSN_P.
12148169689Skan	(invalidate_skipped_block): Likewise.
12149169689Skan	(cse_set_around_loop): Likewise.
12150169689Skan	(cse_end_of_basic_block): Likewise.
12151169689Skan	(delete_trivially_dead_insns): Likewise.
12152169689Skan	* emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
12153169689Skan	(unshare_all_rtl_1): Likewise.
12154169689Skan	(next_cc0_user): Likewise.
12155169689Skan	(try_split make_insn_raw): Likewise.
12156169689Skan	(remove_unnecessary_notes): Likewise.
12157169689Skan	* final.c (shorten_branches): Use INSN_P.
12158169689Skan	(leaf_renumber_regs): Likewise.
12159169689Skan	(leaf_renumber_regs_insn): Likewise.
12160169689Skan	* flow.c (find_label_refs): Use INSN_P.
12161169689Skan	(verify_wide_reg): Likewise.
12162169689Skan	(notice_stack_pointer_modification): Likewise.
12163169689Skan	(count_or_remove_death_notes): Likewise.
12164169689Skan	(verify_flow_info): Likewise.
12165169689Skan	(clear_log_links): Likewise.
12166169689Skan	* function.c (fixup_var_refs_insns): Use INSN_P.
12167169689Skan	(compute_insns_for_mem): Likewise.
12168169689Skan	* gcse.c (alloc_gcse_mem): Use INSN_P.
12169169689Skan	(compute_sets): Likewise.
12170169689Skan	(compute_hash_table): Likewise.
12171169689Skan	(classic_gcse): Likewise.
12172169689Skan	(cprop): Likewise.
12173169689Skan	(insert_insn_end_bb): Likewise.
12174169689Skan	(delete_null_pointer_checks_1): Likewise.
12175169689Skan	* global.c (expand_preferences): Use INSN_P.
12176169689Skan	(build_insn_chain): Likewise.
12177169689Skan	* graph.c (node_data): Use INSN_P.
12178169689Skan	* haifa-sched.c (priority): Use INSN_P.
12179169689Skan	(rm_line_notes): Likewise.
12180169689Skan	(rm_other_notes): Likewise.
12181169689Skan	(find_insn_reg_weight): Likewise.
12182169689Skan	(init_target_units): Likewise.
12183169689Skan	(schedule_block): Likewise.
12184169689Skan	(compute_block_forward_dependences): Likewise.
12185169689Skan	(debug_dependencies): Likewise.
12186169689Skan	(set_priorities): Likewise.
12187169689Skan	* integrate.c (function_cannot_inline_p): Use INSN_P.
12188169689Skan	(save_parm_insns): Likewise.
12189169689Skan	(copy_insn_list): Likewise.
12190169689Skan	* jump.c (mark_all_labels): Use INSN_P.
12191169689Skan	(never_reached_warning): Likewise.
12192169689Skan	* lcm.c (optimize_mode_switching): Use INSN_P.
12193169689Skan	* local-alloc.c (validate_equiv_mem): Use INSN_P.
12194169689Skan	(memref_used_between_p): Likewise.
12195169689Skan	(update_equiv_regs): Likewise.
12196169689Skan	(block_alloc): Likewise.
12197169689Skan	(no_conflict_p): Likewise.
12198169689Skan	* loop.c (scan_loop): Use INSN_P.
12199169689Skan	(find_and_verify_loops): Likewise.
12200169689Skan	(count_loop_regs_set): Likewise.
12201169689Skan	(loop_reg_used_before_p): Likewise.
12202169689Skan	(strength_reduce): Likewise.
12203169689Skan	(recombine_givs): Likewise.
12204169689Skan	(check_dbra_loop): Likewise.
12205169689Skan	(load_mems): Likewise.
12206169689Skan	(try_copy_prop): Likewise.
12207169689Skan	* print-rtl.c (print_rtx): Use INSN_P.
12208169689Skan	* recog.c (find_single_use): Use INSN_P.
12209169689Skan	* reg-stack.c (stack_regs_mentioned): Use INSN_P.
12210169689Skan	(next_flags_user): Likewise.
12211169689Skan	(swap_rtx_condition): Likewise.
12212169689Skan	* regmove.c (mark_flags_life_zones): Use INSN_P.
12213169689Skan	(optimize_reg_copy_1): Likewise.
12214169689Skan	(optimize_reg_copy_2): Likewise.
12215169689Skan	(optimize_reg_copy_3): Likewise.
12216169689Skan	(reg_is_remote_constant_p): Likewise.
12217169689Skan	(fixup_match_2): Likewise.
12218169689Skan	(regmove_optimize): Likewise.
12219169689Skan	(fixup_match_1): Likewise.
12220169689Skan	* regrename.c (build_def_use): Use INSN_P.
12221169689Skan	(replace_reg_in_block): Likewise.
12222169689Skan	(consider_use): Likewise.
12223169689Skan	* reload.c (find_equiv_reg): Use INSN_P.
12224169689Skan	* reload1.c (reload): Use INSN_P.
12225169689Skan	(maybe_fix_stack_asms): Likewise.
12226169689Skan	(calculate_needs_all_insns): Likewise.
12227169689Skan	(reload_as_needed): Likewise.
12228169689Skan	(emit_output_reload_insns): Likewise.
12229169689Skan	(delete_address_reloads_1): Likewise.
12230169689Skan	(reload_cse_regs_1): Likewise.
12231169689Skan	(reload_combine): Likewise.
12232169689Skan	(reload_cse_move2add): Likewise.
12233169689Skan	* reorg.c (redundant_insn): Use INSN_P.
12234169689Skan	(dbr_schedule): Likewise.
12235169689Skan	* resource.c (find_dead_or_set_registers): Use INSN_P.
12236169689Skan	(mark_target_live_regs): Likewise.
12237169689Skan	* rtlanal.c (reg_used_between_p): Use INSN_P.
12238169689Skan	(reg_referenced_between_p): Likewise.
12239169689Skan	(reg_set_between_p): Likewise.
12240169689Skan	(reg_set_p): Likewise.
12241169689Skan	(single_set): Likewise.
12242169689Skan	(multiple_sets): Likewise.
12243169689Skan	(find_last_value): Likewise.
12244169689Skan	(reg_set_last): Likewise.
12245169689Skan	(find_reg_note): Likewise.
12246169689Skan	(find_regno_note): Likewise.
12247169689Skan	* sibcall.c (sequence_uses_addressof): Use INSN_P.
12248169689Skan	* simplify-rtx.c (cselib_process_insn): Use INSN_P.
12249169689Skan	* ssa.c (find_evaluations): Use INSN_P.
12250169689Skan	(rename_block): Likewise.
12251169689Skan	(rename_equivalent_regs): Likewise.
12252169689Skan	* unroll.c (loop_find_equiv_value): Use INSN_P.
12253169689Skan	(set_dominates_use): Likewise.
12254169689Skan	* varasm.c (mark_constant_pool): Use INSN_P.
12255169689Skan	(mark_constants): Likewise.
12256169689Skan	* config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
12257169689Skan	(alphaev4_next_group): Likewise.
12258169689Skan	(alphaev5_next_group): Likewise.
12259169689Skan	* config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
12260169689Skan	(c4x_rptb_rpts_p): Likewise.
12261169689Skan	* config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
12262169689Skan	* config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
12263169689Skan	(rs6000_adjust_priority): Likewise.
12264169689Skan	* config/sh/sh.c (sh_loop_align): Use INSN_P.
12265169689Skan	(machine_dependent_reorg): Likewise.
12266169689Skan	(split_branches): Likewise.
12267169689Skan	* config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.
12268169689Skan
12269169689SkanFri Aug  4 11:43:49 2000  John Wehle  (john@feith.com)
12270169689Skan
12271169689Skan	* combine.c (recog_for_combine): Remove the old notes
12272169689Skan	prior to attempting to recognize the new pattern.
12273169689Skan	(distribute_notes): Ignore REG_NONNEG notes.
12274169689Skan
12275169689Skan2000-08-04  Chandrakala Chavva  <cchavva@redhat.com>
12276169689Skan
12277169689Skan	* varasm.c (output_constructor): Add .align 0 for packed vars.
12278169689Skan
12279169689Skan2000-08-04  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
12280169689Skan
12281169689Skan	* configure.in: Use default thread_file even when enable_threads is
12282169689Skan	yes or dce because hpux10.20 pa port uses MULTILIB implementation.
12283169689Skan	* configure: Rebuilt.
12284169689Skan
12285169689Skan	* gthr-dce.h (__gthread_objc_condition_allocate): Fix typo.
12286169689Skan
12287169689Skan2000-08-04  Donn Terry (donnte@microsoft.com)
12288169689Skan
12289169689Skan	* prefix.c (translate_name): Don't strip trailing DIR_SEPARATOR.
12290169689Skan
12291169689Skan2000-08-04  Mark Elbrecht  <snowball3@bigfoot.com>
12292169689Skan
12293169689Skan	* i386/x-djgpp: Delete code that conditionally modifies target_alias.
12294169689Skan	Delete code that conditionally modifies 'version'.
12295169689Skan	Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR.
12296169689Skan	* i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro.
12297169689Skan	* gcc.c (main): Use it.
12298169689Skan	* config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro.
12299169689Skan	* prefix.c (update_path): Use it.
12300169689Skan	* i386/djgpp.h (STANDARD_INCLUDE_DIR): Define.
12301169689Skan	(MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'.
12302169689Skan	(ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing
12303169689Skan	code.
12304169689Skan	(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true.
12305169689Skan	(SUBTARGET_SWITCHES): Adjust.
12306169689Skan	(WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before
12307169689Skan	defining.
12308169689Skan	(WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define.
12309169689Skan
12310169689Skan2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12311169689Skan
12312169689Skan	* c-common.h (flag_isoc94): Declare.
12313169689Skan	* c-decl.c (flag_isoc94): Define.
12314169689Skan	(c_decode_option): Set flag_isoc94 as appropriate.
12315169689Skan	* c-common.c (T_PD, T_IM, T_UIM): Define.
12316169689Skan	(format_char_info): Add tlen and jlen.
12317169689Skan	(print_char_table): Add entries for %t and %j.  Allow %zn.  Allow
12318169689Skan	%F.  Allow %lf.
12319169689Skan	(scan_char_table): Add entries for %t and %j.  Allow %F.  Allow
12320169689Skan	%l[.
12321169689Skan	(time_char_table): Add NULL entries for %t and %j.
12322169689Skan	(check_format_info): Allow for %t and %j.  Warn for %F if pedantic
12323169689Skan	and not C99.  Warn for %lc, %ls and %l[ if pedantic and not C94.
12324169689Skan	Warn for printf %lf if pedantic and not C99.  Don't warn for empty
12325169689Skan	precision.  Allow precision argument to be unsigned int.  If
12326169689Skan	pedantic, warn for %p passed an argument not a pointer to possibly
12327169689Skan	qualified void or a possibly qualified character type, and for
12328169689Skan	pointer targets of the wrong sign, except for character pointers.
12329169689Skan
12330169689Skan2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12331169689Skan
12332169689Skan	* ginclude/stddef.h: Don't declare wint_t unless __need_wint_t.
12333169689Skan	* c-common.h (enum c_tree_index): Add CTI_WINT_TYPE.
12334169689Skan	(wint_type_node): Define.
12335169689Skan	* c-decl.c (WINT_TYPE): Define.
12336169689Skan	(init_decl_processing): Create the wint_type_node type.
12337169689Skan	* c-common.c (T_WI): Define.
12338169689Skan	(print_char_table): Use T_WI for %lc format.
12339169689Skan
12340169689Skan2000-08-04  Bruce Korb  <bkorb@gnu.org>
12341169689Skan
12342169689Skan	* fixinc/:  Verified that the MSDOS patch does not break
12343169689Skan	the UNIX functionality and applied the next three patches
12344169689Skan	from July:
12345169689Skan
12346169689Skan2000-07-28  Eli Zaretskii  <eliz@is.elta.co.il>
12347169689Skan
12348169689Skan	* fixinc/fixfixes.c (main) [__MSDOS__]: Avoid overwriting the
12349169689Skan	output file with the temporary one by appending ".X" to generate
12350169689Skan	the temporary fuile's name.  If the output file already has an
12351169689Skan	extension, replace it with ".X".
12352169689Skan
12353169689Skan	* fixinc/fixincl.c (fix_with_system) [__MSDOS__]: Use $ORIGDIR,
12354169689Skan	not $DESTDIR, to find applyfix.  Use sprintf instead of snprintf;
12355169689Skan	reallocate the command buffer while copying the command-line
12356169689Skan	argument.  Redirect the output directly to the temporary file,
12357169689Skan	instead of going through another temporary file.
12358169689Skan	(process): Close the temporary file before unlinking it.
12359169689Skan	(machine_matches) [__MSDOS__]: If the machine doesn't match, set
12360169689Skan	the FD_SKIP_TEST flag.  Pay attention to the FD_MACH_IFNOT flag.
12361169689Skan	(run_compiles): Pass p_fixd argument to machine_matches, as it
12362169689Skan	expects.
12363169689Skan
12364169689Skan	* fixinc/fixincl.sh: Export ORIGDIR.  If $DJDIR is set in the
12365169689Skan	environment, assume there are no symlinks in the include
12366169689Skan	directory.  When cleaning up the DONE files, look for them
12367169689Skan	case-insensitively.  Don't try to remove symlinks if they aren't
12368169689Skan	there.
12369169689Skan
12370169689Skan	* fixinc/fixlib.c (make_raw_shell_str): Accept new argument smax;
12371169689Skan	all callers changed.  Declare pz "const char *", to avoid compiler
12372169689Skan	warnings.
12373169689Skan
12374169689Skan	* fixinc/fixlib.h (ENV_TABLE): Get ORIGDIR from the environment.
12375169689Skan	Change prototype of make_raw_shell_str.
12376169689Skan
12377169689Skan2000-07-27  Eli Zaretskii  <eliz@is.elta.co.il>
12378169689Skan
12379169689Skan	* fixinc/fixincl.c [__MSDOS__]: Don't include "server.h".
12380169689Skan	(initialize) [__MSDOS__]: Use tempnam.
12381169689Skan	(initialize): Don't use SIGPIPE if it is not defined.
12382169689Skan
12383169689Skan	* fixinc/fixfixes.c (main) [__MSDOS__]: freopen for stdout should
12384169689Skan	return stdout.
12385169689Skan
12386169689Skan2000-07-25  Bruce Korb  <bkorb@gnu.org>
12387169689Skan
12388169689Skan	* fixinc/fix*.[ch]: substantially reworked to make it possible
12389169689Skan	to run this program without using fork(2) or pipe(2) (i.e. in
12390169689Skan	a DOS environment).
12391169689Skan
12392169689Skan2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12393169689Skan
12394169689Skan	* cppdefault.h (WINT_TYPE): Define.
12395169689Skan	* cppinit.c (builtin_array): Define __WINT_TYPE__.
12396169689Skan	* tradcpp.c (initialize_builtins): Define __WINT_TYPE__.
12397169689Skan	* tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document.
12398169689Skan
12399169689SkanFri Aug  4 06:53:46 2000  Clinton Popetz  <cpopetz@cygnus.com>
12400169689Skan
12401169689Skan	* (mips_legitimate_address_p): Don't allow register+offset
12402169689Skan	if the offset is large and negative, and we are compiling
12403169689Skan	for 64 bit registers.
12404169689Skan
12405169689Skan2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12406169689Skan
12407169689Skan	* gencodes.c (main): Define CODE_FOR_nothing as the last possible
12408169689Skan	insn_code_number + 1.
12409169689Skan
12410169689Skan2000-08-04  Kazu Hirata  <kazu@hxi.com>
12411169689Skan
12412169689Skan	* h8300.c (function_prologue): Rearrange code for conciseness.
12413169689Skan	(function_epilogue): Likewise.
12414169689Skan	* h8300.h (OK_FOR_U): Fix formatting.
12415169689Skan
12416169689Skan	* cse.c: Fix a comment typo. Fix formatting.
12417169689Skan
12418169689Skan2000-08-03  Richard Henderson  <rth@cygnus.com>
12419169689Skan
12420169689Skan	* config/i386/i386.md (return_indirect_internal): New.
12421169689Skan	* config/i386/i386.c (ix86_expand_epilogue): Use it.
12422169689Skan
12423169689Skan2000-08-03  Zack Weinberg  <zack@wolery.cumb.org>
12424169689Skan
12425169689Skan	* cpplex.c (parse_name): Might have to glue a CPP_OTHER token
12426169689Skan	before the name.
12427169689Skan	(lex_line): Glue @ onto the beginning of identifiers and
12428169689Skan	string constants, in Objective-C mode.
12429169689Skan	(output_token, spell_token): Handle CPP_OSTRING.
12430169689Skan	(can_paste, maybe_paste_with_next): Handle pasting @ onto the
12431169689Skan	beginning of a NAME or a STRING, in objc mode.
12432169689Skan
12433169689Skan	* cpplib.c (get_define_node): Do not permit identifiers that
12434169689Skan	begin with @ to be #defined.
12435169689Skan	* cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER.
12436169689Skan	* cpplib.h (TTYPE_TABLE): Add CPP_OSTRING.
12437169689Skan
12438169689Skan	* c-lang.c, objc/objc-act.c (build_objc_string): Delete.
12439169689Skan	* c-tree.h (build_objc_string): Delete prototype.
12440169689Skan	* objc/objc-tree.def: Delete OBJC_STRING_CST.
12441169689Skan	* c-lex.c (yylex): Use build_string for all three kinds of strings.
12442169689Skan
12443169689Skan	* c-parse.in, objc/objc-act.c: Update commentary.
12444169689Skan
12445169689Skan2000-08-03  Mark Mitchell  <mark@codesourcery.com>
12446169689Skan
12447169689Skan	* extend.texi: Fix typo in last change.
12448169689Skan
12449169689Skan	* extend.texi: Add commentary on statement-expressions and their
12450169689Skan	interactions with C++.
12451169689Skan
12452169689Skan2000-08-03  Nick Clifton  <nickc@cygnus.com>
12453169689Skan
12454169689Skan	* dwarf2.h (DW_LANG_Java): Change value to 0x000b.
12455169689Skan	* dwarf.h (LANG_JAVA): Change value to 0x000b.
12456169689Skan
12457169689Skan2000-08-03  Anthony Green  <green@cygnus.com>
12458169689Skan
12459169689Skan	* dwarf2out.c (gen_compile_unit_die): Add java language support.
12460169689Skan	(add_bound_info): Check for java language.
12461169689Skan	(is_java): New function.
12462169689Skan	* dwarfout.c (output_compile_unit_die): Ditto.
12463169689Skan	* dwarf.h (dwarf_source_language): Add java source language type.
12464169689Skan	* dwarf2.h (dwarf_source_language): Ditto.
12465169689Skan
12466169689SkanThu Aug  3 20:32:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
12467169689Skan
12468169689Skan	* reg-stack.c (subst_stack_regs_pat):  Use replace_reg to swap
12469169689Skan	operands.
12470169689Skan
12471169689Skan	* i386.c (ix86_expand_branch): Mode of comparison in
12472169689Skan	IF_THEN_ELSE is VOIDmode.
12473169689Skan
12474169689SkanThu Aug  3 10:05:53 2000  Akiko Matsushita <matusita@sra.co.jp>
12475169689Skan
12476169689Skan	* gengenrtl.c, rtl.c: Avoid #elif.
12477169689Skan
12478169689Skan2000-08-03  Michael Poole  <poole@troilus.org>
12479169689Skan
12480169689Skan	* tm.texi (Register Classes): Clarify order of sub-initializers
12481169689Skan	in REG_CLASS_CONTENTS.
12482169689Skan
12483169689SkanThu Aug  3 15:53:03 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
12484169689Skan
12485169689Skan	From SAITOH Masanobu:
12486169689Skan	* sh.h (ASM_OUTPUT_REG_PUSH): Fix syntax.
12487169689Skan
12488169689Skan2000-08-03  David Billinghurst  <David.Billinghurst@riotinto.com.au>
12489169689Skan
12490169689Skan	* config/i386/cygwin.h: Remove -remap from CPP_SPEC since this option
12491169689Skan	is not supported by tradcpp and isn't actually needed for cygwin.
12492169689Skan
12493169689Skan2000-08-03  Kazu Hirata  <kazu@hxi.com>
12494169689Skan
12495169689Skan	* h8300.c: Fix a comment typo.
12496169689Skan	* h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8S.
12497169689Skan
12498169689Skan	* jump.c: Fix formatting.
12499169689Skan
12500169689Skan	* toplev.c: Fix formatting.
12501169689Skan
12502169689SkanThu Aug  3 01:05:32 2000  Jeffrey A Law  (law@cygnus.com)
12503169689Skan
12504169689Skan	* flow.c (find_auto_inc): Verify that we've got a REG before
12505169689Skan	peeking at its regno.  Fail, don't abort if we can't find
12506169689Skan	the increment of the desired register.
12507169689Skan
12508169689Skan	* pa.md (shadd height reduction patterns/splitters): Remove.
12509169689Skan
12510169689Skan2000-08-02  Jim Wilson  <wilson@cygnus.com>
12511169689Skan
12512169689Skan	* config/ia64/ia64-protos.h (flag_ssa): Declare.
12513169689Skan	* config/ia64/ia64.md (movti_internal, movti_internal+1): New.
12514169689Skan
12515169689Skan2000-08-02  Mark Mitchell  <mark@codesourcery.com>
12516169689Skan
12517169689Skan	* dce.c: Remove all uses of assert.
12518169689Skan	* dwarf2out.c: Likewise.
12519169689Skan	* dwarfout.c: Likewise.
12520169689Skan	* ssa.c: Likewise.
12521169689Skan
12522169689Skan2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
12523169689Skan
12524169689Skan	* gcc.h (lang_specific_driver): Constify second argument.
12525169689Skan	* gcc.c (translate_options, process_command, main): Likewise.
12526169689Skan	Constify variables to match.  Cast second argument to
12527169689Skan	pexecute.
12528169689Skan
12529169689Skan	* cppspec.c, gccspec.c: Adjust type of second argument to
12530169689Skan	lang_specific_driver, and update code as necessary.
12531169689Skan
12532169689Skan2000-08-02  Jakub Jelinek  <jakub@redhat.com>
12533169689Skan
12534169689Skan	* loop.c (scan_loop): Ensure update_end label does not
12535169689Skan	go away until reg_scan_update is run.
12536169689Skan
12537169689Skan2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
12538169689Skan
12539169689Skan	* c-common.h: Prototype min_precision and c_build_qualified_type here...
12540169689Skan	* c-tree.h: ... not here.
12541169689Skan	* errors.h: Prototype fancy_abort.
12542169689Skan
12543169689Skan	* emit-rtl.c (gen_lowpart_common): Move variable 'c' into
12544169689Skan	HOST_BITS_PER_WIDE_INT == 64 ifdef block.
12545169689Skan	* regrename.c (regrename_optimize): Make control flow explicit.
12546169689Skan	(replace_reg_in_block): Initialize reg_use to 0.
12547169689Skan
12548169689Skan	* i386.c (legitimate_address_p): Rename error label to
12549169689Skan	report_error to avoid namespace clash.
12550169689Skan
12551169689Skan2000-08-02  Kazu Hirata  <kazu@hxi.com>
12552169689Skan
12553169689Skan	* fold-const.c: Fix formatting.
12554169689Skan
12555169689SkanWed Aug  2 16:26:15 MET DST 2000  Jan Hubicka  <jh@suse.cz>
12556169689Skan
12557169689Skan	* i386.c (legitimate_address_p): Accept other bases than
12558169689Skan	pic_offset_table_rtx for GOTOFF constructs.
12559169689Skan
12560169689SkanWed Aug  2 15:59:34 MET DST 2000  Jan Hubicka  <jh@suse.cz>
12561169689Skan
12562169689Skan	* i386.md (shift to lea splitter): Use const_int_operand.
12563169689Skan
12564169689Skan2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
12565169689Skan
12566169689Skan	* cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c,
12567169689Skan	cppspec.c: Do not use 'legal' or 'illegal' in error messages
12568169689Skan	and comments.
12569169689Skan
12570169689Skan	* cppmain.c (cb_define, cb_undef): Don't generate any output
12571169689Skan	if not done_initializing.
12572169689Skan	* cpplex.c (maybe_paste_with_next): When the token after a ##
12573169689Skan	is an omitted rest argument, only delete the token before it
12574169689Skan	if that token is a comma.  Do not warn about bogus token
12575169689Skan	pastes for , ## rest_arg.
12576169689Skan
12577169689Skan	* cpp.texi: Update.
12578169689Skan	* cpp.1: Regenerate.
12579169689Skan
12580169689Skan2000-08-02  Fred Fish  <fnf@be.com>
12581169689Skan
12582169689Skan	* config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o
12583169689Skan	when user gives -p option.  Add init_term_dyn.o for BeOS 5.0
12584169689Skan	and later.
12585169689Skan
12586169689Skan	* config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional
12587169689Skan	Be directories to search path.
12588169689Skan
12589169689Skan	Remove support for __declspec(dllimport) and __declspec(dllexport).
12590169689Skan	This is leftover cruft from the earlier BeOS gcc port when BeOS
12591169689Skan	used Microsoft's PE object file format.
12592169689Skan	* configure.in (i*86-*-beoself): Remove extra_objs=winnt.o.
12593169689Skan	* config/i386/t-beos (winnt.o): Remove Makefile frag.
12594169689Skan	* config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove.
12595169689Skan	(VALID_MACHINE_DECL_ATTRIBUTE): Remove.
12596169689Skan	(VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
12597169689Skan	(MERGE_MACHINE_DECL_ATTRIBUTES): Remove.
12598169689Skan	(REDO_SECTION_INFO_P): Remove.
12599169689Skan	(ASM_EXPORT_DECL): Remove.
12600169689Skan	(ASM_DECLARE_FUNCTION_NAME): Remove.
12601169689Skan	(ASM_DECLARE_OBJECT_NAME): Remove.
12602169689Skan	(ASM_OUTPUT_ALIGNED_COMMON): Remove.
12603169689Skan	(ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove.
12604169689Skan	(ASM_OUTPUT_ALIGNED_LOCAL): Remove.
12605169689Skan	(STRIP_NAME_ENCODING): Remove.
12606169689Skan
12607169689Skan	Remove support for obsolete version of BeOS that is no longer
12608169689Skan	supported by Be.
12609169689Skan	* configure.in (i*86-*-beospe*): Remove.
12610169689Skan	* config/i386/beos-pe.h: Remove.
12611169689Skan
12612169689Skan2000-08-01  Jeffrey Oldham  <oldham@codesourcery.com>
12613169689Skan	    Mark Mitchell <mark@codesourcery.com>
12614169689Skan
12615169689Skan	* Makefile.in (OBJS): Added dce.o.
12616169689Skan	(ssa.o): Updated target to include ssa.h.
12617169689Skan	(flow.o): Likewise.
12618169689Skan	(toplev.o): Likewise.
12619169689Skan	(dce.o): Created target.
12620169689Skan	* basic-block.h: Added comments.
12621169689Skan	(INVALID_BLOCK): Added definition.
12622169689Skan	(connect_infinite_loops_to_exit): Added declaration.
12623169689Skan	Moved SSA declarations to ssa.h.
12624169689Skan	* flow.c: Added inclusion of ssa.h.
12625169689Skan	(struct depth_first_search_dsS, depth_first_search_ds):
12626169689Skan	Added definitions.
12627169689Skan	(compute_immediate_postdominators): Added definition.
12628169689Skan	(connect_infinite_loops_to_exit): Likewise.
12629169689Skan	(flow_dfs_compute_reverse_init): Likewise.
12630169689Skan	(flow_dfs_compute_reverse_add_bb): Likewise.
12631169689Skan	(flow_dfs_compute_reverse_execute): Likewise.
12632169689Skan	(flow_dfs_compute_reverse_finish): Likewise.
12633169689Skan	* rtl.h (rtx/in_struct): Added use to determine insn necessity.
12634169689Skan	(LABEL_P): Added definition.
12635169689Skan	(JUMP_P): Likewise.
12636169689Skan	(NOTE_P): Likewise.
12637169689Skan	(BARRIER_P): Likewise.
12638169689Skan	(JUMP_TABLE_DATA_P): Likewise.
12639169689Skan	(INSN_DEAD_CODE_P): Likewise.
12640169689Skan	* ssa.c: Replaced inclusions with ssa.h inclusion.
12641169689Skan	(CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h.
12642169689Skan	(rename_registers): Removed unnecessary variables.
12643169689Skan	* ssa.h: Created by moving declarations from ssa.c and
12644169689Skan	basic-block.h.
12645169689Skan	* timevar.def: Defined TV_DEAD_CODE_ELIM.
12646169689Skan	* toplev.c: Added ssa.h inclusion.
12647169689Skan	(dump_file_index): Added DFI_dce.
12648169689Skan	(dump_file): Added "dce" entry.
12649169689Skan	Defined flag_ssa.
12650169689Skan	(f_options): Added dce entry.
12651169689Skan	* invoke.texi: Document -fdce.  Emphasize experimental status of
12652169689Skan	-fssa.
12653169689Skan	* dce.c: New file.
12654169689Skan
12655169689Skan2000-08-01  Zack Weinberg  <zack@wolery.cumb.org>
12656169689Skan
12657169689Skan	* cpperror.c (v_message): Split into _cpp_begin_message and
12658169689Skan	v_message macro.  All callers updated.
12659169689Skan	(_cpp_begin_message): Do inhibit_errors/inhibit_warnings
12660169689Skan	checks here.
12661169689Skan
12662169689Skan	* cppfiles.c (cpp_syshdr_flags): New function.
12663169689Skan	(read_include_file): Don't call cpp_output_tokens.  Call
12664169689Skan	enter_file hook.
12665169689Skan	* cppinit.c (dump_macros_helper): Moved to cppmain.c.
12666169689Skan	(cpp_reader_init): Don't initialize token_buffer.  Call
12667169689Skan	_cpp_init_internal_pragmas.
12668169689Skan	(cpp_cleanup): Don't clear token_buffer.
12669169689Skan	(cpp_start_read): Don't worry about output from -D processing.
12670169689Skan	Don't call cpp_output_tokens.
12671169689Skan	(cpp_finish): Don't dump macros here.  Don't call
12672169689Skan	cpp_output_tokens.
12673169689Skan	* cppmacro.c (_cpp_dump_definition): Rename
12674169689Skan	cpp_dump_definition.  Write directly to a FILE *.
12675169689Skan	(dump_funlike_macro): Delete.
12676169689Skan	(dump_macro_args): New.
12677169689Skan
12678169689Skan	* cpplex.c (TOKEN_LEN): Convert to inline function.
12679169689Skan	(_cpp_grow_token_buffer, safe_fwrite, cpp_output_tokens,
12680169689Skan	cpp_scan_line, _cpp_dump_list): Delete.
12681169689Skan	(cpp_printf, cpp_output_list): New.
12682169689Skan	(output_line_command): Don't worry about entering or leaving files.
12683169689Skan	(cpp_scan_buffer): Just output each token as we hit it.
12684169689Skan	(process_directive): Don't call cpp_output_tokens.
12685169689Skan	(_cpp_glue_header_name): Don't use token_buffer.
12686169689Skan	(output_token, dump_param_spelling): Write directly to a FILE *.
12687169689Skan
12688169689Skan	* cpplib.c (pass_thru_directive, dump_macro_name,
12689169689Skan	pragma_dispatch, do_pragma_gcc): Delete.
12690169689Skan	(do_define, do_undef, parse_include, do_line, do_ident, do_pragma,
12691169689Skan	do_pragma_poison, cpp_pop_buffer): Call the appropriate hook
12692169689Skan	functions.
12693169689Skan	(do_error, do_warning, pragma_dependency): Call
12694169689Skan	_cpp_begin_message, then cpp_output_list.
12695169689Skan	(cpp_register_pragma, cpp_register_pragma_space,
12696169689Skan	_cpp_init_internal_pragmas): New.
12697169689Skan	(do_pragma): Walk the pragmas table here.
12698169689Skan	(do_pragma_once, do_pragma_poison, do_pragma_system_header,
12699169689Skan	do_pragma_dependency): Return void.
12700169689Skan	(do_pragma_implementation): Moved to cppmain.c.
12701169689Skan
12702169689Skan	* cpplib.h: Update prototypes.
12703169689Skan	 (struct cpp_reader): Remove printer, token_buffer,
12704169689Skan	token_buffer_size, and limit.  Add struct cb, and pragmas.
12705169689Skan	(struct cpp_printer): Remove last_id and written.
12706169689Skan	(CPP_WRITTEN, CPP_PWRITTEN, CPP_SET_WRITTEN,
12707169689Skan	CPP_ADJUST_WRITTEN): Delete.
12708169689Skan	* cpphash.h: Update prototypes.
12709169689Skan	(ufputs): New wrapper.
12710169689Skan
12711169689Skan	* cppmain.c (cb_define, cb_undef, cb_include, cb_ident,
12712169689Skan	cb_enter_file, cb_leave_file, cb_def_pragma): New functions.
12713169689Skan	(main): Set up callbacks.  Register #pragma implementation.
12714169689Skan	Dump macros from here.
12715169689Skan
12716169689Skan2000-08-01  Geoff Keating  <geoffk@cygnus.com>
12717169689Skan
12718169689Skan	* rtl.h (enum reg_note): Add REG_MAYBE_DEAD.
12719169689Skan	* rtl.c (reg_note_name): Add REG_MAYBE_DEAD.
12720169689Skan	* flow.c (propagate_one_insn): Allow deletion of prologue/epilogue
12721169689Skan	insns if they have a REG_MAYBE_DEAD note attached.
12722169689Skan	* config/rs6000/rs6000.c (rs6000_maybe_dead): New function.
12723169689Skan	(rs6000_emit_load_toc_table): TOC loads may go dead.
12724169689Skan
12725169689Skan2000-08-01  Jim Wilson  <wilson@cygnus.com>
12726169689Skan
12727169689Skan	* config/ia64/ia64.c (ia64_function_arg): Fix last change.  Verify
12728169689Skan	type exists before using it.  Use number of words as alignment
12729169689Skan	otherwise.
12730169689Skan	(ia64_function_arg_partial_nregs, ia64_function_arg_advance,
12731169689Skan	ia64_va_arg): Propagate ia64_function_args changes here.
12732169689Skan
12733169689Skan2000-08-01  Richard Henderson  <rth@cygnus.com>
12734169689Skan
12735169689Skan	* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Care for null DECL.
12736169689Skan	* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
12737169689Skan
12738169689Skan2000-08-01  Bernd Schmidt  <bernds@cygnus.co.uk>
12739169689Skan
12740169689Skan	From Joern Rennecke:
12741169689Skan	* sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu.
12742169689Skan	* sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU
12743169689Skan	unless TARGET_SH3E is set.
12744169689Skan	* t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu.
12745169689Skan
12746169689Skan	* sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with
12747169689Skan	(ashlsi3_std): New pattern.
12748169689Skan	(ashlsi3 expander): Use it for TARGET_SH3.
12749169689Skan	* sh.c (gen_ashift): Use it instead of ashlsi3_k.
12750169689Skan
12751169689SkanTue Aug  1 12:34:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
12752169689Skan
12753169689Skan	* loop.c (canonicalize_condition):  Use destination, not source to
12754169689Skan	determine SET's mode.
12755169689Skan
12756169689Skan2000-07-31  Mark Mitchell  <mark@codesourcery.com>
12757169689Skan
12758169689Skan	* flow.c (clear_log_links): Fix typo.
12759169689Skan
12760169689SkanMon Jul 31 22:19:24 2000  Jeffrey A Law  (law@cygnus.com)
12761169689Skan
12762169689Skan	* loop.c (check_dbra_loop): Make change from July 17, 2000 work
12763169689Skan	on targets which need more than one insn for a compare/cbranch
12764169689Skan	operation.
12765169689Skan
12766169689Skan2000-07-31  Jim Wilson  <wilson@cygnus.com>
12767169689Skan
12768169689Skan	* config/ia64/ia64.c (ia64_function_arg): Use alignment not size
12769169689Skan	when computing offset.
12770169689Skan
12771169689SkanMon Jul 31 20:35:50 2000  Denis Chertykov  <denisc@overta.ru>
12772169689Skan
12773169689Skan	* genpeep.c (main): Handle DEFINE_PEEPHOLE2.
12774169689Skan
12775169689Skan2000-07-31  Geoff Keating  <geoffk@cygnus.com>
12776169689Skan
12777169689Skan	* flow.c (clear_log_links): Nuke global_live_at_start and
12778169689Skan	global_live_at_end data, since if the log_links stuff is invalid
12779169689Skan	so is global_live_at_*.
12780169689Skan
12781169689Skan2000-07-31  Richard Henderson  <rth@cygnus.com>
12782169689Skan
12783169689Skan	* tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions.
12784169689Skan
12785169689Skan2000-07-31  Jakub Jelinek  <jakub@redhat.com>
12786169689Skan
12787169689Skan	* cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
12788169689Skan	(_cpp_get_token): Don't macro expand a just pasted token if it
12789169689Skan	was pasted at no_expand_level.
12790169689Skan
12791169689Skan2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
12792169689Skan
12793169689Skan	* cppmacro.c (find_param, count_params, save_expansion):
12794169689Skan	Permit 'defined' as a macro parameter name.
12795169689Skan
12796169689Skan2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
12797169689Skan
12798169689Skan	* Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
12799169689Skan	xcpp to cpp throughout.
12800169689Skan	(native): Remove unnecessary dependency on cpp.
12801169689Skan
12802169689Skan	* gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp,
12803169689Skan	tradcpp to tradcpp0.
12804169689Skan	(.i spec): Add missing output-file spec to cc1 command line.
12805169689Skan	* objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
12806169689Skan
12807169689Skan2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
12808169689Skan
12809169689Skan	* c-decl.c (mesg_implicit_function_declaration): Init to -1.
12810169689Skan	(implicit_decl_warning): New function.
12811169689Skan	(implicitly_declare): Use it.
12812169689Skan	* c-typeck.c (build_external_ref): Use implicit_decl_warning
12813169689Skan	to complain about implicit decls of builtins.
12814169689Skan
12815169689Skan	* c-lang.c (lang_init): Set mesg_implicit_function_declaration
12816169689Skan	based on pedantic && flag_isoc99, if not already set.
12817169689Skan	* c-tree.h: Declare mesg_implicit_function_declaration.
12818169689Skan	Prototype implicit_decl_warning.
12819169689Skan
12820169689Skan2000-07-30  Jeffrey D. Oldham  <oldham@codesourcery.com>
12821169689Skan
12822169689Skan	* Makefile.in (ssa.o): Updated header files in dependences.
12823169689Skan	* basic-block.h: Added compute_immediate_postdominators declaration.
12824169689Skan	* config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
12825169689Skan	definition.
12826169689Skan	* flow.c (compute_immediate_dominators): Updated comment.
12827169689Skan	(compute_immediate_postdominators): Added definition.
12828169689Skan	* rtl.h (HARD_REGISTER_P): Added definition.
12829169689Skan	* ssa.c: Include additional header files.
12830169689Skan	(assert): Added definition.
12831169689Skan	(ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
12832169689Skan	include select hard registers.
12833169689Skan	(ssa_rename_to_insert): Likewise.
12834169689Skan	(ssa_rename_from_initialize): Likewise.
12835169689Skan	(ssa_rename_from_lookup): Likewise.
12836169689Skan	(original_register): Likewise.
12837169689Skan	(ssa_rename_from_insert): Added to reimplement ssa_rename_from to
12838169689Skan	include select hard reigsters.
12839169689Skan	(ssa_rename_from_traverse): Likewise.
12840169689Skan	(ssa_rename_from_free): Likewise.
12841169689Skan	(ssa_rename_from_print): Likewise.
12842169689Skan	(ssa_rename_from_print_1): Likewise.
12843169689Skan	(ssa_rename_from_hash_function): Likewise.
12844169689Skan	(ssa_rename_from_equal): Likewise.
12845169689Skan	(ssa_rename_from_delete): Likewise.
12846169689Skan	(simplify_to_immediate_dominators): Removed in favor of
12847169689Skan	flow.c:compute_immediate_dominators.
12848169689Skan	(find_evaluations_1): Modified to work with hard registers.
12849169689Skan	(insert_phi_node): Likewise.
12850169689Skan	(insert_phi_nodes): Likewise.
12851169689Skan	(struct rename_set_data): Updated prev_reg comment.
12852169689Skan	(create_delayed_rename): Modified to work with hard registers.
12853169689Skan	(RENAME_NO_RTX): Updated comment.
12854169689Skan	(apply_delayed_renames): Modified to work with hard registers.
12855169689Skan	(rename_insn_1): Likewise and added handling of CLOBBER rtls.
12856169689Skan	(rename_block): Updated to use revised ssa_rename_to interface.
12857169689Skan	(rename_registers): Updated to use revised ssa_rename_to and
12858169689Skan	ssa_rename_from interface.
12859169689Skan	(convert_to_ssa): Revised to use compute_immediate_dominators and
12860169689Skan	deal with hard registers.
12861169689Skan	(make_regs_equivalent_over_bad_edges): Modified to work with hard
12862169689Skan	registers.  Added check for illegal unification of hard register.
12863169689Skan	(make_equivalent_phi_alternatives_equivalent): Modified to work
12864169689Skan	with hard registers.
12865169689Skan	(compute_conservative_reg_partition): Likewise.
12866169689Skan	(coalesce_if_unconflicting): Modified to work with hard registers
12867169689Skan	and check for conflicting hard registers.
12868169689Skan	(mark_phi_and_copy_regs): Revised loop to work only on pseudo
12869169689Skan	registers.
12870169689Skan	(rename_equivalent_regs_in_insn): Modified to work with hard
12871169689Skan	registers.
12872169689Skan	(record_canonical_element_1): Added definition.
12873169689Skan	(check_hard_regs_in_partition): Added definition.
12874169689Skan	(convert_from_ssa): Added data structure deallocation and check
12875169689Skan	for illegal hard register unification.
12876169689Skan	(conflict_hard_regs_p): Added definition.
12877169689Skan	* toplev.c (rest_of_compilation): Added comment.
12878169689Skan
12879169689Skan2000-07-31  Anthony Green  <green@redhat.com>
12880169689Skan
12881169689Skan	* config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly.
12882169689Skan
12883169689Skan2000-07-31  Jason McMullan  <jmcmullan@linuxcare.com>
12884169689Skan
12885169689Skan	* builtins.c (expand_builtin_apply): Don't defer pop during
12886169689Skan	argument setup.
12887169689Skan
12888169689Skan2000-07-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12889169689Skan
12890169689Skan	* calls.c (combine_pending_stack_adjustment_and_call): Only use
12891169689Skan	preferred_unit_stack_boundary when it is > 1.
12892169689Skan
12893169689Skan2000-07-31  Joseph S. Myers  <jsm28@cam.ac.uk>
12894169689Skan
12895169689Skan	* c-common.c (init_function_format_info): Add C99 format functions
12896169689Skan	in C99 mode.
12897169689Skan
12898169689Skan	* c-decl.c (get_parm_info): Don't treat 'const void', 'volatile
12899169689Skan	void' or 'register void' as being the special case of 'void' alone
12900169689Skan	in a parameter list.
12901169689Skan
12902169689Skan	* c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for
12903169689Skan	discarding qualifiers into a plain warning.
12904169689Skan
12905169689Skan2000-07-31  Kazu Hirata  <kazu@hxi.com>
12906169689Skan
12907169689Skan	* combine.c: Fix formatting.
12908169689Skan
12909169689Skan	* h8300.md: Fix formatting.
12910169689Skan
12911169689Skan	* local-alloc.c: Fix formatting.
12912169689Skan
12913169689Skan	* h8300.c (get_shift_alg): Remove the variable alg.
12914169689Skan	(emit_a_shift): Rearrange code to improve readability.
12915169689Skan
12916169689Skan	* h8300.md (movsi_h8300hs): Rearrange code to improve readability.
12917169689Skan
12918169689Skan	* h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and
12919169689Skan	HImode on all architectures and a combination of HImode and SImode
12920169689Skan	on H8/300H and H8S.
12921169689Skan
12922169689Skan	* h8300.c (split_adds_subs): Rearrange code for conciseness.
12923169689Skan
12924169689SkanMon Jul 31 12:27:55 MET DST 2000  Jan Hubicka  <jh@suse.cz>
12925169689Skan
12926169689Skan	* i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
12927169689Skan	in my last checkin.
12928169689Skan
12929169689SkanMon Jul 31 10:41:01 MET DST 2000  Jan Hubicka  <jh@suse.cz>
12930169689Skan
12931169689Skan	* recog.c (extract_insn): Set operand_mode according to
12932169689Skan	operand if match_operand is VOIDmode.
12933169689Skan
12934169689SkanMon Jul 31 10:36:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
12935169689Skan
12936169689Skan	* recog.c (validate_replace_rtx_1): Do not abort for (nil) expression.
12937169689Skan
12938169689Skan2000-07-31  Geoff Keating  <geoffk@cygnus.com>
12939169689Skan
12940169689Skan	* c-parse.in (extdefs): Call ggc_collect between external
12941169689Skan	definitions.
12942169689Skan
12943169689Skan2000-07-30  Michael Hayes  <mhayes@cygnus.com>
12944169689Skan	    Richard Henderson  <rth@cygnus.com>
12945169689Skan
12946169689Skan	* Makefile.in (OBJS): Add doloop.o.
12947169689Skan	* doloop.c: New file.
12948169689Skan
12949169689Skan	* final.c (insn_current_reference_address): Return 0 before final.
12950169689Skan	* flags.h (flag_branch_on_count_reg): Fix typos in commentary.
12951169689Skan	* jump.c (any_uncondjump_p): Likewise.
12952169689Skan	* loop.c (indirect_jump_in_function): Make static.
12953169689Skan	(strength_reduce): Call doloop_optimize.
12954169689Skan	(insert_bct, instrument_loop_bct): Remove.
12955169689Skan	* loop.h (doloop_optimize): Prototype.
12956169689Skan	* recog.c (split_all_insns): Split all INSN_P.
12957169689Skan	* toplev.c (flag_branch_on_count_reg): Default on.
12958169689Skan
12959169689Skan	* config/c4x/c4x.c (c4x_optimization_options): Don't set
12960169689Skan	flag_branch_on_count_reg.
12961169689Skan	* config/i386/i386.c (override_options): Likewise.
12962169689Skan	* config/rs6000/rs6000.c (optimization_options): Likewise.
12963169689Skan
12964169689Skan	* config/i386/i386.md (decrement_and_branch_on_count): Remove.
12965169689Skan	(doloop_end): New.
12966169689Skan	(dbra_ge): Remove, as well as all it's splitters.
12967169689Skan
12968169689Skan	* config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove.
12969169689Skan	(doloop_end): New.
12970169689Skan
12971169689Skan	* config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare.
12972169689Skan	(ia64_register_move_cost): Declare.
12973169689Skan	* config/ia64/ia64.c (ar_lc_reg_operand): New.
12974169689Skan	(struct ia64_frame_info): Add ar_size.
12975169689Skan	(ia64_compute_frame_size): Set it.
12976169689Skan	(save_restore_insns): Save and restore ar.lc.
12977169689Skan	(ia64_register_move_cost): New, moved from header file.  Handle
12978169689Skan	application registers.
12979169689Skan	(REG_AR_PFS, REG_AR_EC): Remove.  Replace with AR_*_REGNUM numbers.
12980169689Skan	(emit_insn_group_barriers): Special case doloop_end_internal.
12981169689Skan	(ia64_epilogue_uses): Mark ar.lc live at end.
12982169689Skan	* config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers.
12983169689Skan	(AR_EC_REGNUM, AR_PFS_REGNUM): New registers.
12984169689Skan	(FIRST_PSEUDO_REGISTER): Make room.
12985169689Skan	(AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New.
12986169689Skan	(FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
12987169689Skan	(REG_ALLOC_ORDER): Update.
12988169689Skan	(HARD_REGNO_MODE_OK): Update.
12989169689Skan	(REGISTER_NAMES): Update.
12990169689Skan	(enum reg_class): Add AR_M_REGS and AR_I_REGS.
12991169689Skan	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
12992169689Skan	(REGNO_REG_CLASS): Update.
12993169689Skan	(LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10.
12994169689Skan	(REGISTER_MOVE_COST): Move out of line.
12995169689Skan	(PREDICATE_CODES): Update.
12996169689Skan	* config/ia64/ia64.md (movdi patterns): Handle ar register classes.
12997169689Skan	(addsi3_plus1_alt, adddi3_plus1_alt): New.
12998169689Skan	(shladd_elim splitter): Allow constants in the predicate.
12999169689Skan	(doloop_end, doloop_end_internal): New.
13000169689Skan
13001169689Skan2000-07-30  Richard Henderson  <rth@cygnus.com>
13002169689Skan
13003169689Skan	* genattrtab.c (struct insn_def): Add lineno member.
13004169689Skan	(struct insn_ent): Likewise.
13005169689Skan	(struct attr_desc): Likewise.
13006169689Skan	(struct delay_desc): Likewise.
13007169689Skan	(struct function_unit_op): Likewise.
13008169689Skan	(struct function_unit): Likewise.
13009169689Skan	(check_attr_value): Use message_with_line.
13010169689Skan	(check_defs): Likewise.
13011169689Skan	(expand_units): Likewise.
13012169689Skan	(check_attr_test): Take a lineno argument.
13013169689Skan	(gen_attr): Likewise.
13014169689Skan	(gen_insn): Likewise.
13015169689Skan	(gen_delay): Likewise.
13016169689Skan	(gen_unit): Likewise.
13017169689Skan	(main): Give it to them.
13018169689Skan	(convert_set_attr_alternative): Take an insn_def argument
13019169689Skan	instead of num_alt and insn_index.
13020169689Skan	(convert_set_attr): Likewise.
13021169689Skan	(write_test_expr): Protect INSN_ADDRESSES load
13022169689Skan	with INSN_ADDRESSES_SET_P.
13023169689Skan
13024169689Skan2000-07-30  Richard Henderson  <rth@cygnus.com>
13025169689Skan
13026169689Skan	* flow.c (init_propagate_block_info): Use pc_set.
13027169689Skan
13028169689SkanSun Jul 30 20:58:34 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13029169689Skan
13030169689Skan	* i386.md (*lea_general_[123]) New insns and splits.
13031169689Skan	(addsi3 to lea splitter): Handle other modes too.
13032169689Skan	(shlsi3 to lea splitter): Likewise.
13033169689Skan	(addhi_1_lea, shlhi_1_lea): New patterns.
13034169689Skan	(addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL.
13035169689Skan
13036169689SkanSun Jul 30 20:51:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13037169689Skan
13038169689Skan	* recog.c (general_operand, nonimmediate_operand): Accept
13039169689Skan	any mode for VOIDmode CONSTANT_P operands.
13040169689Skan
13041169689SkanSun Jul 30 20:42:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13042169689Skan
13043169689Skan	* gcse.c (try_replace_reg): Use validate_replace_rtx_subexp
13044169689Skan	instead of replace_rtx.
13045169689Skan	* recog.c (validate_replace_rtx_subexp): New function.
13046169689Skan	* recog.h (validate_replace_rtx_subexp): Declare.
13047169689Skan
13048169689SkanSun Jul 30 20:38:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13049169689Skan
13050169689Skan	* combine.c (simplify_set, make_extraction, make_compound_operation
13051169689Skan	make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
13052169689Skan	as force_to_mode argument.
13053169689Skan
13054169689SkanSun Jul 30 20:30:41 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13055169689Skan
13056169689Skan	* combine.c (if_then_else_cond): Be sure that mode fits in
13057169689Skan	HOST_WIDE_INT.
13058169689Skan
13059169689SkanSun Jul 30 20:27:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13060169689Skan
13061169689Skan	* combine.c (record_promoted_value):  Allow bitsize of mode
13062169689Skan	to be equivalent to HOST_BITS_PER_WISE_INT.
13063169689Skan
13064169689SkanSun Jul 30 20:25:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13065169689Skan
13066169689Skan	* function.c (assign_stack_local_1, assign_stack_temp_for_type):
13067169689Skan	Do not call gen_mode_alignment when mode is BLKmode.
13068169689Skan
13069169689SkanSun Jul 30 20:21:54 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13070169689Skan
13071169689Skan	* loop.c (express_from_1): Fix call of simplify_gen_binary.
13072169689Skan
13073169689SkanSun Jul 30 20:08:37 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13074169689Skan
13075169689Skan	* simplify-rtx.c (simplify_relational_operation): Verify that mode ==
13076169689Skan	VOIDmode implies both operands to be VOIDmode.
13077169689Skan	(simplify_ternary_operation): Compute properly the mode of comparison.
13078169689Skan	* combine.c (combine_simplify_rtx): Likewise.
13079169689Skan
13080169689Skan2000-07-25  Michael Hayes  <mph@paradise.net.nz>
13081169689Skan
13082169689Skan	* basic-block.h (struct loops): New field rc_order.
13083169689Skan	* flow.c (flow_loops_cfg_dump): Dump rc_order if computed.
13084169689Skan	(flow_loops_free): Free rc_order.
13085169689Skan	(flow_depth_first_order_compute): New parameter rc_order.
13086169689Skan	(flow_loops_find): Allocate rc_order and swap usage with
13087169689Skan	dfs_order.
13088169689Skan
13089169689Skan2000-07-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
13090169689Skan	   Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13091169689Skan
13092169689Skan	* config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
13093169689Skan	(push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise.
13094169689Skan	(nodb_call, return_from_epilogue): Likewise.
13095169689Skan	(return_from_interrupt_epilogue, prologue, epilogue): Likewise.
13096169689Skan	* config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add.
13097169689Skan	* config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add.
13098169689Skan	(c4x_expand_prologue, c4x_expand_epilogue): Likewise.
13099169689Skan	(c4x_valid_type_attribute_p): Likewise.
13100169689Skan	* config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
13101169689Skan	(FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL.
13102169689Skan
13103169689Skan2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13104169689Skan
13105169689Skan	* config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant
13106169689Skan	and loadhi_big_constant if applicable.
13107169689Skan	* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak
13108169689Skan	and add new splitter.s
13109169689Skan
13110169689Skan2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13111169689Skan
13112169689Skan	* config/c4x/c4x.c (c4x_rptb_insert): Make more robust.
13113169689Skan
13114169689Skan2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13115169689Skan
13116169689Skan	* config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label.
13117169689Skan
13118169689Skan2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13119169689Skan
13120169689Skan	* config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings.
13121169689Skan
13122169689Skan2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13123169689Skan
13124169689Skan	* config/c4x/libgcc.S (divqf3): Improve accuracy.
13125169689Skan
13126169689Skan2000-07-27  Mark Mitchell  <mark@codesourcery.com>
13127169689Skan
13128169689Skan	Put phi nodes after NOTE_INSN_BASIC_BLOCK.
13129169689Skan	* rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro.
13130169689Skan	* bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P.
13131169689Skan	(get_prev_bb_note): Likewise.
13132169689Skan	(remove_scope_notes): Likewise.
13133169689Skan	* flow.c (commit_one_edge_insertion): Likewise.
13134169689Skan	(merge_blocks_nomove): Likewise.
13135169689Skan	(verify_flow_info): Likewise.
13136169689Skan	* gcse.c (insert_insn_end_bb): Likewise.
13137169689Skan	* reg-stack.c (emit_swap_insn): Likewise.
13138169689Skan	* ssa.c (first_insn_after_basic_block_note): New function.
13139169689Skan	(insert_phi_node): Use it.
13140169689Skan	(rename_block): Likewise.
13141169689Skan	(eliminate_phi): Likewise.
13142169689Skan	(make_regs_equivalent_over_bad_edges): Likewise.
13143169689Skan	(make_equivalent_phi_alternatives_equivalent): Likewise.
13144169689Skan	(for_each_successor_phi): Likewise.
13145169689Skan	(convert_from_ssa): Modify phi-node deletion algorithm.
13146169689Skan
13147169689Skan2000-07-29  Andreas Jaeger  <aj@suse.de>
13148169689Skan
13149169689Skan	* configure.in (mips*-*-linux*): Use mips*el to check for little
13150169689Skan	endian MIPS, add tmake_file.
13151169689Skan
13152169689Skan	* config/mips/linux.h (TARGET_VERSION): Use GNU/Linux.
13153169689Skan	(SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1.
13154169689Skan	Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
13155169689Skan
13156169689Skan2000-07-28  Richard Henderson  <rth@cygnus.com>
13157169689Skan
13158169689Skan	* config/ia64/ia64.c (ia64_print_operand): Fix typos.
13159169689Skan	Sign extend mode size before negating.
13160169689Skan
13161169689Skan2000-07-28  Richard Henderson  <rth@cygnus.com>
13162169689Skan
13163169689Skan	* emit-rtl.c (gen_lowpart_common): Add missing 'c' variable.
13164169689Skan
13165169689Skan2000-07-28  Bernd Schmidt  <bernds@cygnus.co.uk>
13166169689Skan
13167169689Skan	* cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
13168169689Skan	(cse_insn): Likewise.
13169169689Skan	(addr_affects_sp_p): Likewise.
13170169689Skan	* expr.c (move_by_pieces): Likewise.
13171169689Skan	(clear_by_pieces): Likewise.
13172169689Skan	* gcse.c (oprs_unchanged_p): Likewise.
13173169689Skan	* haifa-sched.c (sched_analyze_2): Likewise.
13174169689Skan	* recog.c (offsettable_address_p): Likewise.
13175169689Skan	* regclass.c (record_address_regs): Likewise.
13176169689Skan	* reload.c (find_reusable_reload): Likewise.
13177169689Skan	(push_reload): Likewise.
13178169689Skan	(operands_match_p): Likewise.
13179169689Skan	(decompose): Likewise.
13180169689Skan	(find_reloads_address_1): Likewise.
13181169689Skan	(find_inc_amount): Likewise.
13182169689Skan	* reload1.c (elimination_effects): Likewise.
13183169689Skan	* resource.c (mark_set_resources): Likewise.
13184169689Skan	* flow.c (attempt_auto_inc): New function; mostly broken out
13185169689Skan	of find_auto_inc.
13186169689Skan	(find_auto_inc): Split into two functions and enhanced to
13187169689Skan	generate POST_MODIFY.
13188169689Skan	* rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
13189169689Skan	* rtl.h (count_all_occurrences):  Declare.
13190169689Skan	(HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
13191169689Skan	defined.
13192169689Skan	* rtlanal.c (count_all_occurrences): New function.
13193169689Skan	* tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
13194169689Skan	HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.
13195169689Skan
13196169689Skan	* config/ia64/ia64-protos.h (destination_operand): Declare.
13197169689Skan	* config/ia64/ia64.c (destination_operand): New function.
13198169689Skan	(ia64_print_operand): Handle POST_MODIFY.
13199169689Skan	(rtx_needs_barrier): Likewise.
13200169689Skan	* config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
13201169689Skan	(HAVE_POST_MODIFY_REG): Define to 1.
13202169689Skan	(MAX_REGS_PER_ADDRESS): Change to 2.
13203169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
13204169689Skan	(LEGITIMATE_ADDRESS_REG): New helper macro.
13205169689Skan	(LEGITIMATE_ADDRESS_DISP): Likewise.
13206169689Skan	(PREDICATE_CODES): Add entry for destination_operand.
13207169689Skan	* config/ia64/ia64.md (all mov patterns): Use destination_operand
13208169689Skan	predicate for operand 0.
13209169689Skan
13210169689Skan2000-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13211169689Skan
13212169689Skan	* dwarf2out.c: Indent #error directive.
13213169689Skan
13214169689Skan	* gbl-ctors.h: Fix typo in comment.
13215169689Skan	(__do_global_ctors): Prototype.
13216169689Skan
13217169689Skan	* gcse.c (record_one_set, pre_delete): Remove unused variables.
13218169689Skan
13219169689Skan	* rs6000.c (rs6000_maybe_dead): Delete unused prototype.
13220169689Skan	(print_operand): Initialize variable `t'.
13221169689Skan
13222169689Skan2000-07-27  Aldy Hernandez  <aldyh@redhat.com>
13223169689Skan
13224169689Skan	* config/arm/arm.md ("call_value"): removed constraints.
13225169689Skan	Constraints are ignored in expanders.
13226169689Skan	(*call_value_reg): split =rf into various constraints.
13227169689Skan	(*call_value_mem): same
13228169689Skan	(*call_value_symbol): same
13229169689Skan	(*sibcall_value_insn): same
13230169689Skan
13231169689Skan2000-07-28  Philipp Thomas  <pthomas@suse.de>
13232169689Skan
13233169689Skan	* install.texi (--enable-nls): Change the description of the NLS
13234169689Skan	related configure options to match the current state.
13235169689Skan	(--with-included-gettext): Likewise.
13236169689Skan	(--enable-maintainer-mode): New description added.
13237169689Skan	* extend.texi (-fstrict-prototype): Add missing '.'.
13238169689Skan
13239169689Skan2000-07-27  Jim Wilson  <wilson@cygnus.com>
13240169689Skan
13241169689Skan	* dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
13242169689Skan	DECL_INITIAL (decl) == NULL_TREE.
13243169689Skan
13244169689Skan2000-07-27  Alexandre Oliva  <aoliva@redhat.com>
13245169689Skan
13246169689Skan	* Makefile.in (INSN_ATTR_H): New macro.  Replace all dependencies
13247169689Skan	on insn-attr.h with it.
13248169689Skan	* genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length.
13249169689Skan	* insn-addr.h: New header.
13250169689Skan	(insn_addresses_): Renamed from insn_addresses.
13251169689Skan	(INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC,
13252169689Skan	INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE,
13253169689Skan	INSN_ADDRESSES_NEW): New macros.
13254169689Skan	* genattrtab.c (write_test_expr): Use new macros.
13255169689Skan	* final.c (insn_addresses, init_insn_lengths): Likewise.
13256169689Skan	(align_fuzz, shorten_branches): Likewise.
13257169689Skan	(final): Likewise.  Do not reject new insns if their addresses
13258169689Skan	have been added to INSN_ADDRESSES.
13259169689Skan	* config/arm/arm.c, config/avr/avr.c: Use new macros.
13260169689Skan	* config/h8300/h8300.c, config/i370/i370.c: Likewise.
13261169689Skan	* config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise.
13262169689Skan	* config/sparc/sparc.c, config/sparc/sparc.md: Likewise.
13263169689Skan	* config/sh/sh.c: Likewise.
13264169689Skan	(output_branchy_insn): Use INSN_ADDRESSES_NEW.
13265169689Skan
13266169689Skan	* Makefile.in (bootstrap): Move -BstageN/ back to the beginning.
13267169689Skan
13268169689Skan2000-07-27  Andrew Cagney  <cagney@b1.cygnus.com>
13269169689Skan
13270169689Skan	* gcc.c (struct prefix_list): Add member priority.
13271169689Skan	(enum path_prefix_priority): Declare.
13272169689Skan	(add_prefix): Replace ``first'' with ``priority''.  Append new
13273169689Skan	entry but keep list in priority order.
13274169689Skan	(process_command): Update.  Pass PREFIX_PRIORITY_B_OPT or
13275169689Skan	PREFIX_PRIORITY_LAST to add_prefix.
13276169689Skan	(process_command): Move include kludge - foo/stageN - to before
13277169689Skan	foo/include.
13278169689Skan
13279169689Skan2000-07-27  Jason Merrill  <jason@redhat.com>
13280169689Skan
13281169689Skan	* dwarf2out.c (gen_typedef_die): Abort if we get identical
13282169689Skan	TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef.
13283169689Skan
13284169689Skan2000-07-27  RodneyBrown  <RodneyBrown@pmsc.com>
13285169689Skan
13286169689Skan	* expr.h (get_alias_set, lang_get_alias_set): Delete prototypes.
13287169689Skan	* tree.h (get_alias_set, lang_get_alias_set): Prototype.
13288169689Skan
13289169689Skan2000-07-27  Joseph S. Myers  <jsm28@cam.ac.uk>
13290169689Skan
13291169689Skan	* c-decl.c (finish_function): Don't treat 'main' specially unless
13292169689Skan	flag_hosted.  In C99 mode, return 0 from 'main' unless
13293169689Skan	DEFAULT_MAIN_RETURN is otherwise defined.
13294169689Skan
13295169689Skan	* c-decl.c (store_parm_decls): In C99 mode, pedwarn for function
13296169689Skan	parameters defaulting to int in an old-style function definition.
13297169689Skan
13298169689Skan2000-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13299169689Skan
13300169689Skan	* c-parse.in (string): For -Wtraditional, warn about string
13301169689Skan	concatenation only once per line.
13302169689Skan
13303169689SkanThu Jul 27 09:25:17 2000  Akiko Matsushita  <matusita@sra.co.jp>
13304169689Skan
13305169689Skan	* pa/x-pa-hpux: Add -D_HIUX_SOURCE to FIXPROTO_DEFINES
13306169689Skan	for HI-UX/WE2 systems.
13307169689Skan
13308169689Skan2000-07-24  Bruce Korb  <bkorb@gnu.org>
13309169689Skan
13310169689Skan	* fixincl/fixfixes.c(emit_gnu_type): rewrote to *rely* on GCC
13311169689Skan	defining the __xxx_TYPE__ macros.
13312169689Skan	* fixincl/fixincl.tpl(gnu_type_map): now obsolete
13313169689Skan	* fixincl/fixlib.h: don't need to include "tm.h" anymore
13314169689Skan	* fixincl/inclhack.def(type_map): now obsolete
13315169689Skan
13316169689SkanThu Jul 27 11:54:17 2000  Andrew Cagney  <cagney@b1.cygnus.com>
13317169689Skan
13318169689Skan	* cpp.texi: Append a trailing full-stop to xrefs where needed.
13319169689Skan
13320169689Skan2000-07-26  Dave Pitts  <dpitts@cozx.com>
13321169689Skan
13322169689Skan	* i370.c: Remove LONGEXTERNAL ifdef from alias_number. Added hash
13323169689Skan	routine constants.
13324169689Skan	(mvs_hash_alias): New function.
13325169689Skan	(mvs_add_alias): Change argument spacing.
13326169689Skan	(mvs_need_alias): Change aliasing criteria. Added documentation.
13327169689Skan	(mvs_get_alias): Change to use hashed name. The hashed name prevents
13328169689Skan	CSECT name collisions.
13329169689Skan	(mvs_check_alias): Likewise.
13330169689Skan	(handle_pragma): Change documentation.
13331169689Skan	* i370.md (mulsi3, divsi3, udivsi3, modsi3, umodsi3): Changed gen_rtx
13332169689Skan	mode from SImode to DImode.
13333169689Skan	(iorhi3): Changed LTORG size for insn.
13334169689Skan
13335169689SkanWed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
13336169689Skan
13337169689Skan	* reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
13338169689Skan	mem if the address is a mode_dependent_address_p.
13339169689Skan
13340169689Skan2000-07-26  Kazu Hirata  <kazu@hxi.com>
13341169689Skan
13342169689Skan	* h8300.c (print_operand): Print ":8" when the 'R' operand is
13343169689Skan	suitable for 8-bit absolute.
13344169689Skan	* h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): New.
13345169689Skan	(OK_FOR_U): Add a case for the 8-bit constant address on the
13346169689Skan	H8/300H.
13347169689Skan
13348169689SkanWed Jul 26 19:26:21 2000  Hans-Peter Nilsson  <hp@axis.com>
13349169689Skan
13350169689Skan	* varasm.c (assemble_variable) [! defined(ASM_OUTPUT_ALIGNED_COMMON)
13351169689Skan	&& ! defined (ASM_OUTPUT_ALIGNED_BSS]): Also test
13352169689Skan	! defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) before complaining about
13353169689Skan	lack of implemented alignment.
13354169689Skan
13355169689Skan2000-07-26  Geoffrey Keating  <geoffk@cygnus.com>
13356169689Skan
13357169689Skan	* emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETIC]: Handle
13358169689Skan	cross-compiling between 64-bit and 32-bit machines.
13359169689Skan
13360169689Skan2000-07-27  Richard Henderson  <rth@cygnus.com>
13361169689Skan
13362169689Skan	* config/ia64/ia64.md (movqicc_astep, movqi_internal_astep): New.
13363169689Skan	(movhicc_astep, movhi_internal_astep): New.
13364169689Skan	(movsicc_astep, movsi_internal_astep): New.
13365169689Skan	(movdicc_astep, movdi_internal_astep): New.
13366169689Skan	(movsfcc_astep, movsf_internal_astep): New.
13367169689Skan	(movdfcc_astep, movdf_internal_astep): New.
13368169689Skan	(movxfcc_astep, movxf_internal_astep): New.
13369169689Skan	(cmovdi_internal_astep, cmovsi_internal_astep): New.
13370169689Skan	Unify the cmov[ds]i splitters.
13371169689Skan
13372169689Skan2000-07-27  Rodney Brown  <RodneyBrown@pmsc.com>
13373169689Skan
13374169689Skan	* real.c (asctoeg): Rename `error' label to unexpected_char_error
13375169689Skan
13376169689Skan2000-07-26  Nick Clifton  <nickc@cygnus.com>
13377169689Skan
13378169689Skan	* config/arm/vxarm.h (CPP_PREDEFINES): Remove definition of
13379169689Skan	__arm__.  Allow it to be defined by CPP_ISA_SPEC in arm.h
13380169689Skan
13381169689Skan	* dwarf2out.c (dwarf2out_frame_debug_expr): Accept SEQUENCE as
13382169689Skan	well as PARALLEL blocks in FRAME_RELATED_EXPR notes.
13383169689Skan
13384169689Skan2000-07-26  Alexandre Oliva  <aoliva@redhat.com>
13385169689Skan
13386169689Skan	* c-decl.c (finish_enum): Convert enumerations that fit in an
13387169689Skan	`int' to `int'.
13388169689Skan	(build_enumerator): In pedantic mode, cast to `int' those that
13389169689Skan	don't.
13390169689Skan
13391169689Skan2000-07-25  Rodney Brown  <RodneyBrown@pmsc.com>
13392169689Skan
13393169689Skan	* config/alpha/osf.h (SIZE_TYPE, PTRDIFF_TYPE): New.
13394169689Skan
13395169689SkanTue Jul 25 23:08:33 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
13396169689Skan
13397169689Skan	* sh.md (cmpgtdi_t): Must be split.
13398169689Skan	(cmpgtdi_t+1): New splitter.
13399169689Skan
13400169689Skan2000-07-25  Zack Weinberg  <zack@wolery.cumb.org>
13401169689Skan
13402169689Skan	* cpplib.c (_cpp_check_directive): Issue -Wtraditional
13403169689Skan	warnings for indented directives even if we are skipping.
13404169689Skan
13405169689Skan2000-07-25  Nathan Sidwell  <nathan@codesourcery.com>
13406169689Skan
13407169689Skan	* invoke.texi (strict-prototypes): Remove.
13408169689Skan	* extend.texi (Deprecated Features): Add strict-prototypes.
13409169689Skan	(Backwards Compatibility): New node.
13410169689Skan
13411169689Skan2000-07-25  Jakub Jelinek  <jakub@redhat.com>
13412169689Skan
13413169689Skan	* config/i386/i386.md (andsi_1+1): Allow HImode.
13414169689Skan	(andsi_1+2): Require q_regs_operand.
13415169689Skan
13416169689Skan2000-07-25  Jakub Jelinek  <jakub@redhat.com>
13417169689Skan
13418169689Skan	* config/i386/i386.md (call_pop): Check operands[0],
13419169689Skan	not operands[1]. Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
13420169689Skan	(call): Likewise.
13421169689Skan	(call_value_pop): Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
13422169689Skan	(call_value): Likewise.
13423169689Skan
13424169689Skan2000-07-25  Zack Weinberg  <zack@wolery.cumb.org>
13425169689Skan
13426169689Skan	* toplev.c (pipe_closed): Delete.
13427169689Skan	(crash_signal): New.  Generate ICE for a fatal signal.
13428169689Skan	(float_signal): Call crash_signal outside a float-handler
13429169689Skan	block, not abort.
13430169689Skan	(main): Install crash_signal as handler for core-dumping signals.
13431169689Skan
13432169689Skan2000-07-25  David Edelsohn  <edelsohn@gnu.org>
13433169689Skan
13434169689Skan	* rs6000.c (print_operand, case 'T'): New case.
13435169689Skan
13436169689Skan	* rs6000.md (call_indirect_aix32): Convert to expander of
13437169689Skan	scheduled instructions.
13438169689Skan	(call_indirect_aix64): Likewise.
13439169689Skan	(call_value_indirect_aix{32,64}): Likewise.
13440169689Skan	(call, call_value): Invoke expanders for AIX.  Fall through to
13441169689Skan	matchers for SysV.
13442169689Skan	(call_indirect_nonlocal_aix{32,64}): New patterns (ctr and lr).
13443169689Skan	(call_value_indirect_nonlocal_aix{32,64}): New patterns.
13444169689Skan	(call_nonlocal_aix32): Remove CALL_LONG alternative.  Operand 1
13445169689Skan	only "g" constraint.
13446169689Skan	(call_nonlocal_aix64): Likewise.
13447169689Skan	(call_value_nonlocal_aix{32,64}): Likewise.
13448169689Skan	(call_nonlocal_sysv): New pattern for ctr, lr, and symbolic
13449169689Skan	operands.
13450169689Skan	(call_value_nonlocal_sysv): New pattern.
13451169689Skan	(indirect_jump{si,di}): Use new 'T' modifier.
13452169689Skan	(tablejump{si,di} matchers): Likewise.
13453169689Skan	(return_internal_{si,di}): Likewise.
13454169689Skan	(return_eh_{si,di}): Likewise.
13455169689Skan
13456169689Skan2000-07-24  Richard Henderson  <rth@cygnus.com>
13457169689Skan
13458169689Skan	* config/ia64/ia64.c (ia64_print_operand): Handle "%,".
13459169689Skan	* config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
13460169689Skan	* config/ia64/ia64.md (movdi_internal): Use it.
13461169689Skan
13462169689Skan2000-07-24  Zack Weinberg  <zack@wolery.cumb.org>
13463169689Skan
13464169689Skan	* cppexp.c: Warn about unary + if -Wtraditional.
13465169689Skan	* cpplex.c (lex_line): Always set BOL on the first token of a line.
13466169689Skan
13467169689Skan2000-07-24  Michael Meissner  <meissner@redhat.com>
13468169689Skan
13469169689Skan	* d30v.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Delete references to
13470169689Skan	unsupported macro.
13471169689Skan
13472169689Skan2000-07-24  Nick Clifton  <nickc@cygnus.com>
13473169689Skan
13474169689Skan	* config/arm/arm.c (emit_multi_reg_push): Generate a
13475169689Skan	REG_FRAME_RELEATED_NOTE that is compatible with the code in
13476169689Skan	dwarf2out_debug_frame_expr.
13477169689Skan
13478169689Skan2000-07-24  Jason Merrill  <jason@redhat.com>
13479169689Skan
13480169689Skan	* dwarf2out.c: Complain if DWARF2_DEBUGGING_INFO is defined without
13481169689Skan	UNALIGNED_INT_ASM_OP.
13482169689Skan	(def_cfa_1): Don't emit def_cfa_register or def_cfa_offset to adjust
13483169689Skan	a location expression.
13484169689Skan	(dwarf2out_frame_debug_expr): Lose cfa_old_reg stuff.  Don't
13485169689Skan	assume indirect access if we're saving the CFA address exactly.
13486169689Skan
13487169689Skan	* Makefile.in (bootstrap): Move -BstageN/ to the end.
13488169689Skan
13489169689Skan2000-07-24  Jakub Jelinek  <jakub@redhat.com>
13490169689Skan
13491169689Skan	* tradcpp.c (main): Update max_include_len for cpp_include_defaults
13492169689Skan	as well.
13493169689Skan
13494169689Skan2000-07-24  Michael Meissner  <meissner@redhat.com>
13495169689Skan
13496169689Skan	* invoke.texi (D30V Options): Add d30v options.
13497169689Skan
13498169689SkanMon Jul 24 02:04:52 2000  Jeffrey A Law  (law@cygnus.com)
13499169689Skan
13500169689Skan	* gcse.c (alloc_pre_mem): Do not alloc TRANSPOUT, it is not
13501169689Skan	needed by our gcse pass anymore.
13502169689Skan	(free_pre_mem): Corresponding changes.
13503169689Skan	(compute_pre_data): Do not call compute_transpout anymore.
13504169689Skan
13505169689Skan	* gcse.c (alloc_avail_expr_mem): Kill unused 'u_bitmap'.
13506169689Skan	(free_avail_expr_mem, alloc_pre_mem, free_pre_mem): Corresponding
13507169689Skan	changes.
13508169689Skan
13509169689Skan	* gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here.
13510169689Skan	(compute_pre_data): Do it here instead.
13511169689Skan
13512169689Skan	* gcse.c (alloc_pre_mem, free_pre_mem): Delete unused bitmap
13513169689Skan	'temp_bitmap'.
13514169689Skan	(pre_delete): Corresponding changes.
13515169689Skan
13516169689Skan2000-07-23  Mark Mitchell  <mark@codesourcery.com>
13517169689Skan
13518169689Skan	* c-semantics.c (make_rtl_for_local_static): Use TREE_ASM_WRITTEN
13519169689Skan	to figure out whether or not a variable has already been emitted.
13520169689Skan
13521169689SkanSun Jul 23 14:49:12 2000  Jason Eckhardt  <jle@cygnus.com>
13522169689Skan
13523169689Skan	* config/i860/i860.md (untyped_call expander): Use GEN_CALL
13524169689Skan	instead of gen_call.
13525169689Skan
13526169689SkanSun Jul 23 11:52:03 2000  George Helffrich (george@gly.bris.ac.uk)
13527169689Skan
13528169689Skan	* dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab.
13529169689Skan
13530169689Skan2000-07-23  Kazu Hirata  <kazu@hxi.com>
13531169689Skan
13532169689Skan	* h8300.c: Fix formatting.
13533169689Skan
13534169689Skan2000-07-23  Joseph S. Myers  <jsm28@cam.ac.uk>
13535169689Skan
13536169689Skan	* c-typeck.c (c_expand_start_case): Change -Wtraditional pedwarn
13537169689Skan	for `long' switch expression into a plain warning.
13538169689Skan
13539169689Skan	* c-lex.c (init_lex): Keep the "inline" keyword in C99 mode.
13540169689Skan	(yylex): Don't pedwarn for "inline" in C99 mode.
13541169689Skan
13542169689Skan	* bitmap.c (debug_bitmap_file): Cast pointers to PTR for printing
13543169689Skan	with %p.
13544169689Skan	* ggc-page.c (debug_print_page_list, alloc_page, free_page,
13545169689Skan	ggc_alloc): Likewise.
13546169689Skan	* bb-reorder.c (dump_scope_forest_1): Likewise.
13547169689Skan
13548169689Skan2000-07-22  Aldy Hernandez  <aldyh@redhat.com>
13549169689Skan
13550169689Skan	* reload.c (find_reloads_toplev): Add new parameter
13551169689Skan	"address_reloaded".
13552169689Skan	(find_reloads): Add new parameter to find_reloads_toplev calls.
13553169689Skan
13554169689Skan2000-07-22  Jeffrey Oldham  <oldham@codesourcery.com>
13555169689Skan
13556169689Skan	* collect2.c (main): Typo fixed.
13557169689Skan	* diagnostic.c: Typo fixed.
13558169689Skan	* dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed.
13559169689Skan	* eh-common.h: Typo fixed.
13560169689Skan	* emit-rtl.c (start_sequence): Typo fixed.
13561169689Skan	* flow.c (find_label_refs): Typo fixed.
13562169689Skan	(calculate_global_regs_live): Typo fixed.
13563169689Skan	(mark_regno_cond_dead): Typo fixed.
13564169689Skan	(create_edge_list): Typos fixed.
13565169689Skan	(verify_edge_list): Typo fixed.
13566169689Skan	* ggc-common.c (ggc_mark_rtx_children): Typo fixed.
13567169689Skan	* loop.c (strength_reduce): Typo in function name fixed.
13568169689Skan	* rtl.h: Added comments.  Typo in function name fixed.
13569169689Skan	* rtlanal.c: Typo in function name fixed.
13570169689Skan	(insn_dependant_p): Rename to ...
13571169689Skan	(insn_dependent_p): ... this.
13572169689Skan	(computed_jumo_p): Typo fixed.
13573169689Skan
13574169689Skan2000-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13575169689Skan
13576169689Skan	* system.h (__FUNCTION__): Wrap definition in #ifndef.
13577169689Skan
13578169689Skan2000-07-21  David Edelsohn  <edelsohn@gnu.org>
13579169689Skan
13580169689Skan	* rs6000.h (SIZE_TYPE): Define.
13581169689Skan
13582169689Skan2000-07-21  Mark Mitchell  <mark@codesourcery.com>
13583169689Skan
13584169689Skan	* ssa.c (rename_insn_1): Don't rename registers that are
13585169689Skan	CLOBBERed.
13586169689Skan
13587169689Skan2000-07-21  Zack Weinberg  <zack@wolery.cumb.org>
13588169689Skan
13589169689Skan	* diagnostic.c (trim_filename, fancy_abort): Moved here from
13590169689Skan	rtl.c.
13591169689Skan	(fatal_function, set_fatal_function): Removed.
13592169689Skan	(fatal): Don't prepare for or call the fatal_function.
13593169689Skan	(diagnostic_lock, error_recursion): New.
13594169689Skan	(diagnostic_for_decl, report_diagnostic): Guard against
13595169689Skan	re-entering the error reporting routines.
13596169689Skan	(fancy_abort): Assume function is not NULL.
13597169689Skan
13598169689Skan	* errors.c (fancy_abort): New.  Assume function is not NULL.
13599169689Skan	* tradcpp.c (fancy_abort): Assume function is not NULL.
13600169689Skan
13601169689Skan	* system.h: Provide default definition of __FUNCTION__.
13602169689Skan	* rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout.
13603169689Skan	Always use __FUNCTION__ in definition of abort.
13604169689Skan	* tree.h: Likewise.
13605169689Skan	* varray.h: Likewise.
13606169689Skan	* toplev.h: Likewise.  Don't prototype set_fatal_function.
13607169689Skan
13608169689Skan2000-07-20  Geoff Keating  <geoffk@cygnus.com>
13609169689Skan
13610169689Skan	* config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly
13611169689Skan	in 64-bit mode.
13612169689Skan	* glimits.h: Don't do #if defined for ARCH_PPC.
13613169689Skan
13614169689Skan	* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All
13615169689Skan	constants of size no larger than a pointer should go in the TOC.
13616169689Skan	Add 'MODE' parameter.
13617169689Skan	(LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to
13618169689Skan	ASM_OUTPUT_SPECIAL_POOL_ENTRY_P.
13619169689Skan	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
13620169689Skan	* config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise.
13621169689Skan	* config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise.
13622169689Skan	* config/rs6000/rs6000.c (constant_pool_expr_1): Likewise.
13623169689Skan	(rs6000_legitimize_address): Likewise.
13624169689Skan	(rs6000_emit_move): Likewise.
13625169689Skan	(rs6000_select_rtx_section): Likewise.
13626169689Skan	(output_toc): Deal properly with outputting small constants like
13627169689Skan	HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode.
13628169689Skan	* config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add
13629169689Skan	MODE parameter.  Put small constants in the TOC.
13630169689Skan
13631169689Skan	* config/rs6000/rs6000.c (easy_fp_constant_p): All constants are
13632169689Skan	easy in SImode.
13633169689Skan	(rs6000_emit_move): When reload calls us with an illegitimate
13634169689Skan	address, exit early.  Move the change_address calls to one place
13635169689Skan	at the end of the routine.  Merge the SImode and DImode expanders.
13636169689Skan	When called by reload to put an integer into a FP register, force
13637169689Skan	it to memory.
13638169689Skan
13639169689Skan	* config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode'
13640169689Skan	field.
13641169689Skan	(rs6000_hash_constant): Hash mode too.
13642169689Skan	(toc_hash_function): Allow for key_mode.
13643169689Skan	(toc_hash_eq): Structures are different if key_mode differs.
13644169689Skan	(output_toc): Add 'mode' parameter.  Save key_mode.
13645169689Skan	* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY):
13646169689Skan	Pass 'mode' parameter.
13647169689Skan	* config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param.
13648169689Skan
13649169689Skan	* config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
13650169689Skan	for vtable references.
13651169689Skan
13652169689Skan	* config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a
13653169689Skan	choice, don't put integer values in FP regs.
13654169689Skan
13655169689SkanThu Jul 20 18:13:52 2000  Jeffrey A Law  (law@cygnus.com)
13656169689Skan
13657169689Skan	* flow.c (verify_flow_info): Revamp code to verify that the
13658169689Skan	head and end of each basic block are in the insn chain.
13659169689Skan
13660169689SkanThu Jul 20 18:02:35 2000  Michael Matz <matzmich@cs.tu-berlin.de>
13661169689Skan
13662169689Skan	* gcse.c (record_one_set): Prepend instead of append onto
13663169689Skan	reg_set_table, making it O(n) instead O(n^2).
13664169689Skan	* lcm.c (compute_antinout_edge,compute_laterin,compute_available):
13665169689Skan	Use a queue instead of a stack as worklist.
13666169689Skan
13667169689Skan2000-07-20  Kazu Hirata  <kazu@hxi.com>
13668169689Skan
13669169689Skan	* h8300.c (two_insn_adds_subs_operand): Fix a typo.
13670169689Skan	* h8300.h (OK_FOR_T): New.
13671169689Skan	(EXTRA_CONSTRAINT): Support OK_FOR_T.
13672169689Skan	* h8300.md: Use inc/dec.[wl] for increment/decrement
13673169689Skan	by 1 and 2 in HI and SI modes.
13674169689Skan
13675169689Skan2000-07-20  Jim Wilson  <wilson@cygnus.com>
13676169689Skan
13677169689Skan	* config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values
13678169689Skan	larger than 14 bits.
13679169689Skan
13680169689Skan2000-07-20  Zack Weinberg  <zack@wolery.cumb.org>
13681169689Skan
13682169689Skan	* cppmacro.c (CAN_PASTE_AFTER): New macro.
13683169689Skan	(count_params): Don't set GNU_REST_ARGS on anything.
13684169689Skan	(save_expansion): Set PASTE_LEFT only on tokens for which
13685169689Skan	CAN_PASTE_AFTER is true, or which are named operators.
13686169689Skan
13687169689Skan	* cpplex.c (parse_args): Distinguish between a rest argument
13688169689Skan	given one empty argument, and a rest argument given zero arguments.
13689169689Skan	(maybe_paste_with_next): Look for VOID_REST tag, and trigger
13690169689Skan	deletion of previous token based on that.
13691169689Skan	(get_raw_token): Flatten some control structure.
13692169689Skan
13693169689Skan	* cpplib.h (CPP_LAST_EQ): Correct.
13694169689Skan	(VOID_REST): New token flag.
13695169689Skan	(GNU_REST_ARGS): Delete.
13696169689Skan
13697169689Skan	* tradcpp.c (main): Don't munge -D options.
13698169689Skan	(make_definition): Bring -D handling in line with cpplib.
13699169689Skan	(do_define): Strip all leading whitespace from macro definitions.
13700169689Skan
13701169689Skan2000-07-20  David Billinghurst <David.Billinghurst@riotinto.com.au>
13702169689Skan
13703169689Skan	* Makefile.in (tradcpp): Depend on intl.o and version.o.
13704169689Skan
13705169689Skan2000-07-20  Bruce Korb  <bkorb@gnu.org>
13706169689Skan
13707169689Skan	* fixincl/check.tpl: strip the platform specific types before testing
13708169689Skan	* fixincl/fixfixes.c(gnu_type_fix): use platform specific types
13709169689Skan	* fixincl/fixincl.tpl: use platform specific types
13710169689Skan	* fixincl/fixlib.h: include the platform specific types
13711169689Skan	* fixincl/inclhack.def(gnu_types): don't supply the types
13712169689Skan	* fixincl/fixincl.x: regen
13713169689Skan
13714169689Skan2000-07-19  Jim Wilson  <wilson@cygnus.com>
13715169689Skan
13716169689Skan	* config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
13717169689Skan	GR_REGS.
13718169689Skan
13719169689Skan2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
13720169689Skan
13721169689Skan	* tradcpp.c (rescan): Do not recognize directives when the #
13722169689Skan	is indented.
13723169689Skan
13724169689Skan2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
13725169689Skan
13726169689Skan	Implement C++ named operators.
13727169689Skan
13728169689Skan	* cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block
13729169689Skan	of operators allowed in #if and having an _EQ variant.  Add
13730169689Skan	CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED.
13731169689Skan	(cpp_token flags): Add NAMED_OP.
13732169689Skan	(enum node_type): Add T_OPERATOR.
13733169689Skan	(struct cpp_hashnode): Add code slot to value union.
13734169689Skan	* cpphash.h (spec_nodes): Remove n_defined.
13735169689Skan
13736169689Skan	* cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types.
13737169689Skan	(spell_token, can_paste, maybe_paste_with_next): Handle named operators.
13738169689Skan	(is_macro_disabled): Tweak error messages.
13739169689Skan
13740169689Skan	* cpplib.c (get_define_node): Disallow all named operators as
13741169689Skan	macro names.  Tweak error messages.
13742169689Skan	(_cpp_init_stacks): Don't set up spec_nodes->n_defined.
13743169689Skan
13744169689Skan	* cppinit.c (builtin_array): Add entries for the named operators.
13745169689Skan	* cppexp.c (lex): Check for CPP_DEFINED token.
13746169689Skan	(priority table): Add entries for CPP_MIN and CPP_MAX.
13747169689Skan	(_cpp_parse_expr): Handle CPP_MIN and CPP_MAX.
13748169689Skan
13749169689Skan2000-07-19  Bernd Schmidt  <bernds@cygnus.co.uk>
13750169689Skan
13751169689Skan	* gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is
13752169689Skan	larger than the array of cuids.
13753169689Skan	(alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing
13754169689Skan	cuids.
13755169689Skan
13756169689Skan2000-07-19  Bruce Korb  <bkorb@gnu.org>
13757169689Skan
13758169689Skan	* fixinc/fixincl.c:  Convert to using a table of environment variables
13759169689Skan	and activate the auto-edit marker on the fixed output files.
13760169689Skan	* fixinc/fixlib.h:  Define the environment table
13761169689Skan	* fixinc/fixincl.sh: export the ${INPUT} dir
13762169689Skan	* fixinc/check.tpl: likewise
13763169689Skan
13764169689Skan2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
13765169689Skan
13766169689Skan	* gcc.c (.h spec): Fix typo.
13767169689Skan
13768169689SkanWed Jul 19 01:22:15 CEST 2000  Marc Espie  <espie@cvs.openbsd.org>
13769169689Skan
13770169689Skan	* Makefile.in: Fix tradcif.c path.
13771169689Skan
13772169689Skan2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
13773169689Skan
13774169689Skan	* cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry
13775169689Skan	  macros, not five.
13776169689Skan
13777169689Skan	* cpphash.h (TOKEN_NAME): New macro.
13778169689Skan	(_cpp_spell_operator): Deleted.
13779169689Skan	(token_spellings): Now _cpp_token_spellings.
13780169689Skan
13781169689Skan	* cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator.
13782169689Skan	* cpplex.c: Use OP and TK macros when expanding the
13783169689Skan	TTYPE_TABLE.  Eliminate token_names.  For non-OPERATOR tokens,
13784169689Skan	store the stringification of the enumeration name (CPP_CHAR,
13785169689Skan	etc.) in the name slot of token_spellings.
13786169689Skan	Use TOKEN_NAME and/or TOKEN_SPELL, do not reference
13787169689Skan	token_spellings directly.
13788169689Skan	* cpplib.c: Use TOKEN_SPELL.
13789169689Skan
13790169689Skan	* cpplex.c (_cpp_push_token): If the token being pushed back
13791169689Skan	is the previous token in this context, just subtract one from
13792169689Skan	context->posn.
13793169689Skan	* cppmacro.c (save_expansion): Clear aux field when storing a
13794169689Skan	placemarker.
13795169689Skan
13796169689Skan2000-07-18  Jakub Jelinek  <jakub@redhat.com>
13797169689Skan
13798169689Skan	* cpplex.c (cpp_scan_buffer): Output line command even at the stop
13799169689Skan	buffer, provided it is not NULL.
13800169689Skan
13801169689Skan2000-07-18  Alexandre Oliva  <aoliva@redhat.com>
13802169689Skan
13803169689Skan	* c-decl.c (duplicate_decls): Do not call make_var_volatile() in
13804169689Skan	case of invalid volatile re-declaration.
13805169689Skan
13806169689Skan2000-07-18  Jakub Jelinek  <jakub@redhat.com>
13807169689Skan
13808169689Skan	* calls.c (store_arg): Return nonzero if sibcall_failure is desired.
13809169689Skan	(expand_call): Adjust caller.
13810169689Skan
13811169689Skan2000-07-17  Gabriel Dos Reis  <gdr@codesourcery.com>
13812169689Skan
13813169689Skan	* diagnostic.h (report_diagnostic): Change prototype.
13814169689Skan
13815169689Skan	* diagnostic.c (output_do_verbatim, diagnostic_for_asm,
13816169689Skan	diagnostic_for_decl):  Change prototype.
13817169689Skan	(error_with_decl, warning_with_decl, pedwarn_with_decl, warning,
13818169689Skan	error, warning, error_with_file_and_line,
13819169689Skan	warning_with_file_and_line, pedwarn_with_file_and_line, fatal):
13820169689Skan	Adjust call to report_diagnostic, diagnostic_for_decl.
13821169689Skan	(error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm.
13822169689Skan	(output_verbatim, verbatim): Adjust call to output_do_verbatim.
13823169689Skan
13824169689Skan	* c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End
13825169689Skan	varaible argument list.
13826169689Skan
13827169689Skan2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
13828169689Skan
13829169689Skan	* cpphash.c: Don't include hashtab.h.  Most macro-handling code
13830169689Skan	moved to cppmacro.c.
13831169689Skan	(hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash,
13832169689Skan	dump_hash_helper): Delete.
13833169689Skan	(expand_hash, higher_prime_number, _cpp_lookup_with_hash,
13834169689Skan	cpp_forall_identifiers): New. Implement specialized version of
13835169689Skan	Vlad's expandable hash table.
13836169689Skan	(cpp_lookup): Use new functions.
13837169689Skan	(_cpp_init_macros, _cpp_cleanup_macros): Adjust for new
13838169689Skan	implementation.
13839169689Skan	* cppmacro.c: New file.
13840169689Skan	* cppinit.c (dump_macros_helper): New.
13841169689Skan	(cpp_finish): Iterate over the identifier table directly.
13842169689Skan	* cpplex.c (parse_name): Calculate the hash of the identifier
13843169689Skan	while we scan it.  Use _cpp_lookup_with_hash when we can.
13844169689Skan
13845169689Skan	* cpphash.h: Update prototypes.
13846169689Skan	(xcnewvec, HASHSTEP): New helper macros.
13847169689Skan	* cpplib.h: Update prototypes.
13848169689Skan	* Makefile.in (LIBCPP_OBJS): Add cppmacro.o.
13849169689Skan	(cppmacro.o): New rule.
13850169689Skan	(cpphash.o): Update deps.
13851169689Skan
13852169689Skan	* cppmain.c: Do not set pfile->printer if no_output is on.
13853169689Skan
13854169689Skan2000-07-15  Neil Booth  <neilb@earthling.net>
13855169689Skan
13856169689Skan	* cpplib.c: Change all directive-handler functions to return
13857169689Skan	void, not int.
13858169689Skan	* cpphash.h: Update typedefs.
13859169689Skan
13860169689Skan2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
13861169689Skan
13862169689Skan	* configure: Regenerate.
13863169689Skan
13864169689Skan	* extend.texi (Extended Asm): Mention that a memory clobber
13865169689Skan	does not count as a side-effect.
13866169689Skan
13867169689Skan	* unroll.c (copy_loop_body): Fix one instance of using host
13868169689Skan	arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
13869169689Skan	cross-compile.
13870169689Skan
13871169689Skan	* tlink.c (scan_linker_output): Tweak for output of AIX ld.
13872169689Skan
13873169689Skan2000-07-17  Richard Henderson  <rth@cygnus.com>
13874169689Skan
13875169689Skan	* config/ia64/ia64.md (movdi): Split out load address code.
13876169689Skan	New post-reload splitter for symbolic operands.
13877169689Skan	(movdi_internal): Abort if we didn't split symbolic operands
13878169689Skan	when we should have.
13879169689Skan	* config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits.
13880169689Skan	(ia64_reorg): Split insns when not optimizing.
13881169689Skan	* config/ia64/ia64-protos.h (ia64_expand_load_address): Declare.
13882169689Skan
13883169689SkanMon Jul 17 23:43:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
13884169689Skan
13885169689Skan	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE
13886169689Skan	instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format.
13887169689Skan
13888169689Skan2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
13889169689Skan
13890169689Skan	* loop.c (check_dbra_loop) : Changed loop_continue to loop->cont.
13891169689Skan
13892169689Skan2000-07-17  Jason Merrill  <jason@redhat.com>
13893169689Skan
13894169689Skan	* Makefile.in (clean): Remove libgcc directory.
13895169689Skan
13896169689Skan	* configure.in (-Wno-long-long check): Use higher-level macros.
13897169689Skan
13898169689Skan2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
13899169689Skan
13900169689Skan	* simplify-rtx.c (simplify_binary_operation): Recognize
13901169689Skan	   (compare (gt[u] (cc) 0) (lt[u] (cc) 0)).
13902169689Skan	(simplify_ternary_operation):  Do not examine MODE_BITSIZE of
13903169689Skan	   a CONST_INT, it will always be zero.
13904169689Skan
13905169689Skan2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
13906169689Skan
13907169689Skan	* loop.c (check_dbra_loop) : Return if more than one condition is
13908169689Skan	present to control the loop.
13909169689Skan
13910169689SkanMon Jul 17 08:26:35 2000  Clinton Popetz  <cpopetz@cygnus.com>
13911169689Skan
13912169689Skan	* mips.c (mips_expand_prologue): Don't calculate the last argument
13913169689Skan	register unless we need it.  When we are calculating this, make
13914169689Skan	sure FUNCTION_ARG is giving us a REG.
13915169689Skan
13916169689Skan2000-07-17  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13917169689Skan
13918169689Skan	* flow.c (libcall_dead_p): Use single_set to verify the insn
13919169689Skan	has only one set and get for analysis.
13920169689Skan	(propagate_one_insn): Don't pass the PATTERN of the insn.
13921169689Skan
13922169689Skan2000-07-17  Mark Klein <mklein@dis.com>
13923169689Skan
13924169689Skan	 * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3.
13925169689Skan
13926169689Skan2000-07-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
13927169689Skan
13928169689Skan	* Makefile.in (TARGET_GETGROUPS_T): New configuration variable.
13929169689Skan	* configure.in (TARGET_GETGROUPS_T): Evaluate.
13930169689Skan	* sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type
13931169689Skan	of second argument of getgroups.
13932169689Skan	* configure, config.in: Rebuilt.
13933169689Skan
13934169689Skan2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
13935169689Skan
13936169689Skan	* simplify-rtx.c (simplify_relational_operation): Two signed
13937169689Skan	values with equal high words are less/greater than each other if
13938169689Skan	their low words are less/greater when considered as unsigned.
13939169689Skan
13940169689SkanMon Jul 17 02:37:06 2000  Marc Espie <espie@openbsd.org>
13941169689Skan
13942169689Skan	* configure.in (vax-*-openbsd):  Change to new style configuration,
13943169689Skan	add collect2/float_format information.
13944169689Skan	* configure:  Rebuilt.
13945169689Skan	* config/vax/openbsd1.h:  New.
13946169689Skan	* config/vax/openbsd.h:  New.
13947169689Skan	* config/vax/t-openbsd:  New.
13948169689Skan
13949169689Skan2000-07-17  Chip Salzenberg  <chip@valinux.com>
13950169689Skan
13951169689Skan	* c-common.c (shorten_compare): Quiet warnings about unsigned
13952169689Skan	comparisons with zero when they occur in a system header.
13953169689Skan
13954169689Skan2000-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
13955169689Skan
13956169689Skan	* invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and
13957169689Skan	update to describe current practice.
13958169689Skan
13959169689Skan	* glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99.
13960169689Skan
13961169689Skan	* contrib.texi, cpp.texi, extend.texi, invoke.texi: Update
13962169689Skan	references to C9X.  Change references to -fstd and -flang-isoc9x
13963169689Skan	to refer to -std.
13964169689Skan
13965169689Skan	* c-common.c (scan_char_table): Allow "z" length modifiers on
13966169689Skan	diouxXn formats.
13967169689Skan	(check_format_info): Use TYPE_DOMAIN on the type matched against
13968169689Skan	for "z" formats, to retrieve the language size_t rather than the
13969169689Skan	internal one.
13970169689Skan
13971169689Skan	* c-common.c (check_format_info): Do not make a pedantic objection
13972169689Skan	to the 'L' length modifier if used with a floating point type
13973169689Skan	character.
13974169689Skan
13975169689Skan	* c-lex.c (yylex): Don't pedwarn for hexadecimal floating point
13976169689Skan	constants in C99 mode.
13977169689Skan
13978169689Skan2000-07-17  Kazu Hirata  <kazu@hxi.com>
13979169689Skan
13980169689Skan	* h8300.md: Fix the format of mac.
13981169689Skan	(movsi_h8300hs): Output a tab after stmac instead of a space.
13982169689Skan
13983169689Skan	* h8300.c (two_insn_adds_subs_operand): Improve code for detecting
13984169689Skan	profitable adds/subs sequences.
13985169689Skan
13986169689Skan	* fold-const.c: Fix comment typos.
13987169689Skan
13988169689Skan2000-07-16  Laurynas Biveinis  <lauras@softhome.net>
13989169689Skan
13990169689Skan	* cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
13991169689Skan
13992169689Skan2000-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13993169689Skan
13994169689Skan	* fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation.
13995169689Skan
13996169689Skan2000-07-16  Neil Booth  <NeilB@earthling.net>
13997169689Skan
13998169689Skan	* cpplex.c: Update comments.
13999169689Skan	* README.Portability: Small update.
14000169689Skan
14001169689Skan2000-07-16  Neil Booth  <NeilB@earthling.net>
14002169689Skan
14003169689Skan	* README.Portability:  Small update.
14004169689Skan
14005169689Skan2000-07-15  Richard Henderson  <rth@cygnus.com>
14006169689Skan
14007169689Skan	* config/ia64/ia64-protos.h (ia64_move_ok): Prototype.
14008169689Skan	* config/ia64/ia64.c (ia64_move_ok): New function.
14009169689Skan	* config/ia64/ia64.md (movqi, movqi_internal): Use it.
14010169689Skan	(movhi, movsi, movdi, movsf, movdf, movxf): Likewise.
14011169689Skan
14012169689Skan2000-07-15  Zack Weinberg  <zack@wolery.cumb.org>
14013169689Skan
14014169689Skan	* cpphash.c (save_expansion): Clear PREV_WHITE on tokens
14015169689Skan	immediately following a paste operator.
14016169689Skan	* cppinit.c (sort_options): New function (only for HOST_EBCDIC).
14017169689Skan	(cpp_reader_init): Call it, if HOST_EBCDIC.
14018169689Skan	(cpp_handle_options): Do not sort option list here.
14019169689Skan	(handle_option): Rename to cpp_handle_option and export.
14020169689Skan	* cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use
14021169689Skan	_cpp_get_token directly.
14022169689Skan	(cpp_scan_line): Return 0 at EOF, 1 otherwise.
14023169689Skan	* cpplib.c (cpp_push_buffer): Don't set new->lineno to 1.
14024169689Skan	* cpplib.h: Prototype cpp_handle_option.  Update prototype of
14025169689Skan	cpp_scan_line.
14026169689Skan
14027169689Skan2000-07-15  Richard Henderson  <rth@cygnus.com>
14028169689Skan
14029169689Skan	* fold-const.c (extract_muldiv): Don't optimize past an unsigned
14030169689Skan	cast around an expression.  Tidy other unsigned tests.
14031169689Skan
14032169689Skan2000-07-15  Gabriel Dos Reis  <gdr@codesourcery.com>
14033169689Skan
14034169689Skan	* diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
14035169689Skan	v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove.
14036169689Skan	(v_message_with_decl): Rename to ...
14037169689Skan	(format_with_decl): ... this. Tweak
14038169689Skan	(diagnostic_for_decl): New function.
14039169689Skan	(fatal_io_error): Use verbatim in lieu of notice.
14040169689Skan	(announce_function): Use verbatim.
14041169689Skan	(default_print_error_function): Likewise.
14042169689Skan	(error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
14043169689Skan	infratructure.
14044169689Skan
14045169689Skan2000-07-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14046169689Skan
14047169689Skan	* mips.c (function_arg_pass_by_reference): Don't do automatic
14048169689Skan	aggregate initialization.
14049169689Skan	(machine_dependent_reorg): Initialize variable `mode'.
14050169689Skan
14051169689Skan	* mips.md (absdi2): Change variable `regno1' to unsigned int.
14052169689Skan	(reload_indi): Rename loword/hiword to lo_word/hi_word to avoid
14053169689Skan	conflicts with sys/param.h macro of the same name.
14054169689Skan	(reload_outdi): Likewise.
14055169689Skan
14056169689Skan2000-07-15  Michael Meissner  <meissner@redhat.com>
14057169689Skan
14058169689Skan	* fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
14059169689Skan	== CONST + INCREMENT, don't overwrite the tree node for FOO++,
14060169689Skan	create a new node instead.
14061169689Skan
14062169689Skan2000-07-15  Neil Booth  <NeilB@earthling.net>
14063169689Skan
14064169689Skan	* README.Portability: Correct example about calling a function
14065169689Skan	through a pointer to function.  Format wide paragraphs.
14066169689Skan
14067169689Skan2000-07-15  Michael Meissner  <meissner@redhat.com>
14068169689Skan
14069169689Skan	* README.Portability: Update integer suffixes and function
14070169689Skan	prototype sections.
14071169689Skan
14072169689Skan2000-07-15  Neil Booth  <NeilB@earthling.net>
14073169689Skan
14074169689Skan	* README.Portability: Small update.
14075169689Skan
14076169689Skan2000-07-15  Neil Booth  <NeilB@earthling.net>
14077169689Skan
14078169689Skan	* README.Portability: New file.
14079169689Skan
14080169689SkanFri Jul 14 18:13:53 2000  Mark P Mitchell  <mark@codesourcery.com>
14081169689Skan
14082169689Skan	* INSTALL: Give special instructions for building GCC on Irix 6.
14083169689Skan	* config/mips/x-iris6 (CC): Don't set it.
14084169689Skan	(OLDCC): Likewise.
14085169689Skan
14086169689Skan2000-07-14  Jason Merrill  <jason@redhat.com>
14087169689Skan
14088169689Skan	* dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
14089169689Skan	register in the stack and later in another register, use the new
14090169689Skan	register.
14091169689Skan
14092169689SkanFri Jul 14 10:25:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
14093169689Skan
14094169689Skan	* config/mips/mips.md: (absdi2): Handle sign_extend for
14095169689Skan	second operand.
14096169689Skan
14097169689Skan2000-07-14  Nathan Sidwell  <nathan@codesourcery.com>
14098169689Skan
14099169689Skan	* cpplib.c (do_pragma_dependency): Tidy warning messages.
14100169689Skan
14101169689Skan2000-07-14  Zack Weinberg  <zack@wolery.cumb.org>
14102169689Skan
14103169689Skan	* .cvsignore: Correct typo.
14104169689Skan
14105169689Skan2000-07-13  Mark Mitchell  <mark@codesourcery.com>
14106169689Skan
14107169689Skan	* .cvsignore: Add generated YACC files.
14108169689Skan	* objc/.cvsignore: New file.
14109169689Skan
14110169689Skan2000-07-14  Neil Booth  <NeilB@earthling.net>
14111169689Skan
14112169689Skan	* cpplex.c (adjust_column): New function.
14113169689Skan	(skip_whitespace): Use it.
14114169689Skan	(skip_block_comment): Use it, and warn about /*/* with
14115169689Skan	-Wcomments.
14116169689Skan
14117169689Skan2000-07-14  Neil Booth  <NeilB@earthling.net>
14118169689Skan
14119169689Skan	* cpphash.c (struct macro_info): Add new members.
14120169689Skan	(_cpp_free_definition): Delete the macro directly.
14121169689Skan	(count_params): Return void, with first token of
14122169689Skan	expansion in struct macro_info on success.
14123169689Skan	(parse_define): Return int.  Hoist syntax checking from
14124169689Skan	save_macro_expansion.  Leave call to save_expansion to
14125169689Skan	_cpp_create_definition.
14126169689Skan	(alloc_macro): Needs just 2 arguments.
14127169689Skan	(free_macro): Delete.
14128169689Skan	(save_expansion): Don't perform syntax check.
14129169689Skan	(_cpp_create_definition): Call save_expansion.
14130169689Skan
14131169689Skan2000-07-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14132169689Skan
14133169689Skan	* genrecog.c (write_header): Split long string.
14134169689Skan
14135169689Skan	* cpphash.c (macro_info): Don't use the `signed' keyword.
14136169689Skan
14137169689Skan	* system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__.
14138169689Skan
14139169689Skan2000-07-13  Jakub Jelinek  <jakub@redhat.com>
14140169689Skan
14141169689Skan	* calls.c (stored_args_map): New variable.
14142169689Skan	(check_sibcall_argument_overlap_1): New.
14143169689Skan	(check_sibcall_argument_overlap): New.
14144169689Skan	(expand_call): Initialize stored_args_map.
14145169689Skan	Call check_sibcall_argument_overlap.
14146169689Skan
14147169689Skan2000-07-13  Bruce Korb  <bkorb@gnu.org>
14148169689Skan
14149169689Skan	* fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count
14150169689Skan	(emit_gnu_type): utility procedure for gnu_type_fix
14151169689Skan	(gnu_type_fix): implement various pre-processor guards around
14152169689Skan	standard types so these types can be defined over and over
14153169689Skan	* fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard
14154169689Skan	types alluded to above will have GNU-compliant base types
14155169689Skan	* fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct
14156169689Skan	* fixinc/inclhack.def: add test_text entries and utilize the new
14157169689Skan	"gnu_types" fix for the ptrdiff_t, size_t and wchar_t types.
14158169689Skan	* fixinc/fixincl.x: regenerate
14159169689Skan
14160169689Skan2000-07-12  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
14161169689Skan
14162169689Skan	* diagnostic.c (vline_wrapper_message_with_location,
14163169689Skan	v_message_with_file_and_line, v_error_with_file_and_file,
14164169689Skan	v_error_for_asm, v_warning_for_asm, vfatal,
14165169689Skan	v_warning_with_file_and_line, v_pedwarn_with_file_and_line,
14166169689Skan	vsorry, verror, vwarning, vpedwarn): Remove.
14167169689Skan	(diagnostic_for_asm): New function.
14168169689Skan	(pedwarn, error, warning, pedwarn_with_file_and_line,
14169169689Skan	error_with_file_and_line, warning_with_file_and_line, sorry,
14170169689Skan	error_for_asm, warning_for_asm, fatal): Reimplement.
14171169689Skan	(finish_diagnostic): Clear diagnostic info as well.
14172169689Skan
14173169689Skan2000-07-13  Neil Booth  <NeilB@earthling.net>
14174169689Skan
14175169689Skan	* c-common.h (flag_digraphs): New.
14176169689Skan	* c-decl.c (c_decode_option): Set flag_digraphs as appropriate.
14177169689Skan	* c-lex.c (yylex): Use flag_digraphs to decide whether to
14178169689Skan	honor digraphs.
14179169689Skan
14180169689Skan2000-07-13  Zack Weinberg  <zack@wolery.cumb.org>
14181169689Skan
14182169689Skan	* gcc.c (do_spec_1): Add new %B operator.
14183169689Skan	(set_input): Prepare for %B.
14184169689Skan
14185169689Skan	(link_command_spec): Move up with the other tm.h-
14186169689Skan	overrideable specs.  Factor out the portion conditional on
14187169689Skan	LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
14188169689Skan	(struct compiler): Just have a single spec string.  All users
14189169689Skan	updated.
14190169689Skan	(default_compilers): Remove unnecessary braces.
14191169689Skan	(static_specs): Update.
14192169689Skan
14193169689Skan	(trad_capable_cpp, cpp_options, cc1_options, asm_options): New
14194169689Skan	named specs.
14195169689Skan	(C and assembly specs): Use the new named specs, as appropriate.
14196169689Skan
14197169689Skan	* objc/lang-specs.h: Use the new named specs.
14198169689Skan	Remove unnecessary braces.
14199169689Skan
14200169689Skan2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
14201169689Skan
14202169689Skan	* gcc.c (execute): If a subprocess gets a fatal signal, report
14203169689Skan	strsignal() of the signal number, and ask for a bug report.
14204169689Skan	Do not do this for SIGPIPE if there's already been an error.
14205169689Skan
14206169689Skan	* tradcpp.c: Don't include signal.h.  Don't catch SIGPIPE.
14207169689Skan	Delete pipe_closed.
14208169689Skan
14209169689Skan	* tradcif.c: Remove.
14210169689Skan
14211169689Skan2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
14212169689Skan
14213169689Skan	* final.c (profile_function): Do not emit profile counters in
14214169689Skan	the data section, if NO_PROFILE_COUNTERS is defined.
14215169689Skan	* tm.texi: Document NO_PROFILE_COUNTERS.  Update doc for
14216169689Skan	FUNCTION_PROFILER.
14217169689Skan
14218169689Skan	* config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
14219169689Skan	(FUNCTION_PROFILER): Just emit a call to mcount.
14220169689Skan
14221169689Skan2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
14222169689Skan
14223169689Skan	* tradcpp.c (main): Rename 'perror' label to 'sys_error'.
14224169689Skan
14225169689Skan	* cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c,
14226169689Skan	cpplib.c, cpplib.h: Eradicate all traces of code dependent on
14227169689Skan	traditional, lang_chill, or lang_fortran.
14228169689Skan
14229169689Skan	* cppfiles.c: #undef strcmp to suppress warning about macros
14230169689Skan	used without arguments.
14231169689Skan	(_cpp_execute_include): Use f, not fname, in "No include path"
14232169689Skan	error.
14233169689Skan	(_cpp_pop_file_buffer): New function.
14234169689Skan	* cpplib.c: Don't include <sys/mman.h>.
14235169689Skan	(cpp_push_buffer): Set line_base and lineno in new buffer.
14236169689Skan	(cpp_pop_buffer): Use _cpp_pop_file_buffer.
14237169689Skan
14238169689Skan	* cpplex.c: Move all prototypes and structure declarations to the
14239169689Skan	top of the file.  Properly parenthesize some macro arguments.
14240169689Skan	(cpp_scan_line): New function.
14241169689Skan	(special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth,
14242169689Skan	don't need to walk up the stack counting.
14243169689Skan
14244169689Skan2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14245169689Skan
14246169689Skan	* c-common.c (combine_strings): Emit a pedantic warning when a
14247169689Skan	string length is greater than the minimum ANSI C is required
14248169689Skan	to support.
14249169689Skan
14250169689SkanWed Jul 12 13:24:30 2000  Jeffrey A Law  (law@cygnus.com)
14251169689Skan
14252169689Skan	* pa/xm-pa64.h (NO_SYS_SIGLIST): Kill.
14253169689Skan	* d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill.
14254169689Skan
14255169689Skan2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14256169689Skan
14257169689Skan	* c-decl.c (define_label): Warn about identifier conflicts with
14258169689Skan	labels in traditional C.
14259169689Skan
14260169689Skan	* c-parse.in (unop +): Warn about the unary plus operator for
14261169689Skan	traditional C.
14262169689Skan
14263169689Skan	* c-typeck.c (store_init_value): Warn about automatic aggregate
14264169689Skan	initialization for traditional C.
14265169689Skan
14266169689Skan	* invoke.texi (-Wtraditional): Document new warnings.
14267169689Skan
14268169689Skan2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
14269169689Skan
14270169689Skan	* Makefile.in (c-errors.o): Fix thinko in dependency.
14271169689Skan
14272169689Skan2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
14273169689Skan
14274169689Skan	* gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
14275169689Skan	-traditional, -ftraditional, or -traditional-cpp was given.
14276169689Skan	Do not pass -traditional to the preprocessor.
14277169689Skan	(.S spec): Likewise.  Don't bother defining __ASSEMBLER__, the
14278169689Skan	preprocessor does it automatically.
14279169689Skan	* objc/lang-specs.h: Likewise.  Don't bother defining __OBJC__.
14280169689Skan
14281169689Skan	* ch/lang-specs.h: Always use tradcpp.  Do not pass
14282169689Skan	-traditional, -trigraphs, or -pedantic to the preprocessor.
14283169689Skan	* f/lang-specs.h (.F spec): Likewise.  Don't bother defining
14284169689Skan	_LANGUAGE_FORTRAN.
14285169689Skan
14286169689Skan2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
14287169689Skan
14288169689Skan	* cppexp.c (LOGICAL): Delete macro.
14289169689Skan	(_cpp_parse_expr): Do not use UNARY for unary +.  Implement ||
14290169689Skan	and && directly.
14291169689Skan
14292169689Skan	* cpphash.c (HASHSIZE): Increase to 4096.
14293169689Skan	(struct hashdummy): Add hash field.
14294169689Skan	(eq_HASHNODE): Compare unreduced hashes, then lengths, then
14295169689Skan	the string values using memcmp.
14296169689Skan	(cpp_lookup): Set dummy.hash.
14297169689Skan
14298169689SkanWed Jul 12 13:15:16 2000  Marc Espie <espie@openbsd.org>
14299169689Skan
14300169689Skan	* configure.in (m88k-openbsd): Express configuration using new fragment
14301169689Skan	style.
14302169689Skan	* configure: Rebuilt.
14303169689Skan	* m88k/aout-dbx.h: New.
14304169689Skan	* m88k/openbsd.h: New.
14305169689Skan	* m88k/xm-openbsd.h: New.
14306169689Skan
14307169689Skan2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14308169689Skan
14309169689Skan	* expr.c (expand_expr): Return const0_rtx, not error_mark_node.
14310169689Skan
14311169689Skan2000-07-12  Richard Henderson  <rth@cygnus.com>
14312169689Skan
14313169689Skan	* reload.c (push_secondary_reload): Make sure to add the new
14314169689Skan	reload at the end, after acquiring secondary memory.
14315169689Skan
14316169689Skan2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14317169689Skan
14318169689Skan	* cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL.
14319169689Skan
14320169689Skan	* c-decl.c (set_current_function_name_declared, anon_aggr_type_p,
14321169689Skan	lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED.
14322169689Skan
14323169689Skan	* c-parse.in (stmt): Delete unused variables.
14324169689Skan
14325169689Skan	* convert.c (convert_to_vector): Likewise.
14326169689Skan
14327169689Skan	* gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'.
14328169689Skan
14329169689Skan	* tree.c (finish_vector_type): Prototype.
14330169689Skan
14331169689Skan2000-07-12  Bruce Korb  <bkorb@gnu.org>
14332169689Skan
14333169689Skan	* fixinc/fixfixes.c: use xmalloc
14334169689Skan	* fixinc/fixincl.c(initialize): set program name for xmalloc
14335169689Skan	* fixinc/fixlib.c(must_malloc): obsolete
14336169689Skan	(is_cxx_header): no longer used - disabled
14337169689Skan	(skip_quote): inserted and disabled for future use
14338169689Skan	* fixinc/fixlib.h: reflects above
14339169689Skan	* fixinc/fixtests.c: removed dinkleberries
14340169689Skan
14341169689Skan2000-07-12  Neil Booth  <NeilB@earthling.net>
14342169689Skan
14343169689Skan	* cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c.
14344169689Skan	* cpplex.c (TOKEN_SPELL) Move to cpphash.h.
14345169689Skan
14346169689Skan	* cpphash.c: (struct macro_info, alloc_macro, free_macro,
14347169689Skan	struct toklist_dummy): New.
14348169689Skan	(cpp_free_definition): Free macros with free_macro.
14349169689Skan	(count_params): Don't save parameter spellings.  Save macro
14350169689Skan	information in a struct macro_info.
14351169689Skan	(parse_define): Don't allocate a token list.
14352169689Skan	(save_expansion): Allocate the macro's token list, and
14353169689Skan	save parameter spellings if necessary.  Use TOKEN_SPELL.
14354169689Skan	(cpp_create_definition): Make list const.
14355169689Skan
14356169689Skan2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
14357169689Skan
14358169689Skan	* c-typeck.c (pedwarn_c99): Move to
14359169689Skan	* c-errors.c: ... Here.
14360169689Skan	* toplev.h (verror, vwarning, vpedwarn): Remove prototypes.
14361169689Skan	* diagnostic.c (verror, vwarning, vpedwarn): Make static.
14362169689Skan	* Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o
14363169689Skan	(c-errors.o): List dependency.
14364169689Skan
14365169689Skan2000-07-12  Mark Mitchell  <mark@codesourcery.com>
14366169689Skan
14367169689Skan	* c-parse.c: Remove.
14368169689Skan	* c-parse.h: Likewise.
14369169689Skan	* c-parse.y: Likewise.
14370169689Skan	* objc/objc-parse.c: Likewise.
14371169689Skan	* objc/objc-pasre.y: Likewise.
14372169689Skan
14373169689Skan2000-07-11  Rodney Brown  <RodneyBrown@pmsc.com>
14374169689Skan
14375169689Skan	* gcc.texi: Fix minor typos
14376169689Skan	* extend.texi: Fix minor typos
14377169689Skan
14378169689Skan2000-07-11  Marc Espie <espie@openbsd.org>
14379169689Skan
14380169689Skan	* collect2.c (main): Recognize .lo as object files.
14381169689Skan
14382169689Skan2000-07-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
14383169689Skan
14384169689Skan	* pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is
14385169689Skan	true.
14386169689Skan
14387169689Skan	* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems
14388169689Skan	with MAP_ANONYMOUS and MAP_ANON.
14389169689Skan	* configure, config.in: Rebuilt.
14390169689Skan
14391169689Skan2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
14392169689Skan
14393169689Skan	* diagnostic.c (save_output_state): Remove.
14394169689Skan	(restore_output_state): Likewise.
14395169689Skan	(clear_text_info): New function.
14396169689Skan	(clear_diagnostic_info): Likewise.
14397169689Skan	(output_text_length, is_starting_newline, output_prefix,
14398169689Skan	line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for,
14399169689Skan	prefixing_policy, output_buffer_ptr_to_format_args): New macros
14400169689Skan	(set_real_maximum_length, output_set_maximum_length,
14401169689Skan	output_set_prefix, output_get_prefix, output_set_maximum_length,
14402169689Skan	output_destroy_prefix, init_output_buffer,
14403169689Skan	reshape_diagnostic_buffer, output_space_left, output_emit_prefix,
14404169689Skan	output_add_newline, output_add_character, output_add_space,
14405169689Skan	output_append_r, output_append, wrap_text, output_format,
14406169689Skan	output_do_printf, output_printf, output_do_verbatim,
14407169689Skan	output_verbatim, verbatim): Use them.
14408169689Skan	(output_clear): Split into cleat_text_info and
14409169689Skan	clear_diagnostic_info.
14410169689Skan	(struct output_state): Move to...
14411169689Skan
14412169689Skan	* diagnostic.h: ...Here
14413169689Skan	(struct output_buffer): Adjust.
14414169689Skan
14415169689Skan2000-07-11  Zack Weinberg  <zack@wolery.cumb.org>
14416169689Skan
14417169689Skan	* cpplex.c (parse_name): No longer inline (premature optimization).
14418169689Skan	(do_pop_context): Fold into pop_context.
14419169689Skan	(pop_context): Returns int.
14420169689Skan	(lex_next): Hoist test for end of directive into pop_context.
14421169689Skan	(push_macro_context): Returns int; takes just reader and token.
14422169689Skan	Hoist test for excessive nesting to caller.
14423169689Skan	(push_arg_context): Returns void; takes just reader and token.
14424169689Skan	Do not call stringify_arg or get_raw_token.
14425169689Skan	(get_raw_token): Convert tail recursion through	push_arg_context
14426169689Skan	to a loop at this level.  Call stringify_arg here if appropriate.
14427169689Skan	(maybe_paste_with_next): Convert tail recursion to a while loop.
14428169689Skan	Hoist test of paste_level to caller.
14429169689Skan
14430169689Skan	(stringify_arg): Push arg context at beginning.
14431169689Skan	(cpp_get_token): Split out core into _cpp_get_token.  Call
14432169689Skan	process_directive here.  Throw away CPP_PLACEMARKER tokens.
14433169689Skan	(_cpp_get_token): Convert tail recursion through
14434169689Skan	push_macro_context to a loop at this level.
14435169689Skan	(_cpp_glue_header_name, is_macro_disabled, stringify_arg,
14436169689Skan	_cpp_get_raw_token): Use _cpp_get_token.
14437169689Skan	(_cpp_skip_rest_of_line): Drop the context stack directly; do
14438169689Skan	not call pop_context.
14439169689Skan	(_cpp_run_directive): Call lex_next directly.
14440169689Skan
14441169689Skan	* cpphash.h: Prototype _cpp_get_token.
14442169689Skan	* cppexp.c (lex): Use it.
14443169689Skan	* cpphash.c (parse_define): Use it.
14444169689Skan	* cpplib.c (get_define_node, do_undef, parse_include,
14445169689Skan	read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc,
14446169689Skan	do_pragma_implementation, do_pragma_poison, do_pragma_dependency,
14447169689Skan	parse_ifdef, validate_else): Use it.
14448169689Skan	(cpp_push_buffer): Tweak error message; abort if anyone tries
14449169689Skan	to push a buffer while macro expansions are stacked.
14450169689Skan
14451169689Skan2000-07-11  Donn Terry  <donnte@microsoft.com>
14452169689Skan
14453169689Skan	* cpplex.c (free_macro_args, save_token): Cast arg of free
14454169689Skan	and/or xrealloc to PTR.
14455169689Skan	(_cpp_init_input_buffer): Clear all fields of the base context.
14456169689Skan
14457169689SkanTue Jul 11 15:28:21 CDT 2000  Clinton Popetz  <cpopetz@cygnus.com>
14458169689Skan
14459169689Skan	* gensupport.c (process_rtx): Make rtl checking stop
14460169689Skan	complaining about the define_insn while it is being
14461169689Skan	converted from a define_insn_and_split.
14462169689Skan
14463169689SkanTue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
14464169689Skan
14465169689Skan	* config/mips/mips.c (simple_memory_operand): Access the
14466169689Skan	INTVAL of the address, not it's containing MEM.
14467169689Skan
14468169689Skan2000-07-11  Bruce Korb  <bkorb@gnu.org>
14469169689Skan
14470169689Skan	* fixinc/fixtests.c(double_slash): obsolete
14471169689Skan	(else_endif_label): likewise
14472169689Skan	* fixinc/inclhack.def(irix_multiline_cmnt): obsolete
14473169689Skan	(libc1_ifdefd_memx): correct initial comment
14474169689Skan	and omit the #if/#endif pair from the memxxx declarations
14475169689Skan	* fixinc/fixincl.x: regen
14476169689Skan
14477169689Skan2000-07-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14478169689Skan
14479169689Skan	* cpplex.c (T, I, S, C, N): Avoid non-constant initializers.
14480169689Skan
14481169689Skan2000-07-11  Neil Booth  <NeilB@earthling.net>
14482169689Skan
14483169689Skan	* cpp.texi: Update.
14484169689Skan
14485169689Skan2000-07-11  Neil Booth  <NeilB@earthling.net>
14486169689Skan
14487169689Skan	* cppinit.c: (cpp_reader_init): Allow digraphs by default.
14488169689Skan	(handle_option): Set digraphs according to standard.
14489169689Skan	Merge OPT_lang_c89 handler with OPT_std_c89.
14490169689Skan
14491169689Skan	* cpplex.c: (lex_line, can_paste): Honor digraphs in
14492169689Skan	accordance with	the digraphs flag.
14493169689Skan
14494169689Skan	* cpplib.h: (struct cpp_options): New option digraphs.
14495169689Skan
14496169689Skan2000-07-10  Hans-Peter Nilsson  <hp@axis.com>
14497169689Skan	    Bruce Korb  <bkorb@gnu.org>
14498169689Skan
14499169689Skan	* fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
14500169689Skan	* fixinc/fixincl.x: Regenerate.
14501169689Skan	* fixinc/tests/base/testing.h: Add testcase.
14502169689Skan
14503169689Skan2000-07-10  Richard Henderson  <rth@cygnus.com>
14504169689Skan
14505169689Skan	* config/ia64/ia64.c (got_symbolic_operand): New.
14506169689Skan	(symbolic_operand, move_operand): Revert 0701 change.
14507169689Skan	* config/ia64/ia64.h (PREDICATE_CODES): Update.
14508169689Skan	* config/ia64/ia64-protos.h (got_symbolic_operand): Declare.
14509169689Skan	* config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand;
14510169689Skan	split the offset into a 14-bit low part instead of a 13-bit low part.
14511169689Skan	(load_fptr): Mark the mem as unchanging.
14512169689Skan	(load_symptr): Use got_symbolic_operand.
14513169689Skan
14514169689Skan2000-07-10  Nick Clifton  <nickc@cygnus.com>
14515169689Skan
14516169689Skan	* libgcc2.c (next_stack_level): Cast result of computation to
14517169689Skan	(void **) so that the assignment does not generate a warning.
14518169689Skan
14519169689Skan2000-07-10  Chandrakala Chavva  <cchavva@redhat.com>
14520169689Skan
14521169689Skan	* flags.h : Add new variable flag_single_precision_constant.
14522169689Skan	* toplev.c (display_help) : Add -fsingle-precision-constant option.
14523169689Skan	(flag_single_precision_constant): New.
14524169689Skan	* c-lex.c (yylex): Convert floating point constant to single
14525169689Skan	precision constant.
14526169689Skan	* invoke.texi : Add documentation for this new option.
14527169689Skan
14528169689Skan2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
14529169689Skan
14530169689Skan	* diagnostic.c (output_octal): Second parameter is unsigned.
14531169689Skan	(output_long_octal): Likewise.
14532169689Skan	(output_hexadecimal): Likewise.
14533169689Skan	(output_long_hexadecimal): Likewise.
14534169689Skan	(output_format): Adjust arguments extraction. Tweak.
14535169689Skan	(output_verbatim, verbatim): End variable argument list.
14536169689Skan	(report_diagnostic): Improve documentation.
14537169689Skan
14538169689Skan2000-07-10  Benjamin Chelf  <chelf@codesourcery.com>
14539169689Skan
14540169689Skan	* c-common.h (build_stmt): Declare.
14541169689Skan	(build_continue_stmt): Likewise.
14542169689Skan	(build_break_stmt): Likewise.
14543169689Skan	(build_return_stmt): Likewise.
14544169689Skan
14545169689Skan	* c-decl.c (do_case): Rewrite to do what previously done in
14546169689Skan	c-parse.in.
14547169689Skan
14548169689Skan	* c-semantics.c (build_stmt): Define.
14549169689Skan	(build_return_stmt): Likewise.
14550169689Skan	(build_break_stmt): Likewise.
14551169689Skan	(build_continue_stmt): Likewise.
14552169689Skan	(build_case_label): Likewise.
14553169689Skan
14554169689Skan	* c-parse.in (BREAK): Change to build tree, then generate RTL.
14555169689Skan	(CONTINUE): Likewise.
14556169689Skan	(RETURN): Likewise.
14557169689Skan	(CASE): Likewise.
14558169689Skan	(DEFAULT): Likewise.
14559169689Skan
14560169689Skan	* c-parse.y: Regenerate.
14561169689Skan	* c-pasre.c: Likewise.
14562169689Skan
14563169689Skan2000-07-09  Jason Merrill  <jason@redhat.com>
14564169689Skan
14565169689Skan	* expr.c (expand_expr): Bail earlier if we get an error_mark_node.
14566169689Skan
14567169689Skan	* tree.h (STRIP_NOPS): Check for error_mark_node.
14568169689Skan	(STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
14569169689Skan	(dwarf2out_*): Remove duplicate declarations.
14570169689Skan
14571169689Skan	* c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
14572169689Skan	DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
14573169689Skan
14574169689Skan2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
14575169689Skan
14576169689Skan	* diagnostic.c (wrap_text): New function.
14577169689Skan	(maybe_wrap_text): Likewise.
14578169689Skan	(output_add_string): Use it.
14579169689Skan	(output_format): Likewise.
14580169689Skan	(count_error): Use verbatim instead of notice.
14581169689Skan	(report_error_function): Likewise. Don't use plain fprintf.
14582169689Skan	(finish_diagnostic): New function.
14583169689Skan	(output_do_verbatim): Tweak.  Commonalize functionalities in
14584169689Skan	output_verbatim and verbatim.
14585169689Skan	(output_verbatim): Adjust.
14586169689Skan	(verbatim): Likewise.
14587169689Skan	(report_diagnostic): Define.
14588169689Skan
14589169689Skan	* diagnostic.h (report_diagnostic): Prototype.
14590169689Skan
14591169689Skan2000-07-09  Zack Weinberg  <zack@wolery.cumb.org>
14592169689Skan
14593169689Skan	* cppexp.c (_cpp_parse_expr): Don't use unary plus.
14594169689Skan
14595169689Skan2000-07-09  Neil Booth  <NeilB@earthling.net>
14596169689Skan
14597169689Skan	* cpphash.h: ISvspace, is_vspace, is_nvspace: New.
14598169689Skan	IShspace, ISspace: Update.
14599169689Skan
14600169689Skan	* cppinit.c: ISTABLE: Update.
14601169689Skan	V: New.
14602169689Skan
14603169689Skan	* cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
14604169689Skan	(IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
14605169689Skan	(skip_block_comment, skip_line_comment,	parse_string,
14606169689Skan	lex_line): Use is_vspace rather than IS_NEWLINE.
14607169689Skan	(skip_whitespace, lex_line): Clean up to use is_nvspace.
14608169689Skan	(lex_line): Use KNOWN_DIRECTIVE.  Any kind of directive
14609169689Skan	gets a BOL flag.
14610169689Skan	(lex_next): Unconditionally stop if within a directive.
14611169689Skan	Treat directives within macro invocations as directives
14612169689Skan	(after parse_args emits error), not as the argument.
14613169689Skan
14614169689Skan2000-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
14615169689Skan
14616169689Skan	* diagnostic.c (diagnostic_args): New macro.
14617169689Skan	(diagnostic_msg): Likewise.
14618169689Skan	(output_formatted_integer): Likewise.
14619169689Skan	(output_state): New data type.
14620169689Skan	(digit_buffer): Make global.
14621169689Skan	(output_add_integer): Rename to output_decimal. Squeeze
14622169689Skan	digit_buffer.
14623169689Skan	(output_long_decimal, output_unsigned_decimal,
14624169689Skan	output_long_unsigned_decimal, output_octal, output_long_octal,
14625169689Skan	output_hexadecimal, output_long_hexadecimal): New functions.
14626169689Skan	(output_append_r): New function.
14627169689Skan	(output_append): Tweak.
14628169689Skan	(output_flush_on): Rename to output_to_stream.
14629169689Skan	(output_format): Change prototype.  Improve documentation. Handle
14630169689Skan	more format specifiers.
14631169689Skan	(build_location_prefix): Rename to context_as_prefix.
14632169689Skan	(output_notice): Rename to output_do_printf.
14633169689Skan	(output_printf): Tweak.
14634169689Skan	(line_wrapper_printf): Likewise.
14635169689Skan	(vline_wrapper_message_with_location): Adjust call to renamed
14636169689Skan	functions.
14637169689Skan	(v_message_with_decl): Likewise.
14638169689Skan	(default_print_error_function): Likewise.
14639169689Skan	(save_output_state): New function.
14640169689Skan	(restore_output_state): Likewise.
14641169689Skan	(output_do_verbatim): Likewise.
14642169689Skan	(output_verbatim): Define.
14643169689Skan	(verbatim): Likewise.
14644169689Skan
14645169689Skan	* diagnostic.h (printer_fn): Change return type from void to int.
14646169689Skan	Improve documentation.
14647169689Skan	(output_add_integer): Rename to output_decimal.
14648169689Skan	(output_flush_on, output_format): Don't export.
14649169689Skan	(output_verbatim, verbatim): Declare.
14650169689Skan
14651169689Skan2000-07-08  Toon Moene  <toon@moene.indiv.nluug.nl>
14652169689Skan
14653169689Skan	* fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
14654169689Skan	Check whether c divides op1 exactly if operation is not
14655169689Skan	multiplication.
14656169689Skan
14657169689Skan2000-07-08  Richard Henderson  <rth@cygnus.com>
14658169689Skan
14659169689Skan	* final.c (final): Do not abort when reg-stack introduces
14660169689Skan	a new insn.
14661169689Skan
14662169689Skan2000-07-08  Zack Weinberg  <zack@wolery.cumb.org>
14663169689Skan
14664169689Skan	* cpplib.h (struct cpp_name): Now struct cpp_string.
14665169689Skan	(CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
14666169689Skan	CPP_HEADER_NAME): Change to type S.
14667169689Skan	(struct cpp_token): Rename 'name' field to 'str'.  Add 'node'
14668169689Skan	field, a cpp_hashnode *.  All references to val.name updated
14669169689Skan	to use val.str or val.node as appropriate.
14670169689Skan	(struct cpp_reader): Add spec_nodes field.
14671169689Skan	(cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
14672169689Skan
14673169689Skan	* cpphash.h (struct spec_nodes): New.
14674169689Skan	(enum spell_type): Reorder.  Only SPELL_STRING tokens use
14675169689Skan	val.str.  All references to 'spelling > SPELL_NONE' updated to
14676169689Skan	match.
14677169689Skan
14678169689Skan	(CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
14679169689Skan	pfile->buffer->inc are not NULL before dereferencing them.
14680169689Skan
14681169689Skan	* cpplex.c (parse_name): Take a pointer to the current token,
14682169689Skan	plus current position and limit as args; return the new
14683169689Skan	position; don't copy the text of a name into the string
14684169689Skan	buffer, instead call cpp_lookup and store the node pointer.
14685169689Skan	If extending a token, copy out the text of the old into a
14686169689Skan	scratch buffer, append the new, look that up and store the new
14687169689Skan	node pointer.  Inline.
14688169689Skan	(maybe_paste_with_next): If the result of paste is a NAME,
14689169689Skan	then look up the pasted text and store its node pointer.
14690169689Skan	(lex_line): Adjust for new parse_name interface.
14691169689Skan	Check for L"str", L'str' using spec_nodes->n_L.
14692169689Skan	(spell_token): SPELL_IDENT tokens have their spelling in
14693169689Skan	val.node->name.  Handle SPELL_STRING tokens that don't have
14694169689Skan	string delimiters.
14695169689Skan	(_cpp_expand_name_space,
14696169689Skan	(can_paste): Check for L ## "str" using spec_nodes->n_L.
14697169689Skan	(cpp_get_token, special_symbol): No need to call cpp_lookup.
14698169689Skan	(cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
14699169689Skan	return 1=equal 0=not, not a tristate.
14700169689Skan
14701169689Skan	* cpphash.c (var_args_str): Delete.
14702169689Skan	(find_param): Compare node fields directly.
14703169689Skan	(is__va_args__): Use CPP_PEDANTIC.  Just compare
14704169689Skan	token->val.node with spec_nodes->n__VA_ARGS__.
14705169689Skan	(dump_funlike_macro): Don't use var_args_str.
14706169689Skan
14707169689Skan	* cpplib.c (_cpp_check_directive): Just walk through
14708169689Skan	spec_nodes->dirs comparing pointers.
14709169689Skan	(get_define_node, do_pragma_poison, detect_if_not_defined,
14710169689Skan	parse_ifdef): The identifier has already been looked up.
14711169689Skan	(do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
14712169689Skan	node.
14713169689Skan	(do_if): Only call detect_if_not_defined at beginning of file.
14714169689Skan	(_cpp_parse_assertion): Only copy string pointers for
14715169689Skan	SPELL_STRING tokens.
14716169689Skan	(pragma_dispatch): Take a node pointer and examine its name
14717169689Skan	field.
14718169689Skan	(_cpp_init_stacks): Also initialize the spec_nodes structure.
14719169689Skan
14720169689Skan	* cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
14721169689Skan	_cpp_init_macros.
14722169689Skan	(cpp_cleanup): Free pfile->spec_nodes.  Call _cpp_cleanup_* in
14723169689Skan	reverse order from the corresponding _cpp_init_* routines.
14724169689Skan
14725169689Skan	* cppexp.c (parse_number, parse_charconst, parse_defined,
14726169689Skan	lex): Check val.node->type instead of calling cpp_defined.
14727169689Skan	Use spec_nodes entries where appropriate.
14728169689Skan
14729169689Skan	* fix-header.c, scan-decls.c: Update for interface changes.
14730169689Skan
14731169689Skan2000-07-08  Geoffrey Keating  <geoffk@cygnus.com>
14732169689Skan
14733169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
14734169689Skan	emitting aux_truncdfsf2.
14735169689Skan
14736169689Skan2000-07-03  Donn Terry  (donnte@microsoft.com)
14737169689Skan
14738169689Skan	* cppinit.c (print_help): split overlong line into ISO C89
14739169689Skan	maximum chunks.
14740169689Skan
14741169689Skan2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
14742169689Skan
14743169689Skan	* cppexp.c: Update all code for new lexer interface.
14744169689Skan	(op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
14745169689Skan	(struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
14746169689Skan	* cpplex.c (token_names): Trim leading CPP_ from names; make
14747169689Skan	the strings unsigned.
14748169689Skan	(_cpp_spell_operator): New.
14749169689Skan	(is_macro_disabled): Disable all macros if rescanning
14750169689Skan	preprocessed text.
14751169689Skan	(_cpp_get_directive_token): Remove.
14752169689Skan
14753169689Skan	* cppinit.c: Don't set no_macro_expand.
14754169689Skan	* cpplib.c (read_line_number, do_line): Check only for EOF,
14755169689Skan	not VSPACE.
14756169689Skan	* cpphash.h: Update prototypes.
14757169689Skan	* cpplib.h (CPP_VSPACE): Remove.
14758169689Skan	(struct cpp_reader): Remove no_macro_expand.
14759169689Skan
14760169689Skan2000-07-08  Neil Booth  <NeilB@earthling.net>
14761169689Skan
14762169689Skan	* cpphash.c (is__va_args__): New function.
14763169689Skan	(count_params): Fix line reported in error messages.  Use
14764169689Skan	is__va_args__.  Don't return ')' on error.  Flag GNU style
14765169689Skan	rest args macro definitions.
14766169689Skan	(parse_define): Check macro name is not __VA_ARGS__.
14767169689Skan	(save_expansion): Check identifier in non-varargs-macro is
14768169689Skan	not __VA_ARGS__.  Don't flag GNU_VARARGS.
14769169689Skan	* cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
14770169689Skan	(maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
14771169689Skan	 than per-token GNU_VARARGS.
14772169689Skan	* cpplib.h (GNU_VARARGS): Remove.
14773169689Skan	(GNU_REST_ARGS): New.
14774169689Skan
14775169689SkanSat Jul  8 01:38:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
14776169689Skan
14777169689Skan	* i386.md (call_pop, call, call_value_pop): Do not set
14778169689Skan	current_function_uses_pic_offset_table for calls to static
14779169689Skan	functions or indirect calls.
14780169689Skan
14781169689Skan2000-07-07  Jim Wilson  <wilson@cygnus.com>
14782169689Skan
14783169689Skan	* config/ia64/ia64.c (rws_access_reg): New local write_count.  If
14784169689Skan	is_predicate_reg, then take max write_count of register pair.
14785169689Skan
14786169689Skan2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14787169689Skan
14788169689Skan	* tradcpp.c (main): Rename label `include' to `add_include' to
14789169689Skan	avoid conflicts with variable `include' in traditional C.
14790169689Skan
14791169689Skan2000-07-07  Jakub Jelinek  <jakub@redhat.com>
14792169689Skan
14793169689Skan	* integrate.c (copy_insn_list): Remove REG_LABEL notes.
14794169689Skan
14795169689Skan2000-07-07  Jakub Jelinek  <jakub@redhat.com>
14796169689Skan
14797169689Skan	* sibcall.c (uses_addressof): Add INMEM argument, check for
14798169689Skan	current_function_internal_arg_pointer outside of MEM rtxs in addition
14799169689Skan	to ADDRESSOFs.
14800169689Skan	(sequence_uses_addressof): Update caller.
14801169689Skan
14802169689Skan2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
14803169689Skan
14804169689Skan	* tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
14805169689Skan	and friends.
14806169689Skan
14807169689Skan2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14808169689Skan
14809169689Skan	* system.h (UNION_INIT_ZERO): New macro for initializing union
14810169689Skan	members in structs.
14811169689Skan
14812169689Skan	* cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
14813169689Skan
14814169689Skan2000-07-07  Neil Booth  <NeilB@earthling.net>
14815169689Skan
14816169689Skan	* cpp.texi: Update.
14817169689Skan
14818169689SkanFri Jul  7 07:47:35 2000  Jeffrey A Law  (law@cygnus.com)
14819169689Skan
14820169689Skan	* final.c (final): Detect out of bounds array access to
14821169689Skan	the insn_lengths array.
14822169689Skan
14823169689Skan2000-07-07  Kazu Hirata  <kazu@hxi.com>
14824169689Skan
14825169689Skan	* fold-const.c (fold): Fix a comment typo.
14826169689Skan
14827169689Skan2000-07-07  Neil Booth  <NeilB@earthling.net>
14828169689Skan
14829169689Skan	* cpp.texi: Update to new lexer.
14830169689Skan
14831169689Skan2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
14832169689Skan
14833169689Skan	* tradcpp.c: New file.
14834169689Skan	* tradcif.y: New file.
14835169689Skan	* tradcif.c: New generated file.
14836169689Skan
14837169689Skan	* Makefile.in: Add rules to build tradcpp.o, tradcif.o,
14838169689Skan	$(srcdir)/tradcif.c.  Add tradcpp to STAGESTUFF and
14839169689Skan	dependencies of C.  Install tradcpp from install-common, in
14840169689Skan	$(libsubdir).
14841169689Skan
14842169689Skan2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
14843169689Skan
14844169689Skan	* cppinit.c: Include cppdefault.h.  Refer to
14845169689Skan	cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
14846169689Skan	to GCC_INCLUDE_DIR and its length.
14847169689Skan	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
14848169689Skan	USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
14849169689Skan	STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT):  Move to
14850169689Skan	cppdefault.h.
14851169689Skan	(include_defaults_array): Move to cppdefault.c.
14852169689Skan
14853169689Skan	* cppdefault.h: New file.
14854169689Skan	* cppdefault.c: New file.
14855169689Skan
14856169689Skan	* Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
14857169689Skan	(cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
14858169689Skan	(cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
14859169689Skan	this file.
14860169689Skan
14861169689SkanThu Jul  6 18:30:36 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14862169689Skan
14863169689Skan	* reload.c (push_reload): When seeing if can reuse a register,
14864169689Skan	check extra registers against widest of INMODE and OUTMODE.
14865169689Skan
14866169689Skan2000-07-06  Neil Booth  <NeilB@earthling.net>
14867169689Skan
14868169689Skan	* cpplib.c: (_cpp_parse_assertion):  Perform hash lookups
14869169689Skan	based on full length of predicate.
14870169689Skan
14871169689Skan2000-07-06  Hans-Peter Nilsson  <hp@axis.com>
14872169689Skan
14873169689Skan	* timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
14874169689Skan	[NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
14875169689Skan
14876169689Skan2000-07-05  Kazu Hirata  <kazu@hxi.com>
14877169689Skan
14878169689Skan	* h8300-proto.h: Fix formatting.
14879169689Skan	* h8300.c: Likewise.
14880169689Skan	* h8300.h: Likewise.
14881169689Skan
14882169689Skan2000-07-05  Jim Wilson  <wilson@cygnus.com>
14883169689Skan
14884169689Skan	* config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
14885169689Skan	CCmode.
14886169689Skan
14887169689Skan2000-07-05  Rodney Brown  <RodneyBrown@pmsc.com>
14888169689Skan
14889169689Skan	* invoke.texi: Fix minor typos
14890169689Skan	* md.texi: Fix minor typos
14891169689Skan
14892169689Skan2000-07-05  Zack Weinberg  <zack@wolery.cumb.org>
14893169689Skan
14894169689Skan	* cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
14895169689Skan
14896169689Skan2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
14897169689Skan
14898169689Skan	* cpplex.c: Don't include sys/mman.h.
14899169689Skan	(cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
14900169689Skan
14901169689Skan	* cpplib.c: Include sys/mman.h and obstack.h.
14902169689Skan	(cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
14903169689Skan	obstack.
14904169689Skan	(cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
14905169689Skan	(_cpp_unwind_if_stack): Now static, unwind_if_stack.  Don't
14906169689Skan	bother freeing if stack entries (they will be freed with their buffer).
14907169689Skan	(do_endif): Free if stack entries from the buffer obstack.
14908169689Skan	(push_conditional): Allocate if stack entries from the buffer obstack.
14909169689Skan
14910169689Skan	(find_answer): Rename to _cpp_find_answer.
14911169689Skan	(do_assert, do_unassert): Update.
14912169689Skan
14913169689Skan	* cpphash.h: Update prototypes.
14914169689Skan	(xobnew): New convenience macro.
14915169689Skan	* cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
14916169689Skan	Update comments.
14917169689Skan	(struct cpp_hashnode): Remove disabled field.
14918169689Skan
14919169689Skan	* cppinit.c: Don't include hashtab.h or splay-tree.h.
14920169689Skan	(report_missing_guard): Moved to cppfiles.c.
14921169689Skan	(cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
14922169689Skan	cpp_init_includes.
14923169689Skan	(cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
14924169689Skan	cpp_cleanup_includes.  Don't destroy hashtab or
14925169689Skan	all_include_files here.
14926169689Skan	(cpp_finish): Use _cpp_report_missing_guards.
14927169689Skan
14928169689Skan	* cppfiles.c (report_missing_guard): Moved from cppinit.c.
14929169689Skan	(_cpp_init_include_table): Rename _cpp_init_includes.
14930169689Skan	(_cpp_cleanup_includes, _cpp_report_missing_guards): New.
14931169689Skan
14932169689Skan	* cppexp.c (parse_assertion): Update for new name of
14933169689Skan	find_answer.
14934169689Skan
14935169689Skan	* Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
14936169689Skan
14937169689Skan2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
14938169689Skan
14939169689Skan	* cpplib.c (do_ident): s/VSPACE/EOF/
14940169689Skan
14941169689Skan2000-07-05  Neil Booth  <NeilB@earthling.net>
14942169689Skan
14943169689Skan	* cpplex.c: Fix trigraph replacement within strings.
14944169689Skan
14945169689Skan2000-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14946169689Skan
14947169689Skan	* rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
14948169689Skan
14949169689Skan	* xcoffout.c (assign_type_number): Constify.
14950169689Skan	(xcoffout_source_file): Add static prototype.  Don't needlessly
14951169689Skan	cast away const-ness.
14952169689Skan
14953169689Skan2000-07-04  Jason Merrill  <jason@redhat.com>
14954169689Skan
14955169689Skan	* frame.h (frame_state): Move base_offset to end.
14956169689Skan
14957169689SkanMon Jul  3 21:31:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
14958169689Skan
14959169689Skan	* calls.c (emit_library_call_value_1): Revert previous change.
14960169689Skan
14961169689Skan2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
14962169689Skan
14963169689Skan	* fix-header.c (struct partial_proto): Remove unnecessary fields.
14964169689Skan	(recognized_extern, recognized_function, read_scan_file):
14965169689Skan	Update for new scheme.
14966169689Skan	(check_protection): It's still a multiple include guard even
14967169689Skan	if it doesn't always trigger.
14968169689Skan	* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
14969169689Skan	new scheme.
14970169689Skan	* scan.h: Declare struct cpp_token.  Update prototypes.
14971169689Skan
14972169689Skan2000-07-03  Neil Booth  <neilb@earthling.net>
14973169689Skan	    Zack Weinberg  <zack@wolery.cumb.org>
14974169689Skan
14975169689Skan	Complete overhaul of the lexer and macro expander.
14976169689Skan
14977169689Skan	* cpphash.c (object_defn, funct_defn, push_macro_expansion,
14978169689Skan	arg, arglist, argdata, reflist, collect_objlike_expansion,
14979169689Skan	collect_funlike_expansion, collect_params,
14980169689Skan	warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
14981169689Skan	unsafe_chars, macarg, compare_defs, special_symbol,
14982169689Skan	scan_arguments, stringify, funlike_macroexpand,
14983169689Skan	_cpp_quote_string, monthnames): Delete.
14984169689Skan	(cpp_lookup, _cpp_free_definition, dump_funlike_macro,
14985169689Skan	_cpp_create_definition, _cpp_dump_definition,
14986169689Skan	dump_hash_helper): Adjust.
14987169689Skan	(find_param, count_params, parse_define, var_args_str,
14988169689Skan	check_macro_redefinition, save_expansion): New.
14989169689Skan
14990169689Skan	* cpplex.c (skip_block_comment, skip_line_comment, parse_name,
14991169689Skan	parse_string, output_line_command, trigraph_replace,
14992169689Skan	lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
14993169689Skan	cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
14994169689Skan	cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
14995169689Skan	_cpp_skip_rest_of_line): Modify.
14996169689Skan
14997169689Skan	(maybe_macroexpand, skip_comment, copy_comment, skip_string,
14998169689Skan	find_position, null_warning, bump_column, expand_name_space,
14999169689Skan	pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
15000169689Skan	_cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
15001169689Skan	_cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
15002169689Skan	_cpp_prescan): Delete.
15003169689Skan
15004169689Skan	(dump_param_spelling, process_directive, lex_next,
15005169689Skan	is_macro_disabled, stringify_arg, expand_context_stack,
15006169689Skan	output_token, make_string_token, alloc_number_token,
15007169689Skan	special_symbol, duplicate_token, maybe_paste_with_next,
15008169689Skan	can_paste, prevent_macro_expansion, restore_macro_expansion,
15009169689Skan	get_temp_token, release_temp_tokens, quote_string,
15010169689Skan	token_names, token_spellings, _cpp_expand_name_space,
15011169689Skan	_cpp_glue_header_name, _cpp_reserve_name_space,
15012169689Skan	digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
15013169689Skan	placemarker_token, eof_token, cpp_context, macro_args,
15014169689Skan	get_raw_token, parse_arg, parse_args, save_token,
15015169689Skan	push_arg_context, push_macro_context, pop_context,
15016169689Skan	do_pop_context, free_macro_args, _cpp_get_line,
15017169689Skan	_cpp_run_directive): New.
15018169689Skan
15019169689Skan	* cpplib.c (validate_else, parse_include, push_conditional,
15020169689Skan	pass_thru_directive, read_line_number, parse_ifdef,
15021169689Skan	detect_if_not_defined, _cpp_check_directive, do_define,
15022169689Skan	do_undef, do_include, do_import, do_include_next, do_error,
15023169689Skan	do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
15024169689Skan	top_pragmas, do_pragma_gcc, do_pragma_implementation,
15025169689Skan	do_pragma_poison, do_pragma_system_header,
15026169689Skan	do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
15027169689Skan	dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
15028169689Skan	do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
15029169689Skan	cpp_defined): Update for new scheme.
15030169689Skan	(strtoul_for_line, get_define_node, dump_macro_name,
15031169689Skan	_cpp_check_linemarker, _cpp_parse_assertion): New.
15032169689Skan	(_cpp_handle_directive, do_pragma_default): Delete.
15033169689Skan
15034169689Skan	* cpphash.h (struct predicate): Now struct answer.
15035169689Skan	(enum spell_type, struct token_spelling, struct directive,
15036169689Skan	directive_handler): New.
15037169689Skan	Update prototypes.  Remove unused macros.
15038169689Skan	* cpplib.h: Update prototypes.  Remove unused macros,
15039169689Skan	structure definitions, and fields.
15040169689Skan
15041169689Skan	* cpperror.c (print_containing_files, v_message): Adjust.
15042169689Skan	* cppexp.c (parse_assertion, lex, parse_escape,
15043169689Skan	_cpp_parse_expr): Adjust.
15044169689Skan	* cppfiles.c (open_include_file, _cpp_execute_include,
15045169689Skan	_cpp_compare_file_date, cpp_read_file, read_include_file):
15046169689Skan	Adjust.
15047169689Skan	* cppinit.c (dump_special_to_buffer): Delete.
15048169689Skan	(append_include_chain, merge_include_chains, cpp_reader_init,
15049169689Skan	cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
15050169689Skan	cpp_finish, handle_option, print_help): Adjust.
15051169689Skan	* cppmain.c (main): Adjust.
15052169689Skan
15053169689Skan2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
15054169689Skan
15055169689Skan	* cppspec.c (lang_specific_driver): Use double quotes in error
15056169689Skan	message.
15057169689Skan
15058169689SkanMon Jul  3 16:53:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
15059169689Skan
15060169689Skan	* calls.c (emit_library_call_value_1): Use valreg instead
15061169689Skan	of hard_libcall_value.
15062169689Skan
15063169689Skan2000-07-03  Geoff Keating  <geoffk@cygnus.com>
15064169689Skan
15065169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): New function.
15066169689Skan	* config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
15067169689Skan	* config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
15068169689Skan	(movhi): Likewise.
15069169689Skan	(movqi): Likewise.
15070169689Skan	(movdf): Likewise.
15071169689Skan	(movsf): Likewise.
15072169689Skan	(movdi): Likewise.
15073169689Skan	(movti): Likewise.
15074169689Skan
15075169689Skan	* expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
15076169689Skan	mode instead of wider_mode is being used.
15077169689Skan
15078169689Skan2000-07-03  Jakub Jelinek  <jakub@redhat.com>
15079169689Skan
15080169689Skan	* config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
15081169689Skan	of 'r'. Use q_regs_operand.
15082169689Skan	(andsi_1+2): Use q_regs_operand.
15083169689Skan
15084169689Skan2000-07-03  Jakub Jelinek  <jakub@redhat.com>
15085169689Skan
15086169689Skan	* builtins.c (get_memory_rtx): Always put into alias set 0.
15087169689Skan
15088169689Skan2000-07-03  Nick Clifton  <nickc@cygnus.com>
15089169689Skan
15090169689Skan	* config/arm/arm.md: Fix post increment and pre increment
15091169689Skan	peepholes so that they do not generate UNPREDICATBLE opcodes.
15092169689Skan	(ie ones where the increment clobbers the source/destination).
15093169689Skan
15094169689Skan2000-07-01  Marek Michalkiewicz  <marekm@linux.org.pl>
15095169689Skan
15096169689Skan	* config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
15097169689Skan	change too big for -mtiny-stack" a warning, if larger than 63.
15098169689Skan	(out_set_stack_ptr): Change the logic so -mno-interrupts is
15099169689Skan	always safe to use on possible future devices.
15100169689Skan	(function_prologue): Write SPH before SPL, for consistency.
15101169689Skan	If interrupt_func_p true, we know we have enabled interrupts.
15102169689Skan	(avr_num_arg_regs): New function.  Round up to even number of
15103169689Skan	bytes if no -mpack-args or if calling a libgcc function.
15104169689Skan	(function_arg, function_arg_advance): Use it.
15105169689Skan	(output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
15106169689Skan	Output "movw" if available.
15107169689Skan	(out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
15108169689Skan	of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
15109169689Skan	(asm_output_section_name): Add blanks for consistent output.
15110169689Skan	(encode_section_info): Set TREE_READONLY for progmem data to
15111169689Skan	avoid gas warnings about changed section attributes.
15112169689Skan	(avr_hard_regno_mode_ok): Force non-QImode data to start in
15113169689Skan	even numbered registers on devices with "movw".
15114169689Skan	* config/avr/avr.h (MASK_*): Define bits for target_flags.
15115169689Skan	(TARGET_SWITCHES): Mark help strings for translation.
15116169689Skan	Add new -mpack-args and -menhanced switches.
15117169689Skan	(TARGET_OPTIONS): Mark help strings for translation.
15118169689Skan	(progmem_section): Add section attributes.
15119169689Skan	* config/avr/avr.md (*movhi, call_insn, call_value_insn):
15120169689Skan	Output "movw" if available.
15121169689Skan	(mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
15122169689Skan	New patterns.
15123169689Skan	* config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
15124169689Skan	call convention (arguments aligned on even registers).
15125169689Skan	(_cleanup, _exit): Make weak symbols libc can override.
15126169689Skan
15127169689Skan2000-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15128169689Skan
15129169689Skan	* fp-bit.h: New file.
15130169689Skan
15131169689Skan	* fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
15132169689Skan	Comment #endif statements.
15133169689Skan	(__thenan_sf, __thenan_df): Add missing braces around initializer.
15134169689Skan
15135169689SkanMon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
15136169689Skan
15137169689Skan	* gcse.c (compute_pre_data): Compute ae_kill using other local
15138169689Skan	properties instead of calling compute_ae_kill.
15139169689Skan
15140169689Skan	* alias.c (init_alias_analysis): Do not call
15141169689Skan	prologue_epilogue_contains until after reload has completed.
15142169689Skan
15143169689Skan2000-07-02  Benjamin Chelf  <chelf@codesourcery.com>
15144169689Skan
15145169689Skan	* c-common.h (genrtl_begin_compound_stmt): Remove declaration.
15146169689Skan	(genrtl_finish_compound_stmt): Likewise.
15147169689Skan	(genrtl_compound_stmt): Change to return void.
15148169689Skan
15149169689Skan	* c-semantics.c (genrtl_begin_compound_stmt): Remove function and
15150169689Skan	move code from here to ...
15151169689Skan	(genrtl_compound_stmt): ... here.
15152169689Skan	(genrtl_finish_compound_stmt): Remove.
15153169689Skan	(expand_stmt): Add comment.
15154169689Skan
15155169689Skan2000-07-02  Zack Weinberg  <zack@wolery.cumb.org>
15156169689Skan
15157169689Skan	* c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
15158169689Skan	and VOID_TYPE_P.
15159169689Skan
15160169689Skan2000-07-02  Jakub Jelinek  <jakub@redhat.com>
15161169689Skan
15162169689Skan	* cpplib.h (struct cpp_reader): New field include_depth.
15163169689Skan	(struct cpp_printer): Rename last_bsd to last_id.
15164169689Skan	* cppfiles.c (read_include_file): Bump include_depth.
15165169689Skan	* cpplex.c (cpp_pop_buffer): Decrement include_depth.
15166169689Skan	(output_line_command): Output correct #line if a header
15167169689Skan	is including itself and is not protected against multiple inclusion.
15168169689Skan	Use include_depth instead of buffer_stack_depth, last_id instead of
15169169689Skan	last_bsd.
15170169689Skan	* cppinit.c (cpp_start_read): Initialize last_id instead of
15171169689Skan	last_bsd.
15172169689Skan
15173169689Skan2000-07-01  Benjamin Chelf  <chelf@codesourcery.com>
15174169689Skan
15175169689Skan	* Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
15176169689Skan	(c-semantics.o): New target.
15177169689Skan
15178169689Skan	* c-common.h (TREE_LANG_FLAG_?): Added documentation.
15179169689Skan	(genrtl_do_pushlevel): Moved from cp/cp-tree.h.
15180169689Skan	(genrtl_clear_out_block): Likewise.
15181169689Skan	(genrtl_goto_stmt): Likewise.
15182169689Skan	(genrtl_expr_stmt): Likewise.
15183169689Skan	(genrtl_decl_stmt): Likewise.
15184169689Skan	(genrtl_if_stmt): Likewise.
15185169689Skan	(genrtl_while_stmt): Likewise.
15186169689Skan	(genrtl_do_stmt): Likewise.
15187169689Skan	(genrtl_return_stmt): Likewise.
15188169689Skan	(genrtl_for_stmt): Likewise.
15189169689Skan	(genrtl_break_stmt): Likewise.
15190169689Skan	(genrtl_continue_stmt): Likewise.
15191169689Skan	(genrtl_scope_stmt): Likewise.
15192169689Skan	(genrtl_switch_stmt): Likewise.
15193169689Skan	(genrtl_case_label): Likewise.
15194169689Skan	(genrtl_begin_compound_stmt): Likewise.
15195169689Skan	(gerntl_finish_compound_stmt): Likewise.
15196169689Skan	(genrtl_compound_stmt): Likewise.
15197169689Skan	(genrtl_asm_stmt): Likewise.
15198169689Skan	(genrtl_decl_cleanup): Likewise.
15199169689Skan	(DECL_ANON_UNION_ELEMS): Likewise.
15200169689Skan	(emit_local_var): Likewise.
15201169689Skan	(make_rtl_for_local_static): Likewise.
15202169689Skan	(expand_cond): Likewise.
15203169689Skan	(expand_stmt): Likewise.
15204169689Skan	(c_expand_return): Likewise.
15205169689Skan	(c_expand_start_case): Likewise.
15206169689Skan	(do_case): Likewise.
15207169689Skan	(COMPOUND_STMT_NO_SCOPE): Likewise.
15208169689Skan	(c_expand_asm_operands): Likewise.
15209169689Skan	(NEW_FOR_SCOPE_P): New macro.
15210169689Skan	(expand_expr_stmt_fn): New type.
15211169689Skan
15212169689Skan	(set_current_function_name_declared): Likewise.
15213169689Skan	(current_function_name_declared): Likewise.
15214169689Skan	(lang_expand_stmt): Likewise.
15215169689Skan	(stmts_are_full_exprs_p): Likewise.
15216169689Skan	(anon_aggr_type_p): Likewise.
15217169689Skan	(lang_expand_expr_stmt): Likewise.
15218169689Skan	(build_case_label): Likewise.
15219169689Skan
15220169689Skan	* c-decl.c (lang_expand_expr_stmt): Initialize.
15221169689Skan	(stmts_are_full_exprs_p): Define.
15222169689Skan	(current_function_name_declared): Likewise.
15223169689Skan	(do_case): Likewise.
15224169689Skan	(lang_expand_stmt): Likewise.
15225169689Skan	(set_current_function_name_declared): Likewise.
15226169689Skan	(anon_aggr_type_p): Likewise.
15227169689Skan
15228169689Skan	* c-semantics.c: New file.
15229169689Skan	(expand_cond): Moved from cp/semantics.c.
15230169689Skan	(genrtl_do_pushlevel): Likewise.
15231169689Skan	(genrtl_clear_out_block): Likewise.
15232169689Skan	(genrtl_goto_stmt): Likewise.
15233169689Skan	(genrtl_expr_stmt): Likewise.
15234169689Skan	(genrtl_decl_stmt): Likewise.
15235169689Skan	(genrtl_if_stmt): Likewise.
15236169689Skan	(genrtl_while_stmt): Likewise.
15237169689Skan	(genrtl_do_stmt): Likewise.
15238169689Skan	(genrtl_return_stmt): Likewise.
15239169689Skan	(genrtl_for_stmt): Likewise.
15240169689Skan	(genrtl_break_stmt): Likewise.
15241169689Skan	(genrtl_continue_stmt): Likewise.
15242169689Skan	(genrtl_scope_stmt): Likewise.
15243169689Skan	(genrtl_switch_stmt): Likewise.
15244169689Skan	(genrtl_case_label): Likewise.
15245169689Skan	(genrtl_begin_compound_stmt): Likewise.
15246169689Skan	(genrtl_finish_compound_stmt): Likewise.
15247169689Skan	(genrtl_compound_stmt): Likewise.
15248169689Skan	(genrtl_asm_stmt): Likewise.
15249169689Skan	(genrtl_decl_cleanup): Likewise.
15250169689Skan	(make_rtl_for_local_static): Moved from cp/decl.c.
15251169689Skan	(emit_local_var): Likewise.
15252169689Skan	(expand_stmt): Define.
15253169689Skan
15254169689Skan	* c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
15255169689Skan	(c_expand_return): Likewise.
15256169689Skan	(c_expand_start_case): Likewise.
15257169689Skan
15258169689Skan2000-07-01  Richard Henderson  <rth@cygnus.com>
15259169689Skan
15260169689Skan	* config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
15261169689Skan	with the low 13 bits set.
15262169689Skan	(move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
15263169689Skan	* config/ia64/ia64.md (movdi): Likewise.  Expand a CONST with one
15264169689Skan	of the low 13 bits into a CONST plus an adddi3.
15265169689Skan	(load_symptr): Set RTX_UNCHANGING_P.
15266169689Skan
15267169689Skan2000-06-30  Mark Mitchell  <mark@codesourcery.com>
15268169689Skan
15269169689Skan	* Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h.
15270169689Skan	* c-common.c (ridpointers): Declare.
15271169689Skan	* c-common.h (enum rid): Declare.
15272169689Skan	(NORID): Likewise.
15273169689Skan	(ridpointers): Likewise.
15274169689Skan	* c-lex.c (ridpointers): Don't declare.
15275169689Skan	(init_lex): Initialize ridpointers.
15276169689Skan	* c-lex.h (enum rid): Don't declare.
15277169689Skan	(NORID): Likewise.
15278169689Skan	(RID_FIRST_MODIFIER): Likewise.
15279169689Skan	(ridpointers): Likewise.
15280169689Skan
15281169689Skan2000-06-30  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
15282169689Skan
15283169689Skan	* pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they
15284169689Skan	have global scope.
15285169689Skan
15286169689Skan2000-06-30  Martin von Loewis  <loewis@informatik.hu-berlin.de>
15287169689Skan
15288169689Skan	* invoke.texi (-Wreturn-type): In C++, a missing return type is
15289169689Skan	always an error.
15290169689Skan
15291169689Skan2000-06-30  Catherine Moore  <clm@cygnus.com>
15292169689Skan
15293169689Skan	* c-common.c (decl_attributes):  Differentiate between
15294169689Skan	types and type decls for alignment.
15295169689Skan
15296169689Skan2000-06-30  Nathan Sidwell  <nathan@codesourcery.com>
15297169689Skan
15298169689Skan	* cpp.texi: Document #pragma GCC dependency
15299169689Skan	* cppfiles.c (open_include_file): Set date to unknown.
15300169689Skan	(_cpp_compare_file_date): New function.
15301169689Skan	(read_include_file): Set file date.
15302169689Skan	* cpphash.h (struct include_file): Add date member.
15303169689Skan	(_cpp_compare_file_date): Prototype.
15304169689Skan	* cpplib.c (parse_include): Add trail parameter. Adjust.
15305169689Skan	(do_include): Adjust parse_include call.
15306169689Skan	(do_import): Likewise.
15307169689Skan	(do_include_next): Likewise.
15308169689Skan	(gcc_pragmas): Add dependency pragma.
15309169689Skan	(do_pragma_dependency): New pragma.
15310169689Skan
15311169689Skan2000-06-29  Jason Merrill  <jason@redhat.com>
15312169689Skan
15313169689Skan	* dwarf2out.c (output_loc_operands): Don't abort on codes that have
15314169689Skan	no operands.
15315169689Skan
15316169689Skan2000-06-29  Jim Wilson  <wilson@cygnus.com>
15317169689Skan
15318169689Skan	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Return NO_REGS for
15319169689Skan	a volatile mem and FR_REGS.
15320169689Skan
15321169689Skan2000-06-29  Mark Mitchell  <mark@codesourcery.com>
15322169689Skan
15323169689Skan	* c-common.c: Include c-common.h, not c-lex.h or c-tree.h.
15324169689Skan	* c-common.h (flag_const_strings): Declare.
15325169689Skan	(warn_format): Likewise.
15326169689Skan	(flag_traditional): Likewise.
15327169689Skan	(flag_isoc99): Likewise.
15328169689Skan	(warn_parentheses): Likewise.
15329169689Skan	(warn_conversion): Likewise.
15330169689Skan	(C_TYPE_OBJECT_P): Likewise.
15331169689Skan	(C_TYPE_INCOMPLETE_P): Likewise.
15332169689Skan	(C_TYPE_FUNCTION_P): Likewise.
15333169689Skan	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
15334169689Skan	(C_EXP_ORIGINAL_CODE): Likewise.
15335169689Skan	(build_unary_op): Likewise.
15336169689Skan	(build_binary_op): Likewise.
15337169689Skan	(lvalue_p): Likewise.
15338169689Skan	(default_conversion): Likewise.
15339169689Skan	(common_type): Likewise.
15340169689Skan	* c-tree.h (C_TYPE_OBJECT_P): Remove.
15341169689Skan	(C_TYPE_INCOMPLETE_P): Likewise.
15342169689Skan	(C_TYPE_FUNCTION_P): Likewise.
15343169689Skan	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
15344169689Skan	(C_EXP_ORIGINAL_CODE): Likewise.
15345169689Skan	(common_type): Likewise.
15346169689Skan	(default_conversion): Likewise.
15347169689Skan	(build_binary_op): Likewise.
15348169689Skan	(build_unary_op): Likewise.
15349169689Skan	(lvalue_p): Likewise.
15350169689Skan	(flag_const_strings): Likewise.
15351169689Skan	(warn_format): Likewise.
15352169689Skan	(warn_conversion): Likewise.
15353169689Skan	(flag_traditional): Likewise.
15354169689Skan	(flag_isoc99): Likewise.
15355169689Skan	(warn_parentheses): Likewise.
15356169689Skan
15357169689Skan2000-06-29  James E. Wilson  <wilson@cygnus.com>
15358169689Skan
15359169689Skan	* config/ia64/linux.h (LINK_SPEC): Change so.1 to so.2.
15360169689Skan
15361169689Skan	* config/ia64/ia64.h (MODES_TIEABLE_P): Only tie if mode class is the
15362169689Skan	same.  Only tie XFmode with XFmode.
15363169689Skan
15364169689Skan2000-06-29  Zack Weinberg  <zack@wolery.cumb.org>
15365169689Skan
15366169689Skan	* c-decl.c, timevar.c, tlink.c: Include intl.h.
15367169689Skan	* Makefile.in: Update deps.
15368169689Skan
15369169689Skan2000-06-29  Andrew Haley  <aph@cygnus.com>
15370169689Skan
15371169689Skan	* toplev.c (main): On an IA-64, make flag_unwind_tables defauit
15372169689Skan	to true.
15373169689Skan
15374169689Skan2000-06-29  Andrew Haley  <aph@cygnus.com>
15375169689Skan
15376169689Skan	* config/ia64/linux.h (JMP_BUF_SIZE): Size is in Pmode units, not
15377169689Skan	bytes: remove the multiply by 8.
15378169689Skan
15379169689Skan2000-06-29  Philipp Thomas  <pthomas@suse.de>
15380169689Skan
15381169689Skan	* rtl.c : Revert NLS changes.
15382169689Skan	* gcc.c : Fix bug in display_help introced by my last changes.
15383169689Skan
15384169689SkanWed Jun 28 21:09:33 2000   Raja R Harinath <harinath@cs.umn.edu>
15385169689Skan
15386169689Skan	* dbxout.c (dbxout_symbol, case RESULT_DECL, VAR_DECL): Use
15387169689Skan	DECL_CONTEXT, not DECL_FIELD_CONTEXT.
15388169689Skan
15389169689Skan2000-06-29  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
15390169689Skan
15391169689Skan	* flow.c (flow_depth_first_order_compute): Fix algorithm.
15392169689Skan
15393169689Skan2000-06-28  Philipp Thomas  <pthomas@suse.de>
15394169689Skan
15395169689Skan	* c-decl.c : Mark strings for translation.
15396169689Skan	(parmlist_tags_warning): Use distinct messages instead
15397169689Skan	of conditional expressions.
15398169689Skan	* diagnostic.c (v_message_with_decl): Mark string for translation.
15399169689Skan	* gcc.c: Mark messages for translation.
15400169689Skan	(display_help): Combine messages into one string where necessary.
15401169689Skan	* mips-tfile: Add intl.h. Mark messages for translation.
15402169689Skan	* rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark
15403169689Skan	messages for translation.
15404169689Skan	* timevar.c: Mark messages for translation.
15405169689Skan	* tlink.c: Likewise.
15406169689Skan	* toplev.c: Likewise.
15407169689Skan
15408169689SkanWed Jun 28 15:39:26 2000  Donn Terry (donnte@microsoft.com)
15409169689Skan
15410169689Skan	* i386-interix.h (STRIP_NAME_ENCODING): Declare _new_name properly.
15411169689Skan
15412169689Skan	* alpha/alpha-interix.h: Delete redundant -Asystem(interix),
15413169689Skan	use -isystem instead of -idirafter.
15414169689Skan	* i386/i386-interix.h: Likewise.
15415169689Skan
15416169689Skan2000-06-28  Jason Merrill  <jason@redhat.com>
15417169689Skan
15418169689Skan	* dwarf2out.c (output_loc_operands): Don't support >1 byte output
15419169689Skan	unless DWARF2_DEBUGGING_INFO is defined.
15420169689Skan	(ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs.
15421169689Skan
15422169689Skan2000-06-28  Richard Henderson  <rth@cygnus.com>
15423169689Skan
15424169689Skan	* config/alpha/alpha.c (summarize_insn): Ignore SCRATCH.
15425169689Skan
15426169689Skan2000-06-28  Jakub Jelinek  <jakub@redhat.com>
15427169689Skan
15428169689Skan	* cpplex.c (output_line_command): Output correct #line if a header
15429169689Skan	is including itself and is not protected against multiple inclusion.
15430169689Skan
15431169689Skan2000-06-28  Zack Weinberg  <zack@wolery.cumb.org>
15432169689Skan
15433169689Skan	* cppfiles.c (open_include_file): If open(2) returns EMFILE or
15434169689Skan	ENFILE, close all cached file descriptors and try again.
15435169689Skan	(_cpp_execute_include): Keep a count of the number of times
15436169689Skan	each header is included.
15437169689Skan	(close_cached_fd): New function.
15438169689Skan	* cpphash.h (struct include_file): Rename before to
15439169689Skan	include_count; all users updated.  Make include_count and sysp
15440169689Skan	unsigned short.
15441169689Skan	* cppinit.c (cpp_finish): If -H, report headers that could use
15442169689Skan	reinclude guards.
15443169689Skan	(report_missing_guard): New function.
15444169689Skan
15445169689SkanWed Jun 28 14:46:58 MET DST 2000  Jan Hubicka  <jh@suse.cz>
15446169689Skan
15447169689Skan	* i386.md (prologue_set_got): Set length_immediate field.
15448169689Skan	(testqi_ccno_1):  Add missing '@' character.
15449169689Skan
15450169689Skan2000-06-27  Jason Merrill  <jason@redhat.com>
15451169689Skan
15452169689Skan	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Use
15453169689Skan	DWARF_FRAME_REGNUM.
15454169689Skan
15455169689Skan2000-06-27  Andrew Macleod <amacleod@cygnus.com>
15456169689Skan
15457169689Skan	* dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no
15458169689Skan	unsigned macros available.
15459169689Skan
15460169689Skan2000-06-27  Richard Henderson  <rth@cygnus.com>
15461169689Skan
15462169689Skan	* config/ia64/ia64.c (emit_insn_group_barriers): Special case
15463169689Skan	epilogue_deallocate_stack.
15464169689Skan
15465169689Skan	* config/ia64/ia64.c (ia64_print_operand) [case D]: Emit
15466169689Skan	completers for UNORDERED and ORDERED as well.
15467169689Skan	* config/ia64/ia64.md (bunordered, bordered): New.
15468169689Skan	(sunordered, sordered): New.
15469169689Skan
15470169689SkanTue Jun 27 12:14:12 MET DST 2000  Jan Hubicka  <jh@suse.cz>
15471169689Skan
15472169689Skan	* genattrtab.c (write_attr_value): Do not abort for CONST_INT operands.
15473169689Skan	* i386.c (ix86_attr_length_default): Kill.
15474169689Skan	(ix86_attr_length_immediate_default, ix86_attr_length_address_default):
15475169689Skan	New.
15476169689Skan	* i386-protos.h (ix86_attr_length_default): Kill
15477169689Skan	(ix86_attr_length_immediate_default, ix86_attr_length_address_default):
15478169689Skan	Add prototype
15479169689Skan	* i386.md (attribute type): Add "test".
15480169689Skan	(attribute length_prefix): Kill.
15481169689Skan	(attribute length_opcode): Kill.
15482169689Skan	(attribute i387, mode, length_immediate, length_address, prefix_data16,
15483169689Skan	prefix_rep, prefix_0f, modrm): New.
15484169689Skan	(attribute length): Compute using the new attributes.
15485169689Skan	(attribute pent_prefix): New.
15486169689Skan	(attribute pent_pair): Compute using pent_prefix.
15487169689Skan	(all insn patterns): Set mode,modrm and immediate_length attributes where
15488169689Skan	needed.
15489169689Skan	(cmpsi patterns): Compute sizes properly for test instruction.
15490169689Skan	(movsi, movhi patterns): Compute sizes properly for eax shortcuts.
15491169689Skan	(movstricthi_xor, movstrictqi_xor): New patterns.
15492169689Skan	(andsi/andhi): Use splitters to generate xor instructions.
15493169689Skan	(xorqi_ext_1): New pattern.
15494169689Skan	(movstricthi->movstricthi_xor peep2): New.
15495169689Skan
15496169689SkanTue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
15497169689Skan
15498169689Skan	* i386.md (addqi_low_1): Remove.
15499169689Skan
15500169689Skan2000-06-27  Philipp Thomas  <pthomas@suse.de>
15501169689Skan
15502169689Skan	* 1750a.h: Mark help strings for options/switches for translation.
15503169689Skan	* a29k.h: Likewise.
15504169689Skan	* alpha.h: Likewise.
15505169689Skan	* arm.h: Likewise.
15506169689Skan	* pe.h: Likewise.
15507169689Skan	* riscix.h: Likewise.
15508169689Skan	* c4x.h: Likewise.
15509169689Skan	* clipper.h: Likewise.
15510169689Skan	* convex.h: Likewise.
15511169689Skan	* elxsi.h: Likewise.
15512169689Skan	* fr30.h: Likewise.
15513169689Skan	* fx80.h: Likewise.
15514169689Skan	* h8300.h: Likewise.
15515169689Skan	* i370.h: Likewise.
15516169689Skan	* cygwin.h: Likewise.
15517169689Skan	* dgux.h: Likewise.
15518169689Skan	* djgpp.h: Likewise.
15519169689Skan	* i386.h: Likewise.
15520169689Skan	* osf1elf.h: Likewise.
15521169689Skan	* osfrose.h: Likewise.
15522169689Skan	* sco5.h: Likewise.
15523169689Skan	* win32.h: Likewise.
15524169689Skan	* i860.h: Likewise.
15525169689Skan	* paragon.h: Likewise.
15526169689Skan	* i960.h: Likewise.
15527169689Skan	* ia64.h: Likewise.
15528169689Skan	* m32r.h: Likewise.
15529169689Skan	* mcore.h: Likewise.
15530169689Skan	* mips.h: Likewise.
15531169689Skan	* mn10300.h: Likewise.
15532169689Skan	* ns32k.h: Likewise.
15533169689Skan	* pdp11.h: Likewise.
15534169689Skan	* pj.h: Likewise.
15535169689Skan	* aix.h: Likewise.
15536169689Skan	* aix41.h: Likewise.
15537169689Skan	* aix43.h: Likewise.
15538169689Skan	* beos.h: Likewise.
15539169689Skan	* rs6000.h: Likewise.
15540169689Skan	* sysv4.h: Likewise.
15541169689Skan	* linux.h: Likewise.
15542169689Skan	* linux64.h: Likewise.
15543169689Skan	* sp64-elf.h: Likewise.
15544169689Skan	* sparc.h: Likewise.
15545169689Skan	* splet.h: Likewise.
15546169689Skan	* v850.h: Likewise.
15547169689Skan	* convex.h (TARGET_SWITCHES): Provide descriptions and mark them
15548169689Skan	for translation.
15549169689Skan	* sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES.
15550169689Skan	Properly document option and mark for translation.
15551169689Skan	* sp86x-elf.h: Likewise.
15552169689Skan
15553169689Skan2000-06-27  Bernd Schmidt  <bernds@cygnus.co.uk>
15554169689Skan
15555169689Skan	Add MMX and SSE registers to i386 machine description.
15556169689Skan	* i386-protos.h (ix86_constant_alignment, ix86_data_alignment,
15557169689Skan	ix86_local_alignment): Declare.
15558169689Skan
15559169689Skan	* i386.h (TARGET_MMX, TARGET_SSE): New.
15560169689Skan	(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
15561169689Skan	REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
15562169689Skan	REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER,
15563169689Skan	enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers.
15564169689Skan	(FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New.
15565169689Skan	(FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros.
15566169689Skan	(RETURN_IN_MEMORY): Handle MMX/SSE.
15567169689Skan	(REG_PARM_STACK_SPACE): Added so the first three TImode parameters
15568169689Skan	also get stack space.
15569169689Skan	(MUST_PASS_IN_STACK): Added TImode to the default definition.
15570169689Skan	(CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words.
15571169689Skan	(MMX_REGISTER_NAMES): New.
15572169689Skan	(ALIGN_MODE_128): New macro.
15573169689Skan	(CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function.
15574169689Skan	(DATA_ALIGNMENT): Likewise.
15575169689Skan	(LOCAL_ALIGNMENT): Likewise.
15576169689Skan	(CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not
15577169689Skan	TARGET_MMX/TARGET_SSE.
15578169689Skan	(VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros.
15579169689Skan	(REG_CLASS_FROM_LETTER): 'y' for MMX regs.
15580169689Skan	(SECONDARY_MEMORY_NEEDED): Be conservative about copying between
15581169689Skan	SSE/MMX regs and something else.
15582169689Skan	(CLASS_MAX_NREGS): 1 for SSE and MMX regs.
15583169689Skan	(REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs,
15584169689Skan	3 if moving between MMX regs and something else.
15585169689Skan
15586169689Skan	* i386.c (reg_class): Add SSE_REGS, MMX_REGS.
15587169689Skan	(regclass_map): Add MMX/SSE registers.
15588169689Skan	(print_operand): Add code to print XMMWORD as appropriate.
15589169689Skan	(ix86_split_movdi): Abort for MMX regs.
15590169689Skan	(init_cumulative_args): Also allow SSE_REGS
15591169689Skan	(function_arg_advance, function_arg): Likewise
15592169689Skan	(print_reg): Support 'm'.  Add case for TImode.
15593169689Skan	(override_options): TARGET_SSE implies TARGET_MMX.
15594169689Skan	(ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment):
15595169689Skan	New functions.
15596169689Skan
15597169689Skan	* config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to
15598169689Skan	FIRST_SSE_REG.
15599169689Skan	* config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in
15600169689Skan	memory.
15601169689Skan	* config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise.
15602169689Skan	* config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise.
15603169689Skan
15604169689Skan2000-06-26  Geoff Keating  <geoffk@cygnus.com>
15605169689Skan
15606169689Skan	* ssa.c (struct rename_set_data): Change the name of field
15607169689Skan	'set_dest' to 'old_reg'.  Add comments.
15608169689Skan	(struct rename_context): Change the name of 'set_data' to
15609169689Skan	'new_renames'.  Add new field 'done_renames'.
15610169689Skan	(create_delayed_rename): New function.
15611169689Skan	(apply_delayed_renames): New function.
15612169689Skan	(rename_insn_1): Use the new functions.  Handle CLOBBERS.  Handle
15613169689Skan	SUBREGs and similar by emitting a move.
15614169689Skan	(new_registers_for_updates): Delete, functionality moved to
15615169689Skan	apply_delayed_renames.
15616169689Skan	(rename_block): Handle moves emitted by rename_insn_1 by putting
15617169689Skan	them into a SEQUENCE with the original insn.  Add sanity checks
15618169689Skan	and comments.
15619169689Skan	(rename_equivalent_regs_in_insn): Don't handle SUBREGs specially.
15620169689Skan	(rename_equivalent_regs): Expand SEQUENCEs out to individual insns.
15621169689Skan
15622169689Skan2000-06-26  Andrew Macleod <amacleod@cygnus.com>
15623169689Skan	    Jason Merrill <jason@redhat.com>
15624169689Skan
15625169689Skan	* dwarf2.h (enum dwarf_call_frame_info): Add
15626169689Skan	DW_CFA_def_cfa_expression.
15627169689Skan	* dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a
15628169689Skan	dw_loc_descr_struct entry.
15629169689Skan	(struct cfa_loc): New structure to track a CFA location.
15630169689Skan	(lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset.
15631169689Skan	(lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an
15632169689Skan	offset, plus handle DW_CFA_def_cfa_expression.
15633169689Skan	(def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a
15634169689Skan	cfa_loc record.
15635169689Skan	(dwarf2out_def_cfa): Entry point maintained for compatibility.
15636169689Skan	(dwarf_cfi_name): Add DW_CFA_def_cfa_expression.
15637169689Skan	(cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'.
15638169689Skan	(cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'.
15639169689Skan	(initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not
15640169689Skan	cfa_reg.
15641169689Skan	(dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl
15642169689Skan	sequences for the new DW_CFA_def_cfa_expression record.
15643169689Skan	(dwarf2out_frame_debug): Use new variables/fields.A
15644169689Skan	(output_cfi): Handle DW_CFA_def_cfa_expression.
15645169689Skan	(output_cfa_loc): New function to generate a CFI record for
15646169689Skan	DW_CFA_def_cfa_expression.
15647169689Skan	(get_cfa_from_loc_descr): New function to get a cfa_loc record from
15648169689Skan	a dw_loc_descr sequeunce.
15649169689Skan	(build_loc_descr): Build a dw_loc_descr from a cfa_loc record.
15650169689Skan	(dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr,
15651169689Skan	size_of_locs, output_loc_operands, output_loc_sequence): Move into
15652169689Skan	unwind info section.
15653169689Skan	* frame.h (frame_state): Add base_offset and indirect fields.
15654169689Skan	* frame-dwarf2.c (decode_stack_op): New function to interpret a
15655169689Skan	dw_loc_descr operation.
15656169689Skan	(execute_cfa_insn): Add support for DW_CFA_def_cfa_expression.
15657169689Skan	(struct frame_state): Add base offset and indirect fields.
15658169689Skan	* libgcc2.c (next_stack_level): Support indirect loading for CFA.
15659169689Skan
15660169689Skan2000-06-26  Joseph S. Myers  <jsm28@cam.ac.uk>
15661169689Skan
15662169689Skan	* c-decl.c (grokdeclarator): Don't warn about `long long' in C99.
15663169689Skan	Make warnings about implicit int be pedwarns in C99.  Don't warn
15664169689Skan	about duplicate type qualifiers in C99.
15665169689Skan	(start_function): Make warning about implict int return type be a
15666169689Skan	pedwarn in C99.
15667169689Skan	* c-lex.c (yylex): Don't warn about `long long' in C99.
15668169689Skan	* c-typeck.c (c_expand_return): In C99, always pedwarn about
15669169689Skan	`return' with no value in function returning non-void.
15670169689Skan
15671169689Skan2000-06-26  Richard Henderson  <rth@cygnus.com>
15672169689Skan
15673169689Skan	* c-typeck.c (pedwarn_c99): New.
15674169689Skan	* diagnostic.c (verror, vwarning, vpedwarn): Export.
15675169689Skan	* toplev.h: Prototype them.
15676169689Skan
15677169689Skan2000-06-26  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
15678169689Skan
15679169689Skan	* c-typeck.c (digest_init): Return error_mark_node node when
15680169689Skan	TREE_TYPE (init)  == error_mark_node.
15681169689Skan
15682169689Skan2000-06-26  Philipp Thomas  <pthomas@suse.de>
15683169689Skan
15684169689Skan	* aclocal.m4 (AM_WITH_NLS): Don't set MSGFMT or GMSGFMT to no,
15685169689Skan	test for msgfmt without path instead.
15686169689Skan	* configure: Rebuilt.
15687169689Skan
15688169689Skan2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
15689169689Skan
15690169689Skan	* gengenrtl.c (special_rtx): Fix typo in comment.
15691169689Skan
15692169689Skan2000-06-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
15693169689Skan
15694169689Skan	* mklibgcc.in (LIB2FUNCS): Add missing space.
15695169689Skan
15696169689Skan2000-06-24  Bernd Schmidt  <bernds@cygnus.co.uk>
15697169689Skan
15698169689Skan	* tree.h (enum tree_index): Add vector type nodes.
15699169689Skan	Add accessor macros for them.
15700169689Skan	(TYPE_REPRESENATION_TYPE): New macro.
15701169689Skan	* tree.c (build_common_tree_nodes_2): Build these nodes.
15702169689Skan	(finish_vector_type): New function.
15703169689Skan	* c-common.c (type_for_mode): Handle vector modes.
15704169689Skan	* tm.texi (VECTOR_MODE_SUPPORTED_P): Document.
15705169689Skan
15706169689Skan	* dbxout.c (dbxout_type): Handle VECTOR_TYPEs.
15707169689Skan	* dwarf.h (enum dwarf_fundamental_type): Add 128 bit integers.
15708169689Skan	* dwarf2out.c (lookup_type_die): Handle VECTOR_TYPEs.
15709169689Skan	(gen_type_die): Likewise.
15710169689Skan	* dwarfout.c (dwarf_fund_type_name): Handle 128 bit integers.
15711169689Skan	(fundamental_type_code): Likewise.
15712169689Skan	(type_is_fundamental): VECTOR_TYPEs aren't.
15713169689Skan	(output_type): Handle VECTOR_TYPEs.
15714169689Skan
15715169689Skan2000-06-25  Kazu Hirata  <kazu@hxi.com>
15716169689Skan
15717169689Skan	* config/arm.c: Fix a comment typo.
15718169689Skan	* config/arm.h: Likewise.
15719169689Skan
15720169689Skan2000-06-25  Philipp Thomas  <pthomas@suse.de>
15721169689Skan
15722169689Skan	* aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog
15723169689Skan	compiler found.
15724169689Skan	AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no.
15725169689Skan	* configure: Rebuilt.
15726169689Skan
15727169689Skan2000-06-25  John David Anglin  <dave.anglin@nrc.ca>
15728169689Skan
15729169689Skan	* config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
15730169689Skan
15731169689Skan2000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
15732169689Skan
15733169689Skan	* mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2FUNCS when generating
15734169689Skan	libgcc.a.
15735169689Skan
15736169689Skan2000-06-24  Marc Espie <espie@cvs.openbsd.org>
15737169689Skan
15738169689Skan	* collect2.c (resolve_lib_name): Move '/' check out of loop.
15739169689Skan
15740169689Skan2000-06-24  Dirk Duellmann  <Dirk.Duellmann@cern.ch>
15741169689Skan
15742169689Skan	* ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0.
15743169689Skan
15744169689Skan2000-06-24  Jakub Jelinek  <jakub@redhat.com>
15745169689Skan
15746169689Skan	* stmt.c (expand_decl_cleanup): Emit a dummy insn after
15747169689Skan	last_unconditional_cleanup.
15748169689Skan
15749169689Skan2000-06-24  Bernd Schmidt  <bernds@cygnus.co.uk>
15750169689Skan
15751169689Skan	* tree.def (VECTOR_TYPE): New node type.
15752169689Skan	* tree.h: Adjust some comments to reflect addition of vector types.
15753169689Skan	(TYPE_VECTOR_SUBPARTS): New macro.
15754169689Skan	* stor-layout.c (layout_type): Handle VECTOR_TYPE.
15755169689Skan	* c-convert.c (convert): Likewise.
15756169689Skan	* convert.c (convert_to_integer): Handle vector modes.
15757169689Skan	(convert_to_vector): New function.
15758169689Skan	* convert.h (convert_to_vector): Declare.
15759169689Skan	* expr.c (convert_move): Handle vector modes.
15760169689Skan	* expmed.c (extract_bit_field): Don't abort for vector modes.
15761169689Skan
15762169689Skan2000-06-24  Marek Michalkiewicz  <marekm@linux.org.pl>
15763169689Skan
15764169689Skan	* config/avr/avr-protos.h (avr_hard_regno_mode_ok): New prototype.
15765169689Skan	* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr):
15766169689Skan	New functions, common code moved from function_{prologue,epilogue}
15767169689Skan	and extended to support the -mtiny-stack option.
15768169689Skan	(function_prologue, function_epilogue): Use them.
15769169689Skan	Use lo8/hi8 consistently for asm output readability.
15770169689Skan	(avr_hard_regno_mode_ok): New function.
15771169689Skan	* config/avr/avr.h (TARGET_SWITCHES): Fix typo.  Add -mtiny-stack.
15772169689Skan	(UNITS_PER_WORD): Define as 4 (not 1) when compiling libgcc2.c.
15773169689Skan	(HARD_REGNO_MODE_OK): Call the avr_hard_regno_mode_ok function.
15774169689Skan	* config/avr/avr.md (*mov_sp_r): Add support for -mtiny-stack.
15775169689Skan	Write SPH before SPL.
15776169689Skan	(*movqi): No need to disable interrupts for just one "out"
15777169689Skan	in alternative 5.  Change length attribute from 4 to 1.
15778169689Skan	* config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
15779169689Skan	Write SPH before SPL.
15780169689Skan
15781169689Skan2000-06-24  Bernd Schmidt  <bernds@cygnus.co.uk>
15782169689Skan
15783169689Skan	* rtl.texi (Vector Operations): New node.
15784169689Skan	(Arithmetic): Add ss_plus, us_plus, ss_minus, us_minus.
15785169689Skan	(Conversions): Add ss_truncate, us_truncate.
15786169689Skan	* rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_REORDER,
15787169689Skan	VEC_CONST, VEC_DUPLICATE, SS_PLUS, SS_MINUS, SS_TRUNCATE,
15788169689Skan	US_TRUNCATE): New rtx codes.
15789169689Skan	* machmode.def: Add vector modes.
15790169689Skan	* machmode.h (enum mode_class): Add MODE_VECTOR_INT and
15791169689Skan	MODE_VECTOR_FLOAT.
15792169689Skan	(INTEGER_MODE_P): Check for MODE_VECTOR_INT.
15793169689Skan	(FLOAT_MODE_P): Check for MODE_VECTOR_FLOAT.
15794169689Skan	(VECTOR_MODE_P): New.
15795169689Skan
15796169689Skan2000-06-24  Nathan Sidwell  <nathan@codesourcery.com>
15797169689Skan
15798169689Skan	* cpp.texi: Clarify #pragma GCC namespace.
15799169689Skan
15800169689Skan2000-06-24  Philipp Thomas  <pthomas@suse.de>
15801169689Skan
15802169689Skan	* aclocal.m4(AM_GNU_GETTEXT): If LINGUAS isn't set, build
15803169689Skan	all catalogs specified in ALL_LINGUAS.
15804169689Skan	* configure: Rebuilt.
15805169689Skan
15806169689Skan2000-06-23  Jakub Jelinek  <jakub@redhat.com>
15807169689Skan
15808169689Skan	* config/sparc/sparc.md (reload_outdi+1): Handle
15809169689Skan	HOST_BITS_PER_WIDE_INT == 64 case correctly.
15810169689Skan	(adddi3_insn_sp32+1, adddi3_insn_sp32+2, andsi3+2): Likewise.
15811169689Skan
15812169689Skan2000-06-23  Geoffrey Keating  <geoffk@cygnus.com>
15813169689Skan
15814169689Skan	* alias.c (fixed_scalar_and_varying_struct_p): Don't examine
15815169689Skan	struct vs. scalar-ness when -fno-strict-aliasing.
15816169689Skan
15817169689Skan2000-06-23  Nathan Sidwell  <nathan@codesourcery.com>
15818169689Skan
15819169689Skan	* cpplib.c (struct pragma_entry): New structure.
15820169689Skan	(pragma_dispatch): Pragma dispatcher.
15821169689Skan	(top_pragmas, gcc_pragmas): New static variables.
15822169689Skan	(do_pragma): Use pragma_dispatch.
15823169689Skan	(do_pragma_gcc): New pragma handler.
15824169689Skan	* cpp.texi: Update.
15825169689Skan
15826169689Skan2000-06-23  Jakub Jelinek  <jakub@redhat.com>
15827169689Skan
15828169689Skan	* calls.c (compute_argument_addresses): Force stack slots into
15829169689Skan	alias set 0.
15830169689Skan	* expr.c (emit_push_insn): Force pushes into alias set 0.
15831169689Skan
15832169689Skan2000-06-23  Richard Henderson  <rth@cygnus.com>
15833169689Skan
15834169689Skan	* config/ia64/ia64.md (pred_rel_mutex): Only take one register.
15835169689Skan	* config/ia64/ia64.c (emit_predicate_relation_info): Adjust to match.
15836169689Skan
15837169689Skan2000-06-22  Jason Merrill  <jason@redhat.com>
15838169689Skan
15839169689Skan	* toplev.c (compile_file): Always call timevar_print.
15840169689Skan	* Makefile.in (calls.o): Depend on TIMEVAR_H.
15841169689Skan
15842169689Skan2000-06-22  Nathan Sidwell  <nathan@codesourcery.com>
15843169689Skan
15844169689Skan	* varasm.c (constant_descriptor): Make contents unsigned char.
15845169689Skan	(mark_const_hash_entry): Adjust.
15846169689Skan	(const_hash): Just hash the code of unknown nodes.
15847169689Skan	(compare_constant_1): Adjust for unsigned char.
15848169689Skan	Use language specific expander on unknown nodes.
15849169689Skan	(record_constant_1): Likewise.
15850169689Skan
15851169689Skan2000-06-21  Zack Weinberg  <zack@wolery.cumb.org>
15852169689Skan
15853169689Skan	* cppfiles.c (cpp_make_system_header): New function.
15854169689Skan	* cpplib.h: Prototype it.
15855169689Skan	* cpplib.c (do_line, do_pragma_system_header): Use it.
15856169689Skan	* fix-header.c (read_scan_file): Use it.
15857169689Skan
15858169689Skan	* fix-header.c (check_macro_names): Cast second arg of
15859169689Skan	cpp_defined to const unsigned char *.
15860169689Skan	(read_scan_file): Make getchar_call const unsigned char.
15861169689Skan
15862169689Skan2000-06-21  Zack Weinberg  <zack@wolery.cumb.org>
15863169689Skan
15864169689Skan	* cppfiles.c: Include splay-tree.h, not hashtab.h.
15865169689Skan	(redundant_include_p, make_IHASH, hash_IHASH, eq_IHASH): Delete.
15866169689Skan	(destroy_include_file_node): New.
15867169689Skan	(_cpp_init_include_hash): Rename _cpp_init_include_table.
15868169689Skan	Create a splay tree, not a hash table.
15869169689Skan	(open_include_file): Look up the path in the include table,
15870169689Skan	do the multiple include optimization here, etc.
15871169689Skan	(cpp_included): Walk the path.
15872169689Skan	(find_include_file): Just walk the path calling
15873169689Skan	open_include_file, or call it directly for an absolute path.
15874169689Skan	(_cpp_fake_ihash): Rename _cpp_fake_include and update for new
15875169689Skan	scheme.
15876169689Skan	(read_include_file): Update for new scheme.  Don't close the
15877169689Skan	file unless reading fails.
15878169689Skan	(_cpp_execute_include, cpp_read_file): Tweak for new scheme.
15879169689Skan
15880169689Skan	* cpphash.h (struct ihash, NEVER_REINCLUDE): Delete.
15881169689Skan	(struct include_file): New.
15882169689Skan	(NEVER_REREAD, DO_NOT_REREAD, CPP_IN_SYSTEM_HEADER): New
15883169689Skan	macros.
15884169689Skan	(CPP_PEDANTIC, CPP_WTRADITIONAL): Update.
15885169689Skan	Update prototypes.
15886169689Skan
15887169689Skan	* cppinit.c: Include splay-tree.h.
15888169689Skan	(cpp_reader_init, cpp_cleanup): Update.
15889169689Skan
15890169689Skan	* cpplib.h (struct cpp_buffer): Change ihash field to
15891169689Skan	'struct include_file *inc'.  Remove system_header_p.
15892169689Skan	(struct cpp_reader): Change all_include_files to a
15893169689Skan	struct splay_tree_s *.
15894169689Skan
15895169689Skan	* cpplex.c: Update all references to cpp_buffer->ihash and/or
15896169689Skan	cpp_buffer->system_header_p.
15897169689Skan	(cpp_pop_buffer): Close file here, only if DO_NOT_REREAD.
15898169689Skan
15899169689Skan	* Makefile.in (SPLAY_TREE_H): New macro.
15900169689Skan	(cppfiles.o, cppinit.o): Update dependencies.
15901169689Skan
15902169689SkanWed Jun 21 11:05:48 2000  Martin Buchholz <martin@xemacs.org>
15903169689Skan
15904169689Skan	* invoke.texi (g++): "g++" is not a script anymore.
15905169689Skan
15906169689Skan2000-06-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
15907169689Skan
15908169689Skan	* function.c (round_down): Delete obsolete prototype.
15909169689Skan
15910169689Skan	* pa.h (CPP_SPEC): Add whitespace after -D__STDC_EXT__.
15911169689Skan
15912169689Skan2000-06-20  Zack Weinberg  <zack@wolery.cumb.org>
15913169689Skan
15914169689Skan	* configure.in: Use 'test a = b' not 'test a == b'.
15915169689Skan	* configure: Regen.
15916169689Skan
15917169689Skan	* Makefile.in (fix-header): Link with $(LIBS) not $(HOST_LIBS).
15918169689Skan
15919169689Skan	* Makefile.in: Remove all references to HOST_INTLLIBS.
15920169689Skan
15921169689Skan	* cpplex.c (parse_name): Don't warn about $ in identifiers if
15922169689Skan	skipping.
15923169689Skan
15924169689Skan2000-06-20  Philipp Thomas  <pthomas@suse.de>
15925169689Skan
15926169689Skan	* config/pa/pa.h(TARGET_SWITCHES): Require binutils 2.10 or later
15927169689Skan	for PA 2.0.
15928169689Skan
15929169689SkanMon Jun 19 23:26:40 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
15930169689Skan
15931169689Skan	* Take REG_INC notes into account.
15932169689Skan
15933169689Skan2000-06-19  Zack Weinberg  <zack@wolery.cumb.org>
15934169689Skan
15935169689Skan	* c-parse.in (undeclared_variable_notice): Moved to c-typeck.c.
15936169689Skan	(primary: IDENTIFIER): Just call build_external_ref.
15937169689Skan	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
15938169689Skan	Regenerate.
15939169689Skan	* c-lex.c (lastiddecl): Remove.
15940169689Skan	(yylex): Replace all instances of lastiddecl with local
15941169689Skan	variables.
15942169689Skan
15943169689Skan	* c-typeck.c (build_external_ref): New function.  Treat decls
15944169689Skan	with C_DECL_ANTICIPATED mostly the same as nonexistent decls.
15945169689Skan	Look up the decl from the id here.  Call lookup_objc_ivar.
15946169689Skan	* c-lang.c (lookup_objc_ivar): Stub.
15947169689Skan	* objc/objc-act.c (lookup_objc_ivar): New function.
15948169689Skan
15949169689Skan	* c-tree.h: Prototype lookup_objc_ivar and build_external_ref.
15950169689Skan	* c-lex.h: Don't declare lastiddecl.
15951169689Skan
15952169689Skan2000-06-19  Benjamin Chelf  <chelf@codesourcery.com>
15953169689Skan
15954169689Skan	* c-common.h (IF_COND): Added documentation.
15955169689Skan	(THEN_CLAUSE): Likewise.
15956169689Skan	(ELSE_CLAUSE): Likewise.
15957169689Skan	(WHILE_COND): Likewise.
15958169689Skan	(WHILE_BODY): Likewise.
15959169689Skan	(DO_COND): Likewise.
15960169689Skan	(DO_BODY): Likewise.
15961169689Skan	(RETURN_EXPR): Likewise.
15962169689Skan	(EXPR_STMT_EXPR): Likewise.
15963169689Skan	(FOR_INIT_STMT): Likewise.
15964169689Skan	(FOR_COND): Likewise.
15965169689Skan	(FOR_EXPR): Likewise.
15966169689Skan	(FOR_BODY): Likewise.
15967169689Skan	(SWITCH_COND): Likewise.
15968169689Skan	(SWITCH_BODY): Likewise.
15969169689Skan	(CASE_LOW): Likewise.
15970169689Skan	(CASE_HIGH): Likewise.
15971169689Skan	(GOTO_DESTINATION): Likewise.
15972169689Skan	(COMPOUND_BODY): Likewise.
15973169689Skan	(ASM_CV_QUAL): Likewise.
15974169689Skan	(ASM_STRING): Likewise.
15975169689Skan	(ASM_OUTPUTS): Likewise.
15976169689Skan	(ASM_INPUTS): Likewise.
15977169689Skan	(ASM_CLOBBERS): Likewise.
15978169689Skan	(DECL_STMT_DECL): Likewise.
15979169689Skan	(STMT_EXPR_STMT): Likewise.
15980169689Skan	(LABEL_STMT_LABEL): Likewise.
15981169689Skan
15982169689Skan	* c-common.def: Added documenetion for SRCLOC, EXPR_STMT,
15983169689Skan	COMPOUND_STMT, DECL_STMT, IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT,
15984169689Skan	RETURN_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT, GOTO_STMT,
15985169689Skan	LABEL_STMT, ASM_STMT, SCOPE_STMT, CASE_LABEL, STMT_EXPR.
15986169689Skan
15987169689Skan2000-06-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15988169689Skan
15989169689Skan	* configure.in (--enable-checking): Update --help doc to reflect
15990169689Skan	new defaults.  Ensure $ac_save_IFS is set before $IFS is changed.
15991169689Skan
15992169689SkanSun Jun 18 21:42:15 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15993169689Skan
15994169689Skan	* gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK.
15995169689Skan
15996169689Skan	* function.c (put_var_into_stack): Don't reference DECL_ fields
15997169689Skan	if input is a SAVE_EXPR.
15998169689Skan	Use set_mem_attributes in COMPLEX case.
15999169689Skan
16000169689Skan2000-06-18  Richard Henderson  <rth@cygnus.com>
16001169689Skan
16002169689Skan	* config/ia64/ia64-protos.h (process_for_unwind_directive): Declare.
16003169689Skan	(ia64_file_start): Declare.
16004169689Skan	* config/ia64/ia64.h (ADDL_REGNO_P): Don't compare unsigned against 0.
16005169689Skan	(GR_REGNO_P): Likewise.
16006169689Skan	* config/ia64/ia64.c: Many prototypes.
16007169689Skan	(ia64_reg_numbers): Constify.
16008169689Skan	(ia64_input_reg_names, ia64_local_reg_names): Likewise.
16009169689Skan	(ia64_section_threshold): Make unsigned.
16010169689Skan	(ia64_print_operand): Constify.
16011169689Skan	(fix_range): Constify.
16012169689Skan	(ia64_init_builtins): Don't compare signed vs unsigned.
16013169689Skan	(ia64_expand_builtin): Likewise.
16014169689Skan
16015169689Skan	* config/ia64/ia64.h (EXTRA_CONSTRAINT): New.
16016169689Skan	(CONSTRAINT_OK_FOR_Q): New.
16017169689Skan	* config/ia64/ia64.md (movdi_internal): Use Q for fp<->mem.
16018169689Skan	(movsf_internal, movdf_internal): Likewise.
16019169689Skan	(cmovdi_internal): Rewrite so that constraints and predicates match;
16020169689Skan	simplify splitters.
16021169689Skan	(cmovsi_internal): Likewise.
16022169689Skan
16023169689Skan	* config/ia64/ia64.h (ASM_SPEC): Add -x for gas.
16024169689Skan	(ASM_FILE_START): New.
16025169689Skan	* config/ia64/ia64.c (ia64_file_start): New.
16026169689Skan	(rtx_needs_barrier): Handle pred.rel.mutex.
16027169689Skan	(emit_predicate_relation_info): New.
16028169689Skan	* config/ia64/ia64.md (pred_rel_mutex): New.
16029169689Skan	* config/ia64/linux.h (ASM_SPEC): Define.
16030169689Skan	* config/ia64/sysv4.h (ASM_FILE_START): Define.
16031169689Skan
16032169689Skan	* config/ia64/ia64.c (ia64_encode_section_info): Fix thinko
16033169689Skan	filtering global register variables.
16034169689Skan
16035169689Skan2000-06-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16036169689Skan
16037169689Skan	* c-common.c (add_c_tree_codes): Fix definition for traditional C.
16038169689Skan
16039169689Skan2000-06-17  Michael Meissner  <meissner@redhat.com>
16040169689Skan
16041169689Skan	* gcc.c (do_spec_1, '%v3' case): Do not abort if patch level is
16042169689Skan	not present and there is a field after a '-'.
16043169689Skan
16044169689Skan2000-06-17  Bruce Korb  <bkorb@gnu.org>
16045169689Skan
16046169689Skan	* fixinc/check.tpl:  finish the implementation of multiple tests
16047169689Skan	for a single fix
16048169689Skan	* fixinc/inclhack.def(ctrl_quotes_def): add a second test
16049169689Skan	(io_quotes_def): add a second test
16050169689Skan	(various): reorder `files' so that "limits.h" is never first
16051169689Skan	* fixinc/tests/base/*: update the testing output
16052169689Skan
16053169689SkanSat Jun 17 10:33:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16054169689Skan
16055169689Skan	* gcc.texi: Remove reference to stupid.c.
16056169689Skan
16057169689Skan2000-06-16  Benjamin Chelf  <chelf@codesourcery.com>
16058169689Skan
16059169689Skan	* c-common.c (c_tree_code_type): New array.
16060169689Skan	(c_tree_code_length): Likewise.
16061169689Skan	(c_tree_code_name): Likewise.
16062169689Skan	(add_c_tree_codes): New function.
16063169689Skan
16064169689Skan	* c-common.h (add_c_tree_codes): Declare.
16065169689Skan	(enum c_tree_code): New enum.
16066169689Skan
16067169689Skan	* c-lex.c (init_parse): Added call to add_c_tree_codes.
16068169689Skan
16069169689Skan2000-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16070169689Skan
16071169689Skan	* fixinc/inclhack.def (ctrl_quotes_def, io_quotes_def): Modify
16072169689Skan	select pattern to also match macro defs with only one argument.
16073169689Skan
16074169689SkanThu Jun 15 18:56:12 2000  Jeffrey A Law  (law@cygnus.com)
16075169689Skan
16076169689Skan	* i386.md: Create new [right,left] rotate and right shift
16077169689Skan	patterns to optimize shift by 1 bit for certain ia32 processors.
16078169689Skan	Update patterns which perform left shifts to optimize shift by
16079169689Skan	1 bit for certain ia32 processors.
16080169689Skan	* i386.c (const_int_1_operand): New predicate.
16081169689Skan	* i386.h (PREDICATE_CODES): Handle const_int_1_operand.
16082169689Skan	* i386-protos.h (const_int_1_operand): Prototype.
16083169689Skan
16084169689SkanWed Jun 14 23:46:26 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
16085169689Skan
16086169689Skan	* mips.c (machine_dependent_reorg): Fix braces for nested if.
16087169689Skan
16088169689Skan2000-06-14  Geoff Keating  <geoffk@cygnus.com>
16089169689Skan
16090169689Skan	* rs6000.c (toc_hash_eq): Use CODE_LABEL_NUMBER to compare
16091169689Skan	LABEL_REFs.
16092169689Skan
16093169689Skan2000-06-14  Richard Henderson  <rth@cygnus.com>
16094169689Skan
16095169689Skan	* conflict.c (conflict_graph_compute): Don't look for REG_INC.
16096169689Skan
16097169689Skan	* config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit
16098169689Skan	auto-inc code.
16099169689Skan
16100169689Skan	* print-rtl.c (print_rtx): Emit space before mem alias set.
16101169689Skan
16102169689Skan2000-06-14  David Edelsohn  <edelsohn@gnu.org>
16103169689Skan
16104169689Skan	* rs6000.c (expand_block_move): Fix typo in earlier change.
16105169689Skan	(print_operand): Remove unused variables neg and op.
16106169689Skan	(toc_hash_mark_entry): Fix prototype.
16107169689Skan
16108169689Skan2000-06-14  Benjamin Chelf  <chelf@codesourcery.com>
16109169689Skan
16110169689Skan	* c-common.h (IF_COND): Moved here from cp/cp-tree.h.
16111169689Skan	(THEN_CLAUSE): Likewise.
16112169689Skan	(ELSE_CLAUSE): Likewise.
16113169689Skan	(WHILE_COND): Likewise.
16114169689Skan	(WHILE_BODY): Likewise.
16115169689Skan	(DO_COND): Likewise.
16116169689Skan	(DO_BODY): Likewise.
16117169689Skan	(RETURN_EXPR): Likewise.
16118169689Skan	(EXPR_STMT_EXPR): Likewise.
16119169689Skan	(FOR_INIT_STMT): Likewise.
16120169689Skan	(FOR_COND): Likewise.
16121169689Skan	(FOR_EXPR): Likewise.
16122169689Skan	(FOR_BODY): Likewise.
16123169689Skan	(SWITCH_COND): Likewise.
16124169689Skan	(SWITCH_BODY): Likewise.
16125169689Skan	(CASE_LOW): Likewise.
16126169689Skan	(CASE_HIGH): Likewise.
16127169689Skan	(GOTO_DESTINATION): Likewise.
16128169689Skan	(COMPOUND_BODY): Likewise.
16129169689Skan	(ASM_CV_QUAL): Likewise.
16130169689Skan	(ASM_STRING): Likewise.
16131169689Skan	(ASM_OUTPUTS): Likewise.
16132169689Skan	(ASM_INPUTS): Likewise.
16133169689Skan	(ASM_CLOBBERS): Likewise.
16134169689Skan	(DECL_STMT_DECL): Likewise.
16135169689Skan	(STMT_EXPR_STMT): Likewise.
16136169689Skan	(LABEL_STMT_LABEL): Likewise.
16137169689Skan	(SCOPE_BEGIN_P): Likewise.
16138169689Skan	(SCOPE_END_P): Likewise.
16139169689Skan	(SCOPE_STMT_BLOCK): Likewise.
16140169689Skan	(SCOPE_NULLIFIED_P): Likewise.
16141169689Skan	(SCOPE_NO_CLEANUPS_P): Likewise.
16142169689Skan	(SCOPE_PARTIAL_P): Likewise.
16143169689Skan	(ASM_VOLATILE_P): Likewise.
16144169689Skan	(STMT_LINENO): Likewise.
16145169689Skan	(STMT_LINENO_FOR_FN_P): Likewise.
16146169689Skan
16147169689Skan	* c-common.def: New file. Added SRCLOC, SIZEOF_EXPR, ARROW_EXPR,
16148169689Skan	ALIGNOF_EXPR, EXPR_STMT, COMPOUND_STMT, DECL_STMT, IF_STMT,
16149169689Skan	FOR_STMT, WHILE_STMT, DO_STMT, RETURN_STMT, BREAK_STMT,
16150169689Skan	CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, LABEL_STMT, ASM_STMT,
16151169689Skan	SCOPE_STMT, CASE_LABEL, STMT_EXPR.
16152169689Skan
16153169689Skan	* gencheck.c (tree_codes[]): Added '#include "c-common.def"'.
16154169689Skan
16155169689Skan2000-06-14  David O'Brien  <obrien@FreeBSD.org>
16156169689Skan
16157169689Skan	* gcc.c (main): Quiet compiler warnings.  argv is assumed to be
16158169689Skan	writable in parts of the GCC code.
16159169689Skan
16160169689Skan	* config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Make printf
16161169689Skan	specification match cast.
16162169689Skan
16163169689SkanWed Jun 14 09:25:57 2000  Jeffrey A Law  (law@cygnus.com)
16164169689Skan
16165169689Skan	* configure.in: Revert AC_TYPE_GETGROUPS patch from June 13.
16166169689Skan	* configure, config.in: Rebuilt.
16167169689Skan	* sys-protos.h: Similarly.
16168169689Skan
16169169689SkanWed Jun 14 03:39:58 EDT 2000  John Wehle  (john@feith.com)
16170169689Skan
16171169689Skan	* ifcvt.c (EDGE_COMPLEX): Move definition ...
16172169689Skan	* basic-block.h (EDGE_COMPLEX): ... here.
16173169689Skan
16174169689Skan	* loop.c (check_dbra_loop): Specify the register when
16175169689Skan	generating REG_NONNEG notes and don't generate duplicates.
16176169689Skan
16177169689Skan2000-06-13  Jakub Jelinek  <jakub@redhat.com>
16178169689Skan
16179169689Skan	* tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
16180169689Skan	(struct tree_type, struct tree_decl): Add user_align member.
16181169689Skan	* stor-layout.c (layout_decl): Set DECL_USER_ALIGN.
16182169689Skan	(place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined
16183169689Skan	and DECL_USER_ALIGN 0, cap alignment to this value.
16184169689Skan	(place_field): Likewise.
16185169689Skan	(finalize_type_size): Set TYPE_USER_ALIGN.
16186169689Skan	(layout_type): Likewise.
16187169689Skan	(initialize_sizetypes): Likewise.
16188169689Skan	* c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp.
16189169689Skan	DECL_USER_ALIGN to 1.
16190169689Skan	* c-decl.c (duplicate_decls): Set DECL_USER_ALIGN.
16191169689Skan	(xfer_tag): Set TYPE_USER_ALIGN.
16192169689Skan	(finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16193169689Skan	(finish_enum): Likewise.
16194169689Skan	* stmt.c (expand_decl): Set DECL_USER_ALIGN.
16195169689Skan	(expand_anon_union_decl): Likewise.
16196169689Skan	* tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16197169689Skan	(build_index_type): Set TYPE_USER_ALIGN.
16198169689Skan	(build_range_type): Likewise.
16199169689Skan	(build_common_tree_nodes_2): Likewise.
16200169689Skan	* tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning.
16201169689Skan
16202169689Skan2000-06-13  Andreas Jaeger  <aj@suse.de>
16203169689Skan
16204169689Skan	* configure.in: Use --enable-checking=misc,tree,gc by default if
16205169689Skan	no --enable-checking option is given and for
16206169689Skan	--enable-checking=yes.
16207169689Skan	* configure: Rebuilt.
16208169689Skan
16209169689Skan2000-06-13  Richard Henderson  <rth@cygnus.com>
16210169689Skan
16211169689Skan	* libgcc2.c (ia64_throw_helper): Use __builtin_return_address.
16212169689Skan	(__throw): Don't pass the address of a label.
16213169689Skan
16214169689Skan	* config/ia64/ia64.c (ia64_compute_frame_size): Use
16215169689Skan	current_function_is_leaf.
16216169689Skan	(ia64_expand_prologue): Likewise.  Modify return_address_pointer_rtx
16217169689Skan	instead of reg_names[RETURN_ADDRESS_REGNUM].
16218169689Skan	(ia64_init_machine_status): Reset return_address_pointer_rtx.
16219169689Skan	* config/ia64/ia64.h (RETURN_ADDRESS_POINTER_REGNUM): Rename
16220169689Skan	from RETURN_ADDRESS_REGNUM.  Update all uses.
16221169689Skan	(RETURN_ADDR_RTX): Use return_address_pointer_rtx; return
16222169689Skan	zero instead of null on failure.
16223169689Skan	(ELIMINABLE_REGS): Add ra->b0 elimination.
16224169689Skan	(CAN_ELIMINATE): Update accordingly.
16225169689Skan	(INITIAL_ELIMINATION_OFFSET): Likewise.
16226169689Skan	(REGISTER_NAMES): Use an illegal assembler name for
16227169689Skan	RETURN_ADDRESS_POINTER_REGNUM.
16228169689Skan
16229169689Skan2000-06-13  Richard Henderson  <rth@cygnus.com>
16230169689Skan
16231169689Skan	* config/ia64/ia64.h (enum reg_class): Remove FR_INT_REGS, FR_FP_REGS,
16232169689Skan	GR_AND_FR_INT_REGS, GR_AND_FR_FP_REGS.
16233169689Skan	(REG_CLASS_NAMES): Likewise.
16234169689Skan	(REG_CLASS_CONTENTS): Likewise.
16235169689Skan	(FR_FP_REGNO_P, FR_INT_REGNO_P): Remove.
16236169689Skan	(HARD_REGNO_MODE_OK): Remove references to them.
16237169689Skan	(REGNO_REG_CLASS): Likewise.
16238169689Skan	(REG_CLASS_FROM_LETTER): Likewise.
16239169689Skan	(CLASS_MAX_NREGS): Likewise.
16240169689Skan	(REGISTER_MOVE_COST): Likewise.
16241169689Skan	* config/ia64/ia64.c (ia64_secondary_reload_class): Likewise.
16242169689Skan	* config/ia64/ia64.md (*): Replace "e" constraints with "f".
16243169689Skan	(movqi_internal): Special case moves from zero.
16244169689Skan	(movhi_internal, movsi_internal): Likewise.
16245169689Skan	(movdi_internal): Likewise.  Fill out "f" constraints.
16246169689Skan	(movsf_internal): Fill out "r" constraints.
16247169689Skan	(movdf_internal): Likewise.
16248169689Skan
16249169689Skan2000-06-13  Richard Henderson  <rth@cygnus.com>
16250169689Skan
16251169689Skan	* flow.c (insn_dead_p): Keep sets to PIC_OFFSET_TABLE_REGNUM
16252169689Skan	alive before reload.
16253169689Skan
16254169689Skan	* haifa-sched.c (struct deps): Add in_post_call_group_p.
16255169689Skan	(add_dependence): Handle notes between SCHED_GROUP_P insns.
16256169689Skan	(remove_dependence): Always define.
16257169689Skan	(set_sched_group_p): New.
16258169689Skan	(sched_analyze_2): Use it.
16259169689Skan	(sched_analyze_insn): Don't special-case naked uses.  Look for
16260169689Skan	and extend in_post_call_group_p.
16261169689Skan	(sched_analyze): Clear stale SCHED_GROUP_P.  Set in_post_call_group_p.
16262169689Skan	(init_deps): Clear in_post_call_group_p.
16263169689Skan
16264169689Skan2000-06-13  Richard Henderson  <rth@cygnus.com>
16265169689Skan
16266169689Skan	* combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and
16267169689Skan	CLASS_CANNOT_CHANGE_MODE_P instead of CLASS_CANNOT_CHANGE_SIZE
16268169689Skan	and hard-coded tests.
16269169689Skan	(simplify_set): Likewise.
16270169689Skan	(gen_lowpart_for_combine): Likewise.
16271169689Skan	* emit-rtl.c (gen_lowpart_common): Likewise.
16272169689Skan	* global.c (find_reg): Likewise.
16273169689Skan	* local-alloc.c (find_free_reg): Likewise.
16274169689Skan	* recog.c (register_operand): Likewise.
16275169689Skan	* regclass.c (init_reg_sets_1): Likewise.
16276169689Skan	(record_operand_costs, regclass): Likewise.
16277169689Skan	* reload.c (push_reload): Likewise.
16278169689Skan	* reload1.c (choose_reload_regs): Likewise.
16279169689Skan	* flow.c (mark_used_regs): Conditionally set REG_CHANGES_MODE.
16280169689Skan	* local-alloc.c (struct qty): Rename changes_size to changes_mode.
16281169689Skan	Update all references.
16282169689Skan	* regs.h (struct reg_info_def): Likewise.
16283169689Skan	(REG_CHANGES_MODE): Rename from REG_CHANGES_SIZE.
16284169689Skan	* tm.texi (CLASS_CANNOT_CHANGE_MODE): Document.
16285169689Skan	(CLASS_CANNOT_CHANGE_MODE_P): Likewise.
16286169689Skan
16287169689Skan	* config/alpha/alpha.h (CLASS_CANNOT_CHANGE_MODE): Rename.
16288169689Skan	(CLASS_CANNOT_CHANGE_MODE_P): New.
16289169689Skan	* config/mips/mips.h: Likewise.
16290169689Skan	* config/pa/pa32-regs.h: Likewise.
16291169689Skan	* config/pa/pa64-regs.h: Likewise.
16292169689Skan	* config/rs6000/rs6000.h: Likewise.
16293169689Skan	* config/sh/sh.h: Likewise.
16294169689Skan	* config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE): New.
16295169689Skan	(CLASS_CANNOT_CHANGE_MODE_P): New.
16296169689Skan	* config/avr/avr.h (CLASS_CANNOT_CHANGE_SIZE): Remove dead code.
16297169689Skan	* config/d30v/d30v.h: Likewise.
16298169689Skan
16299169689Skan2000-06-13  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
16300169689Skan
16301169689Skan	* configure.in: Add AC_TYPE_GETGROUPS test.
16302169689Skan	* sys-protos.h: Use GETGROUPS_T * for second arg of getgroups.
16303169689Skan	* configure: Rebuilt.
16304169689Skan	* config.in: Rebuilt.
16305169689Skan
16306169689Skan2000-06-13  Richard Henderson  <rth@cygnus.com>
16307169689Skan
16308169689Skan	* explow.c (set_mem_attributes): Do nothing for NULL type.
16309169689Skan
16310169689SkanTue Jun 13 14:45:10 2000  Jeffrey A Law  (law@cygnus.com)
16311169689Skan
16312169689Skan	* config/m68k/openbsd.h (ASM_SPEC): pass down options to assembler
16313169689Skan	correctly.
16314169689Skan
16315169689Skan2000-06-13  James E. Wilson  <wilson@cygnus.com>
16316169689Skan
16317169689Skan	* config/ia64/ia64.md (movxf_internal): Add missing "e" to ldf/stf.
16318169689Skan
16319169689SkanTue Jun 13 14:05:35 2000  Jeffrey A Law  (law@cygnus.com)
16320169689Skan
16321169689Skan	* Makefile.in (gensupport.o): Remove bogus $(HOST_PREFIX) reference.
16322169689Skan
16323169689Skan2000-06-13  Philipp Thomas  <pthomas@suse.de>
16324169689Skan
16325169689Skan	* configure.in(ALL_LINGUAS): Changed en_UK to en_GB.
16326169689Skan	* configure: Rebuilt.
16327169689Skan
16328169689Skan2000-06-07  David O'Brien  <obrien@FreeBSD.org>
16329169689Skan
16330169689Skan	* configure.in:  Adjust FreeBSD bits to match changes to config.guess.
16331169689Skan	We now default to ELF for the i386, and a.out is the special case.
16332169689Skan	* configure:  Rebuilt.
16333169689Skan
16334169689SkanTue Jun 13 10:05:30 2000  Hans-Peter Nilsson  <hp@axis.com>
16335169689Skan
16336169689Skan	* final.c (final_scan_insn): Delete notes between cc0 setter and
16337169689Skan	user when restarting from setter.
16338169689Skan
16339169689Skan2000-06-13  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
16340169689Skan
16341169689Skan	* vax.h (INDEX_TERM_P): Define evaluation order of &&'s in || and
16342169689Skan	cast to squelch signed/unsigned warnings.
16343169689Skan
16344169689Skan2000-06-13  Zack Weinberg  <zack@wolery.cumb.org>
16345169689Skan
16346169689Skan	* cpplib.c (handle_directive): Print non-NUL-terminated string
16347169689Skan	with %.*s.
16348169689Skan
16349169689Skan2000-06-12  Michael Meissner  <meissner@redhat.com>
16350169689Skan
16351169689Skan	* ifcvt.c (dead_or_predicable): Don't do conditional execution
16352169689Skan	path if the machine needs extra support to do conditional
16353169689Skan	execution.
16354169689Skan
16355169689SkanMon Jun 12 17:04:17 2000  Jeffrey A Law  (law@cygnus.com)
16356169689Skan
16357169689Skan	* print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC
16358169689Skan	to print the alias set.
16359169689Skan	* print-tree.c (print_node, DECL_* nodes and case 't'): Similarly.
16360169689Skan
16361169689Skan2000-06-12  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
16362169689Skan
16363169689Skan	* config/float-vax.h: Add GFLOAT defines.
16364169689Skan
16365169689SkanMon Jun  12  9:44:00 2000  Mark Klein  <mklein@dis.com>
16366169689Skan
16367169689Skan	* configure.in: Update tm dependencies for MPE.
16368169689Skan	* configure: Rebuilt.
16369169689Skan
16370169689Skan2000-06-12  H.J. Lu  <hjl@gnu.org>
16371169689Skan
16372169689Skan	* gengenrtl.c (obstack_alloc_rtx): Correct the allocated size.
16373169689Skan
16374169689Skan2000-06-12  David Edelsohn  <edelsohn@gnu.org>
16375169689Skan
16376169689Skan	* aix41.h (SUBTARGET_SWITCHES): Delete threads.
16377169689Skan	(CPP_SPEC): Change mthreads to pthread.
16378169689Skan	(LIB_SPEC): Likewise.
16379169689Skan	(STARTFILE_SPEC): Likewise.
16380169689Skan	* aix43.h (SUBTARGET_SWITCHES): Delete threads.
16381169689Skan	(CPP_SPEC): Change mthreads to pthread.
16382169689Skan	(LIB_SPEC): Likewise.
16383169689Skan	(STARTFILE_SPEC): Likewise.
16384169689Skan	* rs6000-protos.h (reg_or_arith_cint_operand): New.
16385169689Skan	* rs6000.c (reg_or_arith_cint_operand): New.
16386169689Skan	(num_insns_constant_wide): Decorate unsigned constant.
16387169689Skan	* rs6000.h (PREDICATE_CODES): Add reg_or_arith_cint_operand.
16388169689Skan	* rs6000.md (addsi3): Use new predicate.
16389169689Skan	(subsi3, adddi3, subdi3): Likewise.
16390169689Skan
16391169689Skan2000-06-12  Mark Mitchell  <mark@codesourcery.com>
16392169689Skan
16393169689Skan	* c-common.c (lang_get_alias_set): Fix typo.
16394169689Skan
16395169689Skan2000-06-12  Richard Earnshaw <rearnsha@arm.com>
16396169689Skan
16397169689Skan	* flow.c (mark_used_regs): Revert last change.
16398169689Skan	(life_analysis): Remove PROP_AUTOINC if running after reload.
16399169689Skan	(propagate_one_insn): PROP_AUTOINC is always off after reload.
16400169689Skan
16401169689Skan2000-06-11  Richard Earnshaw <rearnsha@arm.com>
16402169689Skan
16403169689Skan	* flow.c (mark_used_regs): Don't call find_auto_inc after reload
16404169689Skan	has run.
16405169689Skan
16406169689Skan2000-06-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16407169689Skan
16408169689Skan	* bb-reorder.c (build_scope_forest): Initialize variable
16409169689Skan	`curr_scope'.
16410169689Skan
16411169689Skan	* calls.c (expand_call): Likewise for variables
16412169689Skan	`save_pending_stack_adjust' and `save_stack_pointer_delta'.
16413169689Skan
16414169689Skan	* i386.c (function_arg_advance, function_arg): Cast to avoid
16415169689Skan	signed/unsigned warnings.
16416169689Skan
16417169689Skan	* i386.h (MEMORY_MOVE_COST): Likewise.
16418169689Skan
16419169689Skan	* ifcvt.c (cond_exec_process_if_block): Initialize variables
16420169689Skan	`else_start' and `else_end'.
16421169689Skan
16422169689Skan	* libgcc2.h (__eh_alloc, __eh_free): Prototype.
16423169689Skan
16424169689Skan	* regrename.c (rr_replace_reg): Initialize variable `dest_subregno'.
16425169689Skan
16426169689Skan2000-06-10  Mark Mitchell  <mark@codesourcery.com>
16427169689Skan
16428169689Skan	* Makefile.in (libintl.a): Depend on intl.all.
16429169689Skan
16430169689Skan2000-06-09  H.J. Lu  (hjl@gnu.org)
16431169689Skan
16432169689Skan	* Makefile.in (c-parse.o): Also depend on output.h.
16433169689Skan
16434169689Skan2000-06-09  Rodney Brown  <RodneyBrown@mynd.com>
16435169689Skan
16436169689Skan	* mcore-protos.h: discards const warning removal.
16437169689Skan	* mcore.c: discards const warning removal.
16438169689Skan
16439169689Skan2000-06-09  Kazu Hirata  <kazu@hxi.com>
16440169689Skan
16441169689Skan	* config/h8300/lib1funcs.asm: Declare the machine architecture at
16442169689Skan	the beginning of the file.
16443169689Skan
16444169689Skan2000-06-09  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
16445169689Skan
16446169689Skan	* real.h:  Add prototype for ldexp.
16447169689Skan
16448169689Skan2000-06-09  Zack Weinberg  <zack@wolery.cumb.org>
16449169689Skan
16450169689Skan	* ggc-none.c, ggc-simple.c, ggc-page.c (ggc_alloc_obj): Rename
16451169689Skan	it ggc_alloc, drop second argument, never clear returned memory.
16452169689Skan	* ggc-common.c (ggc_alloc_string): Use ggc_alloc.
16453169689Skan	(ggc_alloc_cleared): New.
16454169689Skan	* ggc.h: Prototype ggc_alloc and ggc_alloc_cleared, not
16455169689Skan	ggc_alloc_obj.  Remove ggc_alloc macro.
16456169689Skan	(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Use ggc_alloc.
16457169689Skan
16458169689Skan	* rtl.c (rtvec_alloc): Clear the vector always.
16459169689Skan	(rtx_alloc): Clear the first word always.  Remove dirty
16460169689Skan	obstack tricks (this routine is no longer a bottleneck).
16461169689Skan	* tree.c (make_node): Clear the new node always.
16462169689Skan	(make_tree_vec): Likewise.
16463169689Skan	(tree_cons): Clear the common structure always.
16464169689Skan	(build1): Likewise; also, clear TREE_COMPLEXITY.
16465169689Skan	* gengenrtl.c: Use puts wherever possible.  Remove extra
16466169689Skan	newlines.
16467169689Skan	(gendef): Clear the first word of an RTX in the generator
16468169689Skan	function, irrespective of ggc_p.  Initialize '0' slots to
16469169689Skan	NULL.
16470169689Skan	(genlegend): Don't generate obstack_alloc_rtx routine, just a
16471169689Skan	thin wrapper macro around obstack_alloc.
16472169689Skan
16473169689Skan	* stmt.c (expand_fixup): Use ggc_alloc.
16474169689Skan	* c-typeck.c (add_pending_init): Use ggc_alloc.
16475169689Skan	* emit-rtl.c (init_emit_once): Clear CONST_DOUBLE_CHAIN(tem).
16476169689Skan	* varasm.c (immed_double_const): Set CONST_DOUBLE_MEM(r) to
16477169689Skan	const0_rtx when it is created.
16478169689Skan	(immed_real_const_1): Set CONST_DOUBLE_CHAIN(r) to NULL_RTX if
16479169689Skan	we are not in a function.
16480169689Skan
16481169689Skan	* tree.c (tree_class_check_failed): Make second arg an int.
16482169689Skan	* tree.h: Update prototype.
16483169689Skan
16484169689Skan2000-06-09  Geoff Keating  <geoffk@cygnus.com>
16485169689Skan
16486169689Skan	* tree.h (VOID_TYPE_P): Don't look at the TYPE_MAIN_VARIANT
16487169689Skan	of an error_mark_node.
16488169689Skan
16489169689SkanFri Jun  9 20:35:13 2000  Denis Chertykov  <denisc@overta.ru>
16490169689Skan
16491169689Skan	* config/avr/avr.c (asm_output_section_name): bugfix.
16492169689Skan
16493169689Skan2000-06-09  Jason Merrill  <jason@casey.soma.redhat.com>
16494169689Skan
16495169689Skan	* timevar.def: Add TV_EXPAND.
16496169689Skan	* timevar.c (timevar_print): Update timing information.
16497169689Skan	* calls.c (try_to_integrate): Push to TV_INTEGRATION for inlining.
16498169689Skan
16499169689Skan	* stmt.c (expand_return): Check for error_mark_node.
16500169689Skan
16501169689Skan2000-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16502169689Skan
16503169689Skan	* configure.in: Also avoid wrapping auto-build.h with IN_GCC.
16504169689Skan
16505169689Skan	* scan-types.sh (VALUE) Wrap use with double quotes to protect
16506169689Skan	variable against filename expansion when it contains "char *".
16507169689Skan
16508169689Skan	* system.h (SSIZE_MAX): Delete backup definition.
16509169689Skan
16510169689Skan	* cppfiles.c (read_include_file): Use INTTYPE_MAXIMUM(ssize_t)
16511169689Skan	instead of SSIZE_MAX.
16512169689Skan
16513169689Skan2000-06-09  Jakub Jelinek  <jakub@redhat.com>
16514169689Skan
16515169689Skan	* configure.in: Check whether gas supports -relax.
16516169689Skan	* configure, config.in: Rebuilt.
16517169689Skan	* config/sparc/sparc.h (ASM_RELAX_SPEC): Define.
16518169689Skan	(EXTRA_SPECS): Add asm_relax.
16519169689Skan	(ASM_SPEC): Add %(asm_relax).
16520169689Skan	(TARGET_SWITCHES): Add -mrelax and -mno-relax.
16521169689Skan	* config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC.
16522169689Skan	(LINK_SPEC): Pass -relax to linker unless -mno-relax or -r.
16523169689Skan	(ASM_SPEC): Add %(asm_relax).
16524169689Skan	* config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise.
16525169689Skan	* config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION,
16526169689Skan	never use sethi/jmpl for leaf tail calls.  Use or with rs2 %g0
16527169689Skan	instead of mov, so that gas can further optimize it.
16528169689Skan
16529169689Skan2000-06-08  James E. Wilson  <wilson@bletchleypark.cygnus.com>
16530169689Skan
16531169689Skan	* dwarf2out.c (size_of_die, case dw_val_class_const): Use
16532169689Skan	size_of_sleb128.
16533169689Skan	(value_format, case dw_val_class_const): Use sdata format.
16534169689Skan	(output_die): Call output_sleb128.
16535169689Skan
16536169689Skan2000-06-08  James E. Wilson  <wilson@cygnus.com>
16537169689Skan
16538169689Skan	* dwarf2out.c (ASM_OUTPUT_DWARF_DATA8): Add new macro that uses
16539169689Skan	UNALIGNED_DOUBLE_INT_ASM_OP.  Rename old macro to
16540169689Skan	ASM_OUTPUT_DWARF_CONST_DOUBLE.
16541169689Skan	(output_die, case dw_val_class_unsigned_const): Correct call to
16542169689Skan	ASM_OUTPUT_DWARF_DATA8.
16543169689Skan	(output_die, case dw_val_class_long_long): Use
16544169689Skan	ASM_OUTPUT_DWARF_CONST_DOUBLE.
16545169689Skan	* tree.c (host_integerp): Accept unsigned HOST_WIDE_INT values when
16546169689Skan	pos is zero.
16547169689Skan
16548169689Skan	* config/ia64/ia64-protos.h (ia64_output_end_prologue): Add.
16549169689Skan	(output_function_prologue): Fix mispelling.
16550169689Skan	(output_function_prologue, output_function_epilogue): Reorder to
16551169689Skan	match ia64.c definition order.
16552169689Skan	* config/ia64/ia64.c (ia64_expand_prologue): Add comment.
16553169689Skan	(ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on stack restore insns.
16554169689Skan	Use r3 instead of r2 for large stack restores.
16555169689Skan	(ia64_output_end_prologue): New function.
16556169689Skan	(process_set): Emit ".restore sp" for epilogue stack restores.
16557169689Skan	* config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Define.
16558169689Skan
16559169689Skan2000-06-08  Jakub Jelinek  <jakub@redhat.com>
16560169689Skan
16561169689Skan	* dbxout.c (dbxout_type_fields): Don't segfault on fields with
16562169689Skan	incomplete types.
16563169689Skan
16564169689Skan2000-06-08  Nathan Sidwell  <nathan@codesourcery.com>
16565169689Skan
16566169689Skan	* frame.c (end_fde_sort): Remove extraneous erratic array test.
16567169689Skan
16568169689Skan2000-06-08  Denis Perchine <dyp@perchine.com>
16569169689Skan
16570169689Skan	* frame.c (start_fde_sort): Don't malloc (0).
16571169689Skan
16572169689Skan2000-06-07  Zack Weinberg  <zack@wolery.cumb.org>
16573169689Skan
16574169689Skan	* c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on
16575169689Skan	error_mark_node.
16576169689Skan	* print-tree.c (print_node): The transparent_union_flag means
16577169689Skan	different things for unions and arrays.  Do not inspect it
16578169689Skan	with TYPE_TRANSPARENT_UNION.
16579169689Skan
16580169689Skan2000-06-06  Jakub Jelinek  <jakub@redhat.com>
16581169689Skan
16582169689Skan	* cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef
16583169689Skan	returned NULL.
16584169689Skan
16585169689SkanWed Jun  7 20:34:33 2000  Denis Chertykov  <denisc@overta.ru>
16586169689Skan
16587169689Skan	* config/avr/avr.c (asm_output_section_name): output section
16588169689Skan	attributes.
16589169689Skan	* config/avr/libgcc.S (.text.libgcc): declare section attributes.
16590169689Skan
16591169689Skan2000-06-06  James E. Wilson  <wilson@cygnus.com>
16592169689Skan
16593169689Skan	* frame.h (struct unwind_info_ptr): Collapse version, flags, and length
16594169689Skan	fields into header field.
16595169689Skan	(IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New
16596169689Skan	macros to access length, flags, and version info from header field.
16597169689Skan	* config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here.
16598169689Skan	* config/ia64/crtend.asm (__do_frame_setup_aux): Add here.
16599169689Skan	(__do_global_ctors_aux): Fix caller.
16600169689Skan	* config/ia64/frame-ia64.c (get_unwind_record): Change parameter
16601169689Skan	prologue_flag to header.  Pass to read_P_record.
16602169689Skan	(read_P_record): New argument header.  Implement P4 format.
16603169689Skan	Multiply P7_T_SIZE by 16.
16604169689Skan	(execute_one_ia64_descriptor): New static local region_header.  Pass to
16605169689Skan	get_unwind_record.  Copy r to region_header if r is a header record.
16606169689Skan	(print_all_records): Likewise.
16607169689Skan	(__build_ia64_frame_state): Use IA64_UNW_HDR_LENGTH.
16608169689Skan	(__get_personality, __get_except_table): Likewise.
16609169689Skan	* config/ia64/ia64.c (process_set): Do not divide offsets by 4.
16610169689Skan
16611169689Skan2000-06-06  Philipp Thomas  <pthomas@suse.de>
16612169689Skan
16613169689Skan	* configure.in (AC_C_INLINE): Added.
16614169689Skan	* aclocal.m4 (AM_WITH_NLS): Enable --with-included-gettext by default.
16615169689Skan	* configure: Regenerate.
16616169689Skan
16617169689Skan2000-06-06  Mark Mitchell  <mark@codesourcery.com>
16618169689Skan
16619169689Skan	* c-common.h (c_language_kind): New type.
16620169689Skan	(c_language): New variab.e
16621169689Skan	* c-common.c (lang_get_alias_set): Don't put structures in
16622169689Skan	nonzero alias sets in C++.
16623169689Skan	* c-decl.c (c_language): Define it.
16624169689Skan	* c-lex.c (doing_objc_thang): Remove.
16625169689Skan	* c-tree.h (doing_objc_thang): Make it a macro.
16626169689Skan	* objc/objc-act.c (lang_decode_option): Set c_language, not
16627169689Skan	doing_objc_thang.
16628169689Skan
16629169689Skan2000-06-06  Gabriel Dos Reis  <gdr@codesourcery.com>
16630169689Skan
16631169689Skan	* diagnostic.c (output_maximum_width): Remove.
16632169689Skan	(doing_line_wrapping): Tweak.
16633169689Skan	(diagnostic_buffer): New object.
16634169689Skan	(global_output_buffer): New object.
16635169689Skan	(output_destroy_prefix): New function.
16636169689Skan	(default_initialize_buffer): Likewise.
16637169689Skan	(reshape_diagnostic_buffer): Likewise.
16638169689Skan	(initialize_diagnostics): Likewise.
16639169689Skan	(output_clear): Tweak.
16640169689Skan	(line_wrapper_printf): Adjust call to init_output_buffer.
16641169689Skan	(vline_wrapper_message_with_location): Likewise.  Use
16642169689Skan	output_destroy_prefix.
16643169689Skan	(v_message_with_decl): Likewise.
16644169689Skan
16645169689Skan	* diagnostic.h (struct output_buffer): Constify prefix.
16646169689Skan	(init_output_buffer, output_get_prefix): Constify.
16647169689Skan	(diagnostic_message_length_per_line): Likewise.
16648169689Skan	(reshape_diagnostic_buffer): Declare.
16649169689Skan	(default_initialize_buffer): Declare.
16650169689Skan	(initialize_diagnostics): Declare.
16651169689Skan	(diagnostic_buffer): Declare new obbject.
16652169689Skan
16653169689Skan	* toplev.c: #include diagnostic.h
16654169689Skan	(display_help): Document diagnostic formatting options.
16655169689Skan	(decode_f_option): Handle diagnostic formatting options.
16656169689Skan	(main): Setup initialization for diagnostic messages outputter.
16657169689Skan
16658169689Skan	* toplev.h (set_message_length): Remove.
16659169689Skan
16660169689Skan	* Makefile.in (toplev.o): Depends upon diagnostic.h
16661169689Skan
16662169689Skan	* invoke.texi : Document diagnostics formatting options.
16663169689Skan
16664169689SkanTue Jun  6 19:25:32 2000  Philippe De Muyter  <phdm@macqel.be>
16665169689Skan
16666169689Skan	* configure.in (Make the links): Typo fix : the file that must be
16667169689Skan	included without #ifdef IN_GCC is `auto-host.h', not `auto-config.h'.
16668169689Skan	* configure: File rebuilt.
16669169689Skan
16670169689Skan2000-06-06  Nathan Sidwell  <nathan@codesourcery.com>
16671169689Skan
16672169689Skan	* eh-common.h (EH_ALLOC_SIZE, EH_ALLOC_ALIGN): New #defines.
16673169689Skan	(eh_context): Add alloc_mask and alloc_buffer emergency fallback
16674169689Skan	space.
16675169689Skan	* libgcc2.c (__eh_alloc): Moved from cp/exception.cc. Fallback on
16676169689Skan	emergency eh_context buffer, if malloc fails.
16677169689Skan	(__eh_free): Moved from cp/exception.cc. Release to emergency
16678169689Skan	eh_context buffer, if appropriate.
16679169689Skan
16680169689Skan2000-06-06  Jason Merrill  <jason@casey.soma.redhat.com>
16681169689Skan
16682169689Skan	* expr.c (store_expr): Fix typo.
16683169689Skan
16684169689Skan2000-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16685169689Skan
16686169689Skan	* m68k.c (legitimize_pic_address): Move prototype ...
16687169689Skan
16688169689Skan	* m68k-protos.h (legitimize_pic_address): ... here.
16689169689Skan
16690169689Skan	* m68k.md (legitimize_pic_address): Delete prototypes.
16691169689Skan	(untyped_call): Invoke GEN_CALL(), not gen_call().
16692169689Skan
16693169689Skan	* nextstep.c: Include system.h and toplev.h.
16694169689Skan	(get_directive_line): Don't prototype.
16695169689Skan	(handle_pragma): Mark parameters with ATTRIBUTE_UNUSED and constify.
16696169689Skan
16697169689Skan	* nextstep.h (handle_pragma): Prototype.
16698169689Skan	(SECTION_FUNCTION): Prototype FUNCTION().  Move prototype of
16699169689Skan	objc_section_init ...
16700169689Skan	(EXTRA_SECTION_FUNCTIONS): ... here.
16701169689Skan
16702169689SkanTue Jun  6 08:17:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16703169689Skan
16704169689Skan	* sdbout.c (struct sdb_file): NAME now const.
16705169689Skan	(sdbout_init): input_file_name now const.
16706169689Skan	(sdbout_start_new_source_file): FILENAME now const.
16707169689Skan	* sdbout.c (sdbout_init, sdbout_start_new_source_file): Reflect above.
16708169689Skan
16709169689Skan2000-06-06  Gabriel Dos Reis  <gdr@codesourcery.com>
16710169689Skan
16711169689Skan	* c-typeck.c (build_conditional_expr): Handle complex data types.
16712169689Skan
16713169689Skan2000-06-05  Jason Merrill  <jason@casey.soma.redhat.com>
16714169689Skan
16715169689Skan	* explow.c (maybe_set_unchanging): New function, broken out from...
16716169689Skan	(set_mem_attributes): Here.
16717169689Skan	* expr.h: Declare it.
16718169689Skan	* stmt.c (expand_decl): Call it.
16719169689Skan
16720169689Skan2000-06-05  Richard Henderson  <rth@cygnus.com>
16721169689Skan
16722169689Skan	* reload1.c (choose_reload_regs): Mind CLASS_CANNOT_CHANGE_SIZE
16723169689Skan	while looking for a register to inherit from.
16724169689Skan
16725169689Skan2000-06-05  Jason Merrill  <jason@casey.soma.redhat.com>
16726169689Skan
16727169689Skan	* Makefile.in (libgcc.ready): Lose.
16728169689Skan	(libgcc.mk): Just use mv, not move-if-change.
16729169689Skan	(LIBGCC_DEPS): New macro.
16730169689Skan	(libgcc.a): Use it.
16731169689Skan	(stmp-multilib): Likewise.
16732169689Skan	* mklibgcc.in (stmp-dirs): New target.  Make everything depend on
16733169689Skan	it rather than the directories themselves.
16734169689Skan	(LIB2ADD): Depend on the list file rather than 'force'.
16735169689Skan
16736169689Skan	* fold-const.c (fold, case COND_EXPR): Elide conversion between
16737169689Skan	cv-qualified versions of types.
16738169689Skan
16739169689SkanMon Jun  5 14:06:18 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16740169689Skan
16741169689Skan	* config/sparc/sparc.c (short_branch): Correct error in range
16742169689Skan	computation.
16743169689Skan
16744169689Skan2000-06-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
16745169689Skan
16746169689Skan	* fixinc/inclhack.def: New include hacks for ultrix.
16747169689Skan	* (nested_ultrix): Replaced by ultrix_nested_svc.
16748169689Skan	* (ultrix_atof_param): test_text string added.
16749169689Skan	* (ultrix_ifdef): Modified select string.
16750169689Skan
16751169689Skan2000-06-05  Zack Weinberg  <zack@wolery.cumb.org>
16752169689Skan
16753169689Skan	* objc/objc-act.c (generate_method_descriptors): Register
16754169689Skan	objc_method_prototype_template as a GC root.
16755169689Skan	(comp_method_with_proto): Register function_type as a GC root.
16756169689Skan	(comp_proto_with_proto): Replace function_type1 and
16757169689Skan	function_type2 with a two-element array; register it as a GC root.
16758169689Skan
16759169689Skan	(generate_protocols, build_protocol_initializer,
16760169689Skan	generate_protocol_list, build_category_initializer,
16761169689Skan	build_shared_structure_initializer): Do not cache cast_type
16762169689Skan	and/or cast_type2.
16763169689Skan
16764169689Skan2000-06-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
16765169689Skan
16766169689Skan	* function.c (assign_parms): Add missing argument to set_mem_attributes
16767169689Skan	call.
16768169689Skan
16769169689Skan2000-06-05  Nathan Sidwell  <nathan@codesourcery.com>
16770169689Skan
16771169689Skan	* tree.h (VOID_TYPE_P): New macro.
16772169689Skan	(COMPLETE_OR_VOID_TYPE_P): Use VOID_TYPE_P.
16773169689Skan	* c-decl.c (grokdeclarator): Use VOID_TYPE_P.
16774169689Skan	(get_parm_info): Likewise.
16775169689Skan	(store_parm_decls): Likewise.
16776169689Skan	(combine_parm_decls): Likewise.
16777169689Skan	(finish_function): Likewise.
16778169689Skan	* c-typeck.c (build_function_call): Likewise.
16779169689Skan	(build_binary_op): Likewise.
16780169689Skan	(build_conditional_expr): Likewise.
16781169689Skan	(internal_build_compound_expr): Likewise.
16782169689Skan	(convert_for_assignment): Likewise.
16783169689Skan	* stmt.c (expend_expr_stmt): Likewise.
16784169689Skan	(warn_if_unused_value): Likewise.
16785169689Skan	(expand_return): Likewise.
16786169689Skan	* c-parse.in (primary): Likewise.
16787169689Skan	* c-parse.y, c-parse.c, c-parse.h: Regenerate.
16788169689Skan	* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
16789169689Skan
16790169689SkanMon Jun  5 06:46:28 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16791169689Skan
16792169689Skan	* alias.c (get_alias_set): If compnent is addressable, use alias
16793169689Skan	set of component.
16794169689Skan	* c-decl.c (init_decl_processing): Don't call record_component_aliases.
16795169689Skan	(grokdeclarator): Likewise.
16796169689Skan	* c-typeck.c (common_type): Likewise.
16797169689Skan
16798169689Skan2000-06-04  Alex Samuel  <samuel@codesourcery.com>
16799169689Skan
16800169689Skan	* Makefile.in (OBJS): Remove dyn_string.o
16801169689Skan	(dyn-string.o): Delete rule.
16802169689Skan	* dyn-string.c: Delete file
16803169689Skan	* dyn-string.h: Likewise.
16804169689Skan
16805169689Skan2000-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16806169689Skan
16807169689Skan	* Makefile.in (intl.*): Honor nonzero exit codes in the intl
16808169689Skan	subdir.
16809169689Skan
16810169689Skan2000-06-03  Geoff Keating  <geoffk@cygnus.com>
16811169689Skan
16812169689Skan	* alias.c (record_component_aliases): Don't inspect
16813169689Skan	DECL_NONADDRESSABLE_P of non-FIELD_DECL components of structures.
16814169689Skan
16815169689SkanSat Jun  3 19:05:30 2000  Michael Meissner  <meissner@redhat.com>
16816169689Skan
16817169689Skan	* ifcvt.c (process_insns): If IFCVT_MODIFY_INSN is defined, call
16818169689Skan	it with the pattern to do machine dependent work.
16819169689Skan	(cond_exec_process_if_block): If IFCVT_MODIFY_TESTS is defined,
16820169689Skan	use it to modify the true/false tests used in conditional
16821169689Skan	execution.  If IFCVT_MODIFY_FINAL and IFCVT_MODIFY_CANCEL are
16822169689Skan	defined, invoke them if the conversion to conditional execution
16823169689Skan	was successful or not.
16824169689Skan
16825169689Skan	* tm.texi (IFCVT_MODIFY_TESTS): Document.
16826169689Skan	(IFCVT_MODIFY_INSN): Ditto.
16827169689Skan	(IFCVT_MODIFY_FINAL): Ditto.
16828169689Skan	(IFCVT_MODIFY_CANCEL): Ditto.
16829169689Skan
16830169689SkanSat Jun  3 15:26:13 2000  Matt Kraai <kraai@alumni.carnegiemellon.edu>
16831169689Skan
16832169689Skan	* toplev.c (main): Fix misspellings of possibility and language.
16833169689Skan
16834169689Skan2000-06-03  Richard Henderson  <rth@cygnus.com>
16835169689Skan
16836169689Skan	* alias.c (record_alias_subset): Initialize has_zero_child in the
16837169689Skan	superset.
16838169689Skan
16839169689Skan2000-06-03  Richard Earnshaw (rearnsha@arm.com)
16840169689Skan
16841169689Skan	* arm.md (untyped_call): Use GEN_CALL macro.
16842169689Skan
16843169689Skan2000-06-02  Pekka Nikander  <pnr@teldanex.tcm.hut.fi>
16844169689Skan
16845169689Skan	* Makefile.in: Use $(MAKE) not "make"
16846169689Skan
16847169689SkanFri Jun  2 19:31:03 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16848169689Skan
16849169689Skan	* alias.c (struct alias_set_entry): New field has_zero_child.
16850169689Skan	(mem_in_disjoint_alias_sets_p): Return 0 if set in either ase.
16851169689Skan	(get_alias_set): If language-dependent routine set TYPE_ALIAS_SET,
16852169689Skan	do nothing.
16853169689Skan	Call record_component_aliases for aggregate types.
16854169689Skan	(record_alias_subset): Set has_zero_child.
16855169689Skan	(record_component_aliases, case ARRAY_TYPE): Do nothing if
16856169689Skan	TYPE_NONALIASES_COMPONENT.
16857169689Skan	(record_component_aliases, case RECORD_TYPE): Test
16858169689Skan	DECL_NONADDRESSABLE_P.
16859169689Skan	* c-decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead
16860169689Skan	of TREE_ADDRESSABLE.
16861169689Skan	* calls.c (initialize_argument_information): Only test
16862169689Skan	TYPE_TRANSPARENT_UNION for UNION_TYPE.
16863169689Skan	* function.c (assign_parms): Likewise.
16864169689Skan	* integrate.c (function_cannot_inline_p): Likewise.
16865169689Skan	* stor-layout.c (finish_record_layout): Don't call
16866169689Skan	record_component_aliases.
16867169689Skan	* tree.h (struct tree_int_cst): Use struct tree_common.
16868169689Skan	(struct tree_real_cst, struct tree_string): Likewise.
16869169689Skan	(struct tree_complex, struct tree_identifier): Likewise.
16870169689Skan	(struct tree_list, struct tree_vec, struct tree_exp): Likewise.
16871169689Skan	(struct tree_block, struct tree_type, struct tree_decl): Likewise.
16872169689Skan	(TYPE_TRANSPARENT_UNION): Use UNION_TYPE_CHECK.
16873169689Skan	(TYPE_NONALIASES_COMPONENT): New macro.
16874169689Skan	(TYPE_AMBIENT_BOUNDEDNESS): Use FUNCTION_TYPE_CHECK.
16875169689Skan	(DECL_NONADDRESSABLE_P): New macro.
16876169689Skan	(struct tree_decl): Reorder bits for clarity of how many left;
16877169689Skan	add non_adressable.
16878169689Skan
16879169689Skan2000-06-02  Jason Merrill  <jason@casey.soma.redhat.com>
16880169689Skan
16881169689Skan	* Makefile.in (libgcc.a): Also depend on $(LIB2ADD).
16882169689Skan	* mklibgcc.in (force): New target.
16883169689Skan	Make LIB2ADD stuff depend on it.
16884169689Skan
16885169689Skan2000-06-02  Richard Henderson  <rth@cygnus.com>
16886169689Skan
16887169689Skan	* alias.c (lang_get_alias_set): Remove.
16888169689Skan	(get_alias_set): Call it directly, not indirectly.
16889169689Skan	* c-common.c (lang_get_alias_set): Rename from c_get_alias_set.
16890169689Skan	* c-common.h (c_get_alias_set): Don't declare.
16891169689Skan	* c-decl.c (init_decl_processing): Don't set lang_get_alias_set.
16892169689Skan	* expr.h (lang_get_alias_set): Declare as function, not pointer.
16893169689Skan
16894169689Skan2000-06-02  Bruce Korb  <bkorb@gnu.org>
16895169689Skan
16896169689Skan	* fixinc/server.c(sig_handler):  resume closing server on SIGPIPE
16897169689Skan	(server_setup):  define the server's master pid
16898169689Skan	(close_server):  actually do the deed IFF we are the server's master
16899169689Skan
16900169689Skan2000-06-02  Jakub Jelinek  <jakub@redhat.com>
16901169689Skan
16902169689Skan	* c-common.c (c_get_alias_set): Check whether signed_type did not
16903169689Skan	return its argument before calling get_alias_set on the result.
16904169689Skan
16905169689Skan2000-06-02  Andrew MacLeod  <amacleod@cygnus.com>
16906169689Skan
16907169689Skan	* expr.c (emit_group_load): Fix typo, GET_MODE not GET_CODE.
16908169689Skan
16909169689SkanFri Jun  2 00:22:52 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
16910169689Skan
16911169689Skan	* sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave.
16912169689Skan	(CONDITIONAL_REGISTER_USAGE): Mac registers are call used
16913169689Skan	for TARGET_NOMACSAVE.
16914169689Skan	(NOMACSAVE_BIT): Define.
16915169689Skan	(TARGET_NOMACSAVE): Define.
16916169689Skan	(TARGET_SWITCHES): Add "nomacsave".
16917169689Skan
16918169689Skan2000-06-02  Toshiyasu Morita  <toshi.morita@sega.com>
16919169689Skan
16920169689Skan	* sh.md (untyped_call): Remove excess parameters
16921169689Skan
16922169689Skan2000-06-01  Loren J. Rittle  <ljrittle@acm.org>
16923169689Skan
16924169689Skan	* fixinc/inclhack.def (osf_namespace_a): Relax expression to
16925169689Skan	match that used before the conversion to c_fix style.
16926169689Skan	* fixinc/fixincl.x: regenerate
16927169689Skan
16928169689Skan2000-06-01  Stan Cox  <scox@cygnus.com>
16929169689Skan
16930169689Skan	* varray.h (VARRAY_PUSH_GENERIC_PTR, VARRAY_PUSH_CHAR_PTR): Fix
16931169689Skan	macro argument typo.
16932169689Skan
16933169689Skan2000-06-01  Zack Weinberg  <zack@wolery.cumb.org>
16934169689Skan
16935169689Skan	* cpplex.c (maybe_macroexpand): Use CPP_WTRADITIONAL.  Improve
16936169689Skan	error message.
16937169689Skan	* cpplib.c (parse_include): Remove support for VAX-C
16938169689Skan	"#include starlet" misfeature.
16939169689Skan
16940169689Skan2000-05-31 Laurynas Biveinis <lauras@softhome.net>
16941169689Skan
16942169689Skan	* cppfiles.c: conditionally define O_BINARY.
16943169689Skan	(open_include_file): pass O_BINARY to open().
16944169689Skan
16945169689Skan2000-06-01  Richard Henderson  <rth@cygnus.com>
16946169689Skan
16947169689Skan	* i960.c (i960_br_predict_opcode): Remove.
16948169689Skan	(i960_print_operand) [+]: Emit branch prediction hints.
16949169689Skan	(i960_function_arg): Return early for VOIDmode.
16950169689Skan	(i960_round_align): Return early for incomplete types.
16951169689Skan	* i960.h (PRINT_OPERAND_PUNCT_VALID_P): New.
16952169689Skan	* i960.md (all conditional branches): Add "%+".
16953169689Skan
16954169689SkanThu Jun  1 12:24:21 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16955169689Skan
16956169689Skan	* alias.c (get_alias_set): Don't call language-specific routine more
16957169689Skan	than is needed and clean up code a bit.
16958169689Skan	* c-common.c (c_get_alias_set): All references whose type
16959169689Skan	is char get alias set 0, but character types need not.
16960169689Skan	* varasm.c (make_function_rtl): Don't call set_mem_attributes.
16961169689Skan	(make_decl_rtl): Don't call it for FUNCTION_DECL.
16962169689Skan
16963169689Skan2000-06-01  Bruce Korb  <bkorb@gnu.org>
16964169689Skan
16965169689Skan	* fixinc/tests/base/...: new base result files
16966169689Skan
16967169689SkanThu Jun  1 09:37:35 2000  Clinton Popetz  <cpopetz@cygnus.com>
16968169689Skan
16969169689Skan	* config/i386/i386.c (ix86_use_fcomi_compare): Make global.
16970169689Skan	* config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare.
16971169689Skan	* config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we
16972169689Skan	will use FCOMI.
16973169689Skan
16974169689Skan2000-06-01  Richard Henderson  <rth@cygnus.com>
16975169689Skan
16976169689Skan	* Makefile.in (c-decl.o): Depend on $(EXPR_H), not expr.h.
16977169689Skan
16978169689Skan	* c-decl.c (init_decl_processing): Set lang_get_alias_set first thing.
16979169689Skan
16980169689Skan2000-05-31  Richard Henderson  <rth@cygnus.com>
16981169689Skan
16982169689Skan	* config/ia64/ia64.c (sdata_symbolic_operand): Consider small
16983169689Skan	CONSTANT_POOL_ADDRESS_P addresses for .sdata.
16984169689Skan	* config/ia64/sysv4.h (SELECT_RTX_SECTION): New.
16985169689Skan
16986169689Skan2000-05-31  Richard Henderson  <rth@cygnus.com>
16987169689Skan
16988169689Skan	* config/ia64/ia64-protos.h (ia64_expand_prediction): Remove.
16989169689Skan	* config/ia64/ia64.c (ia64_expand_prediction): Move code ...
16990169689Skan	(ia64_print_operand) [+]: ... here.  Use current_output_insn.
16991169689Skan	* config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New.
16992169689Skan	* config/ia64/ia64.md (all branch/call patterns): Use %+.
16993169689Skan
16994169689Skan2000-05-31  Richard Henderson  <rth@cygnus.com>
16995169689Skan
16996169689Skan	* ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers.
16997169689Skan
16998169689Skan2000-05-31  Richard Henderson  <rth@cygnus.com>
16999169689Skan
17000169689Skan	* ifcvt.c (merge_if_block): Be prepared for JOIN to have no
17001169689Skan	remaining edges.
17002169689Skan	(find_if_block): Allow THEN with no outgoing edges.
17003169689Skan	* flow.c (merge_blocks_nomove): Remove a barrier not following
17004169689Skan	a jump as well.
17005169689Skan
17006169689Skan2000-05-31  Richard Henderson  <rth@cygnus.com>
17007169689Skan
17008169689Skan	* flow.c (propagate_block): Move initialization of mem_set_list ...
17009169689Skan	(init_propagate_block_info): ... here.  Also track blocks with
17010169689Skan	no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE.
17011169689Skan
17012169689Skan2000-05-31  Richard Henderson  <rth@cygnus.com>
17013169689Skan
17014169689Skan	* jump.c (jump_optimize_1): Revert 05-18 change.
17015169689Skan
17016169689Skan2000-05-31  Mark Mitchell  <mark@codesourcery.com>
17017169689Skan
17018169689Skan	* invoke.texi: Remove documentation for -fguiding-decls.
17019169689Skan
17020169689Skan2000-05-31  Richard Henderson  <rth@cygnus.com>
17021169689Skan
17022169689Skan	* configure.in: Fix typo last change.
17023169689Skan
17024169689Skan2000-05-31  Philipp Thomas  <pthomas@suse.de>
17025169689Skan
17026169689Skan	* configure.in (enable-nls): Enable if build == host, i.e. when
17027169689Skan	not building a canadian cross compiler.
17028169689Skan	(enable-maintainer-mode): Added for use with i18n.
17029169689Skan	* aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a
17030169689Skan	cross section of ALL_LINGUAS and LINGUAS.
17031169689Skan	* configure: Rebuild.
17032169689Skan
17033169689Skan2000-05-31  Bruce Korb  <bkorb@gnu.org>
17034169689Skan
17035169689Skan	* fixinc/check.tpl: rework to use test result tree
17036169689Skan	* fixinc/Makefile.in: change invocation of check script
17037169689Skan	* fixinc/check.diff: No longer needed
17038169689Skan	* fixinc/fixincl.x: regenerate
17039169689Skan	* fixinc/inclhack.def:  add new tests
17040169689Skan	* fixinc/tests/base/arch/i960/archI960.h:  New test result
17041169689Skan	* fixinc/tests/base/curses.h: modified test result
17042169689Skan	* fixinc/tests/base/stdio.h: ditto
17043169689Skan	* fixinc/tests/base/time.h: ditto
17044169689Skan	* fixinc/tests/base/sys/asm.h: ditto
17045169689Skan	* fixinc/tests/base/sys/stat.h: ditto
17046169689Skan	* fixinc/tests/base/sys/wait.h: ditto
17047169689Skan
17048169689SkanWed May 31 13:17:20 2000  Philippe De Muyter  <phdm@macqel.be>
17049169689Skan
17050169689Skan	* except.c (clear_function_eh_region): Do not free NULL.
17051169689Skan
17052169689SkanWed May 31 08:07:52 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17053169689Skan
17054169689Skan	* Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
17055169689Skan	* alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
17056169689Skan	(REG_BASE_VALUE): Remove unneeded cast to unsigned.
17057169689Skan	(get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
17058169689Skan	(find_base_decl): New function, from c_find_base_decl in c-common.c.
17059169689Skan	(new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
17060169689Skan	(get_alias_set): Likewise.
17061169689Skan	Major rework to do more things and allow language-specific code
17062169689Skan	to just handle special-cases.
17063169689Skan	(record_alias_subset): Args are HOST_WIDE_INT.
17064169689Skan	(record_component_alias): Local vars are HOST_WIDE_INT.
17065169689Skan	Don't handle COMPLEX_EXPR.
17066169689Skan	(get_varargs_alias_set): Moved from builtins.c.
17067169689Skan	(get_frame_alias_set): New function.
17068169689Skan	* builtins.c (expand_builtin_return_address): Use frame alias set.
17069169689Skan	(expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
17070169689Skan	for setjmp buffer.
17071169689Skan	(get_memory_rtx): Rework to use set_mem_attributes.
17072169689Skan	(get_varargs_alias_set): Deleted from here.
17073169689Skan	* c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
17074169689Skan	(c_find_base_decl): Deleted from here.
17075169689Skan	(c_get_alias_set): Remove many cases and rework to just handle
17076169689Skan	C-specific cases.
17077169689Skan	* c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
17078169689Skan	* c-decl.c (rtl.h, expr.h): Now included.
17079169689Skan	(init_decl_processing): Call record_component_aliases on array types.
17080169689Skan	(grokdeclarator): Likewise.
17081169689Skan	Set TREE_ADDRESSABLE for all fields that are not bitfields.
17082169689Skan	* c-typeck.c (common_type): Call record_component_aliases for array.
17083169689Skan	* caller-save.c (setup_save_areas): Rework register loop for unsigned.
17084169689Skan	Set all save areas to the frame alias set.
17085169689Skan	* calls.c (initialie_argument_information): Call set_mem_attributes.
17086169689Skan	(compute_argument_addresses, expand_call): Likewise.
17087169689Skan	* explow.c (set_mem_attributes): New function.
17088169689Skan	(stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
17089169689Skan	* expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
17090169689Skan	LEN and OFFSET now HOST_WIDE_INT.
17091169689Skan	(clear_by_pieces): Similar changes.
17092169689Skan	(move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
17093169689Skan	(move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
17094169689Skan	(move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
17095169689Skan	(clear_by_pieces_1): Likewise.
17096169689Skan	(emit_push_insn): Call set_mem_attributes.
17097169689Skan	(expand_expr, case INDIRECT_REF): Likewise.
17098169689Skan	(expand_expr, case VAR_DECL): Call change_address.
17099169689Skan	* expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
17100169689Skan	tree_low_cst.
17101169689Skan	(get_varargs_alias_set, get_frame_alias_set): New decls.
17102169689Skan	(record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
17103169689Skan	(new_alias_set, set_mem_attributes): Likewse.
17104169689Skan	* function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
17105169689Skan	(assign_stack_temp_for_type): Likewise.
17106169689Skan	Can split slot even if alias set since can copy.
17107169689Skan	Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
17108169689Skan	(assign_temp): Use host_integerp and tree_low_cst.
17109169689Skan	(put_var_into_stack): Properly handle SAVE_EXPR.
17110169689Skan	(put_addressof_into_stack): Likewise.
17111169689Skan	(assign_parms): Call set_mem_attributes.
17112169689Skan	Delete #if 0 code.
17113169689Skan	(fix_lexical_address): Put reference to chain into frame alias set.
17114169689Skan	(expand_function_start): Call set_mem_attributes.
17115169689Skan	* integrate.c (expand_inline_function): Likewise.
17116169689Skan	* recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
17117169689Skan	* regmove.c (try_apply_stack_adjustment): Likewise.
17118169689Skan	* reload.c (push_reload, make_memloc): Likewise.
17119169689Skan	* reload1.c (alter_reg): Make alias sets for spilled pseudos.
17120169689Skan	* rtl.def (MEM): Update comment.
17121169689Skan	* rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
17122169689Skan	(move_by_pieces): Change length to HOST_WIDE_INT.
17123169689Skan	(record_base_value, record_alias_subset): Delete from here.
17124169689Skan	* stmt.c (expand_decl): Call set_mem_attributes.
17125169689Skan	* stor-layout.c (finish_record_layout): Call record_component_aliases.i
17126169689Skan	* toplev.c (compile_file): Call init_alias_once earlier.
17127169689Skan	* tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
17128169689Skan	from here: now in alias.c.
17129169689Skan	* tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
17130169689Skan	(struct tree_decl): Likewise.
17131169689Skan	(get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
17132169689Skan	* varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
17133169689Skan	(output_constant_def, force_const_mem): Likewise.
17134169689Skan
17135169689Skan	* flow.c (propagate_block): If block has no successors, stores to
17136169689Skan	frame are dead if not used.
17137169689Skan
17138169689Skan2000-05-31  Nathan Sidwell  <nathan@codesourcery.com>
17139169689Skan
17140169689Skan	* stmt (expand_end_case): Reorder conversion sequence for jump
17141169689Skan	table to avoid extra truncations.
17142169689Skan
17143169689SkanWed May 31 01:31:42 2000  Jeffrey A Law  (law@cygnus.com)
17144169689Skan
17145169689Skan	* ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
17146169689Skan	in the block is more than just a simple conditional branch.
17147169689Skan	(noce_process_if_block): Similarly.
17148169689Skan
17149169689SkanTue May 30 22:25:57 2000  Alexandre Oliva  <aoliva@cygnus.com>
17150169689Skan
17151169689Skan	* optabs.c (prepare_float_lib_cmp): Protect *px and *py from
17152169689Skan	queue.
17153169689Skan
17154169689Skan2000-05-30  Michael Meissner  <meissner@redhat.com>
17155169689Skan
17156169689Skan	* dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH
17157169689Skan	instructions.  Treat LO_SUM operations as loading the full integer
17158169689Skan	constant.
17159169689Skan
17160169689Skan2000-05-30  Richard Henderson  <rth@cygnus.com>
17161169689Skan
17162169689Skan	* combine.c (get_pos_from_mask): Test exact_log2 result as signed.
17163169689Skan
17164169689Skan2000-05-30  Richard Henderson  <rth@cygnus.com>
17165169689Skan
17166169689Skan	* bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return.
17167169689Skan
17168169689Skan2000-05-30  Bruce Korb  <bkorb@gnu.org>
17169169689Skan
17170169689Skan	* fixinc/tests/*:  Added expected result files for fixinc's make check
17171169689Skan	* fixinc/fixfixes(char_macro_*_fix): Restore original algorithm
17172169689Skan
17173169689Skan2000-05-30  Richard Henderson  <rth@cygnus.com>
17174169689Skan
17175169689Skan	* config/alpha/alpha.md (*setne_internal): Use match_operator
17176169689Skan	instead of working down from insn.
17177169689Skan
17178169689Skan2000-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17179169689Skan
17180169689Skan	* invoke.texi (-Wtraditional): Update WRT function macros.
17181169689Skan
17182169689SkanTue May 30 09:57:32 2000  Philippe De Muyter  <phdm@macqel.be>
17183169689Skan
17184169689Skan	* except.c (free_exception_table): Do not free NULL.
17185169689Skan
17186169689Skan2000-05-29  Zack Weinberg  <zack@wolery.cumb.org>
17187169689Skan
17188169689Skan	* cpplib.c (do_if): Don't save and restore only_seen_white here.
17189169689Skan	* cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
17190169689Skan	and skipping here.
17191169689Skan
17192169689Skan2000-05-29  Richard Earnshaw (rearnsha@arm.com)
17193169689Skan
17194169689Skan	* flow.c (mark_used_reg): If a register is unconditionally live,
17195169689Skan	remove any conditional death information.
17196169689Skan
17197169689Skan2000-05-29  Richard Henderson  <rth@cygnus.com>
17198169689Skan
17199169689Skan	* final.c (current_output_insn): New.
17200169689Skan	(final_scan_insn): Set it.
17201169689Skan	* output.h: Declare it.
17202169689Skan
17203169689Skan2000-05-29  Richard Henderson  <rth@cygnus.com>
17204169689Skan
17205169689Skan	* stor-layout.c (finalize_record_size): Fix typo.
17206169689Skan
17207169689Skan	* jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
17208169689Skan	if nlabel is null.
17209169689Skan
17210169689Skan2000-05-29  Zack Weinberg  <zack@wolery.cumb.org>
17211169689Skan
17212169689Skan	* cpplib.h (cpp_reader): Remove if_stack.  Change
17213169689Skan	potential_control_macro to a cpp_hashnode *.  Add skipping flag.
17214169689Skan	* cpphash.h (struct ihash): Change control_macro to a
17215169689Skan	cpp_hashnode * and shorten name to cmacro.
17216169689Skan	Add NEVER_REINCLUDE constant.
17217169689Skan
17218169689Skan	* cppfiles.c (redundant_include_p): Drop cpp_reader argument.
17219169689Skan	Examine the cmacro node directly, no need to call cpp_defined.
17220169689Skan	(_cpp_execute_include, read_include_file): Set cmacro to
17221169689Skan	NEVER_REINCLUDE, not U"".
17222169689Skan	* cpplex.c (cpp_push_buffer): Don't set new->if_stack.
17223169689Skan	(cpp_get_token): If pfile->skipping is true, discard text and
17224169689Skan	keep scanning until we hit a directive; don't expand macros.
17225169689Skan
17226169689Skan	* cpplib.c (struct if_stack): Remove if_succeeded, add
17227169689Skan	was_skipping. Change control_macro to a cpp_hashnode * and
17228169689Skan	shorten name to cmacro.  Remove typedef IF_STACK.
17229169689Skan	(parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
17230169689Skan	(conditional_skip, skip_if_group,
17231169689Skan	consider_directive_while_skipping): Delete.
17232169689Skan	(push_conditional): New.
17233169689Skan	(_cpp_handle_directive): Don't process directives other than
17234169689Skan	conditionals if we are skipping.
17235169689Skan
17236169689Skan	(do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
17237169689Skan	Update to new scheme.
17238169689Skan	(validate_else): Skip rest of line here, unconditionally.
17239169689Skan	(_cpp_unwind_if_stack): The stack is per-buffer.  Force
17240169689Skan	pfile->skipping off.
17241169689Skan
17242169689Skan	(all): Remove `scare quotes' from error messages.
17243169689Skan
17244169689Skan2000-05-29  Richard Henderson  <rth@cygnus.com>
17245169689Skan
17246169689Skan	* function.c (emit_return_into_block): New line_note arg; emit it.
17247169689Skan	(thread_prologue_and_epilogue_insns): Attempt to locate a line note
17248169689Skan	for the close brace to accompany HAVE_return.  Move all line notes
17249169689Skan	following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.
17250169689Skan
17251169689Skan2000-05-29  Richard Henderson  <rth@cygnus.com>
17252169689Skan
17253169689Skan	* longlong.h [__alpha] (count_leading_zeros): New.
17254169689Skan	(count_trailing_zeros): New.
17255169689Skan	(COUNT_LEADING_ZEROS_0): New.
17256169689Skan
17257169689Skan	* config/alpha/alpha.c (alpha_zero_comparison_operator): New.
17258169689Skan	(alpha_split_conditional_move): New.
17259169689Skan	* config/alpha/alpha-protos.h: Prototype them.
17260169689Skan	* config/alpha/alpha.h (PREDICATE_CODES): Update.
17261169689Skan	(CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
17262169689Skan	* config/alpha/alpha.md: Update ffs cix commentary.
17263169689Skan	(*ze_and_ne): New.
17264169689Skan	(*nabssf2, *nabsdf2): New.
17265169689Skan	(*mov[qhsd]icc_internal): Use add_operand.
17266169689Skan	(if_then_else constant splitters): New.
17267169689Skan	(*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
17268169689Skan	(*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
17269169689Skan
17270169689Skan2000-05-29  Richard Henderson  <rth@cygnus.com>
17271169689Skan
17272169689Skan	* combine.c (force_to_mode) [MINUS]: Convert subtraction from
17273169689Skan	a constant to NEG or NOT when conditions allow.
17274169689Skan
17275169689Skan	* combine.c (combine_simplify_rtx): Don't create an if_then_else
17276169689Skan	unless both args are general_operand.  Don't canonicalize plus
17277169689Skan	to ior unless it helps.
17278169689Skan
17279169689Skan	* toplev.c (rest_of_compilation): Set no_new_pseudos after flow1;
17280169689Skan	instead track register_life_up_to_date.  Toggle no_new_pseudos
17281169689Skan	around if_convert.
17282169689Skan
17283169689Skan2000-05-28  Geoff Keating  <geoffk@cygnus.com>
17284169689Skan
17285169689Skan	* config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
17286169689Skan	so output_operand doesn't see them.
17287169689Skan
17288169689SkanSun May 28 18:37:07 2000  Clinton Popetz  <cpopetz@cygnus.com>
17289169689Skan
17290169689Skan	* lcm.c (make_preds_opaque): Fix comment.
17291169689Skan	(optimize_mode_switching): Use NORMAL_MODE instead of
17292169689Skan	MODE_USES_IN_EXIT_BLOCK.  Change leftover instance of
17293169689Skan	FP_MODE_NONE to no_mode.  Rename MODE_AT_ENTRY to NORMAL_MODE.
17294169689Skan	Handle insertions before an existing NOTE_INSN_BASIC_BLOCK.
17295169689Skan	* tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE.
17296169689Skan	(MODE_USES_IN_EXIT_BLOCK): Delete.
17297169689Skan	(MODE_AT_ENTRY) Rename to NORMAL_MODE.
17298169689Skan	* sh.h (MODE_USES_IN_EXIT_BLOCK): Delete.
17299169689Skan	(MODE_AT_ENTRY): Rename to NORMAL_MODE.
17300169689Skan	(MODE_NEEDED): Don't look for USE.
17301169689Skan	(EPILOGUE_USES): Define.
17302169689Skan
17303169689SkanSun May 28 23:26:59 2000  Philippe De Muyter <phdm@macqel.be>
17304169689Skan
17305169689Skan	* mklibgcc.in (all): Variable initialized to `libgcc'.
17306169689Skan
17307169689Skan2000-05-28  Gabriel Dos Reis  <gdr@codesourcery.com>
17308169689Skan
17309169689Skan	* toplev.h (skip_leading_substring): New macro.
17310169689Skan	* toplev.c (decode_f_option): Use skip_leading_substring instead
17311169689Skan	of strncmp.
17312169689Skan	(decode_W_option): Likewise.
17313169689Skan
17314169689Skan2000-05-28  Nick Clifton  <nickc@cygnus.com>
17315169689Skan
17316169689Skan	* tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can
17317169689Skan	modify reg_names.
17318169689Skan
17319169689Skan2000-05-28  Richard Henderson  <rth@cygnus.com>
17320169689Skan
17321169689Skan	* regclass.c (record_operand_costs): Protect reg_changes_size
17322169689Skan	with CLASS_CANNOT_CHANGE_SIZE.
17323169689Skan
17324169689Skan	* loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.
17325169689Skan
17326169689Skan2000-05-28  Richard Henderson  <rth@cygnus.com>
17327169689Skan
17328169689Skan	* function.c (diddle_return_value): A pcc-style struct return
17329169689Skan	returns a pointer.
17330169689Skan
17331169689Skan2000-05-27  Zack Weinberg  <zack@wolery.cumb.org>
17332169689Skan
17333169689Skan	* cppfiles.c: Read files in, using mmap if possible, then
17334169689Skan	prescan them separately.
17335169689Skan	(read_file, read_with_read): New functions.
17336169689Skan	* cpplex.c: Don't define UCHAR_MAX.
17337169689Skan	(_cpp_read_and_prescan): Rename to _cpp_prescan.  Don't read
17338169689Skan	the file here.
17339169689Skan
17340169689Skan	* cppinit.c (handle_option): Automatically define __cplusplus,
17341169689Skan	__OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see
17342169689Skan	the respective -lang switch.
17343169689Skan
17344169689Skan	* cpphash.h (enum node_type, struct hashnode, _cpp_lookup
17345169689Skan	prototype): Move to...
17346169689Skan	* cpplib.h: ... here.  Rename struct hashnode to struct
17347169689Skan	cpp_hashnode and give it a typedef.  Rename _cpp_lookup to
17348169689Skan	cpp_lookup.  Add 'fe_value' slot, a union tree_node *.
17349169689Skan
17350169689Skan2000-05-27  Geoffrey Keating  <geoffk@cygnus.com>
17351169689Skan
17352169689Skan	* config/rs6000/rs6000.md (movsi): Constify 'name'.
17353169689Skan
17354169689Skan	* regclass.c [CLASS_CANNOT_CHANGE_SIZE]
17355169689Skan	(class_can_change_size): New variable.
17356169689Skan	(reg_changes_size): New variable.
17357169689Skan	(init_reg_sets_1): Initialize class_can_change_size.
17358169689Skan	(record_operand_costs): Remove subreg_changes_size.
17359169689Skan	Don't pass it around.  Instead update reg_changes_size.
17360169689Skan	(regclass): Initialize and free reg_changes_size.  If a register
17361169689Skan	changes size, don't preference it to a class that contains
17362169689Skan	registers that can't change size.
17363169689Skan	(record_reg_classes): Don't look at subreg_changes_size.
17364169689Skan
17365169689Skan2000-05-27  Richard Henderson  <rth@cygnus.com>
17366169689Skan
17367169689Skan	* print-rtl.c (reg_names): Remove const.
17368169689Skan	* regclass.c (reg_names): Likewise.
17369169689Skan	* regs.h (reg_names): Likewise.
17370169689Skan	* hard-reg-set.h (reg_names): Likewise.
17371169689Skan
17372169689Skan2000-05-27  Richard Henderson  <rth@cygnus.com>
17373169689Skan
17374169689Skan	* config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.
17375169689Skan
17376169689Skan2000-05-27  Richard Henderson  <rth@cygnus.com>
17377169689Skan
17378169689Skan	* config/alpha/alpha.c (alpha_does_function_need_gp): Test
17379169689Skan	TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
17380169689Skan	(alpha_expand_prologue): Emit prologue_mcount if needed.
17381169689Skan	* config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0.
17382169689Skan	* config/alpha/alpha.md (prologue_mcount): New.
17383169689Skan	* config/alpha/linux.h (FUNCTION_PROFILER): Remove.
17384169689Skan	(TARGET_PROFILING_NEEDS_GP): Undef before redefining.
17385169689Skan	* config/alpha/netbsd.h: Likewise.
17386169689Skan
17387169689Skan2000-05-27  Richard Henderson  <rth@cygnus.com>
17388169689Skan
17389169689Skan	* config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
17390169689Skan	change to config/elfos.h.
17391169689Skan
17392169689Skan2000-05-27  Richard Henderson  <rth@cygnus.com>
17393169689Skan
17394169689Skan	* Makefile.in (resource.o): Depend on except.h.
17395169689Skan	* except.h (output_exception_table_data): Prototype.
17396169689Skan	* genconfig.c (gen_peephole2): Prototype.
17397169689Skan	* genemit.c (main): Include ggc.h.
17398169689Skan	* genoutput.c: Revert parts of last change: include errors.h
17399169689Skan	(main): Set progname.
17400169689Skan	* recog.c: Include hard-reg-set.h before recog.h.
17401169689Skan	* resource.c: Include except.h.
17402169689Skan
17403169689Skan	* config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect
17404169689Skan	with RTX_CODE.
17405169689Skan	(alpha_write_linkage): Protect with BUFSIZ.
17406169689Skan	(alpha_need_linkage): Update prototype.
17407169689Skan	* config/alpha/alpha.c (function_arg): Move VMS code here.
17408169689Skan	(alpha_links_base): Remove.
17409169689Skan	(alpha_links): New.
17410169689Skan	(mark_alpha_links_node, mark_alpha_links): New.
17411169689Skan	(alpha_write_one_linkage): New.
17412169689Skan	(alpha_need_linkage): Use a splay tree.  Build the linkage symbol.
17413169689Skan	(alpha_write_linkage): Use splay_tree_foreach.
17414169689Skan	* config/alpha/alpha.md (call_vms): Use alpha_need_linkage
17415169689Skan	to get the linkage symbol.
17416169689Skan	(call_value_vms): Likewise.
17417169689Skan	* config/alpha/elf.h (output_file_directive): Remove decl.
17418169689Skan	(ctors_section, dtors_section): Prototype.
17419169689Skan	(sbss_section, sdata_section): Prototype.
17420169689Skan	* config/alpha/vms.h (FUNCTION_ARG): Remove.
17421169689Skan	(readonly_section, link_section, literals_section): Prototype.
17422169689Skan	(ctors_section, dtors_section): Prototype.
17423169689Skan	(vms_valid_decl_attribute_p): Remove decl.
17424169689Skan	(alpha_arg_type, alpha_arg_info_reg_val): Likewise.
17425169689Skan
17426169689Skan2000-05-27  Geoff Keating  <geoffk@cygnus.com>
17427169689Skan
17428169689Skan	* reload.c (get_secondary_mem): Don't widen floating-point modes.
17429169689Skan
17430169689Skan	* combine.c (subst): Honor CLASS_CANNOT_CHANGE_SIZE when
17431169689Skan	substituting the REG in a (subreg:X (reg:Y ...)).
17432169689Skan
17433169689Skan2000-05-28  Neil Booth  <NeilB@earthling.net>
17434169689Skan
17435169689Skan	* cpplex.c (_cpp_lex_line): Merge vertical space.  Flag
17436169689Skan	first token of a line BOL.  Update EOF code for this.
17437169689Skan	Remove illegal directive check - it appears in the (not
17438169689Skan	yet committed) caller.
17439169689Skan	* cpplib.h (BOL): New flag.
17440169689Skan
17441169689Skan2000-05-28  Neil Booth  <NeilB@earthling.net>
17442169689Skan
17443169689Skan	* cpplex.c (_cpp_init_toklist): No comment space to initialize.
17444169689Skan	(_cpp_free_toklist): No comment space to free.
17445169689Skan	(expand_comment_space): Remove.
17446169689Skan	(save_comment_space): Place the comment in the current token and
17447169689Skan	not in a separate comment space.
17448169689Skan	(_cpp_lex_line): Save comments during plain code and #define
17449169689Skan	directives only.
17450169689Skan	* cpplib.h (struct _cpp_toklist): Remove comment space.
17451169689Skan
17452169689Skan2000-05-28  Neil Booth  <NeilB@earthling.net>
17453169689Skan
17454169689Skan	* cppexp.c (parse_assertion): Supply extra argument to
17455169689Skan	_cpp_init_toklist.
17456169689Skan	* cpplib.c (do_assert, do_unassert): Similarly.
17457169689Skan	* cpphash.h (_cpp_init_toklist) Update.
17458169689Skan	(_cpp_expand_token_space): New.
17459169689Skan	(DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
17460169689Skan	* cpplex.c (_cpp_init_toklist): New argument.
17461169689Skan	(parse_string2): New argument multiline_ok.
17462169689Skan	(spell_token): Take a const cpp_token *.
17463169689Skan	(INIT_NAME): Replace with INIT_TOKEN_NAME.  Update tokens_used.
17464169689Skan	(SPELL_ macros): Replace with enum.
17465169689Skan	(expand_token_space): Replace with _cpp_expand_token_space.
17466169689Skan	Take COUNT argument.
17467169689Skan	(IS_DIRECTIVE): Update.
17468169689Skan	(_cpp_lex_line): Update token structure before parsing number.
17469169689Skan	Don't assume start at beginning of token list.
17470169689Skan	(save_comment): Use INIT_TOKEN_NAME.
17471169689Skan
17472169689Skan2000-05-27  Zack Weinberg  <zack@wolery.cumb.org>
17473169689Skan
17474169689Skan	* configure.in (stage1_warn_cflags): Add -Wstrict-prototypes
17475169689Skan	-Wmissing-prototypes.
17476169689Skan	* configure: Regenerate.
17477169689Skan	* gcc.texi: Remove explanation of MD_CALL_PROTOTYPES.
17478169689Skan
17479169689Skan	* builtins.c, calls.c: Change all instances of gen_call_* or
17480169689Skan	gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*.
17481169689Skan	* calls.c (struct_value_size_rtx): Separate definition from
17482169689Skan	initialization to avoid unused variable warning.
17483169689Skan
17484169689Skan	* genflags.c (gen_macro): New function.
17485169689Skan	(gen_proto): Call it for gen_call_* and gen_sibcall_*.
17486169689Skan	(gen_nonproto): Delete.
17487169689Skan	(gen_insn): Put all insns on the same obstack.
17488169689Skan	(main): Generate prototypes for everything unconditionally.
17489169689Skan
17490169689Skan	* configure.in: Add AC_CHECK_TYPE(ssize_t).  Remove commented
17491169689Skan	out check for wchar_t.
17492169689Skan	* acconfig.h: Add template for ssize_t.  Remove @TOP@.
17493169689Skan	* system.h: Add infrastructure for defining missing
17494169689Skan	TYPE_MAX/TYPE_MIN macros.  Use it to provide fallback
17495169689Skan	definitions of UCHAR_MAX and SSIZE_MAX.
17496169689Skan	* configure: Regenerate.
17497169689Skan	* config.in: Regenerate.
17498169689Skan
17499169689Skan	* Makefile.in (libgcc2.ready): Rename to libgcc.ready.
17500169689Skan	Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed
17501169689Skan	headers.
17502169689Skan	(clean): No need to delete libgcc1.a, libgcc1-asm.a,
17503169689Skan	libgcc2.a, or libgcc1.null.
17504169689Skan
17505169689Skan2000-05-27  Richard Henderson  <rth@cygnus.com>
17506169689Skan
17507169689Skan	* Makefile.in (recog.o): Don't depend on resource.h.
17508169689Skan	* recog.c: Don't include resource.h.
17509169689Skan	(recog_last_allowed_insn): Remove.
17510169689Skan	(recog_next_insn): Remove.
17511169689Skan	(struct peep2_insn_data): New.
17512169689Skan	(peep2_insn_data, peep2_current): New.
17513169689Skan	(peep2_next_insn): New.
17514169689Skan	(peep2_regno_dead_p, peep2_reg_dead_p): New.
17515169689Skan	(peep2_find_free_register): New.
17516169689Skan	(peephole2_optimize): Track life information by insn as we go.
17517169689Skan	* recog.h: Update declarations.
17518169689Skan	* resource.c (find_free_register, reg_dead_p): Remove.
17519169689Skan	* resource.h: Remove their declarations.
17520169689Skan	* toplev.c: Include hard-reg-set.h before recog.h.
17521169689Skan
17522169689Skan	* genconfig.c (max_insns_per_peep2): New.
17523169689Skan	(gen_peephole2): New.
17524169689Skan	(main): Call it.
17525169689Skan	* genemit.c (output_peephole2_scratches): Generate calls to
17526169689Skan	peep2_find_free_register; adjust surrounding code.
17527169689Skan	(main): Have insn-emit.c include hard-reg-set.h before recog.h.
17528169689Skan	* genrecog.c (change_state): Don't track last_insn.
17529169689Skan	(write_action): Write into *_pmatch_len before accepting.
17530169689Skan	(write_tree): Adjust peephole2_insns and subroutines to match.
17531169689Skan
17532169689Skan	* config/i386/i386.md (all peepholes): Use peep2_regno_dead_p.
17533169689Skan
17534169689Skan	* config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.
17535169689Skan	(hard_int_register_operand): New.
17536169689Skan	* config/alpha/alpha-protos.h: Declare it.
17537169689Skan	* config/alpha/alpha.h (PREDICATE_CODES): Update.
17538169689Skan	* config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand
17539169689Skan	as needed; use peep2_reg_dead_p instead of dead_or_set_p.
17540169689Skan
17541169689Skan2000-05-27  Richard Henderson  <rth@cygnus.com>
17542169689Skan
17543169689Skan	* function.c (thread_prologue_epilogue_insns): Don't move the
17544169689Skan	line note at the head of the chain.  Only force a lineno note
17545169689Skan	before the end of block 0.
17546169689Skan
17547169689Skan2000-05-27  Richard Henderson  <rth@cygnus.com>
17548169689Skan
17549169689Skan	* gensupport.c (collect_insn_data): Record the maximum number
17550169689Skan	of alternatives, not the last seen.
17551169689Skan
17552169689Skan	* genoutput.c: Don't include errors.h.
17553169689Skan	(struct data): Add lineno member.
17554169689Skan	(have_error): New.
17555169689Skan	(scan_operands): Use message_with_line instead of error.
17556169689Skan	(validate_insn_alternatives): Likewise.
17557169689Skan	(gen_insn): Accept and store the pattern's line number.
17558169689Skan	(gen_peephole, gen_expand, gen_split): Likewise.
17559169689Skan	(main): Don't set progname.  Pass line_no to gen_foo.
17560169689Skan
17561169689Skan2000-05-27  Richard Henderson  <rth@cygnus.com>
17562169689Skan
17563169689Skan	* config/d30v/d30v.c (d30v_print_operand): Handle ':'.
17564169689Skan	* config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'.
17565169689Skan	* config/d30v/d30v.md (attr predicable): New.
17566169689Skan	(all insn patterns): Mark non-predicable patterns; use %: on the rest.
17567169689Skan	(andsi3*): Unify into one pattern.
17568169689Skan	(iorsi3*, xorsi3*): Likewise.
17569169689Skan	(peephole2 patterns): Use peep2_reg_dead_p; verify not a
17570169689Skan	conditional return.
17571169689Skan	(old cond_exec patterns): Remove.
17572169689Skan	(define_cond_exec): New.
17573169689Skan
17574169689SkanSat May 27 11:01:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17575169689Skan
17576169689Skan	* tree.h (TREE_CODE_LENGTH): New macro.
17577169689Skan	* c-common.c (c_find_base_decl): Use it.
17578169689Skan	* expr.c (safe_from_p): Likewise.
17579169689Skan	* print-tree.c (print_node): Likewise.
17580169689Skan	* tree.c (make_node, copy_node, get_identifier): Likewie.
17581169689Skan	(first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
17582169689Skan	(build, build_nt, build_parse_node, simple_cst_equal): Likewise.
17583169689Skan	* fold-const.c (make_range): Likewise.
17584169689Skan	(fold): Likewise; also use first_rtl_op.
17585169689Skan	* c-iterate.c (collect_iterators): Use first_rtl_op.
17586169689Skan	* calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
17587169689Skan	Use IS_EXPR_CODE_CLASS.
17588169689Skan	(preexpand_calls): Likewise.
17589169689Skan	* ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
17590169689Skan	and TREE_CODE_LENGTH.
17591169689Skan	* stmt.c (warn_if_unused_value): If no operands, no unused value.
17592169689Skan
17593169689Skan2000-05-26  Geoffrey Keating  <geoffk@cygnus.com>
17594169689Skan
17595169689Skan	* config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather
17596169689Skan	than '%1(%*)'.
17597169689Skan	(movdi_internal64): Likewise.
17598169689Skan
17599169689Skan	* config/rs6000/rs6000.md: Correct order of operands for DImode
17600169689Skan	boolean patterns.
17601169689Skan
17602169689Skan	* config/rs6000/rs6000.c (boolean_or_operator): New function.
17603169689Skan	* config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it.
17604169689Skan	* config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator.
17605169689Skan	* config/rs6000/rs6000.md: Use boolean_or_operator instead of
17606169689Skan	boolean_operator for the boolean patterns without NOTs.
17607169689Skan
17608169689Skan	* config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename
17609169689Skan	from reg_or_u_cint_operand.  Change comment and behavior.
17610169689Skan	(logical_operand): Clean up, add assertion.
17611169689Skan	(non_logical_cint_operand): Also check for
17612169689Skan	reg_or_logical_cint_operand.
17613169689Skan	* config/rs6000/rs6000.h (PREDICATE_CODES): Update.
17614169689Skan	* config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand
17615169689Skan	in the expander.
17616169689Skan	(xorsi3): Likewise.
17617169689Skan	(iordi3): Likewise.
17618169689Skan	(xordi3): Likewise.
17619169689Skan
17620169689Skan2000-05-26  Mark Mitchell  <mark@codesourcery.com>
17621169689Skan
17622169689Skan	* tree.h (struct record_layout_info): Rename to (struct
17623169689Skan	record_layout_info_s).
17624169689Skan	* stor-layout.c (start_record_layout): Replace
17625169689Skan	`record_layout_info' with `record_layout_info_s'.
17626169689Skan
17627169689Skan2000-05-26  Richard Earnshaw  <rearnsha@arm.com>
17628169689Skan
17629169689Skan	* flow.c (find_label_refs): New function.
17630169689Skan	(find_basic_blocks_1): Call it for each alternative of a call
17631169689Skan	placeholder.
17632169689Skan
17633169689Skan2000-05-26  Richard Earnshaw  <rearnsha@arm.com>
17634169689Skan
17635169689Skan	* ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC
17636169689Skan	of get_pc.
17637169689Skan
17638169689Skan2000-05-25  Richard Henderson  <rth@cygnus.com>
17639169689Skan
17640169689Skan	* config/alpha/alpha.c (alpha_comparison_operator): Don't be
17641169689Skan	so strict about DImode.
17642169689Skan	(alpha_swapped_comparison_operator): Likewise.
17643169689Skan	* config/alpha/alpha.md (*setne_internal): Name it.  Allow
17644169689Skan	any integer output mode.
17645169689Skan	(*setcc_internal): Likewise.
17646169689Skan	(*setcc_swapped_internal): Likewise.
17647169689Skan	(*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them.
17648169689Skan	(*mov[qhs]icc_internal): New.
17649169689Skan	(*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New.
17650169689Skan
17651169689Skan2000-05-25  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
17652169689Skan
17653169689Skan	* vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified.
17654169689Skan
17655169689Skan2000-05-25  Richard Henderson  <rth@cygnus.com>
17656169689Skan
17657169689Skan	* bb-reorder.c (reorder_block_def): Reorder elements for size.
17658169689Skan	Remove add_jump; add next; replace flags with visited.
17659169689Skan	(rbd_init): Remove.
17660169689Skan	(REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove.
17661169689Skan	(REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove.
17662169689Skan	(REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove.
17663169689Skan	(REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove.
17664169689Skan	(RBI): New.
17665169689Skan	(reorder_index, reorder_last_visited): Remove.
17666169689Skan	(skip_insns_after_block): Rewrite to use a switch.
17667169689Skan	(get_common_dest): Remove.
17668169689Skan	(chain_reorder_blocks): Remove.
17669169689Skan	(record_effective_endpoints): Split out from reorder_basic_blocks.
17670169689Skan	(make_reorder_chain): Likewise.  Loop until all blocks are placed.
17671169689Skan	(make_reorder_chain_1): Renamed from old make_reorder_chain.
17672169689Skan	Only construct the reorder chain, do not move insns.  Try harder
17673169689Skan	to tail recurse.
17674169689Skan	(label_for_bb, emit_jump_to_block_after): New.
17675169689Skan	(fixup_reorder_chain): Use them.  Do bulk block movement.  Examine
17676169689Skan	and adjust the jump insns appropriately.  Fixup basic_block_info.
17677169689Skan	(verify_insn_chain): Always define.
17678169689Skan	(relate_bbs_with_scopes): Call xmalloc, not xcalloc.  Fix thinko
17679169689Skan	in allocation size.
17680169689Skan	(make_new_scope): Don't write zeros to calloc'd space.
17681169689Skan	(build_scope_forest): Rely on xrealloc to DTRT.
17682169689Skan	(reorder_basic_blocks): Don't build loop nest.  Don't fail if
17683169689Skan	profile_arc_flag.  Streamline EH test.
17684169689Skan
17685169689Skan	* flow.c (redirect_edge_succ, redirect_edge_pred): New.
17686169689Skan	* basic-block.h: Declare them.
17687169689Skan
17688169689Skan2000-05-25  Alexandre Oliva  <aoliva@cygnus.com>
17689169689Skan
17690169689Skan	* emit-rtl.c (reset_used_decls): New function.
17691169689Skan	(unshare_all_rtl_again): Call it.
17692169689Skan
17693169689Skan2000-05-25  Zack Weinberg  <zack@wolery.cumb.org>
17694169689Skan
17695169689Skan	* cpplex.c (maybe_macroexpand): Warn about function-like
17696169689Skan	macros used in non-function context, if -Wtraditional.
17697169689Skan
17698169689Skan2000-05-25  Mark Mitchell  <mark@codesourcery.com>
17699169689Skan
17700169689Skan	* recog.c (peephole2_optimize): Use INSN_P.
17701169689Skan
17702169689Skan2000-05-25  Richard Henderson  <rth@cygnus.com>
17703169689Skan
17704169689Skan	* ifcvt.c (seq_contains_jump): New.
17705169689Skan	(noce_try_store_flag_constants): Use it to fail conversion.
17706169689Skan	(noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise.
17707169689Skan
17708169689Skan2000-05-25  Mark Mitchell  <mark@codesourcery.com>
17709169689Skan
17710169689Skan	* except.h (can_throw): Declare it.
17711169689Skan	* except.c (can_throw): Give it external linkage.
17712169689Skan	* resource.c (find_dead_or_set_registers): Use can_throw.
17713169689Skan
17714169689Skan2000-05-25  Richard Henderson  <rth@cygnus.com>
17715169689Skan
17716169689Skan	* flow.c (mark_set_1): Don't record conditionally dead memory.
17717169689Skan
17718169689Skan2000-05-25  Jan Hubicka  <jh@suse.cz>
17719169689Skan
17720169689Skan	* combine.c (try_combine): Use any_condjump_p, any_uncondjump_p
17721169689Skan	and pc_set at the place of simplejump_p and condjump_p.
17722169689Skan	* cse.c (record_jump_equiv): Likewise.
17723169689Skan	* emit-rtl.c (emit): Likewise.
17724169689Skan	* explow.c (find_next_ref): Likewise.
17725169689Skan	* flow.c (tidy_fallthru_edge): Likewise.
17726169689Skan	(init_propagate_block_info): Likewise.
17727169689Skan	* gcse.c (delete_null_pointer_checks): Likewise.
17728169689Skan	* ifcvt.c (cond_exec_get_condition, noce_get_condition,
17729169689Skan	dead_or_predicable): Likewise.
17730169689Skan	* integrate.c (copy_insn_list): Likewise.
17731169689Skan	* loop.c (scan_loop, verify_dominator, find_and_verify_loops,
17732169689Skan	for_each_insn_in_loop, check_dbra_loop, get_condition,
17733169689Skan	insert_bct, load_mems): Likewise.
17734169689Skan	* resource.c (find_dead_or_set_registers): Likewise.
17735169689Skan	* sibcalls.c (simplejump_p): Likewise.
17736169689Skan	* unroll.c (copy_loop_body, reg_dead_after_loop): Likewise.
17737169689Skan
17738169689Skan2000-05-25  David Edelsohn  <edelsohn@gnu.org>
17739169689Skan
17740169689Skan	* rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move
17741169689Skan	to STRING case.  Use doubleword STRING move for TARGET_POWERPC64
17742169689Skan	when unaligned.
17743169689Skan	* rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT.
17744169689Skan	(RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame.
17745169689Skan	(LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high.
17746169689Skan	* rs6000.md: Name various internal patterns.
17747169689Skan
17748169689Skan2000-05-25  Jan Hubicka  <jh@suse.cz>
17749169689Skan
17750169689Skan	* jump.c (invert_exp_1): Remove first argument, use pc_set
17751169689Skan	to get the expression.
17752169689Skan	(redirect_exp): Make static; redirect only the pc_set expression,
17753169689Skan	remove first argument.
17754169689Skan	(invert_exp): Remove first argument, make static.
17755169689Skan	(jump_optimize): Use any_condjump_p, any_uncondjump_p and
17756169689Skan	any_onlyjump at most places where we originaly did condjump_p
17757169689Skan	and simplejump_p.
17758169689Skan	(jump_back_p, follow_jumps, thread_jumps): Likewise.
17759169689Skan	(delete_barrier_succesors): Use pc_set.
17760169689Skan	(invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update
17761169689Skan	calls of invert_exp and redirect_exp.
17762169689Skan	* rtl.h (redirect_exp, invert_exp): Remove.
17763169689Skan	* unroll.c (copy_loop_body): Use invert_jump and redirect_jump.
17764169689Skan
17765169689Skan2000-05-25  Richard Henderson  <rth@cygnus.com>
17766169689Skan
17767169689Skan	* stmt.c (expand_end_bindings): Fix thinko last change.
17768169689Skan
17769169689Skan2000-05-25  Andrew MacLeod  <amacleod@cygnus.com>
17770169689Skan	    Andrew Haley  <aph@cygnus.com>
17771169689Skan
17772169689Skan	* except.c  (func_eh_entry): Add emitted field.
17773169689Skan	(new_eh_region_entry): Set emitted field to 0;
17774169689Skan	(output_exception_table_entry): Only emit previously un-emitted data,
17775169689Skan	and send it to the eh_data section.
17776169689Skan	(output_exception_table): Break out common parts. Output
17777169689Skan	exception table for entire compilation unit to eh_data section.
17778169689Skan	(output_exception_table_data): Common parts of output_exception_table.
17779169689Skan	Send output to eh_data section.
17780169689Skan	(output_function_exception_table): Output exception table data for
17781169689Skan	a single function to eh_data section.
17782169689Skan	(free_exception_table): New external to free the table.
17783169689Skan	* except.h (free_exception_table): Add prototype.
17784169689Skan	(output_function_exception_table): Add prototype.
17785169689Skan	* final.c (final_end_function): Output function exception table
17786169689Skan	for IA64_UNWIND_INFO.
17787169689Skan	(final_scan_insn): Emit any unwind directives for an insn.
17788169689Skan
17789169689Skan	* frame-dwarf2.c: New file containing all DWARF 2 specific code
17790169689Skan	from frame.c.
17791169689Skan	* frame.c: Remove all DWARF 2 specific code.
17792169689Skan	* config/ia64/frame-ia64.c: New file.
17793169689Skan	(gthread_stuff): Make all gthread available with
17794169689Skan	IA64_UNWIND_INFO.
17795169689Skan	(dwarf_fde): Define an IA64 struct for dwarf_fde.
17796169689Skan	(__register_frame_info, __register_frame): Move to common area of file.
17797169689Skan	(__register_frame_info_table, __register_frame_table): Move to common i
17798169689Skan	area.
17799169689Skan	(__deregister_frame_info, __deregister_frame): Move to common area.
17800169689Skan	(__frame_init, find_fde): New versions for IA64_UNWIND_INFO.
17801169689Skan	(read_uleb128): New version for ia64.
17802169689Skan	(get_unwind_record): Read the next IA-64 unwind record.
17803169689Skan	(read_R_record): Read a region header record.
17804169689Skan	(process_a_b_reg_code): X record helper.
17805169689Skan	(read_X_record): Read an X format record.
17806169689Skan	(read_B_record): Read a B format record.
17807169689Skan	(P3_record_types): List of record types matching the P3 format.
17808169689Skan	(P7_record_types): List of record types matching the P7 format.
17809169689Skan	(P8_record_types): List of record types matching the P8 format.
17810169689Skan	(read_P_record): Read a P format record.
17811169689Skan	(init_ia64_reg_loc): Set default fields for a register.
17812169689Skan	(init_ia64_unwind_frame): Set defaults for all register records.
17813169689Skan	(execute_one_ia64_descriptor): Execute one descriptor record.
17814169689Skan	(rse_address_add): Calculate the position of a local reg in memory.
17815169689Skan	(normalize_reg_loc): Turn a location descriptor into a memory address.
17816169689Skan	(maybe_normalize_reg_loc): Only normalize a descriptor if it falls
17817169689Skan	within a specified PC offset range.
17818169689Skan	(get_real_reg_value): Given a register location, retrieve its value.
17819169689Skan	(set_real_reg_value): Change the value of a register location.
17820169689Skan	(copy_reg_value): Copy reg values, if needed.
17821169689Skan	(copy_saved_reg_state): Copy all registers that need to be copied.
17822169689Skan	(process_state_between): Normalize all frame register records that
17823169689Skan	fall within the specified PC range.
17824169689Skan	(frame_translate): Take a processed frame description, and turn
17825169689Skan	everything into addresses.
17826169689Skan	(build_ia64_frame_state ): Find and create frame state record for a PC.
17827169689Skan	(get_personality): Get the personality routine for a given frame.
17828169689Skan	(get_except_table): Get the exception table for a given frame.
17829169689Skan	(record_name): Unwind record names for debugging.
17830169689Skan	(print_record): Print and unwind record.
17831169689Skan	(print_all_records): Print an entire unwind image.
17832169689Skan	(__ia64_backtrace): Print a backtrace.
17833169689Skan	(ia64_backtrace_helper): New function.
17834169689Skan	(__register_frame_info_aux): New function.
17835169689Skan	* config/ia64/crtend.asm (__do_frame_setup_aux): New function.
17836169689Skan
17837169689Skan	* frame.h (enum unw_record_type): New unwind record types.
17838169689Skan	(struct unw_p_record, unw_b_record, unw_x_record) : New unwind records.
17839169689Skan	(struct unw_r_record, unwind_record): New unwind record structs.
17840169689Skan	(struct unwind_info_ptr): Unwind information layout.
17841169689Skan	(IA64_UNW_LOC_TYPE_*): Macros for different types for location
17842169689Skan	descriptors.
17843169689Skan	(struct ia64_reg_loc): Register location description.
17844169689Skan	(struct ia64_frame_state): Location of all registers in a frame.
17845169689Skan	(struct object): Add pc_base and fde_end for IA64_UNWIND_INFO.
17846169689Skan	* libgcc2.c (__ia64_personality_v1): Personality routine.
17847169689Skan	(__calc_caller_bsp): Calculate the bsp register for the caller's
17848169689Skan	frame.
17849169689Skan	(ia64_throw_helper): Figure out who to return to and set up the
17850169689Skan	registers.
17851169689Skan	(__throw): Throw routine.
17852169689Skan
17853169689Skan	* output.h (assemble_eh_align, assemble_eh_label): New functions
17854169689Skan	to generate EH info where we want it.
17855169689Skan	(assemble_eh_integer): New function.
17856169689Skan	* toplev.c (compile_file): Output module level exception table for
17857169689Skan	non-ia64 targets.
17858169689Skan	(main): Set exceptions_via_longjump and flag_new_exceptions based
17859169689Skan	on IA64_UNWIND_INFO too.
17860169689Skan
17861169689Skan	* varasm.c (assemble_eh_label): Generate a label via
17862169689Skan	ASM_OUTPUT_EH_LABEL if it has been specified.
17863169689Skan	(assemble_eh_align): Generate an alignment directive via
17864169689Skan	ASM_OUTPUT_EH_ALIGN if it has been specified.
17865169689Skan	(assemble_eh_label): Generate an integer value via
17866169689Skan	ASM_OUTPUT_EH_type if they have been specified.
17867169689Skan	* config/ia64/ia64.c (rtx_needs_barrier): Add flushrs.
17868169689Skan	(ia64_init_builtins): Add __builtin_ia64_bsp
17869169689Skan	and __builtin_ia64_flushrs.
17870169689Skan	(ia64_expand_builtin): Add IA64_BUILTIN_BSP and
17871169689Skan	IA64_BUILTIN_FLUSHRS.
17872169689Skan	* config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and
17873169689Skan	IA64_BUILTIN_FLUSHRS.
17874169689Skan
17875169689Skan	* config/ia64/ia64.md (flushrs): New insn to flush the register
17876169689Skan	stack.  Add to unspec list.
17877169689Skan
17878169689Skan	* config/ia64/crtbegin.asm (frame_object): Change size.
17879169689Skan	(__do_frame_setup_aux): New function.
17880169689Skan	* config/ia64/crtend.asm: call __do_frame_setup_aux.
17881169689Skan	* config/ia64/t-ia64 (LIB2ADDEH): Add.
17882169689Skan	* Makefile.in (LIB2ADDEH): Add.
17883169689Skan	(LIB2ADD): Use LIB2ADDEH.
17884169689Skan
17885169689Skan2000-05-24  Richard Henderson  <rth@cygnus.com>
17886169689Skan
17887169689Skan	* recog.c (offsettable_address_p): If mode size is zero, assume
17888169689Skan	BIGGEST_ALIGNMENT.
17889169689Skan
17890169689Skan2000-05-24  J. David Anglin  <dave@hiauly.hia.nrc.ca>
17891169689Skan
17892169689Skan	* configure.in: Check for -Wno-long-long option support and improve
17893169689Skan	handling of warning CFLAGS for stages 1 and 2.
17894169689Skan	* Makefile.in (WARN_CFLAGS): Move definition to configure.in.
17895169689Skan	* configure: Regenerate.
17896169689Skan
17897169689SkanWed May 24 19:37:53 2000  Jeffrey A Law  (law@cygnus.com)
17898169689Skan
17899169689Skan	* gcc.texi: Remove contributor list.  Instead include contrib.texi.
17900169689Skan	* contrib.texi: New file.
17901169689Skan
17902169689SkanThu May 25 02:27:22 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
17903169689Skan
17904169689Skan	* loop.c (basic_induction_var): Avoid double recording of an increment.
17905169689Skan
17906169689SkanThu May 25 02:19:27 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
17907169689Skan
17908169689Skan	* Back out this patch:
17909169689Skan	Tue Dec  7 19:22:06 1999  Richard Henderson  <rth@cygnus.com>
17910169689Skan	  * loop.h (struct induction): Add multi_insn_incr.
17911169689Skan	  * loop.c (basic_induction_var): New multi_insn_incr argument.
17912169689Skan	  Set it if we search back through previous insns for the biv.
17913169689Skan	  (record_biv): New multi_insn_incr argument; fill in struct induction.
17914169689Skan	  (strength_reduce): Discard an iv with multiple bivs, any of
17915169689Skan	  which require multiple insns to increment.
17916169689Skan
17917169689Skan	* loop.c (check_insn_for_bivs): Remove bits copied from above patch.
17918169689Skan
17919169689SkanThu May 25 02:09:10 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
17920169689Skan
17921169689Skan	* rtl.h (loc_mentioned_in_p): Declare.
17922169689Skan	* reload.c (loc_mentioned_in_p): Moved from here...
17923169689Skan	* rtlanal.c (loc_mentioned_in_p): to here.  No longer static.
17924169689Skan	Fix loop increment for 'E' handling.
17925169689Skan	* loop.c (strength_reduce): When doing biv->giv conversion,
17926169689Skan	take multi-insn biv increments into account.
17927169689Skan
17928169689Skan2000-05-24  Jason Merrill  <jason@casey.soma.redhat.com>
17929169689Skan
17930169689Skan	* stmt.c (expand_end_bindings): Look through NOTEs to find a
17931169689Skan	BARRIER.
17932169689Skan
17933169689Skan2000-05-24  Mark Mitchell  <mark@codesourcery.com>
17934169689Skan
17935169689Skan	* calls.c (expand_call): Handle cleanups in tail-recursion
17936169689Skan	arguments analogously to cleanups in sibling calls.
17937169689Skan
17938169689Skan2000-05-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17939169689Skan
17940169689Skan	* simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND.
17941169689Skan	All callers changed.
17942169689Skan
17943169689Skan2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
17944169689Skan
17945169689Skan	* expr.c (expand_assignment, store_expr, expand_expr,
17946169689Skan	expand_expr_unaligned): Set in_check_memory_usage while emitting
17947169689Skan	chkr_check_addr libcall.
17948169689Skan
17949169689Skan2000-05-24  Nick Clifton  <nickc@cygnus.com>
17950169689Skan
17951169689Skan	* fold-const.c (extract_muldiv): When constructing a
17952169689Skan	multiplier/divisor, do not expect const_binop to correctly
17953169689Skan	determine if overflow has occurred, so check explicitly.
17954169689Skan
17955169689Skan2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
17956169689Skan
17957169689Skan	* c-decl.c (build_enumerator): Don't modify the value's type,
17958169689Skan	convert it.
17959169689Skan
17960169689Skan2000-05-24  Andreas Jaeger  <aj@suse.de>
17961169689Skan
17962169689Skan	* mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default.
17963169689Skan
17964169689Skan2000-05-24  Eric Christopher <echristo@cygnus.com>
17965169689Skan
17966169689Skan	* configure.in: Redefine inhibit_libc conditions.
17967169689Skan	* libgcc2.c: Remove inhibit_libc conditional define.
17968169689Skan	* configure: Regenerate.
17969169689Skan
17970169689Skan2000-05-24  Phil Edwards  <pme@sourceware.cygnus.com>
17971169689Skan
17972169689Skan	* configure.in:  For --enable-languages=LIST, check for empty LIST.
17973169689Skan	* configure:  Regenerate.
17974169689Skan
17975169689Skan2000-05-24  Lars Brinkhoff  <lars@nocrew.org>
17976169689Skan
17977169689Skan	* pdp11.h (STACK_BOUNDARY): Define.
17978169689Skan
17979169689Skan2000-05-24  Jakub Jelinek  <jakub@redhat.com>
17980169689Skan
17981169689Skan	* ifcvt.c (if_convert): Update life info globally.
17982169689Skan
17983169689Skan2000-05-24  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
17984169689Skan
17985169689Skan	* emit-rtl.c (unshare_all_decls): New function.
17986169689Skan	(unshare_all_rtl): Call it.
17987169689Skan
17988169689Skan2000-05-23  Nick Clifton  <nickc@cygnus.com>
17989169689Skan
17990169689Skan	* configure.in: Treat 'strongarm' as if it were 'arm' when
17991169689Skan	determining cpu type.
17992169689Skan
17993169689Skan	* configure: Regenerate.
17994169689Skan
17995169689Skan	* config/arm/arm.c: Change 'char *' to 'const char *' for cases
17996169689Skan	where constant strings are involved.
17997169689Skan
17998169689Skan	* config/arm/arm.h (arm_condition_codes): Change type to 'const
17999169689Skan	char *'.
18000169689Skan
18001169689Skan	* config/arm/arm-protos.h: Change 'char *' to 'const char *' for
18002169689Skan	cases where constant strings are involved.
18003169689Skan
18004169689SkanTue May 23 15:08:31 2000  Clinton Popetz  <cpopetz@cygnus.com>
18005169689Skan
18006169689Skan	* config/sh/sh.c (gen_far_branch, split_branches): Update
18007169689Skan	to reflect new prototypes for redirect_jump and invert_jump.
18008169689Skan	(sh_insn_length_adjustment): Get rid of const warnings.
18009169689Skan
18010169689Skan2000-05-23  Kazu Hirata  <kazu@hxi.com>
18011169689Skan
18012169689Skan	* invoke.texi (Options for Debugging Your Program or GCC): Update
18013169689Skan	the names of dump files.
18014169689Skan
18015169689SkanTue May 23 13:58:52 2000  Philippe De Muyter  <phdm@macqel.be>
18016169689Skan
18017169689Skan	* configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix.
18018169689Skan	* configure: Regenerated.
18019169689Skan
18020169689Skan2000-05-23  Zack Weinberg  <zack@wolery.cumb.org>
18021169689Skan
18022169689Skan	* simplify-rtx.c (SIGN_EXTEND): New macro.
18023169689Skan	(simplify_unary_operation, simplify_binary_operation,
18024169689Skan	simplify_relational_operation): Use SIGN_EXTEND.  Make low
18025169689Skan	halves of (low, high) pairs unsigned if they weren't already.
18026169689Skan	(simplify_ternary_operation): Cast INTVAL to unsigned before
18027169689Skan	comparing to a MODE_BITSIZE.
18028169689Skan
18029169689Skan2000-05-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18030169689Skan
18031169689Skan	* aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros
18032169689Skan	rewritten from the internals of gcc_AC_NEED_DECLARATION{S}.
18033169689Skan
18034169689Skan	* configure.in (gcc_AC_CHECK_DECLS): Call this instead of
18035169689Skan	gcc_AC_NEED_DECLARATIONS.
18036169689Skan
18037169689Skan	* dwarfout.c: Don't prototype time().
18038169689Skan
18039169689Skan	* gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*.
18040169689Skan
18041169689Skan	* system.h: Likewise.
18042169689Skan
18043169689Skan	* toplev.c: Likewise.
18044169689Skan
18045169689Skan2000-05-23  Zack Weinberg  <zack@wolery.cumb.org>
18046169689Skan
18047169689Skan	* c-decl.c (pushdecl): Invert sense of test for non-global types.
18048169689Skan
18049169689SkanTue May 23 18:11:42 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
18050169689Skan
18051169689Skan	* reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION.
18052169689Skan
18053169689Skan2000-05-23  Jonathan Larmour  <jlarmour@redhat.co.uk>
18054169689Skan
18055169689Skan	* config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define
18056169689Skan
18057169689SkanTue May 23 06:50:29 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18058169689Skan
18059169689Skan	* config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler.
18060169689Skan	(alpha_start_function): Never write ..ng label if VMS or NT.
18061169689Skan	(alpha_align_insns): Remove GP_IN_USE arg.
18062169689Skan	Alignment now unsigned.
18063169689Skan	(alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns.
18064169689Skan	* config/alpha/alpha.md (prologue_ldgp): Split into one define_expand
18065169689Skan	and two define_insn's.
18066169689Skan
18067169689Skan2000-05-22  Richard Henderson  <rth@cygnus.com>
18068169689Skan
18069169689Skan	* combine.c (simplify_comparison): Use trunc_int_for_mode.
18070169689Skan
18071169689Skan2000-05-22  Richard Henderson  <rth@cygnus.com>
18072169689Skan
18073169689Skan	* stor-layout.c (place_field): Change rli->size to rli->offset.
18074169689Skan
18075169689Skan2000-05-22  Richard Henderson  <rth@cygnus.com>
18076169689Skan
18077169689Skan	* function.c (thread_prologue_and_epilogue_insns): Make sure
18078169689Skan	existing line number notes appear after the prologue.
18079169689Skan
18080169689SkanMon May 22 21:49:00 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18081169689Skan
18082169689Skan	* config/alpha/alpha.c (alpha_fnname): New static variable.
18083169689Skan	(print_operand, case '~'): New case.
18084169689Skan	(alpha_expand_prologue): Emit prologue_ldgp insn if needed.
18085169689Skan	(alpha_start_function): Set alpha_fnname.
18086169689Skan	Write "ng" label if no ldgp; don't write ldgp insn.
18087169689Skan	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'.
18088169689Skan	* config/alpha/alpha.md (prologue_ldgp): New define_insn.
18089169689Skan
18090169689SkanMon May 22 11:30:48 2000  Clinton Popetz  <cpopetz@cygnus.com>
18091169689Skan
18092169689Skan	* jump.c (jump_optimize_1): Don't increment LABEL_NUSES
18093169689Skan	on deleted labels.
18094169689Skan
18095169689Skan2000-05-22  Zack Weinberg  <zack@wolery.cumb.org>
18096169689Skan
18097169689Skan	* varasm.c (eh_frame_section): Revert change to argument list.
18098169689Skan
18099169689SkanMon May 22 13:14:03 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18100169689Skan
18101169689Skan	* optabs.c (can_extend_p): Allow unsignedp to have any nonzero value.
18102169689Skan	(gen_extend_insn, can_fix_p, can_float_p): Likewise.
18103169689Skan
18104169689Skan	* final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove
18105169689Skan	dangling "else" that causes "break" to be conditional.
18106169689Skan	Also remove unneeded code at start.
18107169689Skan
18108169689SkanMon May 22 17:31:35 2000  Philippe De Muyter  <phdm@macqel.be>
18109169689Skan
18110169689Skan	* m68k/m68k.h (STORE_FLAG_VALUE): Macro set to (-1), not -1.
18111169689Skan	* fx80/fx80.h, i370/i370.h, m88k/m88k.h (STORE_FLAG_VALUE): Ditto.
18112169689Skan	* gmicro/gmicro.h, we32k/we32k.h (STORE_FLAG_VALUE): Ditto.
18113169689Skan
18114169689Skan2000-05-22  Jakub Jelinek  <jakub@redhat.com>
18115169689Skan
18116169689Skan	* config/sparc/sparc.md (movdf_insn_v9only_vis): fzero has
18117169689Skan	just one argument.
18118169689Skan
18119169689SkanMon May 22 06:57:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18120169689Skan
18121169689Skan	* alias.c (record_component_aliases): New function.
18122169689Skan	* tree.h: Clean up some declarations and comments.
18123169689Skan	(record_component_aliases): New declaration.
18124169689Skan	* tree.c (get_alias_set): If type and has alias set, use it.
18125169689Skan
18126169689Skan2000-05-22  Richard Henderson  <rth@cygnus.com>
18127169689Skan
18128169689Skan	* simplify-rtx.c (simplify_ternary_operation): Try to simplify
18129169689Skan	IF_THEN_ELSE to a setcc form.
18130169689Skan	* jump.c (can_reverse_comparison_p): Be prepared for insn null.
18131169689Skan
18132169689Skan2000-05-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18133169689Skan
18134169689Skan	* fixinc/inclhack.def (sun_malloc): Handle `calloc'.
18135169689Skan	(sun_malloc, sysz_stdtypes_for_sun): Add test_text.
18136169689Skan
18137169689SkanSun May 21 16:42:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18138169689Skan
18139169689Skan	* combine.c (try_combine): Handle i3_subst_into_i2 case when I2 is
18140169689Skan	not a PARALLEL.
18141169689Skan
18142169689Skan2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
18143169689Skan
18144169689Skan	* config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
18145169689Skan	* config/mn10300/mn10300.c (print_operand): Likewise.
18146169689Skan
18147169689Skan	* final.c (split_double): Right shift of negative values is not
18148169689Skan	portable.
18149169689Skan
18150169689Skan	* ifcvt.c (if_convert): Scan and kill dead code.
18151169689Skan
18152169689Skan	* emit-rtl.c (unshare_all_rtl): Store the copied rtx.
18153169689Skan
18154169689Skan2000-05-20  Zack Weinberg  <zack@wolery.cumb.org>
18155169689Skan
18156169689Skan	* diagnostic.c: Eliminate implicit int.
18157169689Skan	* except.c, gcc.c: Add static prototypes.
18158169689Skan	* final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED.
18159169689Skan	* gensupport.c (process_rtx): Use XVEC to initialize vector
18160169689Skan	slot of 'split'.
18161169689Skan
18162169689Skan	* print-rtl.c: If DEBUG_REGISTER_NAMES, define static
18163169689Skan	debug_reg_names instead of static reg_names.  If not, define
18164169689Skan	global reg_names.
18165169689Skan	* regclass.c: Don't define global reg_names unless
18166169689Skan	DEBUG_REGISTER_NAMES is defined.
18167169689Skan
18168169689Skan	* reload1.c (order_regs_for_reload): Remove unused variable.
18169169689Skan	* varasm.c: Include output.h after defaults.h.  Define
18170169689Skan	eh_frame_section as function of no args, not of unspecified args.
18171169689Skan
18172169689Skan	* gcc.c: Constify argbuf; arguments to store_arg,
18173169689Skan	process_command, main; elements of struct command and struct
18174169689Skan	switchstr; local variables in execute, process_command, main.
18175169689Skan
18176169689Skan2000-05-20  Bruce Korb  <bkorb@gnu.org>
18177169689Skan
18178169689Skan	* fixinc/inclhack.def:  many applications of c_fix=format + tests
18179169689Skan	* fixinc/check.diff:  regenerated
18180169689Skan	* fixinc/fixincl.x:  regenerated
18181169689Skan
18182169689SkanSat May 20 09:30:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18183169689Skan
18184169689Skan	* alias.c: Clarify some comments.
18185169689Skan	(record_base_value): REGNO is unsigned.
18186169689Skan	* rtl.h (record_base_value): Likewise.
18187169689Skan
18188169689Skan	* alias.c (aliases_everything_p): Don't special-case QImode here.
18189169689Skan	* c-common.c (c_get_alias_set): Do it here.
18190169689Skan	Handle BIT_FIELD_REF by getting alias info for arg.
18191169689Skan	Use POINTER_TYPE_P.
18192169689Skan
18193169689Skan2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
18194169689Skan
18195169689Skan	* mklibgcc.in: Restore rule to create ${dir}.
18196169689Skan
18197169689SkanSat May 20 08:45:41 2000  H.J. Lu  <hjl@gnu.org>
18198169689Skan
18199169689Skan	* Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for
18200169689Skan	GCC_FOR_TARGET used by MULTILIBS.
18201169689Skan	* mklibgcc.in: Make sure each .o file depends on the
18202169689Skan	directory it will be in.
18203169689Skan	Make the multilib directory depends libgcc.
18204169689Skan
18205169689SkanSat May 20 08:29:28 2000  H.J. Lu  <hjl@gnu.org>
18206169689Skan
18207169689Skan	* Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1.
18208169689Skan
18209169689SkanSat May 20 07:27:35 2000  Alexandre Oliva  <aoliva@cygnus.com>
18210169689Skan
18211169689Skan	* fold-const.c (make_range): Handle degenerated intervals.
18212169689Skan	Fixes c-torture/execute/991221-1.c
18213169689Skan
18214169689SkanFri May 19 18:16:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18215169689Skan
18216169689Skan	* cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.
18217169689Skan	* reload.c (find_equiv_reg): Likewise.
18218169689Skan	* alias.c (init_alias_analysis): Likewise.
18219169689Skan	Only call prologue_epilogue_contains on insns.
18220169689Skan	* basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function.
18221169689Skan	* bb-reorder.c (hard-reg-set.h): Include earlier.
18222169689Skan	* haifa-sched.c (hard-reg-set.h): Likewise.
18223169689Skan	* ifcvt.c (hard-reg-set.h): Likewise.
18224169689Skan	* local-alloc.c (hard-reg-set.h): Likewise.
18225169689Skan	* loop.c (hard-reg-set.h): Likewise.
18226169689Skan	* predict.c (hard-reg-set.h): Likewise.
18227169689Skan	* regrename.c (hard-reg-set.h): Likewise.
18228169689Skan	* flow.c (hard-reg-set.h): Likewise.
18229169689Skan	(reg_set_to_hard_reg_set): New function.
18230169689Skan	* bitmap.c (regs.h, basic-block.h): No longer include.
18231169689Skan	(bitmap.h): Now include.
18232169689Skan	* conflict.c (hard-reg-set.h): Include.
18233169689Skan	* profile.c (hard-reg-set.h): Likewise.
18234169689Skan	* print-rtl.c (hard-reg-set.h): Likewise.
18235169689Skan	* sbitmap.c (hard-reg-set.h): Likewise.
18236169689Skan	* toplev.c (hard-reg-set.h): Likewise.
18237169689Skan	* unroll.c (hard-reg-set.h, basic-block.h): Likewise.
18238169689Skan	* hard-reg-set.h (reg_names): Now constant.
18239169689Skan	* regs.h (reg_names): Likewise.
18240169689Skan	* regclass.c (reg_names): Likewise.
18241169689Skan	* loop.h (basic-block.h): No longer include.
18242169689Skan	(bitmap.h): Now include.
18243169689Skan	* reload1.c (order_regs_for_reload): Avoid loop over reg sets.
18244169689Skan	* Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes.
18245169689Skan	(toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise.
18246169689Skan
18247169689Skan2000-05-19  Jan Hubicka  <jh@suse.cz>
18248169689Skan	    Richard Henderson  <rth@cygnus.com>
18249169689Skan
18250169689Skan	* basic-block.h (struct edge_def): New field "count".
18251169689Skan	(struct basic_block_def): Likewise.
18252169689Skan	* flow.c (entry_exit_blocks): Add count fileds.
18253169689Skan	(split_edge): Keep count information up-to-date.
18254169689Skan	(dump_edge_info, dump_flow_info): Dump count fields.
18255169689Skan
18256169689Skan	* final.c (count_instrumented_edges): Rename to edge from arc.
18257169689Skan	(end_final): Update users.
18258169689Skan	* profile.c: Include expr.h, basic-block.h.
18259169689Skan	(struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill.
18260169689Skan	(struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill.
18261169689Skan	(ignore_next_note, return_label_execution_count): Kill.
18262169689Skan	(bbg_file_name, da_file_name): Kill.
18263169689Skan	(edge_info, bb_info): New structures.
18264169689Skan	(EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros.
18265169689Skan	(count_instrumented_edges, total_num_edges): Rename to edge from arc.
18266169689Skan	(total_num_edges_instrumented): Likewise.
18267169689Skan	(init_arc, expand_spanning_tree): Kill.
18268169689Skan	(fill_spanning_tree, tablejump_entry_p): Kill.
18269169689Skan	(instrument_edges):  Rewrite from instrument_arcs to use
18270169689Skan	commit_edge_insertions infrastructure.
18271169689Skan	(compute_branch_probabilities): Remove arguments; rewrite for
18272169689Skan	CFG infrastructure; use rtl_dump_file directly.
18273169689Skan	(branch_prob, find_spanning_tree): Likewise.
18274169689Skan	(union_groups, find_group): New.
18275169689Skan	(init_branch_prob): Make bbg_file_name and da_file_name local.
18276169689Skan	(end_branch_prob): Use rtl_dump_file directly.
18277169689Skan	(init_edge_profiler): Rename to edge from arc.
18278169689Skan	(output_arc_profiler): Kill.
18279169689Skan	(gen_edge_profiler): New.
18280169689Skan	(output_func_start_profiler): Turn off profiling.  Make the
18281169689Skan	constructor static when we can.
18282169689Skan	* rtl.h (branch_prob, end_branch_prob): Update prototypes.
18283169689Skan
18284169689Skan	* toplev.c (DFI_flow): Remove.
18285169689Skan	(DFI_cfg, DFI_life): New.
18286169689Skan	(dump_file): Update accordingly.
18287169689Skan	(compile_file): Call end_branch_prob if profile_arc_flag too.
18288169689Skan	(rest_of_compilation): Move flow1 cfg creation to DFI_cfg.  Do edge
18289169689Skan	profiling after the CFG is built.  Move flow1 life analysis to
18290169689Skan	DFI_life.  Always estimate remaining probabilities.
18291169689Skan
18292169689Skan2000-05-19  Richard Henderson  <rth@cygnus.com>
18293169689Skan
18294169689Skan	* ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT.
18295169689Skan
18296169689Skan	* flow.c (make_edges): The sibling call edge to exit is abnormal.
18297169689Skan
18298169689Skan2000-05-19  Richard Henderson  <rth@cygnus.com>
18299169689Skan
18300169689Skan	* jump.c (redirect_jump): Add delete_unused argument.  Don't
18301169689Skan	remove labels and code following when LABEL_NUSES goes to zero.
18302169689Skan	(invert_jump): Likewise.
18303169689Skan	(jump_optimize_1): Fix redirect/invert arguments.
18304169689Skan	(do_cross_jump, thread_jumps): Likewise.
18305169689Skan	* flow.c (split_edge): Likewise.
18306169689Skan	* reorg.c (optimize_skip): Likewise.
18307169689Skan	(reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise.
18308169689Skan	* profile.c (instrument_arcs): Likewise.
18309169689Skan	* loop.c (find_and_verify_loops): Likewise.  Fix indentation.
18310169689Skan	* rtl.h: Update prototypes.
18311169689Skan
18312169689SkanFri May 19 12:05:13 2000  Clinton Popetz  <cpopetz@cygnus.com>
18313169689Skan
18314169689Skan	* ssa.c (convert_from_ssa): Tell life_analysis we need death
18315169689Skan	notes.
18316169689Skan	(make_regs_equivalent_over_bad_edges): Only look at abnormal
18317169689Skan	critical edges.
18318169689Skan
18319169689Skan2000-05-19  Zack Weinberg  <zack@wolery.cumb.org>
18320169689Skan
18321169689Skan	* cpphash.c (funlike_macroexpand): Make sure not to walk p1
18322169689Skan	past l1 when deleting whitespace and markers.
18323169689Skan
18324169689Skan	* cpplex.c (_cpp_scan_until): Clear AUX field of tokens.
18325169689Skan	* cpplib.c (do_unassert): Put the list to compare against on
18326169689Skan	the stack.
18327169689Skan
18328169689Skan2000-05-19  Bruce Korb  <bkorb@gnu.org>
18329169689Skan
18330169689Skan	* fixinc/README:  cleaned up old documentation
18331169689Skan	* fixinc/check.diff: regenerated & verified on OSR5 on ix86
18332169689Skan	* fixinc/check.tpl: compute the list of needed directories
18333169689Skan	emit "#if defined(name)" because of conflict
18334169689Skan	omit machine name differences from output differences
18335169689Skan	* fixinc/inclhack.def( m88k_multi_incl ):  Use `wrap' function
18336169689Skan	(machine_name): change test text to use `sed' markers
18337169689Skan	* fixinc/fixincl.x: regen
18338169689Skan
18339169689SkanFri May 19 06:49:35 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18340169689Skan
18341169689Skan	* config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of
18342169689Skan	a CONSTRUCTOR.
18343169689Skan
18344169689Skan2000-05-18  Chris Demetriou  <cgd@sibyte.com>
18345169689Skan
18346169689Skan	* gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update
18347169689Skan	it to match the current practice.
18348169689Skan
18349169689Skan2000-05-18  Mark Mitchell  <mark@codesourcery.com>
18350169689Skan
18351169689Skan	* Makefile.in (STAGESTUFF): Fix typo in spelling of s-under.
18352169689Skan
18353169689Skan2000-05-18  Richard Henderson  <rth@cygnus.com>
18354169689Skan
18355169689Skan	* rtlanal.c (insn_dependant_p, insn_dependant_p_1): New.
18356169689Skan	* rtl.h (insn_dependant_p): Declare it.
18357169689Skan	* loop.c (strength_reduce): Use it.
18358169689Skan
18359169689Skan2000-05-18  Alexandre Oliva  <aoliva@cygnus.com>
18360169689Skan
18361169689Skan	* config/mn10300/mn10300.c (expand_prologue, expand_epilogue):
18362169689Skan	16-bit and 64-bit clean-up.
18363169689Skan
18364169689Skan2000-05-18 Mark Elbrecht <snowball3@bigfoot.com>
18365169689Skan
18366169689Skan	* configure.in (*-pc-msdosdjgpp): Set float_format to none.
18367169689Skan	* configure: Rebuilt.
18368169689Skan
18369169689Skan2000-05-18  Zack Weinberg  <zack@wolery.cumb.org>
18370169689Skan
18371169689Skan	* genopinit.c: Use $ for escape sequences in optab patterns.
18372169689Skan	Remove backslashes from optab patterns.  Change $A, $B, $C to
18373169689Skan	expand to (int) whatever instead of just whatever; remove
18374169689Skan	explicit (int) from all optab patterns.
18375169689Skan
18376169689Skan	* gensupport.c (xmalloc, xrealloc, xstrdup): Provide.
18377169689Skan	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
18378169689Skan	genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
18379169689Skan	genrecog.c: Remove private copies of xmalloc, xrealloc, and
18380169689Skan	xstrdup.
18381169689Skan
18382169689Skan2000-05-18  Richard Henderson  <rth@cygnus.com>
18383169689Skan
18384169689Skan	* jump.c (jump_optimize_1): Base minimum insn count during
18385169689Skan	find_cross_jump on BRANCH_COST.
18386169689Skan
18387169689Skan2000-05-18  Jakub Jelinek  <jakub@redhat.com>
18388169689Skan
18389169689Skan	* print-rtl.c (print_rtx): Only print note line number as string
18390169689Skan	if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
18391169689Skan	* final.c (final_scan_insn): Do nothing for note line number 0.
18392169689Skan
18393169689Skan2000-05-18  Jakub Jelinek  <jakub@redhat.com>
18394169689Skan
18395169689Skan	* gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
18396169689Skan	from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
18397169689Skan	NOTE_INSN_DELETED_LABEL.
18398169689Skan
18399169689Skan2000-05-18  Nick Clifton  <nickc@cygnus.com>
18400169689Skan
18401169689Skan	* config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant,
18402169689Skan	uninitialized data in .rodata not .bss, and do not interpret an
18403169689Skan	error in the initialisation value as meaning that the variable
18404169689Skan	should be placed in the .bss section.
18405169689Skan
18406169689SkanThu May 18 12:10:18 2000  Philippe De Muyter  <phdm@macqel.be>
18407169689Skan
18408169689Skan	* configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o',
18409169689Skan	not `$ac_cv_prog_cc_cc_c_o'.
18410169689Skan	* configure: Regenerated.
18411169689Skan
18412169689Skan2000-05-18  Chris Demetriou  <cgd@sibyte.com>
18413169689Skan	    Richard Henderson  <rth@cygnus.com>
18414169689Skan
18415169689Skan	* c-common.h (enum c_tree_index): Add g77 type entries.
18416169689Skan	(g77_integer_type_node, g77_uinteger_type_node): New.
18417169689Skan	(g77_longint_type_node, g77_ulongint_type_node): New.
18418169689Skan	* c-decl.c (init_decl_processing): Initialize them.
18419169689Skan
18420169689Skan2000-05-18  Richard Henderson  <rth@cygnus.com>
18421169689Skan
18422169689Skan	* config/h8300/h8300.md (subs patterns): Use %G to negate.
18423169689Skan
18424169689Skan	* config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT.
18425169689Skan	(small_power_of_two): Likewise; use exact_log2.
18426169689Skan	(adds_subs_operand, one_insn_adds_subs_operand): Remove.
18427169689Skan	(output_adds_subs): Remove.
18428169689Skan	(two_insn_adds_subs_operand): New.
18429169689Skan	(split_adds_subs): New.
18430169689Skan	* config/h8300/h8300-protos.h: Update.
18431169689Skan	* config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT.
18432169689Skan	(CONST_OK_FOR_L): Match strict adds operands.
18433169689Skan	(CONST_OK_FOR_N): Match struct subs operands.
18434169689Skan	* config/h8300/h8300.md (adds_subs insns): Remove.
18435169689Skan	(addhi patterns): Output adds/subs directly.
18436169689Skan	(addsi_h8300h): Likewise.
18437169689Skan	(addhi/addsi splitters): New.  Decompose two_insn_adds_subs_operand.
18438169689Skan
18439169689Skan2000-05-18  Zack Weinberg  <zack@wolery.cumb.org>
18440169689Skan
18441169689Skan	* cppexp.c (parse_assertion): New.
18442169689Skan	(lex): Call it for CPP_HASH.  Remove CPP_ASSERTION case.
18443169689Skan	(_cpp_parse_expr): Remove case '#'.  Don't set
18444169689Skan	parsing_if_directive.
18445169689Skan	* cpphash.c (collect_objlike_expansion,
18446169689Skan	collect_funlike_expansion, collect_params,
18447169689Skan	_cpp_create_definition): The list no longer has a trailing
18448169689Skan	VSPACE token.
18449169689Skan	* cpphash.h (enum node_type): Add T_ASSERTION.
18450169689Skan	(struct hashnode): Remove aschain, add pred.
18451169689Skan	(struct predicate): New.
18452169689Skan	Update prototypes.
18453169689Skan
18454169689Skan	* cpplex.c (expand_token_space): Handle both offset and
18455169689Skan	nonoffset lists.
18456169689Skan	(init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete.
18457169689Skan	(_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist,
18458169689Skan	_cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens,
18459169689Skan	_cpp_equiv_toklists): New.
18460169689Skan	(_cpp_scan_line): Rename to _cpp_scan_until; add ability to
18461169689Skan	stop at any single-character token, not just newline.
18462169689Skan	(_cpp_lex_token): Remove special cases for #define and #if.
18463169689Skan	(cpp_get_token): Expect # as a separate token type.  Remove
18464169689Skan	DIRECTIVE case.
18465169689Skan	(_cpp_get_directive_token): Remove DIRECTIVE case.
18466169689Skan	(_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update.
18467169689Skan
18468169689Skan	* cpplib.c (_cpp_check_directive): Set dirno and
18469169689Skan	SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags.
18470169689Skan	(_cpp_handle_directive): Run # <number> through the same logic
18471169689Skan	as normal directives.
18472169689Skan	(do_define): Don't set parsing_define_directive.  Use
18473169689Skan	_cpp_scan_until.  The list does not have a VSPACE at the end.
18474169689Skan	(do_if): Save, clear, and restore only_seen_white around
18475169689Skan	_cpp_parse_expr.
18476169689Skan	(skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/
18477169689Skan	(do_assert, do_unassert): Rewrite.
18478169689Skan
18479169689Skan	* cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION.
18480169689Skan	(LIST_OFFSET): New flag.
18481169689Skan	(struct cpp_toklist): Replace dir_handler and dir_flags with
18482169689Skan	dirno and flags.
18483169689Skan	(struct cpp_reader): Remove parsing_if_directive and
18484169689Skan	parsing_define_directive.
18485169689Skan
18486169689Skan2000-05-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18487169689Skan
18488169689Skan	* fixinc/inclhack.def (broken_cabs): Update fix to handle comments
18489169689Skan	following the cabs decl which terminate on the following line.
18490169689Skan	Add the corresponding test_text case.
18491169689Skan
18492169689Skan2000-05-18  Neil Booth  <NeilB@earthling.net>
18493169689Skan
18494169689Skan	* cppinit.c (cpp_reader_init): Initialize col_adjust and
18495169689Skan	default tab stop size.
18496169689Skan	(no_num, OPT_ftabstop): New.
18497169689Skan	(handle_option): Handle "ftabstop=" command-line option.
18498169689Skan	(print_help): Document it.
18499169689Skan	* cpplex.c (COLUMN): Remove.
18500169689Skan	(handle_newline): Reset col_adjust.
18501169689Skan	(skip_whitespace): Update col_adjust as tabs encountered.
18502169689Skan	(_cpp_lex_line): Update to use col_adjust.  Call
18503169689Skan	skip_whitespace for all whitespace.
18504169689Skan	* cpplib.h (struct cpp_options): New member tabstop.
18505169689Skan	(struct cpp_reader): New member col_adjust.
18506169689Skan	(CPP_BUF_COL): Update.
18507169689Skan	(CPP_BUF_COLUMN): New.
18508169689Skan	* cpp.texi: Document "-ftabstop=" command line option.
18509169689Skan
18510169689SkanWed May 17 18:19:41 2000  Philippe De Muyter  <phdm@macqel.be>
18511169689Skan
18512169689Skan	* configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT
18513169689Skan	files.
18514169689Skan	* configure: Rebuilt.
18515169689Skan
18516169689SkanWed May 17 18:06:12 2000  John David Anglin <dave@hiauly1.hia.nrc.ca>
18517169689Skan
18518169689Skan	* mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c.
18519169689Skan
18520169689Skan	* tree.c (build_common_tree_nodes): Do not build TI nodes unless
18521169689Skan	HOST_BITS_PER_WIDE_INT is >= 64.
18522169689Skan
18523169689Skan2000-05-17  Richard Henderson  <rth@cygnus.com>
18524169689Skan
18525169689Skan	* jump.c (jump_optimize_1): Remove inactive but real insns
18526169689Skan	in jump-to-next-insn optimization.
18527169689Skan
18528169689Skan2000-05-17  Richard Henderson  <rth@cygnus.com>
18529169689Skan
18530169689Skan	* toplev.c (rest_of_compilation): Don't call optimize_mode_switching
18531169689Skan	unless OPTIMIZE_MODE_SWITCHING.  Conditionally set no_new_pseudos.
18532169689Skan	Don't call recompute_reg_usage if no_new_pseudos is true.
18533169689Skan	* lcm.c (optimize_mode_switching): Move ifdefs outside function.
18534169689Skan	Return true if we did work; update global life information.
18535169689Skan	* basic-block.h (optimize_mode_switching): Update decl.
18536169689Skan
18537169689Skan2000-05-17  Neil Booth  <neilb@earthling.net>
18538169689Skan
18539169689Skan	* cpplex.c (expand_name_space): Don't use ptrdiff_t.
18540169689Skan
18541169689Skan2000-05-17  Zack Weinberg  <zack@wolery.cumb.org>
18542169689Skan
18543169689Skan	* cpplib.c: New feature, #pragma system_header.
18544169689Skan	* cpp.texi: Document special treatment of system headers, and
18545169689Skan	the various mechanisms to get a header that special treatment.
18546169689Skan
18547169689Skan2000-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18548169689Skan
18549169689Skan	* system.h (offsetof): Define at the very end, to ensure we prefer
18550169689Skan	the platform's definition if available.
18551169689Skan
18552169689Skan2000-05-16  Bruce Korb  <bkorb@gnu.org>
18553169689Skan
18554169689Skan	* fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE
18555169689Skan	* fixinc/server.c: likewise
18556169689Skan	* fixinc/fixfixes.c( char_macro_def_fix ): fix regex
18557169689Skan	+ #ifdef debugging code + use #def constant for
18558169689Skan	sub-pattern count
18559169689Skan	* fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping
18560169689Skan	on C++ math namespace
18561169689Skan
18562169689Skan2000-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18563169689Skan
18564169689Skan	* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
18565169689Skan	Don't check the return value of sprintf.  Use asprintf to avoid
18566169689Skan	buffer overflows.
18567169689Skan
18568169689SkanWed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
18569169689Skan
18570169689Skan	* flags.h (warn_unused_function, warn_unused_label,
18571169689Skan	warn_unused_parameter, warn_unused_variable, warn_unused_value):
18572169689Skan	Replace ``warn_unused''.
18573169689Skan	(set_Wunused): Add declaration.
18574169689Skan	* toplev.c (set_Wunused): New function.
18575169689Skan	(warn_unused_function, warn_unused_label, warn_unused_parameter,
18576169689Skan	warn_unused_variable, warn_unused_value): New variables.
18577169689Skan	(W_options): Add -Wunused-function, -Wunused-function,
18578169689Skan	-Wunused-label, -Wunused-parameter, -Wunused-variable and
18579169689Skan	-Wunused-value.  Delete -Wunused.  Handled in decode_W_option.
18580169689Skan
18581169689Skan	* toplev.c (decode_W_option): Update -Wunused flags by calling
18582169689Skan	set_Wunused.
18583169689Skan	* c-decl.c (c_decode_option): Ditto for -Wall.
18584169689Skan
18585169689Skan	* stmt.c (expand_expr_stmt, expand_expr_stmt,
18586169689Skan	warn_about_unused_variables): Replace warn_unused with more
18587169689Skan	explicit warn_unused_value et.al.
18588169689Skan	* function.c (expand_function_end): Ditto.
18589169689Skan	* c-typeck.c (internal_build_compound_expr,
18590169689Skan	internal_build_compound_expr): Ditto.
18591169689Skan	* c-decl.c (poplevel, pop_label_level): Ditto.
18592169689Skan	* toplev.c (check_global_declarations): Replace warn_unused with
18593169689Skan	check for either warn_unused_function or warn_unused_variable.
18594169689Skan
18595169689Skan	* gcc.1, invoke.texi (Warning Options): Document
18596169689Skan	-Wunused-function, -Wunused-function, -Wunused-label,
18597169689Skan	-Wunused-parameter, -Wunused-variable and -Wunused-value options.
18598169689Skan
18599169689SkanWed May 17 10:28:12 2000  Philippe De Muyter  <phdm@macqel.be>
18600169689Skan
18601169689Skan	* mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in
18602169689Skan	$(srcdir), not in the current directory.
18603169689Skan
18604169689Skan2000-05-16  Richard Henderson  <rth@cygnus.com>
18605169689Skan
18606169689Skan	* config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the
18607169689Skan	assembler supports it.
18608169689Skan	(.fini, .init): Use a gp-relative indirect call.
18609169689Skan	(__do_global_dtors_aux): Preserve the gp; rebundle.
18610169689Skan	(__do_frame_setup): Likewise.
18611169689Skan	* config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1.
18612169689Skan	(.init): Use a gp-relative indirect call.
18613169689Skan	(__do_global_ctors_aux): Preserve the gp.
18614169689Skan
18615169689Skan2000-05-16  Richard Henderson  <rth@cygnus.com>
18616169689Skan
18617169689Skan	* flow.c (commit_one_edge_insertion): Be prepared for a return
18618169689Skan	insn to be inserted on the edge with a normal jump.
18619169689Skan	* jump.c (jump_optimize_1): Don't look to create return isns.
18620169689Skan
18621169689Skan	* flow.c (flow_delete_insn): Don't adjust reference count of notes.
18622169689Skan	* jump.c (jump_optimize_1): Likewise.
18623169689Skan	(returnjump_p): Verify the argument is a JUMP_INSN.
18624169689Skan	* rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL.
18625169689Skan
18626169689Skan2000-05-16  Nick Clifton  <nickc@cygnus.com>
18627169689Skan
18628169689Skan	* config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace
18629169689Skan	GET_RTX_CLASS (GET_CODE ()) == 'i'.
18630169689Skan	(large_insn_p): Ditto.
18631169689Skan	(m32r_is_insn): New function: Return true if the insn contains
18632169689Skan	an executable instruction.
18633169689Skan	(m32r_adjust_insn): Use m32r_is_insn.
18634169689Skan	(m32r_sched_reorder): Use m32r_is_insn.
18635169689Skan	(m32r_sched_variable_issue): Use m32r_is_insn.
18636169689Skan
18637169689Skan2000-05-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
18638169689Skan
18639169689Skan	* rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like
18640169689Skan	VAR_DECL.
18641169689Skan
18642169689Skan	* rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable.
18643169689Skan
18644169689Skan	* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux
18645169689Skan	according to given options.
18646169689Skan
18647169689SkanTue May 16 12:17:31 2000  Jeffrey A Law  (law@cygnus.com)
18648169689Skan
18649169689Skan	* mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS
18650169689Skan	if X has VOIDmode either.
18651169689Skan	(LIMIT_RELOAD_CLASS): Similarly.
18652169689Skan
18653169689Skan	* mn10200.md (indirect_jump, tablejump): Use "register_operand",
18654169689Skan	not "general_operand" to match the processor's capabilities.
18655169689Skan
18656169689Skan2000-05-16  Bruce Korb  <bkorb@gnu.org>
18657169689Skan
18658169689Skan	* fixinc/README:  corrected return address
18659169689Skan	* fixinc/check.diff:  regenerate, now that test works
18660169689Skan	* fixinc/fixfixes.c(format_fix,format_write): reformatted
18661169689Skan	(char_macro_def_fix,char_macro_use_fix): corrected and
18662169689Skan	rewrote to use regex to parse the text
18663169689Skan	* fixinc/inclhack.def: more testing
18664169689Skan	* fixinc/fixincl.x:  regenerated
18665169689Skan
18666169689Skan	* fixinc/inclhack.def: added several "test_text" attributes
18667169689Skan	changed several fixes to use `c_fix = format'
18668169689Skan	re-alphabetized the fixes
18669169689Skan
18670169689Skan	* fixinc/check.diff: regenerate
18671169689Skan	* fixinc/fixincl.x: regenerate
18672169689Skan	* fixinc/check.tpl: added `sparc' and `netinet' to the list
18673169689Skan	of created dirs
18674169689Skan
18675169689Skan
18676169689Skan2000-05-16  Alexandre Oliva  <aoliva@cygnus.com>
18677169689Skan
18678169689Skan	* config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove.
18679169689Skan
18680169689Skan2000-05-15  Richard Henderson  <rth@cygnus.com>
18681169689Skan
18682169689Skan	* toplev.c (rest_of_compilation): Run full jump pass before
18683169689Skan	find_basic_blocks of flow2.
18684169689Skan
18685169689Skan2000-05-15  Richard Henderson  <rth@cygnus.com>
18686169689Skan
18687169689Skan	* jump.c: Fix typos and clarify commentary from last change.
18688169689Skan	(any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE.
18689169689Skan	(safe_to_remove_jump_p): Remove.
18690169689Skan	(condjump_label): Use pc_set.
18691169689Skan
18692169689Skan2000-05-15  Richard Henderson  <rth@cygnus.com>
18693169689Skan
18694169689Skan	* ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns
18695169689Skan	that get in the way after reload.
18696169689Skan	(cond_exec_process_if_block): Skip a label heading THEN block.
18697169689Skan
18698169689Skan2000-05-15  Richard Henderson  <rth@cygnus.com>
18699169689Skan
18700169689Skan	* varasm.c (output_constant_pool): Abort instead of converting
18701169689Skan	(improperly) deleted labels to zero.
18702169689Skan
18703169689Skan2000-05-16  Neil Booth  <NeilB@earthling.net>
18704169689Skan
18705169689Skan	* cpplex.c (parse_string2): Update comment.
18706169689Skan	(cpp_lex_line): No special assertion treatment for '('.
18707169689Skan	* cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT.
18708169689Skan	* cpplib.h (SYNTAX_ASSERT): Remove.
18709169689Skan
18710169689SkanMon May 15 21:45:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
18711169689Skan
18712169689Skan	* jump.c (condjump_p):  Mark as depreached.
18713169689Skan	(any_condump_p): New.
18714169689Skan	(any_uncondump_p): New.
18715169689Skan	(pc_set): New.
18716169689Skan	(safe_to_remove_jump_p): New.
18717169689Skan	* rtl.h (any_condump_p, any_uncondjump_p, pc_set
18718169689Skan	safe_to_remove_jump_p): Declare.
18719169689Skan
18720169689SkanMon May 15 21:07:20 MET DST 2000  Jan Hubicka  <jh@suse.cz>
18721169689Skan
18722169689Skan	* calls.c: Re-install both patches reverted by last patch.
18723169689Skan	(struct arg_data): New field tail_call_reg.
18724169689Skan	(initialize_argument_information): Initialize tail_call_reg
18725169689Skan	(load_register_parameters): New argument flags, use
18726169689Skan	tail_call_reg when emiting tail call sequence.
18727169689Skan	(expand_call): Update call of load_register_parameters;
18728169689Skan	copy unadjusted_args_size to adjusted_args_size.
18729169689Skan
18730169689SkanMon May 15 19:01:42 MET DST 2000  Jan Hubicka  <jh@suse.cz>
18731169689Skan
18732169689Skan	* loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p
18733169689Skan	and bct_p parameters to flags.
18734169689Skan	* loop.h (LOOP_UNROLL, LOOP_BCT): New constants.
18735169689Skan	* rtl.h (loop_optimize): Update prototype.
18736169689Skan	* toplev.c (rest_of_compilation): Update call of loop_optimize.
18737169689Skan
18738169689Skan2000-05-15  Jakub Jelinek  <jakub@redhat.com>
18739169689Skan
18740169689Skan	* calls.c (expand_call): Move expand_start_target_temps call after
18741169689Skan	start_sequence().
18742169689Skan
18743169689Skan2000-05-15  Neil Booth  <NeilB@earthling.net>
18744169689Skan
18745169689Skan	* cpphash.c (trad_stringify, warn_trad_stringify,
18746169689Skan	collect_params): Make some pointers pointers to const.
18747169689Skan	* cpplex.c (auto_expand_name_space) Guaranteed to always
18748169689Skan	expand by at least one character.
18749169689Skan	(SPELL_CHAR, SPELL_NONE): Temporarily reverse order.
18750169689Skan	(struct token_spelling): Use const U_CHAR * rather than PTR.
18751169689Skan	(expand_name_space): Fix up token pointers if name space
18752169689Skan	is moved when expanding.
18753169689Skan	(INIT_NAME, cpp_scan_line, parse_name, parse_number,
18754169689Skan	parse_string2, save_comment, spell_token, cpp_output_list):
18755169689Skan	Update so the routines handle tokens with a direct pointer to
18756169689Skan	their text, rather than an offset into the token's list's namebuf.
18757169689Skan	(_cpp_lex_line): Rearrange for clarity.
18758169689Skan
18759169689Skan	* cpplib.c (_cpp_check_directive): Similarly.
18760169689Skan	(do_define): Make SYM a pointer to const.
18761169689Skan	* cpplib.h (struct cpp_name): Replace offset with direct pointer.
18762169689Skan	(CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT.
18763169689Skan	(TOK_OFFSET): Delete.
18764169689Skan	(TOK_NAME): Update.
18765169689Skan
18766169689Skan2000-05-14  Geoffrey Keating  <geoffk@cygnus.com>
18767169689Skan
18768169689Skan	* config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for
18769169689Skan	64-bit ABI.
18770169689Skan
18771169689Skan	* config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE
18772169689Skan	into account.
18773169689Skan	(logical_u_operand): Delete.
18774169689Skan	(non_logical_cint_operand): Rewrite to take MODE into account.
18775169689Skan	(non_logical_u_cint_operand): Delete.
18776169689Skan	(boolean_operator): New function.
18777169689Skan	(print_operand): Add new %q operand.
18778169689Skan	* config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator,
18779169689Skan	remove logical_u_operand and non_logical_u_cint_operand,
18780169689Skan	update logical_operand and non_logical_cint_operand.
18781169689Skan	* config/rs6000/rs6000.md: Rewrite the patterns for performing
18782169689Skan	logical operations to use %q.
18783169689Skan
18784169689Skan	* config/rs6000/rs6000.md (movsi): Don't modify RTL in-place.
18785169689Skan	(movdi): Make similar to movsi.
18786169689Skan	* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There
18787169689Skan	is no such thing as a DImode CONST_DOUBLE.
18788169689Skan	* config/rs6000/rs6000.c (output_toc): Likewise.
18789169689Skan
18790169689Skan	* config/rs6000/rs6000.c (output_cbranch): Don't output prediction
18791169689Skan	codes when old mnemonics are in use.  Print register names
18792169689Skan	for cc registers when requested.
18793169689Skan
18794169689Skan	* optabs.c (expand_float): Don't allow mode widening that causes
18795169689Skan	double rounding.
18796169689Skan
18797169689Skan	* invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32
18798169689Skan	flags to their current names -maix64 and -maix32.
18799169689Skan
18800169689Skan2000-05-14  Bruce Korb  <bkorb@gnu.org>
18801169689Skan
18802169689Skan	* fixinc/fixfixes.c(wrap_fix): new fix - inserts text before
18803169689Skan	and/or after current text of file
18804169689Skan	* fixinc/fixlib.c(must_malloc):
18805169689Skan	* fixinc/fixlib.h(must_malloc): + reformatting
18806169689Skan	* fixinc/inclhack.def: replace the "1i" and "$a" sed commands
18807169689Skan	with usages of ``c_fix = wrap;''
18808169689Skan	Add several tests and use the ``c_fix = format'' fixer more.
18809169689Skan	* fixinc/fixincl.x: regen
18810169689Skan	* fixinc/check.diff: regen
18811169689Skan	* fixinc/check.tpl: emit the associated header with the missing
18812169689Skan	test message
18813169689Skan
18814169689SkanSun May 14 17:58:59 2000  Hans-Peter Nilsson  <hp@axis.com>
18815169689Skan
18816169689Skan	* mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset
18817169689Skan	variables $src and $dst.
18818169689Skan
18819169689Skan2000-05-13  Gabriel Dos Reis <gdr@codesourcery.com>
18820169689Skan
18821169689Skan	* diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro.
18822169689Skan	(DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise.
18823169689Skan	(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise.
18824169689Skan	(struct output_buffer: emitted_prefix_p, prefixing_rule): New
18825169689Skan	fields.
18826169689Skan	(set_message_prefixing_rule): Declare.
18827169689Skan
18828169689Skan	* diagnostic.c: (current_prefixing_rule): New variable.
18829169689Skan	(set_message_prefixing_rule): Define.
18830169689Skan	(output_set_prefix): Adjust buffer->emitted_prefix_p.
18831169689Skan	(init_output_buffer): Adjust Initialization.
18832169689Skan	(output_emit_prefix): Rewrite.  Take prefixing rules into account.
18833169689Skan
18834169689SkanSat May 13 11:05:47 2000  Philippe De Muyter  <phdm@macqel.be>
18835169689Skan
18836169689Skan	* ifcvt.c (if_convert): Do not free NULL.
18837169689Skan
18838169689Skan2000-05-12  H.J. Lu  (hjl@gnu.org)
18839169689Skan
18840169689Skan	* gthr-dce.h: Add support for libobjc.
18841169689Skan	* gthr-posix.h: Likewise.
18842169689Skan	* gthr-solaris.h: Likewise.
18843169689Skan	* gthr-vxworks.h: Likewise.
18844169689Skan	* gthr-single.h: Likewise.
18845169689Skan	* gthr-win32.h: Likewise.
18846169689Skan
18847169689Skan2000-05-12  Nick Clifton  <nickc@cygnus.com>
18848169689Skan
18849169689Skan	* config/fr30/fr30.c (fr30_move_double): New function:  Emit code
18850169689Skan	to move a double word value.
18851169689Skan	(di_operand): New function: Return true if the operand is suitbale
18852169689Skan	for a double word move operation.
18853169689Skan	(nonimmediate_di_operand): New function: Return true if the
18854169689Skan	operand is a DImode register or MEM.
18855169689Skan
18856169689Skan	* config/fr30/fr30.h (PREDICATE_CODES): Add di_operand and
18857169689Skan	nonimmediate_di_operand.
18858169689Skan
18859169689Skan	* config/fr30/fr30-protos.h Add fr30_move_double, di_operand, and
18860169689Skan	nonimmediate_di_operand.
18861169689Skan
18862169689Skan	* config/fr30/fr30.md (movdi): New pattern.  Required because
18863169689Skan	other patterns generate DImode results.
18864169689Skan	(movdi_insn): New pattern.
18865169689Skan
18866169689Skan2000-05-12  Richard Henderson  <rth@cygnus.com>
18867169689Skan
18868169689Skan	* config/alpha/alpha.c (struct shadow_summary): Define
18869169689Skan	bitfields as type unsigned int.
18870169689Skan
18871169689SkanSat May 13 00:09:59 2000  Denis Chertykov  <denisc@overta.ru>
18872169689Skan
18873169689Skan	* config/avr/t-avr: Added definition of FLOAT while generates
18874169689Skan	fp-bit.c
18875169689Skan
18876169689Skan	* config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in
18877169689Skan	peepholes for tst+jump = sbrs/sbrc optimization.
18878169689Skan
18879169689SkanFry May 12 20:03:00 CEST 2000  Jan Hubicka  <jh@suse.cz>
18880169689Skan
18881169689Skan	* expr.c (emit_push_insn): Do not adjust stack pointer when
18882169689Skan	preallocating.
18883169689Skan
18884169689SkanFri May 12 19:03:58 2000  Philippe De Muyter  <phdm@macqel.be>
18885169689Skan
18886169689Skan	* ggc-simple.c (offsetof): Macro fallback definition moved from here ..
18887169689Skan	* system.h (offsetof): ... to here.
18888169689Skan
18889169689Skan2000-05-12  Richard Henderson  <rth@cygnus.com>
18890169689Skan
18891169689Skan	* Makefile.in (final.o): Depend on BASIC_BLOCK_H.
18892169689Skan	* final.c (final_end_function): Use app_disable.  Rearrange note
18893169689Skan	handling into a switch.  Emit deleted labels.
18894169689Skan	(output_asm_label): Generate label strings for deleted labels.
18895169689Skan	* flow.c (tail_recursion_label_list): New.
18896169689Skan	(find_basic_blocks_1): Set label_value_list directly.  Collect list
18897169689Skan	of tail recursion labels from call_placeholders.  Don't add deleted
18898169689Skan	labels to the label value list.
18899169689Skan	(cleanup_cfg): Use free_EXPR_LIST_list.
18900169689Skan	(flow_delete_insn_chain): Turn non-removable labels into notes.
18901169689Skan	(flow_delete_block): Don't disable deleting the block because of
18902169689Skan	a non-removable label.
18903169689Skan	(tail_recursion_label_p): New.
18904169689Skan	(merge_blocks_move_predecessor_nojumps): Don't disable the merge
18905169689Skan	because of a label.
18906169689Skan	(merge_blocks_move_successor_nojumps): Likewise.  Also move a
18907169689Skan	jump table.
18908169689Skan	(merge_blocks): Disable a merge because of tail recursion labels.
18909169689Skan	* ifcvt.c (merge_if_block): Don't disable a merge because of a label.
18910169689Skan	Use a more accurate measure of not merging the join block.
18911169689Skan	(find_if_block): Don't disable conversion because of a label.
18912169689Skan	(find_if_case_1, find_if_case_2): Likewise.
18913169689Skan	* jump.c (duplicate_loop_exit_test): Preserve the kind of list
18914169689Skan	element when copying.
18915169689Skan	(squeeze_notes): Also leave EH notes.
18916169689Skan	(mark_jump_label): Ignore deleted labels.  Use an INSN_LIST for
18917169689Skan	REG_LABEL notes.
18918169689Skan	(delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when
18919169689Skan	deleting a label.
18920169689Skan	* print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for
18921169689Skan	NOTE_INSN_DELETED_LABEL.  Print `[# deleted]' for a label_ref
18922169689Skan	referring to a deleted label.  Convert tail handling to a switch.
18923169689Skan	* rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE
18924169689Skan	for NOTE_INSN_DELETED_LABEL.
18925169689Skan	(NOTE): Fix commentary.
18926169689Skan	* rtl.h (REG_LABEL): Update commentary wrt INSN_LIST.
18927169689Skan	(REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise.
18928169689Skan	(CODE_LABEL_NUMBER, LABEL_NAME): Update index.
18929169689Skan	(LABEL_NUSES, LABEL_REFS): Likewise.
18930169689Skan	* unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL.
18931169689Skan
18932169689Skan2000-05-12  Bruce Korb  <bkorb@gnu.org>
18933169689Skan
18934169689Skan	* fixinc/fixfixes.c(format_write): buglet & relaxed rules
18935169689Skan	* fixinc/check.diff: updated
18936169689Skan	* fixinc/inclhack.def: corrected & added some test_text-s
18937169689Skan	* fixinc/genfixes: removed unneeded options to autogen invocation
18938169689Skan	* fixinc/fixincl.tpl: Specified the output file
18939169689Skan	* fixinc/fixfixes.c: visual appearance
18940169689Skan	* fixinc/fixincl.x: regenerate
18941169689Skan
18942169689Skan2000-05-12  Zack Weinberg <zack@wolery.cumb.org>
18943169689Skan
18944169689Skan	* fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix,
18945169689Skan	CTRL_defn_fix): Delete.
18946169689Skan	(fix_char_macro_defines, fix_char_macro_uses): Rename to
18947169689Skan	char_macro_def_fix and char_macro_use_fix, respectively.  Put
18948169689Skan	them into the FIXUP_TABLE.  Get the string to search for from
18949169689Skan	a c_fix_arg.
18950169689Skan
18951169689Skan	(format_write): New function.
18952169689Skan	(format_fix): Use it.
18953169689Skan
18954169689Skan	(FIX_PROC_HEAD): Constify text parameter.
18955169689Skan	(machine_name_fix): Constify all char *s.
18956169689Skan	* fixtests.c (skip_quote): Remove double static.
18957169689Skan
18958169689Skan	* inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes,
18959169689Skan	ctrl_use_quotes): Update for new scheme.
18960169689Skan	* fixincl.x: Regenerate.
18961169689Skan
18962169689Skan2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
18963169689Skan
18964169689Skan	* config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as
18965169689Skan	DWARF2_DEBUG.
18966169689Skan	(DWARF2_ASM_LINE_DEBUG_INFO): Define.
18967169689Skan	(ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
18968169689Skan
18969169689Skan2000-05-11  Robert Lipe <robertlipe@usa.net>
18970169689Skan
18971169689Skan	* fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO.
18972169689Skan	* fixincl.x: Regenerate.
18973169689Skan
18974169689Skan2000-05-11  Richard Henderson  <rth@cygnus.com>
18975169689Skan
18976169689Skan	* calls.c: Revert both 05-09 patches.
18977169689Skan
18978169689Skan2000-05-11  Alexandre Oliva  <aoliva@cygnus.com>
18979169689Skan
18980169689Skan	* config/mn10300/mn10300.c (print_operand): Print FP constants in
18981169689Skan	hexadecimal.
18982169689Skan	* config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint
18983169689Skan	for FP values.
18984169689Skan
18985169689Skan	* mklibgcc.in (EQ): Define it to an equal sign in the Makefile,
18986169689Skan	and replace any occurrences of `=' in multilib dirs with `$(EQ)'.
18987169689Skan
18988169689Skan2000-05-11  Jason Merrill  <jason@casey.cygnus.com>
18989169689Skan
18990169689Skan	* fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine.
18991169689Skan
18992169689Skan2000-05-11  Zack Weinberg  <zack@wolery.cumb.org>
18993169689Skan
18994169689Skan	* fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary.
18995169689Skan
18996169689SkanThu May 11 22:28:05 2000  Denis Chertykov  <denisc@overta.ru>
18997169689Skan
18998169689Skan	* config/avr/avr-protos.c (jump_over_one_insn_p): New declaration.
18999169689Skan	* config/avr/avr.c (jump_over_one_insn_p): New function.
19000169689Skan	* config/avr/avr.md: New peepholes added. Output test and
19001169689Skan	conditional jump to "sbrc" or "sbrs" command.
19002169689Skan
19003169689Skan2000-05-11  Mark Elbrecht  <snowball3@bigfoot.com>
19004169689Skan
19005169689Skan	* cppmain.c (main): Use IS_DIR_SEPARATOR.
19006169689Skan
19007169689Skan2000-05-11  Jakub Jelinek  <jakub@redhat.com>
19008169689Skan
19009169689Skan	* except.c (find_exception_handler_labels_1): New function.
19010169689Skan	(find_exception_handler_labels): Split into two functions, dive
19011169689Skan	into CALL_PLACEHOLDERs when looking for exception handler labels.
19012169689Skan
19013169689Skan2000-05-11 Stan Cox <scox@cygnus.com>
19014169689Skan
19015169689Skan	* regrename.c (replace_reg_in_block): Improve REG_DEAD handling.
19016169689Skan	* timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2.
19017169689Skan	* toplev.c (rest_of_compilation): Call regrename_optimize before sched2.
19018169689Skan
19019169689Skan2000-05-11  Bruce Korb  <bkorb@gnu.org>
19020169689Skan
19021169689Skan	* fixinc/fixfixes.c (double_slash_fix):  obsolete
19022169689Skan	(else_endif_label_fix): obsolete
19023169689Skan	(format_fix):  new, unused as yet
19024169689Skan	(main): obsolete
19025169689Skan	* fixinc/fixlib.h: added fix description struct for use by format_fix
19026169689Skan	* fixinc/fixincl.c: removed the struct & test for SIGIOT befure using
19027169689Skan	* fixinc/Makefile.in:  compile fixfixes.c and fixtests.c as separate
19028169689Skan	modules.  Removed the vestiges of the script version.
19029169689Skan	Added support for "make check".
19030169689Skan	* fixinc/check.diff: base diff file (needs work!!)
19031169689Skan	* fixinc/check.tpl: quiet the fixup output
19032169689Skan	* fixinc/fixtests.c (main): obsolete
19033169689Skan	* fixinc/fixincl.sh:  don't bother copying fixincl to ..
19034169689Skan	* fixinc/fixincl.tpl:  provide for arguments to c_fix routines
19035169689Skan
19036169689SkanThu May 11 11:57:02 MET DST 2000  Jan Hubicka <jh@suse.cz>
19037169689Skan
19038169689Skan	* toplev.c (rest_of_compilation): Remove dead code after
19039169689Skan	combine.
19040169689Skan
19041169689Skan2000-05-11  Zack Weinberg  <zack@wolery.cumb.org>
19042169689Skan
19043169689Skan	* cpphash.c (collect_funlike_expansion): Make "# is not
19044169689Skan	followed by a macro argument name" a pedwarn, not an error.
19045169689Skan	Preserve the # in the output.  Suppress the warning if lang_asm.
19046169689Skan
19047169689SkanThu May 11 01:19:31 2000  Jeffrey A Law  (law@cygnus.com)
19048169689Skan
19049169689Skan	* configure.in (hppa*64*-*-hpux11*): New target for PA64 support.
19050169689Skan	* configure: Rebuilt.
19051169689Skan
19052169689Skan2000-05-10 Laurynas Biveinis <lauras@softhome.net>
19053169689Skan
19054169689Skan	* i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace.
19055169689Skan
19056169689Skan2000-05-10  Kazu Hirata  <kazu@hxi.com>
19057169689Skan
19058169689Skan	* combine.c (try_combine): Fix a typo.
19059169689Skan
19060169689SkanWed May 10 21:31:44 2000  Jim Wilson  <wilson@cygnus.com>
19061169689Skan
19062169689Skan	* config/ia64/ia64.md (insv): Add comment.
19063169689Skan
19064169689Skan2000-05-10  Richard Henderson  <rth@cygnus.com>
19065169689Skan
19066169689Skan	* Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT.
19067169689Skan	* mklibgcc.in: Rewrite to not use functions.  Don't shortcut
19068169689Skan	dependencies on FPBIT and DPBIT.
19069169689Skan
19070169689Skan2000-05-10  Nick Clifton  <nickc@redhat.com>
19071169689Skan
19072169689Skan	* flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth
19073169689Skan	when optimising for size.
19074169689Skan	(mark_used_regs:) Ditto.
19075169689Skan	(try_pre_increment_1): Ditto.
19076169689Skan
19077169689Skan2000-05-10  Zack Weinberg  <zack@wolery.cumb.org>
19078169689Skan
19079169689Skan	* cppexp.c (lex): Use %.*s to print non-NUL-terminated string.
19080169689Skan	Make error message friendlier.
19081169689Skan
19082169689Skan	* cpphash.h (struct hashnode): Use struct hack for name
19083169689Skan	member.
19084169689Skan	* cpphash.c (struct hashdummy): New.
19085169689Skan	(eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE.
19086169689Skan	(make_HASHNODE): No need to set ->name pointer.  Correct
19087169689Skan	setting of p.
19088169689Skan	(cpp_lookup): Make 'dummy' a struct hashdummy.  Tidy up a bit.
19089169689Skan
19090169689Skan2000-05-10  Richard Henderson  <rth@cygnus.com>
19091169689Skan
19092169689Skan	* flow.c (find_basic_blocks_1): Remove any spare bb_note
19093169689Skan	after completion.
19094169689Skan
19095169689Skan2000-05-10  Bruce Korb  <bkorb@gnu.org>
19096169689Skan
19097169689Skan	* fixinc/gnu-regex.c:  reg_syntax_t re_syntax_options must be static
19098169689Skan
19099169689Skan2000-05-10  Eric Schweitz  <schweitz@nortelnetworks.com>
19100169689Skan
19101169689Skan	* dwarfout.c (dwarfout_finish): Call retry_incomplete_types
19102169689Skan	after we enter .debug.
19103169689Skan
19104169689Skan2000-05-10  Jason Merrill  <jason@casey.cygnus.com>
19105169689Skan
19106169689Skan	* dwarf2out.c (gen_subprogram_die): Fixup die_parent for the
19107169689Skan	abstract instance of a nested inline function.
19108169689Skan
19109169689Skan	* stor-layout.c (finish_record_layout): finalize_type_size
19110169689Skan	before laying out the pending_statics.
19111169689Skan
19112169689SkanWed 10 May 09:36:47 2000  Neil Booth  <NeilB@earthling.net>
19113169689Skan
19114169689Skan	* cpplex.c (spell_token): New function.
19115169689Skan	(spell_string, spell_comment, spell_name): fold into
19116169689Skan	spell_token.
19117169689Skan	(I, S): Add macros.
19118169689Skan	(E, H): Remove macros.
19119169689Skan	(save_comment): Save comment opening characters too.
19120169689Skan	(_cpp_lex_file): Update to use spell_token.  Tidy up comment
19121169689Skan	handling.
19122169689Skan	* cpplib.h (I, S): Add macros.
19123169689Skan	(E, H): Remove macros.
19124169689Skan	(TTYPE_TABLE): Update entries for new speller.
19125169689Skan	(SYNTAX_ASSERT): Remove.
19126169689Skan
19127169689SkanWed 10 May 09:08:30 2000  Neil Booth  <NeilB@earthling.net>
19128169689Skan
19129169689Skan	* cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
19130169689Skan	when removing escaped newlines.  Reverse sense of test for
19131169689Skan	escaped newline.
19132169689Skan
19133169689Skan2000-05-09  Richard Henderson  <rth@cygnus.com>
19134169689Skan
19135169689Skan	* flow.c (find_basic_blocks_1): Do not delete the first
19136169689Skan	bb_note we run across.
19137169689Skan	(create_basic_block): Use reorder_insns to move an existing
19138169689Skan	bb_note to the correct place.
19139169689Skan
19140169689Skan2000-05-09  Richard Henderson  <rth@cygnus.com>
19141169689Skan
19142169689Skan	* calls.c (expand_call): Increment currently_expanding_call
19143169689Skan	before calling optimize_tail_recursion.
19144169689Skan
19145169689SkanTue May  9 18:54:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19146169689Skan
19147169689Skan	* reload1.c (reload_combine): Fix errors in last change.
19148169689Skan
19149169689Skan2000-05-09  Zack Weinberg  <zack@wolery.cumb.org>
19150169689Skan
19151169689Skan	* gcc.c (used_arg): Skip over a semicolon at the end of the
19152169689Skan	split-up loop; don't break out of it.
19153169689Skan
19154169689Skan	* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
19155169689Skan	(tree.o): Depend on output.h.
19156169689Skan
19157169689Skan	* c-decl.c (pending_invalid_xref_file,
19158169689Skan	current_function_prototype_file): Constify.
19159169689Skan	(pushdecl): Constify a local char *.
19160169689Skan	(define_label): Constify filename parameter.
19161169689Skan	* c-lex.c (init_parse): Constify parameter and return value.
19162169689Skan	* c-typeck.c (c_expand_asm_operands): Constify filename parameter.
19163169689Skan	* c-tree.h: Update prototypes.
19164169689Skan	* c-parse.in: Constify filename member of %union, and if_stmt_file.
19165169689Skan	* c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
19166169689Skan	objc/objc-parse.c: Regenerate.
19167169689Skan
19168169689Skan	* dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
19169169689Skan	* dwarfout.h: Update prototypes.
19170169689Skan	* expr.c (expand_expr): Constify a local char *.
19171169689Skan	* flags.h: Constify main_input_filename.
19172169689Skan	* function.c (expand_function_end): Constify filename parameter.
19173169689Skan	* genrecog.c (make_insn_sequence): Use a character array for
19174169689Skan	c_test_pos.
19175169689Skan	(main): Remove unused variables.
19176169689Skan	* input.h: Constify input_filename, main_input_filename, and
19177169689Skan	file_stack.name.  Update prototypes.
19178169689Skan	* output.h: Declare first_global_object_name and
19179169689Skan	weak_global_object_name here, as const char *.
19180169689Skan	* stmt.c (expand_asm_operands): Constify filename parameter.
19181169689Skan	* toplev.c (compile_file, push_srcloc, debug_start_source_file):
19182169689Skan	Constify filename parameter.
19183169689Skan	(input_filename, main_input_filename): Constify.
19184169689Skan	* toplev.h: Update prototypes.
19185169689Skan	* tree.c: Include output.h.  Don't declare
19186169689Skan	first_global_object_name or weak_global_object_name.  Clean up string
19187169689Skan	bashing in get_file_function_name_long.
19188169689Skan	* tree.h (struct tree_decl): Constify filename member.
19189169689Skan	(input_filename): Constify.
19190169689Skan	Update prototypes.
19191169689Skan	* varasm.c (first_global_object_name, weak_global_object_name):
19192169689Skan	Constify.
19193169689Skan	(assemble_start_function, assemble_variable): Clean up string bashing.
19194169689Skan
19195169689Skan	* gcc.c: Constify all spec-related strings initialized,
19196169689Skan	transitively, from string constants.  Constify all strings
19197169689Skan	and string variables related to multilibs.
19198169689Skan	(set_spec, read_specs): Cast argument to free to PTR.
19199169689Skan	(used_arg): Do not modify multilib_matches.  Use strncmp plus
19200169689Skan	length comparison to compare multilib switches.
19201169689Skan	* genmultilib: Constify everything declared in multilib.h.
19202169689Skan
19203169689SkanTue May  9 22:28:03 2000  Denis Chertykov  <denisc@overta.ru>
19204169689Skan
19205169689Skan	* flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn
19206169689Skan	as deleted.
19207169689Skan
19208169689SkanTue May  9 20:52:43 2000  Denis Chertykov  <denisc@overta.ru>
19209169689Skan
19210169689Skan	* config/avr/avr-protos.h (extra_constraint): change a type of
19211169689Skan	second argument from char to int to avoid warnings.
19212169689Skan	(asm_output_byte): Likewise.
19213169689Skan
19214169689Skan	* config/avr/avr.c (MAX_LD_OFFSET) New macro.
19215169689Skan	(initial_elimination_offset): Handle elimination from
19216169689Skan	FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM.
19217169689Skan	(legitimate_address_p): Use MAX_LD_OFFSET.
19218169689Skan	(legitimize_address): Likewise.
19219169689Skan	(out_movqi_r_mr): Likewise.
19220169689Skan	(out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'.
19221169689Skan	(out_movsi_r_mr): Use MAX_LD_OFFSET.
19222169689Skan	(out_movsi_mr_r): Likewise.
19223169689Skan	(out_movqi_mr_r): Likewise.
19224169689Skan	(out_movhi_mr_r): Likewise.
19225169689Skan	(notice_update_cc): Correct CC for the ashrqi3 with the shift
19226169689Skan	count as CONST_INT != 6.
19227169689Skan	(ashlqi3_out): Coding style modifications. Run `fatal_insn' if
19228169689Skan	shift count is a CONSTANT_P, but not a CONST_INT.
19229169689Skan	(ashlhi3_out): Coding style modifications.
19230169689Skan	(ashlsi3_out): Likewise.
19231169689Skan	(ashrhi3_out): Likewise.
19232169689Skan	(ashrsi3_out): Likewise.
19233169689Skan	(lshrhi3_out): Likewise.
19234169689Skan	(lshrsi3_out): Likewise.
19235169689Skan	(ashrqi3_out): Generate shift for any known constant count without
19236169689Skan	scratch register. Run `fatal_insn' if shift count is a CONSTANT_P,
19237169689Skan	but not a CONST_INT.
19238169689Skan	(lshrqi3_out): Coding style modifications. Run `fatal_insn' if
19239169689Skan	shift count is a CONSTANT_P, but not a CONST_INT.
19240169689Skan	(extra_constraint): change a type of
19241169689Skan	second argument from char to int to avoid warnings.
19242169689Skan	(asm_output_byte): Likewise.
19243169689Skan	(asm_file_end): Output size generated commands count as a hex
19244169689Skan	number too.
19245169689Skan
19246169689Skan	* config/avr/avr.h (RETURN_ADDR_RTX): New macro.
19247169689Skan
19248169689Skan	* config/avr/avr.md (addhi3): Fragment commented by &&0 is
19249169689Skan	removed.
19250169689Skan	(ashlqi3): Values of "length" attribute changed. Shift count
19251169689Skan	uses constraints 'n' instead of 'i'.
19252169689Skan	(ashrqi3): Likewise. Values of "cc" attribute changed. Generate
19253169689Skan	shifts without clobber register.
19254169689Skan	(lshrqi3): Shift count uses constraints 'n' instead of 'i'.
19255169689Skan	(call_insn): Correct test for which_alternative == 1 (was 0).
19256169689Skan	(call_value_insn): Likewise.
19257169689Skan
19258169689Skan	* config/avr/t-avr: Remove definition of FLOAT while generates
19259169689Skan	fp-bit.c
19260169689Skan
19261169689Skan2000-05-09  Bruce Korb  <bkorb@gnu.org>
19262169689Skan
19263169689Skan	* fixinc/check.tpl:  Template for checking fixes
19264169689Skan	* fixinc/inclhack.def:  Added 'test_text' for many fixes
19265169689Skan	disable hpux8_bogus_inlines on SCO
19266169689Skan	* fixinc/fixinc.sco:  Oh, yes, we don't need this any more.
19267169689Skan
19268169689SkanTue May  9 16:30:27 MET DST 2000  Jan Hubicka  <jh@suse.cz>
19269169689Skan
19270169689Skan	* calls.c (expand_call): Reorganize somewhat in order
19271169689Skan	to avoid unnecesary recalculation inside loop and make
19272169689Skan	tail call failure code cleaner.
19273169689Skan
19274169689SkanTue May  9 06:30:20 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19275169689Skan
19276169689Skan	* alias.c (nonlocal_reference_p): Minor reformatting.
19277169689Skan	* reload.c (find_equiv_reg): Simplify logic for
19278169689Skan	CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and
19279169689Skan	some some reformatting.
19280169689Skan	* reload1.c (reload_combine): Don't assume everything in
19281169689Skan	CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit.
19282169689Skan
19283169689Skan2000-05-08  Richard Henderson  <rth@cygnus.com>
19284169689Skan
19285169689Skan	* final.c (current_insn_predicate): New.
19286169689Skan	(final_scan_insn): Set it.
19287169689Skan	* output.h (current_insn_predicate): Declare.
19288169689Skan
19289169689Skan	* ifcvt.c (cond_exec_process_insns): New argument prob_val.
19290169689Skan	Attach it to call insns.
19291169689Skan	(cond_exec_process_if_block): Track probability for true and
19292169689Skan	false branches.
19293169689Skan	(dead_or_predicable): Likewise.
19294169689Skan
19295169689Skan	* predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New.
19296169689Skan	(PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New.
19297169689Skan	(PROB_VERY_LIKELY, PROB_ALWAYS): New.
19298169689Skan	(estimate_probability, expected_value_to_br_prob): Use them.
19299169689Skan
19300169689Skan	* config/ia64/ia64-protos.h (ia64_expand_prediction): Declare.
19301169689Skan	* config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'.
19302169689Skan	(ia64_expand_prediction): New.
19303169689Skan	(emit_insn_group_barriers): Don't look at notes.  Emit barriers
19304169689Skan	as needed after calls.
19305169689Skan	(ia64_epilogue_uses): Mark b0 used.
19306169689Skan	* config/ia64/ia64.md (beq_true, beq_false): Remove.
19307169689Skan	(bne_true, bne_false): Remove.
19308169689Skan	(eq_return, eq_not_return, ne_return, ne_not_return): Remove.
19309169689Skan	(br_true, br_false): New.  Use predicate_operator and
19310169689Skan	ia64_expand_prediction.
19311169689Skan	(return_true, return_false): Likewise.
19312169689Skan	(call_internal): Use ia64_expand_prediction.  Don't emit stop bit.
19313169689Skan	(call_internal1, call_value_internal): Likewise.
19314169689Skan	(call_value_internal1, call_multiple_values_internal1): Likewise.
19315169689Skan
19316169689Skan	* config/ia64/ia64.c (ia64_direct_return): Require frame size zero.
19317169689Skan
19318169689Skan	* config/ia64/ia64.md (extendsfdf2): Split only after reload.
19319169689Skan
19320169689Skan2000-05-08  Richard Henderson  <rth@cygnus.com>
19321169689Skan
19322169689Skan	* rtlanal.c (may_trap_p): Consider old-style and volatile
19323169689Skan	asms to trap.
19324169689Skan
19325169689SkanMon May  8 17:16:48 2000  Jim Wilson  <wilson@cygnus.com>
19326169689Skan
19327169689Skan	* config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
19328169689Skan
19329169689Skan2000-05-08  Richard Henderson  <rth@cygnus.com>
19330169689Skan
19331169689Skan	* config/ia64/ia64.h (predicate_operator): Declare.
19332169689Skan
19333169689Skan	* config/ia64/ia64.md (extendsfdf2): Split the nop case out
19334169689Skan	of existence.
19335169689Skan
19336169689Skan	* gensupport.c (process_rtx): Copy and post-process each member
19337169689Skan	of the define_insn rtvec individually.
19338169689Skan
19339169689SkanMon  8 May 22:17:35 2000  Neil Booth  <NeilB@earthling.net>
19340169689Skan
19341169689Skan	* cpplex.c (spell_token): New function.
19342169689Skan	(TOKEN_LEN): Add 1 for whitespace.
19343169689Skan	(_cpp_lex_file): Update to use spell_token.
19344169689Skan	* cpplib.h (E): Remove.
19345169689Skan	(TTYPE_TABLE): Update CPP_VSPACE entry.
19346169689Skan
19347169689Skan2000-05-08  Richard Henderson  <rth@cygnus.com>
19348169689Skan
19349169689Skan	* flow.c (init_propagate_block_info): Watch out for conditional
19350169689Skan	branch to next instruction, and thus one outgoing edge.
19351169689Skan
19352169689Skan	* config/ia64/ia64.c (ia64_encode_section_info): Exit early
19353169689Skan	for global register variables; don't special case __[CD]TOR_LIST__;
19354169689Skan	mind ggc_p for string allocation.
19355169689Skan
19356169689Skan2000-05-08  Nick Clifton  <nickc@cygnus.com>
19357169689Skan
19358169689Skan	* config/i386/i386.h (ELIMINABLE_REGS): Fix comment.
19359169689Skan
19360169689Skan2000-05-08  Bruce Korb  <bkorb@gnu.org>
19361169689Skan
19362169689Skan	* fixinc/mkfixinc.sh:  fixinc.sco is no longer used
19363169689Skan	i?86-*-msdosdjgpp* no longer uses fixincludes
19364169689Skan	* fixinc/genfixes:  inclhack.sh and fixincl.sh are no longer generated
19365169689Skan	* fixinc/inclhack.sh:  deleted
19366169689Skan	* fixinc/hackshell.tpl:  deleted
19367169689Skan	* fixinc/inclhack.tpl:  deleted
19368169689Skan	* fixinc/Makefile.in:  Remove dependencies on above
19369169689Skan	* fixinc/fixincl.sh:  "DO NOT EDIT" text modified
19370169689Skan
19371169689Skan2000-05-08  Andreas Jaeger  <aj@suse.de>
19372169689Skan
19373169689Skan	* config/mips/linux.h: Remove undefines which disabled .ctor/.dtor
19374169689Skan	support.
19375169689Skan
19376169689Skan2000-05-07  Zack Weinberg  <zack@wolery.cumb.org>
19377169689Skan
19378169689Skan	* Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed
19379169689Skan	substitutions.
19380169689Skan
19381169689SkanSun  7 May 08:43:53 2000  Neil Booth  <NeilB@earthling.net>
19382169689Skan
19383169689Skan	* cpplex.c: Move new lexer definitions and prototypes
19384169689Skan	to top.  Conditional include these and the code if
19385169689Skan	NEW_LEXER is defined.  Rename functions whose names
19386169689Skan	clash if this code included.
19387169689Skan
19388169689SkanSun May  7 00:54:57 EDT 2000  John Wehle  (john@feith.com)
19389169689Skan
19390169689Skan	* rtl.def (COND_EXEC): Clarify.
19391169689Skan
19392169689Skan	* i386.md (extendsidi2): Clobber (reg:CC 17) in the
19393169689Skan	same fashion as zero_extendsidi2.
19394169689Skan
19395169689Skan2000-05-06  Richard Henderson  <rth@cygnus.com>
19396169689Skan
19397169689Skan	* config/ia64/ia64.c (predicate_operator): New.
19398169689Skan	(ia64_print_operand): Handle 'J'.
19399169689Skan	(rtx_needs_barrier): Handle COND_EXEC.
19400169689Skan	* config/ia64/ia64.h (BRANCH_COST): Define.
19401169689Skan	(PREDICATE_CODES): Update.
19402169689Skan	* config/ia64/ia64.md: Document used unspec values.
19403169689Skan	(attr predicable): New.
19404169689Skan	(movxf, movxf_internal): New.
19405169689Skan	(extendsfdf2): Don't comment out nop.
19406169689Skan	(floatdidf2): Remove.
19407169689Skan	(truncxfsf2, truncxfdf2, floatdixf2): New.
19408169689Skan	(abssi2, absdi2): Put the neg in the "true" slot.
19409169689Skan	(conditional branch instructions): Mark not predicable.
19410169689Skan	(cmov*_internal): Use predicate_operator.  Split to cond_exec.
19411169689Skan	(abs*_internal): Likewise.
19412169689Skan	(alloc, set_bsp): Mark not predicable.
19413169689Skan	(barrier, insn_group_barrier, flush_cache): Likewise.
19414169689Skan	(define_cond_exec): New.
19415169689Skan
19416169689Skan2000-05-06  Richard Henderson  <rth@cygnus.com>
19417169689Skan
19418169689Skan	* c-decl.c: Include "tm_p.h".
19419169689Skan
19420169689Skan	* config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness.
19421169689Skan	(fetchadd_operand, ia64_expand_fetch_and_op): Declare.
19422169689Skan	(ia64_expand_op_and_fetch): Declare.
19423169689Skan	* config/ia64/ia64.c: Include "toplev.h".  Kill trailing whitespace.
19424169689Skan	(setjmp_operand): Constify variables for XSTR.
19425169689Skan	(ia64_encode_section_info): Likewise.
19426169689Skan	(ia64_print_operand): Use %d for exact_log2; cast 32-bit printed
19427169689Skan	values to int.
19428169689Skan	(ia64_asm_output_external): Constify name.
19429169689Skan	(process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size.
19430169689Skan	(process_for_unwind_directive): Provide switch default.
19431169689Skan	(ia64_expand_compare_and_swap): Remove unused variables.
19432169689Skan	(ia64_expand_builtin): Likewise.
19433169689Skan	* config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int
19434169689Skan	for printing.
19435169689Skan
19436169689Skan	* config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args.
19437169689Skan	(symbolic_operand, function_operand, setjmp_operand): Likewise.
19438169689Skan	(shift_count_operand, shift_32bit_count_operand): Likewise.
19439169689Skan	(shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise.
19440169689Skan	(ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise.
19441169689Skan	(ia64_function_arg_partial_nregs, ia64_function_value): Likewise.
19442169689Skan	(ia64_print_operand_address, ia64_secondary_reload_class): Likewise.
19443169689Skan	(ia64_expand_builtin): Likewise.
19444169689Skan	(call_multiple_values_operation): Make dest_regno unsigned.
19445169689Skan
19446169689Skan2000-05-06  Richard Henderson  <rth@cygnus.com>
19447169689Skan
19448169689Skan	* rtl.def (DEFINE_COND_EXEC): New.
19449169689Skan	* md.texi: Document it.
19450169689Skan
19451169689Skan	* gensupport.c (input_file): Remove.
19452169689Skan	(struct queue_elem): Add lineno.
19453169689Skan	(rtx_ready_queue): Remove.
19454169689Skan	(errors): New.
19455169689Skan	(predicable_default): New.
19456169689Skan	(predicable_true, predicable_false): New.
19457169689Skan	(define_attr_queue, define_attr_tail): New.
19458169689Skan	(define_insn_queue, define_insn_tail): New.
19459169689Skan	(define_cond_exec_queue, define_cond_exec_tail): New.
19460169689Skan	(other_queue, other_tail): New.
19461169689Skan	(queue_pattern): New.
19462169689Skan	(process_rtx): Add patterns to the appropriate queues.
19463169689Skan	(is_predicable, identify_predicable_attribute): New.
19464169689Skan	(n_alternatives, collect_insn_data): New.
19465169689Skan	(alter_predicate_for_insn, alter_test_for_insn): New.
19466169689Skan	(shift_output_template, alter_output_for_insn): New.
19467169689Skan	(process_one_cond_exec, process_define_cond_exec): New.
19468169689Skan	(init_md_reader): Read the entire file.  Process define_cond_exec.
19469169689Skan	(read_md_rtx): Return elements from the queues.
19470169689Skan
19471169689Skan2000-05-06  Richard Henderson  <rth@cygnus.com>
19472169689Skan
19473169689Skan	* flow.c (mark_set_1): Don't update conditional life info
19474169689Skan	if the register is not_dead.
19475169689Skan
19476169689Skan2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
19477169689Skan
19478169689Skan	* Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h.
19479169689Skan	(mostlyclean): Also delete fixincl, fixinc.sh, and
19480169689Skan	specs.ready, and make clean in the fixinc subdir.
19481169689Skan
19482169689Skan2000-05-06  Richard Henderson  <rth@cygnus.com>
19483169689Skan
19484169689Skan	* Makefile.in (gensupport.o): Compile for the host.
19485169689Skan	(host-prefix gensuuprt.o): Remove.
19486169689Skan	(genflags.o): Depend on gensupport.h and OBSTACK_H.
19487169689Skan	(genattrtab.o): Likewise.
19488169689Skan	(gencodes.o): Depend on gensupport.h.
19489169689Skan	(genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise.
19490169689Skan	(genpeep.o, genattr.o, genoutput.o): Likewise.
19491169689Skan
19492169689Skan	* gensupport.c (obstack, rtl_obstack): New.
19493169689Skan	(init_md_reader): Initialize rtl_obstack.
19494169689Skan	* gensupport.h (rtl_obstack): Declare.
19495169689Skan	(message_with_line): Declare.
19496169689Skan
19497169689Skan	* genattr.c: Remove all traces of obstack manipulation.
19498169689Skan	* gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
19499169689Skan	* genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
19500169689Skan
19501169689Skan	* genattrtab.c (obstack, rtl_obstack): Remove.
19502169689Skan	(main): Don't init rtl_obstack.
19503169689Skan	* genflags.c: Likewise.
19504169689Skan
19505169689Skan	* genrecog.c (message_with_line): Move ...
19506169689Skan	* gensupport.c: ... here.
19507169689Skan
19508169689Skan2000-05-06  Richard Henderson  <rth@cygnus.com>
19509169689Skan
19510169689Skan	* c-typeck.c (build_c_cast): Remove dead code.
19511169689Skan
19512169689Skan2000-05-06  Richard Henderson  <rth@cygnus.com>
19513169689Skan
19514169689Skan	* flow.c (split_edge): Don't allocate global_live_at_start for
19515169689Skan	the new block unless the old blocks had them as well.
19516169689Skan
19517169689Skan	* flow.c (mark_set_1): Respect not_dead when updating reg_live.
19518169689Skan
19519169689Skan	* ifcvt.c (noce_process_if_block): Don't use an insn_b from
19520169689Skan	test_bb if a or b uses x.
19521169689Skan
19522169689Skan2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
19523169689Skan
19524169689Skan	* cpphash.h: Remove conditional #define of __extension__.
19525169689Skan	* rtl.h: Add __extension__ to RTL_CHECK1, RTL_CHECK2,
19526169689Skan	RTL_CHECKC1, RTL_CHECKC2, and RTVEC_ELT macros
19527169689Skan	(ENABLE_RTL_CHECKING only).
19528169689Skan	* tree.h: Add __extension__ to TREE_CHECK, TREE_CLASS_CHECK,
19529169689Skan	CST_OR_CONSTRUCTOR_CHECK, and EXPR_CHECK macros
19530169689Skan	(ENABLE_TREE_CHECKING only).
19531169689Skan	* varray.h: Add __extension__ to VARRAY_CHECK macro
19532169689Skan	(ENABLE_CHECKING only).
19533169689Skan
19534169689Skan2000-05-06  Richard Earnshaw (reanrsha@arm.com)
19535169689Skan
19536169689Skan	Use new tail-calling mechanism on ARM.
19537169689Skan	* arm.md (sibcall, sibcall_value): New expands.
19538169689Skan	(sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns.
19539169689Skan	(tailcalling peepholes): Delete.
19540169689Skan	(push_multi): Simplify.
19541169689Skan	* arm.c (lr_save_eliminated): Delete definition.
19542169689Skan	(pattern_really_clobbers_lr, function_really_clobbers_lr): Delete.
19543169689Skan	(output_return_instruction): Remove checks on lr_save_eliminated.
19544169689Skan	(output_arm_prologue): Remove old tail-calling code.
19545169689Skan	(arm_output_epilogue): New parameter, really_return.  All callers
19546169689Skan	changed.  Handle tail-calling epilogues.
19547169689Skan	* arm.h (lr_save_eliminated): Delete declaration.
19548169689Skan	(frame_pointer_needed): Delete declaration.
19549169689Skan	* arm-protos.h (arm_output_epilogue): Adjust prototype.
19550169689Skan
19551169689Skan	* arm.md (is_thumb): Examine symbol thumb_code, not expression
19552169689Skan	TARGET_ARM.
19553169689Skan	* arm.c (thumb_code): Define it.
19554169689Skan	(arm_override_options): Set it.
19555169689Skan	* arm.h (thumb_code): Declare it.
19556169689Skan
19557169689Skan2000-05-06  Richard Earnshaw (reanrsha@arm.com)
19558169689Skan
19559169689Skan	* arm-protos.h (arm_dllexport_name_p, arm_dllimport_name_p): Constify.
19560169689Skan
19561169689Skan2000-05-06  Richard Earnshaw (reanrsha@arm.com)
19562169689Skan
19563169689Skan	* arm.c (arm_gen_load_multiple, arm_gen_store_mulitple): Don't add
19564169689Skan	bogus clobber to insns.
19565169689Skan	(load_multiple_operation, store_mulitple_operation): Don't check
19566169689Skan	for it.
19567169689Skan	* arm.md (ldmsi_postinc, stmsi_postinc): Adjust accordingly.
19568169689Skan
19569169689Skan	* arm.md (and_scc, ior_scc): Add missing mode.
19570169689Skan
19571169689Skan	* arm.md (call_value_symbol): Remove predicate from op2.
19572169689Skan
19573169689Skan	* arm.h (SPECIAL_MODE_PREDICATES): Define.
19574169689Skan
19575169689SkanSat May  6 06:25:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19576169689Skan
19577169689Skan	* expr.c (get_subtarget): New function.
19578169689Skan	(force_operand, expand_expr, do_store_flag): Use it.
19579169689Skan
19580169689Skan	* toplev.c (compile_file): Don't take strlen of NAME if null.
19581169689Skan
19582169689Skan2000-05-06  David Edelsohn  <edelsohn@gnu.org>
19583169689Skan
19584169689Skan	* xcoffout.c (xcoff_current_include_file,
19585169689Skan	xcoff_current_function_file, xcoff_lastfile): Constify char *.
19586169689Skan	(xcoffout_source_file, xcoffout_source_line): Make filename 'const
19587169689Skan	char *'.
19588169689Skan	(xcoffout_declare_function): Make name 'const char *'.
19589169689Skan	(xcoffout_end_epilogue): Make fname 'const char *'
19590169689Skan	* xcoffout.h (xcoff_current_include_file, xcoff_lastfile,
19591169689Skan	xcoffout_declare_function, xcoffout_source_line): Match above.
19592169689Skan
19593169689Skan	* aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -mpowerpc64 without
19594169689Skan	-maix64	is error.
19595169689Skan	* rs6000.c (print_operand): Fix lossage typo.
19596169689Skan	(output_cbranch): Remove "cr" decoration for now.
19597169689Skan	* rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Make alias 'const char *'.
19598169689Skan
19599169689SkanSat May  6 06:55:32 2000  Denis Chertykov  <denisc@overta.ru>
19600169689Skan
19601169689Skan	* config/avr/avr.c (out_shift_with_cnt): Bugfix for shift by
19602169689Skan	constant count.
19603169689Skan
19604169689Skan2000-05-05  Bruce Korb  <bkorb@gnu.org>
19605169689Skan
19606169689Skan	* fixinc/genfixes: Improve the matching for make target names
19607169689Skan
19608169689Skan2000-05-05  Catherine Moore  <clm@cygnus.com>
19609169689Skan
19610169689Skan	* c-common.c (decl_attributes):  For TYPE_DECLs attach the
19611169689Skan	attribute to the decl.
19612169689Skan	* c-decl.c (pushdecl): Propagate the USED attribute to the
19613169689Skan	type copy.
19614169689Skan
19615169689Skan2000-05-05  Richard Henderson  <rth@cygnus.com>
19616169689Skan
19617169689Skan	* rtlanal.c (reg_overlap_mentioned_p): Treat parallels in the
19618169689Skan	same way emit_group_load does.
19619169689Skan
19620169689Skan2000-05-05 Mark Elbrecht <snowball3@bigfoot.com>
19621169689Skan
19622169689Skan	* gcc.c (set_input) [HAVE_DOS_STYLE_FILE_SYSTEM]: Skip drive name.
19623169689Skan
19624169689Skan	* toplev.c (output_file_directive): Use IS_DIR_SEPARATOR.
19625169689Skan	(main): Likewise.
19626169689Skan
19627169689Skan2000-05-05 Rodney Brown	<RodneyBrown@mynd.com>
19628169689Skan
19629169689Skan	* pa.h (FUNCTION_ARG_ADVANCE): Warning removal.
19630169689Skan
19631169689SkanFri May  5 10:29:21 2000  Marc Espie <espie@cvs.openbsd.org>
19632169689Skan
19633169689Skan	* config/openbsd.h (LINK_SPEC): pass correct flags to ld
19634169689Skan	to support -shared, on platforms with dynamic libraries.
19635169689Skan
19636169689SkanFri May  5 10:27:06 2000  Philippe De Muyter  <phdm@macqel.be>
19637169689Skan
19638169689Skan	* system.h (S_ISBLK): Provide fallback definition.
19639169689Skan
19640169689Skan2000-05-05  Geoff Berry  <geoffb@bops.com>
19641169689Skan
19642169689Skan	* extend.texi (Extended Asm): Document inability to give asm
19643169689Skan	statements access to condition codes.
19644169689Skan
19645169689Skan2000-05-05  Marek Michalkiewicz  <marekm@linux.org.pl>
19646169689Skan
19647169689Skan	* varasm.c (asm_emit_uninitialised): Use 0, not NULL
19648169689Skan	as arg 2 of UNIQUE_SECTION.
19649169689Skan
19650169689SkanFri May  5 10:11:41 2000  Jeffrey A Law  (law@cygnus.com)
19651169689Skan
19652169689Skan	* predict.c: Remove May 4 change.
19653169689Skan	* bb-reorder.c (make_reorder_chain): Do not perform block movement
19654169689Skan	if we have predicted the branch at 50-50 probability.
19655169689Skan
19656169689Skan2000-05-05  Richard Henderson  <rth@cygnus.com>
19657169689Skan
19658169689Skan	* flow.c (init_propagate_block_info): Fix merge error
19659169689Skan	in HAVE_conditional_execution code.
19660169689Skan
19661169689SkanFri May  5 07:43:50 2000  Denis Chertykov  <denisc@overta.ru>
19662169689Skan
19663169689Skan	* config/avr/avr.c (out_shift_with_cnt): Genetare a more optimal
19664169689Skan	shift cycle for unknown shift count. Also generates dec + brpl.
19665169689Skan	(ashlqi3_out): Don't generate dec + brpl which now generates by
19666169689Skan	`out_shift_with_cnt'.
19667169689Skan	(ashlhi3_out): Likewise.
19668169689Skan	(ashlsi3_out): Likewise.
19669169689Skan	(ashrqi3_out): Likewise.
19670169689Skan	(ashrhi3_out): Likewise.
19671169689Skan	(ashrsi3_out): Likewise.
19672169689Skan	(lshrqi3_out): Likewise.
19673169689Skan	(lshrhi3_out): Likewise.
19674169689Skan	(lshrsi3_out): Likewise.
19675169689Skan
19676169689Skan2000-05-04 Mark Elbrecht <snowball3@bigfoot.com>
19677169689Skan
19678169689Skan	* gcc.c (free_split_directories): Correct typo in explanation
19679169689Skan	of make_relative_prefix.
19680169689Skan
19681169689Skan2000-05-04  Geoff Keating  <geoffk@cygnus.com>
19682169689Skan
19683169689Skan	* config/rs6000/rs6000.h (PREDICATE_CODES): Add floating-point
19684169689Skan	comparison codes to branch_comparison_operator.
19685169689Skan
19686169689Skan2000-05-04  Richard Henderson  <rth@cygnus.com>
19687169689Skan
19688169689Skan	* ifcvt.c (noce_process_if_block): Always reset X in the A == B case.
19689169689Skan
19690169689Skan2000-05-04  Richard Henderson  <rth@cygnus.com>
19691169689Skan
19692169689Skan	* Makefile.in (FPBIT_FUNCS): Remove _df_to_usi.
19693169689Skan	(DPBIT_FUNCS): Remove _sf_to_usi.
19694169689Skan	(stmp-multilib): Pass LIB1ASMSRC to libgcc.mk.
19695169689Skan
19696169689Skan	* ifcvt.c (noce_process_if_block): Fail if A or B modified
19697169689Skan	between condition and jump.
19698169689Skan
19699169689Skan	* libgcc2.c (near eh_context_specific): Comment #endif string.
19700169689Skan	* longlong.h: Don't use strings with embedded newlines.
19701169689Skan
19702169689Skan2000-05-04  Geoff Keating  <geoffk@cygnus.com>
19703169689Skan
19704169689Skan	* config/rs6000/rs6000-protos.h: Add output_cbranch.
19705169689Skan	* config/rs6000/rs6000.c (ccr_bit_negated_p): Delete.
19706169689Skan	(print_operand): Delete %t and %T codes.
19707169689Skan	(output_cbranch): New function.  Support branch prediction.
19708169689Skan	* config/rs6000/rs6000.md: Use output_cbranch for
19709169689Skan	conditional branches and returns.
19710169689Skan
19711169689Skan2000-05-04  Jason Merrill  <jason@casey.cygnus.com>
19712169689Skan
19713169689Skan	* simplify-rtx.c (simplify_ternary_operation): Cast to unsigned.
19714169689Skan	* stor-layout.c (place_field): Likewise.
19715169689Skan	* integrate.h (struct inline_remap): Make regno_pointer_align unsigned.
19716169689Skan	* expr.c (store_expr): Make align unsigned.
19717169689Skan	* explow.c (plus_constant_wide): Make low words unsigned.
19718169689Skan	* expmed.c (choose_multiplier): Likewise.
19719169689Skan	* fold-const.c (fold):  Likewise.
19720169689Skan	* tree.h (build_int_2): Likewise.
19721169689Skan	* tree.c (build_int_2_wide, tree_int_cst_msb): Likewise.
19722169689Skan	* emit-rtl.c (gen_reg_rtx): Add cast to unsigned char*.
19723169689Skan	(init_emit): Change cast to unsigned char*.
19724169689Skan	* varasm.c (compare_constant_1): Add cast to char*.
19725169689Skan	* gcse.c (delete_null_pointer_checks): Change cast to unsigned int*.
19726169689Skan	* reload1.c (reload): Likewise.
19727169689Skan
19728169689Skan	* rtl.h (MEM_SET_IN_STRUCT_P): Use do { } while (0).
19729169689Skan
19730169689SkanThu May  4 14:37:23 2000  Jeffrey A Law  (law@cygnus.com)
19731169689Skan
19732169689Skan	* predict.c (estimate_probability): If no prediction was found, then
19733169689Skan	predict the successor that is the next physical block (if such a
19734169689Skan	successor exists).
19735169689Skan
19736169689Skan2000-05-04  Richard Henderson  <rth@cygnus.com>
19737169689Skan
19738169689Skan	* config/alpha/t-alpha (LIB2FUNCS_EXTRA): Use qrrnd.asm in place.
19739169689Skan
19740169689Skan2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19741169689Skan
19742169689Skan	* system.h: Don't wrap <sys/types.h> with HAVE_SYS_TYPES_H.
19743169689Skan
19744169689Skan2000-05-04  Mumit Khan  <khan@xraylith.wisc.edu>
19745169689Skan
19746169689Skan	* i386/cygwin.h (CPP_PREDEFINES): Don't define __STDC__. Move
19747169689Skan	attribute macros from here ...
19748169689Skan	(CPP_SPEC): to here.
19749169689Skan	* i386/mingw32.h (CPP_PREDEFINES): Likewise.
19750169689Skan	(CPP_SPEC): Likewise.
19751169689Skan	* i386/crtdll.h (CPP_PREDEFINES): Delete attribute macros.
19752169689Skan
19753169689Skan	* Makefile.in ($(HOST_PREFIX_1)gensupport.o): Add build rule.
19754169689Skan	(libgcc.a): Pass LIB1ASMSRC to libgcc.mk.
19755169689Skan
19756169689Skan2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19757169689Skan
19758169689Skan	* bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.
19759169689Skan
19760169689Skan	* diagnostic (vbuild_message_string, build_message_string,
19761169689Skan	build_location_prefix, output_get_prefix, init_output_buffer,
19762169689Skan	output_notice, vline_wrapper_message_with_location,
19763169689Skan	v_message_with_decl, default_print_error_function): De-constify.
19764169689Skan	(set_real_maximum_length): Prototype.
19765169689Skan
19766169689Skan	* diagnostic.h (struct output_buffer, init_output_buffer,
19767169689Skan	output_get_prefix, output_set_prefix): De-constify.
19768169689Skan
19769169689Skan	* function.c (init_function_start): Constify.
19770169689Skan
19771169689Skan	* gensupport.c (remove_constraints, process_rtx): Prototype.
19772169689Skan
19773169689Skan	* gthr-posix.h: Indent uses of #pragma.
19774169689Skan
19775169689Skan	* objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
19776169689Skan	Prototype.
19777169689Skan
19778169689Skan	* predict.c (find_expected_value): Delete prototype.
19779169689Skan	(expected_value_to_br_prob): Initialize variable `ev_reg'.
19780169689Skan
19781169689Skan	* sbitmap.h (debug_sbitmap): Prototype.
19782169689Skan
19783169689Skan	* ssa.c (compute_coalesced_reg_partition): Prototype.
19784169689Skan
19785169689Skan	* stor-layout.c (debug_rli): Prototype.
19786169689Skan
19787169689Skan	* tree.h (round_down): Prototype.
19788169689Skan	(init_function_start): Constify.
19789169689Skan
19790169689Skan2000-05-04  Zack Weinberg  <zack@wolery.cumb.org>
19791169689Skan
19792169689Skan	* cpphash.h: #define __extension__ away if GCC_VERSION < 2095
19793169689Skan	(overly conservative).  Change extern inline wrappers to
19794169689Skan	static inline, define them always, use PARAMS properly.
19795169689Skan	* cpplex.c (_cpp_get_directive_token): Don't issue pedantic
19796169689Skan	whitespace warnings for \f and \v at the beginning of a line.
19797169689Skan
19798169689SkanThu May  4 10:03:50 2000  Jeffrey A Law  (law@cygnus.com)
19799169689Skan
19800169689Skan	* haifa-sched.c (schedule_insns): Free the flow edge list when it
19801169689Skan	is no longer needed
19802169689Skan
19803169689Skan2000-05-04  Bruce Korb  <bkorb@gnu.org>
19804169689Skan
19805169689Skan	* fixincl/inclhack.def: added broken_cabs -
19806169689Skan	Remove `extern double cabs' declarations from math.h
19807169689Skan	* fixincl/inclhack.sh: regen
19808169689Skan	* fixincl/fixincl.x: regen
19809169689Skan	* fixincl/fixincl.c: Remove BOGOSITY code
19810169689Skan	* fixincl/mkfixinc.sh: Remove code for installing "shell" version
19811169689Skan
19812169689SkanThu May  4 09:45:12 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19813169689Skan
19814169689Skan	* rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and
19815169689Skan	MEM_ALIAS_SET.
19816169689Skan	* alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET
19817169689Skan	when calling MEM_COPY_ATTRIBUTES.
19818169689Skan	* emit-rtl.c (operand_subword, change_address): Likewise.
19819169689Skan	* explow.c (stabilize): Likewise.
19820169689Skan	* expr.c (protect_from_queue, emit_move_insn_1): Likewise.
19821169689Skan	* integrate.c (copy_rtx_and_substitute): Likewise.
19822169689Skan	* combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P
19823169689Skan	when calling MEM_COPY_ATTRIBUTES.
19824169689Skan	(make_extraction, simplify_shift_const, gen_lowpart_for_combine):
19825169689Skan	Likewise.
19826169689Skan	* cse.c (gen_lowpart_if_possible): Likewise.
19827169689Skan	* function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
19828169689Skan	* optabs.c (gen_move_insn): Likewise.
19829169689Skan	* recog.c (validate_replace_rtx_1): Likewise.
19830169689Skan	* simplify-rtx.c (add_mem_for_addr): Likewise.
19831169689Skan	* stmt.c (expand_anon_union_decl): Likewise.
19832169689Skan	* config/arm/arm.md: Likewise.
19833169689Skan	* config/h8300/h7300.c (fix_bit_operand): Likewise.
19834169689Skan	* config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise.
19835169689Skan	(block_move_no_loop, block_move_sequence): Likewise.
19836169689Skan	* config/rs6000/rs6000.c (expand_block_move_mem): Likewise.
19837169689Skan	* config/alpha/alpha.c (get_aligned_mem): Likewise.
19838169689Skan	Clear MEM_ALIAS_SET.
19839169689Skan	* final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling
19840169689Skan	MEM_COPY_ATTRIBUTES.
19841169689Skan
19842169689Skan2000-05-03  Robert Lipe <robertlipe@usa.net>
19843169689Skan
19844169689Skan	* configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare
19845169689Skan	to suppress libgcc1.
19846169689Skan	(i[34567]86-*-sco3.2v5*) Likewise.
19847169689Skan	(i[34567]86-*-sco3.2v4*) Likewise.
19848169689Skan	(i[34567]86-*-sco) Likewise.
19849169689Skan	(i[34567]86-*-solaris2) Likewise.
19850169689Skan	(i[34567]86-*-sysv5*) Likewise.
19851169689Skan	(i[34567]86-*-sysv4*) Likewise.
19852169689Skan	(i[34567]86-*-udk*) Likewise.
19853169689Skan	(i[34567]86-*-sysv*) Likewise.
19854169689Skan
19855169689Skan2000-05-03  Zack Weinberg  <zack@wolery.cumb.org>
19856169689Skan
19857169689Skan	* cpphash.h (U): New define, to correct type of string constants.
19858169689Skan	(ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr): New wrapper
19859169689Skan	routines, to do casts when passing unsigned strings to libc.
19860169689Skan	* cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c: Use them.
19861169689Skan
19862169689Skan	* cppfiles.c (_cpp_execute_include): Make filename an U_CHAR *.
19863169689Skan	* cpphash.c (_cpp_quote_string): Make string an U_CHAR *.
19864169689Skan	* cppinit.c (dump_special_to_buffer): Make macro name an U_CHAR *.
19865169689Skan	* cpplex.c (parse_ifdef, parse_include, validate_else): Make
19866169689Skan	second argument an U_CHAR *.
19867169689Skan
19868169689Skan	* cppinit.c (builtin_array): Make name and value U_CHAR *, add
19869169689Skan	length field, clean up initializer.
19870169689Skan	(ISTABLE): Add __extension__ to designated-
19871169689Skan	initializers version.
19872169689Skan	* cpplex.c (CHARTAB): Likewise.
19873169689Skan
19874169689Skan	* mbchar.c: Add dummy external declaration to the !MULTIBYTE_CHARS
19875169689Skan	case so the file won't be empty.
19876169689Skan
19877169689SkanWed May  3 21:01:46 2000  Jason Eckhardt  <jle@cygnus.com>
19878169689Skan
19879169689Skan	* bb-reorder.c (struct reorder_block_def): Member succ removed.
19880169689Skan	(REORDER_BLOCK_SUCC): Removed.
19881169689Skan	(enum reorder_skip_type): Removed.
19882169689Skan	(skip_insns_between_block): Renamed to skip_insns_after_block.
19883169689Skan	Removed second argument. Removed dead code and cleaned up.
19884169689Skan	(make_reorder_chain): Removed use of REORDER_BLOCK_SUCC.
19885169689Skan	(reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed
19886169689Skan	second parameter to skip_insns_after_block.
19887169689Skan
19888169689SkanWed May  3 13:29:54 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19889169689Skan
19890169689Skan	* tree.c (staticp, case LABEL_DECL): New case.
19891169689Skan
19892169689Skan2000-05-03  Richard Henderson  <rth@cygnus.com>
19893169689Skan
19894169689Skan	* Makefile.in (start.encap): Do not depend on LIBGCC1.
19895169689Skan
19896169689Skan	* mklibgcc1.in: Fix typo last change.
19897169689Skan
19898169689Skan2000-05-03  Jason Merrill  <jason@casey.cygnus.com>
19899169689Skan
19900169689Skan	* Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.
19901169689Skan	(LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional.
19902169689Skan	(GCC_CFLAGS): Use it.
19903169689Skan	(LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS.
19904169689Skan	* cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in,
19905169689Skan	objc/Make-lang.in: Use it.
19906169689Skan
19907169689Skan2000-05-03  Jason R Thorpe  <thorpej@zembu.com>
19908169689Skan
19909169689Skan	* config/i386/i386.md (lshrqi2_cmpno): Use q not r in constraint.
19910169689Skan
19911169689Skan2000-05-03  Richard Henderson  <rth@cygnus.com>
19912169689Skan
19913169689Skan	* mklibgcc.in: Restrict OLDCC=GCC test to native.  Equate
19914169689Skan	LIBGCC1 empty with libgcc1.null.
19915169689Skan
19916169689SkanWed May  3 12:55:46 2000  Jim Wilson  <wilson@cygnus.com>
19917169689Skan
19918169689Skan	* fold-const.c (extract_muldiv, case MAX_EXPR): Don't allow signedness
19919169689Skan	change.
19920169689Skan
19921169689Skan2000-05-03  Greg McGary  <gkm@gnu.org>
19922169689Skan
19923169689Skan	* tree.h (tree_common): Add bounded_flag member.  Remove
19924169689Skan	inaccurate comment about number of remaining bits.
19925169689Skan	(BOUNDED_INDIRECT_TYPE_P, BOUNDED_POINTER_TYPE_P,
19926169689Skan	BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
19927169689Skan	MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
19928169689Skan	TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
19929169689Skan	TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED): New macros.
19930169689Skan	(TYPE_QUAL_BOUNDED): New constant.
19931169689Skan	(TYPE_QUALS): Handle bounded qualifier.
19932169689Skan	(TREE_EXPR_QUALS, TREE_FUNC_QUALS): New macros.
19933169689Skan	(TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
19934169689Skan	TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
19935169689Skan	TYPE_AMBIENT_BOUNDEDNESS): New macros.
19936169689Skan	(MAX_POINTER_DEPTH, VA_LIST_POINTER_DEPTH): New constants.
19937169689Skan	(tree_type): Add pointer_depth member.  Remove
19938169689Skan	inaccurate comment about number of remaining bits.
19939169689Skan	(DECL_POINTER_DEPTH): Add macro.
19940169689Skan	(tree_decl): Add pointer_depth member.
19941169689Skan
19942169689SkanWed May  3 22:52:53 2000  Denis Chertykov  <denisc@overta.ru>
19943169689Skan
19944169689Skan	* config/avr/avr-protos.h (test_hard_reg_class): Declared.
19945169689Skan	* config/avr/avr.c (ashrhi3_out): optimized shift by 15.
19946169689Skan	(lshrhi3_out): Likewise.
19947169689Skan	(ashrsi3_out): bugfix in shift by 8.
19948169689Skan	(test_hard_reg_class): New function.
19949169689Skan	* config/avr/avr.md: Bugfix inside conditions in peepholes.
19950169689Skan	(ashlhi3): removed define_expand of this pattern.
19951169689Skan	(*ashlhi3_insn): renamed to ashlhi3.
19952169689Skan	(ashlsi3): removed define_expand of this pattern.
19953169689Skan	(*ashlsi3_insn): renamed to ashlsi3.
19954169689Skan	(ashrqi3): removed define_expand of this pattern.
19955169689Skan	(*ashrqi3_insn): renamed to ashrqi3.
19956169689Skan	(ashrhi3): removed define_expand of this pattern.
19957169689Skan	(*ashrhi3_insn): renamed to ashrhi3.
19958169689Skan	(ashrsi3): removed define_expand of this pattern.
19959169689Skan	(*ashrsi3_insn): renamed to ashrsi3.
19960169689Skan	(lshrhi3): removed define_expand of this pattern.
19961169689Skan	(*lshrhi3_insn): renamed to lshrhi3.
19962169689Skan	(lshrsi3): removed define_expand of this pattern.
19963169689Skan	(*lshrsi3_insn): renamed to lshrsi3.
19964169689Skan
19965169689Skan2000-05-03  Rodney Brown  <RodneyBrown@pmsc.com>
19966169689Skan
19967169689Skan	* config/mcore/mcore.c: Replacing inclusion of "stdio,h" with
19968169689Skan	inclusion of "system.h".
19969169689Skan
19970169689SkanWed May  3 11:43:53 2000  Jim Wilson  <wilson@cygnus.com>
19971169689Skan
19972169689Skan	* config/ia64/ia64.c (ia64_encode_section_info): Add check for
19973169689Skan	TREE_ASM_WRITTEN.
19974169689Skan
19975169689Skan2000-05-03  David Mosberger  <davidm@hpl.hp.com>
19976169689Skan
19977169689Skan	* config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp
19978169689Skan	if -mauto-pic is on.
19979169689Skan	(ia64_epilogue_uses): Mark "gp" (r1) as used by the epilogue if
19980169689Skan	-mconstant-gp is in effect and function-descriptors are being used
19981169689Skan	to make indirect calls.
19982169689Skan	* config/ia64/ia64.h (MASK_CONST_GP): New macro.
19983169689Skan	(MASK_AUTO_PIC): Ditto.
19984169689Skan	(TARGET_CONST_GP): Ditto.
19985169689Skan	(TARGET_AUTO_PIC): Ditto.
19986169689Skan	(TARGET_SWITCHES): Add -mconstant-gp and -mauto-pic options.
19987169689Skan	(ASM_OUTPUT_DOUBLE_INT): Don't generate @fptr() if -mauto-pic or
19988169689Skan	-mno-pic is in effect.
19989169689Skan	(ASM_OUTPUT_XDATA_DOUBLE_INT): Ditto.
19990169689Skan	* config/ia64/ia64.md (movdi): Use gen_load_gprel64() if
19991169689Skan	-mauto-pic is in effect.
19992169689Skan	(gprel64_offset): New pattern.
19993169689Skan	(load_gprel64): Ditto.
19994169689Skan	(call): Handle -mauto-pic like -mno-pic (don't use fptr).  If
19995169689Skan	-mconstant-gp is in effect, no need to preserve gp around direct
19996169689Skan	calls.
19997169689Skan	(call_value): Ditto.
19998169689Skan	* config/ia64/linux.h (PROFILE_BEFORE_PROLOGUE): Define.
19999169689Skan	(FUNCTION_PROFILER): Define.
20000169689Skan	* config/ia64/sysv4.h (ASM_OUTPUT_CONSTRUCTOR): Don't generate
20001169689Skan	@fptr() directive when -mno-pic or -mauto-pic is in effect.
20002169689Skan	(ASM_OUTPUT_DESTRUCTOR): Ditto.
20003169689Skan
20004169689Skan2000-05-03  Richard Henderson  <rth@cygnus.com>
20005169689Skan
20006169689Skan	* Makefile.in (STAGESTUFF): Add libgcc libgcc.mk.
20007169689Skan	(libgcc1.null, libgcc1.cross, libgcc1.a): Remove targets.
20008169689Skan	(libgcc1-asm.a, libgcc1.S, libgcc2.a): Remove targets.
20009169689Skan	(mklibgcc, libgcc.mk): New targets.
20010169689Skan	(libgcc.a): Use libgcc.mk.
20011169689Skan	(stmp-multilib): Likewise.
20012169689Skan	(stmp-multilib-sub): Remove.
20013169689Skan	(mostlyclean): Don't delete libgcc2 temp files.
20014169689Skan	* configure.in (AC_PROG_CC_C_O): Add.
20015169689Skan	(NO_MINUS_C_MINUS_O): Substitute it.
20016169689Skan	(all_outputs): Add mklibgcc.
20017169689Skan	* mklibgcc.in: New file.
20018169689Skan
20019169689Skan2000-05-03  Jason Merrill  <jason@casey.cygnus.com>
20020169689Skan
20021169689Skan	* cppexp.c (op_t): Make an int.
20022169689Skan
20023169689Skan	* rtlanal.c (dead_or_set_regno_p): Remove unused variable.
20024169689Skan
20025169689Skan	* varasm.c (initializer_constant_valid_p): Fix parenthesis.
20026169689Skan
20027169689Skan	* gensupport.c (process_rtx): Fix macros used.
20028169689Skan
20029169689Skan2000-05-03  Richard Henderson  <rth@cygnus.com>
20030169689Skan
20031169689Skan	* flow.c (propagate_one_insn): Also don't PROP_REG_INFO for
20032169689Skan	call-clobbered registers of a call.
20033169689Skan
20034169689SkanWed May  3 12:40:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
20035169689Skan
20036169689Skan	* gensupport.c: New file.
20037169689Skan	* gensupport.h: New file.
20038169689Skan	* Makefile.in (HOST_RTL): Depend on gensupport.
20039169689Skan	(gensupport.o) New rule.
20040169689Skan	* genattr.c: Use gensupport for reading .md files.
20041169689Skan	* genattrtab.c: Ditto.
20042169689Skan	* gencodes.c: Ditto.
20043169689Skan	* genconfig.c: Ditto.
20044169689Skan	* genemit.c: Ditto.
20045169689Skan	* genextract.c: Ditto.
20046169689Skan	* genflags.c: Ditto.
20047169689Skan	* genopinit.c: Ditto.
20048169689Skan	* genoutput.c: Ditto.
20049169689Skan	* genpeep.c: Ditto.
20050169689Skan	* genrecog.c: Ditto.
20051169689Skan	* rtl.def (define_insn_and_split): New DEF_RTL_EXPR.
20052169689Skan	* md.texi (Insn Splitting): Document define_insn_and_split.
20053169689Skan
20054169689SkanTue May  2 00:20:30 2000  Jason Eckhardt  <jle@cygnus.com>
20055169689Skan
20056169689Skan	* flow.c (verify_flow_info): Added two more sanity checks. The
20057169689Skan	first checks that the blocks are numbered consecutively. The second
20058169689Skan	checks that n_basic_blocks is actually equal to the number of
20059169689Skan	basic blocks in the insn chain.
20060169689Skan
20061169689Skan2000-05-03  Zack Weinberg  <zack@wolery.cumb.org>
20062169689Skan
20063169689Skan	* cpplib.h: Add accessor macros for token lists.
20064169689Skan	* cpplib.c, cpphash.c, cpplex.c: Use them.
20065169689Skan
20066169689SkanWed May  3 09:29:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
20067169689Skan
20068169689Skan	* expr.c (expand_expr, case COMPONENT_REF): Don't check for checking
20069169689Skan	memory usage if not in a function.
20070169689Skan	* varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only
20071169689Skan	return address if static.
20072169689Skan
20073169689SkanWed May  3 13:14:49 MET DST 2000  Jan Hubicka  <jh@suse.cz>
20074169689Skan
20075169689Skan	* ifcvt.c (noce_try_cmove_arith):  Use may_trap_p to thest
20076169689Skan	whether address may trap.
20077169689Skan
20078169689SkanTue May  2 23:38:37 2000  Jason Eckhardt  <jle@cygnus.com>
20079169689Skan
20080169689Skan	* bb-reorder (chain_reorder_blocks): Changed code to test for
20081169689Skan	EDGE_FALLTHRU rather than making erroneous assumption that the
20082169689Skan	first outgoing edge is the fall-through edge.
20083169689Skan
20084169689SkanTue May  2 18:20:31 2000  Donald Lindsay  <dlindsay@hound.cygnus.com>
20085169689Skan
20086169689Skan	* config/mips/mips.c (mips_build_va_list,mips_va_start,mips_va_arg): new
20087169689Skan	ABI for varargs, across all MIPS. This is incompatible because the
20088169689Skan	va_list (__builtin_va_list) structure is different, so a compilation
20089169689Skan	unit passing a va_list and a compilation unit being passed one, should
20090169689Skan	both be compiled with the same ABI. (The old structure had two
20091169689Skan	pointers, now it has three.)
20092169689Skan
20093169689SkanTue May  2 19:18:43 2000  Jason Eckhardt  <jle@cygnus.com>
20094169689Skan
20095169689Skan	* bb-reorder.c (struct reorder_block_def): Remove members end,
20096169689Skan	block_begin, and block_end.
20097169689Skan	(REORDER_BLOCK_OLD_END): Delete.
20098169689Skan	(REORDER_BLOCK_BEGIN): Delete.
20099169689Skan	(REORDER_BLOCK_END): Delete.
20100169689Skan	(chain_reorder_blocks): Remove dead code.
20101169689Skan
20102169689SkanTue May  2 17:06:53 2000  Jason Eckhardt  <jle@cygnus.com>
20103169689Skan
20104169689Skan	* bb-reorder.c (remove_scope_notes): Check for both types of scope
20105169689Skan	notes as the end of a basic block before deleting.
20106169689Skan
20107169689Skan2000-05-02  Mumit Khan  <khan@xraylith.wisc.edu>
20108169689Skan
20109169689Skan	* final.c (final_start_function): Fix spelling of "necessary".
20110169689Skan
20111169689Skan2000-05-02  Jason Merrill  <jason@casey.cygnus.com>
20112169689Skan
20113169689Skan	* toplev.c (debug_ignore_block): Return int.
20114169689Skan	* dwarf2out.c (dwarf2out_ignore_block): Likewise.
20115169689Skan	* toplev.h, dwarf2out.h: Adjust.
20116169689Skan	* emit-rtl.c (remove_unnecessary_notes): Test return value.
20117169689Skan
20118169689Skan	* emit-rtl.c (remove_unnecessary_notes): Fix spelling of "necessary".
20119169689Skan	* toplev.c, final.c, rtl.h: Adjust.
20120169689Skan
20121169689Skan2000-05-02  Zack Weinberg  <zack@wolery.cumb.org>
20122169689Skan
20123169689Skan	* aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro.
20124169689Skan	* configure.in: Look for makeinfo in the unified tree, then
20125169689Skan	for a system makeinfo which is sufficiently new.
20126169689Skan	* Makefile.in: If configure says makeinfo is too old, don't
20127169689Skan	build or install Info documentation.
20128169689Skan
20129169689Skan2000-05-02  Zack Weinberg  <zack@wolery.cumb.org>
20130169689Skan
20131169689Skan	* cpphash.c (collect_params): Fix off-by-one error.
20132169689Skan	(dump_hash_helper): Dump all four macro nodetypes.
20133169689Skan
20134169689Skan2000-05-02  Jakub Jelinek  <jakub@redhat.com>
20135169689Skan
20136169689Skan	* cpphash.c (trad_stringify): Adjust p after stringification as
20137169689Skan	well.
20138169689Skan
20139169689Skan2000-05-02  Zack Weinberg  <zack@wolery.cumb.org>
20140169689Skan
20141169689Skan	* cpplib.h (CPP_POP, parse_cleanup_t): Delete.
20142169689Skan	(cpp_buffer): Remove cleanup, seen_eof, manual_pop members.
20143169689Skan
20144169689Skan	* cppfiles.c (file_cleanup): Delete.
20145169689Skan	* cpphash.c (macro_cleanup): Delete.
20146169689Skan	(collect_objlike_expansion, collect_funlike_expansion,
20147169689Skan	macarg, scan_arguments): Remove CPP_POP case.
20148169689Skan
20149169689Skan	* cpplex.c (null_cleanup): Delete.
20150169689Skan	(cpp_pop_buffer): Do the work that was done in the cleanups
20151169689Skan	here.  Call _cpp_unwind_if_stack from here.
20152169689Skan	(_cpp_expand_to_buffer, cpp_scan_buffer_nooutput,
20153169689Skan	cpp_scan_buffer): Run until we see CPP_EOF and the top of
20154169689Skan	stack is the buffer _below_ the one we stacked.
20155169689Skan	(cpp_get_token): Always pop an exhausted buffer.  Return
20156169689Skan	CPP_EOF unless it's a macro buffer.  Don't call _cpp_handle_eof.
20157169689Skan	* cpplib.c (skip_if_group): Don't call cpp_get_token to
20158169689Skan	increment the line number.
20159169689Skan	(_cpp_handle_eof): Rename to _cpp_unwind_if_stack.
20160169689Skan
20161169689Skan	* fix-header.c (read_scan_file) [parsing getchar()]: Run until
20162169689Skan	we see CPP_EOF and the top of stack is the buffer _below_ the
20163169689Skan	one we stacked.
20164169689Skan	* scan-decls.c: Likewise.
20165169689Skan
20166169689Skan2000-05-02  Andrew Haley  <aph@cygnus.com>
20167169689Skan
20168169689Skan	* config/ia64/ia64.c (ia64_encode_section_info): Handle the case
20169169689Skan	where this function is called for the second time on a decl that
20170169689Skan	has had its section info changed in such a way as to move it out
20171169689Skan	of small data/bss.
20172169689Skan	* config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition.
20173169689Skan
20174169689Skan2000-05-01  Richard Henderson  <rth@cygnus.com>
20175169689Skan
20176169689Skan	* ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before
20177169689Skan	the sequence we're moving, not to merge_bb->head.
20178169689Skan
20179169689Skan2000-05-01  Richard Henderson  <rth@cygnus.com>
20180169689Skan
20181169689Skan	* configure.in (alpha*-*-linux-gnulibc1*) [tmake_file]: Remove
20182169689Skan	reference to alpha/t-linux.
20183169689Skan	(alpha*-*-linux-gnu*): Likewise.
20184169689Skan	* configure: Rebuild.
20185169689Skan
20186169689Skan	* calls.c (expand_call): Don't emit reg notes for a sibcall.
20187169689Skan
20188169689Skan	* flow.c (calculate_global_regs_live): Skip for_each_successor_phi
20189169689Skan	if not in SSA form.
20190169689Skan
20191169689Skan	* ifcvt.c (if_convert): Only verify_flow_info if ENABLE_CHECKING.
20192169689Skan
20193169689Skan2000-05-01  Jason Merrill  <jason@casey.cygnus.com>
20194169689Skan
20195169689Skan	* integrate.c (copy_decl_for_inlining): Copy TREE_READONLY and
20196169689Skan	TREE_THIS_VOLATILE.
20197169689Skan
20198169689Skan2000-05-01  Richard Henderson  <rth@cygnus.com>
20199169689Skan
20200169689Skan	* ifcvt.c (noce_emit_cmove): Conditionally compile call to
20201169689Skan	emit_conditional_move.
20202169689Skan
20203169689Skan2000-05-01  Jakub Jelinek  <jakub@redhat.com>
20204169689Skan
20205169689Skan	* config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1
20206169689Skan	as the dynamic linker.
20207169689Skan
20208169689Skan2000-05-01  Zack Weinberg  <zack@wolery.cumb.org>
20209169689Skan
20210169689Skan	* cppfiles.c (open_include_file): Open file in blocking mode.
20211169689Skan	(read_include_file): Don't fcntl(fd, F_SETFL, 0) anymore.
20212169689Skan	Only exclude block devices and directories.
20213169689Skan
20214169689Skan	* cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now
20215169689Skan	static.  Allocate the hashnode and its string in the same
20216169689Skan	block of memory.
20217169689Skan	(del_HASHNODE): Don't free h->name.
20218169689Skan	(_cpp_lookup): If there is no entry for this string, create
20219169689Skan	one, of type T_VOID.
20220169689Skan	(_cpp_lookup_slot): Delete.
20221169689Skan	* cpphash.h: Update prototypes.
20222169689Skan
20223169689Skan	* cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID,
20224169689Skan	not hp == NULL.
20225169689Skan	* cpplib.c (do_define, do_undef, do_pragma_poison, do_assert,
20226169689Skan	do_unassert, cpp_defined): Use _cpp_lookup.  Don't create a
20227169689Skan	node here, just fill in the value field properly.  "Delete"
20228169689Skan	entries by setting the value field to T_VOID.  Check for
20229169689Skan	hp->type == T_VOID, not hp == NULL.
20230169689Skan
20231169689Skan	* Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H).
20232169689Skan	* cpperror.c, cppexp.c, cpplex.c, cpplib.c:  Don't include
20233169689Skan	hashtab.h.
20234169689Skan
20235169689Skan2000-05-01  Alexandre Oliva  <aoliva@cygnus.com>
20236169689Skan
20237169689Skan	* config/mn10300/mn10300.c (print_operand_address): Do not add
20238169689Skan	zero to SP.
20239169689Skan
20240169689Skan	* config/mn10300/mn10300.c (expand_epilogue): If SP is to be
20241169689Skan	adjusted by less than 256 bytes, use ret regardless of having any
20242169689Skan	callee-saved register to restore.
20243169689Skan
20244169689Skan2000-05-01 Laurynas Biveinis <lauras@softhome.net>
20245169689Skan
20246169689Skan	* tm.texi (TARGET_HAS_F_SETFLKW): Fix typo.
20247169689Skan
20248169689Skan2000-05-01 Mark Elbrecht <snowball3@bigfoot.com>
20249169689Skan
20250169689Skan	* config/i386/djgpp.h (INT_ASM_OP): Define.
20251169689Skan	(CPP_PREDEFINES): Rename MSDOS to __MSDOS__.
20252169689Skan	(ASM_WEAKEN_LABEL): Define.
20253169689Skan	(MASK_BNU210): Define.
20254169689Skan	(SUBTARGET_SWITCHES): Define.
20255169689Skan	(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define.
20256169689Skan	(MAKE_DECL_ONE_ONLY): Define.
20257169689Skan	(UNIQUE_SECTION_P, UNIQUE_SECTION): Define.
20258169689Skan
20259169689Skan2000-05-01  Mumit Khan  <khan@xraylith.wisc.edu>
20260169689Skan
20261169689Skan	* i386/cygwin.h (INT_ASM_OP): Define.
20262169689Skan
20263169689SkanMon May  1 18:20:06 2000  Denis Chertykov  <denisc@overta.ru>
20264169689Skan
20265169689Skan	* config/avr/avr.c (address_cost): renamed to avr_address_cost.
20266169689Skan	* config/avr/avr.h (ADDRESS_COST): use avr_address_cost.
20267169689Skan
20268169689SkanMon May  1 17:50:44 2000  Denis Chertykov  <denisc@overta.ru>
20269169689Skan
20270169689Skan	* config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in
20271169689Skan	__tmp_reg__ and __zero_reg__ initialization.
20272169689Skan
20273169689Skan2000-04-30  Richard Henderson  <rth@cygnus.com>
20274169689Skan
20275169689Skan	* flow.c (propagate_one_insn): Mark sets even when the insn is dead.
20276169689Skan
20277169689Skan	* ifcvt.c (noce_process_if_block): Fail the conversion if X is
20278169689Skan	referenced bewteen the condition and the jump.  Don't delete
20279169689Skan	anything but the jump.
20280169689Skan
20281169689SkanSun Apr 30 22:48:24 2000  Jason Eckhardt  <jle@cygnus.com>
20282169689Skan
20283169689Skan	* bb-reorder.c (scope_def): New struct.
20284169689Skan	(scope_forest_info): New struct.
20285169689Skan	(struct reorder_block_def): New member "scope".
20286169689Skan	(REORDER_BLOCK_SCOPE): New macro.
20287169689Skan	(relate_bbs_with_scopes): New function and prototype.
20288169689Skan	(make_new_scope): Likewise.
20289169689Skan	(build_scope_forest): Likewise.
20290169689Skan	(remove_scope_notes): Likewise.
20291169689Skan	(insert_intra_1): Likewise.
20292169689Skan	(insert_intra_bb_scope_notes): Likewise.
20293169689Skan	(insert_inter_bb_scope_notes): Likewise.
20294169689Skan	(rebuild_scope_notes): Likewise.
20295169689Skan	(free_scope_forest_1): Likewise.
20296169689Skan	(free_scope_forest): Likewise.
20297169689Skan	(dump_scope_forest): Likewise.
20298169689Skan	(dump_scope_forest_1): Likewise.
20299169689Skan	(chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block.
20300169689Skan	Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new
20301169689Skan	block.
20302169689Skan	(reorder_basic_blocks): Added calls to build_scope_scope_forest
20303169689Skan	and remove_scope_notes before reordering is done. Added calls to
20304169689Skan	rebuild_scope_notes, free_scope_forest, and reorder_blocks after
20305169689Skan	after reordering is done.
20306169689Skan
20307169689Skan2000-40-30  Bruce Korb  <bkorb@gnu.org>
20308169689Skan
20309169689Skan	* fixinc/inclhack.def:  Added definitions needed by OSR5,
20310169689Skan	removed two stale entries (defined away with OLD_CPP).
20311169689Skan	* fixinc/inclhack.sh: regen
20312169689Skan	* fixinc/fixincl.x: regen
20313169689Skan
20314169689Skan2000-04-30  Richard Henderson  <rth@cygnus.com>
20315169689Skan
20316169689Skan	* ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes
20317169689Skan	from the last insn in the sequence.
20318169689Skan
20319169689Skan2000-04-30  Zack Weinberg  <zack@wolery.cumb.org>
20320169689Skan
20321169689Skan	* cpplex.c (cpp_idcmp): New function.
20322169689Skan	* cpplib.h: Prototype it.
20323169689Skan	* scan_decls.c (scan_decls): Use it to inspect token names.
20324169689Skan	* fix-header.c (read_scan_file): Likewise.  Set system_header_p on
20325169689Skan	the file being run through the preprocessor.
20326169689Skan	(check_macro_names): Provide length of token to cpp_defined.
20327169689Skan
20328169689Skan	* Makefile.in: Remove stale warning message.
20329169689Skan
20330169689Skan	* cppfiles.c (redundant_include_p): Provide length of token to
20331169689Skan	cpp_defined.
20332169689Skan	* cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash
20333169689Skan	values are unsigned int.
20334169689Skan	(_cpp_lookup, _cpp_lookup_slot): Do not calculate the length.
20335169689Skan	(_cpp_lookup_slot): Do not calculate the hash, either.
20336169689Skan	* cpphash.h: Update prototypes.
20337169689Skan	* cpplib.c (do_define, do_undef, do_pragma_poison, do_assert):
20338169689Skan	Hashes are unsigned int.  Calculate hash here, pass by value
20339169689Skan	to _cpp_lookup_slot.
20340169689Skan
20341169689Skan2000-04-30  Bernd Schmidt  <bernds@cygnus.co.uk>
20342169689Skan
20343169689Skan	* simplify-rtx.c (check_value_useless): Delete function.
20344169689Skan	(discard_useless_locs): Don't call it; manage N_USELES_VALUES counter
20345169689Skan	by hand.
20346169689Skan	(cselib_invalidate_regno): Likewise.
20347169689Skan	(cselib_invalidate_mem_1): Likewise.
20348169689Skan	(references_value_p): Recognize useless values by the fact that they
20349169689Skan	have no locations.
20350169689Skan	(discard_useless_values): Likewise.
20351169689Skan	(cselib_record_set): This may turn a useless value
20352169689Skan	into a useful one.
20353169689Skan
20354169689Skan2000-04-30  Richard Henderson  <rth@cygnus.com>
20355169689Skan
20356169689Skan	* config/d30v: New port.
20357169689Skan
20358169689Skan	* configure.in (d30v-*): Set fp format.
20359169689Skan	* configure: Rebuild.
20360169689Skan
20361169689Skan2000-04-30  Richard Henderson  <rth@cygnus.com>
20362169689Skan
20363169689Skan	* ifcvt.c: New file.
20364169689Skan	* Makefile.in (OBJS): Add it.
20365169689Skan	(ifcvt.o): New target.
20366169689Skan	* jump.c (jump_optimize_1): Remove all code related to if-conversion,
20367169689Skan	and conditional arithmetic.
20368169689Skan	(find_insert_position): Remove.
20369169689Skan	* timevar.def (TV_IFCVT, TV_IFCVT2): New.
20370169689Skan	* toplev.c (DFI_ce, DFI_ce2): New.
20371169689Skan	(dump_file): Add ce and ce2 dumps.
20372169689Skan	(rest_of_compilation): Run if_convert a couple o times.  Set
20373169689Skan	cse_not_expected after cse2.  Don't set no_new_pseudos until
20374169689Skan	after sched1 or recompute_reg_usage.
20375169689Skan
20376169689Skan2000-04-30  Richard Henderson  <rth@cygnus.com>
20377169689Skan
20378169689Skan	* config/alpha/t-crtbe (crtbegin.o): Add "-I.".
20379169689Skan	(crtend.o, crtbeginS.o, crtendS.o): Likewise.
20380169689Skan
20381169689Skan2000-04-30  Richard Henderson  <rth@cygnus.com>
20382169689Skan
20383169689Skan	* flow.c (struct reg_cond_life_info): New.
20384169689Skan	(struct propagate_block_info): Add reg_cond_dead and reg_cond_reg.
20385169689Skan	(init_propagate_block_info): Initialize them.
20386169689Skan	(free_propagate_block_info): Destruct them.
20387169689Skan	(mark_set_1): Consider conditional life before killing a register.
20388169689Skan	(mark_regno_cond_dead): New.
20389169689Skan	(free_reg_cond_life_info): New.
20390169689Skan	(flush_reg_cond_reg_1, flush_reg_cond_reg): New.
20391169689Skan	(ior_reg_cond, not_reg_cond, nand_reg_cond): New.
20392169689Skan	(mark_used_reg): Record conditional life.
20393169689Skan
20394169689Skan	* haifa-sched.c (schedule_insns): Disable death counting
20395169689Skan	sanity check for HAVE_conditional_execution.
20396169689Skan
20397169689Skan2000-04-30  Richard Henderson  <rth@cygnus.com>
20398169689Skan
20399169689Skan	* Makefile.in (TIMEVAR_H): New.
20400169689Skan	(ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it.
20401169689Skan	(timevar.h): Remove rule.
20402169689Skan
20403169689Skan2000-04-29  Richard Henderson  <rth@cygnus.com>
20404169689Skan
20405169689Skan	* config/alpha/crtend.asm: Use C comments instead of #.
20406169689Skan	* config/alpha/crtbegin.asm: Likewise.  Mark __dso_handle hidden.
20407169689Skan
20408169689Skan	* config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.
20409169689Skan
20410169689Skan2000-04-29  Zack Weinberg  <zack@wolery.cumb.org>
20411169689Skan
20412169689Skan	* cpphash.h (enum node_type: Take out T_MCONST.
20413169689Skan	(union hashval): Move into struct hashnode.
20414169689Skan	(struct hashnode): Pack tighter.  Remove file, line, col
20415169689Skan	members.
20416169689Skan	* cpphash.c: Constify most of the macro-definition structures.
20417169689Skan	(struct definition): Replace by struct object_defn
20418169689Skan	and struct funct_defn.  Put file, line, column information
20419169689Skan	here.  All users updated to match.
20420169689Skan	(_cpp_create_definition, _cpp_macroexpand): Remove special
20421169689Skan	case for #define WORD OTHERWORD.
20422169689Skan	* cpplib.c (do_undef): Remove T_MCONST case.
20423169689Skan
20424169689Skan	* cpphash.h: Move struct reflist, struct definition, and the
20425169689Skan	DEFINITION typedef to cpphash.c.  Use 'struct definition *' in
20426169689Skan	union hashval.  _cpp_free_definition takes a HASHNODE pointer.
20427169689Skan	* cpphash.c (_cpp_free_definition): Free data pointed to by
20428169689Skan	MCONST, XCONST, MACRO, and FMACRO nodes properly.
20429169689Skan	(_cpp_create_definition, del_HASHNODE): Just call
20430169689Skan	_cpp_free_definition to clear out a hashnode.
20431169689Skan	* cpplib.c (do_pragma_poison): Likewise.
20432169689Skan
20433169689SkanSat Apr 29 12:25:17 2000  Alexandre Oliva  <aoliva@cygnus.com>
20434169689Skan
20435169689Skan	* config/mn10300/mn10300.h (FIRST_DATA_REGNUM,
20436169689Skan	LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM,
20437169689Skan	FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros.
20438169689Skan	(REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM.
20439169689Skan	(REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P,
20440169689Skan	REGNO_AM33_P): Redefine in terms of the new macros.
20441169689Skan	(CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
20442169689Skan	(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
20443169689Skan	STRUCT_VALUE): Likewise.
20444169689Skan	(STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
20445169689Skan	ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise.  Moved.
20446169689Skan
20447169689SkanSat Apr 29 01:18:45 MET DST 2000  Jan Hubicka  <jh@suse.cz>
20448169689Skan
20449169689Skan	* regmove.c (struct record_stack_memrefs_data): New.
20450169689Skan	(record_stack_memrefs): New function.
20451169689Skan	(combine_stack_adjustments_for_block): Use it.
20452169689Skan
20453169689SkanSat Apr 29 01:15:27 MET DST 2000  Jan Hubicka  <jh@suse.cz>
20454169689Skan
20455169689Skan	* calls.c (calls_function_1):  Properly handle TREE_LIST expressions;
20456169689Skan	use special_function_p to detect alloca.
20457169689Skan
20458169689SkanFri Apr 28 16:30:33 2000  Marc Espie <espie@cvs.openbsd.org>
20459169689Skan
20460169689Skan	* gcc.texi: Fixes for makeinfo 4.0 --html.
20461169689Skan
20462169689Skan2000-04-28  Zack Weinberg  <zack@wolery.cumb.org>
20463169689Skan
20464169689Skan	* pcp.h: Delete file.
20465169689Skan
20466169689Skan2000-04-28  Kazu Hirata  <kazu@hxi.com>
20467169689Skan
20468169689Skan	* h8300.c (function_epilogue): Clean up flags when the last insn
20469169689Skan	in a function is a barrier.
20470169689Skan
20471169689Skan2000-04-28  Chris Demetriou  <cgd@sibyte.com>
20472169689Skan
20473169689Skan	* configure.in (sparc-hal-solaris2*): protect [] glob from
20474169689Skan	my expansion.
20475169689Skan	(mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines
20476169689Skan	rather than hard-coded constants in target_cpu_default2.
20477169689Skan	* configure: Regenerate.
20478169689Skan
20479169689Skan2000-04-28  Jason Merrill  <jason@casey.cygnus.com>
20480169689Skan
20481169689Skan	* tree.c (get_callee_fndecl): Extract the initial value from
20482169689Skan	a readonly decl.
20483169689Skan
20484169689Skan2000-04-28  Richard Henderson  <rth@cygnus.com>
20485169689Skan
20486169689Skan	* varasm.c (record_constant_1): Record the CODE_LABEL when
20487169689Skan	taking the address of a LABEL_REF.
20488169689Skan
20489169689Skan2000-04-28  Richard Henderson  <rth@cygnus.com>
20490169689Skan	    Jan Hubicka  <jh@suse.cz>
20491169689Skan
20492169689Skan	* calls.c (combine_pending_stack_adjustment_and_call): Return the
20493169689Skan	adjustment; don't do the stack adjust.
20494169689Skan	(expand_call): Call compute_argument_block_size right before
20495169689Skan	allocating the block; update comment; don't do alignment sanity
20496169689Skan	checking for sibling call; use args_size instead of
20497169689Skan	unadjusted_args_size before args_size is adjusted.  Use
20498169689Skan	combine_pending_stack_adjustment_and_call to compute stack adjust
20499169689Skan	for must_preallocate case.
20500169689Skan
20501169689Skan	* expr.c (push_block): Remove shadow `temp' in inner scope.
20502169689Skan
20503169689Skan2000-04-28  Jason Merrill  <jason@casey.cygnus.com>
20504169689Skan
20505169689Skan	* toplev.c (rest_of_compilation): Call
20506169689Skan	note_deferral_of_defined_inline_function even if the function
20507169689Skan	can't be inlined.
20508169689Skan
20509169689Skan2000-04-28  Scott Bambrough  <scottb@netwinder.org>
20510169689Skan
20511169689Skan	* cpplex.c (_cpp_scan_line): Fix buffer overwrite.
20512169689Skan
20513169689Skan2000-04-28  Richard Henderson  <rth@cygnus.com>
20514169689Skan
20515169689Skan	* toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo.
20516169689Skan
20517169689Skan2000-04-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20518169689Skan
20519169689Skan	* timevar.c (init_timevar): DeANSIfy function definition.
20520169689Skan
20521169689Skan2000-04-27  Alex Samuel  <samuel@codesourcery.com>
20522169689Skan
20523169689Skan	* Makefile.in (timevar.o): Depend on flags.h.
20524169689Skan	* timevar.c (unused_stack_instances): New variable.
20525169689Skan	(timevar_push): Take a timevar_stack_def from
20526169689Skan	unused_stack_instances if available.
20527169689Skan	(timevar_pop): Push the popped timevar_stack_def onto
20528169689Skan	unused_stack_instances.
20529169689Skan	(TIMEVAR_ENABLE): New macro.
20530169689Skan	(timevar_def): Make standalone a 1-bit field.  Add field used.
20531169689Skan	(get_time): Rename parameter to now.  Return after clearing it if
20532169689Skan	not TIMEVAR_ENABLE.
20533169689Skan	(init_timevar): Do nothing if not TIMEVAR_ENABLE.
20534169689Skan	(timevar_pop): Likewise.
20535169689Skan	(timevar_stop): Likewise.
20536169689Skan	(timevar_push): Likewise.  Mark the timing variable as used.
20537169689Skan	(timevar_start): Likewise.
20538169689Skan	(timevar_print): Do nothing if not TIMEVAR_ENABLE.  Don't print
20539169689Skan	timevars that were never used.
20540169689Skan
20541169689Skan2000-04-27  Mark Mitchell  <mark@codesourcery.com>
20542169689Skan
20543169689Skan	* c-common.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are
20544169689Skan	always TREE_READONLY.
20545169689Skan
20546169689Skan2000-04-27  Ulrich Drepper  <drepper@cygnus.com>
20547169689Skan
20548169689Skan	* i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference
20549169689Skan	for call instruction with mode QImode.
20550169689Skan
20551169689Skan2000-04-27  Alex Samuel  <samuel@codesourcery.com>
20552169689Skan
20553169689Skan	* Makefile.in (OBJS): Add timevar.o.
20554169689Skan	(toplev.o): Depend on timevar.h.
20555169689Skan	(ggc-simple.o): Likewise.
20556169689Skan	(ggc-page.o): Likewise.
20557169689Skan	(timevar.o): New rule.
20558169689Skan	(timevar.h): New rule.
20559169689Skan
20560169689Skan	* timevar.h: New file.
20561169689Skan	* timevar.c: Likewise.
20562169689Skan	* timevar.def: Likewise.
20563169689Skan
20564169689Skan	* toplev.h (gc_time, parse_time, varconst_time): Remove.
20565169689Skan	* toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR
20566169689Skan	throughout.
20567169689Skan	(TIMEVAR): Remove macro.
20568169689Skan	(gc_time, parse_time, varconst_time, integration_time, jump_time,
20569169689Skan	cse_time, gcse_time, loop_time, cse2_time, branch_prob_time,
20570169689Skan	flow_time, combine_time, regmove_time, sched_time,
20571169689Skan	local_alloc_time, global_alloc_time, flow2_time, peephole2_time,
20572169689Skan	sched2_time, dbr_sched_time, reorder_blocks_time,
20573169689Skan	rename_registers_time, shorten_branch_time, stack_reg_time,
20574169689Skan	to_ssa_time, from_ssa_time, final_time, symout_time, dump_time,
20575169689Skan	all_time): Remove.
20576169689Skan	(compile_file): Don't initialize time variables.  Call
20577169689Skan	init_timevar and start TV_TOTAL timer.  Call timevar_print instead
20578169689Skan	of many calls to print_time.
20579169689Skan	(rest_of_compilation): Add timing for reload_cse_regs.
20580169689Skan	(get_run_time): Removed to timevar.c.
20581169689Skan	(print_time): Likewise.
20582169689Skan	(get_run_time): Implement using TV_TOTAL time variable.
20583169689Skan	(print_time): Get total run time from get_run_time.
20584169689Skan	* ggc-page.c (ggc_collect): Push and pop TV_GC instead of
20585169689Skan	computing elapsed time explicitly.
20586169689Skan	* ggc-simple.c (ggc_collect): Likewise.
20587169689Skan	(gc_time): Remove declaration.
20588169689Skan
20589169689Skan2000-04-27  Mark Mitchell  <mark@codesourcery.com>
20590169689Skan
20591169689Skan	* calls.c (combine_pending_stack_adjustment_and_call): New function.
20592169689Skan	(expand_call): Use it.
20593169689Skan
20594169689Skan2000-04-27  Jan Hubicka  <jh@suse.cz>
20595169689Skan
20596169689Skan	* flow.c (mark_set_1):  Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT
20597169689Skan	fields.
20598169689Skan
20599169689SkanThu Apr 27 12:47:00 2000  Alexandre Oliva  <aoliva@cygnus.com>
20600169689Skan
20601169689Skan	* config/mn10300/mn10300.md (movhi): Simplify.  Prefer data
20602169689Skan	registers.
20603169689Skan
20604169689SkanThu Apr 27 17:33:05 MET DST 2000  Jan Hubicka  <jh@suse.cz>
20605169689Skan
20606169689Skan	* function.c (epilogue_done): Pass whole insn to record_insns.
20607169689Skan
20608169689SkanThu Apr 27 16:55:28 MET DST 2000  Jan Hubicka  <jh@suse.cz>
20609169689Skan
20610169689Skan	* cse.c (CSE_ADDRESS_COST): Remove.
20611169689Skan	(find_best_addr): Add new parameter "MODE", use address_cost instead
20612169689Skan	of CSE_ADDRESS_COST
20613169689Skan	(address_cost): New.
20614169689Skan	(fold_rtx): Update call of find_best_addr.
20615169689Skan	* rtl.h (address_cost): Declare.
20616169689Skan	* loop.c (general_induction_var): Add new parameter "MODE", use
20617169689Skan	address_cost instead of ADDRESS_COST
20618169689Skan	(init_loop): Use address_cost instead of ADDRESS_COST.
20619169689Skan	(check_insn_for_givs): Update call of general_induction_var.
20620169689Skan	(find_mem_givs): Likewise.
20621169689Skan	(consec_sets_giv): Likewise.
20622169689Skan	* config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost.
20623169689Skan	* i386.c (ix86_address_cost): New.
20624169689Skan	* i386-protos.h (ix86_address_cost): Declare.
20625169689Skan
20626169689SkanThu Apr 27 11:45:16 2000  Alexandre Oliva  <aoliva@cygnus.com>
20627169689Skan
20628169689Skan	* config/mn10300/mn10300.md (movqi): Simplify.  Prefer data
20629169689Skan	registers.
20630169689Skan
20631169689SkanThu Apr 27 16:11:00 MET DST 2000  Jan Hubicka  <jh@suse.cz>
20632169689Skan
20633169689Skan	* expr.c (store_expr): Use clear_storage instead of direct memset
20634169689Skan	libcall.
20635169689Skan
20636169689SkanThu Apr 27 10:36:51 2000  Alexandre Oliva  <aoliva@cygnus.com>
20637169689Skan
20638169689Skan	* config/mn10300/mn10300.c (mn10300_address_cost): Test
20639169689Skan	ASHIFT, AND and LABEL_REF.
20640169689Skan
20641169689SkanThu Apr 27 15:08:46 MET DST 2000  Jan Hubicka  <jh@suse.cz>
20642169689Skan
20643169689Skan	* invoke.texi (-foptimize-sibling-calls): Fix.
20644169689Skan
20645169689SkanThu Apr 27 14:54:22 MET DST 2000  Jan Hubicka  <jh@suse.cz>
20646169689Skan
20647169689Skan	* loop.c (load_mems)  Don't use hard registers for the hoisting.
20648169689Skan
20649169689Skan	* unroll.c (unroll_loop): Avoid overflow in the n_iterations
20650169689Skan	calculation; rename const_equiv array in the preconditioning code
20651169689Skan	from loop_unroll to loop_unroll_precondition
20652169689Skan
20653169689Skan2000-04-27  Richard Henderson  <rth@cygnus.com>
20654169689Skan
20655169689Skan	* flow.c (struct propagate_block_info): Remove new_dead, new_live;
20656169689Skan	add new_set.
20657169689Skan	(propagate_one_insn): Clear it.  Don't update reg_live here.
20658169689Skan	(init_propagate_block_info): Update for pbi member changes.
20659169689Skan	(free_propagate_block_info): Likewise.
20660169689Skan	(mark_set_1): Know that zero_extract, sign_extract, and
20661169689Skan	strict_low_part don't kill their argument.  Alter hard subregs.
20662169689Skan	Update new_set for non-CLOBBER sets.  Update reg_live.
20663169689Skan	(find_auto_inc): Update reg_live, not new_dead.
20664169689Skan	(mark_used_reg): Update reg_live, not new_live.  Examine new_set
20665169689Skan	to determine if the reg in question was set this insn.  Only update
20666169689Skan	reg info with PROP_REG_INFO.
20667169689Skan
20668169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20669169689Skan
20670169689Skan	* flow.c (allocate_reg_life_data): Set max_regno here ...
20671169689Skan	(life_analysis): ... not here.
20672169689Skan
20673169689Skan	* flow.c (calculate_global_regs_live): Force stack pointer
20674169689Skan	live at end.
20675169689Skan
20676169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20677169689Skan
20678169689Skan	* jump.c (redirect_exp_1): Rework from old redirect_exp.  Never
20679169689Skan	commit change group changes.
20680169689Skan	(invert_exp_1): Similarly.
20681169689Skan	(redirect_exp, invert_exp): Use them.
20682169689Skan	(redirect_jump_1): New.
20683169689Skan	(invert_jump_1): New.
20684169689Skan	(jump_optimize_1): Remove code subsumed by condexec.c.
20685169689Skan	* rtl.h (invert_jump_1, redirect_jump_1): Declare.
20686169689Skan
20687169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20688169689Skan
20689169689Skan	* rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
20690169689Skan
20691169689Skan	* genconfig.c (main): Set all HAVE_foo to 1.
20692169689Skan
20693169689Skan	* graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array.
20694169689Skan
20695169689Skan2000-04-26  Alex Samuel  <samuel@codesourcery.com>
20696169689Skan
20697169689Skan	* invoke.texi: Document -fssa flag.
20698169689Skan
20699169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20700169689Skan
20701169689Skan	* flow.c (count_reg_sets_1): Remove.
20702169689Skan	(count_reg_sets, count_reg_references): Remove.
20703169689Skan	(recompute_reg_usage): Implement with update_life_info.
20704169689Skan	Reallocate life data.
20705169689Skan
20706169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20707169689Skan
20708169689Skan	* flow.c (update_life_info): Consider blocks null to mean the
20709169689Skan	universal set.
20710169689Skan	(calculate_global_regs_live): Likewise.
20711169689Skan	(life_analysis): Do that instead of collecting all_blocks.
20712169689Skan
20713169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20714169689Skan
20715169689Skan	* flow.c (tidy_fallthru_edge): Don't delete the jump when it's
20716169689Skan	a still-valid conditional jump.
20717169689Skan
20718169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20719169689Skan
20720169689Skan	* jump.c (invert_jump): Always invert REG_BR_PROB.  Do it correctly.
20721169689Skan
20722169689Skan	* bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability.
20723169689Skan	* flow.c (calculate_loop_depth): Remove.
20724169689Skan	* output.h (calculate_loop_depth): Don't declare.
20725169689Skan	* toplev.c (rest_of_compilation): Expand calculate_loop_depth
20726169689Skan	inline; run estimate_probability at the same time.
20727169689Skan
20728169689Skan2000-04-26  Neil Booth  <NeilB@earthling.net>
20729169689Skan
20730169689Skan	* cpplib.h: "~=" is not a single pp-token.
20731169689Skan	* cpplex.c: Correct commentary.
20732169689Skan
20733169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20734169689Skan
20735169689Skan	* flow.c (mark_set_1): New arguments code and flags; update all
20736169689Skan	callers.  Track regno_first and regno_last; do HARD_REGNO_NREGS
20737169689Skan	test in one place.  Tidy flags tests.  Don't bias REG_N_REFS by
20738169689Skan	loop_depth when optimizing for size.  Do new_dead update after
20739169689Skan	emitting REG_UNUSED notes.  Merge mark_set_reg code.
20740169689Skan	(mark_set_reg): Remove.
20741169689Skan	(propagate_one_insn): Use mark_set_1 for call-clobbered registers;
20742169689Skan	arrange to not emit REG_UNUSED notes.
20743169689Skan
20744169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20745169689Skan
20746169689Skan	* flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
20747169689Skan	* ssa.c (convert_from_ssa): Don't run compute_bb_for_insn.
20748169689Skan
20749169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20750169689Skan
20751169689Skan	* flow.c (propagate_one_insn): Break out from propagate_block.
20752169689Skan	(init_propagate_block_info): Likewise.
20753169689Skan	(free_propagate_block_info): Likewise.
20754169689Skan	(propagate_block): Use them.  Export.
20755169689Skan	* basic-block.h: Declare them all.
20756169689Skan
20757169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20758169689Skan
20759169689Skan	* basic-block.h (life_analysis): Declare here ...
20760169689Skan	* output.h: ... not here.
20761169689Skan	* flow.c (life_analysis): Remove nregs parameter; replace
20762169689Skan	remove_dead_code with flags.  Remove ssa dead code check.
20763169689Skan	Only init alias analysis if we'll use it.
20764169689Skan	* reg-stack.c (reg_to_stack): Update life_analysis arguments.
20765169689Skan	* ssa.c (convert_to_ssa): Likewise.
20766169689Skan	(convert_from_ssa): Likewise.
20767169689Skan	* toplev.c (rest_of_compilation): Likewise.
20768169689Skan
20769169689Skan2000-04-26  Richard Henderson  <rth@cygnus.com>
20770169689Skan
20771169689Skan	* flow.c (flow_delete_block): Rename from delete_block.  Export.
20772169689Skan	* basic-block.h (flow_delete_block): Declare.
20773169689Skan
20774169689Skan2000-04-26  David S. Miller  <davem@redhat.com>
20775169689Skan
20776169689Skan	* optabs.c (emit_libcall_block): Verify insns with INSN_P before
20777169689Skan	taking a PATTERN of it.
20778169689Skan
20779169689Skan2000-04-26  <NeilB@earthling.net>
20780169689Skan
20781169689Skan	* cpplex.c (spell_other, spell_char): Remove.
20782169689Skan	(SPELL_CHAR): New.
20783169689Skan	(token_spelling, trigraph_map): Use unsigned chars.
20784169689Skan	(_cpp_lex_line): Tidy up the switch statement.
20785169689Skan	* cpplib.h: Implement spell_char with spell_string.
20786169689Skan	(C): New.
20787169689Skan
20788169689Skan2000-04-26  <RodneyBrown@pmsc.com>
20789169689Skan
20790169689Skan	* pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
20791169689Skan	* pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal.
20792169689Skan
20793169689Skan2000-04-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20794169689Skan
20795169689Skan	* dwarf2out.c (dw_cfi_oprnd_struct, dw_fde_struct, add_fde_cfi,
20796169689Skan	reg_save, dwarf2out_frame_debug_expr, dwarf2out_def_cfa,
20797169689Skan	dwarf2out_window_save, dwarf2out_args_size, dwarf2out_reg_save,
20798169689Skan	dwarf2out_return_save, dwarf2out_return_reg,
20799169689Skan	dwarf2out_stack_adjust, dwarf2out_frame_debug, primary_filename,
20800169689Skan	add_AT_lbl_id, add_AT_lbl_offset, type_tag, decl_start_label,
20801169689Skan	gen_compile_unit_die, dwarf2out_init): Constify a char*.
20802169689Skan
20803169689Skan	* dwarf2out.h (dwarf2out_init): Likewise.
20804169689Skan
20805169689Skan	* dwarfout.c (filename_entry, primary_filename, last_filename,
20806169689Skan	type_tag, output_compile_unit_die, dwarfout_init): Likewise.
20807169689Skan
20808169689Skan	* tree.h (dwarf2out_def_cfa, dwarf2out_window_save,
20809169689Skan	dwarf2out_args_size, dwarf2out_reg_save, dwarf2out_return_save,
20810169689Skan	dwarf2out_return_reg): Likewise.
20811169689Skan
20812169689Skan2000-04-26  Andreas Jaeger  <aj@suse.de>
20813169689Skan
20814169689Skan	* extend.texi (Function Attributes): Fix description of pure
20815169689Skan	attribute.
20816169689Skan
20817169689Skan2000-04-26  Jason Merrill  <jason@casey.cygnus.com>
20818169689Skan
20819169689Skan	* integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT
20820169689Skan	before calling rest_of_compilation.
20821169689Skan
20822169689Skan2000-04-26  Andreas Jaeger  <aj@suse.de>
20823169689Skan
20824169689Skan	* config/mips/linux.h: Remove erroneous commit of #if 0/#endif in
20825169689Skan	last patch.
20826169689Skan
20827169689Skan2000-04-25  Richard Henderson  <rth@cygnus.com>
20828169689Skan
20829169689Skan	* cse.c (cse_insn): Emit barrier after unconditional jump.
20830169689Skan
20831169689Skan	* calls.c (expand_call): Disable tail call generation once
20832169689Skan	rtx_equal_function_value_matters is false.
20833169689Skan
20834169689Skan	* reg-stack.c (convert_regs_1): Treat EDGE_ABNORMAL_CALL edges
20835169689Skan	like EDGE_EH edges.
20836169689Skan
20837169689Skan2000-04-25  Jason Merrill  <jason@casey.cygnus.com>
20838169689Skan
20839169689Skan	* dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.
20840169689Skan
20841169689Skan	* dwarfout.c (output_decl): Ignore NAMESPACE_DECLs.
20842169689Skan
20843169689Skan	* dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE
20844169689Skan	is the primary DIE for a member function.
20845169689Skan	(gen_decl_die): Call set_decl_origin_self here.
20846169689Skan	* dwarfout.c (output_decl): And here.
20847169689Skan	* integrate.c (output_inline_function): Not here.
20848169689Skan	Don't clear DECL_INLINE until after calling rest_of_compilation.
20849169689Skan	(set_decl_origin_self): No longer static.
20850169689Skan	* tree.h: Add prototype.
20851169689Skan	* toplev.c (note_deferral_of_defined_inline_function): Only write
20852169689Skan	out abstract instance for actual inlines.
20853169689Skan
20854169689Skan2000-04-25  Alexandre Oliva  <aoliva@cygnus.com>
20855169689Skan
20856169689Skan	* config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return
20857169689Skan	EXTENDED_REGS only if TARGET_AM33.
20858169689Skan	* config/mn10300/mn10300.md (movsi, addsi): Avoid exposing
20859169689Skan	SP_REGS to register allocation and reloading unless absolutely
20860169689Skan	necessary.
20861169689Skan	(movsi3): Remove special-case of adding non-constants to SP.
20862169689Skan
20863169689Skan2000-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20864169689Skan
20865169689Skan	* aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires
20866169689Skan	INCLUDES to search and does not provide any of its own.  Also it
20867169689Skan	now accepts optional ACTION-IF-NEEDED and ACTION-IF-NOT-NEEDED
20868169689Skan	parameters.  Also it does not call AC_DEFINE.
20869169689Skan	(gcc_AC_NEED_DECLARATIONS): Likewise.  Also this macro now calls
20870169689Skan	AC_DEFINE and provides for automatic entries for autoheader.
20871169689Skan	(gcc_AC_FUNC_PRINTF_PTR): Cleanup C code in test.
20872169689Skan
20873169689Skan	* configure.in (gcc_AC_NEED_DECLARATIONS): Save and restore CFLAGS
20874169689Skan	so we can pass -I flags and include gansidecl.h/system.h in this
20875169689Skan	test.
20876169689Skan
20877169689Skan	* acconfig.h: Delete all NEED_DECLARATION_* entries.
20878169689Skan
20879169689Skan2000-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20880169689Skan
20881169689Skan	* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
20882169689Skan	ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
20883169689Skan	ENABLE_GC_ALWAYS_COLLECT): Delete entries.
20884169689Skan
20885169689Skan	* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
20886169689Skan	ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
20887169689Skan	ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
20888169689Skan	for these macros.  Clean up spacing and linewraps.
20889169689Skan
20890169689Skan2000-04-26  Jason Merrill  <jason@casey.cygnus.com>
20891169689Skan
20892169689Skan	* calls.c (expand_call): Use get_callee_fndecl.
20893169689Skan
20894169689Skan	* print-tree.c (print_node): Print the chain of an _EXPR.
20895169689Skan
20896169689SkanTue Apr 25 16:16:04 2000  Andrew MacLeod  <amacleod@cygnus.com>
20897169689Skan			  Jim Wilson  <wilson@cygnus.com>
20898169689Skan			  Andrew Haley  <aph@cygnus.com>
20899169689Skan
20900169689Skan	* config/ia64/crtbegin.asm: Add IA-64 unwind support.  Correct alloc
20901169689Skan	and gp save/restore problems.
20902169689Skan	* config/ia64/crtend.asm: Add IA-64 unwind support.
20903169689Skan	* config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size
20904169689Skan	in fr_pad_size calculation.
20905169689Skan	(save_restore_insns): Move PR save area.  Correct uses of
20906169689Skan	RTX_FRAME_RELATED_P.
20907169689Skan	(ia64_expand_prologue): Mark alloc with RTX_FRAME_RELATED_P.
20908169689Skan	(ia64_expand_epilogue): Add eh_epilogue support.
20909169689Skan	(ia64_function_prologue): Emit .prologue directive.
20910169689Skan	(ia64_init_machine_status, ia64_mark_machine_status): New functions.
20911169689Skan	(ia64_override_options): Set init_machine_status and
20912169689Skan	mark_machine_status.
20913169689Skan	(rtx_needs_barrier): Handle bsp reads and writes.
20914169689Skan	(spill_offset, sp_offset, spill_offset_emitted, tmp_reg, tmp_saved):
20915169689Skan	New static variables.
20916169689Skan	(process_set, process_for_unwind_directive): New functions.
20917169689Skan	* config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR, ASM_OUTPUT_XDATA_SHORT,
20918169689Skan	ASM_OUTPUT_XDATA_INT, ASM_OUTPUT_XDATA_DOUBLE_INT, ASM_OUTPUT_EH_CHAR,
20919169689Skan	ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT, ASM_OUTPUT_EH_DOUBLE_INT): New
20920169689Skan	macros.
20921169689Skan	(EH_FRAME_SECTION_ASM_OP): Define to IA_64.unwind section.
20922169689Skan	(IA64_UNWIND_INFO, HANDLER_SECTION, IA64_UNWIND_EMIT): Define.
20923169689Skan	(struct machine_function): Define.
20924169689Skan	* config/ia64/ia64.md (bsp_value, set_bsp, eh_epilogue): New patterns.
20925169689Skan
20926169689Skan2000-04-25  Bruce Korb  <bkorb@gnu.org>
20927169689Skan
20928169689Skan	* fixinc/Makefile.in: make the removal of old programs more
20929169689Skan	robust
20930169689Skan	* fixinc/mkfixinc.sh: use the two new targets in the Makefile:
20931169689Skan	install-bin and install-sh
20932169689Skan
20933169689Skan2000-04-25  Nick Clifton  <nickc@cygnus.com>
20934169689Skan
20935169689Skan	* integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): If not
20936169689Skan	defined, define to return zero.
20937169689Skan	(function_cannot_inline_p): If a function has any target
20938169689Skan	specific attributes, then use the macro
20939169689Skan	FUNCTION_ATTRIBUTE_INLINABLE_P to allow the target to decide
20940169689Skan	whether it can be inlined.  If it cannot, issue a suitable
20941169689Skan	explanation.
20942169689Skan
20943169689Skan	* tm.texi: Add a new node 'Inlining' to document the new macro
20944169689Skan	FUNCTION_ATTRIBUTE_INLINABLE_P.
20945169689Skan
20946169689Skan2000-04-25  Zack Weinberg  <zack@wolery.cumb.org>
20947169689Skan
20948169689Skan	* cpplib.h (struct cpp_buffer): Add 'mapped' flag; fix
20949169689Skan	commentary.
20950169689Skan
20951169689Skan2000-04-25  Neil Booth  <NeilB@earthling.net>
20952169689Skan
20953169689Skan	Restore previous patch, plus the following fixes:
20954169689Skan
20955169689Skan	* cpphash.c (_cpp_create_definition): Test PREV_WHITESPACE in
20956169689Skan	flags, not CPP_OPEN_PAREN.
20957169689Skan	* cpplex.c (expand_token_space, init_token_list,
20958169689Skan	cpp_free_token_list): Put the dummy token at list->tokens[-1].
20959169689Skan	(_cpp_lex_line, _cpp_lex_file): token list is 0-based.
20960169689Skan
20961169689SkanTue Apr 25 14:06:40 2000  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
20962169689Skan
20963169689Skan	* config/i386/freebsd.h (INT_ASM_OP): Define.
20964169689Skan
20965169689SkanTue Apr 25 14:51:07 MET DST 2000  Jan Hubicka  <jh@suse.cz>
20966169689Skan
20967169689Skan	* loop.c (strength_reduce): Fix typo in the last checkin.
20968169689Skan
20969169689SkanTue Apr 25 07:33:12 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
20970169689Skan
20971169689Skan	* stor-layout.c (finalize_record_size): Simplify to use existing
20972169689Skan	functions.
20973169689Skan	(compute_record_mode): No longer static.
20974169689Skan	* tree.h (compute_record_mode): New declaration.
20975169689Skan
20976169689Skan2000-04-25  Neil Booth  <NeilB@earthling.net>
20977169689Skan
20978169689Skan	* Revert my patch below until cause of build failures
20979169689Skan	determined.
20980169689Skan
20981169689Skan2000-04-25  Richard Henderson  <rth@cygnus.com>
20982169689Skan
20983169689Skan	* combine.c (combine_instructions): Add missing argument
20984169689Skan	to try_combine.
20985169689Skan
20986169689Skan	* toplev.c (rest_of_compilation): Delay sibcall optimization
20987169689Skan	until after emit_eh_context.
20988169689Skan
20989169689Skan2000-04-24  Nick Clifton  <nickc@redhat.com>
20990169689Skan
20991169689Skan	* combine.c (combine_instructions): Do not try to combine a
20992169689Skan	sequence of insns when the second insn has been replaced by a
20993169689Skan	note.
20994169689Skan
20995169689SkanMon Apr 24 17:34:18 2000  Mumit Khan  <khan@xraylith.wisc.edu>
20996169689Skan
20997169689Skan	* gcc.c (load_specs): New static function.
20998169689Skan	(read_specs): Use it.
20999169689Skan
21000169689Skan	* gcc.c (lookup_compiler): Make multiple passes for case
21001169689Skan	insensitive filesystems.
21002169689Skan
21003169689Skan2000-04-24  Neil Booth  <NeilB@earthling.net>
21004169689Skan
21005169689Skan	* cpphash.c: replace HSPACE_BEFORE with PREV_WHITESPACE.
21006169689Skan	* cpphash.h (_cpp_check_directive): new.
21007169689Skan	* cpplex.c (handle_newline, cpp_free_token_list,
21008169689Skan	init_trigraph_map, trigraph_ok, trigraph_replace,
21009169689Skan	backslash_start, skip_block_comment, skip_line_comment,
21010169689Skan	skip_whitespace, parse_name, parse_number, parse_string,
21011169689Skan	copy_comment, _cpp_lex_line, spell_char, spell_string,
21012169689Skan	spell_comment, spell_name, spell_other, _cpp_lex_file,
21013169689Skan	_cpp_output_list): new.
21014169689Skan	(expand_name_space): take length argument.
21015169689Skan	(init_token_list): add comment list initialisation.
21016169689Skan	(cpp_scan_line): use auto_expand_name_space.  PREV_WHITESPACE
21017169689Skan	instead of HSPACE_BEFORE.
21018169689Skan
21019169689Skan	* cpplib.c (_cpp_check_directive): new
21020169689Skan	* cpplib.h (cpp_name, PREV_WHITESPACE, PREV_COMMENT,
21021169689Skan	DIGRAPH, UNSIGNED_INT, TOK_NAME): new.
21022169689Skan	(HSPACE_BEFORE): delete.
21023169689Skan	(TTYPE_TABLE): rearrange.
21024169689Skan	(struct cpp_toklist): update.
21025169689Skan
21026169689Skan2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21027169689Skan
21028169689Skan	* aclocal.m4 (gcc_AC_HEADER_STRING, gcc_AC_FUNC_PRINTF_PTR,
21029169689Skan	gcc_AC_C_VOLATILE, gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG): Use the three
21030169689Skan	argument form of AC_DEFINE.
21031169689Skan
21032169689Skan	* configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER,
21033169689Skan	HAVE_INTTYPES_H, PACKAGE, VERSION, ENABLE_WIN32_REGISTRY,
21034169689Skan	WIN32_REGISTRY_KEY, HAVE_GAS_SUBSECTION_ORDERING, HAVE_GAS_WEAK,
21035169689Skan	HAVE_GAS_HIDDEN, HAVE_AS_REGISTER_PSEUDO_OP, AS_SPARC64_FLAG,
21036169689Skan	HAVE_AS_OFFSETABLE_LO10, ENABLE_NEW_GXX_ABI): Likewise.
21037169689Skan
21038169689Skan	* acconfig.h: Delete stubs made redundant by 3-arg AC_DEFINE.
21039169689Skan
21040169689Skan2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21041169689Skan
21042169689Skan	* Makefile.in (GCC_FOR_TARGET, GCC_CFLAGS, LIBGCC2_INCLUDES,
21043169689Skan	deduced.h): Use -isystem, not -I, for including system headers.
21044169689Skan
21045169689Skan2000-04-24  Nick Clifton  <nickc@cygnus.com>
21046169689Skan
21047169689Skan	* config/fr30/fr30.md (addsi3): Do not use small add instruction if
21048169689Skan	the source register is the frame pointer or arg pointer.
21049169689Skan	(addsi3_small_int): Disallow if source register is the frame
21050169689Skan	pointer or arg pointer.
21051169689Skan
21052169689Skan2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21053169689Skan
21054169689Skan	* configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Delete redundant
21055169689Skan	call to AC_MSG_RESULT.
21056169689Skan
21057169689Skan2000-04-24  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
21058169689Skan
21059169689Skan	* invoke.texi: Correct grammatical errors, document
21060169689Skan	-fno-gnu-keywords as identical to -fno-asm for C++.
21061169689Skan
21062169689Skan2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21063169689Skan
21064169689Skan	* aclocal.m4: (GCC_HEADER_STRING, GCC_NEED_DECLARATION,
21065169689Skan	GCC_NEED_DECLARATIONS, GCC_FUNC_VFPRINTF_DOPRNT,
21066169689Skan	GCC_FUNC_PRINTF_PTR, GCC_PROG_LN_S, GCC_PROG_LN, GCC_C_VOLATILE,
21067169689Skan	AC_GCC_C_LONG_DOUBLE, GCC_FUNC_MKDIR_TAKES_ONE_ARG,
21068169689Skan	EGCS_PROG_INSTALL): Rename autoconf macros with prefix gcc_AC_.
21069169689Skan
21070169689Skan	* configure.in (AC_GCC_C_LONG_DOUBLE, GCC_PROG_LN, GCC_PROG_LN_S,
21071169689Skan	GCC_C_VOLATILE, EGCS_PROG_INSTALL, GCC_HEADER_STRING,
21072169689Skan	GCC_FUNC_VFPRINTF_DOPRNT, GCC_FUNC_PRINTF_PTR,
21073169689Skan	GCC_NEED_DECLARATIONS, GCC_FUNC_MKDIR_TAKES_ONE_ARG): Invoke with
21074169689Skan	new macros names.
21075169689Skan
21076169689Skan2000-04-24  Mumit Khan  <khan@xraylith.wisc.edu>
21077169689Skan
21078169689Skan	* c-pragma.c (push_alignment): Use BITS_PER_UNIT macro.
21079169689Skan	(pop_alignment): Likewise.
21080169689Skan	(handle_pragma_token): Likewise.
21081169689Skan
21082169689Skan2000-04-24  Robert Lipe <robertlipe@usa.net>
21083169689Skan
21084169689Skan	* tree.h (tree_decl): Member `mode' now ENUM_BITFIELD.
21085169689Skan
21086169689Skan2000-04-24  Hiroyuki Machida <machida@sm.sony.co.jp>
21087169689Skan
21088169689Skan	* combine.c (try_combine): Update reg_nonzero_bits of
21089169689Skan	newi2pat before newpat.
21090169689Skan
21091169689SkanMon Apr 24 10:19:48 MET DST 2000  Jan Hubicka  <jh@suse.cz>
21092169689Skan
21093169689Skan	* loop.c (strength_reduce): Simplify test to INSN_P.
21094169689Skan	(record_giv): Attempt to simplify the add value, use CONSTANT_P
21095169689Skan	expressions instead of CONST_INT.
21096169689Skan	(express_from_1): Likewise.
21097169689Skan
21098169689Skan2000-04-24  Mark Mitchell  <mark@codesourcery.com>
21099169689Skan
21100169689Skan	* regs.h (reg_n_max): Don't declare.
21101169689Skan	* flow.c (reg_n_max): Don't define.
21102169689Skan	* regclass.c (renumber): Don't initialize to zero.
21103169689Skan	(regno_allocated): Likewise.
21104169689Skan	(reg_n_max): Define.
21105169689Skan	(allocate_reg_info): Don't initialize unnecessarily.
21106169689Skan
21107169689SkanMon Apr 24 00:21:36 2000  Jeffrey A Law  (law@cygnus.com)
21108169689Skan
21109169689Skan	* genattrtab.c (find_attr): Initialize unsigned_p, func_units_p
21110169689Skan	and blockage_p in the newly allocated attribute.
21111169689Skan
21112169689SkanSun Apr 23 20:16:49 2000  Alexandre Oliva  <aoliva@cygnus.com>
21113169689Skan
21114169689Skan	* config/mn10300/mn10300.md (addsi): `inc4' on address
21115169689Skan	registers does not modify cc, but `inc' on an extended
21116169689Skan	register does.
21117169689Skan
21118169689SkanSun Apr 23 16:24:35 2000  Denis Chertykov  <denisc@overta.ru>
21119169689Skan
21120169689Skan	* reload.c (find_equiv_reg): Checks all valueno regs
21121169689Skan	as a reload_reg_p regs.
21122169689Skan
21123169689Skan2000-04-23  Zack Weinberg  <zack@wolery.cumb.org>
21124169689Skan
21125169689Skan	* cpphash.c (collect_objlike_expansion): Add sanity check.
21126169689Skan	(special_symbol): Remove case T_CONST, T_XCONST, T_MCONST.  If
21127169689Skan	the buffer is the empty string, return.  Mark __DATE__ and
21128169689Skan	__TIME__ as XCONST nodes, not MCONST.
21129169689Skan	(_cpp_macroexpand): Avoid pushing an empty buffer.
21130169689Skan	(funlike_macroexpand): Don't pop token_buffer here.
21131169689Skan
21132169689SkanSun Apr 23 18:37:53 2000  Alexandre Oliva  <aoliva@cygnus.com>
21133169689Skan
21134169689Skan	* config/mn10300/mn10300.h (REGNO_IN_RANGE_P): New macro.
21135169689Skan	(REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P): New macros.
21136169689Skan	(REGNO_EXTENDED_P, REGNO_AM33_P): New macros.
21137169689Skan	(REGNO_OK_FOR_BASE_P): Define in terms of them.
21138169689Skan	(REGNO_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P): Likewise.
21139169689Skan	(REG_OK_FOR_BASE_P): Define in terms of the REGNO macro.
21140169689Skan	(REG_OK_FOR_BIT_BASE_P, REG_OK_FOR_INDEX_P): Likewise.
21141169689Skan
21142169689SkanSun Apr 23 22:23:08 MET DST 2000  Jan Hubicka  <jh@suse.cz>
21143169689Skan
21144169689Skan	* loop.c (simplify_giv_expr):  Be more agressive on simplifying
21145169689Skan	constant MULT givs.
21146169689Skan
21147169689Skan2000-04-23  Zack Weinberg  <zack@wolery.cumb.org>
21148169689Skan
21149169689Skan	* cpphash.h (struct definition): Move file, line, col members...
21150169689Skan	(struct hashnode): ... here.  Also add 'disabled' flag.
21151169689Skan	(enum node_type): Add T_VOID, T_XCONST, T_FMACRO, and
21152169689Skan	T_IDENTITY.  Remove T_DISABLED.
21153169689Skan	Update prototypes.
21154169689Skan
21155169689Skan	* cpphash.c (_cpp_dump_definition): Split out dump_DEFINITION.
21156169689Skan	(collect_expansion): Split into collect_objlike_expansion and
21157169689Skan	collect_funlike_expansion.
21158169689Skan	(_cpp_macroexpand): Split out scan_arguments, stringify, and
21159169689Skan	funlike_macroexpand.
21160169689Skan	(_cpp_compare_defs): Rename compare_defs, make static.
21161169689Skan	(_cpp_make_hashnode): Initialize hp->disabled.
21162169689Skan	(macro_cleanup): Adjust for new token types.  Clear
21163169689Skan	m->disabled.
21164169689Skan	(_cpp_create_definition): Move code here to determine what
21165169689Skan	sort of macro it is, and code to check for redefinitions, from
21166169689Skan	do_define.  Implement a few simple cases without creating a
21167169689Skan	full DEFINITION.
21168169689Skan	(_cpp_macroexpand, special_symbol, _cpp_dump_definition):
21169169689Skan	Handle the simple cases.
21170169689Skan	(push_macro_expansion): Set buf->has_escapes and hp->disabled
21171169689Skan	here.
21172169689Skan
21173169689Skan	* cppinit.c (builtin_array): Change MCONST to XCONST
21174169689Skan	everywhere.
21175169689Skan	* cpplex.c (maybe_macroexpand): Handle IDENTITY macros here;
21176169689Skan	fix check for disabled and function-like macros.
21177169689Skan	* cpplib.c (do_define): Move most logic to
21178169689Skan	_cpp_create_definition.
21179169689Skan	(do_undef): Handle new special token types.
21180169689Skan
21181169689SkanSun Apr 23 14:27:44 MET DST 2000  Jan Hubicka  <jh@suse.cz>
21182169689Skan
21183169689Skan	* loop.c (maybe_eliminate_biv_1): Use GET_CODE (x) == CONST_INT instead
21184169689Skan	of CONSTANT_P for mult_val; always use validate_change to update insn.
21185169689Skan
21186169689Skan2000-04-22  Zack Weinberg  <zack@wolery.cumb.org>
21187169689Skan
21188169689Skan	* cpphash.c (trad_stringify, add_pat): New functions.
21189169689Skan	(collect_expansion): Restore support for -traditional syntax.
21190169689Skan	Use trad_stringify and add_pat.
21191169689Skan	(_cpp_macroexpand): Restore support for -traditional semantics.
21192169689Skan	* cpplex.c (_cpp_scan_line): Don't change space_before if we
21193169689Skan	get a COMMENT token.
21194169689Skan	(_cpp_lex_token): Provide COMMENT tokens to caller if
21195169689Skan	traditional and parsing_define_directive.
21196169689Skan	(skip_comment): Warn about // comments if -Wtraditional.
21197169689Skan	* cpplib.c (do_define): Fix typo.  Create EMPTY nodes with
21198169689Skan	proper node type.
21199169689Skan	(do_undef): Don't warn about undefining EMPTY nodes.
21200169689Skan
21201169689SkanSat Apr 22 22:35:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
21202169689Skan
21203169689Skan	* loop.c (strength_reduce): Fix biv removal code.
21204169689Skan
21205169689Skan2000-04-22  Richard Henderson  <rth@cygnus.com>
21206169689Skan
21207169689Skan	* predict.c (estimate_probability): Examine both sides of
21208169689Skan	a branch for no exits.  Use 90% not 50% for predict taken.
21209169689Skan	Reorg for one copy of note generation code.
21210169689Skan
21211169689Skan2000-04-22  Richard Henderson  <rth@cygnus.com>
21212169689Skan
21213169689Skan	* flow.c (mark_used_reg): Hack around rs6000 eliminable pic reg.
21214169689Skan
21215169689Skan2000-04-22  Richard Henderson  <rth@cygnus.com>
21216169689Skan
21217169689Skan	* diagnostic.c (init_output_buffer): Don't initialize format_args.
21218169689Skan	(output_clear): Likewise.
21219169689Skan	(output_printf): Use va_copy.
21220169689Skan	(vline_wrapper_message_with_location): Likewise.
21221169689Skan	(v_message_with_decl): Likewise.
21222169689Skan	(line_wrapper_printf): VA_START infor buffer.format_args directly.
21223169689Skan	* system.h (va_copy): Provide default implementation.
21224169689Skan
21225169689Skan2000-04-22  Richard Henderson  <rth@cygnus.com>
21226169689Skan
21227169689Skan	* predict.c (expected_value_to_br_prob): Don't bomb if op1 of
21228169689Skan	the collected condition is not a constant.
21229169689Skan
21230169689Skan2000-04-22  Gabriel Dos Reis  <gdr@codesourcery.com>
21231169689Skan
21232169689Skan	* diagnostic.h: New file.
21233169689Skan
21234169689Skan	* Makefile.in (diagnostic.o): Depends on diagnostic.h
21235169689Skan
21236169689Skan	* diagnostic.c: Tweak.  Rationalize the output logic.  Adjust
21237169689Skan	various function prototypes.
21238169689Skan	(diagnostic.h): #include.
21239169689Skan	(struct output_buffer): Move into diagnostic.h.
21240169689Skan	(get_output_prefix): Rename to output_get_prefix.  Export.
21241169689Skan	(init_output_buffer): Export. Break out.  Adjust initialization.
21242169689Skan	(output_space_left, output_append): Export.
21243169689Skan	(output_newline): Rename to output_add_newline.  Export.
21244169689Skan	(output_clear): Nullify additional output_buffer fields.
21245169689Skan	(output_puts): Rename to output_add_string.  Export.
21246169689Skan	(dump_output): Rename to output_flush_on.  Export.
21247169689Skan	(build_location_prefix): Constify return-type.
21248169689Skan	(emit_output_prefix): Rename to output_emit_prefix. Export.
21249169689Skan	(set_real_maximum_length): New function.
21250169689Skan	(output_set_maximum_length): Ditto
21251169689Skan	(output_clear): Ditto.
21252169689Skan	(output_add_character): Ditto.
21253169689Skan	(output_add_integer): Ditto.
21254169689Skan	(output_add_space): Ditto.
21255169689Skan	(output_format): Ditto.
21256169689Skan	(output_printf): Adjust buffer initialization.
21257169689Skan	(vline_wrapper_message_with_location): Ditto.
21258169689Skan	(v_message_with_decl): Ditto.  Adjust call to output_puts
21259169689Skan	and get_output_prefix.
21260169689Skan	(default_print_error_function): Adjust buffer initialization.
21261169689Skan
21262169689SkanSat Apr 22 06:45:04 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21263169689Skan
21264169689Skan	* expr.c (preexpand_calls, case CALL_EXPR): Don't look at TYPE_SIZE
21265169689Skan	of VOID_TYPE.
21266169689Skan
21267169689SkanFri Apr 21 18:33:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
21268169689Skan
21269169689Skan	* config/mn10300/mn10300.h (REGNO_REG_CLASS): Use NO_REGS instead
21270169689Skan	of explicit 0.
21271169689Skan
21272169689SkanFri Apr 21 18:30:00 2000  Alexandre Oliva  <aoliva@cygnus.com>
21273169689Skan
21274169689Skan	* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Provide more
21275169689Skan	accurate data about SP moves.
21276169689Skan
21277169689SkanFri Apr 21 18:28:28 2000  Alexandre Oliva  <aoliva@cygnus.com>
21278169689Skan
21279169689Skan	* config/mn10300/mn10300.h (ADDITIONAL_REGISTER_NAMES): Added
21280169689Skan	aliases to AM33 registers.
21281169689Skan
21282169689SkanFri Apr 21 18:26:17 2000  Alexandre Oliva  <aoliva@cygnus.com>
21283169689Skan
21284169689Skan	* config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Added register 16
21285169689Skan	to all EXTENDED bitmaps.
21286169689Skan
21287169689SkanFri Apr 21 18:17:12 2000  Alexandre Oliva  <aoliva@cygnus.com>
21288169689Skan
21289169689Skan	* config/mn10300/mn10300-protos.h (mn10300_address_cost): Declare.
21290169689Skan	* config/mn10300/mn10300.h (ADDRESS_COST): New macro.
21291169689Skan	* config/mn10300/mn10300.c (mn10300_address_cost): New function.
21292169689Skan
21293169689SkanFri Apr 21 18:11:56 2000  Alexandre Oliva  <aoliva@cygnus.com>
21294169689Skan
21295169689Skan	* config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when
21296169689Skan	the operand is not constant.
21297169689Skan
21298169689SkanFri Apr 21 14:58:29 2000  Denis Chertykov  <denisc@overta.ru>
21299169689Skan
21300169689Skan	* reload.c (find_equiv_reg): Checks all valueno and regno regs
21301169689Skan	as a call-clobbered regs.
21302169689Skan
21303169689SkanFri Apr 21 13:30:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21304169689Skan
21305169689Skan	* rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG.
21306169689Skan	* rtl.h: Likewise.
21307169689Skan	* rtl.def: Update comment.
21308169689Skan	* function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER.
21309169689Skan	* integrate.c (expand_inline_function): Likewise.
21310169689Skan	* profile.c (branch_prob): Likewise.
21311169689Skan	* ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG.
21312169689Skan	* print-rtl.c (print_rtx): Likewise.
21313169689Skan	* haifa-sched.c (sched_analyze, unlink_other_notes): Likewise.
21314169689Skan	(reemit_notes): Likewise; also use enum insn_note.
21315169689Skan
21316169689Skan	* stor-layout.c (layout_decl): Only set DECL_MODE if not already set.
21317169689Skan	(place_field): Properly compute know and actual alignment.
21318169689Skan
21319169689Skan	* gengenrtl.c (gencode): Write obstack_alloc_rtx function start
21320169689Skan	in proper format.
21321169689Skan
21322169689Skan	* cse.c (cse_insn): In (set REG0 REG1) case, remove a REG_EQUAL
21323169689Skan	note for REG1.
21324169689Skan
21325169689Skan2000-04-21  Zack Weinberg  <zack@wolery.cumb.org>
21326169689Skan
21327169689Skan	* cpphash.c (struct arg, struct arglist): Const-ify strings.
21328169689Skan	(warn_trad_stringify, duplicate_arg_p): New helper functions.
21329169689Skan	(collect_expansion): Rewrite to scan over a token list.
21330169689Skan	Remove -traditional support.
21331169689Skan	(collect_formal_parameters): Rename to collect_params; rewrite
21332169689Skan	to scan over a token list.
21333169689Skan	(_cpp_create_definition): Adjust to scan a token list.
21334169689Skan	(_cpp_macroexpand): Remove -traditional support.
21335169689Skan	(_cpp_compare_defs): Whitespace is now canonicalized.
21336169689Skan	(comp_def_part): Delete function.
21337169689Skan
21338169689Skan	* cpphash.h: Update prototypes.
21339169689Skan	* cpplex.c (init_token_list): Don't set lineno if there is no
21340169689Skan	buffer.
21341169689Skan	(pedantic_whitespace): New function.
21342169689Skan	(_cpp_scan_line): Mark tokens that had hspace before.  Don't
21343169689Skan	consume a newline.  Use pedantic_whitespace.
21344169689Skan	(_cpp_lex_token): Remove support for -traditional macros.
21345169689Skan	(_cpp_get_define_token): Delete.
21346169689Skan	(_cpp_get_directive_token): Do the real work here.  Use
21347169689Skan	pedantic_whitespace.
21348169689Skan	(_cpp_init_input_buffer): Initialize pfile->directbuf.
21349169689Skan
21350169689Skan	* cpplib.c (get_macro_name): Delete.
21351169689Skan	(do_define): Read the entire line into pfile->directbuf, then
21352169689Skan	feed the token list to _cpp_create_definition.
21353169689Skan	* cpplib.h (HSPACE_BEFORE): new define.
21354169689Skan	(struct cpp_reader): Add a toklist member, "directbuf".
21355169689Skan
21356169689Skan	* predict.c (estimate_probability): New heuristic: if a jump
21357169689Skan	branches around a block with no successors, predict it taken.
21358169689Skan	Disentangle control flow.
21359169689Skan
21360169689Skan2000-04-20  Richard Henderson  <rth@cygnus.com>
21361169689Skan
21362169689Skan	* loop.c (emit_iv_add_mult): Revert last change.
21363169689Skan
21364169689Skan2000-04-20  Zack Weinberg  <zack@wolery.cumb.org>
21365169689Skan
21366169689Skan	* cpplib.h (enum cpp_ttype): Add token types for all
21367169689Skan	punctuators.  Distinguish pp-numbers from valid C numbers.
21368169689Skan	Give some tokens better names.  Initialize from macro.
21369169689Skan	(struct cpp_name, cpp_token, cpp_toklist): New data
21370169689Skan	structures.
21371169689Skan	Update prototypes.
21372169689Skan	* cpplex.c (bump_column, expand_name_space,
21373169689Skan	expand_token_space, init_token_list, cpp_output_list,
21374169689Skan	_cpp_scan_line):  New functions.
21375169689Skan	(output_line_command): Add third argument, new line number.
21376169689Skan	* cpphash.h: Update prototypes.
21377169689Skan	* cppexp.c, cpphash.c, cpplib.c, scan-decls.c: Update for new
21378169689Skan	token names.
21379169689Skan
21380169689Skan2000-04-20  Richard Henderson  <rth@cygnus.com>
21381169689Skan
21382169689Skan	* config/alpha/alpha.c (alpha_emit_floatuns): Emit missing barrier.
21383169689Skan
21384169689Skan2000-04-20  Zack Weinberg  <zack@wolery.cumb.org>
21385169689Skan
21386169689Skan	* c-common.c (decl_attributes) [A_ALIAS]: Set TREE_USED on the
21387169689Skan	object pointed to.
21388169689Skan
21389169689SkanThu Apr 20 14:19:18 MET DST 2000  Jan Hubicka  <jh@suse.cz>
21390169689Skan
21391169689Skan	* loop.c (emit_iv_add_mult):  Simplify it's input and emit
21392169689Skan	REG_EQUAL note explaining the calculated value.
21393169689Skan
21394169689Skan	* calls.c (expand_call): Avoid unnecesary precalculation
21395169689Skan	and outgoing parameters space guarding for sibling calls.
21396169689Skan	(store_one_arg): Likewise.
21397169689Skan
21398169689SkanThu Apr 20 08:01:07 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21399169689Skan
21400169689Skan	* toplev.c (enum dump_file_index, dump_file): Add DFI_sibling.
21401169689Skan	(rest_of_compilation): Write sibling dump file and account
21402169689Skan	for time as jump time.
21403169689Skan	* invoke.texi: Update documentation on dump flags.
21404169689Skan
21405169689Skan2000-04-19  Marek Michalkiewicz  <marekm@linux.org.pl>
21406169689Skan
21407169689Skan	* avr.c: #include "system.h" instead of <stdio.h> and <stdlib.h>.
21408169689Skan
21409169689Skan2000-04-19  Zack Weinberg  <zack@wolery.cumb.org>
21410169689Skan
21411169689Skan	* cpphash.c (special_symbol): Represent an empty macro with
21412169689Skan	"\r \r " not just "\r ".
21413169689Skan	(_cpp_macroexpand): Correct condition for the foo ( ) special
21414169689Skan	case.
21415169689Skan	(unsafe_chars): Handle EOF as second argument.
21416169689Skan	(push_macro_expansion): Simplify test for removing escape at
21417169689Skan	end.  Do not trim both escapes if there is no text in between.
21418169689Skan
21419169689Skan2000-04-19  Jim Blandy  <jimb@redhat.com>
21420169689Skan
21421169689Skan	* dwarf2out.c (DWARF2_ADDR_SIZE): New macro.  Use it instead
21422169689Skan	of PTR_SIZE, when appropriate.
21423169689Skan
21424169689Skan2000-04-19  Mark Mitchell  <mark@codesourcery.com>
21425169689Skan
21426169689Skan	* system.h (ONLY_INT_FIELDS): Make sure it is defined.
21427169689Skan	(USE_ENUM_BITFIELDS): Fix typo.
21428169689Skan
21429169689SkanWed Apr 19 12:14:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21430169689Skan
21431169689Skan	* stor-layout.c (place_field): Set rli->offset_align properly.
21432169689Skan
21433169689Skan2000-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21434169689Skan
21435169689Skan	* mips.h (BITS_PER_WORD, UNITS_PER_WORD, UNITS_PER_FPREG,
21436169689Skan	INT_TYPE_SIZE, LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY,
21437169689Skan	PARM_BOUNDARY): Remove unnecessary casts.
21438169689Skan
21439169689SkanWed Apr 19 12:02:37 MET DST 2000  Jan Hubicka  <jh@suse.cz>
21440169689Skan
21441169689Skan	* calls.c (precompute_arguments): Remove must_preallocate and
21442169689Skan	args_size calls.
21443169689Skan	(expand_call): Update call of precompute_arguments.
21444169689Skan
21445169689Skan	* loop.c (check_insn_for_bivs, for_every_insn_in_loop,
21446169689Skan	check_insn_for_givs): Break out from ...
21447169689Skan	(strength_reduce) ... here; use for_every_insn_in_loop to call
21448169689Skan	check_insn_for_givs.
21449169689Skan	* loop.h (for_every_insn_in_loop): Declare.
21450169689Skan	(loop_insn_callback): New type.
21451169689Skan
21452169689Skan2000-04-18  Zack Weinberg  <zack@wolery.cumb.org>
21453169689Skan
21454169689Skan	* cpplib.c (do_pragma_poison):  Strings in the token buffer are
21455169689Skan	not nul-terminated.
21456169689Skan
21457169689SkanTue Apr 18 16:04:12 2000  Jim Wilson  <wilson@cygnus.com>
21458169689Skan
21459169689Skan	* config/ia64/sysv4.h (SELECT_SECTION): Use data_section if
21460169689Skan	flag_pic and RELOC.
21461169689Skan
21462169689Skan2000-04-18  Zack Weinberg  <zack@wolery.cumb.org>
21463169689Skan
21464169689Skan	* cccp.c, cexp.y, cexp.c, cccp.1: Removed.
21465169689Skan
21466169689Skan	* configure.in: Delete --disable-cpplib option and all
21467169689Skan	references to cpp_main.
21468169689Skan	* configure: Regenerate.
21469169689Skan	* Makefile.in: Remove all references to CCCP, CCCP_OBJS,
21470169689Skan	@cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o,
21471169689Skan	cccp.o, cccp, or cppmain.  Link cppmain.o straight to
21472169689Skan	cpp$(exeext).  Add --no-headers to makeinfo command line when
21473169689Skan	generating INSTALL.  Install and uninstall cpp.1 manpage, not
21474169689Skan	cccp.1.
21475169689Skan	* install.texi: Delete all references to cexp.y/cexp.c.
21476169689Skan	Delete ancient instructions for compiling GCC on 3b1.
21477169689Skan	* INSTALL: Regenerate.
21478169689Skan
21479169689Skan	* cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c, mips/t-ecoff,
21480169689Skan	mips/t-elf, mips/t-r3900: Remove references to cccp.c.
21481169689Skan	* convex.h, fx80.h, m68k.h, pdp11.h: Remove references to
21482169689Skan	cexp.c/cexp.y.
21483169689Skan	* xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING,
21484169689Skan	which is no longer tested anywhere.
21485169689Skan
21486169689Skan	* cppinit.c (handle_option): Don't run error message through
21487169689Skan	gettext twice.
21488169689Skan
21489169689SkanTue Apr 18 14:16:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21490169689Skan
21491169689Skan	* conflict.c (conflict_graph_add): Pass enum type to htab_find_slot.
21492169689Skan	* cpperror.c (hashtab.h): Now include.
21493169689Skan	* cppexp.c (hashtab.h): Likewise.
21494169689Skan	* cpplex.c (hashtab.h): Likewise.
21495169689Skan	* cppfiles.c (hashtab.h): Likewise.
21496169689Skan	(find_include_file, _cpp_calc_hash, cpp_read_file): Pass enum type
21497169689Skan	to htab_find_slot_with_hash.
21498169689Skan	* cpphash.c (hashtab.h): Now include.
21499169689Skan	(_cpp_lookup_slot): INSERT is now enum insert_option.
21500169689Skan	* cpphash.h (_cpp_lookup_slot): Likewise.
21501169689Skan	* cppinit.c (hashtab.h): Include earlier.
21502169689Skan	(initialize_builtins): Pass enum to htab_find_slot.
21503169689Skan	* cpplib.c (hashtab.h): Now include.
21504169689Skan	(do_define, do_undef): Pass enum type to _cpp_lookup_slot.
21505169689Skan	(do_pragma_poison, do_assert): Likewise.
21506169689Skan	* emit-rtl.c (gen_rtx_CONST_INT): Pass enum to
21507169689Skan	htab_find_slot_with_hash.
21508169689Skan	* simplify-rtx.c (cselib_lookup_mem, cselib_lookup): Likewise.
21509169689Skan	* tree.c (type_hash_add): Likewise.
21510169689Skan	(build1): Minor cleanup.
21511169689Skan
21512169689Skan	* ggc-common.c: Add missing blanks.
21513169689Skan	* print-tree.c (print_node): Print DECL_OFFSET_ALIGN.
21514169689Skan	* tree.h (DECL_OFFSET_ALIGN): Fix typo in comment.
21515169689Skan
21516169689Skan	* stmt.c (mark_case_node): New function.
21517169689Skan	(mark_case_nesting): Call it.
21518169689Skan
21519169689Skan	* expmed.c (emit_store_flag): If comparing two-word integer
21520169689Skan	with zero, can optimize NE, EQ, GE, and LT.
21521169689Skan
21522169689Skan	* c-decl.c (mark_binding_level): Use 'for' instead of `while'.
21523169689Skan	* conflict.c: Minor cleanups.
21524169689Skan	* optabs.c: Add blank line
21525169689Skan	* simplify-rtx.c: Minor cleanups.
21526169689Skan
21527169689Skan2000-04-18  Stan Cox  <scox@cygnus.com>
21528169689Skan
21529169689Skan	* gengenrtl.c (genlegend): Fix misspelling.
21530169689Skan
21531169689Skan2000-04-18  Robert Lipe  <robertlipe@usa.net>
21532169689Skan
21533169689Skan	* configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Added.  Check that
21534169689Skan	bitfields of the host compiler are not signed quantities.
21535169689Skan	* config.in: Regenerate.
21536169689Skan	* configure: Regenerate.
21537169689Skan	* system.h (USE_ENUM_BITFIELDS): Added.
21538169689Skan	(ENUM_BITFIELDS): Added.
21539169689Skan	* rtl.h (rtx_def): Members `code', `mode', now ENUM_BITFIELD.
21540169689Skan	(SHORT_ENUM_BUG): Deleted.
21541169689Skan	* tree.h (tree_common): Members `code', `mode', `built_in_class',
21542169689Skan	now ENUM_BITFIELD.
21543169689Skan	* config/i386/xm-sco.h (ONLY_INT_FIELDS): Deleted.
21544169689Skan	(CODE_FIELD_BUG): Likewise.
21545169689Skan	* config/m68k/x-apollo68 (CC): Deleted SHORT_ENUM_BUG.
21546169689Skan	(OLD_CC): Likewise.
21547169689Skan	* config/m68k/x-ccur (X_CFLAGS): Likewise.
21548169689Skan
21549169689Skan2000-04-18  Mark Mitchell  <mark@codesourcery.com>
21550169689Skan
21551169689Skan	* cpplex.c (_cpp_lex_token): Don't call CPP_BUMP_LINE when the
21552169689Skan	mark is active.
21553169689Skan
21554169689Skan2000-04-17  Zack Weinberg  <zack@wolery.cumb.org>
21555169689Skan
21556169689Skan	* cppexp.c (lex): Don't assume tokens are NUL terminated.
21557169689Skan	* cpplib.c (do_include, do_import, do_include_next,
21558169689Skan	read_line_number, detect_if_not_defined): Likewise.
21559169689Skan	* cpphash.c (collect_expansion): Likewise.
21560169689Skan	(special_symbol, _cpp_macroexpand): Check return from
21561169689Skan	cpp_file_buffer.
21562169689Skan	* cpphash.h (CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q): Delete
21563169689Skan	macros.  Delete all uses.
21564169689Skan
21565169689Skan	* gcc.dg/cpp-mi.c: Add two more test cases.
21566169689Skan	* gcc.dg/cpp-mind.h, gcc.dg/cpp-mindp.h: New files.
21567169689Skan
21568169689Skan2000-04-17  Richard Henderson  <rth@cygnus.com>
21569169689Skan
21570169689Skan	* bb-reorder.c (fixup_reorder_chain): Don't look up new block again.
21571169689Skan	(reorder_basic_blocks): If no epilogue in rtl, force last block last.
21572169689Skan
21573169689Skan2000-04-17  Mark Mitchell  <mark@codesourcery.com>
21574169689Skan
21575169689Skan	* function.c (expand_function_start): Use hard_function_value to
21576169689Skan	compute the RTL to use for DECL_RESULT.
21577169689Skan
21578169689SkanMon Apr 17 23:35:29 MET DST 2000  Jan Hubicka  <jh@suse.cz>
21579169689Skan
21580169689Skan	* i386.c (athlon_cost): Fix lea, divide and XFmode move costs.
21581169689Skan	(x86_integer_DFmode_moves, x86_partial_reg_dependency,
21582169689Skan	 x86_memory_mismatch_stall): New global variables.
21583169689Skan	(ix86_adjust_cost): Handle MEMORY_BOTH on places MEMORY_STORE was only
21584169689Skan	alloved; fix load penalties for Athlon.
21585169689Skan	* i386.h (x86_integer_DFmode_moves, x86_partial_reg_dependency,
21586169689Skan	x86_memory_mismatch_stall): Declare.
21587169689Skan	(TARGET_INTEGER_DFMODE_MOVES, TARGET_PARTIAL_REG_DEPENDENCY,
21588169689Skan	 TARGET_MEMORY_MISMATCH_STALL): New.
21589169689Skan	* i386.md (athlon scheduling parameters): Fix latencies according to
21590169689Skan	Athlon Optimization Manual.
21591169689Skan	(sahf, xchg, fldcw, leave instruction patterns): Set athlon_decode to
21592169689Skan	vector.
21593169689Skan	(fsqrt instruction patterns): Set athlon_decode to direct.
21594169689Skan	(movhi_1): Promote for TARGET_PARTIAL_REG_DEPENDENCY and for
21595169689Skan	PARTIAL_REGISTER_STALL with !TARGET_HIMODE_MATH machines.
21596169689Skan	(movqi_1): Handle promoting correctly for TARGET_PARTIAL_REG_DEPENDENCY
21597169689Skan	and TARGET_PARTIAL_REGISTER_STALL machines.
21598169689Skan	(pushdf_nointeger): New pattern.
21599169689Skan	(pushdf_integer): Rename from pushdf.
21600169689Skan	(movdf_nointger): Enable for !TARGET_INTEGER_DFMODE_MOVES machines.
21601169689Skan	(movdf_intger): Disable for !TARGET_INTEGER_DFMODE_MOVES machines.
21602169689Skan
21603169689Skan2000-04-17  Richard Henderson  <rth@cygnus.com>
21604169689Skan
21605169689Skan	* loop.c (canonicalize_condition): Add WANT_REG argument.
21606169689Skan	Stop the search if we match it.
21607169689Skan	* expr.h (canonicalize_condition): Update decl.
21608169689Skan	* predict.c (expected_value_to_br_prob): Use it.  Track last
21609169689Skan	expected value note.
21610169689Skan	(find_expected_value): Remove.
21611169689Skan
21612169689Skan	* reorg.c (mostly_true_jump): Always use BR_PROB if present.
21613169689Skan
21614169689Skan2000-04-17  Zack Weinberg  <zack@wolery.cumb.org>
21615169689Skan
21616169689Skan	* aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE([AC_FUNC_MMAP]).
21617169689Skan	(AC_FUNC_MMAP_FILE): New macro, tests read-only private map of
21618169689Skan	a plain file.
21619169689Skan	* configure.in: Call AC_FUNC_MMAP_FILE.
21620169689Skan	* configure: Regenerate.
21621169689Skan	* config.in: Regenerate.
21622169689Skan
21623169689Skan	* intl/loadmsgcat.c: Test HAVE_MMAP_FILE not HAVE_MMAP.
21624169689Skan	* fixinc/fixincl.c: Likewise.
21625169689Skan
21626169689Skan2000-04-17  Richard Henderson  <rth@cygnus.com>
21627169689Skan
21628169689Skan	* builtins.c (expand_builtin_expect): New.
21629169689Skan	(expand_builtin): Call it.
21630169689Skan	* builtins.def (BUILT_IN_EXPECT): New.
21631169689Skan	* c-common.c (c_common_nodes_and_builtins): Declare __builtin_expect.
21632169689Skan	* extend.texi: Document it.
21633169689Skan
21634169689Skan	* predict.c (expected_value_to_br_prob): New.
21635169689Skan	(find_expected_value): New.
21636169689Skan	* basic-block.h (expected_value_to_br_prob): Declare.
21637169689Skan	* toplev.c (rest_of_compilation): Invoke it.
21638169689Skan
21639169689Skan	* rtl.h (NOTE_EXPECTED_VALUE): New.
21640169689Skan	(NOTE_INSN_EXPECTED_VALUE): New.
21641169689Skan	* rtl.c (note_insn_name): Update.
21642169689Skan	* print-rtl.c (print_rtx): Reorg NOTE_LINE_NUMBER special
21643169689Skan	cases; handle NOTE_INSN_EXPECTED_VALUE.
21644169689Skan
21645169689Skan2000-04-17  Jakub Jelinek  <jakub@redhat.com>
21646169689Skan
21647169689Skan	* config/sparc/sparc.c (eligible_for_sibcall_delay): Cannot use
21648169689Skan	leaf sibcall delay slot if flag_pic.
21649169689Skan	(output_sibcall): Always emit call for leaf sibcall if flag_pic.
21650169689Skan
21651169689Skan2000-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21652169689Skan
21653169689Skan	* Makefile.in (stmp-fixproto): Acknowledge errors in fixproto.
21654169689Skan
21655169689Skan	* fixproto: If fix-header fails, exit with an error.
21656169689Skan
21657169689SkanMon Apr 17 14:59:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
21658169689Skan
21659169689Skan	* cse.c (struct check_dependence_data): New.
21660169689Skan	(check_dependence): New function.
21661169689Skan	(invalidate): Use check_depdenence.
21662169689Skan
21663169689Skan2000-04-16  Mark Mitchell  <mark@codesourcery.com>
21664169689Skan
21665169689Skan	* dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Adjust, now that
21666169689Skan	UNITS_PER_WORD is unsigned.
21667169689Skan
21668169689Skan	* tree.h (struct tree_common): Remove misleading comment.
21669169689Skan
21670169689Skan2000-04-16  Dave Pitts  <dpitts@cozx.com>
21671169689Skan
21672169689Skan	* Makefile.in ($(srcdir)/c-parse.y: c-parse.in): Enclose the whole
21673169689Skan	message in quotes. Otherwise, IBM's make program treats the '#' as the
21674169689Skan	start of a comment and ignores the remainder of the line.
21675169689Skan
21676169689Skan	* c-lex.c (yylex): Change for EBCDIC, lower case characters precede
21677169689Skan	upper case.
21678169689Skan	* cccp.c (initialize_char_syntax): Allow for holes in EBCDIC.
21679169689Skan	* cexp.y (initialize_random_junk): Likewise.
21680169689Skan	* cppfiles.c (find_include_file): Cast alloca return value.
21681169689Skan	* cppinit.c (initialize_standard_includes): Likewise.
21682169689Skan	* cpplib.c (cpp_define, cpp_undef): Likewise.
21683169689Skan	* defaults.h (ASM_OUTPUT_ASCII): Use ISPRINT.
21684169689Skan	* final.c (output_asm_insn): Allow for holes in EBCDIC.
21685169689Skan	* fold-const.c (CHARMASK): New.
21686169689Skan	(real_hex_to_f): Use it.
21687169689Skan	* real.c (CHARMASK): New.
21688169689Skan	(etoasc, asctoeg): Use it.
21689169689Skan	(asctoeg): EBCDIC lower case characters precede upper case.
21690169689Skan
21691169689Skan	* i370.c (mvs_add_label): Change spacing for coding conventions.
21692169689Skan	* i370.h (ASM_OUTPUT_CASE_LABEL): Change to the data CSECT for the
21693169689Skan	outputting case vectors.
21694169689Skan	(ASM_OUTPUT_CASE_END): New, put assembler back into code CSECT.
21695169689Skan	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove page check,
21696169689Skan	since vector in in the data CSECT.
21697169689Skan	(ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation.
21698169689Skan	* i370.md (Many patterns): Put the length in the XL directives.
21699169689Skan	(movdi): Put back STM and MVC in definition.
21700169689Skan	(floatsidf2): Correct TARGET_ELF_ABI pattern and add back the LE370
21701169689Skan	pattern using the TCA.
21702169689Skan	* oe.h (CPP_SPEC): Added to allow trigraphs.
21703169689Skan	* xm-oe.h (HOST_BITS_PER_LONGLONG): Change to 32. IBM's compiler does
21704169689Skan	not support the "long long" type.
21705169689Skan
21706169689Skan2000-04-16  Mark Mitchell  <mark@codesourcery.com>
21707169689Skan
21708169689Skan	* config/mips/mips-protos.h (mips_legitimate_address_p): New
21709169689Skan	function.
21710169689Skan	(mips_reg_mode_ok_for_base_p): Likewise.
21711169689Skan	* config/mips/mips.h (REG_OK_STRICT_P): Don't define.
21712169689Skan	(REG_OK_FOR_INDEX_P): Define unconditionally.
21713169689Skan	(REG_MODE_OK_FOR_BASE_P): Use mips_reg_mode_ok_for_base_p.
21714169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Use mips_legitimate_address_p.
21715169689Skan	* config/mips/mips.c (mips16_simple_memory_operand): Adjust now
21716169689Skan	that GET_MODE_SIZE is unsigned.
21717169689Skan	(mips_reg_mode_ok_for_base_p): Define.
21718169689Skan	(mips_legitimate_address_p): Likewise.  Adjust now
21719169689Skan	that GET_MODE_SIZE is unsigned.
21720169689Skan	(block_move_loop): Make the number of bytes unsigned.
21721169689Skan	(expand_block_move): Likewise.
21722169689Skan	(function_arg): Make the loop counter unsigned to match the
21723169689Skan	boundary condition.
21724169689Skan
21725169689Skan2000-04-16  Richard Henderson  <rth@cygnus.com>
21726169689Skan
21727169689Skan	* rtl.h (enum insn_note): New enumeration.  Subsume
21728169689Skan	NOTE_INSN_DELETED and friends.
21729169689Skan	(GET_NOTE_INSN_NAME): Adjust index by NOTE_INSN_BIAS.
21730169689Skan	* rtl.c (note_insn_name): Tweak string order.
21731169689Skan
21732169689Skan2000-04-15  Zack Weinberg  <zack@wolery.cumb.org>
21733169689Skan
21734169689Skan	* cpplex.c (_cpp_read_and_prescan): Enlarge len by setting it
21735169689Skan	to offset * 2.
21736169689Skan
21737169689Skan	* cpplex.c (output_line_command): Remove debugging prints.
21738169689Skan	(cpp_output_tokens): Don't write out a zero-length buffer or
21739169689Skan	try to see if it has a newline in it.
21740169689Skan	(_cpp_expand_to_buffer): Copy the source buffer before pushing.
21741169689Skan	(_cpp_read_and_prescan): Move shift-down of pushback bytes to
21742169689Skan	the end of the loop.  Use memmove.  Don't read past the end of
21743169689Skan	the buffer.  Remove trailing newlines from error messages.
21744169689Skan
21745169689Skan2004-04-16  Neil Booth  <NeilB@earthling.net>
21746169689Skan
21747169689Skan	* cpphash.h (SYNTAX_INCLUDE, SYNTAX_ASSERT, directive_handler): new.
21748169689Skan	* cpplib.c: Add new syntax flags to directive table, and
21749169689Skan	supporting macros.
21750169689Skan
21751169689Skan2000-04-15  Ulrich Drepper  <drepper@redhat.com>
21752169689Skan
21753169689Skan	* i386.c (ix86_expand_epilogue): Yes, the x86 can pop 64k at once
21754169689Skan	using ret $N.
21755169689Skan
21756169689Skan2000-04-15  David Edelsohn  <edelsohn@gnu.org>
21757169689Skan
21758169689Skan	* toplev.c (display_help): Prefix "f" to "sched-verbose=".
21759169689Skan	* haifa-sched.c: Update -fsched-verbose comments to use "=".
21760169689Skan
21761169689SkanSat Apr 15 10:59:19 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21762169689Skan
21763169689Skan	* Makefile.in (ggc-page.o): Now includes toplev.h.
21764169689Skan	* ggc-page.c (toplev.h): Now included.
21765169689Skan	(gc_time): Remove declaration.
21766169689Skan	(ggc_collect): TIME now long.
21767169689Skan	* toplev.c (parse_time, varasm_time, gc_time): Still global; all
21768169689Skan	others static.
21769169689Skan	* toplev.h (gc_time, parse_time, gc_time): New declarations.
21770169689Skan
21771169689Skan	* toplev.c: Make *_time variable long to reduce chance of overflow.
21772169689Skan	(TIMEVAR): Likewise for `otime'.
21773169689Skan	(print_time): Arg is now long; compute percentage in FP and round.
21774169689Skan	* toplev.h (print_time): Arg is long.
21775169689Skan
21776169689Skan	* tree.c: Minor whitespace changes.
21777169689Skan
21778169689Skan	* configure.in (alpha*-*-*): Add config/alpha/t-alpha.
21779169689Skan	* configure: Rebuilt.
21780169689Skan	* libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi.
21781169689Skan	(__fixunsxfDI): Renamed from __fixunsxfdi.
21782169689Skan	(__fixunsdfDI): Renamed from __fixunsdfdi.
21783169689Skan	(__fixunssfDI): Renamed from __fixunssfdi.
21784169689Skan	(__floatdisf): Use proper type in REP_BIT macro.
21785169689Skan	(__fixunsxfSI): Renamed from __fixunsxfsi.
21786169689Skan	(__fixunsdfSI): Renamed from __fixunsdfsi.
21787169689Skan	(__fixunssfSI): Renamed from __fixunssfsi.
21788169689Skan	* libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4.
21789169689Skan	Change location of macros and upper-case some names as above.
21790169689Skan	* longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd.
21791169689Skan	* config/alpha/t-alpha, config/alpha/qrnnd.asm: New files.
21792169689Skan
21793169689Skan	* varasm.c (assemble_variable): Add cast to remove warning.
21794169689Skan	(immed_real_const_1): Only use CONST[01]_RTX if not in nested function.
21795169689Skan
21796169689Skan	* flow.c (count_basic_blocks, find_basic_blocks_1): Remove last change.
21797169689Skan	* optabs.c (emit_libcall_block): If have REG_EH_REGION, update
21798169689Skan	region number to -1.
21799169689Skan
21800169689Skan2000-04-15  Richard Earnshaw (rearnsah@arm.com)
21801169689Skan
21802169689Skan	* emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
21803169689Skan	call unshare_all_rtl.
21804169689Skan
21805169689Skan	* arm.md (movhi): REGNO_POINTER_ALIGN is now bits.
21806169689Skan
21807169689SkanFri Apr 14 16:58:45 2000  Jim Wilson  <wilson@cygnus.com>
21808169689Skan
21809169689Skan	* config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3):
21810169689Skan	Use .s1 not .s0 for all FP instructions.
21811169689Skan
21812169689Skan2000-04-14  Zack Weinberg  <zack@wolery.cumb.org>
21813169689Skan
21814169689Skan	* cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public
21815169689Skan	interfaces.
21816169689Skan	(safe_fwrite, output_line_command): New static functions.
21817169689Skan	(cpp_expand_to_buffer): Now private to cpplib.
21818169689Skan	(cpp_scan_buffer): Take a printer.
21819169689Skan
21820169689Skan	* cpphash.h: Update prototypes.
21821169689Skan	* cpplib.h: Update prototypes.
21822169689Skan	(cpp_printer): New.
21823169689Skan	(cpp_buffer): Remove last_nominal_fname.
21824169689Skan	(cpp_reader): Remove lineno.
21825169689Skan
21826169689Skan	* cppmain.c: Use a cpp_printer.
21827169689Skan	* fix-header.c: No need to inhibit line commands.  Call
21828169689Skan	cpp_start_read with no printer.
21829169689Skan
21830169689Skan	* cpperror.c (cpp_notice_from_errno): Provide default name.
21831169689Skan	* cppfiles.c (make_IHASH, _cpp_fake_ihash): New functions.
21832169689Skan	(find_include_file, cpp_read_file): Use make_IHASH.
21833169689Skan	(file_cleanup): Set control_macro and clear
21834169689Skan	input_stack_listing_current here.
21835169689Skan	(_cpp_execute_include): Don't output entering-file marker.
21836169689Skan	* cpphash.c (special_symbol): Look for the line number in the
21837169689Skan	buffer, not the reader.
21838169689Skan	(_cpp_macroexpand): No need to disable line commands.
21839169689Skan	(_cpp_dump_definition): No need to generate line commands.
21840169689Skan	(dump_hash_helper): Remove excess newline from output.
21841169689Skan	* cppinit.c (dump_special_to_buffer): No need to generate line
21842169689Skan	commands.
21843169689Skan	(cpp_printer_init): New.
21844169689Skan	(cpp_start_read): Take a printer, and start it up if it's not
21845169689Skan	NULL.  No need to generate line commands.
21846169689Skan	(cpp_finish): Expect no buffers stacked at all.  Take a
21847169689Skan	printer argument, and flush the output buffer if it's not
21848169689Skan	NULL.
21849169689Skan	* cpplex.c (_cpp_lex_token): Return EOF if there's no buffer.
21850169689Skan	Don't put two hashes at the beginning of an assertion.
21851169689Skan	(cpp_get_token): Don't increment pfile->lineno or emit line
21852169689Skan	commands here.  Return EOF if there's no buffer when we get
21853169689Skan	EOF.
21854169689Skan	* cpplib.c (do_define, skip_if_group):
21855169689Skan	No need to disable line commands.
21856169689Skan	(_cpp_output_line_command): Delete function.
21857169689Skan	(do_line): Don't emit line commands here, but set things up so
21858169689Skan	they will be emitted if necessary.  Use _cpp_fake_ihash to
21859169689Skan	make unique nominal_fnames if necessary.
21860169689Skan	(do_elif, do_else, _cpp_handle_eof): Call cpp_error_with_line
21861169689Skan	with 0 for column, not -1.
21862169689Skan	(_cpp_handle_eof): Don't set the control macro here.  Don't
21863169689Skan	clear input_stack_listing_current here.  Don't emit line
21864169689Skan	commands.
21865169689Skan
21866169689Skan2000-04-14  Geoff Keating  <geoffk@cygnus.com>
21867169689Skan
21868169689Skan	* config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty
21869169689Skan	always, use the default SVR4 start address.
21870169689Skan
21871169689Skan	* config/rs6000/linux.h (LINK_SPEC): Don't define.
21872169689Skan	(LINK_SHLIB_SPEC): Define.
21873169689Skan	(LINK_START_DEFAULT_SPEC): Define.
21874169689Skan	(LINK_OS_DEFAULT_SPEC): Define.
21875169689Skan
21876169689Skan	* config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros.
21877169689Skan
21878169689Skan	* config/rs6000/eabi.asm (__eabi): Call __init rather than
21879169689Skan	__do_global_ctors to handle constructors.
21880169689Skan	* config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin.
21881169689Skan	(STARTFILE_YELLOWKNIFE_SPEC): Likewise.
21882169689Skan	(STARTFILE_MVME_SPEC): Likewise.
21883169689Skan	(STARTFILE_SIM_SPEC): Likewise.
21884169689Skan	(ENDFILE_ADS_SPEC): Use crtend.
21885169689Skan	(ENDFILE_YELLOWKNIFE_SPEC): Likewise.
21886169689Skan	(ENDFILE_MVME_SPEC): Likewise.
21887169689Skan	(ENDFILE_SIM_SPEC): Likewise.
21888169689Skan	(STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS.
21889169689Skan	(ENDFILE_SOLARIS_SPEC): Use crtend/crtendS.
21890169689Skan	(STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects.
21891169689Skan	(ENDFILE_LINUX_SPEC): Use crtendS for shared objects.
21892169689Skan	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o.
21893169689Skan	(EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS.
21894169689Skan	(CRTSTUFF_T_CFLAGS_S): Define.
21895169689Skan	* config/rs6000/eabi-ctors.c: Delete.
21896169689Skan
21897169689Skan	* config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte
21898169689Skan	boundary.
21899169689Skan	(__fini): Likewise.
21900169689Skan	* config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame.
21901169689Skan	boundary.
21902169689Skan	(__fini): Likewise.
21903169689Skan
21904169689SkanFri Apr 14 16:09:02 2000  Jim Wilson  <wilson@cygnus.com>
21905169689Skan
21906169689Skan	* combine.c (force_to_mode, case LSHIFTRT): Check that shift shift
21907169689Skan	plus mask size is smaller or equal to the mode size.
21908169689Skan
21909169689SkanFri Apr 14 18:07:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21910169689Skan
21911169689Skan	* print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK
21912169689Skan	not yet set.
21913169689Skan
21914169689Skan	* expr.c (reload.h): Now included.
21915169689Skan	(emit_block_move): Set volatile_ok when checking for movstr.
21916169689Skan	(emit_move_1): Check for replacements in addresses in multi-word case.
21917169689Skan	* Makefile.in (expr.o): Now includes reload.h.
21918169689Skan
21919169689Skan	* flow.c (count_basic_blocks): Remove unused var PREV_CALL.
21920169689Skan	Never have a LIBCALL end a basic block.
21921169689Skan	(find_basic_blocks_1): Likewise.
21922169689Skan	Reorganize CALL_INSN cases.
21923169689Skan
21924169689Skan	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Revert last change.
21925169689Skan
21926169689SkanFri Apr 14 10:54:22 2000  Jim Wilson  <wilson@cygnus.com>
21927169689Skan
21928169689Skan	* config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Drop obsolete
21929169689Skan	completers from mov.ret instruction.
21930169689Skan
21931169689Skan2000-04-14  Richard Henderson  <rth@cygnus.com>
21932169689Skan
21933169689Skan	* fold-const.c (extract_muldiv): Don't distribute and widen
21934169689Skan	multiply across plus for non-sizetype unsigned types.
21935169689Skan
21936169689Skan2000-04-14  Richard Henderson  <rth@cygnus.com>
21937169689Skan
21938169689Skan	* flow.c (find_auto_inc): Don't autoinc eliminable registers.
21939169689Skan	If the original source is dead in the incr insn, it's dead now.
21940169689Skan
21941169689SkanFri Apr 14 07:40:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
21942169689Skan
21943169689Skan	* stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to
21944169689Skan	see if DECL_BIT_FIELD needs to still be set.
21945169689Skan
21946169689Skan	* tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7.
21947169689Skan
21948169689Skan	* dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call
21949169689Skan	print_int_cst_octal with something that's not an INTEGER_CST.
21950169689Skan
21951169689Skan	* config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG
21952169689Skan	and not a SUBREG to a FLOAT rtl.
21953169689Skan
21954169689SkanThu Apr 13 19:39:56 2000  Clinton Popetz  <cpopetz@cygnus.com>
21955169689Skan
21956169689Skan	* emit-rtl.c (try_split): Avoid infinite loop if the split
21957169689Skan	results in a sequence that contains the original insn.
21958169689Skan
21959169689Skan2000-04-13  Andreas Jaeger  <aj@suse.de>
21960169689Skan
21961169689Skan	* config/mips/mips.c (expand_block_move): Pass alignment
21962169689Skan	argument to move_by_pieces in bits, not bytes.
21963169689Skan
21964169689Skan	* config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and
21965169689Skan	__pic__ for little endian.
21966169689Skan
21967169689Skan2000-04-13  Andreas Jaeger  <aj@suse.de>
21968169689Skan
21969169689Skan	* config/i386/i386-protos.h: Add prototype for
21970169689Skan	uno_comparison_operator.
21971169689Skan
21972169689SkanThu Apr 13 15:55:08 MET DST 2000  Jan Hubicka  <jh@suse.cz>
21973169689Skan
21974169689Skan	* alias.c (nonlocal_reference_p): Take care of CALL_INSNS's fusage.
21975169689Skan	* calls.c (ECF_PURE): New flag.
21976169689Skan	(emit_call_1): Handle ECF_PURE calls.
21977169689Skan	(initialize_argument_information): Unset ECF_PURE flag too.
21978169689Skan	(precompute_arguments): Precompute for ECF_PURE too.
21979169689Skan	(expand_call): Handle ECF_PURE calls too.
21980169689Skan	(emit_library_call_value_1): Rename no_queue argument to fn_type,
21981169689Skan	accept value of 2 as pure function.
21982169689Skan	(emit_library_call_value, emit_library_call): Rename no_queue argument
21983169689Skan	to fn_type.
21984169689Skan	* optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call.
21985169689Skan
21986169689Skan	* tree.h (DECL_IS_PURE): New macro.
21987169689Skan	(struct tree_decl): Add pure_flag.
21988169689Skan	* c-common.c (enum attrs): Add attribute "pure".
21989169689Skan	(init_attributes): Initialize attribute "pure"
21990169689Skan	(decl_attributes): Handle attribute "pure".
21991169689Skan	* extend.texi (Attribute "pure"): Document.
21992169689Skan	* calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from"
21993169689Skan	in pure function.
21994169689Skan	(flags_from_decl_or_type): Support attribute "pure".
21995169689Skan
21996169689Skan2000-04-13  Jason Merrill  <jason@casey.cygnus.com>
21997169689Skan
21998169689Skan	* cpplex.c (_cpp_lex_token): Handle digraphs.  Don't null-terminate
21999169689Skan	the token except for numbers and identifiers.
22000169689Skan
22001169689SkanThu Apr 13 00:09:16 EDT 2000  John Wehle  (john@feith.com)
22002169689Skan
22003169689Skan	* i386.c (ix86_expand_binary_operator,
22004169689Skan	ix86_expand_unary_operator): Check no_new_pseudos
22005169689Skan	instead of reload_in_progress and reload_completed.
22006169689Skan	(ix86_split_ashldi, ix86_split_ashrdi,
22007169689Skan	ix86_split_lshrdi): Check no_new_pseudos instead
22008169689Skan	of reload_completed.
22009169689Skan
22010169689Skan2000-04-12  Jeffrey A Law  (law@cygnus.com)
22011169689Skan
22012169689Skan	* function.c (purge_addressof): Unshare any shared rtl created by
22013169689Skan	purge_addressof and its children.
22014169689Skan
22015169689Skan2000-04-12  Mark Mitchell  <mark@codesourcery.com>
22016169689Skan
22017169689Skan	* function.c (aggregate_value_p): VOID_TYPE nodes are never
22018169689Skan	aggregates.
22019169689Skan
22020169689Skan2000-04-05  Andreas Jaeger  <aj@suse.de>
22021169689Skan
22022169689Skan	* config/mips/linux.h (SUBTARGET_ASM_SPEC): Use proper flags if
22023169689Skan	not compiling PIC code, add flags for mabi=64.
22024169689Skan	(SUBTARGET_CPP_SIZE_SPEC): New.
22025169689Skan	(SUBTARGET_CPP_SPEC): New.
22026169689Skan	(CPP_PREDEFINES): Define __PIC__ and __pic__.  PIC code is default
22027169689Skan	for MIPS/Linux and lots of code needs these defines.
22028169689Skan
22029169689SkanWed Apr 12 22:44:11 2000  Hans-Peter Nilsson  <hp@axis.com>
22030169689Skan
22031169689Skan	* reorg.c (fill_slots_from_thread): Check side_effects_p when
22032169689Skan	trying the "opposite arithmetic" approach.
22033169689Skan
22034169689SkanWed Apr 12 20:51:20 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
22035169689Skan
22036169689Skan	* sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI.
22037169689Skan	(struct sh_args): Add new field force_mem.
22038169689Skan	(INIT_CUMULATIVE_ARGS): Initialize it.
22039169689Skan	(FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Act on it.
22040169689Skan
22041169689SkanWed Apr 12 17:20:41 MET DST 2000  Jan Hubicka  <jh@suse.cz>
22042169689Skan
22043169689Skan	* calls.c (expand_call): Do not reverse args in "equal from" field.
22044169689Skan	(emit_library_call_value_1): Emit_libcall_block for const and pure
22045169689Skan	function.
22046169689Skan
22047169689SkanWed Apr 12 16:00:25 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
22048169689Skan
22049169689Skan	* reload1.c (reload_combine): Don't enable optimization for fixed
22050169689Skan	registers when encountering a BARRIER.
22051169689Skan
22052169689SkanWed Apr 12 15:54:11 MET DST 2000  Jan Hubicka  <jh@suse.cz>
22053169689Skan
22054169689Skan	* builtins.c (expand_builtin_memcmp): Do expansion even with
22055169689Skan	!HAVE_cmpstrsi, do libcall when gen_strcmpsi fails.
22056169689Skan
22057169689Skan	* calls.c (expand_call): Do NO_DEFER_POP unconditionally once
22058169689Skan	stack is properly aligned; add sanity checking for aligned
22059169689Skan	stack pointer.
22060169689Skan	(expand_library_call_value_1): Add sanity checking for aligned
22061169689Skan	stack pointer.
22062169689Skan
22063169689SkanWed Apr 12 07:51:54 2000  Catherine Moore  <clm@cygnus.com>
22064169689Skan
22065169689Skan	* calls.c (emit_library_call_value_1): Change 3rd arg to
22066169689Skan	locate_and_pad_parm to disregard the setting of partial.
22067169689Skan
22068169689SkanWed Apr 12 08:47:38 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
22069169689Skan
22070169689Skan	* tree.c (unsave_expr_now_r, unsafe_for_reeval): Properly do TREE_LIST.
22071169689Skan
22072169689Skan	* print-rtl.c (print_rtx): For CALL_PLACEHOLDER, output the
22073169689Skan	CALL_INSN from the normal case.
22074169689Skan
22075169689SkanFri Apr  7 12:23:04 MET DST 2000  Jan Hubicka  <jh@suse.cz>
22076169689Skan
22077169689Skan	* i386.c (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8):
22078169689Skan	New global variables.
22079169689Skan	(ix86_emit_epilogue_adjustment): Do not attempt to use pop for the
22080169689Skan	adjustment.
22081169689Skan	* i386.h (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8):
22082169689Skan	Declare,
22083169689Skan	(TARGET_SUB_ESP_4, TARGET_SUB_ESP_8, TARGET_ADD_ESP_4,
22084169689Skan	 TARGET_ADD_ESP_8): New macros.
22085169689Skan	* i386.md: Add peep2s to convert esp adjustments to push and pop
22086169689Skan	instructions.
22087169689Skan	(pushsi_prologue, popsi_epilogue): New patterns.
22088169689Skan
22089169689Skan2000-04-12  Jakub Jelinek  <jakub@redhat.com>
22090169689Skan
22091169689Skan	* real.c (toe64): Remove stale #endif from the last change.
22092169689Skan
22093169689Skan2000-04-12  Stephen L Moshier  <moshier@mediaone.net>
22094169689Skan
22095169689Skan	* real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Comment.
22096169689Skan	* real.c (toe64): Revert previous change.
22097169689Skan
22098169689Skan2000-04-12  Jakub Jelinek  <jakub@redhat.com>
22099169689Skan
22100169689Skan	* objc/objc-act.c: Include ggc.h.
22101169689Skan	(objc_tree_index, objc_global_trees): Convert most of the
22102169689Skan	static tree variables into a static array with previous names
22103169689Skan	as defines.
22104169689Skan	(objc_ellipsis_node): New variable.
22105169689Skan	(lang_init): Call objc_act_parse_init and c_parse_init.
22106169689Skan	Create objc_ellipsis_node.
22107169689Skan	(build_selector_translation_table): Use objc_ellipsis_node instead
22108169689Skan	of (tree)1.
22109169689Skan	(hack_method_prototype): Likewise.
22110169689Skan	(get_arg_type_list): Likewise.
22111169689Skan	(start_method_def): Likewise.
22112169689Skan	(continue_method_def): Likewise.
22113169689Skan	(gen_method_decl): Likewise.
22114169689Skan	(ggc_mark_imp_list): New function.
22115169689Skan	(ggc_mark_hash_table): New function.
22116169689Skan	(objc_act_parse_init): New function.
22117169689Skan	* objc/objc-act.h (objc_ellipsis_node): Add extern variable.
22118169689Skan	* c-parse.in (c_parse_init): For objc add roots of objc specific
22119169689Skan	local tree variables.
22120169689Skan	* objc/objc-parse.y: Rebuilt.
22121169689Skan	* objc/objc-parse.c: Rebuilt.
22122169689Skan	(opt_parm_list): Use objc_ellipsis_node instead of (tree)1.
22123169689Skan
22124169689SkanWed Apr 12 01:00:44 EDT 2000  John Wehle  (john@feith.com)
22125169689Skan
22126169689Skan	* cse.c (delete_trivially_dead_insns): Also delete insns
22127169689Skan	that copy a register to itself where the destination is
22128169689Skan	a strict_low_part.
22129169689Skan
22130169689Skan2000-04-11  Richard Henderson  <rth@cygnus.com>
22131169689Skan
22132169689Skan	* flow.c (struct propagate_block_info): Add new_dead, new_live.
22133169689Skan	(propagate_block): Initialize them.  Use them in parallel instead
22134169689Skan	of one tmp variable, ie revert much of the 0408 and 0407 functional
22135169689Skan	changes, but keep the structural changes.
22136169689Skan	(mark_set_regs): Take new_dead from propagate_block_info instead.
22137169689Skan	(mark_set_1, mark_set_reg): Likewise.
22138169689Skan	(mark_used_regs): Likewise with new_live.
22139169689Skan	(mark_used_reg): Likewise.  Revert 0408 change.
22140169689Skan
22141169689Skan2000-04-11  Nick Clifton  <nickc@cygnus.com>
22142169689Skan
22143169689Skan	* config/arm/arm.h: (INCOMING_RETURN_ADDR_RTX): Remove Dwarf2
22144169689Skan	restriction.
22145169689Skan	(DWARF_FRAME_RETURN_COLUMN): Remove Dwarf2 restriction.
22146169689Skan
22147169689Skan2000-04-11  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
22148169689Skan
22149169689Skan	* config/elfos.h (SELECT_SECTION): Decide whether to use a data or
22150169689Skan	const section to output a CONSTRUCTOR based on the same conditions
22151169689Skan	used for VAR_DECLs.
22152169689Skan
22153169689SkanTue Apr 11 09:55:59 2000  Jeffrey A Law  (law@cygnus.com)
22154169689Skan
22155169689Skan	* pa/long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64.
22156169689Skan	* pa/pa-protos.h (output_call): Add additional argument indicating
22157169689Skan	if the call is a sibling/tail call.
22158169689Skan	(compute_zdepdi_operands, output_64bit_and): Prototype new functions.
22159169689Skan	(compute_64bit_ior, cmpib_comparison_operator): Likewise.
22160169689Skan	(function_arg, function_arg_partial_nregs): Likewise
22161169689Skan	* pa/pa.c (override_options): Always set flag_pic for TARGET_64BIT.
22162169689Skan	(emit_move_sequence): Zero extend certain constants as needed
22163169689Skan	for TARGET_64BIT.
22164169689Skan	(compute_zdepdi_operands, output_64bit_and): New functions.
22165169689Skan	(output_64bit_ior, function_arg): Likewise.
22166169689Skan	(cmpib_comparison_operator, function_arg_partial_nregs): Likewise.
22167169689Skan	(compute_frame_size, hppa_expand_prologue): Handle TARGET_64BIT.
22168169689Skan	(hppa_expand_epilogue, return_addr_rtx, hppa_va_arg): Likewise.
22169169689Skan	(hppa_builtin_saveregs, output_cbranch, output_bb): Likewise.
22170169689Skan	(output_bvb): Likewise.
22171169689Skan	(output_millicode_call): Return pointer is in %r2 for TARGET_64BIT.
22172169689Skan	(output_call): New argument 'sibcall'.  Generate sibcall sequences
22173169689Skan	as needed.
22174169689Skan	(print_operand); Handle cases 'Q', 'p', and 'z' for TARGET_64BIT.  For
22175169689Skan	(ouput_arg_descriptor): Do not emit argument descriptors for
22176169689Skan	TARGET_64BIT.
22177169689Skan	* pa/pa.h (TARGET_PA_11, TARGET_PA_20): Only define if not already
22178169689Skan	defined.
22179169689Skan	(TARGET_64BIT, PROMOTE_FUNCTION_RETURN): Define.
22180169689Skan	(FUNCTION_OK_FOR_SIBALL): Define.
22181169689Skan	(CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC): Define.
22182169689Skan	(CPP_CPU_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS, EXTRA_SPECS): Likewise.
22183169689Skan	(CPP_SPEC): Use new spec infrastructure.
22184169689Skan	(BITS_PER_WORD, UNITS_PER_WORD): Handle TARGET_64BIT.
22185169689Skan	(STACK_BOUNDARY, FUNCTION_BOUNDARY, PIC_OFFSET_TABLE_REGNUM): Likewise.
22186169689Skan	(RETURN_IN_MEMORY, EXTRA_CONSTRAINT, FIRST_PARM_OFFSET): Likewise.
22187169689Skan	(REG_PARM_STACK_SPACE, STACK_POINTER_OFFSET): Likewise.
22188169689Skan	(STACK_DYNAMIC_OFFSET, FUNCTION_VALUE): Likewise.
22189169689Skan	(FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES): Likewise.
22190169689Skan	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
22191169689Skan	(INITIALIZE_TRAMPOLINE, LEGITIMATE_CONSTANT_P): Likewise.
22192169689Skan	(CONST_OK_FOR_LETTER_P, MOVE_RATIO): Likewise.
22193169689Skan	(FUNCTION_ARG); Call out to C code.
22194169689Skan	(FUNCTION_ARG_PARTIAL_NREGS): Likewise.
22195169689Skan	(MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Define.
22196169689Skan	(MIN_UNITS_PER_WORD): Likewise.
22197169689Skan	* pa/pa.md (cmpdi): New expander.
22198169689Skan	(scc patterns, movstrsi): Not available for TARGET_64BIT.
22199169689Skan	(64bit conditional arithmetic): New patterns.
22200169689Skan	(absdi2, smindi3, umindi3, smaxdi3, umaxdi3): New patterns.
22201169689Skan	(movsicc): Not available if modes on all the operands to not match.
22202169689Skan	(movdicc): New expander and associated patterns.
22203169689Skan	(64bit branches): New patterns.
22204169689Skan	(pre_load, post_store): Generate appropriate code for TARGET_64BIT.
22205169689Skan	(pre_ldd, post_std): New patterns.
22206169689Skan	(64bit addil, load low part): New patterns.
22207169689Skan	(special movsf constant): Not available for TARGET_64BIT.
22208169689Skan	(movsf, movdf expanders): Force constants into memory.
22209169689Skan	(32bit movdf/movdi patterns): Disable for TARGET_64BIT.
22210169689Skan	(64bit movdf/movdi patterns): New patterns.
22211169689Skan	(zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New patterns
22212169689Skan	for TARGET_64BIT.
22213169689Skan	(extendqidi2, extendhidi2, extendsidi2): Similarly.
22214169689Skan	(adddi3 expander): Allow "arith_operand" for second input.
22215169689Skan	(32bit adddi3, subdi3, uaddcm): Disable for TARGET_64BIT.
22216169689Skan	(64bit adddi3, subsi3, uaddcm): New patterns for TARGET_64BIT.
22217169689Skan	(mulsi3 expander): Revamp slightly so it supports TARGET_64BIT too.
22218169689Skan	(muldi3): New expander for TARGET_64BIT.
22219169689Skan	(divsi3, udivsi3, modsi3, umodsi3): Fourth operand must be (reg:SI 2)
22220169689Skan	for TARGET_64BIT.
22221169689Skan	(32bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm): Disable
22222169689Skan	patterns for TARGET_64BIT.
22223169689Skan	(64bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm, shadd): New
22224169689Skan	patterns for TARGET_64BIT.
22225169689Skan	(64bit bit insertion/extractions): New patterns for TARGET_64BIT.
22226169689Skan	(64bit shifts/rotates): New patterns/expanders for TARGET_64BIT.
22227169689Skan	(sibcall_epilogue): New expander.
22228169689Skan	(casesi): Tweak for TARGET_64BIT.
22229169689Skan	(call expanders): Set & use the outgoing argument pointer.  Use the
22230169689Skan	64bit call patterns as needed. Add additional arg to output_call.
22231169689Skan	(call_internal_reg_64bit, call_value_internal_reg_64bit): New pattern.
22232169689Skan	(sibcall, sibcall_internal_symref): New expanders.
22233169689Skan	(sibcall_value, sibcall_value_internal_symref
22234169689Skan	(interspace_jump): Turn into an expander + matching patterns.
22235169689Skan	(canonicalize_funcptr_for_compare): Not needed for TARGET_64BIT.
22236169689Skan	* pa/pa64-regs.h: Eliminate trigraph sequences.
22237169689Skan	* pa/pa64-start.h (TARGET_PA_20): Fix typo.
22238169689Skan
22239169689Skan2000-04-11  Zack Weinberg  <zack@wolery.cumb.org>
22240169689Skan
22241169689Skan	* cppexp.c, cpphash.c, cpphash.h, cpplex.c, cpplib.c,
22242169689Skan	cpplib.h, cppmain.c, fix-header.c, scan-decls.c: Replace
22243169689Skan	cpp_token with cpp_ttype everywhere.
22244169689Skan	* cpperror.c, cpphash.c, cpplex.c, cpplib.c, scan-decls.c:
22245169689Skan	Replace cpp_buf_line_and_col with CPP_BUF_LINE and/or
22246169689Skan	CPP_BUF_COL.  Line and column numbers are unsigned int, not
22247169689Skan	long.
22248169689Skan	* cpplex.c (cpp_buf_line_and_col): Delete.
22249169689Skan	* cpplib.h (struct cpp_buffer, struct cpp_reader): Change
22250169689Skan	'long lineno' to 'unsigned int lineno'.
22251169689Skan	(CPP_BUF_LINE, CPP_BUF_COL): New macros.
22252169689Skan
22253169689Skan2000-04-11  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
22254169689Skan
22255169689Skan	* extend.texi: ISO C99 is not a draft anymore.
22256169689Skan	* invoke.texi: ISO C++ is not a draft anymore.
22257169689Skan	* cpp.texi: __cplusplus is required by the ISO standard.
22258169689Skan
22259169689Skan	* extend.texi (-fthis-is-variable): Undocument.
22260169689Skan	* flags.h (warn_template_debugging): Remove declaration.
22261169689Skan	* gcc.1 (-fall-virtual, -fenum-int-equiv, -fthis-is-variable,
22262169689Skan	-Wenum-clash, -Wtemplate-debugging): Undocument.
22263169689Skan
22264169689Skan2000-04-10  Nick Clifton  <nickc@cygnus.com>
22265169689Skan
22266169689Skan	* config/arm/arm.h (HOST_INT): New macro: Declare a HOST_WIDE_INT
22267169689Skan	integer.
22268169689Skan	(HOST_UINT): New macro: Declare an unsigned HOST_WIDE_INT
22269169689Skan	integer.
22270169689Skan	(ARM_SIGN_EXTEND): Use HOST_UINT.
22271169689Skan	(STRIP_NAME_ENCODING): Prevent warnings about redefinitions.
22272169689Skan	(ASM_OUTPUT_LABELREF): Prevent warnings about redefinitions.
22273169689Skan	(INCOMING_RETURN_ADDR_RTX): Only define if Dwarf2 is supported.
22274169689Skan	(DWARF_FRAME_RETURN_COLUMN): Only define if Dwarf2 is supported.
22275169689Skan
22276169689Skan	* config/arm/arm.c: (const_ok_for_arm): Use HOST_UINT.
22277169689Skan	(arm_gen_constant): Use HOST_UINT.
22278169689Skan	(arm_canonicalize_constant): Use HOST_UINT.
22279169689Skan	(arm_reload_in_hi): Use HOST_UINT.
22280169689Skan	(arm_reload_out_hi): Use HOST_UINT.
22281169689Skan	(output_multi_immediate): Use HOST_UINT.
22282169689Skan	(int_log2): Use HOST_UINT.
22283169689Skan	(arm_poke_function_name): Use HOST_UINT.
22284169689Skan	(arm_output_epilogue): Use arm_volatile_func().
22285169689Skan	(output_thumb_prologue): Use arm_strip_name_encoding().
22286169689Skan
22287169689SkanMon Apr 10 15:40:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
22288169689Skan
22289169689Skan	* sbitmap.c (sbitmap_a_subset_b_p): Rework loop to avoid potential
22290169689Skan	of sequence point problems.
22291169689Skan
22292169689Skan2000-04-10  Nathan Sidwell  <nathan@codesourcery.com>
22293169689Skan
22294169689Skan	* rtl.def (ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT):
22295169689Skan	Recomment.
22296169689Skan	* tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment.
22297169689Skan
22298169689SkanMon Apr 10 07:21:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
22299169689Skan
22300169689Skan	* sbitmap.h: Whitespace changes and use upper-case macro args.
22301169689Skan	(struct simple_bitmap_def): All sizes now unsigned.
22302169689Skan	(EXECUTE_IF_SET_IN_SBITMAP): Internal vars now _X instead of X_.
22303169689Skan	* sbitmap.c (sbitmap_alloc): N_ELMS now unsigned; also local vars.
22304169689Skan	(sbitmap_vector_alloc): Parms and local vars now unsigned.
22305169689Skan	(sbitmap_zero): Cast bzero arg to PTR.
22306169689Skan	(sbitmap_vector_zero, sbitmap_vector_one): Parm and Local var unsigned.
22307169689Skan	(sbitmap_union_of_diffs): Change loop index to unsigned and rework
22308169689Skan	loop to make structure clearer.
22309169689Skan	(sbitmap_not, sbitmap_difference, sbitmap_a_and_b): Likewise.
22310169689Skan	(sbitmap_a_or_b, sbitmap_a_subset_b_p, sbitmap_a_or_b_and_c): Likewise.
22311169689Skan	(sbitmap_a_and_b_or_c): Likewise.
22312169689Skan	(sbitmap_intersection_of_succs): Minor cleanups.
22313169689Skan	(sbitmap_intersection_of_preds, sbitmap_union_of_succs): Likewise.
22314169689Skan	(sbitmap_union_of_preds): Likewise.
22315169689Skan	(sbitmap_first_set_bit, dump_sbitmap): Local variables now unsigned.
22316169689Skan	(debug_sbitmap): New function.
22317169689Skan
22318169689Skan	* c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE.
22319169689Skan	* c-typeck.c (convert_for_assignment): Likewise.
22320169689Skan
22321169689Skan	* expmed.c (init_expmed): Don't free objects we make.
22322169689Skan	* emit-rtl.c (gen_rtx_CONST_INT, init_emit_once): Minor cleanups.
22323169689Skan
22324169689Skan	* expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases.
22325169689Skan	(expand_expr, case CONVERT_EXPR): Pass proper alignment to store_field.
22326169689Skan
22327169689Skan	* gcse.c (expr_hash_table_size): Now unsigned.
22328169689Skan	(compute_ae_gen): Local variable `i' now unsigned.
22329169689Skan	(compute_ae_kill, pre_insert_copies, pre_delete, pre_gcse): Likewise.
22330169689Skan	(compute_transout, hoist_code): Likewise.
22331169689Skan	(compute_local_properties): Likewise, also hash_table_size.
22332169689Skan	(alloc_expr_hash_table): N_INSNS now unsigned.
22333169689Skan	(delete_null_pointer_checks): Mark arg F as unused.
22334169689Skan
22335169689Skan	* regrename.c: Minor cleanups, including chang some variables
22336169689Skan	to unsigned int.
22337169689Skan
22338169689Skan2000-04-10  Neil Booth  <NeilB@earthling.net>
22339169689Skan
22340169689Skan	* cpplex.c (skip_block_comment): Use pointer arithmetic rather
22341169689Skan	than GETC ().
22342169689Skan	* cpphash.h: (CPP_BUMP_BUFFER_LINE_CUR, CPP_BUMP_LINE_CUR): New.
22343169689Skan
22344169689Skan2000-04-10  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
22345169689Skan
22346169689Skan	* invoke.texi (-fno-gnu-keywords): Remove classof, headof,
22347169689Skan	__classof__, and __headof__ from the list of gnu keywords.
22348169689Skan	(-ansi): Remove -foperator-names from list of implied options.
22349169689Skan	Do not call it ANSI C++.
22350169689Skan	(-foperator-names): Document as -fno-operator-names.
22351169689Skan
22352169689Skan2000-04-09  Zack Weinberg  <zack@wolery.cumb.org>
22353169689Skan
22354169689Skan	* cpphash.c (timestamp): Delete.
22355169689Skan	(del_HASHNODE): If type is T_MCONST, free value.cpval.
22356169689Skan	(special_symbol): Remove unnecessary braces.  Remove
22357169689Skan	T_VERSION.  Treat T_STDC like T_CONST unless
22358169689Skan	STDC_0_IN_SYSTEM_HEADERS.  Render both __DATE__ and __TIME__
22359169689Skan	when one is encountered, then convert them into T_MCONST
22360169689Skan	nodes.
22361169689Skan	* cppinit.c (builtin_array): version_string is T_MCONST.
22362169689Skan	__STDC__ has a "1" in its cpval.  Don't have a terminator
22363169689Skan	entry.  Clean up which entries are dumped.
22364169689Skan	(initialize_builtins): Only __STDC__ gets the special
22365169689Skan	-traditional treatment.  Count the length of builtin_array.
22366169689Skan	Render version_string here.
22367169689Skan	* cpphash.h: Remove T_VERSION.  Add T_MCONST.
22368169689Skan	* cpplib.h (struct cpp_reader): Remove timebuf.
22369169689Skan
22370169689Skan2000-04-09  Richard Henderson  <rth@cygnus.com>
22371169689Skan
22372169689Skan	* genrecog.c (pred): Update comparison_operator for the unordered
22373169689Skan	operators.
22374169689Skan
22375169689Skan	* config/i386/i386.c (no_comparison_operator): Disallow unordered
22376169689Skan	operators.
22377169689Skan	(fcmov_comparison_operator): Allow UNORDERED/ORDERED.
22378169689Skan	(uno_comparison_operator): New.
22379169689Skan	(put_condition_code): Handle UNORDERED/ORDERED.
22380169689Skan	(unsigned_comparison): Likewise.
22381169689Skan	(ix86_fp_compare_mode): Broken out of ix86_expand_fp_compare.
22382169689Skan	(ix86_use_fcomi_compare, ix86_prepare_fp_compare_args): Likewise.
22383169689Skan	(ix86_expand_fp_compare): Use them.  Take scratch as argument,
22384169689Skan	update all callers.  Handle all 8 unordered operators.
22385169689Skan	(ix86_expand_setcc): Lose the unordered argument, update all callers.
22386169689Skan	(ix86_expand_branch): Likewise.  Don't fully expand fp branches.
22387169689Skan	* config/i386/i386.h (PREDICATE_CODES): Update.
22388169689Skan	* config/i386/i386-protos.h (ix86_expand_fp_compare): Declare.
22389169689Skan	(ix86_expand_branch, ix86_expand_setcc): Update.
22390169689Skan	* config/i386/i386.md (sunordered, sordered): New.
22391169689Skan	(suneq, sunge, sungt, sunle, sunlt, sltgt): New.
22392169689Skan	(bunordered, bordered): New.
22393169689Skan	(buneq, bunge, bungt, bunle, bunlt, bltgt): New.
22394169689Skan	(*fp_jcc_1, *fp_jcc_2, *fp_jcc_3, *fp_jcc_4): New.
22395169689Skan	(*fp_jcc_5, *fp_jcc_6, and splitters): New.
22396169689Skan
22397169689Skan2000-04-09  Philip Blundell  <philb@gnu.org>
22398169689Skan
22399169689Skan	* config/arm/arm.h (ARM_NAME_ENCODING_LENGTHS): Strip `*' too.
22400169689Skan
22401169689SkanSun Apr  9 15:16:14 EDT 2000  John Wehle  (john@feith.com)
22402169689Skan
22403169689Skan	* i386.md (fix_truncsfhi2, fix_truncdfhi2,
22404169689Skan	fix_truncxfhi2): New patterns.
22405169689Skan	* i386.c (output_fix_trunc): Handle converting to HImode.
22406169689Skan
22407169689Skan2000-04-08  Alex Samuel  <samuel@codesourcery.com>
22408169689Skan
22409169689Skan	* ssa.c (convert_to_ssa): Eliminate dead code when calling
22410169689Skan	life_analysis.
22411169689Skan	(convert_from_ssa): Call compute_bb_for_insn before life_analysis.
22412169689Skan	(for_each_successor_phi): Change parameter to basic_block.
22413169689Skan	(coalesce_regs_in_successor_phi_nodes): Likewise.
22414169689Skan	(coalesce_regs_in_copies): Likewise.
22415169689Skan	(compute_coalesced_reg_partition): Use basic_block instead of index.
22416169689Skan	* rtl.h (convert_to_ssa): Delete.
22417169689Skan	(convert_from_ssa): Likewise.
22418169689Skan	(successor_phi_fn): Likewise.
22419169689Skan	(for_each_successor_phi): Likewise.
22420169689Skan	(in_ssa_form): Likewise.
22421169689Skan	* basic-block.h (convert_to_ssa): Moved from rtl.h.
22422169689Skan	(convert_from_ssa): Likewise.
22423169689Skan	(successor_phi_fn): Likewise.
22424169689Skan	(in_ssa_form): Likewise.
22425169689Skan	(for_each_successor_phi): Likewise.  Change parameter to basic_block.
22426169689Skan	* flow.c (calculate_global_regs_live): Pass a basic_block to
22427169689Skan	for_each_successor_phi.
22428169689Skan
22429169689Skan2000-04-08  Richard Henderson  <rth@cygnus.com>
22430169689Skan
22431169689Skan	* flow.c (mark_used_reg): Use reg_set_p to determine if a register
22432169689Skan	was modified in the current insn.
22433169689Skan
22434169689Skan2000-04-08  Richard Earnshaw (rearnsha@arm.com)
22435169689Skan
22436169689Skan	* arm/thumb.md: Delete.
22437169689Skan	* arm/thumb-protos.h: Delete.
22438169689Skan
22439169689Skan2000-04-08  Richard Earnshaw (rearnsha@arm.com)
22440169689Skan
22441169689Skan	Merge changes from merged-arm-thumb-backend-branch onto trunk.
22442169689Skan
22443169689Skan	2000-04-08  Richard Earnshaw (rearnsha@arm.com)
22444169689Skan
22445169689Skan	* Merge trunk code from tag merged-arm-thumb-backend-merge_20000408
22446169689Skan	into branch.
22447169689Skan
22448169689Skan	* arm.md (nop): Use the standard RTL expression.  Don't code as a
22449169689Skan	define_expand.
22450169689Skan	(*arm_nop, *thumb_nop): Delete.
22451169689Skan
22452169689Skan	* arm.c (const_ok_for_arm): Don't use ANSI extensions for defining
22453169689Skan	constants.  Use casts instead.
22454169689Skan	(arm_gen_constant, arm_rtx_costs, arm_reload_in_hi, arm_reload_out_hi,
22455169689Skan	output_multi_immediate, arm_poke_function_name): Likewise.
22456169689Skan	* arm.h (ARM_LEGITIIMIZE_RELOAD_ADDRESS, ARM_SIGN_EXTEND,
22457169689Skan	MASK_RETURN_ADDDR): Likewise.
22458169689Skan
22459169689Skan	2000-03-31  Richard Earnshaw (rearnsha@arm.com)
22460169689Skan
22461169689Skan	* Merge trunk code from tag merged-arm-thumb-backend-merge_20000325
22462169689Skan	into branch.
22463169689Skan
22464169689Skan	* arm.md (eh_epilogue): New function.
22465169689Skan	* arm.h (struct machine_function): Move to here ...
22466169689Skan	* arm.c: ... from here.
22467169689Skan	(arm_output_epilogue): Support epilogues for __builtin_eh_return.
22468169689Skan	(thumb_exit): Extra parameter eh_ofs.  All callers changed.
22469169689Skan	Handle epilogues for __builtin_eh_return.  Make bit-fields unsigned.
22470169689Skan
22471169689Skan	2000-03-30  Nick Clifton  <nickc@cygnus.com>
22472169689Skan
22473169689Skan	* config/arm/semi.h (ASM_SPEC): Restore definition.
22474169689Skan	(SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined.
22475169689Skan
22476169689Skan	* config/arm/elf.h (ASM_SPEC): Restore definition.
22477169689Skan	(SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined.
22478169689Skan
22479169689Skan	* config/arm/arm.h (ASM_SPEC): Remove definition.
22480169689Skan	(SUBTARGET_EXTRA_ASM_SPEC): Remove definition.
22481169689Skan
22482169689Skan	2000-03-26  Bernd Schmidt <bernds@cygnus.co.uk>
22483169689Skan
22484169689Skan	* config/arm/arm.c: Disable -fschedule-insns for Thumb.
22485169689Skan
22486169689Skan	2000-03-24  Nick Clifton  <nickc@cygnus.com>
22487169689Skan
22488169689Skan	Various formating tidyups, elimination of compile time
22489169689Skan	warnings and synchronisation with internal sources:
22490169689Skan
22491169689Skan	* config/arm/arm-protos.h (assemble_align): Add prototype.
22492169689Skan	(gen_rotated_half_load): Rename to arm_gen_rotated_half_load.
22493169689Skan	(gen_comapre_reg): Rename to arm_gen_compare_reg.
22494169689Skan	(arm_return_addr_rtx): Rename to arm_return_addr.
22495169689Skan
22496169689Skan	* config/arm/arm.c: Include except.h.
22497169689Skan	Define shorter typenames for strict minipool_node and struct
22498169689Skan	minipool_fix.
22499169689Skan	(arm_return_in_memory): For WinCE return all structures <= 32 bits
22500169689Skan	in memory.
22501169689Skan	(gen_rotated_half_load): Rename to arm_gen_rotated_half_load.
22502169689Skan	(gen_comapre_reg): Rename to arm_gen_compare_reg.
22503169689Skan
22504169689Skan	* config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
22505169689Skan	already defined.
22506169689Skan	(ASM_SPEC): Define if not already defined.
22507169689Skan	(ASM_OUTPUT_DEF_FROM_DECLS): Define.
22508169689Skan
22509169689Skan	* config/arm/arm.md: Rename references to gen_rotated_half_load to
22510169689Skan	arm_gen_rotated_half_load, and references to gen_comapre_reg to
22511169689Skan	arm_gen_compare_reg.
22512169689Skan	(indirect_jump):  Only accept register operands.
22513169689Skan	(load_indirect_jump): Keep this pattern since combine can generate
22514169689Skan	it.
22515169689Skan
22516169689Skan	* config/arm/coff.h: Include aout.h.
22517169689Skan	(MULTILIB_DEFAULTS): Only define if not already defined.
22518169689Skan
22519169689Skan	* config/arm/elf.h (ASM_OUTPUT_DEF_FROM_DECLS): Move definition
22520169689Skan	into arm.h (so that COFF ports can support thumb based aliases).
22521169689Skan	(ASM_SPEC): Move definition into arm.h
22522169689Skan
22523169689Skan	* config/arm/linux-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Remove
22524169689Skan	redundant apcs spec.
22525169689Skan	(ASM_SPEC): Move definition to arm.h
22526169689Skan
22527169689Skan	* config/arm/semi.h (ASM_SPEC): Move definition to arm.h
22528169689Skan
22529169689Skan	* config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Add support
22530169689Skan	for entries in the .bss section
22531169689Skan
22532169689Skan	2000-03-23  Nick Clifton  <nickc@cygnus.com>
22533169689Skan
22534169689Skan	* config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Pass 0
22535169689Skan	to thumb_far_jump_used_p.
22536169689Skan
22537169689Skan	* config/arm/arm-protos.h (thumb_far_jump_used_p): Take a
22538169689Skan	single integer parameter.
22539169689Skan
22540169689Skan	* config/arm/arm.c (struct machine_function): Add two new
22541169689Skan	fields, 'far_jump_used' and 'arg_pointer_live'.
22542169689Skan	(thumb_far_jump_used_p): Once the decision has been made that
22543169689Skan	far jumps might be used, always return true.
22544169689Skan	If being called from the initial elimination offset macro then
22545169689Skan	do not bother to perform the test if the arg pointer is not
22546169689Skan	being used.
22547169689Skan	(thumb_unexpand_epilogue): Pass 1 to thumb_far_jump_used_p().
22548169689Skan	(output_thumb_prologue): Pass 1 to thumb_far_jump_used_p().
22549169689Skan
22550169689Skan	2000-03-23  Richard Earnshaw (rearnsha@arm.com)
22551169689Skan
22552169689Skan	* arm.c (output_return_instruction): Handle more cases where we can
22553169689Skan	return from a function with an ldr instruction.
22554169689Skan	(arm_output_epilogue): Likewise.
22555169689Skan
22556169689Skan	* arm.c (thumb_expand_prologue): Don't clobber the frame pointer
22557169689Skan	if we need to push a large stack frame and there are no callee-saved
22558169689Skan	registers.
22559169689Skan
22560169689Skan	* arm.c (arm_debugger_arg_offset): An offset of 0 is also valid
22561169689Skan	in ARM code if the frame pointer has been eliminated.
22562169689Skan
22563169689Skan	* arm.md (epilogue, *epilogue_insns, consttable_*, align_4): Renumber
22564169689Skan	unspec_volatile arguments to avoid duplicates.
22565169689Skan	(consttable_1, consttable_2): Fixes for big-endian mode.
22566169689Skan
22567169689Skan	* arm.md (all ARM-mode load insns): Add neg_pool_range attribute
22568169689Skan	as appropriate.
22569169689Skan
22570169689Skan	Re-write constant pool code.
22571169689Skan	* arm.c (minipool_node, minipool_fix): New types.
22572169689Skan	(minifix): Delete type.
22573169689Skan	(arm_add_minipool_constant): Delete.
22574169689Skan	(arm_compute_minipool_offsets, arm_find_barrier,
22575169689Skan	arm_find_minipool_constant, fixup_compare, sort_fixups): Likewise.
22576169689Skan	(get_jump_table_size): Now returns HOST_WIDE_INT.
22577169689Skan	(move_minipool_fix_forward_ref, add_minipool_forward_ref): New
22578169689Skan	functions.
22579169689Skan	(move_minipool_fix_backward_ref, add_minipool_backward_ref): Likewise.
22580169689Skan	(assign_minipool_offsets, arm_print_value): Likewise.
22581169689Skan	(dump_minipool): Rewrite.
22582169689Skan	(arm_barrier_cost): New function.
22583169689Skan	(create_fix_barrier): New function.
22584169689Skan	(push_minipool_barrier): New function.
22585169689Skan	(push_minipool_fix): Record additional information about the fixup
22586169689Skan	required.
22587169689Skan	(note_invalid_constants): Remove push for (UNSPEC 3).  Don't
22588169689Skan	check the mode of what needs fixing.
22589169689Skan	(arm_reorg): Rewrite.
22590169689Skan
22591169689Skan	2000-03-08  Nick Clifton  <nickc@cygnus.com>
22592169689Skan
22593169689Skan	* config/arm/arm.md (indirect_jump): Force constant addresses into
22594169689Skan	a register.
22595169689Skan
22596169689Skan	2000-03-01  Bernd Schmidt <bernds@cygnus.co.uk>
22597169689Skan
22598169689Skan	* config/arm/arm.md: Add splitter to turn SF moves into SI moves.
22599169689Skan
22600169689Skan	2000-02-24  Nick Clifton  <nickc@cygnus.com>
22601169689Skan
22602169689Skan	* config/arm/arm.c (thumb_expand_prologue): Make sure that stack
22603169689Skan	adjust is word aligned.
22604169689Skan	(thumb_expand_epilogue): Make sure that stack adjust is word
22605169689Skan	aligned.
22606169689Skan
22607169689Skan	* config/arm/elf.h (ASM_FILE_START): Fix type of version string.
22608169689Skan
22609169689Skan	2000-02-24  Bernd Schmidt <bernds@cygnus.com>
22610169689Skan
22611169689Skan	* config/arm/arm.h (THUMB_GO_IF_LEGITIMATE_ADDRESS): Allow frame
22612169689Skan	pointer relative addresses.
22613169689Skan
22614169689Skan	2000-02-10  Richard Earnshaw  <rearnsha@arm.com>
22615169689Skan
22616169689Skan	* arm.c (find_barrier): Find the last barrier within the allowed
22617169689Skan	range.
22618169689Skan
22619169689Skan	2000-02-09  Nick Clifton  <nickc@cygnus.com>
22620169689Skan
22621169689Skan	* config/arm/arm-protos.h: Replace PROTO with PARAMS.
22622169689Skan
22623169689Skan	2000-02-09  Nick Clifton  <nickc@cygnus.com>
22624169689Skan
22625169689Skan	* config/arm/linux-elf.h (FUNCTION_PROFILER): Rename to
22626169689Skan	ARM_FUNCTION_PROFILER.
22627169689Skan
22628169689Skan	* config/arm/netbsd.h (FUNCTION_PROFILER): Rename to
22629169689Skan	ARM_FUNCTION_PROFILER.
22630169689Skan
22631169689Skan	* config/arm/linux-oldld.h: Imported from mainline sources.
22632169689Skan
22633169689Skan	2000-02-07  Nick Clifton  <nickc@cygnus.com>
22634169689Skan
22635169689Skan	* config/arm/lib1funcs.asm: Merge in thumb functions from
22636169689Skan	lib1thumb.asm.
22637169689Skan
22638169689Skan	* config/arm/lib1thumb.asm: Delete.
22639169689Skan
22640169689Skan	2000-02-04  Nick Clifton  <nickc@cygnus.com>
22641169689Skan
22642169689Skan	* config/arm/arm.c: Sychronised with current Red hat local
22643169689Skan	sources.
22644169689Skan	* config/arm/arm.h: Ditto.
22645169689Skan	* config/arm/arm-protos.h: Ditto.
22646169689Skan
22647169689Skan	2000-02-02  Bernd Schmidt  <bernds@cygnus.co.uk>
22648169689Skan
22649169689Skan	* arm.c (soft_df_operand): Reject SUBREGs containing a constant.
22650169689Skan
22651169689Skan	* arm.c (arm_gen_movstrqi): Generate halfword stores rather than two
22652169689Skan	byte stores.
22653169689Skan
22654169689Skan	2000-02-02  Nick Clifton  <nickc@cygnus.com>
22655169689Skan
22656169689Skan	* config/arm/thumb.c (thumb_exit): Additional fix for same bug.
22657169689Skan
22658169689Skan	* config/arm/arm.md (epilogue): Fix rtl checking abort because
22659169689Skan	(return) was emited using an emit_insn() call.
22660169689Skan
22661169689Skan	2000-01-31  Nick Clifton  <nickc@cygnus.com>
22662169689Skan
22663169689Skan	* config/arm/arm.c (output_thumb_prologue): Fix bug generating
22664169689Skan	thumb stack frame.
22665169689Skan	(thumb_exit): Move frame pointer back into hard frame pointer
22666169689Skan	register if backtracing is being used.
22667169689Skan
22668169689Skan	2000-01-13  Richard Earnshaw (rearnsha@arm.com)
22669169689Skan
22670169689Skan	* Merge trunk code from tag merged-arm-thumb-backend-merge_20000113
22671169689Skan	into branch.
22672169689Skan
22673169689Skan	1999-12-15  Bernd Schmidt  <bernds@cygnus.co.uk>
22674169689Skan
22675169689Skan	* config/arm/arm.md (neg_pool_offset): Provide default for new
22676169689Skan	attribute.
22677169689Skan	(arm_movsi_insn): Add neg_pool_offset attribute.
22678169689Skan	* config/arm/arm.c (arm_find_barrier): Replace arg FIX with an
22679169689Skan	rtx for the insn that starts the scan and an unsigned long for its
22680169689Skan	address.  Add MIN_OFFSET and PINSERTED args.  All callers changed.
22681169689Skan	Change scan to ignore insns before MIN_OFFSET.  Store size of inserted
22682169689Skan	instructions in *PINSERTED.
22683169689Skan	(struct minipool_fixup): Add MIN_ADDRESS elt.
22684169689Skan	(sort_fixups): Compute it.
22685169689Skan	(arm_reorg): Changes to support inserting pools before the insn to be
22686169689Skan	fixed up.
22687169689Skan
22688169689Skan	1999-12-08  Bernd Schmidt  <bernds@cygnus.co.uk>
22689169689Skan
22690169689Skan	* config/arm/elf.h (MULTILIB_DEFAULTS): Add "marm".
22691169689Skan	* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Add "marm".
22692169689Skan	* config/arm/coff.h (MULTILIB_DEFAULTS): Add "marm".
22693169689Skan
22694169689Skan	Wed Nov  3 10:04:07 1999  Nick Clifton  <nickc@cygnus.com>
22695169689Skan
22696169689Skan	* config/arm/semi.h (TARGET_VERSION): Do not define if already
22697169689Skan	defined.
22698169689Skan	(TARGET_DEFAULT): Do not define if already defined.
22699169689Skan
22700169689Skan	Tue Nov  2 10:37:25 1999  Nick Clifton  <nickc@cygnus.com>
22701169689Skan
22702169689Skan	* config/arm/arm.md (anddi3): Allow disjoint source operands.
22703169689Skan	(iordi3): Allow disjoint source operands.
22704169689Skan	(xordi3): Allow disjoint source operands.
22705169689Skan	(negdi2): Permit construction for ARM and Thumb.
22706169689Skan	(arm_negdi2): Renamed version of old negdi2 pattern.
22707169689Skan	(thumb_negdi2): New pattern: Only permit non-overlapping
22708169689Skan	source and destination.
22709169689Skan
22710169689Skan	Fri Oct 29 18:52:38 1999  Nick Clifton  <nickc@cygnus.com>
22711169689Skan
22712169689Skan	* config/arm/arm.c (thumb_expand_prologue): Emit a USE of the
22713169689Skan	scratch low register so that it will not be deleted.
22714169689Skan
22715169689Skan	Fri Oct 29 15:23:48 1999  Nick Clifton  <nickc@cygnus.com>
22716169689Skan
22717169689Skan	* config/arm/pe.h (ARM_PE): Define.
22718169689Skan
22719169689Skan	* config/arm/arm.c (arm_valid_machine_decl_attribute): Allow
22720169689Skan	interfacearm attribute if this is a PE toolchain.
22721169689Skan	(output_return_instruction): Do not emit anything if the function
22722169689Skan	has the naked attribute set.
22723169689Skan	(is_called_in_ARM_mode): If the function has the interfacearm
22724169689Skan	attribute then return true.
22725169689Skan	(thumb_expand_prologue): Do not generate a prologue for naked
22726169689Skan	functions.
22727169689Skan	(thumb_expand_epilogue): Do not generate an epilogie for a naked
22728169689Skan	function.
22729169689Skan	(output_thumb_prologue): Do not bother if the function is naked.
22730169689Skan	Strip PE encoding from function name before emitting.
22731169689Skan
22732169689Skan	Thu Oct 28 11:05:13 1999  Richard Earnshaw <rearnsha@arm.com>
22733169689Skan
22734169689Skan	* arm.md (pic_load_addr): Fix constraints.
22735169689Skan
22736169689Skan	* arm.md (casesi_insn): Fix mis-applied patch.
22737169689Skan
22738169689Skan	* arm.md ("core" function unit): Add rules for single- and
22739169689Skan	multi-cycle insns.
22740169689Skan	(All TARGET_THUMB patterns): Add "type" attribute information
22741169689Skan	where needed.
22742169689Skan	* arm.c (arm_adjust_cost): Reduce the cost of a data dependency if
22743169689Skan	the following insn is a CALL.
22744169689Skan
22745169689Skan	* arm.c (thumb_expand_epilogue): Add a use of the adjusted stack
22746169689Skan	pointer.
22747169689Skan	* arm.h (CONDITIONAL_REGISTER_USAGE): Nail down the
22748169689Skan	ARM_HARD_FRAME_POINTER_REGNUM when TARGET_APCS_FRAME.
22749169689Skan	(FRAME_POINTER_REQUIRED): Only check TARGET_APCS_FRAME if TARGET_ARM.
22750169689Skan
22751169689Skan	Wed Oct 27 14:40:48 1999  Nick Clifton  <nickc@cygnus.com>
22752169689Skan
22753169689Skan	* config/arm/linux-gas.h: oops - this file was missed out when the
22754169689Skan	branch was created...
22755169689Skan
22756169689Skan	Tue Oct 26 17:07:38 1999  Richard Earnshaw <rearnsha@arm.com>
22757169689Skan
22758169689Skan	* thumb.c: Deleted.  Move contents to ...
22759169689Skan	* arm.c: ... here.
22760169689Skan	* t-arm-aout, t-arm-coff, t-arm-elf, t-linux, t-netbsd, t-semi: Remove
22761169689Skan	rule for thumb.o
22762169689Skan	* configure.in (arm*-*-*): Remove thumb.o from extra_objs list.
22763169689Skan	* configure: Regen.
22764169689Skan
22765169689Skan	* arm-protos.h: Use RTX_CODE and tidy up long lines.  Don't
22766169689Skan	declare a prototype for asm_output_align();
22767169689Skan
22768169689Skan	* arm.c (thumb_condition_code): Delete.
22769169689Skan	(arm_print_operand): Always use arm_condition_code array.
22770169689Skan
22771169689Skan	* arm.c (thumb_return_addr_rtx): Delete.
22772169689Skan	(arm_save_machine_status, arm_restore_machine_status): Delete.
22773169689Skan	(arm_init_machine_status, arm_mark_machine_status): New functions.
22774169689Skan	(arm_init_expanders): Update accordingly.
22775169689Skan	(arm_return_addr): Renamed from arm_return_addr_rtx.  Rewrite.
22776169689Skan	(thumb_expand_prologue): Delete code referencing thumb_return_addr_rtx.
22777169689Skan	* arm.h (RETURN_ADDR_RTX): Call arm_return_addr().
22778169689Skan
22779169689Skan	Tue Oct 26 13:24:16 1999  Nick Clifton  <nickc@cygnus.com>
22780169689Skan
22781169689Skan	* configure.in : Fix arm-*-aout target to use new t-arm-aout
22782169689Skan	script.
22783169689Skan	* config/arm/t-arm-aout: New file: Makefile script for arm-*-aout
22784169689Skan	targets.
22785169689Skan
22786169689Skan	Tue Oct 26 11:27:12 1999  Nick Clifton  <nickc@cygnus.com>
22787169689Skan
22788169689Skan	* config/arm/thumb.c (output_thumb_prologue): Fix bug creating
22789169689Skan	stack backtrace structure.
22790169689Skan
22791169689Skan	* config/arm/arm-protos.h: Add prototypes for functions defined in
22792169689Skan	arm/pe.h.
22793169689Skan
22794169689Skan	* config/arm/arm.c (arm_override_options): Fix selection of
22795169689Skan	attributes of default processor.
22796169689Skan
22797169689Skan	* config/arm/coff.h: Delete needless #include.
22798169689Skan
22799169689Skan	* config/arm/pe.c: Delete unused code.
22800169689Skan
22801169689Skan	* config/arm/pe.h (CPP_DEFINES): Delete
22802169689Skan	(SUBTARGET_CPP_SPEC): Define.
22803169689Skan	(ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
22804169689Skan
22805169689Skan	* config/arm/t-pe: Add -DInhibit_libc to allof libgcc.a to build.
22806169689Skan
22807169689Skan	Mon Oct 25 15:42:09 1999  Richard Earnshaw (rearnsha@arm.com)
22808169689Skan
22809169689Skan	* arm.h (TARGET_APCS_FRAME): Renamed from TARGET_APCS -- all uses
22810169689Skan	updated.
22811169689Skan	(CAN_DEBUG_WITHOUT_FP): Define.
22812169689Skan	(FIXED_REGISTERS): Make r11 call-saved.
22813169689Skan	(CALL_USED_REGISTERS): Likewise.
22814169689Skan	(CONDITIONAL_REGISTER_USAGE): Fix r11 if TARGET_APCS_FRAME.
22815169689Skan	(FRAME_POINTER_REQUIRED): Correct logic for determining when a
22816169689Skan	frame-pointer is required.
22817169689Skan	(TARGET_DEFAULT): Make default setting include ARM_FLAG_APCS_FRAME.
22818169689Skan	* arm.c (arm_override_options): Warn about -mno-apcs-frame and -g
22819169689Skan	if the target normally needs a stack frame in non-leaf functions.
22820169689Skan	(use_return_insn): Correct logic for determining when a return
22821169689Skan	instruction can be used.
22822169689Skan	(output_return_instruction): Handle the frame-pointer register as
22823169689Skan	a normal register when not TARGET_APCS_FRAME.
22824169689Skan	(arm_output_prologue): Likewise.
22825169689Skan	(arm_output_epilogue): Likewise.
22826169689Skan	(output_func_epilogue): Likewise.
22827169689Skan	(arm_expand_prologue): Likewise.
22828169689Skan	* netbsd.h semi.h (TARGET_DEFAULT): Add ARM_FLAG_APCS_FRAME.
22829169689Skan
22830169689Skan	* arm.c (use_return_insn): No need to check floating point regs if
22831169689Skan	TARGET_SOFT_FLOAT.
22832169689Skan	(arm_find_minipool_constant): Correct typo; use GET_CODE to get
22833169689Skan	the code of value stored in the minipool array.
22834169689Skan	(arm_add_minipool_constant): Likewise.
22835169689Skan
22836169689Skan2000-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
22837169689Skan
22838169689Skan	* basic-block.h (conflict_graph_enum_fn): K&R fix.
22839169689Skan
22840169689Skan2000-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
22841169689Skan
22842169689Skan	* tree.c (tree_expr_nonnegative_p): New function.
22843169689Skan
22844169689Skan	* tree.h (tree_expr_nonnegative_p): Declare.
22845169689Skan
22846169689Skan	* c-typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to
22847169689Skan	elide some sign_compare warnings.
22848169689Skan	(build_conditional_expr): Likewise.
22849169689Skan
22850169689SkanSat Apr  8 00:21:51 EDT 2000  John Wehle  (john@feith.com)
22851169689Skan
22852169689Skan	* i386.md (ashrsi3, ashrhi3, ashrqi3): Fix typo.
22853169689Skan
22854169689Skan	* i386.md (floathisf2, floathidf2, floathixf2): New patterns.
22855169689Skan	* i386.c (print_operand): Use the proper suffix for a 387 HImode
22856169689Skan	operand.  Abort if a 387 operand has an unsupported size.
22857169689Skan
22858169689Skan2000-04-08  Neil Booth  <NeilB@earthling.net>
22859169689Skan
22860169689Skan	* cppexp.c (parse_charconst): Null does not end character
22861169689Skan	constants.
22862169689Skan	* cppinit.c (ISTABLE): Null character handled as whitespace.
22863169689Skan	* cpplex.c (null_warning):  new function.
22864169689Skan	(skip_string): Emit warning if nulls encountered.
22865169689Skan	(_cpp_skip_hspace): Emit warning if nulls encountered.
22866169689Skan	(_cpp_lex_token): Emit warning if nulls encountered.  Drop
22867169689Skan	them.
22868169689Skan	* cpp.texi: Update.
22869169689Skan
22870169689Skan2000-04-07  Richard Henderson  <rth@cygnus.com>
22871169689Skan
22872169689Skan	* flow.c (loop_depth): Remove.
22873169689Skan	(reg_next_use, cc0_live, mem_set_list): Replace with ...
22874169689Skan	(struct propagate_block_info): New.
22875169689Skan	(life_analysis): Don't allocate reg_next_use.
22876169689Skan	(propagate_block_delete_insn): Break out of propagate_block.
22877169689Skan	Use flow_delete_insn to unlink rather than use NOTE_INSN_DELETED.
22878169689Skan	(propagate_block_delete_libcall): Likewise.
22879169689Skan	(propagate_block): Create a propagate_block_info struct to pass
22880169689Skan	to subroutines.  Allocate one not two temporary regsets.  Don't
22881169689Skan	clobber memory for const calls.  Look for clobbers in
22882169689Skan	CALL_INSN_FUNCTION_USAGE.
22883169689Skan	(mark_set_regs): Recognize COND_EXEC.
22884169689Skan	(mark_set_reg): Break out of mark_set_1.
22885169689Skan	(mark_used_reg): Break out of mark_used_regs.
22886169689Skan	(mark_used_regs): Recognize COND_EXEC.
22887169689Skan	(insn_dead_p): Use propagate_block_info struct.
22888169689Skan	(libcall_dead_p, invalidate_mems_from_autoinc): Likewise.
22889169689Skan	(find_auto_inc, try_pre_increment_1): Likewise.
22890169689Skan	(print_rtl_with_bb): Dump regs live at end too.
22891169689Skan	(count_reg_sets_1): Pass in loop_depth.
22892169689Skan	(count_reg_sets, count_reg_references): Likewise.
22893169689Skan	(recompute_reg_usage): Provide it.
22894169689Skan
22895169689Skan2000-04-07  Richard Henderson  <rth@cygnus.com>
22896169689Skan
22897169689Skan	* Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H)
22898169689Skan	not the raw files.
22899169689Skan
22900169689Skan2000-04-07  Zack Weinberg  <zack@wolery.cumb.org>
22901169689Skan
22902169689Skan	* cpplib.c (do_elif): Skip the rest of the line if we're
22903169689Skan	not going to bother evaluating it.
22904169689Skan	(skip_if_group): Clear pfile->only_seen_white.  Reorder loop
22905169689Skan	to avoid pointless calls to the lexer.
22906169689Skan
22907169689SkanFri Apr  7 11:50:54 2000  Jim Wilson  <wilson@cygnus.com>
22908169689Skan
22909169689Skan	* config/ia64/ia64.c: Delete stdio.h and ctype.h includes.
22910169689Skan
22911169689Skan2000-04-07  Jason Merrill  <jason@casey.cygnus.com>
22912169689Skan
22913169689Skan	* calls.c (expand_call): emit_queue if we're trying a sibcall.
22914169689Skan
22915169689Skan2000-04-07  Jakub Jelinek  <jakub@redhat.com>
22916169689Skan
22917169689Skan	* config/sparc/t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove.
22918169689Skan
22919169689Skan2000-04-06  Geoff Keating  <geoffk@cygnus.com>
22920169689Skan
22921169689Skan	* Makefile.in: Build crtbeginS and crtendS like crtbegin and
22922169689Skan	crtend so they can be multilibbed.
22923169689Skan	(STAGESTUFF): Remove s-crt and s-crtS.
22924169689Skan
22925169689Skan2000-04-07  Richard Henderson  <rth@cygnus.com>
22926169689Skan
22927169689Skan	* config/alpha/alpha.c (alpha_emit_conditional_move): Fail
22928169689Skan	if we discover we need a pseudo and no_new_pseudos is true.
22929169689Skan	* config/alpha/alpha.md (ne:DI insn): New.
22930169689Skan	(trunctfsf2, sne): Emit NE instead of non-canonical LTU.
22931169689Skan
22932169689Skan2000-04-07  Richard Henderson  <rth@cygnus.com>
22933169689Skan
22934169689Skan	* rtl.def (COND_EXEC): New.
22935169689Skan	* rtl.h (COND_EXEC_TEST, COND_EXEC_CODE): New.
22936169689Skan	* tm.texi (MAX_CONDITIONAL_EXECUTE): Document.
22937169689Skan
22938169689Skan	* genconfig.c (have_cond_arith_flag): Remove.
22939169689Skan	(have_cond_exec_flag): New.
22940169689Skan	(walk_insn_part): Detect COND_EXEC, not arithmetic in IF_THEN_ELSE.
22941169689Skan	(main): Print HAVE_conditional_execution.
22942169689Skan
22943169689Skan	* haifa-sched.c (haifa_classify_insn): Recognize COND_EXEC.
22944169689Skan	(sched_analyze_insn, print_pattern): Likewise.
22945169689Skan	* reload.c (find_equiv_reg): Likewise.
22946169689Skan	* rtlanal.c (reg_referenced_p): Likewise.
22947169689Skan	(note_stores, dead_or_set_regno_p): Likewise.
22948169689Skan	(reg_overlap_mentioned_p): Rewrite to use a switch.
22949169689Skan
22950169689Skan	* ggc.h (struct rtx_def): Forward declare.
22951169689Skan
22952169689Skan	* print-rtl.c (debug_rtx_range): New.
22953169689Skan	* rtl.h (debug_rtx_range): Declare.
22954169689Skan
22955169689Skan	* varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New.
22956169689Skan
22957169689Skan	* gcse.c (gcse_main): Don't rebuild the CFG here.
22958169689Skan	(delete_null_pointer_checks): Likewise.
22959169689Skan	* ssa.c (convert_to_ssa): Likewise.
22960169689Skan	* toplev.c (rest_of_compilation): Do it here instead.  Combine
22961169689Skan	sequential calls to TIMEVAR.  Consistently use `insns' instead of
22962169689Skan	`get_insns()'.  Always split insns after reload when optimizing.
22963169689Skan
22964169689Skan	* basic-block.h (merge_blocks_nomove): Declare.
22965169689Skan	(tidy_fallthru_edge): Declare.
22966169689Skan	* flow.c (merge_blocks_nomove): Document as merging into previous
22967169689Skan	blocks.  Remove cruft from between blocks; remove all edges out of A.
22968169689Skan	(tidy_fallthru_edge): Export.
22969169689Skan
22970169689Skan2000-04-06  Alex Samuel  <samuel@codesourcery.com>
22971169689Skan
22972169689Skan	* ssa.c (compute_conservative_reg_partition): Declare with
22973169689Skan	void arguments.
22974169689Skan	* toplev.c (clean_dump_file): Remove previously-deleted function
22975169689Skan	inadvertantly merged back in.
22976169689Skan	* conflict.c (conflict_graph_add): Use a single call to
22977169689Skan	htab_find_slot to look up and insert.
22978169689Skan
22979169689Skan2000-04-06  Richard Henderson  <rth@cygnus.com>
22980169689Skan
22981169689Skan	* genrecog.c (*): Rename _last_insn to last_insn.
22982169689Skan	(make_insn_sequence): Set the position of the peephole2 C test
22983169689Skan	to be at the last insn.
22984169689Skan
22985169689Skan2000-04-06  Richard Henderson  <rth@cygnus.com>
22986169689Skan
22987169689Skan	* flow.c (compute_flow_dominators): Free worklist.
22988169689Skan
22989169689Skan2000-04-06  Michael Matz  <matzmich@cs.tu-berlin.de>
22990169689Skan
22991169689Skan	* flow.c (compute_flow_dominators): Process blocks FIFO not LIFO.
22992169689Skan
22993169689Skan2000-04-06  Alex Samuel  <samuel@codesourcery.com>
22994169689Skan
22995169689Skan	* rtl.h (INSN_P): New macro.
22996169689Skan	(successor_phi_fn): New typedef.
22997169689Skan	(for_each_successor_phi): New prototype.
22998169689Skan	(in_ssa_form): New variable.
22999169689Skan	(PHI_NODE_P): Likewise.
23000169689Skan	* flow.c (calculate_global_regs_live): Add to new_live_at_end from
23001169689Skan	phi nodes in successors.
23002169689Skan	(mark_used_regs): Add PHI case.
23003169689Skan	(set_phi_alternative_reg): New function.
23004169689Skan	(life_analysis): Assert that dead code elimination is not selected
23005169689Skan	when in SSA form.
23006169689Skan	* toplev.c (to_ssa_time): New variable.
23007169689Skan	(from_ssa_time): Likewise.
23008169689Skan	(compile_file): Zero to_ssa_time and from_ssa_time.
23009169689Skan	Print time to convert to and from SSA.
23010169689Skan	(rest_of_compilation): Time convert_to_ssa and convert_from_ssa.
23011169689Skan	(print_time): Compute percent fraction as integer.
23012169689Skan	* ssa.c (PHI_NODE_P): Moved to rtl.h.
23013169689Skan	(convert_to_ssa): Check if we're already in SSA.
23014169689Skan	Don't eliminate dead code in life_analysis.
23015169689Skan	Rerun flow and life analysis at bottom.
23016169689Skan	(eliminate_phi): Use canonical regnos when adding nodes.
23017169689Skan	(mark_reg_in_phi): New function.
23018169689Skan	(mark_phi_and_copy_regs): Likewise.
23019169689Skan	(convert_from_ssa): Rerun life analysis at top.
23020169689Skan	Use coalesced partition.
23021169689Skan	Check for removing a phi node at the end of the block.
23022169689Skan	(compute_coalesced_reg_partition): New function.
23023169689Skan	(coalesce_regs_in_copies): Likewise.
23024169689Skan	(coalesce_reg_in_phi): Likewise.
23025169689Skan	(coalesce_regs_in_successor_phi_nodes): Likewise.
23026169689Skan	(for_each_successor_phi): Likewise.
23027169689Skan	(rename_context): New struct.
23028169689Skan	(rename_block): Use a rename_context with rename_insn_1.  When
23029169689Skan	renaming sets of a subreg, emit a copy of the entire reg first.
23030169689Skan	(rename_insn_1): Treat data as a rename_context *.  Save current
23031169689Skan	insn in set_data.
23032169689Skan	(rename_set_data): Add field set_insn.
23033169689Skan	* Makefile.in (HASHTAB_H): Move up in file.
23034169689Skan	(OBSTACK_H): New macro.
23035169689Skan	(collect2.o): Use OBSTACK_H in dependencies.
23036169689Skan	(sdbout.o): Likewise.
23037169689Skan	(emit-rtl.o): Likewise.
23038169689Skan	(simplify-rtx.o): Likewise.
23039169689Skan	(fix-header.o): Likewise.
23040169689Skan	(OBJS):	Add conflict.o.
23041169689Skan	(conflict.o): New rule.
23042169689Skan	* basic-block.h: Include partition.h.
23043169689Skan	(conflict_graph): New typedef.
23044169689Skan	(conflict_graph_enum_fn): Likewise.
23045169689Skan	(conflict_graph_new): New prototype.
23046169689Skan	(conflict_graph_delete): Likewise.
23047169689Skan	(conflict_graph_add): Likewise.
23048169689Skan	(conflict_graph_conflict_p): Likewise.
23049169689Skan	(conflict_graph_enum): Likewise.
23050169689Skan	(conflict_graph_merge_regs): Likewise.
23051169689Skan	(conflict_graph_print): Likewise.
23052169689Skan	(conflict_graph_compute): Likewise.
23053169689Skan	* conflict.c: New file.
23054169689Skan
23055169689Skan2000-04-06  Jason Merrill  <jason@yorick.cygnus.com>
23056169689Skan
23057169689Skan	* tlink.c (read_repo_files): Don't look for .rpo info for
23058169689Skan	linker flags.
23059169689Skan
23060169689SkanThu Apr  6 20:39:26 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
23061169689Skan
23062169689Skan	* sh.h (STRUCT_VALUE, RETURN_IN_MEMORY): Define.
23063169689Skan
23064169689SkanThu Apr  6 19:34:08 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
23065169689Skan
23066169689Skan	* config/sh/lib1funcs.asm (___udivsi3_i4):
23067169689Skan	( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr
23068169689Skan	only depends on FMOVD_WORKS.
23069169689Skan
23070169689SkanThu Apr  6 19:11:47 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
23071169689Skan
23072169689Skan	* config/sh/lib1funcs.asm (___udivsi3_i4): When using fmovd,
23073169689Skan	make double constant 8-byte aligned.
23074169689Skan
23075169689Skan2000-04-06  Jakub Jelinek  <jakub@redhat.com>
23076169689Skan
23077169689Skan	* config/sparc/sparc.md (movtf_insn_sp32, movtf_insn_vis_sp32,
23078169689Skan	movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_hq_vis_sp64,
23079169689Skan	movtf_no_e_insn_sp64): Accept loading 0.0 into GENERAL_REGS.
23080169689Skan	(movtf_insn_sp64, movtf_insn_vis_sp64): Likewise.
23081169689Skan	Accept storing GENERAL_REGS into offsetable memory.
23082169689Skan	* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Don't allow
23083169689Skan	building a TFmode constant other than 0.0L into GENERAL_REGS.
23084169689Skan
23085169689Skan2000-04-06  Clinton Popetz  <cpopetz@cygnus.com>
23086169689Skan
23087169689Skan	* regrename.c (regrename_optimize): Handle no REG_ALLOC_ORDER.
23088169689Skan
23089169689Skan2000-04-06  Zack Weinberg  <zack@wolery.cumb.org>
23090169689Skan
23091169689Skan	* cpphash.c (CPP_IS_MACRO_BUFFER, FORWARD, PEEKC): Delete.
23092169689Skan	(macro_cleanup): No need to cast pbuf->macro.
23093169689Skan	(collect_expansion): Use _cpp_get_define_token.  Goto done if
23094169689Skan	it returns VSPACE.  Remove check for trailing space after
23095169689Skan	CPP_COMMENT.
23096169689Skan	(_cpp_create_definition): Don't diddle flags here.  Return
23097169689Skan	directly on error.
23098169689Skan	(unsafe_chars): Handle c1 being EOF.
23099169689Skan	(push_macro_expansion): Use unsafe_chars for both accidental-paste
23100169689Skan	checks.  Don't push the buffer till after we're done with
23101169689Skan	them.
23102169689Skan	* cpplex.c (PEEKBUF, GETBUF, FORWARDBUF): New.
23103169689Skan	(PEEKN, FORWARD, GETC, PEEKC): Use them.
23104169689Skan	(cpp_push_buffer): Don't set new->alimit.  Set new->mark
23105169689Skan	appropriately.
23106169689Skan	(_cpp_parse_assertion): Don't NUL terminate.
23107169689Skan	(_cpp_lex_token): Fix -traditional macro handling.  Don't skip
23108169689Skan	hspace before calling _cpp_parse_assertion.  Remove all sets
23109169689Skan	of only_seen_white. Treat '\f' as hspace.  Don't do anything
23110169689Skan	special with '\n' here.
23111169689Skan	(maybe_macroexpand): Handle T_EMPTY hash entries without
23112169689Skan	pushing a buffer at all.
23113169689Skan	(cpp_get_token): Handle clearing only_seen_white here.  Handle
23114169689Skan	incrementing the line number here.  Clear
23115169689Skan	potential_control_macro as well as only_seen_white, if
23116169689Skan	appropriate.
23117169689Skan	(cpp_get_non_space_token): Don't eat CPP_POP tokens.
23118169689Skan	(_cpp_get_define_token): New function, basically like
23119169689Skan	_cpp_get_directive_token was but doesn't eat horizontal space.
23120169689Skan	Don't do anything with only_seen_white here.
23121169689Skan	(_cpp_get_directive_token): Just call _cpp_get_define_token
23122169689Skan	repeatedly till it returns non-hspace.
23123169689Skan
23124169689Skan	* cpplib.c (PEEKN, FORWARD, GETC, PEEKC): Delete.
23125169689Skan	(conditional_skip, skip_if_group): Return int.
23126169689Skan	(DIRECTIVE_TABLE): Change origin of all conditional directives
23127169689Skan	to "COND".
23128169689Skan	(TRAD_DIRECT_P): New macro.
23129169689Skan	(_cpp_handle_directive): Use _cpp_get_directive_token.  Issue
23130169689Skan	an error for a bogus directive, unless -lang-asm.  Use
23131169689Skan	TRAD_DIRECT_P. Loop calling handler functions till one returns
23132169689Skan	zero.
23133169689Skan	(get_macro_name): Don't diddle flags here.
23134169689Skan	(do_define): Diddle flags here.  Use _cpp_get_directive_token.
23135169689Skan	Create T_EMPTY nodes for #define macro /* nothing */.
23136169689Skan	(do_undef): Don't copy the name.  Use _cpp_get_directive_token.
23137169689Skan	Use hp->name when calling pass_thru_directive.
23138169689Skan	(do_if, do_else, do_elif, do_ifdef, do_ifndef, conditional_skip):
23139169689Skan	Return the result of conditional_skip and/or skip_if_group.
23140169689Skan	Don't call _cpp_output_line_command.
23141169689Skan	(consider_directive_while_skipping): Use _cpp_get_directive_token.
23142169689Skan	Issue -Wtraditional warnings as appropriate.  Don't complain
23143169689Skan	about unrecognized directives.  If we are to stop skipping,
23144169689Skan	return the number of the directive that ended the skip.
23145169689Skan	(skip_if_group): Use _cpp_get_directive_token.  Turn off macro
23146169689Skan	expansion and line commands while skipping.  Return the result
23147169689Skan	of consider_directive_while_skipping, if nonzero.
23148169689Skan	(do_endif): Just set potential_control_macro here.
23149169689Skan	(validate_else): Use _cpp_get_directive_token.
23150169689Skan	(do_assert, do_unassert): Don't save pointers into the
23151169689Skan	token_buffer across calls to the lexer.  Use
23152169689Skan	_cpp_get_directive_token.
23153169689Skan
23154169689Skan	* cpplib.h (cpp_buffer): Remove alimit and colno.  Make mark a
23155169689Skan	pointer, not an offset.  Replace 'data', which was a generic
23156169689Skan	pointer, with 'macro', which points to a struct hashnode.
23157169689Skan	(cpp_reader): Add 'potential_control_macro' pointer.
23158169689Skan	* cpphash.h (T_UNUSED): Replace with T_EMPTY.
23159169689Skan	(CPP_BUF_GET, CPP_FORWARD): Delete.
23160169689Skan	(CPP_IN_COLUMN_1, ADJACENT_TO_MARK): New macros.
23161169689Skan	(CPP_IS_MACRO_BUFFER, CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK,
23162169689Skan	ACTIVE_MARK_P): Update.
23163169689Skan	(_cpp_get_define_token): New internal function.
23164169689Skan	* cppfiles.c (read_include_file): Don't set fp->alimit or fp->colno.
23165169689Skan
23166169689Skan2000-04-05   Benjamin Kosnik  <bkoz@cygnus.com>
23167169689Skan
23168169689Skan	* configure.in: And here.
23169169689Skan	* configure: Regenerate.
23170169689Skan	* acconfig.h: Add ENABLE_STD_NAMESPACE to set flag_honor_std if
23171169689Skan	--enable-libstdcxx-v3 is passed at configure time.
23172169689Skan	* config.h.in: Regenerate.
23173169689Skan
23174169689Skan2000-04-05  Mark Mitchell  <mark@codesourcery.com>
23175169689Skan
23176169689Skan	* final.c (final): Use xcalloc to allocate line_note_exists.
23177169689Skan	* function.c (free_after_compilation): Free the temp_slots.
23178169689Skan	(assign_stack_temp_for_type): Use xmalloc to allocate temp_slots.
23179169689Skan	(combine_temp_slot): Free temp_slots when they get combined.
23180169689Skan	(purge_addressof): Fix typo in comment.
23181169689Skan	* stmt.c (mark_goto_fixup): Mark the fixup itself.
23182169689Skan	(expand_fixup): Allocate the fixup with ggc_alloc_obj.
23183169689Skan
23184169689Skan	* ggc.h: Include varray.h.
23185169689Skan	(ggc_pending_trees): Declare.
23186169689Skan	(ggc_mark_tree_children): Remove declaration.
23187169689Skan	(ggc_mark_tree): Just push unmarked trees on ggc_pending_trees.
23188169689Skan	* ggc-common.c (ggc_pending_trees): New variable.
23189169689Skan	(ggc_mark_roots): Call ggc_mark_trees.
23190169689Skan	(ggc_mark_tree_children): Rename to ggc_mark_trees.  Process all
23191169689Skan	the ggc_pending_trees.
23192169689Skan	* Makefile.in (GGC_H): New variable.  Use it throughout in place
23193169689Skan	of ggc.h.
23194169689Skan
23195169689SkanThu Apr  6 00:30:50 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
23196169689Skan
23197169689Skan	* sh.h (FUNCTION_ARG_PARTIAL_NREGS): Accommodate an unsigned
23198169689Skan	GET_MODE_SIZE.
23199169689Skan
23200169689SkanWed Apr  5 23:17:10 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
23201169689Skan
23202169689Skan	* sh.c (sh_insn_length_adjustment): New function.
23203169689Skan	* sh-protos.h (sh_insn_length_adjustment): Declare.
23204169689Skan	* sh.h (ADJUST_INSN_LENGTH): Use it.
23205169689Skan
23206169689SkanWed Apr  5 12:35:18 2000  Hans-Peter Nilsson  <hp@axis.com>
23207169689Skan
23208169689Skan	* optabs.c (emit_libcall_block): Remove spurious REG_EQUAL notes
23209169689Skan	from the insn where REG_RETVAL is added.
23210169689Skan	(emit_no_conflict_block): Ditto.
23211169689Skan
23212169689Skan	* md.texi (Standard Names): Clarify when movX is needed.
23213169689Skan
23214169689Skan	* combine.c (simplify_comparison) [MINUS]: Do not replace
23215169689Skan	all (op (minus A B) 0) with (op A B).
23216169689Skan
23217169689SkanWed Apr  5 18:03:31 2000  Toshiyasu Morita  (toshi.morita@sega.com)
23218169689Skan			  J"orn Rennecke <amylaar@cygnus.co.uk>
23219169689Skan
23220169689Skan	* sh.md (block_lump_real_i4): Add missing clobber of T_REG
23221169689Skan	(block_lump_real): Likewise.
23222169689Skan
23223169689Skan2000-04-05  Chris Demetriou  <cgd@netbsd.org>
23224169689Skan
23225169689Skan	* mips.h (MASK_DEBUG_A, MASK_DEBUG_B, MASK_DEBUG_C): Zero the
23226169689Skan	remaining nonzero debugging masks.
23227169689Skan
23228169689SkanWed Apr  5 09:44:07 2000  Jeffrey A Law  (law@cygnus.com)
23229169689Skan
23230169689Skan	* basic-block.h (verify_flow_info): Declare.
23231169689Skan	(flow_loop_outside_edge_p): Declare.
23232169689Skan	* flow.c (verify_flow_info): Remove declaration.
23233169689Skan	(clear_log_links, flow_loop_outside_edge_p): Likewise.
23234169689Skan
23235169689SkanWed Apr  5 09:34:26 2000  Philippe De Muyter <phdm@macqel.be>
23236169689Skan
23237169689Skan	* m68k/m68k-protos.h (finalize_pic): Turn prototype off using `#if 0',
23238169689Skan	not C++ comments.
23239169689Skan
23240169689Skan2000-04-05  Jakub Jelinek  <jakub@redhat.com>
23241169689Skan
23242169689Skan	* config/sparc/sparc.md (snedi_zero+1, neg_snedi_zero+1,
23243169689Skan	snedi_zero_trunc+1, seqdi_zero+1, neg_seqdi_zero+1,
23244169689Skan	seqdi_zero_trunc+1): Allow splits only if registers are
23245169689Skan	different.
23246169689Skan
23247169689Skan2000-04-04  Ulrich Drepper  <drepper@cygnus.com>
23248169689Skan
23249169689Skan	* acconfig.h: Add HAVE_GAS_HIDDEN.
23250169689Skan	* config.in: Regenerated.
23251169689Skan	* configure.in: Add test for .hidden pseudo-op in gas.
23252169689Skan	* configure: Regenerated.
23253169689Skan	* crtstuff.c: Include auto-host.h.
23254169689Skan	Emit additional .hidden pseudo-op for __dso_handle if the
23255169689Skan	assembler knows about it.
23256169689Skan
23257169689Skan2000-04-04  Philippe De Muyter  <phdm@macqel.be>
23258169689Skan
23259169689Skan	* cpphash.c (_cpp_free_definition): Test argnames, not nargs >= 0,
23260169689Skan	before freeing argnames.
23261169689Skan	* cpplib.c (do_ifndef): Cast return value of xstrdup.
23262169689Skan
23263169689Skan2000-04-05  Michael Meissner  <meissner@redhat.com>
23264169689Skan
23265169689Skan	* config/rs6000/rs6000.c (print_operand): Patch from Jonathan
23266169689Skan	Walton <jonboy@gordian.com> to make memory references with update
23267169689Skan	work wtih -mregnames.
23268169689Skan
23269169689Skan2000-04-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
23270169689Skan
23271169689Skan	* regrename.c (regno_first_use_in): Wrap prototype in PARAMS.
23272169689Skan	(regrename_optimize): Rename variables `def_uses' and
23273169689Skan	`ext_basic_blocks' to avoid conflicts with similarly named
23274169689Skan	typedefs in traditional C.
23275169689Skan
23276169689Skan	* calls.c (initialize_argument_information): Fix typo in previous
23277169689Skan	change.
23278169689Skan
23279169689Skan2000-04-04  Richard Henderson  <rth@cygnus.com>
23280169689Skan
23281169689Skan	* regrename.c (consider_available): Test fixed_regs not
23282169689Skan	PIC_OFFSET_TABLE_REGNUM.
23283169689Skan
23284169689Skan2000-04-04  Geoff Keating  <geoffk@cygnus.com>
23285169689Skan
23286169689Skan	* config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbegin,
23287169689Skan	crtend.
23288169689Skan	(CRTSTUFF_T_CFLAGS_S): Delete definition.
23289169689Skan	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Always use crtbegin.
23290169689Skan	(ENDFILE_LINUX_SPEC): Always use crtend.
23291169689Skan	* configure.in (powerpc-*-linux-gnulibc1): Don't define extra_parts.
23292169689Skan	(powerpc-*-linux-gnu): Likewise.
23293169689Skan	* configure: Regenerate.
23294169689Skan
23295169689Skan	* config/rs6000/eabi.h:	Don't include sysv4.h.
23296169689Skan	(MULTILIB_DEFAULTS): Don't define.
23297169689Skan	* config/rs6000/eabiaix.h: Don't include eabi.h.
23298169689Skan	* config/rs6000/eabile.h: Delete.
23299169689Skan	* config/rs6000/eabilesim.h: Delete.
23300169689Skan	* config/rs6000/eabisim.h: Don't include eabi.h.
23301169689Skan	* config/rs6000/linux.h: Don't include sysv4.h.
23302169689Skan	(JUMP_TABLES_IN_TEXT_SECTION): Don't redefine.
23303169689Skan	(MULTILIB_DEFAULTS): Don't redefine.
23304169689Skan	* config/rs6000/rtems.h: Don't include eabi.h.
23305169689Skan	* config/rs6000/sol2.h: Don't include sysv4le.h.
23306169689Skan	* config/rs6000/sysv4le.h: Don't include sysv4.h.
23307169689Skan	* config/rs6000/t-ppc: Delete.
23308169689Skan	* config/rs6000/t-ppcgas: Correct comment.
23309169689Skan	* config/rs6000/t-ppcos: Correct comment.  Don't build
23310169689Skan	multilibs for -fPIC, rather use -fPIC -mstrict-align
23311169689Skan	as default.
23312169689Skan	* config/rs6000/t-ppc: Delete.
23313169689Skan	* config/rs6000/vxppc.h: Don't include sysv4.h.
23314169689Skan	* config/rs6000/vxppcle.h: Delete.
23315169689Skan	* configure.in: Use multiple header files for p2pc ELF targets
23316169689Skan	powerpc-eabiaix, powerpc-eabisim, powerpc-rtems, powerpcle-eabi,
23317169689Skan	powerpcle-eabisim, powerpc-elf, powerpcle-elf, powerpc-linux-gnu,
23318169689Skan	powerpc-linux-gnulibc1, powerpc-sysv, powerpcle-sysv,
23319169689Skan	powerpc-vxworks, powerpcle-vxworks.  Assume GAS functionality is
23320169689Skan	always available for these platforms.
23321169689Skan
23322169689Skan2000-04-04  Richard Henderson  <rth@cygnus.com>
23323169689Skan
23324169689Skan	* calls.c (try_to_integrate): Initialize reg_parm_stack_space.
23325169689Skan
23326169689Skan2000-04-04  Stan Cox  <scox@cygnus.com>
23327169689Skan
23328169689Skan	* Makefile.in: Add rules for regrename.o
23329169689Skan	* regrename.c: New file.
23330169689Skan	* rtl.h (regrename_optimize): Add prototype.
23331169689Skan	* toplev.c (rename_registers_dump, flag_rename_registers): New variables
23332169689Skan	(compile_file, decode_d_option): Add support for -frename-registers.
23333169689Skan	(rest_of_compilation): Call regrename_optimize.
23334169689Skan	* config/ia64/ia64.h (HARD_REGNO_RENAME_OK, RENAME_EXTENDED_BLOCKS):
23335169689Skan	New macros.
23336169689Skan
23337169689Skan2000-04-04  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
23338169689Skan
23339169689Skan	* Makefile (gccbug): New target.
23340169689Skan	(doc): Depend on it.
23341169689Skan	* gcc.texi (Bugs): Link subnodes.
23342169689Skan	(gccbug): New node.
23343169689Skan	* gccbug.in (CATEGORIES): Remove gc, host, profiling, libgcc.
23344169689Skan	Document severities, priorities, and classes in bug form.
23345169689Skan
23346169689Skan2000-04-04  Zack Weinberg  <zack@wolery.cumb.org>
23347169689Skan
23348169689Skan	* cpplex.c (trigraph_map, speccase): Combine into single
23349169689Skan	table, chartab.
23350169689Skan	(NORMAL, NONTRI): New macros.
23351169689Skan	(_cpp_read_and_prescan): Change to use unified table.  Use
23352169689Skan	is_hspace to test for whitespace.
23353169689Skan
23354169689Skan	* dbxout.c (CONTIN): If it doesn't have to do anything, give it a
23355169689Skan	definition that doesn't provoke the "empty body in an
23356169689Skan	if-statement" warning.
23357169689Skan
23358169689Skan2000-04-04  Clinton Popetz  <cpopetz@cygnus.com>
23359169689Skan
23360169689Skan	* builtins.c (expand_builtin_strlen): Force the source to
23361169689Skan	be a memory address.
23362169689Skan
23363169689Skan2000-04-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
23364169689Skan
23365169689Skan	* cpplib.c (D): Adjust to call CONCAT2 macro without whitespace.
23366169689Skan
23367169689SkanTue Apr  4 19:17:20 MET DST 2000  Jan Hubicka  <jh@suse.cz>
23368169689Skan
23369169689Skan	* calls.c (ECF_MALLOC, ECF_MAY_BE_ALLOCA, ECF_RETURNS_TWICE,
23370169689Skan	 ECF_LONGJMP, ECF_FORK_OR_EXEC):  New constants.
23371169689Skan	(ECF_IS_CONST): Rename to ECF_CONST.
23372169689Skan	(special_function_p): Make static, change interface.
23373169689Skan	(flags_from_decl_or_type, try_to_integrate): Break out from ...
23374169689Skan	(expand_call) ... here; convert number of variables to flags.
23375169689Skan	(emit_library_call_vlue_1): Likewise.
23376169689Skan	(setjmp_call_p): New function.
23377169689Skan	(initialize_argument_information): Accepts flags as argument;
23378169689Skan	return flags.
23379169689Skan	(precompute_arguments): Likewise.
23380169689Skan	* tree.h (special_function_p): Remove.
23381169689Skan	(setjmp_call_p): Add prototype.
23382169689Skan
23383169689Skan2000-04-04  Jakub Jelinek  <jakub@redhat.com>
23384169689Skan
23385169689Skan	* config/sparc/sparc.h (RTX_OK_FOR_OFFSET_P): Leave minor margin
23386169689Skan	so that addresses are offsetable by up to 16 bytes.
23387169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Don't allow REG+REG addresses for
23388169689Skan	non-optimizing TARGET_ARCH32 in DF or DI modes because it is not
23389169689Skan	offsetable.
23390169689Skan
23391169689Skan	* config/sparc/sparc.md (movdi_insn_sp64_novis): New pattern.
23392169689Skan	(movdi_insn_sp64_vis): Renamed from movdi_insn_sp64.
23393169689Skan	(movsf): Don't force any constant to memory if target is integer
23394169689Skan	hard register.
23395169689Skan	Move fp_zero_operand check below the const0_rtx check.
23396169689Skan	(movtf): Likewise. Also allow fp_zero_operand for stores into
23397169689Skan	memory.
23398169689Skan	(movdf): Likewise. Also allow fp_zero_operand for stores into
23399169689Skan	memory and into integer hard registers.
23400169689Skan	(clear_df, clear_dfp, movdf_const_intreg_sp32,
23401169689Skan	movdf_const_intreg_sp64): Remove.
23402169689Skan	(movdf_insn_sp32, movdf_no_e_insn_sp32): Redo constraints and
23403169689Skan	conditions.
23404169689Skan	(movdf_no_e_insn_v9_sp32): New pattern.
23405169689Skan	(movdf_insn_v9only): Remove.
23406169689Skan	(movdf_insn_v9only_novis, movdf_insn_v9only_vis): New patterns.
23407169689Skan	(movdf_insn_sp64): Remove.
23408169689Skan	(movdf_insn_sp64_novis, movdf_insn_sp64_vis): New patterns.
23409169689Skan	(movdf_no_e_insn_sp64): Allow storing 0.0 into memory.
23410169689Skan	(following splits): Rewrite conditions. Add two new splits
23411169689Skan	for storing 0.0 into memory and registers.
23412169689Skan	(clear_tf, clear_tf+1, clear_tfp, clear_tfp+1): Remove.
23413169689Skan	(movtf_insn_sp32): Redo constraints and conditions.
23414169689Skan	(movtf_insn_vis_sp32): New pattern.
23415169689Skan	(movtf_no_e_insn_sp32): Redo constraints and conditions.
23416169689Skan	(movtf_insn_hq_sp64): Likewise.
23417169689Skan	(movtf_insn_hq_vis_sp64): New pattern.
23418169689Skan	(movtf_insn_sp64): Redo constraints and conditions.
23419169689Skan	(movtf_insn_vis_sp64): New pattern.
23420169689Skan	(movtf_no_e_insn_sp64): Redo constraints and conditions.
23421169689Skan	(movtf_no_e_insn_sp64+1): New split for storing 0.0L into registers
23422169689Skan	or memory.
23423169689Skan	* config/sparc/sparc.c (sparc_override_options): Assume v9 if either
23424169689Skan	-mvis or -m64 to take down the number of various reload patterns.
23425169689Skan
23426169689SkanTue Apr  4 00:41:53 2000  Jeffrey A Law  (law@cygnus.com)
23427169689Skan
23428169689Skan	* pa/pa-64.h: New file.
23429169689Skan	* pa/pa64-regs.h: New file.
23430169689Skan	* pa/pa64-start.h: New file.
23431169689Skan	* pa/t-pa64: New file.
23432169689Skan	* pa/xm-pa64hpux.h: New file.
23433169689Skan
23434169689Skan2000-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
23435169689Skan
23436169689Skan	* sparc.c (output_restore_regs): Prototype.
23437169689Skan	(sparc_emit_float_lib_cmp): Constification.
23438169689Skan
23439169689Skan	* emit-rtl.c (const_int_htab_hash, const_int_htab_eq): Likewise.
23440169689Skan
23441169689Skan	* reload1.c (reload_cse_delete_noop_set, reload_cse_simplify):
23442169689Skan	Prototype.
23443169689Skan
23444169689Skan	* simplify-rtx.c (entry_and_rtx_equal_p): Constification.
23445169689Skan	(get_value_hash, hash_rtx): Likewise.
23446169689Skan
23447169689Skan	* ssa.c (compute_conservative_reg_partition): Prototype.
23448169689Skan
23449169689Skan	* tree.c (mark_hash_entry): Prototype.
23450169689Skan
23451169689Skan2000-04-03  Zack Weinberg  <zack@wolery.cumb.org>
23452169689Skan
23453169689Skan	* bb-reorder.c (verify_insn_chain): #ifdef out unless ENABLE_CHECKING.
23454169689Skan	* i386.h (FUNCTION_ARG_REGNO_P): Remove unnecessary test for N >= 0.
23455169689Skan	* i386.md (call_value, call_value_pop): Remove unused variable 'addr'.
23456169689Skan
23457169689Skan	* gcc.c (C specs): Pass -fno-show-column to the preprocessor.
23458169689Skan	* objc/lang-specs.h: Likewise.
23459169689Skan
23460169689Skan2000-04-03  Neil Booth  <NeilB@earthling.net>
23461169689Skan
23462169689Skan	* cppexp.c: wrap long lines.  New macros CPP_ICE, SYNTAX_ERROR
23463169689Skan	and SYNTAX_ERROR2. Replace `' in messages with ''.
23464169689Skan	(op_to_str): Make re-entrant.
23465169689Skan	(_cpp_parse_expr): Implement new error macros. Use | rather
23466169689Skan	than || to logically or 2 boolean integers.  Simply expression
23467169689Skan	checking we have a left operand iff needed.
23468169689Skan
23469169689Skan2000-04-03  Nick Clifton  <nickc@cygnus.com>
23470169689Skan
23471169689Skan	* Makefile.in (diagnostic.o): Depend upon diagnostic.c
23472169689Skan
23473169689Skan2000-04-03  Philip Blundell  <philb@gnu.org>
23474169689Skan
23475169689Skan	* config/arm/linux-elf.h (SUBTARGET_EXTRA_LINK_SPEC): Fix typos.
23476169689Skan
23477169689Skan2000-04-03  Felix Lee  <flee@cygnus.com>
23478169689Skan
23479169689Skan	* fixinc/server.c (find_shell): New function.  Avoid $SHELL.
23480169689Skan	(run_shell): Use it.
23481169689Skan
23482169689Skan2000-04-03  Jonathan Larmour  <jlarmour@redhat.co.uk>
23483169689Skan
23484169689Skan	* Makefile.in (stmp-int-hdrs): Make include subdir here...
23485169689Skan	(stmp-fixproto): ...rather than here.
23486169689Skan
23487169689SkanMon Apr  3 00:50:06 2000  Jason Eckhardt <jle@cygnus.com>
23488169689Skan
23489169689Skan	* pa.c (print_operand): Compute 'base' only inside the code paths
23490169689Skan	that use it.
23491169689Skan
23492169689Skan2000-04-03  Geoffrey Keating  <geoffk@cygnus.com>
23493169689Skan
23494169689Skan	* stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than
23495169689Skan	CEIL_DIV_EXPR.
23496169689Skan
23497169689Skan2000-04-03  Philipp Thomas  <pthomas@suse.de>
23498169689Skan
23499169689Skan	* i386.h (TARGET_SWITCHES): Remove bogus empty strings, fix typo.
23500169689Skan
23501169689SkanMon Apr  3 00:02:59 2000  Brad Lucier <lucier@math.purdue.edu>
23502169689Skan
23503169689Skan	* Makefile.in (alias.o): Depend on $(TREE_H).
23504169689Skan
23505169689Skan2000-04-02  Zack Weinberg  <zack@wolery.cumb.org>
23506169689Skan
23507169689Skan	* cppinit.c (cpp_start_read): Turn off -Wtraditional if
23508169689Skan	processing C++.
23509169689Skan	* cpplib.c (_cpp_handle_directive): Improve warnings for
23510169689Skan	traditional C and indented directives.
23511169689Skan
23512169689Skan	* enquire.c, gsyslimits.h, limity.h, config/convex/fixinc.convex,
23513169689Skan	fixinc/fixinc.irix, fixinc/fixinc.sco, fixinc/fixinc.wrap,
23514169689Skan	fixinc/inclhack.def: Indent the # of #include_next one space.
23515169689Skan	* cp/rtti.c: Un-indent #if and #endif.
23516169689Skan
23517169689Skan	* cppexp.c (_cpp_parse_expr): If lex returns '#', it's a
23518169689Skan	syntax error, but an error has already been printed.
23519169689Skan	* cpplex.c (_cpp_parse_assertion): Give a more specific error
23520169689Skan	message when called with nothing remaining on the line.
23521169689Skan	(_cpp_lex_token): If _cpp_parse_assertion fails, return an
23522169689Skan	OTHER token, not an ASSERTION.
23523169689Skan	* cpplib.c (do_assert): When we create a 'base' node, clear
23524169689Skan	its aschain pointer.
23525169689Skan
23526169689Skan2000-04-02  Neil Booth <NeilB@earthling.net>
23527169689Skan
23528169689Skan	* cppexp.c:  New typedef op_t.  struct operation and struct
23529169689Skan	token updated to use it.
23530169689Skan	(op_to_str): New function.
23531169689Skan	(_cpp_parse_expr): Error messages modified to use op_to_str.
23532169689Skan
23533169689Skan2000-04-02  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
23534169689Skan
23535169689Skan	* config/c4x/c4x.c (c4x_function_arg): Check for void_type_node
23536169689Skan	before checking MUST_PASS_IN_STACK.
23537169689Skan
23538169689Skan2000-04-02  Neil Booth <NeilB@earthling.net>
23539169689Skan
23540169689Skan	* cppexp.c:  New FINISHED dummy token.  Combine operator initial
23541169689Skan	flags and initial priority into a single constant.  New
23542169689Skan	EQUALITY macro.  New operator flag SHORT_CIRCUIT.
23543169689Skan	(_parse_cpp_expr): Implement new constants.  Take left operand
23544169689Skan	checks out of reduction loop.  Handle SHORT_CIRCUIT.  End of
23545169689Skan	parse indicated by reducing FINISHED token.  Remove new lines
23546169689Skan	from cpp_error messages.
23547169689Skan
23548169689Skan2000-04-01  Mark Mitchell  <mark@codesourcery.com>
23549169689Skan
23550169689Skan	* emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the
23551169689Skan	permanent obstack.
23552169689Skan
23553169689Skan2000-04-01  Zack Weinberg  <zack@wolery.cumb.org>
23554169689Skan
23555169689Skan	* cpplib.c: Include symcat.h.  Add 'origin' field to struct
23556169689Skan	directive.  Add origin values to DIRECTIVE_TABLE.  Generate
23557169689Skan	the strings and function names on the fly.  Take the #sccs
23558169689Skan	entry out of the table if SCCS_DIRECTIVE is not defined.
23559169689Skan	(_cpp_handle_directive): Decide if the # was at the beginning
23560169689Skan	of the line here.  Issue -pedantic warnings for extended
23561169689Skan	directives here.  Warn about K+R directives with the #
23562169689Skan	indented, and C89/extended directives with the # not indented,
23563169689Skan	here.
23564169689Skan	(do_import, do_include_next, do_warning, do_ident, do_sccs,
23565169689Skan	do_assert, do_unassert): Don't issue pedantic warning here.
23566169689Skan
23567169689Skan	* cpphash.h: Add CPP_WTRADITIONAL macro.
23568169689Skan	* cpplib.h (struct cpp_options): Rename warn_stringify to
23569169689Skan	warn_traditional; update comments.
23570169689Skan	* cppinit.c (handle_option): Set warn_traditional not
23571169689Skan	warn_stringify.
23572169689Skan	* cpphash.c: Replace CPP_OPTION (pfile, warn_stringify) with
23573169689Skan	CPP_WTRADITIONAL (pfile).
23574169689Skan	* cpplex.c (_cpp_lex_token): Don't decide if directives should
23575169689Skan	be ignored in -traditional mode here.
23576169689Skan
23577169689Skan	* cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them
23578169689Skan	to initialize speccase[] and trigraph_map[].  Delete all
23579169689Skan	references to pfile->input_speccase.  Always treat '?' as a
23580169689Skan	special character.  Remove table-initialization code from
23581169689Skan	_cpp_init_input_buffer.
23582169689Skan
23583169689Skan	* cpplib.h (struct cpp_reader): Remove input_speccase field.
23584169689Skan	* cppinit.c (cpp_cleanup): Don't free input_speccase.
23585169689Skan
23586169689Skan2000-04-01  Richard Henderson  <rth@cygnus.com>
23587169689Skan
23588169689Skan	* Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once.
23589169689Skan	(mostlyclean): Likewise.
23590169689Skan
23591169689Skan	* toplev.c (rtl_dump, jump_opt_dump, etc): Remove.
23592169689Skan	(struct dump_file_info, enum dump_file_index, dump_file): New.
23593169689Skan	(open_dump_file): Take a dump_file_index not a suffix, and a decl
23594169689Skan	not a string.  Clean out file if we haven't yet done so.  Do nothing
23595169689Skan	if the dump isn't enabled.
23596169689Skan	(close_dump_file): Do nothing if the dump isn't open.  Dump
23597169689Skan	graph data if requested.
23598169689Skan	(dump_rtl, clean_dump_file): Remove.
23599169689Skan	(compile_file): Don't clean the dump files.  Only finalize .bp dump
23600169689Skan	if flag_test_coverage or flag_branch_probabilities.  Only finalize
23601169689Skan	.combine dump if optimizing.  Iterate over dump_file to finalize the
23602169689Skan	graph dumps.
23603169689Skan	(rest_of_compilation): Update for open_dump_file/close_dump_file.
23604169689Skan	Convert all uses of dump_rtl.
23605169689Skan	(decode_d_option): Iterate over dump_file to implement 'a' and to
23606169689Skan	locate pass-specific dumps.
23607169689Skan
23608169689Skan2000-04-01  Neil Booth <NeilB@earthling.net>
23609169689Skan
23610169689Skan	* cppexp.c: Redefine priority constants.
23611169689Skan	(_cpp_parse_expr): Replace left and right priority scheme with
23612169689Skan	single priority logic.  Move LOGICAL to same place as COMPARE.
23613169689Skan	Remove bogus check for multiple unary +/- operators.
23614169689Skan
23615169689Skan2000-04-01  Neil Booth <NeilB@earthling.net>
23616169689Skan
23617169689Skan	* cppexp.c: (_cpp_parse_expr): Numerical constants are pushed
23618169689Skan	within the switch statement.  Binary operations break out of
23619169689Skan	the switch naturally.  '(' tokens handled by forcing
23620169689Skan	immediate shift.  ')' handled by forcing immediate reduce to
23621169689Skan	the previous '('.  New error messages.
23622169689Skan
23623169689Skan2000-03-31  Geoff Keating  <geoffk@cygnus.com>
23624169689Skan
23625169689Skan	* config/rs6000/rs6000.c (print_operand): Don't use %l for 'low
23626169689Skan	part', it's already in use.  Use %K instead.  Add a return at the
23627169689Skan	end of what is now %K.
23628169689Skan	* config/rs6000/rs6000.md (elf_low): Use %K instead of %l.
23629169689Skan
23630169689SkanSat Apr  1 02:05:29 MET DST 2000  Jan Hubicka  <jh@suse.cz>
23631169689Skan
23632169689Skan	* builtins.c  (expand_builtin_apply):  Pass proper parameters to
23633169689Skan	allocate_dynamic_stack_space.
23634169689Skan	* calls.c (emit_call_1):  Do not adjust stack pointer for SIB,
23635169689Skan	update stack_pointer_delta; do not update arg_size_so_far.
23636169689Skan	(compute_argument_block_size): Use stack_delta instead of
23637169689Skan	stack_pointer_pending and arg_size_so_far.
23638169689Skan	(expand_call): Add sanity checking for stack_pointer_delta;
23639169689Skan	save and restore stack_pointer_delta for SIB, use
23640169689Skan	stack_pointer_delta for alignment; do not update arg_space_so_far.
23641169689Skan	(emit_library_call_value): Use stack_pointer_delta for alignment.
23642169689Skan	(store_one_arg): Do not update arg_space_so_far.
23643169689Skan	* explow.c (adjust_stack, anti_adjust_stack): Update
23644169689Skan	stack_pointer_delta.
23645169689Skan	(allocate_dynamic_stack_space): Add sanity checking for
23646169689Skan	stack_pointer_delta.
23647169689Skan	* expr.c (init_expr, clear_pending_stack_adjust): Clear
23648169689Skan	stack_pointer_delta.
23649169689Skan	(emit_push_insn): Update stack_pointer_delta.
23650169689Skan	* function.h (struct expr_status): Add x_stack_pointer_delta;
23651169689Skan	remove x_arg_space_so_far.
23652169689Skan	(arg_space_so_far): Remove.
23653169689Skan	(stack_pointer_delta): New macro.
23654169689Skan
23655169689Skan2000-03-31  Zack Weinberg  <zack@wolery.cumb.org>
23656169689Skan
23657169689Skan	* cpplib.h: Merge struct cpp_options into struct cpp_reader.
23658169689Skan	Reorder struct cpp_options and struct cpp_reader for better
23659169689Skan	packing.  Replace CPP_OPTIONS macro with CPP_OPTION which
23660169689Skan	takes two args.  Change all 'char' flags to 'unsigned char'.
23661169689Skan	Move show_column flag into struct cpp_options.  Don't
23662169689Skan	prototype cpp_options_init.
23663169689Skan	* cpphash.h, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
23664169689Skan	cppinit.c, cpplex.c, cpplib.c:
23665169689Skan	Replace CPP_OPTIONS (pfile)->whatever with
23666169689Skan	CPP_OPTION (pfile, whatever), and likewise for
23667169689Skan	opts = CPP_OPTIONS (pfile); ... opts->whatever;
23668169689Skan
23669169689Skan	* cppinit.c (merge_include_chains): Take a cpp_reader *.
23670169689Skan	Extract CPP_OPTION (pfile, pending) and work with that
23671169689Skan	directly.
23672169689Skan	(cpp_options_init): Delete.
23673169689Skan	(cpp_reader_init): Turn on on-by-default options here.
23674169689Skan	Allocate the pending structure here.
23675169689Skan	(cl_options, enum opt_code): Define these from the same table,
23676169689Skan	kept in a large macro.  Add -fshow-column and -fno-show-column
23677169689Skan	options.
23678169689Skan
23679169689Skan	* cpperror.c (v_message): If show_column is off, don't print
23680169689Skan	the column number.
23681169689Skan
23682169689Skan	* cppmain.c: Update for new interface.
23683169689Skan	* fix-header.c: Likewise.
23684169689Skan
23685169689Skan2000-03-30  Geoff Keating  <geoffk@cygnus.com>
23686169689Skan
23687169689Skan	* config/rs6000/t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new
23688169689Skan	definition.
23689169689Skan	* Makefile.in (AR_FLAGS_FOR_TARGET): Is now the flags that
23690169689Skan	are passed to any invocation of AR_FOR_TARGET.
23691169689Skan	(AR_CREATE_FOR_TARGET): New macro.
23692169689Skan	(AR_EXTRACT_FOR_TARGET): New macro.
23693169689Skan	(ORDINARY_FLAGS_TO_PASS): Add AR_CREATE_FOR_TARGET,
23694169689Skan	AR_EXTRACT_FOR_TARGET.
23695169689Skan	(many places): Use AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET
23696169689Skan	in place of `$(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET)' and
23697169689Skan	`$(AR_FOR_TARGET) x'.  Pass AR_CREATE_FOR_TARGET and
23698169689Skan	AR_EXTRACT_FOR_TARGET to sub-makes.
23699169689Skan
23700169689Skan2000-03-31  Neil Booth <NeilB@earthling.net>
23701169689Skan
23702169689Skan	* cppexp.c: Delete SKIP_OPERAND.  Correct priority
23703169689Skan	PAREN_INNER_PRIO.
23704169689Skan	(_cpp_parse_expr): Check for multiple unary +/- operators.
23705169689Skan	Correct priorities of ':' and '?'.  Treat ')' as having a
23706169689Skan	value.	Ensure conditional expression is not void.
23707169689Skan
23708169689Skan2000-03-31  Mark Mitchell  <mark@codesourcery.com>
23709169689Skan
23710169689Skan	* alias.c (canon_rtx): Make it global.
23711169689Skan	(rtx_equal_for_memref_p): CONST_INT equality is now pointer
23712169689Skan	equality.
23713169689Skan	* cse.c (struct table_elt): Add canon_exp.
23714169689Skan	(insert): Clear it.
23715169689Skan	(invalidate): Canonicalize expressions only once.
23716169689Skan	* rtl.h (canon_rtx): Declare.
23717169689Skan
23718169689Skan2000-03-30  Mark Mitchell  <mark@codesourcery.com>
23719169689Skan
23720169689Skan	* Makefile.in (emit-rtl.o): Depend on HASHTAB_H.
23721169689Skan	* alias.c (reg_known_value): Add comments.
23722169689Skan	(init_alias_analysis): Likewise.
23723169689Skan	* cse.c (exp_equiv_p): CONST_INTs are equal iff they have the same
23724169689Skan	address.
23725169689Skan	(cse_basic_block): Fix typo in comment.
23726169689Skan	* emit-rtl.c: Include hashtab.h.
23727169689Skan	(const_int_htab): New variable.
23728169689Skan	(const_int_htab_hash): New function.
23729169689Skan	(const_int_htab_eq): Likewise.
23730169689Skan	(rtx_htab_mark_1): Likewise.
23731169689Skan	(rtx_htab_mark): Likewise.
23732169689Skan	(gen_rtx_CONST_INT): Cache all CONST_INTs.
23733169689Skan	(unshare_all_rtx): Fix formatting.
23734169689Skan	(init_emit_once): Initialize const_int_htab.
23735169689Skan	* rtl.c (rtx_equal_p): CONST_INTs are equal iff they have the same
23736169689Skan	address.
23737169689Skan	* rtl.texi: Document the fact that all CONST_INTs with the same
23738169689Skan	value are shared.
23739169689Skan
23740169689Skan2000-03-30  Richard Henderson  <rth@cygnus.com>
23741169689Skan
23742169689Skan	* alpha.h (FUNCTION_BOUNDARY): Reduce to 128 bits.
23743169689Skan
23744169689Skan2000-03-30  Zack Weinberg  <zack@wolery.cumb.org>
23745169689Skan
23746169689Skan	* configure.in: Comment out --enable-c-cpplib stanza.
23747169689Skan	* configure: Regenerate.
23748169689Skan
23749169689SkanThu Mar 30 06:32:51 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
23750169689Skan
23751169689Skan	* expr.c (store_constructor): Properly compute displacement and
23752169689Skan	alignment when offset is variable.
23753169689Skan
23754169689Skan	* expmed.c (store_bit_field, store_fixed_bit_field): Fix more
23755169689Skan	cases of alignment in bytes.
23756169689Skan
23757169689SkanThu Mar 30 13:30:40 2000  Jeffrey A Law  (law@cygnus.com)
23758169689Skan
23759169689Skan	* c-parse.in (cast_expr): Move change from March 21 into c-parse.in
23760169689Skan	since it is used to generate c-parse.y.
23761169689Skan	* objc-parse.c, objc-parse.y: Regenerated.
23762169689Skan
23763169689Skan	* function.c (expand_function_end): Pass alignment argument to
23764169689Skan	emit_block_move in bits, not bytes.
23765169689Skan
23766169689SkanThu Mar 30 06:32:51 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
23767169689Skan
23768169689Skan	* expr.c (move_by_pieces_ninsns): Fix one more missing align
23769169689Skan	correction.
23770169689Skan
23771169689Skan	* expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits.
23772169689Skan
23773169689Skan	* calls.c (expand_call): Pass bit alignment to mark_reg_pointer.
23774169689Skan	* explow.c (memory_address, allocate_dynamic_stack_space): Likewise.
23775169689Skan	* function.c (assign_parms): Likewise.
23776169689Skan	* integrate.c (expand_inline_function): Likewise.
23777169689Skan	* stmt.c (expand_decl): Likewise.
23778169689Skan	(copy_rtx_and_substitute): Likewise.
23779169689Skan	* expr.c (expand_expr, expand_expr_unaligned): Likewise.
23780169689Skan	(clear_by_pieces): Fix error in last change.
23781169689Skan	* emit-rtl.c (init_emit): Set known registers alignment in bits.
23782169689Skan	* function.h (regno_pointer_align): Now unsigned.
23783169689Skan	* config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN
23784169689Skan	is in bits.
23785169689Skan	* config/i386/i386.c (aligned_operand): Likewise.
23786169689Skan	* config/sparc/sparc.c (mem_min_alignment): Likewise.
23787169689Skan	* config/alpha/alpha.c (aligned_memory_operand): Likewise.
23788169689Skan	(unaligned_memory_operand): Likewise.
23789169689Skan	(alpha_expand_block_move, alpha_expand_block_clear): Likewise.
23790169689Skan	Also make alignments and sizes unsigned and some whitespace cleanup.
23791169689Skan	(alpha_va_start): Do nothing if VALIST's type is error_mark_node.
23792169689Skan
23793169689Skan	* builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst.
23794169689Skan	(expand_builtin_apply): Pass alignment to emit_block_move in bits.
23795169689Skan	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
23796169689Skan	(expand_builtin_memset): Likewise, but to clear_storage.
23797169689Skan	* calls.c (save_fixed_argument_area): Likewise, to move_by_pieces.
23798169689Skan	(restore_fixed_argument_area): Likewise.
23799169689Skan	(store_unaligned_arguments_into_pseudos): Likewise, to store_bit_field.
23800169689Skan	(load_register_parameters): Likewise, to emit_group_load.
23801169689Skan	(expand_call): Likewise, to emit_group_store and emit_block_move.
23802169689Skan	(emit_library_call_value_1): Likewise, to emit_block_move.
23803169689Skan	(store_one_arg): Likewise, and to emit_push_insn.
23804169689Skan	* expmed.c (extract_bit_field): Alignment is in bits, not bytes.
23805169689Skan	(extract_fixed_bit_field, extract_split_bit_field): Likewise.
23806169689Skan	* expr.c (move_by_pieces, move_by_pieces_ninsns): Likewise.
23807169689Skan	(emit_block_move, emit_group_load, emit_group_store): Likewise.
23808169689Skan	(clear_by_pieces, clear_storage, emit_push_insn): Likewise.
23809169689Skan	(expand_assigment, store_expr, store_constructor_field): Likewise.
23810169689Skan	(expand_expr_unaligned, do_jump, do_compare_and_jump): Likewise.
23811169689Skan	(store_constructor, store_field, get_inner_reference): Likewise.
23812169689Skan	Use host_integerp and tree_low_cst; sizes and positions HOST_WIDE_INT.
23813169689Skan	(expand_expr, case COMPONENT_REF): Likewise.
23814169689Skan	(copy_blkmode_from_regs): Use UNSIGNED_HOST_WIDE_INT for sizes
23815169689Skan	and positions; reindent code.
23816169689Skan	* expr.h (emit_cmp_insn, emit_cmp_and_jump_insns): Alignment unsigned.
23817169689Skan	* function.c (purge_addressof_1): Pass bit align to store_bit_field.
23818169689Skan	(assign_parms): Likewise to emit_group_store.
23819169689Skan	* optabs.c (prepare_cmp_insn): Alignment is in bits.
23820169689Skan	(emit_cmp_and_jump_insns, emit_cmp_insn): Likewise, and also unsigned.
23821169689Skan	* stmt.c (expand_value_return): Pass align in bits to emit_group_load.
23822169689Skan	(expand_return): Likewise to {extract,store}_bit_field.
23823169689Skan	* stor-layout.c (get_mode_alignment): Minor cleanup.
23824169689Skan	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Align is in bits.
23825169689Skan	* config/sh/sh.h (MOVE_BY_PIECES_P): Likewise.
23826169689Skan
23827169689Skan2000-03-29  Nick Clifton  <nickc@cygnus.com>
23828169689Skan
23829169689Skan	* config/arm/arm.h: Undo effects of previous delta:
23830169689Skan	(ASM_SPEC): Do not define.
23831169689Skan	(SUBTARGET_EXTRA_ASM_SPEC): Do not define.
23832169689Skan
23833169689Skan	* config/arm/linux-elf.h: (SUBTARGET_EXTRA_ASM_SPEC) Fix
23834169689Skan	typo.
23835169689Skan
23836169689Skan2000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
23837169689Skan
23838169689Skan	* cppinit.c (cpp_start_read): Call initialize_dependency_output
23839169689Skan	only after reading in the primary source file.
23840169689Skan
23841169689Skan2000-03-29  Geoff Keating  <geoffk@cygnus.com>
23842169689Skan
23843169689Skan	* c-common.c (c_common_nodes_and_builtins): The first parameter to
23844169689Skan	__builtin_va_start and __builtin_va_copy is now either a 'va_list'
23845169689Skan	or a reference to a va_list.
23846169689Skan	* builtins.c (stabilize_va_list): Simplify now we don't have to
23847169689Skan	work around C array address decay.
23848169689Skan	* c-typeck.c (convert_for_assignment): Handle assignment to
23849169689Skan	a reference parameter by taking the address of the RHS.
23850169689Skan	* ginclude/stdarg.h (va_start): Don't take address of first parameter.
23851169689Skan	(va_copy): Likewise.
23852169689Skan	(__va_copy): Likewise.
23853169689Skan	* ginclude/varargs.h (va_start): Likewise.
23854169689Skan	(__va_copy): Likewise.
23855169689Skan
23856169689SkanWed Mar 29 15:44:53 2000  Jeffrey A Law  (law@cygnus.com)
23857169689Skan
23858169689Skan	* i386/djgpp.h: Remove extraneous "+".
23859169689Skan
23860169689Skan	* stmt.c (stmt_loop_nest_empty): Fix thinko in last change.
23861169689Skan
23862169689Skan	* calls.c (expand_call): Fix typo in last change.
23863169689Skan
23864169689Skan2000-03-29  Jason Merrill  <jason@casey.cygnus.com>
23865169689Skan
23866169689Skan	* tree.c (unsave_expr_1): Don't mess with a TARGET_EXPR that hasn't
23867169689Skan	been expanded.
23868169689Skan
23869169689SkanWed Mar 29 15:39:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
23870169689Skan
23871169689Skan	* stor-layout.c (bit_from_pos, byte_from_pos): New functions.
23872169689Skan	(pos_from_byte, pos_from_bit, normalize_offset): Likewise.
23873169689Skan	(normalize_rli, rli_size_so_far, rli_size_unit_so_far): Use them.
23874169689Skan	* tree.c (bit_position, byte_position): Likewise.
23875169689Skan	* tree.h: Declare new functions.
23876169689Skan
23877169689Skan2000-03-29  Nick Clifton  <nickc@cygnus.com>
23878169689Skan
23879169689Skan	* config/arm/arm.c: Minor formatting changes/
23880169689Skan	* config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
23881169689Skan	already defined.
23882169689Skan	(ASM_SPEC): Define if not already defined.
23883169689Skan
23884169689Skan2000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
23885169689Skan
23886169689Skan	* cppfiles.c (cpp_read_file): Don't pass zero-length string to
23887169689Skan	_cpp_calc_hash.
23888169689Skan
23889169689Skan2000-03-29  Jakub Jelinek  <jakub@redhat.com>
23890169689Skan
23891169689Skan	* dwarf2out.c (gen_enumeration_type_die): If enum has a negative
23892169689Skan	value, don't output it as unsigned.
23893169689Skan
23894169689SkanWed Mar 29 10:53:49 2000  Jeffrey A Law  (law@cygnus.com)
23895169689Skan
23896169689Skan	* stmt.c (stmt_loop_nest_empty): Allow cfun->stmt to be NULL.
23897169689Skan
23898169689Skan2000-03-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
23899169689Skan
23900169689Skan	* c-common.c (c_common_nodes_and_builtins): Don't special case
23901169689Skan	cplus_mode when declaring builtin bzero/bcmp, always avoid
23902169689Skan	prototype arguments.
23903169689Skan
23904169689Skan2000-03-29  Bruce Korb  <bkorb@gnu.org>
23905169689Skan
23906169689Skan	* fixinc/mkfixinc.sh: Initially set the variable "fixincludes"
23907169689Skan	to a non-file
23908169689Skan
23909169689SkanWed Mar 29 15:08:01 MET DST 2000  Jan Hubicka  <jh@suse.cz>
23910169689Skan
23911169689Skan	Convert ACCUMULATE_OUTGOING_ARGS to an expression.
23912169689Skan	* calls.c (PUSH_ARGS_REVERSED) Change to expression.
23913169689Skan	(ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default value.
23914169689Skan	(struct arg_data): Remove #ifdef ACCUMULATE_OUTGOING_ARGS.
23915169689Skan	(save_fixed_argument_area, restore_fixed_argument_area):
23916169689Skan	conditionize by #ifdef REG_PARM_STACK_SPACE only.
23917169689Skan	(emit_call): Change #ifdefs on ACCUMULATE_OUTGOING_ARGS
23918169689Skan	to conditions, handle RETURN_POPS_ARGS on ACCUMULATE_OUTGOING_ARGS.
23919169689Skan	(precompute_register_parameters): Avoid #ifdefs on
23920169689Skan	ACCUMULATE_OUTGOING_ARGS and PUSH_ARGS_REVERSED.
23921169689Skan	(stire_one_args): Likewise.
23922169689Skan	(expand_call): Likewise; conditionize PUSH_ROUNDING code by PUSH_ARGS.
23923169689Skan	(emit_library_call_value_1): Likewise.
23924169689Skan	(compute_argument_block_size): Align to STACK_BOUNDARY only for
23925169689Skan	ACCUMULATE_OUTGOING_ARGS.
23926169689Skan	* combine.c (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default
23927169689Skan	value.
23928169689Skan	(nonzero_bits): Conditionize PUSH_ROUNDING code by USE_PUSH.
23929169689Skan	(use_crosses_set_p): Likewise.
23930169689Skan	* all targets (ACCUMULATE_OUTGOING_ARGS define): Change to
23931169689Skan	#define ACCUMULATE_OUTGOING_ARGS 1.
23932169689Skan	* i386.c (ix86_compute_frame_size): Handle ACCUMULATE_OUTGOING_ARGS
23933169689Skan	frames.
23934169689Skan	* i386.h (MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS): New
23935169689Skan	constants.
23936169689Skan	(TARGET_PUSH_ARGS, TARGET_ACCUMULATE_OUTGOING_ARGS): New macros.
23937169689Skan	(TARGET_SWITCHES): Add push-args, no-push-args,
23938169689Skan	accumulate-outgoing-args and no-accumulate-outgoing-args.
23939169689Skan	(ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): New macro.
23940169689Skan	* expr.c (ACCUMULATE_OUTGONG_ARGS, PUSH_ARGS): Provide default.
23941169689Skan	(push_block): Avoid ifdefs on ACCUMULATE_OUTGONG_ARGS
23942169689Skan	and PUSH_ROUNDING.
23943169689Skan	(emit_push_insn): Likewise.
23944169689Skan	* final.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
23945169689Skan	(final_scan_insn): Avoid ifdefs on ACCUMULATE_OUTGOING_ARGS.
23946169689Skan	* function.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
23947169689Skan	(STACK_DYNAMIC_OFFSET): Define correctly for both
23948169689Skan	ACCUMULATE_OUTGOING_ARGS and normal mode.
23949169689Skan	* invoke.texi (-mpush_args, -maccumulate-outgoing-args): Document.
23950169689Skan	* tm.texi (PUSH_ARGS): Document.
23951169689Skan	(ACCUMULATE_OUTGOING_ARGS, PUSH_ROUNDING): Update documentation.
23952169689Skan
23953169689SkanWed Mar 29 11:51:13 MET DST 2000  Jan Hubicka  <jh@suse.cz>
23954169689Skan
23955169689Skan	* flags.h (flag_optimize_sibling_calls): Declare.
23956169689Skan	* calls.c (expand_call): Fail sibcall when
23957169689Skan	!flag_optimize_sibling_calls
23958169689Skan	* invoke.texi (flag_optimize_sibling_calls): Document.
23959169689Skan	* toplev.c (flag_optimize_sibling_calls): New global variable.
23960169689Skan	(f_options): Add flag_optimize_sibling_calls.
23961169689Skan	(rest_of_compilation): Conditionize
23962169689Skan	optimize_sibling_and_tail_recursive_calls by
23963169689Skan	flag_optimize_sibling_calls.
23964169689Skan	(main): Set flag_optimize_sibling_calls for -O2.
23965169689Skan	* stmt.c (expand_return): Conditionize tail recursion by
23966169689Skan	flag_optimize_sibling_calls.
23967169689Skan
23968169689Skan2000-03-29  Richard Henderson  <rth@cygnus.com>
23969169689Skan
23970169689Skan	* config/i386/att.h (LOCAL_LABEL_PREFIX): Define.
23971169689Skan	(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Use it.
23972169689Skan
23973169689Skan2000-03-29  Nathan Sidwell  <nathan@codesourcery.com>
23974169689Skan
23975169689Skan	* except.c (add_eh_table_entry): Mark type_info's as referenced.
23976169689Skan
23977169689Skan2000-03-29  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
23978169689Skan
23979169689Skan	* config/rs6000/aix41.h (CPP_SPEC): Define _ANSI_C_SOURCE if -ansi
23980169689Skan	is given.
23981169689Skan	* config/rs6000/aix43.h (CPP_SPEC): Likewise.
23982169689Skan	* config/rs6000/rs6000.h (CPP_SPEC): Moved to...
23983169689Skan	* config/rs6000/aix.h: then modified likewise.
23984169689Skan
23985169689Skan2000-03-28  Richard Henderson  <rth@cygnus.com>
23986169689Skan
23987169689Skan	* rtl.h: Redistribute enum reg_note documentation.
23988169689Skan	Kill trailing whitespace.
23989169689Skan	* rtl.c (reg_note_name): Adjust to match enum reg_note tweeks.
23990169689Skan	Kill trailing whitespace.
23991169689Skan
23992169689Skan2000-03-28  Zack Weinberg  <zack@wolery.cumb.org>
23993169689Skan
23994169689Skan	* cppfiles.c (hash_IHASH): Just return i->hash.
23995169689Skan	(cpp_included): Set dummy.hash using _cpp_calc_hash.  Use
23996169689Skan	htab_find_with_hash.
23997169689Skan	(cpp_read_file): Likewise.
23998169689Skan	(find_include_file): Likewise.  Properly initialize
23999169689Skan	ih->nshort.  Share ih->name and ih->nshort if possible.
24000169689Skan	* cpphash.c (_cpp_calc_hash): New function.
24001169689Skan	(hash_HASHNODE): Just return h->hash.
24002169689Skan	(_cpp_lookup): Set dummy.hash using _cpp_calc_hash.  Use
24003169689Skan	htab_find_with_hash.
24004169689Skan	* cpphash.h: Prototype _cpp_calc_hash.
24005169689Skan	* cppinit.c (initialize_builtins): Provide a valid hash
24006169689Skan	to _cpp_make_hashnode, using _cpp_calc_hash.
24007169689Skan
24008169689Skan	* cpphash.c (collect_expansion): # is not a special character
24009169689Skan	in object-like macros.  In -traditional mode, /**/ is not
24010169689Skan	token paste at the beginning or end of the line.
24011169689Skan	* cpplib.c (do_include, do_import, do_include_next): If
24012169689Skan	parse_include fails, return immediately.
24013169689Skan
24014169689Skan2000-03-28  Jason Merrill  <jason@casey.cygnus.com>
24015169689Skan
24016169689Skan	* config/arm/arm.md (return peepholes): Update to reflect the new
24017169689Skan	call insn patterns.
24018169689Skan	* config/arm/arm.c (arm_volatile_func): Also check
24019169689Skan	current_function_nothrow.
24020169689Skan	(output_return_instruction, output_func_prologue): Use it.
24021169689Skan	(arm_output_epilogue, arm_expand_prologue): Likewise.
24022169689Skan
24023169689Skan2000-03-27  Tom Tromey  <tromey@cygnus.com>
24024169689Skan
24025169689Skan	* gcc.c (handle_braces): In {x*...} case, break out of loop if
24026169689Skan	switch is found.
24027169689Skan
24028169689SkanTue Mar 28 11:55:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
24029169689Skan
24030169689Skan	* expr.c (store_constructor): SIZE now signed.
24031169689Skan	For EXPR_SIZE, don't evaluate size; just needed if constant.
24032169689Skan	* fold-const.c (fold): Fix a number of cases when folded tree is
24033169689Skan	wrong type.
24034169689Skan	* function.c (flush_addressof): Reenable.
24035169689Skan	* tree.h (flush_addressof): Likewise.
24036169689Skan	* toplev.c (independent_decode_option): Look at strings_processed.
24037169689Skan	* config/alpha/alpha.h (MINIMUM_ATOMIC_ALIGNMENT): Cast to unsigned.
24038169689Skan
24039169689SkanTue Mar 28 08:29:46 2000  Jan Hubicka  <jh@suse.cz>
24040169689Skan
24041169689Skan	* sibcall.c (identify_call_return_value): Find last call in the chain;
24042169689Skan	Allow stack adjustment after function call.
24043169689Skan
24044169689Skan	* regmove.c (struct csa_memlist): Make mem field rtx *.
24045169689Skan	(record_one_stack_ref): Accept rtx * instead of rtx as parameter.
24046169689Skan	(try_apply_stack_adjustment): Replace whole MEM rtx.
24047169689Skan	(combine_stack_adjustments_for_block): Update calls
24048169689Skan	to record_one_stack_ref.
24049169689Skan
24050169689Skan2000-03-28  Neil Booth  <NeilB@earthling.net>
24051169689Skan
24052169689Skan	* cpplex.c (_cpp_read_and_prescan): Mark end of input buffer with
24053169689Skan	'\\' rather than a null character, so nulls are not special.  Fix
24054169689Skan	"\\\n" handling in end-of-buffer conditions.  Use trigraph map to
24055169689Skan	speed trigraph conversion.
24056169689Skan	(_cpp_init_input_buffer): Initialize trigraph map.
24057169689Skan
24058169689Skan2000-03-27  Alan Modra  <alan@linuxcare.com.au>
24059169689Skan
24060169689Skan	* config/i386/i386.c (output_387_binary_op): Correct intel
24061169689Skan	mode assembly output, and add spaces after commas in AT&T
24062169689Skan	output.  Correct Unixware assembler comment.  Document input
24063169689Skan	constraints.  Comment fp operations.  Reduce profligate buffer
24064169689Skan	size.  Remove extraneous abort.  Localize temp var.
24065169689Skan	(SYSV386_COMPAT): Define.  Add !SYSV386_COMPAT code.
24066169689Skan	(output_fix_trunc): Add spaces after commas in assembly output.
24067169689Skan
24068169689Skan2000-03-27  Richard Henderson  <rth@cygnus.com>
24069169689Skan
24070169689Skan	* i386-protos.h (ix86_match_ccmode): Declare.
24071169689Skan	* i386.c (ix86_match_ccmode): New.
24072169689Skan	(ix86_expand_fp_compare): Update for pattern renames.
24073169689Skan	(ix86_expand_strlensi_unroll_1): Likewise.
24074169689Skan	* i386.h (EXTRA_CC_MODES): Add CCZ.
24075169689Skan	(SELECT_CC_MODE): Use it for EQ/NE zero.
24076169689Skan	* i386.md (cmpsi_ccz_1): New.
24077169689Skan	(cmpqi_ccz_1): New.
24078169689Skan	(*testsi_ccz_1): New.
24079169689Skan	(testqi_ccz_1): New.
24080169689Skan	(cmpsi_ccno_1): Rename from cmpsi_0.
24081169689Skan	(testsi_ccno_1): Rename from testsi_1.
24082169689Skan	(testqi_ccno_1): Rename from testqi_1.
24083169689Skan	(*testqi_ext_ccz_0): Rename from testqi_ext_0.
24084169689Skan	(testqi_ext_ccno_0): Rename from *testqi_ext_1.
24085169689Skan	(*cmphi_0): Use ix86_match_ccmode.
24086169689Skan	(*cmpqi_ext_2, *addsi_2, *addhi_2, *addqi_2): Likewise.
24087169689Skan	(*subsi_2, *subhi_2, *subqi_2, *testhi_1): Likewise.
24088169689Skan	(*testqi_ext_1, *testqi_ext_2, *testqi_ext_3): Likewise.
24089169689Skan	(*andsi_2, *andhi_2, *andqi_2, *andqi_ext_0_cc): Likewise.
24090169689Skan	(*iorsi_2, *iorhi_2, *iorqi_2): Likewise.
24091169689Skan	(*xorsi_2, *xorhi_2, *xorqi_cc_1): Likewise.
24092169689Skan	(*one_cmplsi2_2, *one_cmplhi2_2, *one_cmplqi2_2): Likewise.
24093169689Skan	(*ashlsi3_cmpno, *ashlhi3_cmpno, *ashlqi3_cmpno): Likewise.
24094169689Skan	(*ashrsi3_cmpno, *ashrhi3_cmpno, *ashrqi3_cmpno): Likewise.
24095169689Skan	(*lshrsi3_cmpno, *lshrhi3_cmpno, *lshrqi3_cmpno): Likewise.
24096169689Skan	(appropriate peepholes): Likewise.
24097169689Skan	(*cmphi_1, *cmpqi_ccno_1, *cmpqi_1): Star out name.
24098169689Skan	(*subsi_3, *subhi_3, *subqi_3): Remove.
24099169689Skan	(*negdi2_1+1 splitter): Use CCZ for neg patterns.
24100169689Skan	(*negsi2_cmp, *neghi2_cmp, *negqi2_cmp): Remove.
24101169689Skan	(*negsi2_cmpz): Rename from *negsi2_cmpno, use CCZ.
24102169689Skan	(*neghi2_cmpz, *negqi2_cmpz): Similarly.
24103169689Skan	(x86_shift_adj_1): Use CCZ.
24104169689Skan	(*dbra_ge+1, *dbra_ge+2, ffssi2, ffssi_1): Likewise.
24105169689Skan
24106169689Skan2000-03-27  Stan Cox  <scox@cygnus.com>
24107169689Skan
24108169689Skan	* resource.h (mark_resource_type): New.
24109169689Skan	* resource.c (find_dead_or_set_registers, mark_target_live_regs,
24110169689Skan	find_free_register): Use mark_resource_type.
24111169689Skan	(mark_set_resources): Change include_delayed_effects
24112169689Skan	to mark_resource_type.
24113169689Skan	* reorg.c (steal_delay_list_from_target, try_merge_delay_insns,
24114169689Skan	redundant_insn, fill_simple_delay_slots, fill_slots_from_thread):
24115169689Skan	Use mark_resource_type.
24116169689Skan
24117169689Skan2000-03-27  Richard Henderson  <rth@cygnus.com>
24118169689Skan
24119169689Skan	* i386.md (call_pop_0, call_value_pop_0): New.
24120169689Skan	(call_pop_1): Remove constraint from unused arg.  Support sibcalls.
24121169689Skan	(call_value_pop_1): Likewise.
24122169689Skan	(call_0, call_value_0): New.
24123169689Skan	(call_1, call_value_1): Remove constraint from unused arg.
24124169689Skan
24125169689Skan2000-03-27  Nick Clifton  <nickc@cygnus.com>
24126169689Skan
24127169689Skan	* invoke.texi (Spec Files): Document new spec % command created by
24128169689Skan	Tom Tromey's recent patch.
24129169689Skan
24130169689Skan2000-03-27  Jakub Jelinek  <jakub@redhat.com>
24131169689Skan
24132169689Skan	* libgcc2.h (MIN_UNITS_PER_WORD): Define to UNITS_PER_WORD
24133169689Skan	if not defined.
24134169689Skan
24135169689SkanMon Mar 27 06:04:22 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
24136169689Skan
24137169689Skan	* expr.c (expand_assignment): Fix typo in last change.
24138169689Skan
24139169689Skan	* libgcc2.h: Use MIN_UNITS_PER_WORD, not UNITS_PER_WORD.
24140169689Skan
24141169689SkanSun Mar 26 20:15:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
24142169689Skan
24143169689Skan	* c-convert.c (convert): Return if output or input type is ERROR_MARK.
24144169689Skan	* c-decl.c (duplicate_decls): Only look at DECL_BUILT_IN_NONANSI
24145169689Skan	and DECL_INLINE if FUNCTION_DECL.
24146169689Skan	(pushdecl, redeclaration_error_message): Likewise, for DECL_INLINE.
24147169689Skan	(store_parm_decls): Check for type of PARM_DECL being ERROR_MARK.
24148169689Skan	Use DECL_WEAK, not DECL_RESULT, to flag for already seen.
24149169689Skan	(combine_parm_decls): Likewise.
24150169689Skan	* ggc-common.c (gcc_mark_tree_children, case 'd'): Use DECL_RESULT_FLD.
24151169689Skan	* print-tree.c (print_node): Likewise.
24152169689Skan	Only test DECL_PACKED, DECL_INLINE, DECL_BIT_FIELD, and
24153169689Skan	DECL_TRANSPARENT_UNION on proper decl types.
24154169689Skan	Properly handly DECL_INCOMING_RTL and DECL_SAVED_INSNS.
24155169689Skan	* stor-layout.c (layout_decl): Only check DECL_PACKED and
24156169689Skan	DECL_BIT_FIELD of FIELD_DECL.
24157169689Skan	* tree.h (DECL_RESULT_FLD): New macro.
24158169689Skan
24159169689Skan	* expr.c (expand_assignment): Add code to handle variable-sized
24160169689Skan	BLKmode case.
24161169689Skan
24162169689Skan2000-03-26  Richard Henderson  <rth@cygnus.com>
24163169689Skan
24164169689Skan	* calls.c (expand_call): Pass parms not original exp to
24165169689Skan	optimize_tail_recursion.  Mind return value instead of looking
24166169689Skan	for a barrier.
24167169689Skan	* stmt.c (optimize_tail_recursion): Take parameter list, not entire
24168169689Skan	call_expr.  Move checks for call_expr and current_function_decl ...
24169169689Skan	(expand_return): ... here.
24170169689Skan
24171169689Skan2000-03-26  Tom Tromey  <tromey@cygnus.com>
24172169689Skan
24173169689Skan	* gcc.c (handle_braces): Recognize `%{<S}' construct.
24174169689Skan	(SWITCH_OK, SWITCH_FALSE, SWITCH_IGNORE, SWITCH_LIVE): New
24175169689Skan	defines.
24176169689Skan	(process_command): Use them.
24177169689Skan	(check_live_switch): Likewise.
24178169689Skan	(give_switch): Skip ignored switches.
24179169689Skan
24180169689Skan2000-03-26  Jan Hubicka  <jh@suse.cz>
24181169689Skan
24182169689Skan	* jump.c (jump_optimize_1): Fix typo in elide optimizations
24183169689Skan	for minimal jump pass test.
24184169689Skan
24185169689Skan2000-03-26  Mark Mitchell  <mark@codesourcery.com>
24186169689Skan
24187169689Skan	* integrate.c (function_cannot_inline_p): Do inline functions that
24188169689Skan	return `void'.
24189169689Skan
24190169689SkanSun Mar 26 11:37:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
24191169689Skan
24192169689Skan	* stor-layout.c (layout_type, set_sizetype): early_type_list is
24193169689Skan	now a list of TREE_LIST entries, not types.
24194169689Skan	* tree.c (build_common_tree_nodes_2): Eliminate dupliate type sets.
24195169689Skan
24196169689Skan	* expmed.c (extract_bit_field): Ensure BITS_PER_WORD is signed in MAX.
24197169689Skan	* config/arm/pe.c (arm_pe_return_in_memory): Use host_integerp and
24198169689Skan	int_bit_position.
24199169689Skan	* config/mips/mips.c (function_arg): Likewise; also remove cast
24200169689Skan	and make variables unsigned or HOST_WIDE_INT and use tree_low_cst.
24201169689Skan	(mips_function_value): Use int_byte_position and make HOST_WIDE_INT.
24202169689Skan	* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Offsets are unsigned.
24203169689Skan	* config/mips/mips.h (BITS_PER_WORD, UNITS_PER_WORD): Cast to unsigned.
24204169689Skan	(UNITS_PER_FPREG, INT_TYPE_SIZE, LONG_TYPE_SIZE): Likewise.
24205169689Skan	(POINTER_SIZE, POINTER_BOUNDARY,PARM_BOUNDARY): Likewise.
24206169689Skan	(GP_REG_P, FP_REG_P, MD_REG_P, ST_REG_P): Ensure subtraction signed.
24207169689Skan	(struct mips_arg): arg_number, arg_words, fp_arg_words, and
24208169689Skan	num_adjusts now unsigned.
24209169689Skan	(FUNCTION_ARG_BOUNDARY): Remove unneeded cast.
24210169689Skan	* config/sparc/sparc.c (struct function_arg_record_value_parms):
24211169689Skan	NREGS now unsigned.
24212169689Skan	(function_arg_record_value_1): STARTBITPOS arg now HOST_WIDE_INT
24213169689Skan	as is BITPOS variable; use host_integerp and int_bit_position.
24214169689Skan	(function_arg_record_value_2): Likewise.
24215169689Skan	(function_arg_record_value_3): Arg BITPOS now HOST_WIDE_INT.
24216169689Skan	Variable REGNO now unsigned.
24217169689Skan	(function_arg_record_value): NREGS now unsigned.
24218169689Skan
24219169689Skan2000-03-26  Bernd Schmidt  <bernds@cygnus.co.uk>
24220169689Skan
24221169689Skan	* jump.c (mark_all_labels): Handle CALL_PLACEHOLDERs.
24222169689Skan
24223169689SkanSat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
24224169689Skan
24225169689Skan	* Rework fields used to describe positions of bitfields and
24226169689Skan	modify sizes to be unsigned and use HOST_WIDE_INT.
24227169689Skan	* alias.c (reg_known_value_size): Now unsigned.
24228169689Skan	* c-typeck.c (build_unary_op, case ADDR_EXPR): Use byte_position.
24229169689Skan	(really_start_incremental_init): Use bitsize_zero_node.
24230169689Skan	(push_init_level, pop_init_level, output_init_element): Likewise.
24231169689Skan	Use bitsize_unit_node and bitsize_one_node.
24232169689Skan	(output_pending_init_elements, process_init_element): Likewise.
24233169689Skan	* combine.c (combine_max_regno, reg_sign_bit_copies): Now unsigned.
24234169689Skan	(make_extraction): Position and length HOST_WIDE_INT and unsigned
24235169689Skan	HOST_WIDE_INT, respectively.
24236169689Skan	(get_pos_from_mask): Passed in value is unsigned HOST_WIDE_INT.
24237169689Skan	(num_sign_bit_copies): Returns unsigned.
24238169689Skan	BITWIDTH now unsigned; rework arithmetic.
24239169689Skan	Remove recursive call from arg to MAX.
24240169689Skan	(combine_instructions, init_reg_last_arrays): NREGS now unsigned.
24241169689Skan	(setup_incoming_promotions, can_combine_p, try_combine, simplify_set):
24242169689Skan	REGNO now unsigned.
24243169689Skan	(set_nonzero_bit_and_sign_copies): NUM now unsigned.
24244169689Skan	(find_split_point, expand_compound_operation, make_extraction): LEN
24245169689Skan	now unsigned HOST_WIDE_INT, POS now HOST_WIDE_INT.
24246169689Skan	(make_field_assignment): Likewise.
24247169689Skan	(combine_simplify_rtx): Add cast.
24248169689Skan	(expand_compound_operation): MODEWIDTH now unsigned; rework arithmetic.
24249169689Skan	(force_to_mode): WIDTH now unsigned; add cast.
24250169689Skan	(if_then_else_cond): SIZE now unsigned.
24251169689Skan	(nonzero_bits): MODE_WIDTH, RESULT_WIDTH, and WIDTH now unsigned.
24252169689Skan	(extended_count): Now returns unsigned.
24253169689Skan	(simplify_shift_const): COUNT unsigned; arg is now INPUT_COUNT.
24254169689Skan	Add SIGNED_COUNT variable; MODE_WORDS and FIRST_COUNT now unsigned.
24255169689Skan	(simplify_comparison): MODE_WIDTH now unsigned.
24256169689Skan	(update_table_tick): REGNO and ENDREGNO now unsigned; new var R.
24257169689Skan	(mark_used_regs_combine): Likewise; rework arithmetic.
24258169689Skan	(record_value_for_reg): REGNO, ENDREGNO, and I now unsigned.
24259169689Skan	(record_dead_and_set_regs, reg_dead_at_p, distribute_notes): Likewise.
24260169689Skan	(record_promoted_value): REGNO now unsigned.
24261169689Skan	(get_last_value_validate): REGNO, ENDREGNO, and J now unsigned.
24262169689Skan	(get_last_value): REGNO now unsigned.
24263169689Skan	(use_crosses_set_p): REGNO and ENDREGNO now unsigned.
24264169689Skan	(reg_dead_regno, reg_dead_endregno): Now unsigned.
24265169689Skan	(remove_death): Arg REGNO now unsigned.
24266169689Skan	(move_deaths):  REGNO, DEADREGNO, DEADEND, OUREND, and I now unsigned.
24267169689Skan	(reg_bitfield_target_p): REGNO, REGNO, ENDREGNO, and ENDTREGNO
24268169689Skan	now unsigned.
24269169689Skan	* convert.c (convert_to_integer): INPREC and OUTPREC now unsigned.
24270169689Skan	* cse.c (struct qty_table_elem): FIRST_REG and LAST_REG now unsigned.
24271169689Skan	(struct cse_reg_info): REGNO now unsigned.
24272169689Skan	(cached_regno): Now unsigned.
24273169689Skan	(REGNO_QTY_VALID_P): Add cast.
24274169689Skan	(make_new_qty, make_regs_eqv, delete_reg_eqiv): Regno args unsigned.
24275169689Skan	(remove_invalid_regs): Likewise.
24276169689Skan	(remove_invalid_subreg_refs): Likewise; arg WORD also unsigned
24277169689Skan	as are variables END and I.
24278169689Skan	(get_cse_reg_info, insert): Likewise.
24279169689Skan	(mention_regs, invalidate_for_call): REGNO, ENDREGNO, and I unsigned.
24280169689Skan	(canon_hash): Likewise.
24281169689Skan	(insert_regs, lookup_for_remove): REGNO now unsigned.
24282169689Skan	(invalidate): REGNO, ENDREGNO, TREGNO, and TENDREGNO now unsigned.
24283169689Skan	New variable RN.
24284169689Skan	* dbxout.c (dbxout_parms, dbxout_reg_parms): Don't check for REGNO < 0.
24285169689Skan	* dwarf2out.c (dwarf2ou_frame_debug_expr): Remove cast.
24286169689Skan	* emit-rtl.c (subreg_realpart_p): Add cast.
24287169689Skan	(operand_subword): Arg I is now unsigned as is var PARTWORDS.
24288169689Skan	(operand_subword_force): Arg I is now unsigned.
24289169689Skan	* except.c (eh_regs): Variable I is now unsigned.
24290169689Skan	* explow.c (hard_function_value): BYTES is unsigned HOST_WIDE_INT.
24291169689Skan	* expmed.c (store_fixed_bit_field): Position is HOST_WIDE_INT;
24292169689Skan	length is unsigned HOST_WIDE_INT; likewise for internal variables.
24293169689Skan	(store_split_bit_field, extract_fixed_bit_field): Likewise.
24294169689Skan	(extract_split_bit_field, store_bit_field, extract_bit_field):
24295169689Skan	Likewise.
24296169689Skan	* expr.c (store_constructor_fields, store_constructor, store_field):
24297169689Skan	Positions are HOST_WIDE_INT and lengths are unsigned HOST_WIDE_INT.
24298169689Skan	(expand_assignment, expand_expr, expand_expr_unaligned): Likewise.
24299169689Skan	(do_jump): Likewise.
24300169689Skan	(move_by_pieces, move_by_pieces_ninsns, clear_by_pieces):
24301169689Skan	MAX_SIZE is now unsigned.
24302169689Skan	(emit_group_load): BYTEPOS is HOST_WIDE_INT; BYTELEN is unsigned.
24303169689Skan	(emit_group_store): Likewise.
24304169689Skan	(emit_move_insn): I now unsigned.
24305169689Skan	(store_constructor): Use host_integerp, tree_low_cst, and
24306169689Skan	bitsize_unit_node.
24307169689Skan	(get_inner_reference): Return bitpos and bitsize as HOST_WIDE_INT.
24308169689Skan	Rework all calculations to use trees and new fields.
24309169689Skan	* expr.h (promoted_input_arg): Regno now unsigned.
24310169689Skan	(store_bit_field, extract_bit_field): Adjust types of pos and size.
24311169689Skan	(mark_seen_cases): Arg is HOST_WIDE_INT.
24312169689Skan	* flow.c (verify_wide_reg_1): REGNO now unsigned.
24313169689Skan	* fold-const.c (decode_field_reference): Size and pos HOST_WIDE_INT;
24314169689Skan	precisions and alignments are unsigned.
24315169689Skan	(optimize_bit_field_compare, fold_truthop): Likewise.
24316169689Skan	(int_const_binop): Adjust threshold for size_int_type_wide call.
24317169689Skan	(fold_convert): Likewise.
24318169689Skan	(size_int_type_wide): Make table larger and fix thinko that only
24319169689Skan	had half of table used.
24320169689Skan	(all_ones_mask_p, fold): Precisions are unsigned.
24321169689Skan	* function.c (put_reg_info_stack): REGNO is unsigned.
24322169689Skan	(instantiate_decl): Size is HOST_WIDE_INT.
24323169689Skan	(instantiate_virtual_regs): I is unsigned.
24324169689Skan	(assign_parms): REGNO, REGNOI, and REGNOR are unsigned.
24325169689Skan	(promoted_input_arg): REGNO is unsigned.
24326169689Skan	* function.h (struct function): x_max_parm_reg is now unsigned.
24327169689Skan	* gcse.c (max_gcse_regno): Now unsigned.
24328169689Skan	(struct null_pointer_info): min_reg and max_reg now unsigned.
24329169689Skan	(lookup_set, next_set): REGNO arg now unsigned.
24330169689Skan	(compute_hash_table): REGNO and I now unsigned.
24331169689Skan	(handle_avail_expr): regnum_for_replacing now unsigned.
24332169689Skan	(cprop_insn): REGNO now unsigned.
24333169689Skan	(delete_null_pointer_checks_1): BLOCK_REG now pointer to unsigned.
24334169689Skan	* ggc-common.c (ggc_mark_tree_children, case FIELD_DECL): New case.
24335169689Skan	* global.c (set_preference): SRC_REGNO, DEST_REGNO, and I now unsigned.
24336169689Skan	* hard-reg-set.h (reg_class_size): Now unsigned.
24337169689Skan	* integrate.c (mark_stores): LAST_REG and I now unsigned; new UREGNO.
24338169689Skan	* jump.c (mark_modified_reg): I now unsigned; add cast.
24339169689Skan	(rtx_equal_for_thread_p): Add cast.
24340169689Skan	* loop.c (max_reg_before_loop): Now unsigned.
24341169689Skan	(struct_movable): REGNO now unsigned.
24342169689Skan	(try_copy_prop): REGNO arg unsigned.
24343169689Skan	(regs_match_p): XN and YN now unsigned.
24344169689Skan	(consec_sets_invariant_p, maybe_eliminate_biv): REGNO now unsigned.
24345169689Skan	(strength_reduce): Likewise; NREGS also unsigned.
24346169689Skan	(first_increment_giv, last_increment_giv unsigned): Now unsigned.
24347169689Skan	* loop.h (struct iv_class): REGNO now unsigned.
24348169689Skan	(max_reg_before_loop, first_increment_giv, last_increment_giv):
24349169689Skan	Now unsigned.
24350169689Skan	* machmode.h (mode_size, mode_unit_size): Now unsigned.
24351169689Skan	(mode_for_size, smallest_mode_for_size): Pass size as unsigned.
24352169689Skan	* optabs.c (expand_binop): I and NWORDS now unsigned.
24353169689Skan	(expand_unop): I now unsigned.
24354169689Skan	* print-tree.c (print_node): Don't print DECL_FIELD_BITPOS, but do
24355169689Skan	print DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET.
24356169689Skan	* real.c (significand_size): Now returns unsigned.
24357169689Skan	* real.h (significand_size): Likewise.
24358169689Skan	* regclass.c (reg_class_size): Now unsigned.
24359169689Skan	(choose_hard_reg_mode): Both operands now unsigned.
24360169689Skan	(record_reg_classes): REGNO and NR now unsigned.
24361169689Skan	(reg_scan): NREGS now unsigned.
24362169689Skan	(reg_scan_update): old_max_regno now unsigned.
24363169689Skan	(reg_scan_mark_refs): Arg MIN_REGNO and var REGNO now unsigned.
24364169689Skan	* reload.c (find_valid_class): BEST_SIZE now unsigned.
24365169689Skan	(find_dummy_reload): REGNO, NWORDS, and	I now unsigned.
24366169689Skan	(hard_reg_set_here_p): Args BEG_REGNO and END_REGNO now unsigned.
24367169689Skan	Likewise for variable R.
24368169689Skan	(refers_to_regno_for_reload_p): Args REGNO and END_REGNO now unsigned,
24369169689Skan	as are variables INNER_REGNO and INNER_ENDREGNO; add new variable R.
24370169689Skan	(find_equiv_reg): Add casts.
24371169689Skan	(regno_clobbered_p): Arg REGNO now unsigned.
24372169689Skan	* reload.h (struct reload): NREGS now unsigned.
24373169689Skan	(refers_to_regno_for_reload_p): Regno args are unsigned.
24374169689Skan	(regno_clobbered_p): Likewise.
24375169689Skan	* reload1.c (reg_max_ref_width, spill_stack_slot_width): Now unsigned.
24376169689Skan	(compute_use_by_pseudos): REGNO now unsigned.
24377169689Skan	(find_reg): I and J now unsigned, new variable K, and change loop
24378169689Skan	variables accordingly; THIS_NREGS now unsigned.
24379169689Skan	(alter_reg): INHERENT_SIZE and TOTAL_SIZE now unsigned.
24380169689Skan	(spill_hard_reg): REGNO arg now unsigned; add casts.
24381169689Skan	(forget_old_reloads_1): REGNO, NR, and I now unsigned.
24382169689Skan	(mark_reload_reg_in_use): Arg REGNO and vars NREGS and I now unsigned.
24383169689Skan	(clear_reload_reg_in_use): Arg REGNO and vars NREGS, START_REGNO,
24384169689Skan	END_REGNO, CONFLICT_START, and CONFLICT_END now unsigned.
24385169689Skan	(reload_reg_free_p, reload_reg_reaches_end_p): Arg REGNO now unsigned.
24386169689Skan	(choose_reload_regs): MAX_GROUP_SIZE now unsigned.
24387169689Skan	(emit_reload_insns): REGNO now unsigned.
24388169689Skan	(reload_cse_move2add): Add cast.
24389169689Skan	(move2add_note_store): REGNO and I now unsigned; new variable ENDREGNO
24390169689Skan	and rework loop.
24391169689Skan	* resource.c (mark_referenced_resources, mark_set_resources): New
24392169689Skan	variable R; REGNO and LAST_REGNO now unsigned.
24393169689Skan	(mark_target_live_regs): J and REGNO now unsigned.
24394169689Skan	* rtl.c (mode_size, mode_unit_size): Now unsigned.
24395169689Skan	* rtl.h (union rtunion_def): New field rtuint.
24396169689Skan	(XCUINT): New macro.
24397169689Skan	(ADDRESSOF_REGNO, REGNO, SUBREG_WORD): New XCUINT.
24398169689Skan	(operand_subword, operand_subword_force): Word number is unsigned.
24399169689Skan	(choose_hard_reg_mode): Operands are unsigned.
24400169689Skan	(refers_to-regno_p, dead_or_set_regno_p): Regno arg is unsigned.
24401169689Skan	(find_regno_note, find_regno_fusage, replace_regs): Likewise.
24402169689Skan	(regno_use_in, combine_instructions, remove_death): Likewise.
24403169689Skan	(reg_scan, reg_scan_update): Likewise.
24404169689Skan	(extended_count): Return is unsigned.
24405169689Skan	* rtlanal.c (refers_to_regno_p): Args REGNO and ENDREGNO and vars I,
24406169689Skan	INNER_REGNO, and INNER_ENDREGNO now unsigned; new variable X_REGNO.
24407169689Skan	(reg_overlap_mentioned_p): REGNO and ENDREGNO now unsigned.
24408169689Skan	(reg_set_last_first_regno, reg_set_last_last_regno): Now unsigned.
24409169689Skan	(reg_reg_last_1): FIRS and LAST now unsigned.
24410169689Skan	(dead_or_set_p): REGNO, LAST_REGNO, and I now unsigned.
24411169689Skan	(dead_or_set_regno_p): Arg TEST_REGNO and vars REGNO and ENDREGNO
24412169689Skan	now unsigned.
24413169689Skan	(find_regno_note, regno_use_in): Arg REGNO now unsigned.
24414169689Skan	(find_regno_fusage): Likewise; also var REGNOTE now unsigned.
24415169689Skan	(find_reg_fusage): Variables REGNO, END_REGNO, and I now unsigned.
24416169689Skan	(replace_regs): Arg NREGS now unsigned.
24417169689Skan	* sdbout.c (sdbout_parms, sdbout_reg_parms): Don't check REGNO < 0.
24418169689Skan	* simplify-rtx.c (simplify_unary_operation): WIDTH now unsigned.
24419169689Skan	(simplify_binary_operation): Likewise.
24420169689Skan	(cselib_invalidate_regno): Arg REGNO and variables ENDREGNO, I, and
24421169689Skan	THIS_LAST now unsigned.
24422169689Skan	(cselib_record_set): Add cast.
24423169689Skan	* ssa.c (ssa_max_reg_num): Now unsigned.
24424169689Skan	(rename_block): REGNO now unsigned.
24425169689Skan	* stmt.c (expand_return): Bit positions unsigned HOST_WIDE_INT;
24426169689Skan	sizes now unsigned.
24427169689Skan	(all_cases_count): Just return -1 not -2.
24428169689Skan	COUNT, MINVAL, and LASTVAL now HOST_WIDE_INT.
24429169689Skan	Rework tests to use trees whenever possible.
24430169689Skan	Use host_integerp and tree_low_cst.
24431169689Skan	(mark_seen_cases): COUNT arg now HOST_WIDE_INT;
24432169689Skan	Likewise variable NEXT_NODE_OFFSET; XLO now unsigned.
24433169689Skan	(check_for_full_enumeration_handing): BYTES_NEEDED, I to HOST_WIDE_INT.
24434169689Skan	* stor-layout.c (mode_for_size): SIZE arg now unsigned.
24435169689Skan	(smallest_mode_for_size): Likewise.
24436169689Skan	(layout_decl): Simplify handing of a specified DECL_SIZE_UNIT.
24437169689Skan	KNOWN_ALIGN is now an alignment, so simplify code.
24438169689Skan	Don't turn off DECL_BIT_FIELD if field is BLKmode, but not type.
24439169689Skan	(start_record_layout): Renamed from new_record_layout_info.
24440169689Skan	Update to new fields.
24441169689Skan	(debug_rli, normalize_rli, rli_size_unit_so_far, rli_size_so_far):
24442169689Skan	New functions.
24443169689Skan	(place_union_field): Renamed from layout_union_field.
24444169689Skan	Update to use new fields in rli.
24445169689Skan	(place_field): Renamed from layout_field.
24446169689Skan	Major rewrite to use new fields in rli; pass alignment to layout_decl.
24447169689Skan	(finalize_record_size): Rework to use new fields in rli and handle
24448169689Skan	union.
24449169689Skan	(compute_record_mode): Rework to simplify and to use new DECL fields.
24450169689Skan	(finalize_type_size): Make rounding more consistent.
24451169689Skan	(finish_union_layout): Deleted.
24452169689Skan	(layout_type, case VOID_TYPE): Don't set TYPE_SIZE_UNIT either.
24453169689Skan	(layout_type, case RECORD_TYPE): Call new function names.
24454169689Skan	(initialize_sizetypes): Set TYPE_IS_SIZETYPE.
24455169689Skan	(set_sizetype): Set TYPE_IS_SIZETYPE earlier.
24456169689Skan	(get_best_mode): UNIT is now unsigned; remove casts.
24457169689Skan	* tree.c (bit_position): Compute from new fields.
24458169689Skan	(byte_position, int_byte_position): New functions.
24459169689Skan	(print_type_hash_statistics): Cast to remove warning.
24460169689Skan	(build_range_type): Use host_integerp and tree_low_cst to try to hash.
24461169689Skan	(build_index_type): Likewise; make subtype of sizetype.
24462169689Skan	(build_index_2_type): Pass sizetype to build_range_type.
24463169689Skan	(build_common_tree_nodes): Use size_int and bitsize_int to
24464169689Skan	initialize nodes; add bitsize_{zero,one,unit}_node.
24465169689Skan	* tree.h (DECL_FIELD_CONTEXT): Use FIELD_DECL_CHECK.
24466169689Skan	(DECL_BIT_FIELD_TYPE, DECL_QUALIFIER, DECL_FCONTEXT): Likewise.
24467169689Skan	(DECL_PACKED, DECL_BIT_FIELD): Likewise.
24468169689Skan	(DECL_FIELD_BITPOS): Deleted.
24469169689Skan	(DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): New fields.
24470169689Skan	(DECL_RESULT, DECL_SAVED_INSNS): Use FUNCTION_DECL_CHECK.
24471169689Skan	(DECL_FRAME_SIZE, DECL_FUNCTION_CODE, DECL_NO_STATIC_CHAIN): Likewise.
24472169689Skan	(DECL_INLINE, DECL_BUILT_IN_NONANSI, DECL_IS_MALLOC): Likewise.
24473169689Skan	(DECL_BUILT_IN_CLASS, DECL_STATIC_CONSTRUCTOR): Likewise.
24474169689Skan	(DECL_STATIC_DESTRUCTOR, DECL_NO_CHECK_MEMORY_USAGE): Likewise.
24475169689Skan	(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK) Likewise.
24476169689Skan	(DECL_ORIGINAL_TYPE, TYPE_DECL_SUPPRESS_DEBUG): Use TYPE_DECL_CHECK.
24477169689Skan	(DECL_ARG_TYPE_AS_WRITEN, DECL_ARG_TYPE): Use PARM_DECL_CHECK.
24478169689Skan	(DECL_INCOMING_RTL, DECL_TRANSPARENT_UNION): Likewise.
24479169689Skan	(DECL_ALIGN): Adjust to new field in union.
24480169689Skan	(DECL_OFFSET_ALIGN): New field.
24481169689Skan	(DECL_ERROR_ISSUED, DECL_TOO_LATE): Use LABEL_DECL_CHECK.
24482169689Skan	(DECL_IN_TEXT_SECTION): Use VAR_DECL_CHECK.
24483169689Skan	(union tree_decl): Add struct for both aligns.
24484169689Skan	(enum tree_index): Add TI_BITSIZE_{ZERO,ONE,UNIT}.
24485169689Skan	(bitsize_zero_node, bitsize_one_node, bitsize_unit_node): Added.
24486169689Skan	(struct record_layout_info): Rework fields to have offset
24487169689Skan	alignment and byte and bit position.
24488169689Skan	(start_record_layout, place_field): Renamed from old names.
24489169689Skan	(rli_size_so_far, rli_size_unit_so_far, normalize_rli): New decls.
24490169689Skan	(byte_position, int_byte_position): Likewise.
24491169689Skan	(get_inner_reference): Change types of position and length.
24492169689Skan	* unroll.c (unroll_loop): New variable R; use for some loops.
24493169689Skan	MAX_LOCAL_REGNUM and MAXREGNUM now unsigned.
24494169689Skan	(calculate_giv_inc): Arg REGNO now unsigned.
24495169689Skan	(copy_loop_body): REGNO and SRC_REGNO now unsigned.
24496169689Skan	* varasm.c (assemble_variable): Clean up handling of size using
24497169689Skan	host_integerp and tree_low_cst.
24498169689Skan	(decode_addr_const): Use byte, not bit, position.
24499169689Skan	(output_constructor): bitpos and offsets are HOST_WIDE_INT;
24500169689Skan	use tree_low_cst and int_bit_position.
24501169689Skan	* objc/objc-act.c (build_ivar_list_initializer): Use byte_position.
24502169689Skan
24503169689SkanFri Mar 24 20:13:49 2000  Jason Eckhardt  <jle@cygnus.com>
24504169689Skan
24505169689Skan	* bb-reorder.c (REORDER_MOVED_BLOCK_END): Removed.
24506169689Skan	(reorder_block_def): New members eff_head and eff_end.
24507169689Skan	(REORDER_BLOCK_EFF_HEAD, REORDER_BLOCK_EFF_END): New macros.
24508169689Skan	(verify_insn_chain): New function.
24509169689Skan	(skip_insns_between_block): Add code to skip deleted insns.
24510169689Skan	Check for note before using.
24511169689Skan	(chain_reorder_blocks): Replace calls to skip_insns_between_block
24512169689Skan	with references to REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END.
24513169689Skan	Check for note before using.
24514169689Skan	(make_reorder_chain): Use INTVAL rather than XINT to get REG_BR_PROB.
24515169689Skan	(fixup_reorder_chain): Restructure, clean up, defect removal.
24516169689Skan	(reorder_basic_blocks): Remove last_insn and references to it.
24517169689Skan	Moved insn chain verification code into a new function (see above).
24518169689Skan	Delete defective code that sets last insn.
24519169689Skan	Initialize REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for
24520169689Skan	all blocks.
24521169689Skan
24522169689Skan2000-03-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
24523169689Skan
24524169689Skan	* config/c4x/c4x.h (CPP_SPEC): Remove erroneous space.
24525169689Skan
24526169689Skan2000-03-24  Richard Henderson  <rth@cygnus.com>
24527169689Skan
24528169689Skan	* tree.c (lang_safe_for_unsave): Remove.
24529169689Skan	(unsafe_for_reeval): Transmute and rename from safe_for_unsave,
24530169689Skan	allowing for two levels of unsafeness.  Remove lang hook.
24531169689Skan	* tree.h: Update declarations.
24532169689Skan	* calls.c (expand_call): Rename safe_for_reeval to try_tail_call.
24533169689Skan	Create temporary VAR_DECLs to protect very unsafe_for_reeval trees.
24534169689Skan	Always fail sibcalls when there are pending cleanups.
24535169689Skan
24536169689Skan2000-03-24  Geoff Keating  <geoffk@cygnus.com>
24537169689Skan
24538169689Skan	* flow.c (propagate_block): When we delete an ADDR_VEC,
24539169689Skan	also delete the BARRIER following it if there is one.
24540169689Skan
24541169689Skan2000-03-24  Richard Henderson  <rth@cygnus.com>
24542169689Skan
24543169689Skan	* builtins.c (expand_builtin_bzero): Convert `length' argument
24544169689Skan	to sizetype.
24545169689Skan
24546169689Skan2000-03-24  Jakub Jelinek  <jakub@redhat.com>
24547169689Skan
24548169689Skan	* sibcall.c (skip_copy_to_return_value): Use OUTGOING_REGNO for
24549169689Skan	comparison if regno's are equal.
24550169689Skan	* calls.c (initialize_argument_informat): Add ecf_flags argument.
24551169689Skan	Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
24552169689Skan	(expand_call): Update caller.
24553169689Skan	Avoid making a sibling call if argument size of the callee is larger
24554169689Skan	than argument size of the caller.
24555169689Skan	Call hard_function_value with outgoing set if in sibcall pass.
24556169689Skan	Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
24557169689Skan
24558169689Skan	* final.c (permitted_reg_in_leaf_functions, only_leaf_regs_used):
24559169689Skan	Change LEAF_REGISTERS from an array initializer to actual array
24560169689Skan	identifier. Move static global variable into the function.
24561169689Skan	(leaf_function_p): Allow SIBLING_CALL_P calls even outside of
24562169689Skan	sequences for leaf functions.
24563169689Skan	* global.c (global_alloc): Likewise.
24564169689Skan	* tm.texi (LEAF_REGISTERS): Update documentation.
24565169689Skan
24566169689Skan	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Remove the ugly
24567169689Skan	TARGET_FLAT leaf disabling hack.
24568169689Skan	(LEAF_REGISTERS): Changed from an array initializer to actual array
24569169689Skan	identifier to avoid duplication and remove the above hack.
24570169689Skan	(FUNCTION_OK_FOR_SIBCALL): Define.
24571169689Skan	* config/sparc/sparc.md (sibcall): New attr type. Use it almost
24572169689Skan	always like call attribute.
24573169689Skan	(eligible_for_sibcall_delay): New attribute.
24574169689Skan	(sibcall): New delay type.
24575169689Skan	(sibcall, sibcall_value, sibcall_epilogue): New expands.
24576169689Skan	(sibcall_symbolic_sp32, sibcall_symbolic_sp64,
24577169689Skan	sibcall_value_symbolic_sp32, sibcall_value_symbolic_sp64): New insns.
24578169689Skan	* config/sparc/sparc.c (sparc_leaf_regs): New array.
24579169689Skan	(eligible_for_sibcall_delay, output_restore_regs, output_sibcall):
24580169689Skan	New functions.
24581169689Skan	(output_function_epilogue): Move part of the code into
24582169689Skan	output_restore_regs.
24583169689Skan	(ultra_code_from_mask, ultrasparc_sched_reorder): Handle
24584169689Skan	TYPE_SIBCALL.
24585169689Skan	* sparc-protos.h (output_sibcall, eligible_for_sibcall_delay): New
24586169689Skan	prototypes.
24587169689Skan
24588169689Skan	* config/sparc/sparc.h (REVERSIBLE_CC_MODE): Revert Jan, 25 change
24589169689Skan	until infrastructure is finished.
24590169689Skan
24591169689SkanFri Mar 24 13:49:45 2000  Jeffrey A Law  (law@cygnus.com)
24592169689Skan
24593169689Skan	* integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns here.
24594169689Skan	(save_parm_insns): Not here.
24595169689Skan
24596169689Skan2000-03-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
24597169689Skan
24598169689Skan	* builtins.c (expand_builtin_bzero): New function.
24599169689Skan	(expand_builtin): Handle bzero.
24600169689Skan
24601169689Skan	* builtins.def: Add BUILT_IN_BZERO.
24602169689Skan
24603169689Skan	* c-common.c (c_common_nodes_and_builtins): Provide builtin
24604169689Skan	prototype & function for bzero.
24605169689Skan
24606169689Skan2000-03-23  Michael Meissner  <meissner@redhat.com>
24607169689Skan
24608169689Skan	* config/alpha/alpha.md (TF floating point insns): Undo 2000-03-21
24609169689Skan	change adding TARGET_FP to the TF floating point insns, except for
24610169689Skan	trunctfsf2, which generates direct calls to truncdfsf2.
24611169689Skan
24612169689Skan2000-03-23  Geoff Keating  <geoffk@cygnus.com>
24613169689Skan
24614169689Skan	* config/rs6000/rs6000.h (ARG_POINTER_CFA_OFFSET): New definition,
24615169689Skan	try to protect against middle-end changes that break binary
24616169689Skan	compatibility.
24617169689Skan	(DWARF_FRAME_REGISTERS): New definition, likewise for backend.
24618169689Skan
24619169689Skan2000-03-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
24620169689Skan
24621169689Skan	* config/c4x/c4x.md (load_immed_address):  Add DP reg clobber.
24622169689Skan
24623169689SkanThu Mar 23 17:10:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
24624169689Skan
24625169689Skan	* calls.c (expand_call): If TARGET is passed by reference and
24626169689Skan	is readonly, write a CLOBBER.
24627169689Skan
24628169689Skan2000-03-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
24629169689Skan
24630169689Skan	* builtins.c (expand_builtin): Handle bcmp.
24631169689Skan
24632169689Skan	* builtins.def: Add BUILT_IN_BCMP.
24633169689Skan
24634169689Skan	* c-common.c (c_common_nodes_and_builtins): Provide builtin
24635169689Skan	prototype & function for bcmp.
24636169689Skan
24637169689SkanThu Mar 23 11:34:39 2000  Jim Wilson  <wilson@cygnus.com>
24638169689Skan
24639169689Skan	* config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC): Move case 6...
24640169689Skan	(rtx_needs_barrier, case UNSPEC_VOLATILE): to here.
24641169689Skan	* config/ia64/ia64.md (pr_restore): Change UNSPEC to UNSPEC_VOLATILE.
24642169689Skan
24643169689SkanThu Mar 23 16:04:40 2000  Andrew Haley  <aph@cygnus.com>
24644169689Skan
24645169689Skan	* config/mips/mips.md (movdf_internal1a): Delete (set 'f', 'F')
24646169689Skan	alternative when using -fp64 -gp32.
24647169689Skan
24648169689Skan2000-03-22  Jason Merrill  <jason@casey.cygnus.com>
24649169689Skan
24650169689Skan	* config/rs6000/rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define.
24651169689Skan	* config/alpha/alpha.h (DWARF_FRAME_RETURN_COLUMN): Define.
24652169689Skan	* config/sparc/sparc.h (DWARF_FRAME_RETURN_COLUMN): Define.
24653169689Skan
24654169689Skan	* frame.h (frame_state): Revert last change.
24655169689Skan	* frame.c (execute_cfa_insn): Just don't record the save of a CFA reg.
24656169689Skan	* libgcc2.c (throw_helper): Revert last change.
24657169689Skan
24658169689Skan2000-03-22  Richard Henderson  <rth@cygnus.com>
24659169689Skan
24660169689Skan	* stmt.c (expand_asm_operands): Don't promote the temporary.
24661169689Skan
24662169689Skan2000-03-22  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
24663169689Skan
24664169689Skan	* builtin.c (get_pointer_alignment): Use DECL_P and TYPE_P macros.
24665169689Skan	* c-common.c (decl_attributes,check_format_info,truthvalue_conversion,
24666169689Skan	  c_get_alias_set): Likewise.
24667169689Skan	* c-decl.c (duplicate_decls): Likewise.
24668169689Skan	* c-typeck.c (default_conversion,build_unary_op): Likewise.
24669169689Skan	* calls.c (initialize_argument_information): Likewise.
24670169689Skan	* dwarf2out.c (decl_class_context,add_abstract_origin_attribute):
24671169689Skan	Likewise.
24672169689Skan	* dwarfout.c (decl_class_context,output_type): Likewise.
24673169689Skan	* expr.c (get_inner_reference): Likewise.
24674169689Skan	* fold-const.c (simple_operand_p,fold): Likewise.
24675169689Skan	* function.c (aggregate_value_p): Likewise.
24676169689Skan	* stmt.c (expand_asm_operands): Likewise.
24677169689Skan	* varasm.c (named_section): Likewise.
24678169689Skan
24679169689Skan2000-03-22  Jason Merrill  <jason@casey.cygnus.com>
24680169689Skan
24681169689Skan	Implement dwarf2 exception handling for the ARM.
24682169689Skan	* config/arm/arm.h (INCOMING_RETURN_ADDR_RTX): Define.
24683169689Skan	(DWARF_FRAME_RETURN_COLUMN): Define.
24684169689Skan	* config/arm/arm.c (emit_multi_reg_push): Return rtx.  Attach
24685169689Skan	REG_FRAME_RELATED_EXPR note.
24686169689Skan	(emit_sfm): Likewise.
24687169689Skan	(arm_expand_prologue): Set RTX_FRAME_RELATED_P on everything.
24688169689Skan	* dwarf2out.c (reg_save): Handle saving a register to itself.
24689169689Skan	(dwarf2out_frame_debug_expr): Handle an intermediate cfa reg.
24690169689Skan	* except.c (eh_regs): Don't use the static chain reg if it's
24691169689Skan	callee-saved.
24692169689Skan	* frame.h (frame_state): Add cfa_saved field.
24693169689Skan	* frame.c (execute_cfa_insn): Set it.
24694169689Skan	* libgcc2.c (throw_helper): Don't adjust sp if it's restored in
24695169689Skan	the epilogue.
24696169689Skan	* function.c (ARG_POINTER_CFA_OFFSET): Default to FIRST_PARM_OFFSET.
24697169689Skan	Now takes a parm.
24698169689Skan	(instantiate_virtual_regs): Adjust.
24699169689Skan	* tm.texi: Adjust.
24700169689Skan	* config/m68k/m68k.h (ARG_POINTER_CFA_OFFSET): Don't define.
24701169689Skan	* config/ns32k/ns32k.h (ARG_POINTER_CFA_OFFSET): Don't define.
24702169689Skan	* config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): Take a parm.
24703169689Skan
24704169689Skan	* dwarf2out.c (reg_number): Refer to FIRST_PSEUDO_REGISTER.
24705169689Skan	(initial_return_save): Use DWARF_FRAME_REGNUM, not reg_number.
24706169689Skan
24707169689Skan2000-03-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
24708169689Skan
24709169689Skan	* builtins.def: New file.
24710169689Skan
24711169689Skan	* Makefile.in (TREE_H): Depend on builtins.def.
24712169689Skan
24713169689Skan	* builtins.c (built_in_names): Use builtins.def.
24714169689Skan
24715169689Skan	* tree.h (built_in_function): Likewise.
24716169689Skan
24717169689Skan2000-03-22  Mark Mitchell  <mark@codesourcery.com>
24718169689Skan
24719169689Skan	* tree.c (size_in_bytes): Return size_zero_node, not
24720169689Skan	integer_zero_node.
24721169689Skan
24722169689Skan2000-03-22  Geoff Keating  <geoffk@cygnus.com>
24723169689Skan
24724169689Skan	* config/fp-bit.c (pack_d): Correct the case when a denormal
24725169689Skan	is rounded up and stops being denormal.
24726169689Skan
24727169689Skan2000-03-21  Richard Henderson  <rth@cygnus.com>
24728169689Skan
24729169689Skan	* config/alpha/alpha.c (function_arg): Check for void_type_node
24730169689Skan	before using MUST_PASS_IN_STACK.
24731169689Skan
24732169689Skan2000-03-21  Stephane Carrez  <stcarrez@worldnet.fr>
24733169689Skan
24734169689Skan	* regmove.c (combine_stack_adjustments_for_block): Check that
24735169689Skan	the stack pointer is a valid memory address.
24736169689Skan
24737169689SkanWed Mar 22 11:44:50 MET 2000  Jan Hubicka  <jh@suse.cz>
24738169689Skan
24739169689Skan	* calls.c: re-install Mar 16 emit_library_call merge.
24740169689Skan
24741169689Skan2000-03-21  Jakub Jelinek  <jakub@redhat.com>
24742169689Skan
24743169689Skan	* config/sparc/sparc.c (mem_min_alignment): If not optimizing,
24744169689Skan	we cannot be sure that if reload_completed base register will
24745169689Skan	be properly aligned.
24746169689Skan
24747169689Skan2000-03-21  Richard Henderson  <rth@cygnus.com>
24748169689Skan
24749169689Skan	* flow.c (delete_block): Fix typo last change.
24750169689Skan
24751169689Skan2000-03-21  Mark Mitchell  <mark@codesourcery.com>
24752169689Skan
24753169689Skan	* c-common.c (c_expand_expr_stmt): Use COMPLETE_TYPE_OR_VOID_P,
24754169689Skan	not COMPLETE_TYPE_P, to check the type of the expression.
24755169689Skan
24756169689Skan2000-03-21  Michael Meissner  <meissner@redhat.com>
24757169689Skan
24758169689Skan	* config/alpha/alpha.md (floating point insns): Add TARGET_FP to
24759169689Skan	all floating point insns that just tested the macro
24760169689Skan	TARGET_HAS_XFLOATING_LIBS.
24761169689Skan	(movsf/movdf recognizers): Add separate insns if -mno-fp-regs is
24762169689Skan	used to only use the gprs.
24763169689Skan
24764169689Skan2000-03-21  Nathan Sidwell  <nathan@codesourcery.com>
24765169689Skan
24766169689Skan	* tree.h (COMPLETE_TYPE_P): New macro.
24767169689Skan	(COMPLETE_OR_VOID_TYPE_P): New macro.
24768169689Skan	(COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): New macro.
24769169689Skan	* stor-layout.c (layout_type, case VOID_TYPE): Don't set TYPE_SIZE.
24770169689Skan	* c-aux-info.c (gen_type): Use them.
24771169689Skan	* c-common.c (c_expand_expr_stmt): Likewise.
24772169689Skan	* c-decl.c (poplevel, pushdecl, start_decl, finish_decl,
24773169689Skan	grokdeclarator, grokparms, finish_struct, start_function,
24774169689Skan	store_parm_decls, combine_parm_decls): Likewise.
24775169689Skan	* c-parse.y (cast_expr): Likewise.
24776169689Skan	* c-typeck.c (require_complete_type, c_sizeof, c_sizeof_nowarn,
24777169689Skan	c_size_in_bytes, c_alignof, build_component_ref,
24778169689Skan	build_indirect_ref, build_array_ref, convert_arguments,
24779169689Skan	build_binary_op, pointer_diff, build_unary_op, digest_init: Likewise.
24780169689Skan	* calls.c (initialize_argument_information): Likewise.
24781169689Skan	* convert.c (convert_to_integer): Likewise.
24782169689Skan	* dbxout.c (dbxout_typedefs, dbxout_type, dbxout_symbol): Likewise.
24783169689Skan	* dwarfout.c (location_or_const_value_attribute,
24784169689Skan	output_enumeration_type_die, output_structure_type_die,
24785169689Skan	output_union_type_die, output_type): Likewise.
24786169689Skan	* expr.c (safe_from_p, expand_expr): Likewise.
24787169689Skan	* function.c (assign_parms): Likewise.
24788169689Skan	* sdbout.c (sdbout_symbol, sdbout_one_type): Likewise.
24789169689Skan	* tree.c (build_array_type, build_function_type,
24790169689Skan	build_method_type, build_offset_type, build_complex_type): Likewise.
24791169689Skan	* c-parse.c, c-parse.h: Regenerated.
24792169689Skan
24793169689Skan2000-03-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
24794169689Skan
24795169689Skan	* config/c4x/rtems.h: Include config/rtems.h.
24796169689Skan
24797169689SkanTue Mar 21 09:24:00 2000  Denis Chertykov  <denisc@overta.ru>
24798169689Skan
24799169689Skan	* config/avr/avr.c (encode_section_info): sets SYMBOL_REF_FLAG if
24800169689Skan	decl is a FUNCTION_DECL
24801169689Skan
24802169689SkanMon Mar 20 19:53:53 2000  Jim Wilson  <wilson@cygnus.com>
24803169689Skan
24804169689Skan	* config/ia64/ia64.c (ia64_expand_prologue): Don't abort if leaf
24805169689Skan	function uses output registers.  Don't save RP for leaf functions.
24806169689Skan	Do save RP even if no epilogue.
24807169689Skan	* config/ia64/ia64.h (FIXED_REGISTERS): Unmark in/out registers.
24808169689Skan	(CALL_USED_REGISTERS): Unmark in registers.
24809169689Skan	(REG_ALLOC_ORDER): Move out regs up, to near the top.  Move in regs up,
24810169689Skan	to near the middle.
24811169689Skan
24812169689Skan2000-03-20  Geoff Keating  <geoffk@cygnus.com>
24813169689Skan
24814169689Skan	* config/rs6000/rs6000.md (bunordered): New expander.
24815169689Skan	(bordered): New expander.
24816169689Skan	(buneq): New expander.
24817169689Skan	(bunge): New expander.
24818169689Skan	(bungt): New expander.
24819169689Skan	(bunle): New expander.
24820169689Skan	(bunlt): New expander.
24821169689Skan	(bltgt): New expander.
24822169689Skan
24823169689Skan	* config/rs6000/rs6000.c (ccr_bit): Handle unordered comparisons.
24824169689Skan	(ccr_bit_negated_p): New function.
24825169689Skan	(print_operand): For %C, generate appropriate cror for UNEQ,
24826169689Skan	UNLT, UNGT, and LTGT.  For %T and %t, use ccr_bit_negated_p.
24827169689Skan
24828169689Skan2000-03-20  Andreas Jaeger  <aj@suse.de>
24829169689Skan
24830169689Skan	* sdbout.c (sdbout_one_type): Add braces to avoid "ambigous else"
24831169689Skan	warning.
24832169689Skan
24833169689Skan	* tree.h (safe_for_unsave): Prototype.
24834169689Skan
24835169689Skan2000-03-20  Richard Henderson  <rth@cygnus.com>
24836169689Skan
24837169689Skan	* regmove.c (stack_memref_p): Fix typo, reorg for readability.
24838169689Skan	(combine_stack_adjustments_for_block): Don't allow sp references
24839169689Skan	in the side of a set we're not fixing up.
24840169689Skan	* toplev.c (rest_of_compilation): Run combine_stack_adjustments
24841169689Skan	after life_analysis.
24842169689Skan
24843169689Skan2000-03-20  Richard Henderson  <rth@cygnus.com>
24844169689Skan
24845169689Skan	* calls.c (expand_call): Don't bother generating tail call
24846169689Skan	sequences if there are pending cleanups.  Use
24847169689Skan	expand_start_target_temps/expand_end_target_temps to elide
24848169689Skan	cleanups created during sibcall expansion.
24849169689Skan
24850169689Skan2000-03-20  Geoff Keating  <geoffk@cygnus.com>
24851169689Skan
24852169689Skan	* configure.in: Set $IFS to a value if it doesn't already have one
24853169689Skan	in the --enable-checking handling.
24854169689Skan	* configure: Regenerate.
24855169689Skan
24856169689Skan2000-03-20  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
24857169689Skan
24858169689Skan	* c-parse.in (SAVE_WARN_FLAGS): Use size_int.
24859169689Skan	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
24860169689Skan	Regenerated.
24861169689Skan
24862169689SkanMon Mar 20 11:43:15 MET 2000  Jan Hubicka  <jh@suse.cz>
24863169689Skan
24864169689Skan	* jump.c (delete_noop_moves): Remove code attempting to
24865169689Skan	combine stack adjustments.
24866169689Skan
24867169689Skan2000-03-19  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
24868169689Skan
24869169689Skan	* emit-rtl.c (push_to_full_sequence, end_full_sequence): New functions.
24870169689Skan	* except.c (emit_cleanup_handler): Use them.
24871169689Skan	(expand_end_all_catch): Likewise.
24872169689Skan	* function.c (fixup_var_refs): Likewise.
24873169689Skan	(expand_function_end): Clear catch_clauses_last.
24874169689Skan	* rtl.h (push_to_full_sequence, end_full_sequence): Declare.
24875169689Skan	* except.h (struct eh_status): New field x_catch_clauses_last.
24876169689Skan	(catch_clauses_last): New define.
24877169689Skan
24878169689Skan	* Makefile.in (tree.o): Depend on HASHTAB_H.
24879169689Skan	* tree.c: Include hashtab.h.
24880169689Skan	(struct type_hash): Remove next field.
24881169689Skan	(TYPE_HASH_SIZE): Remove.
24882169689Skan	(TYPE_HASH_INITIAL_SIZE): New define.
24883169689Skan	(type_hash_table): Change type to htab_t.
24884169689Skan	(type_hash_eq, type_hash_hash, print_type_hash_statistics,
24885169689Skan	mark_hash_entry): New functions.
24886169689Skan	(init_obstacks): Allocate type hash.
24887169689Skan	(type_hash_lookup): Use htab functions.
24888169689Skan	(type_hash_add, mark_type_hash): Likewise.
24889169689Skan	(dump_tree_statistics): Call print_type_hash_statistics.
24890169689Skan
24891169689Skan2000-03-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
24892169689Skan
24893169689Skan	* rs6000/t-aix41: New file.
24894169689Skan
24895169689Skan	* configure.in ({rs6000,powerpc}-ibm-aix4.[12]*): Use it.
24896169689Skan
24897169689SkanSun Mar 19 13:27:30 2000  Hans-Peter Nilsson  <hp@axis.com>
24898169689Skan
24899169689Skan	* tm.texi (Driver): Fix typos and tweak entry for
24900169689Skan	INCLUDE_DEFAULTS.
24901169689Skan	Move misplaced STRUCT_FORCE_BLK entry ...
24902169689Skan	(Storage Layout): ... to here.
24903169689Skan	(Run-time Target): Recommend having TARGET_MASK_... helper macros.
24904169689Skan
24905169689Skan2000-03-19  Richard Henderson  <rth@cygnus.com>
24906169689Skan
24907169689Skan	* flow.c (delete_block): Delete the addr_vec along with the block.
24908169689Skan	(flow_delete_insn): Decrement LABEL_NUSES when deleting insns that
24909169689Skan	reference labels.
24910169689Skan
24911169689Skan	* fold-const.c (extract_muldiv): Apply type check for defined
24912169689Skan	overflow to multiply as well as divide.
24913169689Skan
24914169689Skan	* stor-layout.c (layout_decl): Don't abort on any zero sized decl.
24915169689Skan
24916169689Skan2000-03-18  Mark Mitchell  <mark@codesourcery.com>
24917169689Skan
24918169689Skan	* emit-rtl.c (remove_unnecessary_notes): Check that all
24919169689Skan	NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes have an
24920169689Skan	associated NOTE_BLOCK.
24921169689Skan	* function.h (identify_blocks): Update comments.
24922169689Skan	(reorder_blocks): Declare.
24923169689Skan	* function.c (identify_blocks): Don't take paramters.
24924169689Skan	(reorder_blocks): Don't take parameters.
24925169689Skan	* loop.h (find_loop_tree_blocks): Remove.
24926169689Skan	(unroll_block_trees): Likewise.
24927169689Skan	* loop.c (loop_optimize): Don't call find_loop_tree_blocks.  Use
24928169689Skan	reorder_blocks instead of unroll_block_trees.h
24929169689Skan	* sibcall.c (optimize_sibling_and_tail_recursive_calls): Likewise.
24930169689Skan	* stmt.c (find_loop_tree_blocks): Remove.
24931169689Skan	(unroll_block_trees): Likewise.
24932169689Skan	* toplev.c (rest_of_compilation): Don't call find_loop_tree_blocks
24933169689Skan	in whole-function mode.
24934169689Skan	* tree.h (reorder_blocks): Remove declaration.
24935169689Skan
24936169689Skan	* expr.c: Include intl.h.
24937169689Skan	* Makefile.in (expr.o): Depend on intl.h.
24938169689Skan
24939169689Skan2000-03-18  Richard Henderson  <rth@cygnus.com>
24940169689Skan
24941169689Skan	* expr.c (emit_move_insn_1): Clarify cannot_inline message.
24942169689Skan
24943169689Skan2000-03-18  Mark Mitchell  <mark@codesourcery.com>
24944169689Skan
24945169689Skan	* tree.h (tree_index): Remove enumerals for integer types.
24946169689Skan	(integer_type_kind): New type.
24947169689Skan	(integer_types): New variable.
24948169689Skan	(char_type_node): Adjust.
24949169689Skan	(signed_char_type_node): Likewise.
24950169689Skan	(unsigned_char_type_node): Likewise.
24951169689Skan	(short_integer_type_node): Likewise.
24952169689Skan	(short_unsigned_type_node): Likewise.
24953169689Skan	(integer_type_node): Likewise.
24954169689Skan	(unsigned_type_node): Likewise.
24955169689Skan	(long_integer_type_node): Likewise.
24956169689Skan	(long_unsigned_type_node): Likewise.
24957169689Skan	(long_long_integer_type_node): Likewise.
24958169689Skan	(long_long_unsigned_type_node): Likewise.
24959169689Skan	* tree.c (integer_types): New variable.
24960169689Skan	(init_obstacks): Register it as a root.
24961169689Skan
24962169689SkanSat Mar 18 14:38:00 2000  Jason Eckhardt  <jle@cygnus.com>
24963169689Skan
24964169689Skan	* bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as
24965169689Skan	NEXT_INSN. Update last insn in chain.
24966169689Skan
24967169689Skan2000-03-17  Jason Merrill  <jason@casey.cygnus.com>
24968169689Skan
24969169689Skan	* dwarf2out.c (dwarf2out_decl): Don't emit anything for types
24970169689Skan	with TYPE_DECL_SUPPRESS_DEBUG set.
24971169689Skan
24972169689Skan2000-03-18  Richard Henderson  <rth@cygnus.com>
24973169689Skan
24974169689Skan	* flow.c (make_edges): Use INTVAL to access REG_EH_REGION value.
24975169689Skan
24976169689Skan2000-03-18  Richard Henderson  <rth@cygnus.com>
24977169689Skan
24978169689Skan	* i386.c (call_insn_operand): Always allow SYMBOL_REF,
24979169689Skan	care for HALF_PIC_P.
24980169689Skan	(expander_call_insn_operand): Remove.
24981169689Skan	(ix86_expand_epilogue): New arg `emit_return' to control return insn.
24982169689Skan	* i386.h (PREDICATE_CODES): Update.
24983169689Skan	* i386.md (all call expanders): Remove predicates, remove special
24984169689Skan	handling for half-pic.
24985169689Skan	(*call_1, *call_value_1): Handle SIBLING_CALL_P insns.
24986169689Skan	(*call_pop_pic2, *call_pic2, *call_value_pop_2, *call_value_2): Remove.
24987169689Skan	(sibcall_epilogue): New.
24988169689Skan
24989169689Skan2000-03-17  Richard Henderson  <rth@cygnus.com>
24990169689Skan
24991169689Skan	* rtlanal.c (single_set): Reject if the parallel has anything
24992169689Skan	except SET or USE or CLOBBER.
24993169689Skan
24994169689Skan2000-03-17  Jeff Law  <law@cygnus.com>
24995169689Skan	    Richard Henderson  <rth@cygnus.com>
24996169689Skan
24997169689Skan	* Makefile.in (OBJS): Add sibcall.o.
24998169689Skan	(sibcall.o): New.
24999169689Skan	* sibcall.c: New file.
25000169689Skan	* calls.c (FUNCTION_OK_FOR_SIBCALL): Provide default.
25001169689Skan	(ECF_IS_CONST, ECF_NOTHROW, ECF_SIBCALL): New.
25002169689Skan	(emit_call_1): Replace `is_const' and `nothrow' with `ecf_flags'.
25003169689Skan	Emit sibcall patterns when requested.  Update all callers.
25004169689Skan	(expand_call): Generate CALL_PLACEHOLDER insns when tail call
25005169689Skan	elimination seems feasable.
25006169689Skan	* final.c (leaf_function_p): Sibling calls don't discount being
25007169689Skan	a leaf function.
25008169689Skan	* flow.c (HAVE_sibcall_epilogue): Provide default.
25009169689Skan	(find_basic_blocks_1): Sibling calls don't throw.
25010169689Skan	(make_edges): Make edge from sibling call to EXIT.
25011169689Skan	(propagate_block): Don't remove sibcall_epilogue insns.
25012169689Skan	* function.c (prologue, epilogue): Turn into varrays.  Update all uses.
25013169689Skan	(sibcall_epilogue): New.
25014169689Skan	(fixup_var_refs): Scan CALL_PLACEHOLDER sub-sequences.
25015169689Skan	(identify_blocks_1): Likewise.  Break out from ...
25016169689Skan	(identify_blocks): ... here.
25017169689Skan	(reorder_blocks_1): Scan CALL_PLACEHOLDER.  Break out from ...
25018169689Skan	(reorder_blocks): ... here.
25019169689Skan	(init_function_for_compilation): Zap prologue/epilogue as varrays.
25020169689Skan	(record_insns): Extend a varray instead of mallocing new memory.
25021169689Skan	(contains): Read a varray not array of ints.
25022169689Skan	(sibcall_epilogue_contains): New.
25023169689Skan	(thread_prologue_and_epilogue_insns): Emit and record
25024169689Skan	sibcall_epilogue patterns.
25025169689Skan	(init_function_once): Allocate prologue/epilogue varrays.
25026169689Skan	* genflags.c (gen_insn): Treat sibcall patterns as calls.
25027169689Skan	* integrate.c (save_parm_insns): Recurse on CALL_PLACEHOLDER patterns.
25028169689Skan	Broken out from ...
25029169689Skan	(save_for_inline_nocopy): ... here.
25030169689Skan	(copy_insn_list): Recurse on CALL_PLACEHOLDER patterns.
25031169689Skan	Broken out from ...
25032169689Skan	(expand_inline_function): ... here.
25033169689Skan	(copy_rtx_and_substitute): Handle NOTE_INSN_DELETED_LABEL.
25034169689Skan	(subst_constants): Handle 'n' formats.
25035169689Skan	* jump.c (jump_optimize_minimal): New.
25036169689Skan	(jump_optimize_1): New arg `minimal'; update callers.  Elide most
25037169689Skan	optimizations if it's set.
25038169689Skan	* rtl.c (copy_rtx): Do copy jump & call for insns.
25039169689Skan	* rtl.h (struct rtx_def): Document use of jump and call for insns.
25040169689Skan	(SIBLING_CALL_P): New.
25041169689Skan	(sibcall_use_t): New.
25042169689Skan	* toplev.c (rest_of_compilation): Do init_EXPR_INSN_LIST_cache earlier.
25043169689Skan	Invoke optimize_sibling_and_tail_recursive_calls.
25044169689Skan	* tree.c (lang_safe_for_unsave): New.
25045169689Skan	(safe_for_unsave): New.
25046169689Skan	* tree.h (lang_safe_for_unsave, safe_for_unsave): Declare.
25047169689Skan
25048169689Skan	* alpha.h (FUNCTION_OK_FOR_SIBCALL): New.
25049169689Skan	* alpha.md (sibcall, sibcall_value, sibcall_epilogue): New.
25050169689Skan	(*sibcall_osf_1, *sibcall_value_osf_1): New.
25051169689Skan
25052169689Skan2000-03-17  Mark Mitchell  <mark@codesourcery.com>
25053169689Skan
25054169689Skan	* objc/objc-act.c (encode_method_prototype): Pass types, not
25055169689Skan	PARM_DECLs, to int_size_in_bytes.
25056169689Skan
25057169689SkanFri Mar 17 11:51:34 2000  Jim Wilson  <wilson@cygnus.com>
25058169689Skan
25059169689Skan	* config/ia64/ia64.md (mix4right_3op): Swap %1 and %2 in template.
25060169689Skan
25061169689Skan	* config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
25062169689Skan	config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyrights again.
25063169689Skan
25064169689SkanFri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
25065169689Skan
25066169689Skan	* Clean up usages of TREE_INT_CST_LOW.
25067169689Skan	* c-parse.in (RESTORE_WARN_FLAGS): Use tree_low_cst.
25068169689Skan	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
25069169689Skan	Regenerated.
25070169689Skan	* c-tree.h (min_precision): Move declaration to here.
25071169689Skan	* c-typeck.c (build_binary_op): Use host_integerp and tree_low_cst.
25072169689Skan	(build_unary_op, add_pending_init): Use bit_position.
25073169689Skan	(pending_init_member, process_init_element): Likewise.
25074169689Skan	(really_start_incremental_init, push_init_level, pop_init_level):
25075169689Skan	Don't make copies of nodes or modify them in place, use consistent
25076169689Skan	types when tracking positions, and use tree routines computations.
25077169689Skan	(set_init_index, output_init_element): Likewise.
25078169689Skan	(output_pending_init_elements, process_init_element): Likewise.
25079169689Skan	* dbxout.c (dbxout_type_fields): Use bit_position, host_integerp,
25080169689Skan	tree_low_cst and int_bit_position; also minor cleanup.
25081169689Skan	(dbxout_type_method_1, dbxout_range_type, dbxout_type): Likewise.
25082169689Skan	(print_cst_octal): Precision is unsigned.
25083169689Skan	(dbxout_symbol): Ensure DECL_INITIAL is in-range and use tree_low_cst.
25084169689Skan	* dwarf2out.c (ceiling): Input and output are unsigned HOST_WIDE_INT.
25085169689Skan	(simple_type_align_in_bits): Result is unsigned int.
25086169689Skan	Use tree_int_low_cst and host_integerp.
25087169689Skan	(simple_type_size_in_bits): Result is unsigned HOST_WIDE_INT.
25088169689Skan	(field_byte_offset): Result is HOST_WIDE_INT.
25089169689Skan	Change types of internal variables so alignments are unsigned int,
25090169689Skan	offsets are HOST_WIDE_INT and sizes are unsigned HOST_WIDE_INT.
25091169689Skan	Use host_integerp, tree_low_cst, and int_bit_position.
25092169689Skan	(add_bit_offset_attribute): Likewise.
25093169689Skan	(add_data_member_location_attribute): Use tree_cst_low.
25094169689Skan	(add_bound_info): Use host_integerp, integer_zerop, and integer_onep.
25095169689Skan	(add_bit_size_attribute): Use tree_low_cst.
25096169689Skan	(add_pure_or_virtual_attribute, gen_enumeration_type_die): Likewise.
25097169689Skan	* dwarfout.c: Similar changes to dwarf2out.c.
25098169689Skan	* expr.c (expand_expr, case ARRAY_REF): Remove redundant code.
25099169689Skan	* genoutput.c (n_occurrences): Return -1 for null string.
25100169689Skan	(strip_whitespace): Accept null string and make into function.
25101169689Skan	(scan_operands): Reflect above changes.
25102169689Skan	* sdbout.c (plain_type_1): Use host_integerp and tree_low_cst.
25103169689Skan	(sdbout_field_types, sdbout_one_type): Likewise; also use bit_position.
25104169689Skan	* ssa.c (rename_registers): Add missing cast of arg to bzero.
25105169689Skan	* tree.c (int_size_in_bytes): Check for too big to represent.
25106169689Skan	(bit_position, int_bit_position, host_integerp, tree_low_cst): New fns.
25107169689Skan	* tree.h (host_integerp, tree_low_cst, bit_position, int_bit_position):
25108169689Skan	New declarations.
25109169689Skan	(min_precision): Delete from here.
25110169689Skan	* varasm.c (decode_addr_const): Use host_integerp, bit_position,
25111169689Skan	and int_bit_position.
25112169689Skan	* objc/objc-act.c (encode_method_prototype): Sizes are HOST_WIDE_INT.
25113169689Skan	(encode_method_def): Likewise.
25114169689Skan	(build_ivar_list_initializer): Use int_bit_position.
25115169689Skan	(generate_shared_structures): Convert size.
25116169689Skan	(encode_type, encode_complete_bitfield): Use integer_zerop.
25117169689Skan	(encode_bitfield): Use tree_low_cst and int_bit_position.
25118169689Skan
25119169689Skan2000-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
25120169689Skan
25121169689Skan	* config/c4x/c4x.h (CPP_SPEC): Fix typo.
25122169689Skan
25123169689Skan2000-03-17  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
25124169689Skan
25125169689Skan	* call.c (special_function_p): It is only malloc if it returns
25126169689Skan	Pmode.
25127169689Skan
25128169689Skan2000-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
25129169689Skan
25130169689Skan	* config/c4x/c4x.h (ASM_SPEC, CPP_SPEC, LINK_SPEC): Support C33.
25131169689Skan	(C33_FLAG, TARGET_C3X): Add macros.
25132169689Skan	(TARGET_SWITCHES): Add -m33 option.
25133169689Skan	* config/c4x/c4x.c (c4x_override_options): Test for TARGET_C33.
25134169689Skan
25135169689Skan2000-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
25136169689Skan
25137169689Skan	* config/c4x/c4x.h (PARALLEL_INSN_FLAG): Add.
25138169689Skan	(PARALLEL_PACK_FLAG): Delete.
25139169689Skan	(TARGET_SWITCHES): Update.
25140169689Skan	(TARGET_PARALLEL): Use PARALLEL_INSN_FLAG.
25141169689Skan
25142169689SkanThu Mar 16 18:52:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
25143169689Skan
25144169689Skan	* fold-const.c (fold): Fix a few cases when the returned result
25145169689Skan	is not of the same type as the input.
25146169689Skan
25147169689Skan2000-03-16  Nick Clifton  <nickc@cygnus.com>
25148169689Skan
25149169689Skan	* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Fix compile time
25150169689Skan	warning.
25151169689Skan
25152169689Skan2000-03-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
25153169689Skan
25154169689Skan	* libgcc2.h: Move prototypes above macros with the same name.
25155169689Skan	Wrap some function prototypes in the conditional which indicates
25156169689Skan	whether they are supported, i.e. "BITS_PER_UNIT == 8".
25157169689Skan
25158169689Skan2000-03-16  Richard Henderson  <rth@cygnus.com>
25159169689Skan
25160169689Skan	* calls.c: Revert last two changes.
25161169689Skan
25162169689Skan2000-03-16  Bernd Schmidt  <bernds@cygnus.co.uk>
25163169689Skan
25164169689Skan	* fp-bit.c (_unpack_d): If NO_DENORMALS is defined, anything that
25165169689Skan	has exponent 0 is a zero.
25166169689Skan
25167169689Skan	* simplify-rtx.c (hash_rtx, case MEM/REG): Take into account that
25168169689Skan	HASH may already be nonzero.  Add code/mode into hash value
25169169689Skan	immediately after repeat label.
25170169689Skan	(cselib_lookup): Don't leave the hash table in an inconsistent
25171169689Skan	state before a hash lookup operation.
25172169689Skan
25173169689SkanThu Mar 16 17:03:10 MET 2000  Jan Hubicka  <jh@suse.cz>
25174169689Skan
25175169689Skan	* i386.md (all HI and QI mode non-move patterns):  Conditionize
25176169689Skan	by TARGET_[HQ]IMODE_MATH.
25177169689Skan	* i386.h (x86_himode_math, x86_qimode_math, x86_promote_hi_regs,
25178169689Skan	x86_promote_qi_regs): Declare.
25179169689Skan	(TARGET_HIMODE_MATH, TARGET_QIMODE_MATH, TARGET_PROMOTE_HI_REGS,
25180169689Skan	TARGET_PROMOTE_QI_REGS): New macros.
25181169689Skan	(PROMOTE_MODE): New macro.
25182169689Skan	* i386.c (x86_himode_math, x86_qimode_math, x86_promote_hi_regs,
25183169689Skan	x86_promote_qi_regs): New global variables.
25184169689Skan
25185169689SkanThu Mar 16 16:50:44 MET 2000  Jan Hubicka  <jh@suse.cz>
25186169689Skan
25187169689Skan	* calls.c (emit_library_call_value_1): Break out from ...; handle
25188169689Skan	VOIDmode function calls too.
25189169689Skan	(emit_library_call_value): ... here.
25190169689Skan	(emit_library_call): Implement by calling emit_library_call_value_1.
25191169689Skan
25192169689SkanThu Mar 16 16:01:30 MET 2000  Jan Hubicka  <jh@suse.cz>
25193169689Skan
25194169689Skan	* calls.c (expand_call): Do sanity checking on arg_space_so_far.
25195169689Skan	Update arg_space_so_far on stack adjustments.
25196169689Skan	(emit_library_call, emit_library_call_value): Likewise; take into
25197169689Skan	account arg_space_so_far and pending_stack_adjust when calculcating
25198169689Skan	the boundary.
25199169689Skan
25200169689SkanThu Mar 16 09:02:19 2000  Jason Eckhardt  <jle@cygnus.com>
25201169689Skan
25202169689Skan	* flow.c: Move all basic block reordering code into its own file.
25203169689Skan	(create_basic_block): Externalize.
25204169689Skan	* bb-reorder.c: New file. Copy all basic block reordering code from
25205169689Skan	flow.c to this file.
25206169689Skan	(reorder_basic_blocks): Fix fencepost error in for-loop.
25207169689Skan	(reorder_basic_blocks): Remove braces from single statement for-loops.
25208169689Skan	* basic-block.h: Add declaration for create_basic_block.
25209169689Skan	* Makefile.in: Add rules for bb-reorder.o.
25210169689Skan
25211169689Skan2000-03-16  Neil Booth  <NeilB@earthling.net>
25212169689Skan
25213169689Skan	* cppinit.c (handle_option):  Implement #unassert directive
25214169689Skan	as -A- command line option.
25215169689Skan	(print_help):  Update.
25216169689Skan	* cpptexi.c:  Update.
25217169689Skan
25218169689SkanThu Mar 16 02:14:16 2000  Hans-Peter Nilsson  <hp@bitrange.com>
25219169689Skan
25220169689Skan	* md.texi (Standard Names): Document `jump'.
25221169689Skan
25222169689Skan2000-03-15  Jason Merrill  <jason@casey.cygnus.com>
25223169689Skan
25224169689Skan	* calls.c (emit_call_1): Nothrow functions can still have nonlocal
25225169689Skan	gotos.
25226169689Skan
25227169689Skan2000-03-15  Geoff Keating  <geoffk@cygnus.com>
25228169689Skan
25229169689Skan	Merge changes from newppc-branch onto trunk.
25230169689Skan
25231169689Skan	2000-03-15  Geoff Keating  <geoffk@cygnus.com>
25232169689Skan
25233169689Skan	* rs6000.c (toc_hash_table): Update for new hash table functions.
25234169689Skan	(toc_hash_function): Likewise.
25235169689Skan	(toc_hash_eq): Likewise.
25236169689Skan	(toc_hash_mark_entry): Likewise.
25237169689Skan	(toc_hash_mark_table): Likewise.
25238169689Skan	(output_toc): Likewise.
25239169689Skan	(rs6000_add_gc_roots): Likewise.
25240169689Skan
25241169689Skan	2000-03-15  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
25242169689Skan
25243169689Skan	* t-aix43 (AR_FOR_TARGET): Deleted.  Moved `-X32_64'...
25244169689Skan	(AR_FLAGS_FOR_TARGET): here.  New macro.
25245169689Skan
25246169689Skan	2000-03-05  Clinton Popetz  <cpopetz@cygnus.com>
25247169689Skan
25248169689Skan	* config/rs6000/rs6000.c (rs6000_fpmem_offset, rs6000_fpmem_size,
25249169689Skan	fpmem_operand) Delete.
25250169689Skan	(xer_operand) New.
25251169689Skan	(rs6000_reg_names, alt_reg_names): Change fpmem to xer.
25252169689Skan	(machine_function): Remove fpmem_size, fpmem_offset, save_toc_p.
25253169689Skan	(rs6000_save_machine_status, rs6000_restore_machine_status,
25254169689Skan	rs6000_init_expanders, rs6000_stack_info, debug_stack_info): Remove
25255169689Skan	references to above variables.
25256169689Skan	(gpc_reg_operand): Use XER_REGNO_P instead of FPMEM_REGNO_P.
25257169689Skan	* config/rs6000/rs6000.h (REG_ALLOC_ORDER, REGISTER_NAMES,
25258169689Skan	DEBUG_REGISTER_NAMES): Chagne fpmem to xer.
25259169689Skan	(FPMEM_REGNO_P, FPMEM_REGNUM): Delete.
25260169689Skan	(XER_REGNO_P, XER_REGNO): New.
25261169689Skan	(rs6000_stack): Remove fpmem_p, fpmem_offset, fpmem_size.
25262169689Skan	(PREDICATE_CODES): Change fpmem_operand to xer_operand.
25263169689Skan	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Change FPMEM_REGNO_P to
25264169689Skan	XER_REGNO_P.
25265169689Skan	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
25266169689Skan	REG_CLASS_FROM_LETTER, CLASS_MAX_NREGS): Change FPMEM_REGS to XER_REGS,		and remove FLOAT_OR_FPMEM_REGS.
25267169689Skan	(CLASS_CANNOT_CHANGE_SIZE): Change to FLOAT_REGS.
25268169689Skan
25269169689Skan	2000-02-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
25270169689Skan
25271169689Skan	* aix.h (FP_SAVE_INLINE, ASM_OUTPUT_INTERNAL_LABEL_PREFIX,
25272169689Skan	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Move here...
25273169689Skan	* rs6000.h: from here.
25274169689Skan
25275169689Skan	* rs6000-protos.h (rs6000_select_section): Provide prototype.
25276169689Skan	(rs6000_select_rtx_section): Likewise.
25277169689Skan	(rs6000_encode_section_info): Likewise.
25278169689Skan	(sdata_section): Likewise.
25279169689Skan	(sdata2_section): Likewise.
25280169689Skan	(sbss_section): Likewise.
25281169689Skan	* sysv4.h (rs6000_select_section): Delete prototype.
25282169689Skan	(rs6000_select_rtx_section): Likewise.
25283169689Skan	(rs6000_encode_section_info): Likewise.
25284169689Skan	(sdata_section): Likewise.
25285169689Skan	(sdata2_section): Likewise.
25286169689Skan	(sbss_section): Likewise.
25287169689Skan	(REG_SAVE_AREA): Delete definition duplicated in rs6000.h.
25288169689Skan
25289169689Skan	* sysv4.h: Delete various unnecessary #undef's and put a comment
25290169689Skan	on the remaining ones.
25291169689Skan	Change various comments according to coding standard.
25292169689Skan
25293169689Skan	2000-02-29  Clinton Popetz  <cpopetz@cygnus.com>
25294169689Skan
25295169689Skan	* config/rs6000/rs6000.h (MQ_REGNO, CR0_REGNO, CR1_REGNO, CR2_REGNO,
25296169689Skan	CR3_REGNO, CR4_REGNO, MAX_CR_REGNO): Define.
25297169689Skan	(CR0_REGNO_P) Remove.
25298169689Skan	* config/rs6000/rs6000.c (gpc_reg_operand, and64_operand, and_operand,
25299169689Skan	setup_incoming_varargs, mtcrf_operation, print_operand,
25300169689Skan	rs6000_stack_info, rs6000_emit_prologue, rs6000_emit_epilogue):
25301169689Skan	Use the above macros.
25302169689Skan
25303169689Skan	2000-02-24  Clinton Popetz  <cpopetz@cygnus.com>
25304169689Skan
25305169689Skan	* config/rs6000/rs6000.md: Added a new alternative for each
25306169689Skan	pattern that had a 'x' alternative but no 'y' alternative.
25307169689Skan	Added a new split for each of the above patterns.
25308169689Skan
25309169689Skan	2000-02-18  Geoff Keating  <geoffk@cygnus.com>
25310169689Skan
25311169689Skan	* aix41.h (ASM_CPU_SPEC): Delete.
25312169689Skan	(CPP_CPU_SPEC): Delete.
25313169689Skan
25314169689Skan	* aix.h (RS6000_OUTPUT_BASENAME): Define.
25315169689Skan	(ASM_OUTPUT_LABEL): Define.
25316169689Skan	(ASM_GLOBALIZE_LABEL): Define.
25317169689Skan	(STRIP_NAME_ENCODING): Define.
25318169689Skan	* rs6000.h (RS6000_OUTPUT_BASENAME): Don't define.
25319169689Skan	(STRIP_NAME_ENCODING): Don't define.
25320169689Skan	(ASM_OUTPUT_LABEL): Don't define.
25321169689Skan	(ASM_GLOBALIZE_LABEL): Don't define.
25322169689Skan	* sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use assemble_name to output
25323169689Skan	names, and ASM_OUTPUT_LABEL to output labels, rather than
25324169689Skan	asm_fprintf.
25325169689Skan	(ASM_OUTPUT_LABEL): Define.
25326169689Skan	(ASM_OUTPUT_INT): Use assemble_name.
25327169689Skan	(ASM_OUTPUT_DWARF_ADDR): Use assemble_name.
25328169689Skan	(STRIP_NAME_ENCODING): Don't undefine first.
25329169689Skan	(RS6000_OUTPUT_BASENAME): Make equivalent to assemble_name for
25330169689Skan	ELF.
25331169689Skan	(ASM_OUTPUT_LABELREF): Don't prepend underscores to labels
25332169689Skan	specified with 'asm' even with -fleading-underscore.
25333169689Skan	* rs6000.c (print_operand): Use assemble_name when !TARGET_AIX.
25334169689Skan	(output_epilog): Likewise.
25335169689Skan	(output_toc): Likewise.
25336169689Skan	* tramp.asm: Handle -fleading-underscore correctly.
25337169689Skan
25338169689Skan	* rs6000.md (builtin_setjmp_receiver): Also run for -fPIC and
25339169689Skan	-mminimal-toc.
25340169689Skan	(nonlocal_goto_receiver): Delete.
25341169689Skan	* rs6000.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Delete.
25342169689Skan
25343169689Skan	* rs6000.h (ASM_OUTPUT_DEF): Don't define.
25344169689Skan	(SET_ASM_OP): Define.
25345169689Skan	* sysv4.h (ASM_OUTPUT_DEF): Don't undefine.
25346169689Skan
25347169689Skan	* rs6000.h (ASM_OUTPUT_ADDR_VEC_ELT): Don't define.
25348169689Skan	(ASM_LONG): Define.
25349169689Skan
25350169689Skan	* rs6000.c (rs6000_dll_import_ref): Delete, not used.
25351169689Skan	* rs6000-protos.h (rs6000_dll_import_ref): Delete.
25352169689Skan
25353169689Skan	* rs6000.h: Add 'u' to more constants.
25354169689Skan
25355169689Skan	2000-02-18  David Edelsohn  <edelsohn@gnu.org>
25356169689Skan
25357169689Skan	* rs6000.md (mfcr+shift): Delete PowerPC64 version.
25358169689Skan
25359169689Skan	2000-02-15  David Edelsohn  <edelsohn@gnu.org>
25360169689Skan
25361169689Skan	* rs6000.c (reg_or_u_cint_operand): New function.
25362169689Skan	(logical_operand): Handle 64-bit hosts.
25363169689Skan	(logical_u_operand): New function.
25364169689Skan	(non_logical_cint_operand): Handle 64-bit hosts.
25365169689Skan	(non_logical_u_cint_operand): New function.
25366169689Skan	* rs6000.h (DATA_SECTION_ASM_OP): Add tab.
25367169689Skan	(PREDICATE_CODES): Define new functions.
25368169689Skan	* rs6000-protos.h: Declare new functions.
25369169689Skan	* rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits.
25370169689Skan	(movdi_64): Bracket code intended for 64-bit hosts.  Create
25371169689Skan	CONST_DOUBLE for 32-bit values.
25372169689Skan	(scc insns): Generate DImode compares.
25373169689Skan	(mfcr insns): Create DImode versions.
25374169689Skan	(sge matchers): New patterns.
25375169689Skan
25376169689Skan	2000-02-15  Gabriel Paubert  <paubert@iram.es>
25377169689Skan
25378169689Skan	* rs6000.md: Correct instructions length attributes and
25379169689Skan	constraints on unsigned compare instructions.
25380169689Skan	(*ne0): Disable for PowerPC64.
25381169689Skan
25382169689Skan	2000-02-11  Geoff Keating  <geoffk@cygnus.com>
25383169689Skan
25384169689Skan	* rs6000.c (output_function_profiler): Use .long for a 32-bit
25385169689Skan	quantity, fix profile1.C test failure under -fPIC.
25386169689Skan
25387169689Skan	* rs6000.c: Add 'u' to many constants to suppress warnings.
25388169689Skan	(constant_pool_expr_1): Make static.
25389169689Skan	(rs6000_emit_eh_toc_restore): Remove unused 'r2'.
25390169689Skan	* rs6000.h: Add 'u' to many constants to suppress warnings.
25391169689Skan
25392169689Skan	* rs6000.c (rs6000_emit_load_toc_table): Use LCTOC..1 under AIX
25393169689Skan	for the start of the TOC, instead of LCTOC..0.
25394169689Skan	* aix.h (toc_section): Use LCTOC..1 under AIX for the start
25395169689Skan	of the TOC.
25396169689Skan	* rs6000.md (load_toc_aix_si): Use LCTOC..1.
25397169689Skan	(load_toc_aix_di): Use LCTOC..1.
25398169689Skan
25399169689Skan	* rs6000.h (LEGITIMIZE_ADDRESS): Turn into a function.
25400169689Skan	* rs6000.c (rs6000_legitimize_address): New function from
25401169689Skan	LEGITIMIZE_ADDRESS.  Only use create_TOC_reference on
25402169689Skan	symbols in the constant pool that really are TOC references.
25403169689Skan	(print_operand_address): For ELF, write TOC offsets under
25404169689Skan	-fPIC as subtractions in the insn.
25405169689Skan	(output_toc): For ELF, define symbols in TOC as normal labels,
25406169689Skan	to match RTL.
25407169689Skan	(create_TOC_reference): Use gen_rtx_PLUS rather than gen_rtx.
25408169689Skan	* rs6000-protos.h (rs6000_legitimize_address): Prototype.
25409169689Skan	(create_TOC_reference): Prototype only when RTX_CODE is defined.
25410169689Skan	* rs6000.md (movsi): Only use create_TOC_reference on
25411169689Skan	symbols in the constant pool that really are TOC references.
25412169689Skan
25413169689Skan	* rs6000.h (MACHINE_DEPENDENT_REORG): Don't define.
25414169689Skan	* rs6000.c (rs6000_reorg): Delete.
25415169689Skan	* rs6000-protos.h (rs6000_reorg): Delete.
25416169689Skan
25417169689Skan	2000-02-09  Geoff Keating  <geoffk@cygnus.com>
25418169689Skan
25419169689Skan	* rs6000.h (INCOMING_RETURN_ADDR_RTX): New macro.
25420169689Skan
25421169689Skan	* aix.h (SETUP_FRAME_ADDRESSES): Define.
25422169689Skan	* rs6000.c [TARGET_AIX] (insn_after_throw): New static variable.
25423169689Skan	[TARGET_AIX] (rs6000_aix_emit_builtin_unwind_init): New function.
25424169689Skan	[TARGET_AIX] (rs6000_emit_eh_toc_restore): New function.
25425169689Skan	* rs6000-protos.h: Prototype rs6000_emit_eh_toc_restore,
25426169689Skan	rs6000_aix_emit_builtin_unwind_init.
25427169689Skan	* rs6000.md (eh_epilogue) [TARGET_AIX]: Call
25428169689Skan	rs6000_emit_eh_toc_restore on AIX.
25429169689Skan	(return_eh_si): Use r2.
25430169689Skan	(return_eh_di): Use r2.
25431169689Skan
25432169689Skan	* aix43.h: Turn on HAS_INIT_SECTION and LD_INIT_SWITCH,
25433169689Skan	since we're breaking binary compatibility anyway.
25434169689Skan
25435169689Skan	2000-02-09  Clinton Popetz  <cpopetz@cygnus.com>
25436169689Skan
25437169689Skan	* config/rs6000/rs6000-protos.h: (get_TOC_alias_set, uses_TOC,
25438169689Skan	constant_pool_expr_p): Declare them.
25439169689Skan	(constant_pool_expr_p): Declare it.
25440169689Skan	* config/rs6000/rs6000.c (toc_label_name): Define.
25441169689Skan	(rs6000_override_options): Set toc_label_name.
25442169689Skan	(input_operand): Allow any TOC_RELATIVE_EXPR_P.
25443169689Skan	(get_TOC_alias_set, constant_pool_expr_p, constant_pool_expr_1,
25444169689Skan	uses_TOC): New functions.
25445169689Skan	(print_operand): Delete old '*' case.
25446169689Skan	(print_operand_address): Use LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
25447169689Skan	and strip off rtl for TOC before calling output_addr_const.
25448169689Skan	(rs6000_emit_load_toc_table): Use toc_label_name.
25449169689Skan	* config/rs6000/rs6000.h (TARGET_SWITCHES): Make msched-prolog
25450169689Skan	the default.
25451169689Skan	(LEGITIMATE_CONSTANT_POOL_BASE_P): Delete.
25452169689Skan	(CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): New macros.
25453169689Skan	(LEGITIMATE_CONSTANT_POOL_ADDRESS_P): Use CONSTANT_POOL_EXPR_P.
25454169689Skan	(LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Turn symbol_refs
25455169689Skan	into explicit TOC_REGISTER offsets.
25456169689Skan	(TOC_REGISTER): New macro.
25457169689Skan	* config/rs6000/rs6000.md (movsi, movdi): Emit rtl under
25458169689Skan	TARGET_TOC to reference TOC_REGISTER.
25459169689Skan	(load_toc_v4_PIC_1b): Add 4 to offset for toc reload.
25460169689Skan	* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Call
25461169689Skan	uses_TOC before emitting label references.
25462169689Skan
25463169689Skan	2000-02-05  Geoff Keating  <geoffk@cygnus.com>
25464169689Skan
25465169689Skan	* rs6000.md (stack_tie): Fix warning.
25466169689Skan
25467169689Skan	* eabi-ctors.c: Use 'asm' names for the start/end variables,
25468169689Skan	to handle -fleading-underscore.
25469169689Skan	* sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use asm_fprintf and %U.
25470169689Skan	(USER_LABEL_PREFIX): New macro.
25471169689Skan	(ASM_OUTPUT_INTERNAL_LABEL_PREFIX): Use asm_fprintf and %L.
25472169689Skan	(ASM_OUTPUT_LABELREF): Use asm_fprintf and %U.
25473169689Skan	* t-ppccomm (MULTILIB_MATCHES_SYSV): Note that call-sysv and
25474169689Skan	call-linux can use the same multilibs.
25475169689Skan	* t-ppcgas (MULTILIB_OPTIONS): Don't need to have separate call-sysv
25476169689Skan	and call-linux multilibs.  Do multilib with -fleading-underscore.
25477169689Skan	(MULTILIB_DIRNAMES): Follow MULTILIB_OPTIONS change.
25478169689Skan	(MULTILIB_EXCEPTIONS): Remove call-linux exceptions.  Add restrictions
25479169689Skan	to call-aix.
25480169689Skan
25481169689Skan	* sysv4.h (CPP_SYSV_SPEC): Define _SOFT_FLOAT for all those CPUs that
25482169689Skan	have MASK_SOFT_FLOAT set.
25483169689Skan	(CPP_FLOAT_DEFAULT_SPEC): New macro.
25484169689Skan	(SUBTARGET_EXTRA_SPECS): Set `cpp_float_default' to the value of
25485169689Skan	CPP_FLOAT_DEFAULT_SPEC.
25486169689Skan
25487169689Skan	* rs6000.c (ccr_bit): Add some consistency checks and a variable 'reg'.
25488169689Skan	* rs6000.md: Whitespace change.
25489169689Skan	* sysv4.h (LINK_TARGET_SPEC): Whitespace change.
25490169689Skan	* sysv4le.h (LINK_TARGET_SPEC): Whitespace change.
25491169689Skan
25492169689Skan	2000-02-05  Geoff Keating  <geoffk@cygnus.com>
25493169689Skan
25494169689Skan	* rs6000.md (eh_epilogue): New expander.
25495169689Skan	(eh_reg_restore): New expand/split/insn combination.
25496169689Skan	(return_eh_si): New insn.
25497169689Skan	(return_eh_di): New insn.
25498169689Skan
25499169689Skan	* eabi-ci.asm: Put a label at the start of the .eh_frame section.
25500169689Skan	* eabi-cn.asm: Put a zero at the end of the .eh_frame section.
25501169689Skan	* eabi-ctors.c (__do_global_ctors): Register this object's
25502169689Skan	frame.  Clean up.  Call atexit() after the constructors.
25503169689Skan	(__do_global_dtors): Deregister this object's frame.  Clean up.
25504169689Skan	Allow for recursive calls to exit().
25505169689Skan	* rs6000.c (fixuplabelno): New variable.
25506169689Skan	* sysv4.h (ASM_OUTPUT_INT): Don't do .fixup if not
25507169689Skan	TARGET_RELOCATABLE, it slows down exec() under linux.
25508169689Skan	(ASM_OUTPUT_DWARF_ADDR): Do .fixup if TARGET_RELOCATABLE.
25509169689Skan
25510169689Skan	* aix.h (ASM_OUTPUT_DWARF_ADDR_VAR): New macro.
25511169689Skan	(ASM_OUTPUT_DWARF_DELTA_VAR): New macro.
25512169689Skan	(ASM_OUTPUT_DWARF_DELTA2): New macro.
25513169689Skan	(ASM_OUTPUT_DWARF_DELTA4): New macro.
25514169689Skan	(ASM_OUTPUT_DWARF_ADDR_DELTA): New macro.
25515169689Skan	(ASM_OUTPUT_DWARF_ADDR): New macro.
25516169689Skan	(ASM_OUTPUT_DWARF_DATA4): New macro.
25517169689Skan	(ASM_OUTPUT_DWARF_DATA2): New macro.
25518169689Skan	(ASM_OUTPUT_DWARF_OFFSET4): New macro.
25519169689Skan	(ASM_OUTPUT_DWARF_OFFSET): New macro.
25520169689Skan	(UNALIGNED_INT_ASM_OP): New macro, fake definition.
25521169689Skan
25522169689Skan	2000-02-03  Geoff Keating  <geoffk@cygnus.com>
25523169689Skan
25524169689Skan	* rs6000.c (rs6000_sr_alias_set): New variable.
25525169689Skan	(rs6000_override_options): Initialize rs6000_sr_alias_set.
25526169689Skan	(rs6000_emit_stack_tie): New function.
25527169689Skan	(rs6000_emit_allocate_stack): Specify RTX_FRAME_RELATED_P
25528169689Skan	in a way that dwarf2out can understand.
25529169689Skan	(rs6000_frame_related): New function.
25530169689Skan	(rs6000_emit_prologue): Use rs6000_sr_alias_set.  Specify
25531169689Skan	RTX_FRAME_RELATED_P in a way that dwarf2out can understand.
25532169689Skan	Use rs6000_emit_stack_tie when needed.
25533169689Skan	(rs6000_emit_epilogue): Use rs6000_sr_alias_set.  Don't set
25534169689Skan	RTX_FRAME_RELATED_P.  Use rs6000_emit_stack_tie when needed.
25535169689Skan	* rs6000.md (stack_tie): New insn.
25536169689Skan	(return_internal_si): Allow return value to be in the count
25537169689Skan	register.
25538169689Skan	(return_internal_di): Likewise.
25539169689Skan
25540169689Skan	* rs6000.c (output_mi_thunk): Remove unused variable `sp'.
25541169689Skan
25542169689Skan	2000-02-03  Geoff Keating  <geoffk@cygnus.com>
25543169689Skan
25544169689Skan	* sysv4.h (LOCAL_LABEL_PREFIX): Define, for the use of dbxelf.h.
25545169689Skan
25546169689Skan	2000-01-31  Geoff Keating  <geoffk@cygnus.com>
25547169689Skan
25548169689Skan	* rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): New macro.
25549169689Skan
25550169689Skan	* rs6000.md (stmw): Use the right POWER opcode.
25551169689Skan	(lmw): Likewise.
25552169689Skan
25553169689Skan	2000-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
25554169689Skan
25555169689Skan	* rs6000-protos.h: New file.
25556169689Skan
25557169689Skan	* rs6000.c: Include tm_p.h.  Fix compile time warnings.
25558169689Skan
25559169689Skan	* rs6000.h: Move prototypes to rs6000-protos.h.  Fix compile time
25560169689Skan	warnings.
25561169689Skan
25562169689Skan	* sysv4.h: Likewise.
25563169689Skan
25564169689Skan	2000-01-28  Geoff Keating  <geoffk@cygnus.com>
25565169689Skan
25566169689Skan	* ../../configure.in: Delete powerpcle-*-winnt*
25567169689Skan	and powerpcle-*-pe|powerpcle-*-cygwin*.
25568169689Skan	* ../../configure: Regenerated.
25569169689Skan	* cygwin.h: Delete.
25570169689Skan	* rs6000.h (OBJECT_WINDOWS_NT): Delete.
25571169689Skan	(TARGET_WINDOWS_NT): Delete.
25572169689Skan	(ABI_NT): Delete.
25573169689Skan	(CALL_NT_DLLIMPORT): Delete.
25574169689Skan	Delete NT-specific code.
25575169689Skan	* rs6000.md, rs6000.c, sysv4.h: Delete NT-specific code.
25576169689Skan	* win-nt.h: Delete.
25577169689Skan	* t-winnt: Delete.
25578169689Skan	* nt-ci.asm: Delete.
25579169689Skan	* nt-cn.asm: Delete.
25580169689Skan	* ntstack.asm: Delete.
25581169689Skan
25582169689Skan	2000-01-27  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
25583169689Skan
25584169689Skan	* rs6000.h (SELECT_RTX_SECTION): Move to aix.h.
25585169689Skan	(ASM_FILE_START): Likewise.
25586169689Skan	(ASM_DECLARE_FUNCTION_NAME): Likewise.
25587169689Skan	(ASM_OUTPUT_LABELREF): Likewise.
25588169689Skan	(ASM_OUTPUT_SKIP): Likewise.
25589169689Skan	(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
25590169689Skan	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
25591169689Skan	(ASM_OUTPUT_CASE_LABEL): Likewise.
25592169689Skan	(ASM_OUTPUT_ALIGNED_COMMON): Likewise.
25593169689Skan	(ASM_OUTPUT_ASCII): Likewise.
25594169689Skan
25595169689Skan	2000-01-27  Clinton Popetz  <cpopetz@cygnus.com>
25596169689Skan
25597169689Skan	* rs6000.c (rs6000_emit_load_toc_table): Use "LCG" and
25598169689Skan	reload_toc_labelno for non-prologue TOC reloads.  Also, don't
25599169689Skan	increment rs6000_pic_labelno here.
25600169689Skan	(rs6000_emit_prologue): Pass TRUE to rs6000_emit_load_toc_table,
25601169689Skan	and increment rs6000_pic_labelno here.
25602169689Skan
25603169689Skan	2000-01-24  Geoffrey Keating  <geoffk@cygnus.com>
25604169689Skan
25605169689Skan	* rs6000.md (fctiwz): Use (set (reg) (unspec:DI [(fix:SI ...)]))
25606169689Skan	rather than (set (subreg:SI (reg)) (fix:SI ...)) so that register
25607169689Skan	allocation knows (reg) is dead before the insn.
25608169689Skan
25609169689Skan	2000-01-21  Geoff Keating  <geoffk@cygnus.com>
25610169689Skan
25611169689Skan	* rs6000.md (movsi_to_cr): Correct typo in output template.
25612169689Skan
25613169689Skan	2000-01-19  Geoffrey Keating  <geoffk@cygnus.com>
25614169689Skan
25615169689Skan	* rs6000.c (rs6000_pic_labelno): Always define.
25616169689Skan	(rs6000_pic_func_labelno): Delete.
25617169689Skan	(lmw_operation): Check for a zero base register,
25618169689Skan	which doesn't mean what we want.
25619169689Skan	(stmw_operation): New function.
25620169689Skan	(print_operand): Define new 'l' modifier.
25621169689Skan	(rs6000_stack_info): We must save all 64 bits of the registers
25622169689Skan	if TARGET_POWERPC64.
25623169689Skan	(rs6000_output_load_toc_table): Delete.
25624169689Skan	(rs6000_emit_load_toc_table): New function.
25625169689Skan	(rs6000_allocate_stack_space): Delete.
25626169689Skan	(rs6000_emit_allocate_stack): New function.
25627169689Skan	(rs6000_emit_prologue): New function.
25628169689Skan	(output_prolog): Use rs6000_emit_prologue.
25629169689Skan	(rs6000_emit_epilogue): Change a few variable names to be
25630169689Skan	more accurate.  Restore all 64 bits of the registers if
25631169689Skan	TARGET_POWERPC64.  Only restore the FP registers which were used
25632169689Skan	if they are being saved/restored one-at-a-time.
25633169689Skan	(output_mi_thunk): Delete inefficient code generation.
25634169689Skan	(output_function_profiler): Don't use rs6000_output_load_toc_table.
25635169689Skan	* rs6000.h: Declare rs6000_emit_load_toc_table,
25636169689Skan	rs6000_allocate_stack_space, stmw_operation.  Don't declare
25637169689Skan	rs6000_output_load_toc_table.
25638169689Skan	* rs6000.md (elf_high): Allow register 0, but discourage it
25639169689Skan	heavily.
25640169689Skan	(elf_low): Support loading into register 0.
25641169689Skan	(load_toc_aix_si): New pattern.
25642169689Skan	(load_toc_aix_di): New pattern.
25643169689Skan	(load_toc_v4_pic_si): New pattern.
25644169689Skan	(load_toc_v4_pic_di): New pattern.
25645169689Skan	(load_toc_v4_PIC_1): New pattern.
25646169689Skan	(load_toc_v4_PIC_1b): New pattern.
25647169689Skan	(load_toc_v4_PIC_2): New pattern.
25648169689Skan	(builtin_setjmp_receiver): Use rs6000_emit_load_toc_table.
25649169689Skan	(nonlocal_goto_receiver): Use rs6000_emit_load_toc_table.
25650169689Skan	(prologue): New expander.
25651169689Skan	(movesi_from_cr): New pattern.
25652169689Skan	(stmw): New pattern.
25653169689Skan	(save_fpregs_si): New pattern.
25654169689Skan	(save_fpregs_di): New pattern.
25655169689Skan
25656169689Skan	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
25657169689Skan
25658169689Skan	* rs6000.md (movsi): Don't use force_reg when no_new_pseudos.
25659169689Skan	(movdi): Likewise.
25660169689Skan	(movhi): Likewise.
25661169689Skan	(movqi): Likewise.
25662169689Skan
25663169689Skan	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
25664169689Skan
25665169689Skan	* rs6000.md (movsi_got): 'unspec 8' returns a SImode result,
25666169689Skan	at present.
25667169689Skan	(movsi_got_internal): Likewise.
25668169689Skan	(movsi_got_internal+1): Likewise.
25669169689Skan	(set_sp): 'unspec 7' does a SImode clobber.
25670169689Skan
25671169689Skan	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
25672169689Skan
25673169689Skan	* rs6000.md (floatsidf2): Don't use the fpmem "register", just
25674169689Skan	allocate a stack temporary.
25675169689Skan	(floatsidf2_internal): Likewise.
25676169689Skan	(floatsidf2_internal+1): Likewise.  Don't do bizzare hacks
25677169689Skan	with unspec.
25678169689Skan	(floatunssidf2): Don't use the fpmem "register", just
25679169689Skan	allocate a stack temporary.
25680169689Skan	(floatunssidf2_internal): Likewise.
25681169689Skan	(floatunssidf2_internal+1): Likewise.  Don't do bizzare hacks
25682169689Skan	with unspec.
25683169689Skan	(floatsidf2_loadaddr): Delete.
25684169689Skan	(floatsidf2_store1): Delete.
25685169689Skan	(floatsidf2_store2): Delete.
25686169689Skan	(floatsidf2_load): Delete.
25687169689Skan	(fix_truncdfsi2): Don't use the fpmem "register", just
25688169689Skan	allocate a stack temporary.
25689169689Skan	(fix_truncdfsi2_internal_si): Delete.
25690169689Skan	(fix_truncdfsi2_internal_di): Delete.
25691169689Skan	(fix_truncdfsi2_internal): New insn.
25692169689Skan	(fix_truncdfsi2_internal+1): Don't use the fpmem "register".
25693169689Skan	(fix_truncdfsi2_store): Delete.
25694169689Skan	(fix_truncdfsi2_load): Delete.
25695169689Skan	(fctiwz): Produce gen_fctiwz.
25696169689Skan
25697169689Skan	2000-01-19  Geoffrey Keating  <geoffk@cygnus.com>
25698169689Skan
25699169689Skan	* eabi.h (INVOKE__main): Define.
25700169689Skan	* rs6000.c (rs6000_stack_info): Don't handle call to NAME__MAIN
25701169689Skan	specially.
25702169689Skan	(rs6000_emit_prologue): Likewise.
25703169689Skan	* rs6000.h (struct rs6000_stack): Don't keep track of whether
25704169689Skan	this is the main program.
25705169689Skan
25706169689Skan	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
25707169689Skan
25708169689Skan	* rs6000.c (rs6000_va_arg): Delete some unused variables.
25709169689Skan
25710169689Skan	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
25711169689Skan
25712169689Skan	* rs6000.c (rs6000_va_arg): On AIX, padding for small arguments
25713169689Skan	goes after the argument.
25714169689Skan
25715169689Skan	2000-01-12  Geoff Keating  <geoffk@cygnus.com>
25716169689Skan
25717169689Skan	* rs6000.md: Document 'unspec' values used.
25718169689Skan	(epilogue): New expander.
25719169689Skan	(movesi_to_cr_one): New expander.
25720169689Skan	(movesi_to_cr and following): New pattern.
25721169689Skan	(lmw): New pattern.
25722169689Skan	(return_internal_si): New pattern.
25723169689Skan	(return_internal_di): New pattern.
25724169689Skan	(return_and_restore_fpregs_si): New pattern.
25725169689Skan	(return_and_restore_fpregs_di): New pattern.
25726169689Skan	* rs6000.h: Declare new functions.
25727169689Skan	* rs6000.c (rs6000_stack_info): Use current_function_is_leaf
25728169689Skan	rather than rs6000_calls_p.
25729169689Skan	(rs6000_makes_calls): Delete.
25730169689Skan	(lmw_operation): New function.
25731169689Skan	(mtcrf_operation): New function.
25732169689Skan	(rs6000_emit_epilogue): New function.
25733169689Skan	(output_epilog): Call rs6000_emit_epilogue and final if
25734169689Skan	!TARGET_SCHED_PROLOG, instead of writing text unconditionally.
25735169689Skan
25736169689Skan	2000-01-12  Geoff Keating  <geoffk@cygnus.com>
25737169689Skan
25738169689Skan	* aix43.h (SUBSUBTARGET_SWITCHES): Document switches.
25739169689Skan	* aix41.h (SUBSUBTARGET_SWITCHES): Document switches.
25740169689Skan	* aix.h (SUBTARGET_SWITCHES): Document switches.
25741169689Skan	* rs6000.h: (TARGET_SWITCHES): Don't print options twice.  Make
25742169689Skan	sched-prolog and sched-epilog the same.  Document all the
25743169689Skan	switches.
25744169689Skan	(TARGET_OPTIONS): No longer allow -mdebug-.
25745169689Skan
25746169689Skan	2000-01-12  Geoff Keating  <geoffk@cygnus.com>
25747169689Skan
25748169689Skan	* rs6000.h (ASM_FILE_END): Move to aix.h.
25749169689Skan	(EXTRA_SECTIONS): Move to aix.h.
25750169689Skan	(READONLY_DATA_SECTION): Move to aix.h.
25751169689Skan	(EXTRA_SECTION_FUNCTIONS): Move to aix.h.
25752169689Skan	(SELECT_SECTION): Move to aix.h.
25753169689Skan	(JUMP_TABLES_IN_TEXT_SECTION): Move to aix.h.
25754169689Skan	(INT_REGNO_P): Use symbolic name for ARG_POINTER_REGNUM.
25755169689Skan	(LINK_REGISTER_REGNUM): New definition.
25756169689Skan	(RETURN_ADDR_RTX): Use symbolic name for LINK_REGISTER_REGNUM.
25757169689Skan	(SLOW_UNALIGNED_ACCESS): Define in a way suitable for both
25758169689Skan	AIX and SVR4.
25759169689Skan	* sysv4.h: Delete the code between the inclusion of rs6000.h
25760169689Skan	and svr4.h.
25761169689Skan	(DWARF_DEBUGGING_INFO): Don't define, it's defined in elfos.h.
25762169689Skan	(FP_ARG_MAX_REG): Move generic definition to rs6000.h.
25763169689Skan	(RS6000_REG_SAVE): Move generic definition to rs6000.h.
25764169689Skan	(RS6000_SAVE_AREA): Move generic definition to rs6000.h.
25765169689Skan	* rs6000.md (floatsidf2_loadaddr): The first arg here is Pmode.
25766169689Skan	(fix_truncdfsi2_internal): Rename to fix_truncdfsi2_internal_si.
25767169689Skan	(fix_truncdfsi2_internal_di): New pattern.
25768169689Skan	(fix_truncdfsi2_store): The second arg here is Pmode too.
25769169689Skan	(fix_truncdfsi2_load): The second arg here is Pmode too.
25770169689Skan	(tablejumpdi): Now that switch tables hold only SImode values,
25771169689Skan	gcc needs to know how to add them to the pc which is DImode.
25772169689Skan	* rs6000.c (rs6000_stack_info): Use symbolic name for
25773169689Skan	LINK_REGISTER_REGNUM.
25774169689Skan	(output_mi_thunk) [!TARGET_ELF]: Don't define sp, it's not used.
25775169689Skan	(output_toc): Delete unused variables s1 and s2.
25776169689Skan	(output_ascii): Use fputs not fprintf on a variable string.
25777169689Skan
25778169689Skan	2000-01-07  David Edelsohn  <edelsohn@gnu.org>
25779169689Skan
25780169689Skan	* rs6000.c (processor_target_table): Add power3 as alias for 630.
25781169689Skan	* aix43.h: Revert Aug 2 change.
25782169689Skan	(HAS_INIT_SECTION): Define, not visible yet.
25783169689Skan	(LD_INIT_SWITCH): Define, not visible yet.
25784169689Skan	* t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
25785169689Skan
25786169689Skan	2000-01-04  Joel Sherrill (joel@OARcorp.com>
25787169689Skan
25788169689Skan	* config/rs6000/rtems.h: Include config/rtems.h.
25789169689Skan
25790169689Skan	2000-01-04  David Edelsohn  <edelsohn@gnu.org>
25791169689Skan
25792169689Skan	* rs6000.h (HANDLE_PRAGMA_PACK): Define.
25793169689Skan	(SLOW_UNALIGNED_ACCESS): Define.
25794169689Skan	(CASE_VECTOR_MODE): Always use 32-bit offsets.
25795169689Skan	(ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
25796169689Skan	(EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op.
25797169689Skan	(toc_section): Likewise and .toc pseudo-op.
25798169689Skan	(ASM_DECLARE_FUNCTION): Likewise.  Align text more strictly in
25799169689Skan	64-bit mode.
25800169689Skan	(TEXT_SECTION_ASM_OP): Likewise.
25801169689Skan	(ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
25802169689Skan	32-bit offsets.
25803169689Skan
25804169689Skan	1999-12-17  Jakub Jelinek  <jakub@redhat.com>
25805169689Skan
25806169689Skan	* config/rs6000/rs6000.h (TARGET_POWERPC64): Make sure
25807169689Skan	UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
25808169689Skan	compiling libgcc2.
25809169689Skan
25810169689Skan	2000-01-06  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
25811169689Skan
25812169689Skan	* rs6000.h: Move more stuff from here...
25813169689Skan	* aix.h: to here.
25814169689Skan	* sysv4.h: Cleanup accordingly.
25815169689Skan	* netware.h: Likewise
25816169689Skan
25817169689Skan	2000-01-05  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
25818169689Skan
25819169689Skan	* rs6000.h: Continue cleanup.
25820169689Skan	* aix.h: Likewise.
25821169689Skan	* lynx.h: Likewise.
25822169689Skan	* netware.h: Likewise.
25823169689Skan	* sol2.h: Likewise.
25824169689Skan	* sysv4.h: Likewise.
25825169689Skan	* win-nt.h: Likewise.
25826169689Skan
25827169689Skan	* rs6000.h (TARGET_SWITCHES): Add descriptions.
25828169689Skan	(TARGET_OPTIONS): Likewise.
25829169689Skan
25830169689Skan	* sysv4.h (SUBTARGET_SWITCHES): Add descriptions.
25831169689Skan	(SUBTARGET_OPTIONS): Likewise.
25832169689Skan
25833169689Skan	* rs6000.md: Fix compile time warnings.
25834169689Skan
25835169689Skan	2000-01-04  Geoff Keating  <geoffk@cygnus.com>
25836169689Skan
25837169689Skan	vxworks patches from the Cygnus tree originally by
25838169689Skan	Michael Meissner <meissner@cygnus.com> and Vladimir Makarov
25839169689Skan	<vmakarov@cygnus.com>.
25840169689Skan	* sysv4.h (SUBTARGET_SWITCHES): Add vxworks.
25841169689Skan	(ENDFILE_SPEC): Likewise.
25842169689Skan	(LIB_VXWORKS_SPEC): New macro.
25843169689Skan	(STARTFILE_VXWORKS_SPEC): New macro.
25844169689Skan	(ENDFILE_VXWORKS_SPEC): New macro.
25845169689Skan	(LINK_START_VXWORKS_SPEC): New macro.
25846169689Skan	(LINK_OS_VXWORKS_SPEC): New macro.
25847169689Skan	(CPP_OS_VXWORKS_SPEC): New macro.
25848169689Skan	(SUBTARGET_EXTRA_SPECS): Add all the vxworks specs.
25849169689Skan	* vxppc.h: Rewrite to use proper configuration method.
25850169689Skan	* vxppcle.h: New file.
25851169689Skan	* ../../configure.in: Add powerpcle-wrs-vxworks*.
25852169689Skan	* ../../configure: Rebuilt.
25853169689Skan
25854169689Skan	2000-01-04  Geoff Keating  <geoffk@cygnus.com>
25855169689Skan
25856169689Skan	Lots of changes to rs6000.h, sysv4.h, aix.h,
25857169689Skan	aix31.h, aix3newas.h, aix41.h, aix43.h, beos.h,
25858169689Skan	with the aim that rs6000.h is the first header
25859169689Skan	included and the others override it.
25860169689Skan	* aix.h: New file.
25861169689Skan
25862169689Skan	* x-aix41-gld: Remove.
25863169689Skan	* x-aix43: Remove.
25864169689Skan	* x-aix41: Remove target-specific switches, and don't specify
25865169689Skan	-Wl,-bbigtoc as we don't need it any more.
25866169689Skan	* ../../configure.in: Use x-aix41 for ppc AIX 4.1 and above.
25867169689Skan	Use t-aix43 for AIX 4.3 and above.
25868169689Skan	* ../../configure: Regenerated.
25869169689Skan
25870169689Skan	* rs6000.h (TARGET_SWITCHES): Add some initial prolog-scheduling
25871169689Skan	options, that don't do anything yet.
25872169689Skan	(MASK_SCHED_PROLOG): New macro.
25873169689Skan	(MASK_SCHED_EPILOG): New macro.
25874169689Skan	(TARGET_SCHED_PROLOG): New macro.
25875169689Skan	(TARGET_SCHED_EPILOG): New macro.
25876169689Skan
25877169689Skan	2000-01-04  Geoff Keating  <geoffk@cygnus.com>
25878169689Skan
25879169689Skan	* rs6000.c: Correct comment, the `minimal' TOCs are actually
25880169689Skan	one per translation unit, not one per function.
25881169689Skan	(output_toc): Also do duplicate constant elimination
25882169689Skan	for per-translation-unit TOCs.
25883169689Skan
25884169689Skan	* rs6000.md (nonlocal_goto_receiver): Put it back as before.  Add
25885169689Skan	a comment explaining _exactly_ when this pattern gets used.
25886169689Skan	(builtin_setjmp_receiver): New pattern for better clarity.
25887169689Skan	(init_v4_pic): Move it into a section dealing with TOC registers.
25888169689Skan
25889169689Skan	1999-12-30  Geoff Keating  <geoffk@cygnus.com>
25890169689Skan
25891169689Skan	* rs6000.c (toc_hash_table): New variable.
25892169689Skan	(rs6000_hash_constant): New function.
25893169689Skan	(toc_hash_function): New function.
25894169689Skan	(toc_hash_eq): New function.
25895169689Skan	(toc_hash_mark_entry): New function.
25896169689Skan	(toc_hash_mark_table): New function.
25897169689Skan	(output_toc): Don't output duplicate TOC entries in
25898169689Skan	a single file.
25899169689Skan	(rs6000_add_gc_roots): Add the hash table as a GC root.
25900169689Skan	* t-aix43: Move AR_FOR_TARGET and CLIB here from x-aix43,
25901169689Skan	where they clearly shouldn't be.  This may need to be fixed
25902169689Skan	later when there is a GNU ar for AIX.
25903169689Skan	* x-aix43: Don't define CLIB or AR_FOR_TARGET.
25904169689Skan	Don't define BOOT_LDFLAGS as it is now not necessary.
25905169689Skan
25906169689Skan	1999-12-29  Geoff Keating  <geoffk@cygnus.com>
25907169689Skan
25908169689Skan	* rs6000.c (rs6000_build_va_list): Use 'char *' rather than 'void *'
25909169689Skan	for va_list on AIX.  Use unsigned_char_type_node rather than
25910169689Skan	constructing our own version on svr4.
25911169689Skan
25912169689Skan	1999-12-17  Geoff Keating  <geoffk@cygnus.com>
25913169689Skan
25914169689Skan	* tramp.asm (__trampoline_size): Delete CYGNUS LOCAL comment,
25915169689Skan	since patently it's not.
25916169689Skan
25917169689Skan	1999-12-08  Geoff Keating  <geoffk@cygnus.com>
25918169689Skan
25919169689Skan	* config/rs6000/rs6000.md (nonlocal_goto_receiver): Turn into
25920169689Skan	define_expand/define_insn pair, and handle restore of the
25921169689Skan	SVR4 -fpic register.
25922169689Skan
25923169689SkanWed Mar 15 15:43:38 2000  Jeffrey A Law  (law@cygnus.com)
25924169689Skan
25925169689Skan	* acconfig.h (HAVE_GAS_WEAK): New define.
25926169689Skan	* configure.in (assembler weak support): Check for .weak support.
25927169689Skan	* config.in, configure: Rebuilt.
25928169689Skan	* pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Only define if
25929169689Skan	HAVE_GAS_WEAK is defined.
25930169689Skan
25931169689Skan2000-03-15  Nick Clifton  <nickc@cygnus.com>
25932169689Skan
25933169689Skan	* config/arm/arm.c (arm_output_epilogue): Do not pass %c to
25934169689Skan	asm_fprintf().
25935169689Skan
25936169689Skan2000-03-15  Zack Weinberg  <zack@wolery.cumb.org>
25937169689Skan
25938169689Skan	* cppfiles.c (open_include_file): New function.
25939169689Skan	(find_include_file, cpp_read_file): Use it.
25940169689Skan
25941169689Skan2000-03-15  Jason Merrill  <jason@casey.cygnus.com>
25942169689Skan
25943169689Skan	* cpphash.c (dump_hash_helper): Take the slot, not the element.
25944169689Skan
25945169689SkanWed Mar 15 14:28:54 2000  Jason Eckhardt  <jle@cygnus.com>
25946169689Skan
25947169689Skan	* flow.c (verify_flow_info): Check for unconditional return.
25948169689Skan
25949169689SkanWed Mar 15 11:34:27 2000  Jim Wilson  <wilson@cygnus.com>
25950169689Skan
25951169689Skan	* config/ia64/ia64.md (restore_stack_nonlocal): New.
25952169689Skan	* config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Delete padding nop.
25953169689Skan	(__ia64_restore_stack_nonlocal): New.
25954169689Skan	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add __restore_stack_nonlocal.
25955169689Skan
25956169689Skan2000-03-15  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
25957169689Skan
25958169689Skan	* cpphash.c (collect_formal_parameters): Do not complain about
25959169689Skan	parameter names that just start with `__VA_ARGS__'.
25960169689Skan
25961169689SkanWed Mar 15 13:26:58 MET 2000  Jan Hubicka  <jh@suse.cz>
25962169689Skan
25963169689Skan	* i386.md (movhi_1): Promote movw imm, reg to movl imm, reg and
25964169689Skan	movw reg, reg to movzwl reg, reg on PARTIAL_REGISTER_STALL machines.
25965169689Skan	* i386.c (pentiumpro_cost): Set mul cost to 4.
25966169689Skan	(x86_use_movx): Set for PPro.
25967169689Skan
25968169689SkanWed Mar 15 13:07:05 MET 2000  Jan Hubicka  <jh@suse.cz>
25969169689Skan
25970169689Skan	* i386.md (ix86_compute_frame_size): stack_alignment_needed is
25971169689Skan	STACK_BOUNDARY for empty frames now.
25972169689Skan
25973169689Skan2000-03-14  Mark Mitchell  <mark@codesourcery.com>
25974169689Skan
25975169689Skan	* stor-layout.c (layout_union): Remove.
25976169689Skan	(layout_union_field): New function, split out from layout_union.
25977169689Skan	(finish_union_layout): Likewise.
25978169689Skan	(layout_field): Handle unions by calling layout_union_field.
25979169689Skan	(finish_record_layout): Handle unions.
25980169689Skan	(layout_type): Combine RECORD_TYPE, UNION_TYPE, and
25981169689Skan	QUAL_UNION_TYPE handling.
25982169689Skan
25983169689SkanWed Feb 23 13:00:06 CET 2000  Jan Hubicka  <jh@suse.cz>
25984169689Skan
25985169689Skan	* flow.c (fixup_reorder_chain): Avoid double labels in the basic block;
25986169689Skan	end of basic block is jump_insn, not barrier; use create_basic_block
25987169689Skan	instead of creating basic block by hand.
25988169689Skan
25989169689Skan2000-03-14  Jason Eckhardt  <jle@cygnus.com>
25990169689Skan
25991169689Skan	* flow.c (reorder_basic_blocks): Account for barriers when writing
25992169689Skan	over NEXT_INSN (last_bb->end).
25993169689Skan	(verify_flow_info): Add check for missing barriers.
25994169689Skan
25995169689Skan2000-03-14  Greg McGary  <gkm@gnu.org>
25996169689Skan
25997169689Skan	* c-lex.h (enum rid): Add RID_BOUNDED & RID_UNBOUNDED.
25998169689Skan	* c-lex.c (init_lex): Handle RID_BOUNDED & RID_UNBOUNDED.
25999169689Skan	* c-parse.gperf (__bounded, __bounded__, __ptrbase, __ptrbase__,
26000169689Skan	__ptrextent, __ptrextent__, __ptrvalue, __ptrvalue__,
26001169689Skan	__unbounded, __unbounded__): New keywords.
26002169689Skan	* c-parse.in (PTR_VALUE PTR_BASE PTR_EXTENT): New tokens.
26003169689Skan	* c-parse.y, c-parse.c, c-parse.h: Regenerate.
26004169689Skan	* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
26005169689Skan
26006169689Skan2000-03-14  Bernd Schmidt  <bernds@cygnus.co.uk>
26007169689Skan
26008169689Skan	* cselib.h: New file.
26009169689Skan	* alias.c: Include "cselib.h".
26010169689Skan	(fixed_scalar_and_varying_struct_p): Accept the addresses of the
26011169689Skan	MEMs as two new arguments.
26012169689Skan	(get_addr): New static function.
26013169689Skan	(find_base_term): Handle VALUEs.
26014169689Skan	(memrefs_conflict_p): Likewise.
26015169689Skan	(true_dependence): Call get_addr on the addresses.
26016169689Skan	Call fixed_scalar_and_varying_struct_p with addresses that have been
26017169689Skan	passed through get_addr and canon_rtx.
26018169689Skan	(write_dependence_p): Move DIFFERENT_ALIAS_SETS_P test for consistency
26019169689Skan	with true_dependence.
26020169689Skan	Call get_addr on the addresses; don't call canon_rtx on the MEMs.
26021169689Skan	* loop.c: Include "cselib.h".
26022169689Skan	(load_mems): Process extended basic block that enters the loop with
26023169689Skan	cselib.  Use that information to change initialization of the shadow
26024169689Skan	register so that a constant equivalence is seen by later passes.
26025169689Skan	* reload1.c: Include "cselib.h".
26026169689Skan	(reload_cse_invalidate_regno): Delete function.
26027169689Skan	(reload_cse_mem_conflict_p): Likewise.
26028169689Skan	(reload_cse_invalidate_mem): Likewise.
26029169689Skan	(reload_cse_invalidate_rtx): Likewise.
26030169689Skan	(reload_cse_regno_equal_p): Likewise.
26031169689Skan	(reload_cse_check_clobber): Likewise.
26032169689Skan	(reload_cse_record_set): Likewise.
26033169689Skan	(reg_values): Delete static variable.
26034169689Skan	(invalidate_regno_rtx): Likewise.
26035169689Skan	(reload_cse_delete_noop_set): New static function.
26036169689Skan	(reload_cse_simplify): New static function, broken out of
26037169689Skan	reload_cse_regs_1.
26038169689Skan	(reload_cse_noop_set_p): Delete unused argument INSN.
26039169689Skan	Just call rtx_equal_for_cselib_p on set source and destination.
26040169689Skan	(reload_cse_regs_1): Break out some code into reload_cse_simplify and
26041169689Skan	reload_cse_delete_noop_set.  Delete code to keep track of values; use
26042169689Skan	cselib functions instead.  Delete code to push/pop obstacks.
26043169689Skan	(reload_cse_simplify_set): Use cselib to find equivalent values.
26044169689Skan	Delete code to push/pop obstacks.
26045169689Skan	(reload_cse_simplify_operands): Likewise.
26046169689Skan	* rtl.def (VALUE): New rtx code.
26047169689Skan	* rtl.h (union rtunion_def): New elt rt_cselib.
26048169689Skan	(X0CSELIB, CSELIB_VAL_PTR): New macros.
26049169689Skan	* simplify_rtx.c: Include "ggc.h", "obstack.h", "cselib.h".
26050169689Skan	(new_elt_list, new_elt_loc_list, unchain_one_value, clear_table,
26051169689Skan	unchain_one_elt_list, unchain_one_elt_loc_list, check_useless_values,
26052169689Skan	discard_useless_locs, discard_useless_values, entry_and_rtx_equal_p,
26053169689Skan	hash_rtx, new_cselib_val, add_mem_for_addr, get_value_hash,
26054169689Skan	cselib_lookup_mem, cselib_subst_to_values, cselib_invalidate_regno,
26055169689Skan	cselib_mem_conflict_p, cselib_invalidate_mem, cselib_invalidate_rtx,
26056169689Skan	cselib_record_set, cselib_record_sets): New static functions.
26057169689Skan	(cselib_lookup, cselib_update_varray_sizes, cselib_init,
26058169689Skan	cselib_finish, cselib_process_insn, rtx_equal_for_cselib_p,
26059169689Skan	references_value_p): New functions.
26060169689Skan	(MAX_USELESS_VALUES, REG_VALUES): New macros.
26061169689Skan	(table, cselib_current_insn, next_unknown_value, cselib_nregs,
26062169689Skan	n_useless_values, reg_values, callmem, cselib_obstack,
26063169689Skan	cselib_startobj, empty_vals, empty_elt_lists, empty_elt_loc_lists):
26064169689Skan	New static variables.
26065169689Skan	* varray.h (union varray_data_tag): New elt te.
26066169689Skan	(VARRAY_ELT_LIST_INIT, VARRAY_ELT_LIST): New macros.
26067169689Skan	* Makefile.in (reload1.o, loop.o, simplify-rtx.o, alias.o): Update
26068169689Skan	dependencies.
26069169689Skan
26070169689Skan2000-03-14  Nick Clifton  <nickc@cygnus.com>
26071169689Skan
26072169689Skan	* gcc.c (do_spec_1): Catch the case where %* is used in a
26073169689Skan	substitution pattern, but it has not been initialized.
26074169689Skan	Issue a meaningful error message if an unrecognized operator
26075169689Skan	is encountered in a spec string.
26076169689Skan
26077169689Skan2000-03-14  Richard Earnshaw <rearnsha@arm.com>
26078169689Skan
26079169689Skan	* function.c (prepare_function_start): Correctly initialize
26080169689Skan	cfun->stack_alignment_needed.
26081169689Skan
26082169689Skan2000-03-14  Zack Weinberg  <zack@wolery.cumb.org>
26083169689Skan
26084169689Skan	* cppfiles.c (find_include_file): Don't assume nshort is a
26085169689Skan	substring of name.
26086169689Skan
26087169689SkanTue Mar 14 08:42:21 2000  Jeffrey A Law  (law@cygnus.com)
26088169689Skan
26089169689Skan	* configure.in (hppa configurations): Add pa32-regs.h to the
26090169689Skan	list of tm files as appropriate.
26091169689Skan	* configure: Rebuilt.
26092169689Skan	* pa.c (compute_frame_size): Remove explicit knowledge about FP
26093169689Skan	register numbering.
26094169689Skan	(hppa_expand_prologue, hppa_expand_epilogue): Likewise.
26095169689Skan	(fmpyaddoperands, fmpysuboperands): Likewise.
26096169689Skan	* pa.h: Remove various definitions which depend on knowing
26097169689Skan	how registers are numbered.
26098169689Skan	* pa32-regs.h: New file with PA32 register numbering specific
26099169689Skan	definitions.
26100169689Skan
26101169689Skan2000-03-14  Richard Henderson  <rth@cygnus.com>
26102169689Skan
26103169689Skan	* regmove.c (combine_stack_adjustments): New.
26104169689Skan	(stack_memref_p, single_set_for_csa): New.
26105169689Skan	(free_csa_memlist, record_one_stack_memref): New.
26106169689Skan	(try_apply_stack_adjustment): New.
26107169689Skan	(combine_stack_adjustments_for_block): New.
26108169689Skan	* rtl.h (combine_stack_adjustments): Declare.
26109169689Skan	* toplev.c (rest_of_compilation): Call it.
26110169689Skan
26111169689Skan	* i386.md: Revert 2000-01-16 change.
26112169689Skan
26113169689Skan2000-03-14  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
26114169689Skan
26115169689Skan	* gccbug.in: Add web category, gcc specific classes.
26116169689Skan
26117169689Skan2000-03-14  Nathan Sidwell  <nathan@codesourcery.com>
26118169689Skan
26119169689Skan	* stor-layout.c (finalize_record_size): Fix typo.
26120169689Skan
26121169689Skan2000-03-14  Stan Shebs  <shebs@apple.com>
26122169689Skan
26123169689Skan	* c-typeck.c (c_alignof): Error on incomplete types.
26124169689Skan	* extend.texi (Alignment): Document this.
26125169689Skan
26126169689Skan2000-03-13  Zack Weinberg  <zack@wolery.cumb.org>
26127169689Skan
26128169689Skan	* cppfiles.c: Include mkdeps.h.
26129169689Skan	(find_include_file, read_include_file): Remove _cpp_ prefix
26130169689Skan	from name, make static.
26131169689Skan	(_cpp_execute_include): New function, broken out of
26132169689Skan	do_include.
26133169689Skan
26134169689Skan	* cpplib.c: Don't include mkdeps.h.
26135169689Skan	(struct directive): Remove type field. Reorder entries.  The
26136169689Skan	function takes only one argument.
26137169689Skan	(struct if_stack): Make type field an int.
26138169689Skan	(directive_table): Rename to dtable.  Generate it, the
26139169689Skan	prototypes of the directive handlers, and the enum for the
26140169689Skan	directive numbers, from a template macro.
26141169689Skan	(do_ifndef, do_include_next, do_import): New functions.
26142169689Skan	(do_define, do_include, do_endif, do_ifdef, do_if, do_else,
26143169689Skan	do_undef, do_line, do_elif, do_error, do_pragma, do_warning,
26144169689Skan	do_ident, do_assert, do_unassert, do_sccs): Take only one
26145169689Skan	argument.
26146169689Skan	(do_sccs): Define always, but alter behavior based on
26147169689Skan	SCCS_DIRECTIVE.
26148169689Skan	(_cpp_handle_directive, consider_directive_while_skipping):
26149169689Skan	Restructure for new directive table layout.
26150169689Skan
26151169689Skan	(pass_thru_directive): Take a directive number, not a pointer
26152169689Skan	to a struct directive.
26153169689Skan	(parse_include): New function, broken out of do_include.
26154169689Skan	(do_include, do_import, do_include_next): Use parse_include
26155169689Skan	and _cpp_execute_include.
26156169689Skan	(do_elif, do_else): Test for T_ELSE specifically when checking
26157169689Skan	for #elif/#else after #else.
26158169689Skan	(parse_ifdef): New function, broken out of do_ifdef.
26159169689Skan	(validate_else): Expect a name arg without a leading #.
26160169689Skan	(if_directive_name): Delete.
26161169689Skan	(cpp_define, cpp_assert, cpp_undef, cpp_unassert): Call
26162169689Skan	directive handlers with only one argument.
26163169689Skan
26164169689Skan	* cpphash.h: Update prototypes.
26165169689Skan	(enum node_type): Remove entries for directives.
26166169689Skan	* Makefile.in: Update dependencies.
26167169689Skan
26168169689Skan	* cpphash.c (dump_hash_helper): Only dump nodes of type
26169169689Skan	T_MACRO.  Emit a newline after each definition.
26170169689Skan
26171169689Skan2000-03-14  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
26172169689Skan
26173169689Skan	* gccbug.in: New file.
26174169689Skan	* configure.in (all_outputs): Add gccbug.
26175169689Skan	* Makefile.in (install-common): Install gccbug.
26176169689Skan	(GCCBUG_INSTALL_NAME): New variable.
26177169689Skan	* configure: Rebuilt.
26178169689Skan
26179169689Skan2000-03-13  Jason Merrill  <jason@casey.cygnus.com>
26180169689Skan
26181169689Skan	* function.c (put_var_into_stack): Use type_for_mode to calculate
26182169689Skan	part_type.  Use MEM_SET_IN_STRUCT_P.
26183169689Skan	* expr.c (store_field): Handle CONCAT.
26184169689Skan	(store_constructor): Use fields_length.
26185169689Skan	* tree.c (fields_length): New fn.
26186169689Skan	* tree.h: Declare it.
26187169689Skan
26188169689Skan2000-03-13  Zack Weinberg  <zack@wolery.cumb.org>
26189169689Skan
26190169689Skan	* Makefile.in (LIBCPP_OBJS): Add cpplex.o.
26191169689Skan	(cpplex.o): New target.
26192169689Skan	* po/POTFILES.in: Add cpplex.c.
26193169689Skan
26194169689Skan	* cpplex.c (_cpp_grow_token_buffer, null_cleanup,
26195169689Skan	cpp_push_buffer, cpp_pop_buffer, cpp_scan_buffer,
26196169689Skan	cpp_expand_to_buffer, cpp_buf_line_and_col, cpp_file_buffer,
26197169689Skan	skip_block_comment, skip_line_comment, skip_comment,
26198169689Skan	copy_comment, _cpp_skip_hspace, _cpp_skip_rest_of_line,
26199169689Skan	_cpp_parse_name, skip_string, parse_string,
26200169689Skan	_cpp_parse_assertion, cpp_get_token, cpp_get_non_space_token,
26201169689Skan	_cpp_get_directive_token, find_position,
26202169689Skan	_cpp_read_and_prescan, _cpp_init_input_buffer): Move here.
26203169689Skan	(maybe_macroexpand, _cpp_lex_token): New functions.
26204169689Skan
26205169689Skan	* cpplib.c (SKIP_WHITE_SPACE, eval_if_expr, parse_set_mark,
26206169689Skan	parse_goto_mark): Delete.
26207169689Skan	(_cpp_handle_eof): New function.
26208169689Skan	(_cpp_handle_directive): Rename from handle_directive.
26209169689Skan	(_cpp_output_line_command): Rename from output_line_command.
26210169689Skan	(do_if, do_elif): Call _cpp_parse_expr directly.
26211169689Skan	* cppfiles.c (_cpp_read_include_file): Don't call
26212169689Skan	init_input_buffer here.
26213169689Skan	* cpphash.c (quote_string): Move here, rename _cpp_quote_string.
26214169689Skan	* cppexp.c (_cpp_parse_expr): Diddle parsing_if_directive
26215169689Skan	here; pop the token_buffer and skip the rest of the line here.
26216169689Skan	* cppinit.c (cpp_start_read): Call _cpp_init_input_buffer
26217169689Skan	here.
26218169689Skan
26219169689Skan	* cpphash.h (CPP_RESERVE, CPP_IS_MACRO_BUFFER, ACTIVE_MARK_P):
26220169689Skan	Define here.
26221169689Skan	(CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK, CPP_SET_MARK,
26222169689Skan	CPP_GOTO_MARK): New macros.
26223169689Skan	(_cpp_quote_string, _cpp_parse_name, _cpp_skip_rest_of_line,
26224169689Skan	_cpp_skip_hspace, _cpp_parse_assertion, _cpp_lex_token,
26225169689Skan	_cpp_read_and_prescan, _cpp_init_input_buffer,
26226169689Skan	_cpp_grow_token_buffer, _cpp_get_directive_token,
26227169689Skan	_cpp_handle_directive, _cpp_handle_eof,
26228169689Skan	_cpp_output_line_command): Prototype them here.
26229169689Skan	* cpplib.h (enum cpp_token): Add CPP_MACRO.
26230169689Skan	(CPP_RESERVE, get_directive_token, cpp_grow_buffer,
26231169689Skan	quote_string, output_line_command): Remove.
26232169689Skan
26233169689Skan2000-03-13  Bernd Schmidt  <bernds@cygnus.co.uk>
26234169689Skan
26235169689Skan	* stmt.c (expand_end_case): RANGE may be signed, and when checking
26236169689Skan	whether it is too large we must also verify that it isn't negative.
26237169689Skan
26238169689Skan2000-03-13  Jakub Jelinek  <jakub@redhat.com>
26239169689Skan
26240169689Skan	* config/sparc/sparc.md: Remove all traces of TARGET_LIVE_G0.
26241169689Skan	(movsi_zero_liveg0): Remove.
26242169689Skan	(movsf_insn_novis_liveg0): Remove.
26243169689Skan	(negsi2): Remove.
26244169689Skan	(negsi2_not_liveg0): Rename to negsi2.
26245169689Skan	(one_cmplsi2): Remove.
26246169689Skan	(one_cmplsi2_not_liveg0): Rename to one_cmplsi2.
26247169689Skan	(one_cmplsi2_liveg0): Remove.
26248169689Skan	* config/sparc/sparc.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE,
26249169689Skan	MASK_LIVE_G0, MASK_BROKEN_SAVERESTORE): Remove.
26250169689Skan	(CONDITIONAL_REGISTER_USAGE): Remove TARGET_LIVE_G0 if.
26251169689Skan	(PREDICATE_CODES): Remove zero_operand.
26252169689Skan	* config/sparc/sparc.c: Remove all traces of TARGET_LIVE_G0 and
26253169689Skan	TARGET_BROKEN_SAVERESTORE.
26254169689Skan	(zero_operand): Remove.
26255169689Skan	* config/sparc/splet.h (SUBTARGET_SWITCHES): Remove -mlive-g0,
26256169689Skan	-mno-live-g0, -mbroken-saverestore and -mno-broken-saverestore
26257169689Skan	options.
26258169689Skan	(SUBTARGET_OVERRIDE_OPTIONS): Remove.
26259169689Skan	* config/sparc/linux-aout.h (TARGET_LIVE_G0,
26260169689Skan	TARGET_BROKEN_SAVERESTORE): Remove.
26261169689Skan	* config/sparc/linux.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
26262169689Skan	Remove.
26263169689Skan	* config/sparc/linux64.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
26264169689Skan	Remove.
26265169689Skan	* config/sparc/sol2.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
26266169689Skan	Remove.
26267169689Skan
26268169689Skan	* config/sparc/sparc.md (return_df_no_fpu): New pattern.
26269169689Skan
26270169689Skan2000-03-13  Zack Weinberg  <zack@wolery.cumb.org>
26271169689Skan
26272169689Skan	* cpplib.c (do_pragma_implementation): Fix off-by-one error
26273169689Skan	truncating a string.  Don't assume tokens are nul terminated.
26274169689Skan	Problem noted by Andreas Jaeger <aj@suse.de>
26275169689Skan
26276169689Skan2000-03-13  Jason Merrill  <jason@casey.cygnus.com>
26277169689Skan
26278169689Skan	* dwarf2out.c (add_name_and_src_coords_attributes): Only add
26279169689Skan	DW_AT_MIPS_linkage_name for TREE_PUBLIC decls.
26280169689Skan	(ASM_OUTPUT_DWARF_ADDR_CONST): Don't output trailing newline.
26281169689Skan
26282169689Skan2000-03-13  Richard Earnshaw <rearnsha@arm.com>
26283169689Skan
26284169689Skan	* stor-layout.c (new_record_layout_info): Fix typo inside ifdef
26285169689Skan	STRUCTURE_SIZE_BOUNDARY.
26286169689Skan
26287169689Skan2000-03-13  Mark Mitchell  <mark@codesourcery.com>
26288169689Skan
26289169689Skan	* tree.h (record_layout_info_s): New structure.
26290169689Skan	(record_layout_info): New type.
26291169689Skan	(new_record_layout_info): New function.
26292169689Skan	(layout_field): Likewise.
26293169689Skan	(finish_record_layout): Likewise.
26294169689Skan	* stor-layout.c (layout_record): Remove.
26295169689Skan	(new_record_layout_info): New function.
26296169689Skan	(layout_field): New function, broken out from layout_record.
26297169689Skan	(finalize_record_size): Likewise.
26298169689Skan	(compute_record_mode): Likewise.
26299169689Skan	(finalize_type_size): New function, broken out from layout_type.
26300169689Skan	(finish_record_layout): Likewise.
26301169689Skan	(layout_type): Use them.
26302169689Skan
26303169689Skan2000-03-12  Zack Weinberg  <zack@wolery.cumb.org>
26304169689Skan
26305169689Skan	* cpphash.c: Don't include version.h.
26306169689Skan	(special_symbol) [case T_VERSION]: Look for the string in
26307169689Skan	hp->value.cpval; don't use version_string.
26308169689Skan	* cppinit.c (initialize_builtins): Set hp->value.cpval for
26309169689Skan	__VERSION__ to version_string.
26310169689Skan	* Makefile.in (cpphash.o): Update deps.
26311169689Skan
26312169689Skan2000-03-12  Zack Weinberg  <zack@wolery.cumb.org>
26313169689Skan
26314169689Skan	Convert cpplib to use libiberty/hashtab.c.
26315169689Skan
26316169689Skan	* cpplib.h (struct cpp_reader): Make hashtab and
26317169689Skan	all_include_files of type 'struct htab *'.  Delete HASHSIZE
26318169689Skan	and ALL_INCLUDE_HASHSIZE macros.
26319169689Skan
26320169689Skan	* cpphash.h: Update prototypes.
26321169689Skan	(struct hashnode): Remove next, prev, and bucket_hdr members.
26322169689Skan	Make length a size_t.  Add hash member.
26323169689Skan	(struct ihash): Remove next member.  Add hash member.  Make
26324169689Skan	name a flexible array member.
26325169689Skan
26326169689Skan	* cppfiles.c: Include hashtab.h.
26327169689Skan	(include_hash): Delete.
26328169689Skan	(IHASHSIZE): New macro.
26329169689Skan	(hash_IHASH, eq_IHASH, _cpp_init_include_hash): New functions.
26330169689Skan	(cpp_included): Do the hash lookup here.
26331169689Skan	(_cpp_find_include_file): Rewrite.
26332169689Skan	(cpp_read_file): Put the "fake" hash entry into the hash
26333169689Skan	table.  Honor the control_macro, if it turns out we've seen
26334169689Skan	the file before.  Don't push the buffer here.
26335169689Skan	(_cpp_read_include_file): Push the buffer here.
26336169689Skan	(OMODES): New macro.  Use it whenever we call open(2).
26337169689Skan
26338169689Skan	* cpphash.c: Include hashtab.h.
26339169689Skan	(hash_HASHNODE, eq_HASHNODE, del_HASHNODE, dump_hash_helper,
26340169689Skan	_cpp_init_macro_hash, _cpp_dump_macro_hash, _cpp_make_hashnode,
26341169689Skan	_cpp_lookup_slot): New functions.
26342169689Skan	(HASHSIZE): new macro.
26343169689Skan	(hashf, _cpp_install, _cpp_delete_macro): Delete.
26344169689Skan	(_cpp_lookup): Use hashtab.h routines.
26345169689Skan
26346169689Skan	* cppinit.c: Include hashtab.h.
26347169689Skan	(cpp_reader_init): Call _cpp_init_macro_hash and
26348169689Skan	_cpp_init_include_hash.  Don't allocate hashtab directly.
26349169689Skan	(cpp_cleanup): Just call htab_delete on pfile->hashtab and
26350169689Skan	pfile->all_include_files.
26351169689Skan	(initialize_builtins): Use _cpp_make_hashnode and
26352169689Skan	htab_find_slot to add hash entries.
26353169689Skan	(cpp_finish): Just call _cpp_dump_macro_hash.
26354169689Skan	* cpplib.c: Include hashtab.h.
26355169689Skan	(do_define): Use _cpp_lookup_slot and _cpp_make_hashnode to
26356169689Skan	create hash entries.
26357169689Skan	(do_pragma_poison, do_assert): Likewise.
26358169689Skan	(do_include): Don't push the buffer here.  Don't increment
26359169689Skan	system_include_depth unless _cpp_read_include_file succeeds.
26360169689Skan	(do_undef, do_unassert): Use _cpp_lookup_slot and htab_clear_slot
26361169689Skan	or htab_remove_elt.
26362169689Skan	(do_pragma_implementation): Use alloca to create copy.
26363169689Skan
26364169689Skan	* Makefile.in: Update dependencies.
26365169689Skan
26366169689Skan2000-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
26367169689Skan
26368169689Skan	* cppinit.c (cl_directive_handler): More K&R fixing.
26369169689Skan
26370169689SkanSat Mar 11 23:54:26 2000  Jim Wilson  <wilson@cygnus.com>
26371169689Skan
26372169689Skan	* config/ia64/ia64.c (ia64_compute_frame_size): Align size to
26373169689Skan	STACK_BOUNDARY.
26374169689Skan	* config/ia64/ia64.h (REGISTER_MOVE_COST): Add missing parentheses.
26375169689Skan
26376169689Skan2000-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
26377169689Skan
26378169689Skan	* cppinit.c (no_arg, no_ass, no_dir, no_fil, no_mac, no_pth):
26379169689Skan	Change from char[] to macros.
26380169689Skan
26381169689Skan2000-03-12  Neil Booth  <NeilB@earthling.net>
26382169689Skan
26383169689Skan	* cppinit.c (cpp_start_read): Update indirect function
26384169689Skan	call to K&R C.
26385169689Skan
26386169689SkanSat Mar 11 16:18:12 2000  Jim Wilson  <wilson@cygnus.com>
26387169689Skan
26388169689Skan	* config/ia64/ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79
26389169689Skan	entry.
26390169689Skan
26391169689Skan	* config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
26392169689Skan	config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyright messages.
26393169689Skan
26394169689Skan2000-03-11  Neil Booth  <NeilB@earthling.net>
26395169689Skan
26396169689Skan	* cppinit.c (struct pending option): Replace undef with a
26397169689Skan	pointer to a directive handling routine.
26398169689Skan	(struct cpp_pending): Replace separate assert_ and define_
26399169689Skan	lists with one directive_ list.
26400169689Skan	(new_pending_define): Rename new_pending_directive. Extra
26401169689Skan	argument is the directive's handling routine.
26402169689Skan	(handle_option): Update to use new_pending_directive.
26403169689Skan
26404169689Skan2000-03-11  Neil Booth  <NeilB@earthling.net>
26405169689Skan
26406169689Skan	* cppfiles.c (file_cleanup, _cpp_find_include_file,
26407169689Skan	remap_filename, _cpp_read_include_file, actual_directory,
26408169689Skan	hack_vms_include_specification): Replace bcopy(), index() etc
26409169689Skan	calls.  Add casts to some allocations.  Make some variables
26410169689Skan	pointers to const [unsigned] char.
26411169689Skan	* cpphash.c (_cpp_install, macro_cleanup, collect_expansion,
26412169689Skan	collect_formal_parameters): Similarly.
26413169689Skan	* cppinit.c (struct pending_option, append_include_chain,
26414169689Skan	cpp_options_init, cpp_reader_init, initialize_standard_includes,
26415169689Skan	cpp_start_read, new_pending_define, handle_option): Similarly.
26416169689Skan	* cpplib.c (cpp_define, copy_comment, do_define, do_include,
26417169689Skan	do_undef, do_error, do_warning, do_pragma, do_pragma_once,
26418169689Skan	do_pragma_implementation, detect_if_not_defined,
26419169689Skan	do_ifdef, skip_if_group, cpp_get_token, parse_string,
26420169689Skan	do_assert, do_unassert): Similarly.
26421169689Skan	* cpplib.h (cpp_buffer, cpp_options): Update types.  Update
26422169689Skan	function prototypes.
26423169689Skan	* mkdeps.c (deps_add_target, deps_add_dep): cast allocations.
26424169689Skan
26425169689Skan2000-03-10  Richard Henderson  <rth@cygnus.com>
26426169689Skan
26427169689Skan	* builtins.c (expand_builtin_strlen): Revert last change.
26428169689Skan	Use emit_insn_before if we're at the beginning of a sequence.
26429169689Skan
26430169689Skan2000-03-10  Jason Merrill  <jason@casey.cygnus.com>
26431169689Skan
26432169689Skan	* builtins.c (expand_builtin_strlen): Make sure that we have something
26433169689Skan	at the beginning of the sequence.
26434169689Skan
26435169689Skan	* toplev.c (rest_of_compilation): Also set TREE_NOTHROW for
26436169689Skan	deferred inlines.
26437169689Skan
26438169689Skan	* invoke.texi (C++ Dialect Options): Document -fno-enforce-eh-specs.
26439169689Skan
26440169689Skan2000-03-10  Richard Henderson  <rth@cygnus.com>
26441169689Skan
26442169689Skan	* except.c (can_throw): Use INTVAL on a CONST_INT.
26443169689Skan	(reachable_handlers): Likewise.
26444169689Skan	* flow.c (count_basic_blocks, find_basic_blocks_1): Likewise.
26445169689Skan
26446169689Skan2000-03-10  Andreas Jaeger  <aj@suse.de>
26447169689Skan
26448169689Skan	* config/mips/linux.h: Undefine MD_EXEC_PREFIX and
26449169689Skan	MD_STARTFILE_PREFIX since those are not needed on linux.
26450169689Skan	(ASM_FILE_START): New, from mips/gnu.h.
26451169689Skan
26452169689Skan2000-03-09  Richard Henderson  <rth@cygnus.com>
26453169689Skan	    Alex Samuel  <samuel@codesourcery.com> and others
26454169689Skan
26455169689Skan	* Makefile.in (ssa.o): New rule.
26456169689Skan	(OBJS): Add ssa.o.
26457169689Skan	(STAGESTUFF): Add *.ssa and *.ussa.
26458169689Skan	(mostlyclean): Delete *.ssa, *.ussa, */*.ssa, */*.ussa.
26459169689Skan	* rtl.def (PHI): New RTL expression.
26460169689Skan	* rtl.h (clear_log_links): New declaration.
26461169689Skan	(convert_to_ssa): Likewise.
26462169689Skan	(convert_from_ssa): Likewise.
26463169689Skan	* flow.c (split_edge): If the entry node falls through to the
26464169689Skan	split edge's source block, split the entry edge.
26465169689Skan	(clear_log_links): New function.
26466169689Skan	* toplev.c (ssa_dump): New variable.
26467169689Skan	(flag_ssa): Likewise.
26468169689Skan	(f_options): Add "ssa".
26469169689Skan	(compile_file): Create SSA dump files.
26470169689Skan	(rest_of_compilation): Go to and from SSA if enabled.
26471169689Skan	(decide_d_option): Handle -de for SSA dump files.
26472169689Skan	* ssa.c: New file.
26473169689Skan
26474169689SkanThu Mar  9 20:01:38 2000  Jim Wilson  <wilson@cygnus.com>
26475169689Skan
26476169689Skan	* expr.c (expand_assignment): For a CALL_EXPR, special case PARM_DECL
26477169689Skan	same as VAR_DECL.
26478169689Skan
26479169689Skan2000-03-09  Benjamin Kosnik  <bkoz@cygnus.com>
26480169689Skan
26481169689Skan	* config/alpha/linux.h (WCHAR_TYPE): Make consistent.
26482169689Skan
26483169689SkanThu Mar  9 18:10:02 2000  Jeffrey A Law  (law@cygnus.com)
26484169689Skan
26485169689Skan	* config/pa/pa-hpux10.h (LIB_SPEC): Correct typo in !p case.
26486169689Skan	(MD_STARTFILE_PREFIX_1): New macro.
26487169689Skan
26488169689Skan2000-03-09  Robert Lipe  <robertl@sco.com>
26489169689Skan
26490169689Skan	* config/ia64/ia64.c: Include system.h.
26491169689Skan
26492169689Skan2000-03-09  Jason Merrill  <jason@casey.cygnus.com>
26493169689Skan
26494169689Skan	* except.c (nothrow_function_p): If -fno-exceptions, just return.
26495169689Skan	(init_eh_nesting_info): Likewise.
26496169689Skan
26497169689Skan	* tree.h (struct tree_common): Rename raises_flag to nothrow_flag.
26498169689Skan	(TREE_NOTHROW): Rename from TREE_RAISES.
26499169689Skan	* toplev.c (rest_of_compilation): Set it.
26500169689Skan	* print-tree.c (print_node): Adjust.
26501169689Skan	* tree.c (stabilize_reference, build, build1): Don't set TREE_RAISES.
26502169689Skan	(stabilize_reference_1, get_unwidened, get_narrower): Likewise.
26503169689Skan	* calls.c (emit_call_1): Add 'nothrow' parm.  Add
26504169689Skan	REG_EH_REGION note as appropriate.
26505169689Skan	(libfunc_nothrow): New fn.
26506169689Skan	(emit_library_call, emit_library_call_value): Use it.
26507169689Skan	(expand_call): Check TREE_NOTHROW.
26508169689Skan
26509169689Skan	* varasm.c (make_decl_rtl): Skip initial '*' when setting
26510169689Skan	DECL_ASSEMBLER_NAME.
26511169689Skan
26512169689Skan2000-03-09  Andreas Jaeger  <aj@suse.de>
26513169689Skan
26514169689Skan	* mips/linux.h (NO_IMPLICIT_EXTERN_C): Define.
26515169689Skan	(TARGET_MEM_FUNCTIONS): Define.
26516169689Skan
26517169689Skan2000-03-09  Jason Merrill  <jason@casey.cygnus.com>
26518169689Skan
26519169689Skan	* i386.c (ix86_valid_type_attribute_p): Use compare_tree_int.
26520169689Skan
26521169689Skan	* except.c (can_throw): See through a SEQUENCE.
26522169689Skan	(nothrow_function_p): New fn.
26523169689Skan	* except.h: Declare it.
26524169689Skan	* function.c (current_function_nothrow): New var.
26525169689Skan	(prepare_function_start): Initialize it.
26526169689Skan	* output.h: Declare it.
26527169689Skan	* toplev.c (rest_of_compilation): Set it.
26528169689Skan	* dwarf2out.c (dwarf2out_begin_prologue): Use it.
26529169689Skan
26530169689Skan2000-03-09  Zack Weinberg  <zack@wolery.cumb.org>
26531169689Skan
26532169689Skan	* cpphash.c (collect_formal_parameters): strncmp returns 0 for
26533169689Skan	match.  (cpp_compare_defs): Count the nul separator when
26534169689Skan	advancing over argument names.
26535169689Skan
26536169689Skan2000-03-09  Bernd Schmidt  <bernds@cygnus.co.uk>
26537169689Skan
26538169689Skan	* recog.c (preprocess_constraints): Matching constraints affect
26539169689Skan	same alternative/different operand, not same operand/different
26540169689Skan	alternative.
26541169689Skan
26542169689Skan	* reload1.c (eliminate_regs_in_insn): Handle additions of eliminable
26543169689Skan	register and a constant specially.
26544169689Skan
26545169689Skan2000-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
26546169689Skan
26547169689Skan	* libgcc2.h: New file.
26548169689Skan	* libgcc2.c: Move macros, typedefs and prototypes to libgcc2.h.
26549169689Skan
26550169689SkanWed Mar  8 16:19:42 2000  Jim Wilson  <wilson@cygnus.com>
26551169689Skan
26552169689Skan	* configure.in (ia64*-*-elf*, ia64*-*-linux*): New.
26553169689Skan	* configure: Regenerate.
26554169689Skan	* config/ia64: New.
26555169689Skan
26556169689Skan2000-03-08  Zack Weinberg  <zack@wolery.cumb.org>
26557169689Skan
26558169689Skan	* Makefile.in (LIBCPP_DEPS): New macro.
26559169689Skan	(cpplib.o, cpphash.o, cpperror.o, cppexp.o, cppfiles.o): Use
26560169689Skan	it to declare deps.
26561169689Skan	* cpperror.c: Include cpphash.h.
26562169689Skan	* cppexp.c: Include cpphash.h.  Remove MULTIBYTE_CHARS
26563169689Skan	dingleberry.
26564169689Skan	(lex): Don't use CPP_WARN_UNDEF.
26565169689Skan	(_cpp_parse_expr): Return an int, the truth value.
26566169689Skan	* cppfiles.c: Include cpphash.h.
26567169689Skan	(_cpp_merge_include_chains): Move to cppinit.c and make static.
26568169689Skan	* cppinit.c (include_defaults_array): Disentangle.
26569169689Skan	(cpp_cleanup): Don't free the if stack here.
26570169689Skan	(cpp_finish): Pop off all buffers, not just one.
26571169689Skan	* cpplib.c (eval_if_expr): Return int.
26572169689Skan	(do_xifdef): Rename do_ifdef.
26573169689Skan	(handle_directive): Don't use CPP_PREPROCESSED.
26574169689Skan	(cpp_get_token): Don't use CPP_C89.
26575169689Skan	* fix-header.c: Don't use CPP_OPTIONS.
26576169689Skan
26577169689Skan	* cpplib.h: Move U_CHAR, enum node_type, struct
26578169689Skan	file_name_list, struct ihash, is_idchar, is_idstart,
26579169689Skan	is_numchar, is_numstart, is_hspace, is_space, CPP_BUF_PEEK,
26580169689Skan	CPP_BUF_GET, CPP_FORWARD, CPP_PUTS, CPP_PUTS_Q, CPP_PUTC,
26581169689Skan	CPP_PUTC_Q, CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q,
26582169689Skan	CPP_BUMP_BUFFER_LINE, CPP_BUMP_LINE, CPP_PREV_BUFFER,
26583169689Skan	CPP_PRINT_DEPS, CPP_TRADITIONAL, CPP_PEDANTIC, and prototypes
26584169689Skan	of _cpp_simplify_pathname, _cpp_find_include_file,
26585169689Skan	_cpp_read_include_file, and _cpp_parse_expr to cpphash.h.
26586169689Skan	Move struct if_stack to cpplib.c.  Move struct cpp_pending to
26587169689Skan	cppinit.c.
26588169689Skan	Change all uses of U_CHAR to be unsigned char instead.
26589169689Skan	Delete CPP_WARN_UNDEF, CPP_C89, and CPP_PREPROCESSED.
26590169689Skan
26591169689Skan2000-03-08  Jason Merrill  <jason@casey.cygnus.com>
26592169689Skan
26593169689Skan	* dwarf2out.c (dw_fde_struct): Add 'nothrow'.
26594169689Skan	(dwarf2out_begin_prologue): Set it.
26595169689Skan	(output_call_frame_info): Don't emit EH unwind info for leaves.
26596169689Skan
26597169689Skan	* flow.c (count_basic_blocks, find_basic_blocks_1): A rethrow
26598169689Skan	can occur outside of an EH region.
26599169689Skan	* except.c: Correct comments about rethrow behavior.
26600169689Skan	(rethrow_symbol_map): Do nothing if !flag_new_exceptions.
26601169689Skan
26602169689Skan2000-03-08  Andrew MacLeod  <amacleod@cygnus.com>
26603169689Skan
26604169689Skan	* flow.c (make_edges): Always call make_eh_edge for calls.
26605169689Skan
26606169689Skan2000-03-08  Zack Weinberg  <zack@wolery.cumb.org>
26607169689Skan
26608169689Skan	* cpplib.h (parse_underflow_t, CPP_NULL_BUFFER): Delete.
26609169689Skan	(struct cpp_buffer): Remove fname and underflow fields.
26610169689Skan	(struct cpp_reader): Remove get_token field.
26611169689Skan	(struct include_hash): Rename to struct ihash.  Add typedef to
26612169689Skan	IHASH.
26613169689Skan	(struct if_stack): Remove fname field.
26614169689Skan	(IF_STACK_FRAME): Rename to IF_STACK.
26615169689Skan
26616169689Skan	* cpperror.c (print_containing_files): Trust that there are no
26617169689Skan	macro buffers below the top file buffer.
26618169689Skan	* cppfiles.c: Replace all references to 'struct include_hash'
26619169689Skan	with 'IHASH'.  Rename initialize_input_buffer to
26620169689Skan	init_input_buffer.  Don't set or reference cpp_buffer->fname,
26621169689Skan	use buffer->ihash->name instead.
26622169689Skan	* cpphash.c (special_symbol): Use cpp_file_buffer.  Use NULL
26623169689Skan	not CPP_NULL_BUFFER.
26624169689Skan	* cppinit.c: Use NULL not CPP_NULL_BUFFER, IF_STACK not
26625169689Skan	IF_STACK_FRAME, IHASH not struct include_hash.
26626169689Skan	* cpplib.c: Rename eval_if_expression to eval_if_expr.  Remove
26627169689Skan	null_underflow.  Use IF_STACK not IF_STACK_FRAME, IHASH not
26628169689Skan	struct include_hash, NULL not CPP_NULL_BUFFER.  Remove all
26629169689Skan	references to cpp_buffer->fname (delete entirely, or use
26630169689Skan	->ihash->name instead) and IF_STACK->fname.
26631169689Skan	(cpp_push_buffer): Don't set new->underflow.
26632169689Skan	(do_include): Use cpp_file_buffer.
26633169689Skan
26634169689Skan	* cpphash.c (collect_formal_parameters): Remove duplicate
26635169689Skan	increment of argslen.  Pedwarn in C99 mode if __VA_ARGS__ is
26636169689Skan	used as a macro argument name.  Don't append "..." to namebuf
26637169689Skan	for varargs macros.  After we're done scanning, go through
26638169689Skan	namebuf and make it NUL separated, not comma separated.
26639169689Skan	(_cpp_compare_defs): Remove register tag from variables.
26640169689Skan	Expect defn->argnames to be NUL separated.
26641169689Skan	(_cpp_dump_definition): Expect defn->argnames to be NUL
26642169689Skan	separated and in forward order.
26643169689Skan	* cpphash.h: Update documentation of argnames field.
26644169689Skan
26645169689Skan2000-03-08  Richard Henderson  <rth@cygnus.com>
26646169689Skan
26647169689Skan	* builtins.c (expand_builtin_strlen): Be prepared for strlensi
26648169689Skan	to fail.  Don't pre-expand the source operand.
26649169689Skan
26650169689Skan	* i386.md (strlensi): Initialize eoschar and align before use.
26651169689Skan
26652169689Skan2000-03-08  Jason Merrill  <jason@casey.cygnus.com>
26653169689Skan
26654169689Skan	* expr.c (expand_expr, case ARRAY_REF): Still check for missing
26655169689Skan	CONSTRUCTOR element.
26656169689Skan
26657169689Skan2000-03-08  Gavin Romig-Koch  <gavin@cetus.cygnus.com>
26658169689Skan
26659169689Skan	* mips.c (mips_expand_prologue): If the last
26660169689Skan	named argument is the vararg marker "va_list", treat it as
26661169689Skan	an unnamed argument.
26662169689Skan
26663169689Skan2000-03-08  Clinton Popetz  <cpopetz@cygnus.com>
26664169689Skan
26665169689Skan	* dbxout.c (dbxout_parms): When correcting for promoted
26666169689Skan	big-endian parameters, use the mode of the DECL_RTL rather
26667169689Skan	than UNITS_PER_WORD.
26668169689Skan
26669169689Skan2000-03-08  Nathan Sidwell  <nathan@codesourcery.com>
26670169689Skan
26671169689Skan	* c-common.h (make_fname_decl): Declare.
26672169689Skan	* c-common.c (make_fname_decl): Define.
26673169689Skan	(declare_hidden_char_array): Remove.
26674169689Skan	(declare_function_name): Use make_fname_decl.
26675169689Skan	* c-decl.c (c_make_fname_decl): New function.
26676169689Skan	(init_decl_processing): Set make_fname_decl.
26677169689Skan
26678169689SkanTue Mar  7 23:50:31 2000  Jeffrey A Law  (law@cygnus.com)
26679169689Skan
26680169689Skan	* cccp.c (handle_directive): Initialize backslash_newlines_p.
26681169689Skan
26682169689Skan2000-03-07  Philipp Thomas  <pthomas@suse.de>
26683169689Skan
26684169689Skan	* po/POTFILES.in: Remove cppalloc.c from file list.
26685169689Skan
26686169689Skan2000-03-07  Steve Chamberlain  <sac@pobox.com>
26687169689Skan
26688169689Skan	* pj.c (pj_expand_prologue): current_function->args_info is
26689169689Skan	now current_function_args_info.
26690169689Skan
26691169689Skan	* pj.h (STORE_FLAG_VALUE, USER_LABEL_PREFIX,
26692169689Skan	LOCAL_LABEL_PREFIX, ASM_GENERATE_INTERNAL_LABEL,
26693169689Skan	ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Define.
26694169689Skan
26695169689Skan2000-03-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
26696169689Skan
26697169689Skan	* config/c4x/c4x.h (PUT_SDB_TYPE): Define so that the type info is
26698169689Skan	output as hexadecimal rather than the default octal.
26699169689Skan
26700169689Skan2000-03-07  Zack Weinberg  <zack@wolery.cumb.org>
26701169689Skan
26702169689Skan	* cpphash.c (special_symbol): Fix thinko in previous commit.
26703169689Skan
26704169689Skan2000-03-07  Neil Booth  <NeilB@earthling.net>
26705169689Skan
26706169689Skan	* cppexp.c (struct operation, left_shift, right_shift,
26707169689Skan	cpp_parse_expr): Change some "char"s to "U_CHAR"s, and some
26708169689Skan	"int"s to "unsigned int"s.
26709169689Skan	* cpplib.c (detect_if_not_defined, do_assert, do_unassert):
26710169689Skan	Similarly.
26711169689Skan	* cpplib.h: Update for above.
26712169689Skan	* mkdeps.c (deps_init, deps_calc_target): Cast pointers
26713169689Skan	returned from allocations.
26714169689Skan
26715169689Skan	* cppinit.c (opt_comp, parse_options): New functions.
26716169689Skan	(handle_option): Use parse_option to parse a single command
26717169689Skan	line option, that possibly takes an argument.
26718169689Skan	(cpp_handle_options): Sort the array of command line options on
26719169689Skan	first invocation (non-ASCII hosts only).
26720169689Skan	(print_help): Update.
26721169689Skan
26722169689Skan2000-03-07  Zack Weinberg  <zack@wolery.cumb.org>
26723169689Skan
26724169689Skan	* mkdeps.c (munge): Fix off-by-one bug and inconsistencies in
26725169689Skan	backslash counting loops.  Problem noted by Matt Kraai <kraai@ghs.com>.
26726169689Skan
26727169689Skan	* cppfiles.c (_cpp_find_include_file): Make sure ih->name is
26728169689Skan	initialized.
26729169689Skan	* cppinit.c (cpp_cleanup): Free imp->nshort also.
26730169689Skan
26731169689Skan	* cpperror.c (cpp_print_containing_files,
26732169689Skan	cpp_print_file_and_line, v_cpp_message): Rename to
26733169689Skan	print_containing_files, print_file_and_line, and v_message.
26734169689Skan	* cppexp.c (cpp_parse_expr, cpp_parse_escape, cpp_lex): Rename
26735169689Skan	to _cpp_parse_expr, parse_escape, and lex.
26736169689Skan	(parse_charconst): Remove broken multibyte support.
26737169689Skan	* cppfiles.c (include_hash): Make static.
26738169689Skan	(cpp_included): New function.
26739169689Skan	(merge_include_chains, find_include_file, finclude,
26740169689Skan	simplify_pathname): Rename to _cpp_merge_include_chains,
26741169689Skan	_cpp_find_include_file, _cpp_read_include_file, and
26742169689Skan	_cpp_simplify_pathname.
26743169689Skan	* cpphash.c (cpp_lookup, free_definition, delete_macro,
26744169689Skan	cpp_install, create_definition, macroexpand, compare_defs,
26745169689Skan	dump_definition): Rename to _cpp_lookup, _cpp_free_definition,
26746169689Skan	_cpp_delete_macro, _cpp_install, _cpp_create_definition,
26747169689Skan	_cpp_macroexpand, _cpp_compare_defs, and _cpp_dump_definition.
26748169689Skan	* cppinit.c (cpp_handle_option): Rename to handle_option, make
26749169689Skan	static.
26750169689Skan	* cpplib.c: Remove extern prototype of cpp_parse_expr.
26751169689Skan
26752169689Skan	* cpphash.h: Update prototypes.
26753169689Skan	* cpplib.h: Likewise.  Prototype _cpp_parse_expr here.
26754169689Skan
26755169689Skan2000-03-07  Andrew Haley  <aph@cygnus.com>
26756169689Skan
26757169689Skan	* config/mips/mips.h (PTRDIFF_TYPE): Revert broken change;
26758169689Skan	PTRDIFF_TYPE should be based solely on Pmode.
26759169689Skan	(SIZE_TYPE): ditto.
26760169689Skan
26761169689Skan2000-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
26762169689Skan
26763169689Skan	* rtl.h (rtunion_def): Constify member `rtstr'.
26764169689Skan	(emit_line_note_after, emit_line_note, emit_line_note_force,
26765169689Skan	emit_note, decode_asm_operands): Constify.
26766169689Skan
26767169689Skan	* cse.c (canon_hash): Likewise.
26768169689Skan
26769169689Skan	* dbxout.c (dbxout_block): Likewise.
26770169689Skan
26771169689Skan	* diagnostic.c (file_and_line_for_asm, v_error_for_asm,
26772169689Skan	v_warning_for_asm): Likewise.
26773169689Skan
26774169689Skan	* dwarfout.c (function_start_label): Likewise.
26775169689Skan
26776169689Skan	* emit-rtl.c (emit_line_note_after, emit_line_note, emit_note,
26777169689Skan	emit_line_note_force): Likewise.
26778169689Skan
26779169689Skan	* final.c (last_filename, asm_insn_count, final_scan_insn,
26780169689Skan	output_source_line): Likewise.
26781169689Skan
26782169689Skan	* function.h (struct emit_status): Likewise.
26783169689Skan
26784169689Skan	* gcse.c (hash_expr_1): Likewise.
26785169689Skan
26786169689Skan	* genattr.c (gen_attr, main): Likewise.
26787169689Skan
26788169689Skan	* genattrtab.c (struct function_unit, current_alternative_string,
26789169689Skan	write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq,
26790169689Skan	attr_numeral, check_attr_test, check_attr_value,
26791169689Skan	convert_set_attr_alternative, convert_set_attr,
26792169689Skan	compute_alternative_mask, simplify_by_exploding, gen_attr,
26793169689Skan	gen_unit): Likewise.
26794169689Skan
26795169689Skan	* genflags.c (gen_insn): Likewise.
26796169689Skan
26797169689Skan	* gengenrtl.c (type_from_format): Likewise.
26798169689Skan
26799169689Skan	* genopinit.c (gen_insn): Likewise.
26800169689Skan
26801169689Skan	* genoutput.c (n_occurrences, process_template, process_template):
26802169689Skan	Likewise.
26803169689Skan
26804169689Skan	* ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
26805169689Skan	Likewise.
26806169689Skan
26807169689Skan	* ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
26808169689Skan	Likewise.
26809169689Skan
26810169689Skan	* ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable,
26811169689Skan	ggc_set_mark, ggc_get_size): Likewise.
26812169689Skan
26813169689Skan	* objc/objc-act.c (build_module_descriptor, finish_objc): Likewise.
26814169689Skan
26815169689Skan	* optabs.c (init_one_libfunc): Likewise.
26816169689Skan
26817169689Skan	* output.h (assemble_start_function): Likewise.
26818169689Skan
26819169689Skan	* recog.c (decode_asm_operands): Likewise.
26820169689Skan
26821169689Skan	* toplev.c (rest_of_compilation): Likewise.
26822169689Skan
26823169689Skan	* tree.h (emit_line_note_after, emit_line_note,
26824169689Skan	emit_line_note_force): Likewise.
26825169689Skan
26826169689Skan	* varasm.c (asm_output_bss, asm_output_aligned_bss,
26827169689Skan	asm_emit_uninitialised, assemble_start_function,
26828169689Skan	assemble_variable, const_hash, compare_constant_1,
26829169689Skan	find_pool_constant, mark_constant_pool, assemble_alias): Likewise.
26830169689Skan
26831169689Skan	* xcoffout.h (DBX_FINISH_SYMBOL): Likewise.
26832169689Skan
26833169689Skan	* alpha/alpha.md (call_vms, call_value_vms): Likewise.
26834169689Skan
26835169689Skan	* arm/aof.h (ASM_OUTPUT_ASCII): Likewise.
26836169689Skan
26837169689Skan	* arm/aout.h (ASM_OUTPUT_ASCII): Likewise.
26838169689Skan
26839169689Skan	* arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p,
26840169689Skan	arm_dllimport_name_p): Likewise.
26841169689Skan
26842169689Skan	* arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op):
26843169689Skan	Likewise.
26844169689Skan
26845169689Skan	* arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise.
26846169689Skan
26847169689Skan	* arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26848169689Skan
26849169689Skan	* arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p,
26850169689Skan	arm_mark_dllexport, arm_mark_dllimport,
26851169689Skan	arm_pe_encode_section_info): Likewise.
26852169689Skan
26853169689Skan	* arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS,
26854169689Skan	ASM_FINISH_DECLARE_OBJECT): Likewise.
26855169689Skan
26856169689Skan	* arm/thumb.c (thumb_function_prologue): Likewise.
26857169689Skan
26858169689Skan	* arm/thumb.h (ASM_OUTPUT_ASCII): Likewise.
26859169689Skan
26860169689Skan	* avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26861169689Skan
26862169689Skan	* clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.
26863169689Skan
26864169689Skan	* fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise.
26865169689Skan
26866169689Skan	* i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise.
26867169689Skan
26868169689Skan	* i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26869169689Skan
26870169689Skan	* i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING,
26871169689Skan	ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise.
26872169689Skan
26873169689Skan	* i386/i386-protos.h (asm_output_function_prefix): Likewise.
26874169689Skan
26875169689Skan	* i386/i386.c (asm_output_function_prefix): Likewise.
26876169689Skan
26877169689Skan	* i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
26878169689Skan
26879169689Skan	* i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26880169689Skan
26881169689Skan	* i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
26882169689Skan
26883169689Skan	* i386/sco5.h (ASM_FINISH_DECLARE_OBJECT,
26884169689Skan	ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII,
26885169689Skan	ASM_OUTPUT_SECTION_NAME): Likewise.
26886169689Skan
26887169689Skan	* i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
26888169689Skan
26889169689Skan	* i860/paragon.h (ASM_OUTPUT_ASCII): Likewise.
26890169689Skan
26891169689Skan	* i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
26892169689Skan
26893169689Skan	* m32r/m32r.c (m32r_encode_section_info): Likewise.
26894169689Skan
26895169689Skan	* mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26896169689Skan
26897169689Skan	* mcore/mcore.c (mcore_encode_section_info): Likewise.
26898169689Skan
26899169689Skan	* mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26900169689Skan
26901169689Skan	* mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26902169689Skan
26903169689Skan	* mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26904169689Skan
26905169689Skan	* mips/mips.h (ASM_OUTPUT_IDENT): Likewise.
26906169689Skan
26907169689Skan	* mips/mips.md (movdi, movsi): Likewise.
26908169689Skan
26909169689Skan	* mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26910169689Skan
26911169689Skan	* netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26912169689Skan
26913169689Skan	* openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
26914169689Skan
26915169689Skan	* ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
26916169689Skan	ASM_OUTPUT_ASCII): Likewise.
26917169689Skan
26918169689Skan	* rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog,
26919169689Skan	output_mi_thunk, output_toc): Likewise.
26920169689Skan
26921169689Skan	* rs6000/rs6000.md (movsi): Likewise.
26922169689Skan
26923169689Skan	* rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.
26924169689Skan
26925169689Skan	* tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise.
26926169689Skan
26927169689Skan	* v850/v850.c (print_operand, print_operand_address,
26928169689Skan	v850_encode_data_area): Likewise.
26929169689Skan
26930169689Skan2000-03-07  Clinton Popetz  <cpopetz@cygnus.com>
26931169689Skan
26932169689Skan	* config/mips/mips.md (zero_extendsidi2): Always force operand
26933169689Skan	one to memory for mips16.
26934169689Skan
26935169689SkanMon Mar  6 15:22:29 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
26936169689Skan
26937169689Skan	* tree.h (INT_CST_LT, INT_CST_LT_UNSIGNED): Remove unneeded casts.
26938169689Skan	(struct tree_int_cst): int_cst_low is now unsigned HOST_WIDE_INT.
26939169689Skan	(attribute_hash_list, type_hash_canon): hashcode is now unsigned.
26940169689Skan	(type_hash_lookup, type_hash_add, type_hash_list): Likewise.
26941169689Skan	(min_precision): Result is unsigned.
26942169689Skan	(add_double, neg_double, mul_double): Low word is unsigned.
26943169689Skan	(lshift_double, rshift_double, lrotate_double): Likewise.
26944169689Skan	(rrotate_double, div_and_round_double): Likewise.
26945169689Skan	(tree_floor_log2, compare_tree_int): New functions.
26946169689Skan	(preserve_rtl_expr_temps): New declaration.
26947169689Skan	* c-common.c (declare_hidden_char_array): Use compare_tree_int.
26948169689Skan	(decl_attributes): Use tree_log2 to find alignment.
26949169689Skan	Check for TREE_INT_CST_HIGH for format args.
26950169689Skan	(min_precision): Now unsigned.
26951169689Skan	Use tree_floor_log2.
26952169689Skan	(truthvalue_conversion): Delete long-disabled code.
26953169689Skan	* c-decl.c (finish_struct): Clean up tests on field width.
26954169689Skan	(finish_function): Use compare_tree_int.
26955169689Skan	* c-pragma.c (handle_pragma_token): Use tree_log2 for alignment.
26956169689Skan	* c-typeck.c (comptypes): Use tree_int_cst_equal.
26957169689Skan	(default_conversion, digest_init): Use compare_tree_int.
26958169689Skan	(build_binary_op): Use integer_all_onesp and compare_tree_int.
26959169689Skan	Fix type errors in forming masks.
26960169689Skan	* calls.c (initialize_argument_information): Use compare_tree_int.
26961169689Skan	* dbxout.c (dbxout_type): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
26962169689Skan	* except.c (expand_eh_region_start_tree): Use compare_tree_int.
26963169689Skan	* expr.c (is_zeros_p, case INTEGER_CST): Use integer_zerop.
26964169689Skan	(store_field): Use compare_tree_int.
26965169689Skan	(expand_expr, case CONSTRUCTOR): Use TYPE_SIZE_UNIT.
26966169689Skan	(expand_expr, case ARRAY_REF): Use compare_tree_int.
26967169689Skan	(do_jump, case BIT_AND_EXPR): Use tree_floor_log2.
26968169689Skan	(do_store_flag): Use compare_tree_int.
26969169689Skan	* fold-const.c (encode, decode): Low part is always unsigned.
26970169689Skan	(force_fit_type, add_double, neg_double, mul_double): Likewise.
26971169689Skan	(lshift_double, rshift_double, lrotate_double): Likewise.
26972169689Skan	(rrotate_double, div_and_round_double, int_const_binop): Likewise.
26973169689Skan	(fold_convert): Use compare_tree_int.
26974169689Skan	(operand_equal_p, case INTEGER_CST): Use tree_int_cst_equal.
26975169689Skan	(invert_truthvalue, case INTEGER_CST): Likewise.
26976169689Skan	(fold): Use compare_tree_int; add casts for unsigned TREE_INT_CST_LOW.
26977169689Skan	* mkdeps.c (deps_dummy_targets): Make I unsigned.
26978169689Skan	* rtl.h (add_double, neg_double, mul_double): Low words are unsigned.
26979169689Skan	(lshift_double, rshift_double, lrotate_double, rrotate_double):
26980169689Skan	Likewise.
26981169689Skan	* stmt.c (expand_decl): Use compare_tree_int and mode_for_size_tree.
26982169689Skan	(expand_end_case): Use compare_tree_int.
26983169689Skan	(estimate_case_costs): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
26984169689Skan	* stor-layout.c (mode_for_size_tree): Use compare_tree_int.
26985169689Skan	(layout_decl): Likewise.
26986169689Skan	(layout_record, layout_union): Make sizes unsigned.
26987169689Skan	(layout_type, case VOID_TYPE): TYPE_SIZE must be bitsizetype.
26988169689Skan	(layout_type, case QUAL_UNION_TYPE): Use compare_tree_int.
26989169689Skan	* tree.c (struct type_hash): hashcode is unsigned.
26990169689Skan	(build_type_attribute_variant, type_hash_list): Likewise.
26991169689Skan	(type_hash_lookup, type_hash_add, type_hash_canon): Likewise.
26992169689Skan	(attribute_hash_list, build_array_type, build_method_type): Likewise.
26993169689Skan	(build_complex_type): Likewise.
26994169689Skan	(real_value_from_int_cst): Remove unneeded casts.
26995169689Skan	(integer_all_onesp): Add casts.
26996169689Skan	(tree_floor_log2, compare_tree_int): New functions.
26997169689Skan	(build_index_type): Use tree_int_cst_sgn.
26998169689Skan	* varasm.c (assemble_variable): Use compare_tree_int.
26999169689Skan
27000169689Skan2000-03-06  Jason Merrill  <jason@casey.cygnus.com>
27001169689Skan
27002169689Skan	* cpphash.c (collect_expansion): Also catch ## at start of macro.
27003169689Skan
27004169689Skan	* varasm.c (make_decl_rtl): Don't add a number to members of
27005169689Skan	local classes.
27006169689Skan	(make_function_rtl): Likewise.
27007169689Skan
27008169689Skan2000-03-06  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
27009169689Skan
27010169689Skan	* gcse.c (compute_can_copy): Adjust if/else blocks from rth's
27011169689Skan	patch from 2000-01-28.
27012169689Skan
27013169689Skan2000-03-06  Clinton Popetz  <cpopetz@cygnus.com>
27014169689Skan
27015169689Skan	* config/sh/sh.c: (barrier_align): Handle a delay slot that is
27016169689Skan	filled with an insn from the jump target.
27017169689Skan
27018169689Skan2000-03-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
27019169689Skan
27020169689Skan	* config/c4x/c4x-protos.h (c4x_global_name): Constify char *.
27021169689Skan	(c4x_external_ref): Likewise.
27022169689Skan	* config/c4x/c4x.c (struct name_list): Likewise.
27023169689Skan
27024169689Skan1999-12-16  Ben Collins  <bcollins@debian.org>
27025169689Skan
27026169689Skan	* Makefile.in: Pass a new MULTILIB_EXCLUSIONS option as the sixth
27027169689Skan	argument to genmultilib.
27028169689Skan	* genmultilib: accept new MULTILIB_EXCLUSIONS option and output
27029169689Skan	the contents into the multilib.h header.
27030169689Skan	* gcc.c: Declare multilib_exclusions for the specs file.
27031169689Skan	(set_multilib_dir): Use it.
27032169689Skan	(print_multilib_info): Likewise.
27033169689Skan	* t-linux64: Declare arguments for new MULTILIB_EXCLUSIONS option
27034169689Skan	to pass to genmultilib.
27035169689Skan
27036169689Skan2000-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
27037169689Skan
27038169689Skan	* builtins.c (built_in_class_names, built_in_names): Constify a
27039169689Skan	char*.
27040169689Skan
27041169689Skan	* gmon-sol2.c (monstartup, moncontrol): Cast ptrs to long, not
27042169689Skan	int.
27043169689Skan	(_mcleanup): Ensure value matches format specifier in sprintf.
27044169689Skan
27045169689Skan	* cpphash.c (special_symbol): Don't needlessly cast away
27046169689Skan	const-ness.
27047169689Skan
27048169689Skan	* cppinit.c (base_name): Delete unused prototype.
27049169689Skan
27050169689Skan	* mkdeps.c (deps_init): Make definition K&R safe.
27051169689Skan
27052169689Skan	* tree.h (built_in_class_names, built_in_names): Constify a
27053169689Skan	char*.
27054169689Skan
27055169689Skan2000-03-06  Jakub Jelinek  <jakub@redhat.com>
27056169689Skan
27057169689Skan	* config/sparc/sparc.c (eligible_for_epilogue_delay): Accept
27058169689Skan	floating point instructions for epilogue delay.
27059169689Skan
27060169689Skan	* config/sparc/sparc.h (ASM_ARCH64_SPEC): Pass -no-undeclared-regs
27061169689Skan	to gas if it supports .register pseudo.
27062169689Skan
27063169689Skan	* real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to
27064169689Skan	LONG_DOUBLE_TYPE_SIZE if not defined.
27065169689Skan	Use MAX_LONG_DOUBLE_TYPE_SIZE instead of
27066169689Skan	LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses.
27067169689Skan	* real.c: Likewise.
27068169689Skan	* gengenrtl.c: Likewise.
27069169689Skan	* print-rtl.c: Likewise.
27070169689Skan	* rtl.c: Likewise.
27071169689Skan	* config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set
27072169689Skan	MASK_LONG_DOUBLE_128.
27073169689Skan	* config/sparc/sol2.h (TARGET_DEFAULT): Likewise.
27074169689Skan	* config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise.
27075169689Skan	* config/sparc/linux64 (TARGET_DEFAULT): Likewise.
27076169689Skan	(SUBTARGET_SWITCHES): Define.
27077169689Skan	(CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling
27078169689Skan	with -mlong-double-128.
27079169689Skan	(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
27080169689Skan	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
27081169689Skan	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
27082169689Skan	(CC1_SPEC): Include -mlong-double-{64,128} as needed.
27083169689Skan	* config/sparc/linux.h (SUBTARGET_SWITCHES): Define.
27084169689Skan	(CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling
27085169689Skan	with -mlong-double-128.
27086169689Skan	(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
27087169689Skan	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
27088169689Skan	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
27089169689Skan	* config/sparc/sparc.h (MASK_LONG_DOUBLE_128,
27090169689Skan	TARGET_LONG_DOUBLE_128): Define.
27091169689Skan	* config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove.
27092169689Skan	* config/sparc/sparc.c (sparc_override_options): Disallow 64bit
27093169689Skan	long double on TARGET_ARCH64.
27094169689Skan
27095169689Skan2000-03-06  Mark Mitchell  <mark@codesourcery.com>
27096169689Skan
27097169689Skan	* function.c (free_temps_for_rtl_expr): Don't free slots
27098169689Skan	that have been pushed into a higher level.
27099169689Skan
27100169689Skan	Revert this patch:
27101169689Skan	2000-03-05  Mark Mitchell  <mark@codesourcery.com>
27102169689Skan
27103169689Skan2000-03-05  Mark Mitchell  <mark@codesourcery.com>
27104169689Skan
27105169689Skan	* basic-block.h (ALLOCA_REG_SET): Remove.
27106169689Skan	(INITIALIZE_REG_SET): New macro.
27107169689Skan	* flow.c (update_life_info): Use it.
27108169689Skan	(calculate_global_regs_live): Likewise.
27109169689Skan	(propagate_block): Likewise.
27110169689Skan	* global.c (build_insn_chain): Likewise.
27111169689Skan	* haifa-sched.c (schedule_region): Likewise.
27112169689Skan
27113169689Skan2000-03-05  Stephane Carrez  <stcarrez@worldnet.fr>
27114169689Skan
27115169689Skan	* dwarf2out.c (UNALIGNED_WORD_ASM_OP): Support 2 bytes pointer.
27116169689Skan	(ASM_OUTPUT_DWARF_ADDR_CONST): Use UNALIGNED_WORD_ASM_OP.
27117169689Skan	(DWARF_ARANGES_PAD_SIZE): New define.
27118169689Skan	(output_aranges): Use it to pad the address range header.
27119169689Skan	(DWARF_ROUND): Fix for non power of 2 rounding.
27120169689Skan
27121169689Skan2000-03-05  Jason Merrill  <jason@casey.cygnus.com>
27122169689Skan
27123169689Skan	* mkdeps.c (deps_calc_target): Remove incorrect 'const'.
27124169689Skan
27125169689Skan2000-03-05  Mark Mitchell  <mark@codesourcery.com>
27126169689Skan
27127169689Skan	* tree.def (RTL_EXPR): Update documentation.
27128169689Skan	* tree.h (RTL_EXPR_HAS_NO_SCOPE): New macro.
27129169689Skan	* expr.c (expand_expr): Handle RTL_EXPR_HAS_NO_SCOPE.
27130169689Skan	* function.c (preserve_rtl_expr_temp): New function.
27131169689Skan	(preserve_rtl_expr_temps): Likewise.
27132169689Skan	(preserve_rtl_expr_result): Use it.
27133169689Skan
27134169689Skan	Revert this patch:
27135169689Skan	2000-03-04  Mark Mitchell  <mark@codesourcery.com>
27136169689Skan
27137169689Skan2000-03-04  Thomas Schuster <Thomas.Schuster@gmx.net>
27138169689Skan
27139169689Skan	* regmove.c (copy_src_to_dest)  Do not create src->dest move
27140169689Skan	for unchanging destination.
27141169689Skan
27142169689Skan2000-03-04  Mark Mitchell  <mark@codesourcery.com>
27143169689Skan
27144169689Skan	* function.h (struct sequence_stack): Remove rtl_expr.
27145169689Skan	(struct emit_staus): Likewise.
27146169689Skan	(seq_rtl_expr): Remove.
27147169689Skan	* tree.h (free_temps_for_rtl_expr): Don't declare.
27148169689Skan	(start_sequence_for_rtl_expr): Likewise.
27149169689Skan	* rtl.h (preserve_rtl_expr_result): Likewise.
27150169689Skan	* emit-rtl.c (start_sequence): Don't set sequence_rtl_expr.
27151169689Skan	(start_sequence_for_rtl_expr): Remove.
27152169689Skan	(push_topmost_sequence): Don't save sequence_rtl_expr.
27153169689Skan	(pop_topmost_sequence): Remove comment about not restoring it.
27154169689Skan	(end_sequence): Don't set seq_rtl_expr.
27155169689Skan	(init_emit): Don't initialize it.
27156169689Skan	(mark_sequence_stack): Don't mark it.
27157169689Skan	(mark_emit_status): Likewise.
27158169689Skan	* except.c (protect_with_terminate): Use
27159169689Skan	start_sequence_for_rtl_expr, not start_sequence.
27160169689Skan	* expr.c (expand_expr, case RTL_EXPR): Don't call
27161169689Skan	preserve_rtl_expr_result or free_temps_for_rtl_expr.
27162169689Skan	* function.c (assign_stack_temp_for_type): Don't set rtl_expr.
27163169689Skan	(preserve_rtl_expr_result): Remove.
27164169689Skan	(free_temps_for_rtl_expr): Likewise.
27165169689Skan	(pop_temp_slots): Likewise.
27166169689Skan	(mark_temp_slot): Don't mark the rtl_expr.
27167169689Skan	* stmt.c (expand_start_stmt_expr): Use start_sequence, not
27168169689Skan	start_sequence_for_rtl_expr.
27169169689Skan
27170169689Skan2000-03-04  Zack Weinberg  <zack@wolery.cumb.org>
27171169689Skan
27172169689Skan	* mkdeps.c, mkdeps.h: New files.
27173169689Skan	* po/POTFILES.in: Add them.
27174169689Skan	* Makefile.in (LIBCPP_OBJS): Add mkdeps.o.
27175169689Skan	(cpplib.o, cppinit.o): Depend on mkdeps.h.
27176169689Skan	(mkdeps.o): New target.
27177169689Skan
27178169689Skan	* cppfiles.c: Delete deps_output.
27179169689Skan	* cppinit.c: Include mkdeps.h.  Delete known_suffixes,
27180169689Skan	OBJECT_SUFFIX, and base_name.
27181169689Skan	(cpp_cleanup): Use deps_free.  Free ihash->name when clearing
27182169689Skan	the include hash.
27183169689Skan	(initialize_dependency_output): Use deps_init,
27184169689Skan	deps_add_target, deps_calc_target, and deps_add_dep.  Remove
27185169689Skan	all the unnecessary string bashing.
27186169689Skan	(cpp_finish): Use deps_write.  Remove an unnecessary nesting
27187169689Skan	level.
27188169689Skan	* cpplib.c (do_include): Use deps_add_dep.
27189169689Skan	* cpplib.h (struct cpp_reader): Replace deps_buffer,
27190169689Skan	deps_allocated_size, deps_size, deps_column members with
27191169689Skan	single pointer to a struct deps.  Delete prototype of
27192169689Skan	deps_output.
27193169689Skan
27194169689Skan	* cppinit.c: Fix thinko in previous patch.
27195169689Skan
27196169689SkanSat Mar  4 11:32:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27197169689Skan
27198169689Skan	* machmode.h (mode_for_size, smallest_mode_for_size): SIZE now signed.
27199169689Skan	* stor-layout.c (mode_for_size, smallest_mode_for_size): Likewise.
27200169689Skan	(mode_for_size_tree): New function.
27201169689Skan	(layout_decl, layout_type): Call it and clean up BLKmode checks.
27202169689Skan	* tree.h (mode_for_size_tree): New declaration.
27203169689Skan
27204169689Skan	* toplev.c (debug_ignore_block): Mark arg BLOCK as possibly unused.
27205169689Skan
27206169689Skan2000-03-04  Jason Merrill  <jason@casey.cygnus.com>
27207169689Skan
27208169689Skan	* stmt.c (is_body_block): Move...
27209169689Skan	* dwarfout.c, dwarf2out.c: ...from here.
27210169689Skan	* tree.h: Declare it.
27211169689Skan	* emit-rtl.c (remove_unnecessary_notes): Don't remove the body block.
27212169689Skan	* final.c (final_start_function): Do call remove_unnecessary_notes
27213169689Skan	when scheduling.
27214169689Skan
27215169689Skan2000-03-03  Zack Weinberg  <zack@wolery.cumb.org>
27216169689Skan
27217169689Skan	* config/vax/xm-vms.h: Define OBJECT_SUFFIX and EXECUTABLE_SUFFIX.
27218169689Skan
27219169689Skan	* cpplib.h (_dollar_ok): New macro.
27220169689Skan	(is_idchar, is_idstart): Use it.
27221169689Skan	(IStable): Rename to _cpp_IStable.  Declare it const if
27222169689Skan	gcc >=2.7 or C99.  Delete all references to FAKE_CONST.
27223169689Skan	(is_idchar, is_idstart, is_numchar, is_numstart, is_hspace,
27224169689Skan	is_space): Update for renamed IStable.
27225169689Skan
27226169689Skan	* cppinit.c: Delete all references to FAKE_CONST and CAT
27227169689Skan	macros. Define init_IStable as empty macro if gcc >=2.7 or
27228169689Skan	C99. Change TABLE() to ISTABLE and hardcode name of table.
27229169689Skan	(cpp_start_read): Don't change the IStable based on
27230169689Skan	dollars_in_ident.
27231169689Skan
27232169689Skan	* cpphash.c (unsafe_chars): Add pfile argument.  All callers
27233169689Skan	changed.  Handle '$' for char1 correctly.
27234169689Skan	* cpplib.c (cpp_get_token): Use is_numchar when parsing numbers.
27235169689Skan
27236169689Skan	* cppexp.c (tokentab2): Make const.
27237169689Skan	(cpp_lex): Make toktab const.
27238169689Skan	* cppinit.c (include_defaults_array): Make const.
27239169689Skan	(initialize_standard_includes): Make default_include const.
27240169689Skan
27241169689Skan2000-03-03  Jason Merrill  <jason@casey.cygnus.com>
27242169689Skan
27243169689Skan	* dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning.
27244169689Skan	(dwarf2out_decl): Functions can now have DECL_IGNORED_P.
27245169689Skan	(gen_decl_die): Likewise.
27246169689Skan	* dwarfout.c (dwarfout_file_scope_decl): Likewise.
27247169689Skan	(output_decl): Likewise.
27248169689Skan
27249169689Skan	* varasm.c (make_function_rtl): If we change the name used in the
27250169689Skan	rtl, update DECL_ASSEMBLER_NAME accordingly.
27251169689Skan	(make_decl_rtl): Likewise.
27252169689Skan
27253169689Skan	* toplev.c (rest_of_compilation): Tweak formatting.
27254169689Skan
27255169689Skan	* toplev.c (rest_of_compilation): find_loop_tree_blocks before
27256169689Skan	remove_unnecessary_notes.
27257169689Skan	(debug_ignore_block): New fn.
27258169689Skan	* toplev.h: Declare it.
27259169689Skan	* emit-rtl.c (remove_unnecessary_notes): Call it.
27260169689Skan	* dwarf2out.c (dwarf2out_ignore_block): New fn.
27261169689Skan	* dwarf2out.h: Declare it.
27262169689Skan	* final.c (final_start_function): Don't call remove_unnecessary_notes
27263169689Skan	if we did insn scheduling.
27264169689Skan
27265169689Skan2000-03-03  Zack Weinberg  <zack@wolery.cumb.org>
27266169689Skan
27267169689Skan	* cppinit.c (cpp_handle_option): Set opts->pedantic directly.
27268169689Skan	* cpplib.h: Delete SET_CPP_PEDANTIC.
27269169689Skan
27270169689SkanFri Mar  3 14:56:12 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27271169689Skan
27272169689Skan	* expr.c (expand_expr, case COMPONENT_REF): Use bitfield case if
27273169689Skan	result is a RECORD_TYPE.
27274169689Skan
27275169689Skan2000-03-03  Jonathan Larmour  <jlarmour@cygnus.co.uk>
27276169689Skan
27277169689Skan	* mips/elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added.
27278169689Skan
27279169689Skan2000-03-03  Richard Henderson  <rth@cygnus.com>
27280169689Skan
27281169689Skan	* alpha.c (alpha_emit_set_const_1): Re-order cases to prefer
27282169689Skan	addition over compliments over shifts.
27283169689Skan
27284169689SkanFri Mar  3 12:49:28 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
27285169689Skan
27286169689Skan	* reload1.c (reload_combine_note_use): Handle return register USEs.
27287169689Skan	REG case: Handle multi-hard-register hard regs.
27288169689Skan
27289169689SkanFri Mar  3 07:38:34 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27290169689Skan
27291169689Skan	* md.texi: Document use of '*' in insn pattern name.
27292169689Skan
27293169689Skan2000-03-03  Jason Merrill  <jason@casey.cygnus.com>
27294169689Skan
27295169689Skan	* calls.c (special_function_p): operator new may not be malloc-like.
27296169689Skan
27297169689Skan	* gcse.c (dump_hash_table): Really fix error in last change.
27298169689Skan
27299169689Skan2000-03-02  Denis Chertykov  <denisc@overta.ru>
27300169689Skan
27301169689Skan	* avr.c (print_operand): Use print_operand_address instead of
27302169689Skan	output_addr_const.
27303169689Skan	* avr/libgcc.S: Cleanup code.
27304169689Skan
27305169689Skan2000-03-02  Richard Henderson  <rth@cygnus.com>
27306169689Skan
27307169689Skan	* alpha.c (alpha_emit_set_const_1): Also try c + small constant.
27308169689Skan
27309169689Skan2000-03-02  Mark Mitchell  <mark@codesourcery.com>
27310169689Skan
27311169689Skan	* tree.h (TYPE_ALIGN_UNIT): New macro.
27312169689Skan
27313169689Skan2000-03-02  Clinton Popetz  <cpopetz@cygnus.com>
27314169689Skan
27315169689Skan	* i386.c: (constant_call_address_operand): Reject CONST_INT.
27316169689Skan
27317169689Skan2000-03-02  Jason Merrill  <jason@casey.cygnus.com>
27318169689Skan
27319169689Skan	* cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set
27320169689Skan	for the buffer.
27321169689Skan	(SET_CPP_PEDANTIC): New macro.
27322169689Skan	* cpplib.c (do_include): Don't bother checking system_header_p.
27323169689Skan	(do_warning, do_ident, do_assert, do_unassert): Likewise.
27324169689Skan	* cppinit.c (cpp_handle_option): Use SET_CPP_PEDANTIC.
27325169689Skan
27326169689Skan	* function.h (struct expr_status): Add x_arg_space_so_far.
27327169689Skan	(arg_space_so_far): New macro.
27328169689Skan	* expr.c (init_expr): Initialize it.
27329169689Skan	* calls.c (emit_call_1): Reset it.
27330169689Skan	(compute_argument_block_size, expand_call): Use it.
27331169689Skan	(expand_call, store_one_arg): Increment it.
27332169689Skan
27333169689SkanThu Mar  2 17:27:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27334169689Skan
27335169689Skan	* varasm.c (output_constant): Strip off a CONVERT_EXPR to
27336169689Skan	a UNION_TYPE.
27337169689Skan
27338169689Skan2000-03-02  Zack Weinberg  <zack@wolery.cumb.org>
27339169689Skan
27340169689Skan	* cppfiles.c (cpp_read_file): New function.
27341169689Skan
27342169689Skan	* cpphash.c (collect_expansion): Make sure to reset last_token
27343169689Skan	to NORM when we hit a string.  Handle trailing whitespace
27344169689Skan	properly when the expansion is empty.
27345169689Skan	(create_definition): Disable line commands while parsing the
27346169689Skan	directive line.
27347169689Skan	(dump_definition): If pfile->lineno == 0, output a line
27348169689Skan	command ahead of the dump, and add a trailing newline.
27349169689Skan
27350169689Skan	* cppinit.c (append_include_chain): Add fifth argument, which
27351169689Skan	indicates whether or not system headers are C++ aware.
27352169689Skan	(initialize_standard_includes): New function,
27353169689Skan	broken out of read_and_prescan.  Pass 'cxx_aware' value from
27354169689Skan	the include_defaults_array on to append_include_chain.
27355169689Skan	(dump_special_to_buffer): Const-ify char array.
27356169689Skan	(builtin_array): Don't dump __BASE_FILE__.
27357169689Skan	(cpp_start_read): Use cpp_read_file.  Reorder code for
27358169689Skan	clarity.  Don't output line commands here for -D/-A/-U
27359169689Skan	switches.  Don't call deps_output for files included with
27360169689Skan	-include or -imacros.
27361169689Skan
27362169689Skan	* cpplib.c (do_define): Don't pay any attention to the second
27363169689Skan	argument.
27364169689Skan	(cpp_expand_to_buffer): Disable line commands while scanning.
27365169689Skan	(output_line_command): Work in the file buffer.
27366169689Skan	* cpplib.h: Remove no_record_file flag from struct cpp_reader.
27367169689Skan	Fix formatting of comments.  Prototype cpp_read_file.
27368169689Skan
27369169689SkanThu Mar  2 13:29:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27370169689Skan
27371169689Skan	* c-common.c (c_common_nodes_and_builtins): Make sizetype_endlink
27372169689Skan	reference the language-equivalent of sizetype.
27373169689Skan	* c-typeck.c (comptypes): Treat sizetype like its language equivalent.
27374169689Skan	* fold-const.c (size_binop, size_diffop): Put back checks.
27375169689Skan	* gcse.c (dump_hash_table): Fix minor error in last change.
27376169689Skan	* stor-layout.c (set_sizetype): Set TYPE_DOMAIN of sizetype.
27377169689Skan	Clear TYPE_{NEXT,MAIN}_VARIANT and TYPE_{POINTER,REFERENCE}_to of
27378169689Skan	all sizetypes.
27379169689Skan
27380169689SkanThu Mar  2 12:48:45 MET 2000  Jan Hubicka  <jh@suse.cz>
27381169689Skan
27382169689Skan	* calls.c (expand_call)  Do not attempt to combine stack adjustments
27383169689Skan	with inhibit_defer_pop set.
27384169689Skan
27385169689Skan2000-03-01  Mark Mitchell  <mark@codesourcery.com>
27386169689Skan
27387169689Skan	* stor-layout.c (layout_decl): Allow front-ends to explicitly set
27388169689Skan	the DECL_SIZE for a FIELD_DECL.
27389169689Skan
27390169689Skan2000-03-01  Bruce Korb  <bkorb@gnu.org>
27391169689Skan
27392169689Skan	* fixinc/inclhack.tpl: remove unused symlinks
27393169689Skan	* fixinc/README: GCC Maintainer info
27394169689Skan	* fixinc/inclhack.sh: regen
27395169689Skan	* fixinc/fixincl.sh: regen
27396169689Skan
27397169689Skan2000-03-01  Zack Weinberg  <zack@wolery.cumb.org>
27398169689Skan
27399169689Skan	* cpphash.c (collect_expansion): Trim trailing white space
27400169689Skan	from macro definitions, but don't go past the last insertion
27401169689Skan	point.
27402169689Skan
27403169689SkanWed Mar  1 12:14:31 MET 2000  Jan Hubicka  <jh@suse.cz>
27404169689Skan
27405169689Skan	* i386.md (mulqi3): New pattern.
27406169689Skan
27407169689Skan2000-02-29  Zack Weinberg  <zack@wolery.cumb.org>
27408169689Skan
27409169689Skan	* cpplib.h (CPP_ASSERTION, CPP_STRINGIZE, CPP_TOKPASTE): New
27410169689Skan	token types.
27411169689Skan	(struct cpp_reader): Add parsing_if_directive and
27412169689Skan	parsing_define_directive flags.
27413169689Skan	(struct cpp_options): Remove output_conditionals flag.
27414169689Skan	(check_macro_name): Delete prototype.
27415169689Skan
27416169689Skan	* cpphash.h (struct macrodef): Delete.
27417169689Skan	(struct reflist): Separate from struct definition.
27418169689Skan	(struct definition): Remove unused fields.  Add column number.
27419169689Skan	(create_definition): Returns a DEFINITION *.  Takes a
27420169689Skan	cpp_reader * and an int.
27421169689Skan
27422169689Skan	* cpphash.c (SKIP_WHITE_SPACE): Delete.
27423169689Skan	(PEEKC): Copy defn from cpplib.c.
27424169689Skan	(rest_extension, REST_EXTENSION_LENGTH): Delete.
27425169689Skan	(struct arg): New.
27426169689Skan	(struct arglist): Simplify.
27427169689Skan	(collect_expansion): Rewrite.  Get tokens by calling
27428169689Skan	cpp_get_token.  Add more error checking.
27429169689Skan	(collect_formal_parameters): New function, broken out of
27430169689Skan	create_definition and reworked to use get_directive_token.
27431169689Skan	(create_definition): All real work is now in collect_expansion
27432169689Skan	and collect_formal_parameters.  do_define handles finding the
27433169689Skan	macro name.  Return a DEFINITION, not a MACRODEF.
27434169689Skan	(macroexpand): Replace bcopy with memcpy throughout.  Replace
27435169689Skan	character-at-a-time copy loop with memcpy and pointer increments.
27436169689Skan	(compare-defs): d1->argnames / d2->argnames might be null.
27437169689Skan
27438169689Skan	* cpplib.c (copy_rest_of_line): Delete function.
27439169689Skan	(skip_rest_of_line): Do all the work ourselves.
27440169689Skan	(skip_string): New function.
27441169689Skan	(parse_string): Use skip_string.
27442169689Skan	(get_macro_name): New function.
27443169689Skan	(check_macro_name): Delete.
27444169689Skan	(copy_comment): Use CPP_RESERVE and CPP_PUTC_Q.
27445169689Skan	(cpp_skip_hspace): Use CPP_BUMP_LINE.
27446169689Skan	(handle_directive): ICE if we're called on a macro buffer.
27447169689Skan	(do_define): Determine macro name and type (funlike/objlike)
27448169689Skan	here.  Expunge all uses of MACRODEF.
27449169689Skan	(cpp_push_buffer): Set line_base to NULL.
27450169689Skan	(do_undef, read_line_number): Don't worry about getting a POP token.
27451169689Skan	(eval_if_expression): Set/reset parsing_if_directive around
27452169689Skan	cpp_parse_expr. Don't clear only_seen_white.
27453169689Skan	(skip_if_group): Remove output_conditionals logic.  Use
27454169689Skan	skip_rest_of_line.
27455169689Skan	(cpp_get_token): Return ASSERTION, STRINGIZE, and TOKPASTE
27456169689Skan	tokens under appropriate conditions.
27457169689Skan	(cpp_unassert): Call do_unassert not do_assert.  Oops.
27458169689Skan
27459169689Skan	* cppexp.c (parse_defined): New function, break out of
27460169689Skan	cpp_lex.
27461169689Skan	(cpp_lex): We now get CPP_ASSERTION tokens and can check them
27462169689Skan	ourselves, with cpp_defined.
27463169689Skan	* cppinit.c (cpp_handle_option, print_help): Delete -ifoutput.
27464169689Skan
27465169689Skan	* gcc.dg/20000209-2.c: Turn off -pedantic-errors.
27466169689Skan	* gcc.dg/strpaste-2.c: New.
27467169689Skan
27468169689Skan2000-02-29  Mark Mitchell  <mark@codesourcery.com>
27469169689Skan
27470169689Skan	* fold-const.c (size_binop): Don't asert inputs are the same and
27471169689Skan	have TYPE_IS_SIZETYPE set.
27472169689Skan	(size_diffop): Likewise.
27473169689Skan
27474169689Skan2000-02-29  Jason Merrill  <jason@casey.cygnus.com>
27475169689Skan
27476169689Skan	* dwarfout.c (output_block): Output abstract blocks even if they
27477169689Skan	don't have TREE_ASM_WRITTEN set.
27478169689Skan
27479169689Skan	* calls.c (emit_library_call): Check for null REG.
27480169689Skan
27481169689Skan2000-03-01  Martin von Loewis  <loewis@informatik.hu-berlin.de>
27482169689Skan
27483169689Skan	* c-decl.c (current_function_decl): Move to toplev.c.
27484169689Skan	(init_decl_processing): Don't add current_function_decl as a ggc
27485169689Skan	root here.
27486169689Skan	* dbxout.c (dbxout_symbol): Change return type to int.
27487169689Skan	(dbxout_symbol_location, dbxout_syms): Likewise.
27488169689Skan	(dbxout_block): Don't emit LBRAC/RBRAC pairs for blocks without
27489169689Skan	any locals. Use current_function_func_begin_label if set.
27490169689Skan	* dbxout.h (dbxout_symbol, dbxout_syms): Change return type.
27491169689Skan	* dwarf2out.c (dwarf2out_begin_prologue): Set
27492169689Skan	current_function_func_begin_label.
27493169689Skan	* final.c (final_start_function): Reset it.
27494169689Skan	* toplev.c (current_function_decl): Define it here.
27495169689Skan	(current_function_func_begin_label): New variable.
27496169689Skan	(main): Add both as ggc roots.
27497169689Skan	* tree.h (current_function_func_begin_label): Declare.
27498169689Skan
27499169689SkanTue Feb 29 14:07:04 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27500169689Skan
27501169689Skan	* gcse.c: Cleanups throughout: mostly white-space, but also
27502169689Skan	some minor rearrangement of code.
27503169689Skan
27504169689SkanTue Feb 29 10:45:59 2000  Jeffrey A Law  (law@cygnus.com)
27505169689Skan
27506169689Skan	* calls.c (emit_library_call): Do not abort if FUNCTION_ARG
27507169689Skan	returns a PARALLEL.  Use emit_group_load and use_group_regs
27508169689Skan	as needed.
27509169689Skan	(emit_library_call_value): Similarly.
27510169689Skan
27511169689Skan	* pa/t-pa: Use quadlib.c instead of quadlib.asm.
27512169689Skan	* pa/quadlib.asm: Remove.
27513169689Skan	* pa/quadlib.c: New file.
27514169689Skan
27515169689Skan	* configure.in (hpux10, hpux11, PA32 mode): Use i128 float format.
27516169689Skan	* configure: Rebuilt.
27517169689Skan
27518169689Skan2000-02-29  Philip Blundell  <pb@futuretv.com>
27519169689Skan
27520169689Skan	* config/arm/conix-elf.h: New file.
27521169689Skan	* configure.in (arm*-*-conix*): New configuration.
27522169689Skan	* configure: Regenerate.
27523169689Skan
27524169689Skan2000-02-28  Jason Merrill  <jason@casey.cygnus.com>
27525169689Skan
27526169689Skan	* dwarf2out.c (gen_block_die): Output abstract blocks even if they
27527169689Skan	don't have TREE_ASM_WRITTEN set.
27528169689Skan
27529169689SkanMon Feb 28 21:07:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27530169689Skan
27531169689Skan	* Eliminate DECL_FIELD_SIZE.
27532169689Skan	* builtins.c (built_in_class_names, built_in_names): New variables.
27533169689Skan	* c-decl.c (finish_struct): Set specified size in DECL_SIZE.
27534169689Skan	* expr.c (expand_expr, case COMPONENT_REF): Get field size from
27535169689Skan	DECL_SIZE, not DECL_FIELD_SIZE.
27536169689Skan	* print-tree.c (print_node): Remove code that prints extra blank
27537169689Skan	lines in some cases.
27538169689Skan	Properly handle inline and builtin function cases.
27539169689Skan	* stor-layout.c (layout_decl): Get specified size from DEC_SIZE.
27540169689Skan	* tree.h (built_in_class_named, built_in_names): New declarations.
27541169689Skan	(union tree_decl): Rename internal unions to u1 and u2 and change
27542169689Skan	some of their components.
27543169689Skan	Add new field built_in_class.
27544169689Skan	(DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE):
27545169689Skan	Reflect above changes.
27546169689Skan	(DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise.
27547169689Skan	(DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted.
27548169689Skan	* objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE.
27549169689Skan	(encode_field_decl): Likewise; also remove obsolete test for bitfield.
27550169689Skan
27551169689Skan2000-02-28  Dmitri Makarov  <dim@windriver.com>
27552169689Skan
27553169689Skan	* extend.texi: Document ARM's support for long/short calls.
27554169689Skan
27555169689Skan	* invoke.texi: Document ARM's -mlong-calls command line switch.
27556169689Skan
27557169689Skan	* config/arm/arm-protos.h (arm_is_longcall_p): Add prototype.
27558169689Skan	(arm_encode_call_attribute): Add prototype.
27559169689Skan	(arm_set_default_type_attribute): Add prototype.
27560169689Skan	(arm_strip_name_encoding): Add prototype.
27561169689Skan
27562169689Skan	* config/arm/arm.c (arm_init_cumulative_args): replace
27563169689Skan	initialisation og 'long_calls' field with initialisation of
27564169689Skan	'call_cookie' field.
27565169689Skan	(enum arm_pragma_enum): New enum.
27566169689Skan	(arm_pragma_long_calls): New static variable.
27567169689Skan	(arm_process_pragma): Also process "#pragma long_calls_off".
27568169689Skan	(arm_valid_type_attribute_p): Accept short_call attribute.
27569169689Skan	(arm_comp_type_attributes): Check long/short call attributes.
27570169689Skan	(arm_encode_call_attribute):  New function:  Encode long_call
27571169689Skan	or short_call attribute in function name.
27572169689Skan	(arm_set_default_type_attributes): New function: Assign
27573169689Skan	default attributes to newly defined type.
27574169689Skan	(current_file_function_operand): New function: Return true if
27575169689Skan	the symbol is a function which has already been compiled.
27576169689Skan	(arm_is_longcall_p): New function: Return true if the
27577169689Skan	indicated function should be called via a long call.
27578169689Skan	(arm_get_strip_length): New function.  Returns number of
27579169689Skan	prefix characters to be stripped from a function's name.
27580169689Skan	(arm_strip_name_encoding): New function.  Strip prefix characters
27581169689Skan	from a function's name.
27582169689Skan
27583169689Skan	* config/arm/arm.h (CUMULATIVE_ARGS): Replace 'long_call' field
27584169689Skan	with 'call_cookie'.
27585169689Skan	(SHORT_CALL_FAG_CHAR): Define.
27586169689Skan	(LONG_CALL_FAG_CHAR): Define.
27587169689Skan	(ENCODED_SHORT_CALL_ATTR_P): Define.
27588169689Skan	(ENCODED_LONG_CALL_ATTR_P): Define.
27589169689Skan	(ARM_NAME_ENCODING_LENGTHS): Define.
27590169689Skan	(STRIP_NAME_ENCODING): Define.
27591169689Skan	(ASM_OUTPUT_LABELREF): Define, and use to strip name encoding.
27592169689Skan	(ARM_ENCODE_CALL_TYPE): Define.
27593169689Skan	(ENCODE_SECTION): Invoke ARM_ENCODE_CALL_TYPE.
27594169689Skan	(ARM_DECLARE_FUNCTION_SIZE): Define.
27595169689Skan	(SET_DEFAULT_TYPE_ATTRIBUTES): Define.
27596169689Skan
27597169689Skan	* config/arm/arm.md (call): Call arm_is_longcall_p to decide
27598169689Skan	if a long call is needed.
27599169689Skan	(call_value): Ditto.
27600169689Skan	(call_symbol): Ditto.
27601169689Skan
27602169689Skan	* config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Add invocation of
27603169689Skan	ARM_DECLARE_FUNCTION_SIZE.
27604169689Skan
27605169689Skan	* config/arm/pe.h (ARM_PE_FLAG_CHAR): Define.
27606169689Skan	(SUBTARGET_NAME_ENCODING_LENGTHS): Define.
27607169689Skan	(ARM_STRIP_NAME_ENCODING): Undefine.
27608169689Skan	(STRIP_NAME_ENCODING): Undefine.
27609169689Skan	(ASM_OUTPUT_LABELREF): Use arm_strip_name_encoding.
27610169689Skan	(ASM_DECLARE_FUNCTION_NAME): Ditto.
27611169689Skan	(ASM_OUTPUT_COMMON): Ditto.
27612169689Skan	(ASM_DECLARE_OBJECT_NAME): Ditto.
27613169689Skan
27614169689Skan	* config/arm/pe.c (arm_dllexport_name_p): Check for
27615169689Skan	ARM_PE_FLAG_CHAR.
27616169689Skan	(arm_dllimport_name_p): Ditto.
27617169689Skan	(arm_mark_dllexport): Use ARM_PE_FLAG_CHAR.
27618169689Skan	(arm_mark_dllimport): Ditto.
27619169689Skan
27620169689SkanMon Feb 28 22:11:12 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
27621169689Skan
27622169689Skan	* sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Define.
27623169689Skan
27624169689Skan2000-02-28  Mark Mitchell  <mark@codesourcery.com>
27625169689Skan
27626169689Skan	* xcoffout.c (xcoffout_begin_function): Fix typo in previous change.
27627169689Skan
27628169689Skan2000-02-28  Zack Weinberg  <zack@wolery.cumb.org>
27629169689Skan
27630169689Skan	* tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE.
27631169689Skan	* cppinit.c (builtin_array): Define __WCHAR_TYPE__ only if
27632169689Skan	NO_BUILTIN_WCHAR_TYPE is not defined.
27633169689Skan	(CPP_WCHAR_TYPE): Delete.
27634169689Skan	* cccp.c (main): Don't change wchar_type if cplusplus.
27635169689Skan	(special_symbol, initialize_builtins): Honor NO_BUILTIN_WCHAR_TYPE.
27636169689Skan
27637169689Skan2000-02-28  Nick Clifton  <nickc@cygnus.com>
27638169689Skan
27639169689Skan	* config/arm/arm-wince-pe.h (SIZE_TYPE): Define to "unsigned long".
27640169689Skan
27641169689SkanMon Feb 28 14:21:15 2000  Catherine Moore  <clm@cygnus.com>
27642169689Skan
27643169689Skan	* config/pa/som.h (MAKE_DECL_ONE_ONLY): Define.
27644169689Skan	(ASM_WEAKEN_LABEL): Define.
27645169689Skan
27646169689SkanMon Feb 28 13:07:19 MET 2000  Jan Hubicka  <jh@suse.cz>
27647169689Skan
27648169689Skan	* expr.c (store_constructor): Do not emit USE.
27649169689Skan	* rtl.h (stupid_life_analysis): Remove.
27650169689Skan
27651169689SkanMon Feb 28 07:03:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27652169689Skan
27653169689Skan	* function.c (number_blocks): Reset next_block_index based on
27654169689Skan	what debugging format is used, not what is defined.
27655169689Skan
27656169689Skan	* lcm.c: Minor reformatting throughout.
27657169689Skan	(reg_dies, reg_becomes_live): Properly handle multiple hard regs.
27658169689Skan
27659169689Skan	* toplev.c (rest_of_compilation): Account for time in
27660169689Skan	optimize_mode_switching.
27661169689Skan
27662169689Skan	* jump.c (jump_optimize_1): Don't call delete_barrier_successors
27663169689Skan	if only marking labels.
27664169689Skan
27665169689SkanMon Feb 28 12:53:57 MET 2000  Jan Hubicka  <jh@suse.cz>
27666169689Skan
27667169689Skan	* calls.c (expand_call): Attempt to combine stack adjustments with
27668169689Skan	pending stack adjustments.
27669169689Skan
27670169689SkanMon Feb 28 11:34:43 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
27671169689Skan
27672169689Skan	* loop.c (reg_in_basic_block_p): Don't abort when falling through
27673169689Skan	to the end of the function.
27674169689Skan
27675169689Skan2000-02-27  Mark Mitchell  <mark@codesourcery.com>
27676169689Skan
27677169689Skan	* emit-rtl.c (remove_unnecessary_notes): Remove notes for empty
27678169689Skan	blocks.
27679169689Skan	* final.c (next_block_index): Remove.
27680169689Skan	(max_block_depth): Likewise.
27681169689Skan	(pending_blocks): Likewise.
27682169689Skan	(init_final): Don't initialize them.
27683169689Skan	(final_start_function): Don't set next_block_index.  Set up
27684169689Skan	BLOCK_NUMBER.
27685169689Skan	(final_scan_insn): Use BLOCK_NUMBER, not next_block_index.
27686169689Skan	* function.h (number_blocks): New function.
27687169689Skan	* function.c (get_block_vector): New function.
27688169689Skan	(identify_blocks): Use it.
27689169689Skan	(reorder_blocks): Set NOTE_BLOCK.
27690169689Skan	(number_blocks): New function.
27691169689Skan	* tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag.
27692169689Skan	* tree.h (BLOCK_NUMBER): New macro.
27693169689Skan	(tree_block): Add block_num field.
27694169689Skan	* dbxout.c (next_block_number): Remove.
27695169689Skan	(dbxout_init): Don't set it.
27696169689Skan	(dbxout_block): Only output blocks that have TREE_ASM_WRITTEN
27697169689Skan	set.  Use BLOCK_NUMBER, rather than next_block_num, to determine
27698169689Skan	block numbers.
27699169689Skan	* toplev.c (rest_of_compilation): Always call
27700169689Skan	find_loop_tree_blocks.  Fix indentation.
27701169689Skan	* dwarf2out.c (next_block_number): Remove.
27702169689Skan	(gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
27703169689Skan	to determine block numbers.
27704169689Skan	(gen_inlined_subroutine_die): Likewise.
27705169689Skan	(gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set.
27706169689Skan	(decls_for_scope): Don't increment next_block_number.
27707169689Skan	* dwarfout.c (next_block_number): Remove.
27708169689Skan	(output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
27709169689Skan	to determine block numbers.
27710169689Skan	(output_inlined_subroutine_die): Likewise.
27711169689Skan	(output_block): Only output blocks that have TREE_ASM_WRITTEN set.
27712169689Skan	(output_decls_for_scope): Don't increment next_block_number.
27713169689Skan	* sdbout.c (next_block_number): Remove.
27714169689Skan	(sdbout_block): Use BLOCK_NUMBER.
27715169689Skan	(sdbout_begin_block): Simplify.
27716169689Skan	* xcoffout.c (next_block_number): Remove.
27717169689Skan	(xcoffout_block): Use BLOCK_NUMBER, not next_block_number.
27718169689Skan	(xcoffout_begin_block): Don't set next_block_number.
27719169689Skan	(xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not
27720169689Skan	next_block_number.
27721169689Skan
27722169689SkanSun Feb 27 16:40:33 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27723169689Skan
27724169689Skan	* builtins.c (c_strlen): Use size_diffop and return ssizetype value.
27725169689Skan	(expand_builtin_strcpy): Pass correct type to size_binop.
27726169689Skan	(expand_builtin_strcmp): Likewise.
27727169689Skan	Clean up conditional structure.
27728169689Skan	* c-decl.c (init_decl_processing): Don't call set_sizetype twice.
27729169689Skan	(complete_array_type): Don't use size_binop for MAXINDEX.
27730169689Skan	* c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT.
27731169689Skan	(c_sizeof_nowarn, c_size_in_bytes): Likewise.
27732169689Skan	(c_alignof): Use size_one_node.
27733169689Skan	(build_unary_op): Pass arg of proper type to size_binop.
27734169689Skan	(really_start_incremental_init, push_init_level): Use sizetype for
27735169689Skan	constructor{,_bit,_unfilled}_index.
27736169689Skan	(pop_init_label, output_init_element): Likewise.
27737169689Skan	(output_pending_init_elements, process_init_element): Likewise.
27738169689Skan	* calls.c (compute_argument_block_size): Field VAR is ssizetype.
27739169689Skan	* expr.c (store_expr): Use size_int.
27740169689Skan	(store_constructor): Use proper types for size_binop args.
27741169689Skan	(get_inner_reference, expand_expr, case ARRAY_REF): Likewise.
27742169689Skan	(expand_expr_unaligned): Likewise.
27743169689Skan	(string_contant): Return object of sizetype.
27744169689Skan	* expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types.
27745169689Skan	(ARGS_SIZE_RTX): Call ARGS_SIZE_TREE.
27746169689Skan	(ARGS_SIZE_TREE): Pass proper types to size_binop.
27747169689Skan	* fold-const.c (int_const_binop): Refine when size_int is called.
27748169689Skan	(fold_convert): Likewise.
27749169689Skan	(size_int_wide): Rework to take KIND as arg, only take low order
27750169689Skan	bits, handle new sizetype_tab datatype, and chain entries in
27751169689Skan	size_table.
27752169689Skan	(size_int_type_wide): New function.
27753169689Skan	(size_binop): Validate types of arguments.
27754169689Skan	(ssize_binop): Deleted.
27755169689Skan	(size_diffop): New function.
27756169689Skan	(extract_muldiv): Only fold division into multiplication for sizetypes.
27757169689Skan	* function.c (assign_parms): Use size_diffop and make sure
27758169689Skan	VAR field is of ssizetype; also pass proper type to size_binop.
27759169689Skan	(locate_and_pad_parm, pad_to_arg_alignment): Likewise.
27760169689Skan	(round_down): Deleted from here.
27761169689Skan	* store-layout.c (sizetype_tab): Now an array.
27762169689Skan	(sizetype_set, early_root_list): New variables.
27763169689Skan	(variable_size): Use size_one_node.
27764169689Skan	(round_up): Pass proper type to size_binop.
27765169689Skan	(round_down): Moved to here and corrected as above.
27766169689Skan	(layout_record): Pass proper arg types to size_binop.
27767169689Skan	(layout_type): Likewise.
27768169689Skan	If sizetype_set is zero, record the type just laid out.
27769169689Skan	(make_unsigned_type): Don't call set_sizetype;
27770169689Skan	(make_signed_type): Likewise; also, call fixup_signed_type.
27771169689Skan	(initialize_sizetypes): New function.
27772169689Skan	(set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and
27773169689Skan	set name of bitsizetype to "bit_size_type".
27774169689Skan	Fix up type of sizes of all types made before call.
27775169689Skan	* tm.texi (ROUND_TYPE_SIZE_UNIT): New macro.
27776169689Skan	* tree.c (fix_sizetype): Deleted.
27777169689Skan	(build_common_tree_nodes): Call initialize_sizetypes.
27778169689Skan	(build_common_tree_nodes_2): Don't call fix_sizetype.
27779169689Skan	* tree.h (TYPE_IS_SIZETYPE): New macro.
27780169689Skan	(initialize_sizetype): New declaration.
27781169689Skan	(enum size_type_kind): New type.
27782169689Skan	(struct sizetype_tab): Deleted.
27783169689Skan	(sizetype_tab): Now array; adjust sizetype macros.
27784169689Skan	(size_diffop, size_int_type_wide): New functions.
27785169689Skan	(size_int_wide): Change number of args and type; access macros changed.
27786169689Skan	(ssize_int, sbitsize_int): New macros.
27787169689Skan	* config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int.
27788169689Skan	(ROUND_TYPE_SIZE_UNIT): New macro.
27789169689Skan
27790169689Skan2000-02-27  Zack Weinberg  <zack@wolery.cumb.org>
27791169689Skan
27792169689Skan	* c-lex.c (putback_buffer): Make 'buffer' an unsigned char *.
27793169689Skan
27794169689SkanSun Feb 27 07:44:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27795169689Skan
27796169689Skan	* gcov-io.h (__fetch_long, __store_long, __read_long, __write_long):
27797169689Skan	Mark as possibly unused.
27798169689Skan
27799169689Skan	* cse.c (cse_insn): Delete dead code involving tablejump.
27800169689Skan	Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE.
27801169689Skan
27802169689Skan	* Makefile.in (libcpp.a): Start by deleting it.
27803169689Skan
27804169689Skan2000-02-27  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
27805169689Skan
27806169689Skan	* cpplib.h (enum file_change_code): Added rename_file.
27807169689Skan	* cpplib.c (do_line): If a filename is given, set file_change to
27808169689Skan	rename_file.
27809169689Skan	(output_line_command): If file_change is rename_file, always
27810169689Skan	output a # directive with the file name.
27811169689Skan
27812169689Skan	* cpplib.c (do_pragma): Accept #pragma without consecutive token.
27813169689Skan
27814169689Skan2000-02-26  Mark Mitchell  <mark@codesourcery.com>
27815169689Skan
27816169689Skan	* integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE
27817169689Skan	when copying a PARM_DECL or RESULT_DECL.
27818169689Skan
27819169689Skan2000-02-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
27820169689Skan
27821169689Skan	* fix-header.c (recognized_function): Also fix prototypes for
27822169689Skan	functions taking "void".
27823169689Skan
27824169689Skan2000-02-26  Geoff Keating  <geoffk@cygnus.com>
27825169689Skan
27826169689Skan	* reload1.c (do_output_reload): Check reg_reloaded_valid before
27827169689Skan	looking at reg_reloaded_contents.
27828169689Skan
27829169689Skan2000-02-26  Zack Weinberg  <zack@wolery.cumb.org>
27830169689Skan
27831169689Skan	* Makefile.in (STMP_FIXINC): New toggle.
27832169689Skan	(LIBGCC2_DEPS): Delete all references.
27833169689Skan	(stmp-headers): Delete target.  All references either deleted
27834169689Skan	or changed to stmp-int-headers.
27835169689Skan	(all.cross): Don't depend on stmp-headers or STMP_FIXPROTO.
27836169689Skan	(LIBCPP_OBJS): Take out cppalloc.o.
27837169689Skan	(cppalloc.o): Delete target.
27838169689Skan	(stmp-int-hdrs): Depend on $(STMP_FIXINC).
27839169689Skan	(gen-protos, fix-header): Link with libiberty.a.
27840169689Skan	* build-make: Don't change FIXINCLUDES.  Override STMP_FIXINC
27841169689Skan	to empty.
27842169689Skan
27843169689Skan	* configure.in: Remove refs to strerror.
27844169689Skan	* acconfig.h: Take out NEED_DECLARATION_STRERROR.
27845169689Skan	* system.h: Take out strerror stanza.
27846169689Skan
27847169689Skan	* cpperror.c (my_strerror): Delete function.
27848169689Skan	(cpp_error_from_errno, cpp_notice_from_errno): Use xstrerror.
27849169689Skan	* cppmain.c (main): Call xmalloc_set_program_name first thing.
27850169689Skan	* cppalloc.c: Delete file.
27851169689Skan	* gen-protos.c: Don't provide xrealloc.
27852169689Skan
27853169689Skan	* fixinc/fixincl.c, fixinc/fixlib.c, fixinc/procopen.c: Use
27854169689Skan	xstrerror throughout.
27855169689Skan
27856169689Skan2000-02-26  Bruce Korb  <bkorb@gnu.org>
27857169689Skan
27858169689Skan	* fixinc/inclhack.def (undefine_null): the bypass pattern needs to
27859169689Skan	match for DOS headers, too.
27860169689Skan	* fixinc/inclhack.sh,fixincl.x: Regenerate.
27861169689Skan
27862169689Skan2000-02-26  Geoff Keating  <geoffk@cygnus.com>
27863169689Skan
27864169689Skan	* config/elfos.h (ASM_OUTPUT_LABELREF): Don't define.  The default
27865169689Skan	is right for most ELF targets.
27866169689Skan	* config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define.
27867169689Skan	Let the default file use %U properly.
27868169689Skan	* config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define.  Use the
27869169689Skan	default.
27870169689Skan
27871169689Skan	* config/fp-bit.c (pack_d): Properly handle rounding of denormal
27872169689Skan	numbers.
27873169689Skan
27874169689SkanSat Feb 26 09:39:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
27875169689Skan
27876169689Skan	* toplev.c (documented_lang_options): Correct spelling error.
27877169689Skan	(decode_d_option, decode_f_option, main): Likewise.
27878169689Skan
27879169689Skan	* toplev.c (print_time): Avoid SIGFPE when all_time is zero.
27880169689Skan
27881169689Skan	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Use .set at
27882169689Skan	to tell assembler it is permitted to expand large constants.
27883169689Skan
27884169689Skan2000-02-25  Mumit Khan  <khan@xraylith.wisc.edu>
27885169689Skan
27886169689Skan	* protoize.c: (AUX_INFO_SUFFIX): New macro.
27887169689Skan	(aux_info_suffix): Use.
27888169689Skan	(SAVE_SUFFIX): New macro.
27889169689Skan	(save_suffix): Use.
27890169689Skan	(munge_compile_parms): Fix typo in NUL. DJGPP supports /dev/null.
27891169689Skan	(gen_aux_info_file): Use aux_info_suffix instead of ".X".
27892169689Skan	(edit_file): Handle 8.3 restriction for DOS/DJGPP filenames.
27893169689Skan
27894169689Skan	* invoke.texi (Running Protoize): Update documentation.
27895169689Skan
27896169689Skan2000-02-25 Mark Elbrecht <snowball3@bigfoot.com>
27897169689Skan
27898169689Skan	* i386/djgpp.h (CPP_PREDEFINES): Remove Unix defines.
27899169689Skan
27900169689Skan2000-02-25  John Wehle  (john@feith.com)
27901169689Skan
27902169689Skan	* rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
27903169689Skan
27904169689Skan2000-02-25  Anthony Green  <green@cygnus.com>
27905169689Skan
27906169689Skan	* toplev.c (rest_of_compilation): Rebuild jump labels if
27907169689Skan	combine_instructions has created a new direct jump.
27908169689Skan	* combine.c (try_combine): Add new_direct_jump_p argument.  Set it
27909169689Skan	when appropriate.
27910169689Skan	(combine_instructions): Call try_combine with new argument.
27911169689Skan	Return non-null value when new direct jump instruction is created.
27912169689Skan	* rtl.h: combine_instructions returns an int.
27913169689Skan
27914169689SkanFri Feb 25 19:49:08 2000  Jeffrey A Law  (law@cygnus.com)
27915169689Skan
27916169689Skan	* cse.c (cse_insn): Replace the PATTERN of the insn with an new
27917169689Skan	jump when changing a computed jump into a jump to a known
27918169689Skan	target.
27919169689Skan
27920169689SkanFri Feb 25 19:22:44 2000  Graham Stott <grahams@rcp.co.uk>
27921169689Skan
27922169689Skan	* resource.c (mark_referenced_resources): Changed use SET_DEST (...)
27923169689Skan	to XEXP (..., 0) on RTL nodes which are not SET or CLOBBER.
27924169689Skan
27925169689Skan	* i386.md (define_expand "clrstrsi"): Fix typo.
27926169689Skan
27927169689SkanFri Feb 25 18:49:39 2000  "K. Richard Pixley" <rich@microunity.com>
27928169689Skan
27929169689Skan	* rtl.texi: Fix typo.
27930169689Skan
27931169689SkanFri Feb 25 20:02:35 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
27932169689Skan
27933169689Skan	* sh.c (calc_live_regs): Multiply value assigned to *COUNT_PTR by
27934169689Skan	UNITS_PER_WORD.  Change caller initial_elimination_offset.
27935169689Skan	(rounded_frame_size): Take into account that argument pushed has
27936169689Skan	changed.  Fix TARGET_ALIGN_DOUBLE problem.
27937169689Skan
27938169689Skan2000-02-25  Geoff Keating  <geoffk@cygnus.com>
27939169689Skan
27940169689Skan	* haifa-sched.c (schedule_block): Explain the real reason
27941169689Skan	we delete REG_SAVE_NOTEs on the first insn of a block.
27942169689Skan	Don't delete REG_SAVE_NOTES for NOTE_INSN_SETJMP.
27943169689Skan
27944169689Skan2000-02-24  Mark Mitchell  <mark@codesourcery.com>
27945169689Skan
27946169689Skan	* input.h (push_srcloc): New function.
27947169689Skan	(pop_srcloc): Likewise.
27948169689Skan	* toplev.c (push_srcloc): Define it.
27949169689Skan	(pop_srcloc): Likewise.
27950169689Skan
27951169689Skan2000-02-24  Richard Henderson  <rth@cygnus.com>
27952169689Skan
27953169689Skan	* flow.c (life_analysis): When collecting reg info, clear
27954169689Skan	regs_ever_live.
27955169689Skan
27956169689SkanThu Feb 24 22:06:52 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
27957169689Skan
27958169689Skan	Fix bug exposed by reload.c no longer rounding the frame
27959169689Skan	size to BIGGEST_ALIGNMENT:
27960169689Skan	* sh.c (rounded_frame_size): New function.
27961169689Skan	(sh_expand_prologue, sh_expand_epilogue): Use it.
27962169689Skan	(initial_elimination_offset): Likewise.
27963169689Skan
27964169689SkanThu Feb 24 20:04:11 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
27965169689Skan
27966169689Skan	Fix breakage from 6th Feb thread_prologue_and_epilogue_insns change:
27967169689Skan	* sh-protos.h (sh_need_epilogue): Declare.
27968169689Skan	* sh.c (sh_need_epilogue_known): New static variable.
27969169689Skan	(sh_need_epilogue): New function.
27970169689Skan	(function_epilogue): Clear need_epilogue_known.
27971169689Skan	* sh.md (return): Split into expander / insn pattern.
27972169689Skan	Make the expander conditional on ! sh_need_epilogue ().
27973169689Skan
27974169689Skan2000-02-24  Nathan Sidwell  <nathan@codesourcery.com>
27975169689Skan
27976169689Skan	* machmode.h (get_mode_alignment): Declare.
27977169689Skan	(GET_MODE_ALIGNMENT): Call it.
27978169689Skan	* stor-layout.c (get_mode_alignment): New function. Make
27979169689Skan	sure alignment is always power of 2.
27980169689Skan
27981169689Skan2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
27982169689Skan
27983169689Skan	* i386.h: Remove useless definition of "I386" and misleading
27984169689Skan	comment above it.
27985169689Skan
27986169689Skan2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
27987169689Skan
27988169689Skan	* tree.h (TREE_SET_PERMANENT): New macro.  Document conditions
27989169689Skan	under which TREE_PERMANENT will be set.
27990169689Skan	* tree.c (make_node, copy_node, make_tree_vec, tree_cons,
27991169689Skan	build1): Use TREE_SET_PERMANENT.
27992169689Skan	* print-tree.c (print_node): Don't report value of
27993169689Skan	TREE_PERMANENT if ggc_p is true.
27994169689Skan
27995169689Skan	* c-common.c (c_get_alias_set): Don't use TREE_PERMANENT to
27996169689Skan	decide whether to give a type a new alias set.
27997169689Skan	* objc/objc-act.c (build_objc_string_object): Never copy the string.
27998169689Skan	* tree.c (make_node): Set DECL_IN_SYSTEM_HEADER irrespective
27999169689Skan	of value of 'obstack'.
28000169689Skan
28001169689Skan
28002169689Skan2000-02-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
28003169689Skan
28004169689Skan	* config/c4x/c4x.c (c4x_process_after_reload): Split all insns.
28005169689Skan
28006169689Skan2000-02-23  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
28007169689Skan
28008169689Skan	* cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING.
28009169689Skan	* cpplib.c (cpp_get_token): Produce them.
28010169689Skan	* cppexp.c (cpp_lex): Handle them.
28011169689Skan
28012169689Skan2000-02-23  Nick Clifton  <nickc@cygnus.com>
28013169689Skan
28014169689Skan	* config/arm/arm.c (arm_comp_type_attributes): Simply and
28015169689Skan	comment tests on type attributes.
28016169689Skan
28017169689SkanWed Feb 23 16:42:21 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
28018169689Skan
28019169689Skan	* final.c (shorten_branches): Make value passed to LOOP_ALIGN
28020169689Skan	conform to documentation.
28021169689Skan	* sh.h (LOOP_ALIGN): If aligning loops, call sh_loop_align
28022169689Skan	to check for special cases.
28023169689Skan	* sh-protos.h (sh_loop_align): Declare.
28024169689Skan	* sh.c (sh_loop_align): Define.
28025169689Skan
28026169689Skan2000-02-22  Andrew Haley  <aph@cygnus.com>
28027169689Skan
28028169689Skan	* config/mips/mips.h (GAS_ASM_SPEC): Pass -mgp32/-mgp64 to gas.
28029169689Skan	(SIZE_TYPE): Is 32 bits when using -mgp32.
28030169689Skan	(PTRDIFF_TYPE): Ditto.
28031169689Skan
28032169689SkanWed Feb 23 07:26:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
28033169689Skan
28034169689Skan	* diagnostic.c (init_output_buffer): Handle case of null PREFIX.
28035169689Skan
28036169689Skan2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
28037169689Skan
28038169689Skan	* config/i386/i386.h: If IN_TARGET_LIBS is defined, make
28039169689Skan	BIGGEST_FIELD_ALIGNMENT a constant.
28040169689Skan
28041169689Skan2000-02-21  Jason Merrill  <jason@casey.cygnus.com>
28042169689Skan
28043169689Skan	* dwarf2out.c (output_line_info): Put the marker for the end of
28044169689Skan	the line number info at the actual end.
28045169689Skan	(gen_struct_or_union_type_die): Use decl_function_context
28046169689Skan	to check for local classes.
28047169689Skan	* dwarfout.c (output_type): Likewise.
28048169689Skan
28049169689SkanTue Feb 22 01:38:57 2000  Jeffrey A Law  (law@cygnus.com)
28050169689Skan
28051169689Skan	* pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Handle pass-by-reference
28052169689Skan	for arguments with a mode, but no type.
28053169689Skan	(FUNCTION_ARG_CALLEE_COPIES): Similarly.
28054169689Skan	* t-pa (LIB2FUNCS_EXTRA): Add quadlib.asm.
28055169689Skan	* pa/long_double.h: New file.
28056169689Skan	* configure.in (hpux10, hpux11 configurations): hpux10 and hpux11
28057169689Skan	both have 128bit wide long doubles.
28058169689Skan	* configure: Rebuilt.
28059169689Skan
28060169689Skan2000-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
28061169689Skan
28062169689Skan	* defaults.h (ASM_OUTPUT_ASCII): Constify a char*.
28063169689Skan
28064169689Skan	* flow.c (get_common_dest, chain_reorder_blocks, make_reorder_chain,
28065169689Skan	fixup_reorder_chain, skip_insns_between_block): Add static prototypes.
28066169689Skan	(life_analysis): Wrap variable `i' with macro ELIMINABLE_REGS.
28067169689Skan
28068169689Skan	* haifa-sched.c (rank_for_schedule): Don't cast away const-ness.
28069169689Skan
28070169689Skan	* integrate.c (compare_blocks, find_block): Likewise.
28071169689Skan
28072169689Skan	* rtl.c (fatal_with_file_and_line): Add ATTRIBUTE_PRINTF_2.
28073169689Skan
28074169689Skan	* rtl.h (set_file_and_line_for_stmt): Constify a char*.
28075169689Skan
28076169689Skan	* stmt.c (stmt_status, set_file_and_line_for_stmt,
28077169689Skan	expand_asm_operands): Likewise.
28078169689Skan
28079169689SkanMon Feb 21 17:06:27 2000  Jason Eckhardt  <jle@cygnus.com>
28080169689Skan
28081169689Skan	* predict.c (estimate_probability): Added the pointer heuristic to
28082169689Skan	the collection of static branch predictors.
28083169689Skan
28084169689Skan2000-02-21  Catherine Moore  <clm@cygnus.com>
28085169689Skan
28086169689Skan	* config/mips/mips.h (ASM_SPEC): Add -mfix700.
28087169689Skan	* invoke.texi (-mfix7000): Document.
28088169689Skan
28089169689Skan2000-02-21  Gabriel Dos Reis  <gdr@codesourcery.com>
28090169689Skan
28091169689Skan	* diagnostic.c (init_output_buffer): Make it possible to output at
28092169689Skan	least 32 characters if we're given a too long prefix.
28093169689Skan
28094169689Skan2000-02-20  Mark Mitchell  <mark@codesourcery.com>
28095169689Skan
28096169689Skan	* varasm.c (initializer_constant_valid_p): Call
28097169689Skan	lang_expand_constant to	simplify the constant.
28098169689Skan
28099169689Skan2000-02-20  Bruce Korb  <bkorb@gnu.org>
28100169689Skan
28101169689Skan	* fixinc/inclhack.def(stdio_va_list):
28102169689Skan	typedef needs to be disabled.
28103169689Skan	* fixinc/inclhack.sh: regen
28104169689Skan	* fixinc/fixincl.x: regen
28105169689Skan
28106169689Skan2000-02-20  Geoff Keating  <geoffk@cygnus.com>
28107169689Skan
28108169689Skan	* print-rtl.c (print_rtx): Don't print addresses when
28109169689Skan	flag_dump_unnumbered.
28110169689Skan
28111169689Skan2000-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
28112169689Skan
28113169689Skan	* sparc.c (sparc_output_scratch_registers): Mark parameter with
28114169689Skan	ATTRIBUTE_UNUSED.
28115169689Skan	(sparc_va_arg, sparc_flat_output_function_prologue,
28116169689Skan	sparc_flat_output_function_epilogue): Cast value to unsigned in
28117169689Skan	comparison.
28118169689Skan	(sparc_emit_float_lib_cmp): Remove unused variable `cmp'.
28119169689Skan
28120169689Skan	* sparc.md: Add default case in switch.
28121169689Skan
28122169689Skan2000-02-19  Richard Henderson  <rth@cygnus.com>
28123169689Skan
28124169689Skan	* c-typeck.c (add_pending_init): Don't abort for multiple
28125169689Skan	fields at the same offset.
28126169689Skan	(pending_init_member): Test the correct member.
28127169689Skan
28128169689Skan2000-02-19  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
28129169689Skan
28130169689Skan	* except.c (start_dynamic_handler) : Use TYPE_MODE (integer_type_node)
28131169689Skan	instead of SImode.
28132169689Skan	(start_catch_handler) : Same.
28133169689Skan
28134169689Skan2000-02-19  Brad Lucier  (lucier@math.purdue.edu)
28135169689Skan
28136169689Skan	* Makefile.in: Have flow.o depend on $(EXPR_H)
28137169689Skan
28138169689SkanSat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
28139169689Skan
28140169689Skan	* c-common.c (decl_attributes): Set DECL_SIZE_UNIT.
28141169689Skan	* c-decl.c (duplicate_decls, finish_enum): Likewise.
28142169689Skan	(finish_decl): Remove -Wlarger-than code from here.
28143169689Skan	* flags.h (id_clash_len): Now int.
28144169689Skan	(larger_than_size): Now HOST_WIDE_INT.
28145169689Skan	* fold-const.c (size_int_wide): No more HIGH parm; NUMBER is signed.
28146169689Skan	Clean up checking to see if in table.
28147169689Skan	(make_bit_field_ref): Remove extra parm to bitsize_int.
28148169689Skan	* ggc-common.c (ggc_mark_tree_children): Mark DECL_SIZE_UNIT.
28149169689Skan	* print-tree.c (print_node): Print DECL_SIZE_UNIT and TYPE_SIZE_UNIT.
28150169689Skan	* stmt.c (expand_decl): Use DECL_SIZE_UNIT for stack checking size
28151169689Skan	and for computing size of decl.
28152169689Skan	* stor-layout.c (layout_decl): Set DECL_SIZE_UNIT.
28153169689Skan	Move -Wlarger-than code to here.
28154169689Skan	(layout_record): Remove extra arg to bitsize_int.
28155169689Skan	Set TYPE_BINFO_SIZE_UNIT.
28156169689Skan	(layout_union): Remove extra arg to bitsize_int.
28157169689Skan	Use proper type for size of QUAL_UNION.
28158169689Skan	(layout_type): Remove extra arg to bitsize_int.
28159169689Skan	* toplev.c (id_clash_len): Now int.
28160169689Skan	(larger_than_size): Now HOST_WIDE_INT.
28161169689Skan	(decode_W_option): Clean up id-clash and larger-than- cases.
28162169689Skan	* tree.c (get_identifier, maybe_get_identifier): Remove unneeded casts.
28163169689Skan	(expr_align, case FUNCTION_DECL): DECL_ALIGN is not defined.
28164169689Skan	* tree.h (BINFO_SIZE_UNIT, TYPE_BINFO_SIZE_UNIT, DECL_SIZE_UNIT): New.
28165169689Skan	(struct tree_decl): New field size_unit.
28166169689Skan	(size_int_wide): No HIGH operand; NUMBER is now signed.
28167169689Skan	(size_int_2): Deleted.
28168169689Skan	(size_int, bitsize_int): Don't use it and rework args.
28169169689Skan	* varasm.c (assemble_variable, output_constructor): Use DECL_SIZE_UNIT.
28170169689Skan
28171169689SkanFri Feb 18 20:01:58 2000  Jeffrey A Law  (law@cygnus.com)
28172169689Skan
28173169689Skan	* pa/quadlib.asm (_U_QFgt, _U_Qfge): Fix flags for _U_Qfcmp call.
28174169689Skan
28175169689Skan2000-02-18  Geoff Keating  <geoffk@cygnus.com>
28176169689Skan
28177169689Skan	* invoke.texi (Warning Options): Add an explanation of why
28178169689Skan	you might want the -Wfloat-equal flag.
28179169689Skan
28180169689SkanFri Feb 18 20:08:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
28181169689Skan
28182169689Skan	* bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned.
28183169689Skan	* cppinit.c (new_pending_define): Add cast to avoid warning.
28184169689Skan	* expmed.c (extract_bit_field): Likewise.
28185169689Skan	* flow.c (enum reorder_skip_type): New type.
28186169689Skan	(skip_insns_between_blcok): New it.
28187169689Skan	Rework to avoid warning about possibly undefined variable.
28188169689Skan	* function.c (assign_parms): Make thisparm_boundary unsigned.
28189169689Skan	* genrecog.c (write_switch): Cast XWINT result to int.
28190169689Skan	* lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING.
28191169689Skan	* mips-tfile.c (init_file): Make two versions of FDR initializer:
28192169689Skan	one for MIPS and one for Alpha.
28193169689Skan	(get_tag, copy_object): Add casts to avoid warnings.
28194169689Skan	* optabs.c (init_one_libfunc): Cast NAME to (char *).
28195169689Skan	* reload.c (find_reloads): Make TYPE enum reload_type.
28196169689Skan	* sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L".
28197169689Skan	* unroll.c (unroll_loop): Initialize UNROLL_NUMBER.
28198169689Skan	* varasm.c (compare_constant_1): Add cast to avoid warning.
28199169689Skan	* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC
28200169689Skan	to (char *).
28201169689Skan	(alpha_expand_unaligned_load, alpha_expand_unaligned_store):
28202169689Skan	Cast switch operand of size to int.
28203169689Skan	(alpha_expand_epilogue): Always initialize fp_offset and sa_reg.
28204169689Skan	* config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort
28205169689Skan	in unhandled case.
28206169689Skan
28207169689Skan2000-02-18  Nick Clifton  <nickc@cygnus.com>
28208169689Skan
28209169689Skan	* config/arm/elf.h (ASM_OUTPUT_ALIGN): Do not generate
28210169689Skan	anything for an alignment of zero.
28211169689Skan
28212169689Skan	* config/arm/thumb.h (ASM_OUTPUT_ALIGN): Do not generate
28213169689Skan	anything for an alignment of zero.
28214169689Skan
28215169689Skan2000-02-18  Martin von Loewis  <loewis@informatik.hu-berlin.de>
28216169689Skan
28217169689Skan	* gcc.texi (Bug Reporting): Refer to bugs.html.
28218169689Skan	(Bug Lists): Likewise.
28219169689Skan	* system.h (GCCBUGURL): New preprocessor define.
28220169689Skan	* rtl.c (fancy_abort): Use it.
28221169689Skan	* gcc.c (main): Likewise.
28222169689Skan
28223169689Skan2000-02-18  Richard Henderson  <rth@cygnus.com>
28224169689Skan
28225169689Skan	* flow.c (INSN_VOLATILE, SET_INSN_VOLATILE, uid_volatile): Remove.
28226169689Skan	(life_analysis_1): Subsume into ...
28227169689Skan	(life_analysis): ... here.  Force PROP_REG_INFO off after reload.
28228169689Skan	Use update_life_info for the relaxation.
28229169689Skan	(update_life_info): Update REG_BASIC_BLOCK for registers live on
28230169689Skan	entry and regs_live_at_setjmp.
28231169689Skan	(set_noop_p): Simplify.
28232169689Skan	(notice_stack_pointer_modification_1): Renamed from s/_1//.
28233169689Skan	(record_volatile_insns): Split into ...
28234169689Skan	(delete_noop_moves): ... here,
28235169689Skan	(notice_stack_pointer_modification): ... here,
28236169689Skan	(insn_dead_p): ... and here.
28237169689Skan	(propagate_block): Don't query INSN_VOLATILE.
28238169689Skan	(mark_used_regs): Mind !PROP_REG_INFO.
28239169689Skan	* toplev.c (rest_of_compilation): Call mark_constant_function here,
28240169689Skan	not in life_analysis.
28241169689Skan
28242169689SkanFri Feb 18 01:29:22 EST 2000  John Wehle  (john@feith.com)
28243169689Skan
28244169689Skan	* loop.c (canonicalize_condition): New function,
28245169689Skan	broken out of get_condition.
28246169689Skan	(get_condition): Use it.
28247169689Skan	* expr.h (canonicalize_condition): Prototype it.
28248169689Skan
28249169689Skan	* tree.h (tree_int_cst_msb): Declare.
28250169689Skan	* tree.c (tree_int_cst_msb): New function.
28251169689Skan
28252169689Skan2000-02-17  Mark Mitchell  <mark@codesourcery.com>
28253169689Skan
28254169689Skan	* stmt.c (set_file_and_line_for_stmt): Don't crash if cfun->stmt
28255169689Skan	isn't set.
28256169689Skan
28257169689Skan	* invoke.texi (-fmessage-length=n): Document.
28258169689Skan
28259169689Skan2000-02-17  Jason Merrill  <jason@casey.cygnus.com>
28260169689Skan
28261169689Skan	* bitmap.c (bitmap_operation): Don't leak bitmap elements.
28262169689Skan
28263169689Skan2000-02-17  Mark Mitchell  <mark@codesourcery.com>
28264169689Skan
28265169689Skan	* function.c (thread_prologue_and_epilogue_insns): Put a line note
28266169689Skan	after the prologue.
28267169689Skan
28268169689Skan2000-02-17  Nick Clifton  <nickc@cygnus.com>
28269169689Skan
28270169689Skan	* config/arm/thumb.c: Replace includes of system headers with
28271169689Skan	#include "system.h".
28272169689Skan
28273169689Skan2000-02-16  Richard Henderson  <rth@cygnus.com>
28274169689Skan
28275169689Skan	* configure.in (alpha-linux*, alpha-netbsd) [extra_parts]:
28276169689Skan	Add crtbeginS.o and crtendS.o.
28277169689Skan	* alpha/elf.h (STARTFILE_SPEC): Use crtbeginS.o.
28278169689Skan	(ENDFILE_SPEC): Use crtendS.o.
28279169689Skan	* alpha/t-crtbe (crtbeginS.o, crtendS.o): New targets.
28280169689Skan
28281169689Skan	* alpha/crtbegin.asm (__do_frame_takedown): Merge into ...
28282169689Skan	(__do_global_dtors_aux): ... here.  Call __cxa_finalize if
28283169689Skan	shared and present.
28284169689Skan	(__dso_handle): New variable.
28285169689Skan	* alpha/crtend.asm (__do_global_ctors_aux): Remove runtime
28286169689Skan	bias to __CTOR_END__.
28287169689Skan
28288169689Skan2000-02-16  Richard Henderson  <rth@cygnus.com>
28289169689Skan
28290169689Skan	* Makefile.in (s-crtS, crtbeginS, crtendS): Prefix usage with $(T).
28291169689Skan
28292169689SkanWed Feb 16 21:40:04 2000  Hans-Peter Nilsson  <hp@bitrange.com>
28293169689Skan
28294169689Skan	* longlong.h (__clz_tab): Declare as static to match definition.
28295169689Skan
28296169689Skan2000-02-16 Mark Elbrecht <snowball3@bigfoot.com>
28297169689Skan
28298169689Skan	* i386/xm-djgpp.h (LIBSTDCXX): Delete. Moved to config/i386/djgpp.h.
28299169689Skan	(XREF_FILE_NAME): Define.
28300169689Skan
28301169689Skan	* i386/djgpp.h (DATA_SECTION_ASM_OP): Define.
28302169689Skan	(EH_FRAME_SECTION_ASM_OP): Define.
28303169689Skan	(IDENT_ASM_OP): Define.
28304169689Skan	(TEXT_SECTION_ASM_OP): Define.
28305169689Skan	(CPP_SPEC): Define.
28306169689Skan	(CTORS_SECTION_ASM_OP): Define.
28307169689Skan	(CTOR_SECTION_FUNCTION): Use it.
28308169689Skan	(DTORS_SECTION_ASM_OP): Define.
28309169689Skan	(DTOR_SECTION_FUNCTION): Use it.
28310169689Skan
28311169689Skan2000-02-16  Zack Weinberg  <zack@wolery.cumb.org>
28312169689Skan
28313169689Skan	* reg-stack.c (emit_swap_insn): Do not put a new insn before a
28314169689Skan	NOTE_BASIC_BLOCK.
28315169689Skan
28316169689Skan	* flow.c (dump_regset, debug_regset, dump_bb, debug_bb,
28317169689Skan	debug_bb_n): New functions.
28318169689Skan	(dump_flow_info, print_rtl_with_bb): Use dump_regset.
28319169689Skan	* basic-block.h: Prototype new functions.
28320169689Skan
28321169689SkanWed Feb 16 21:07:53 2000  Denis Chertykov  <denisc@overta.ru>
28322169689Skan
28323169689Skan	* configure.in: Add support for avr target.
28324169689Skan	* configure: Rebuilt.
28325169689Skan
28326169689Skan	* invoke.texi: Add AVR invocation docs.
28327169689Skan	* install.texi: Add information about AVR.
28328169689Skan	* md.texi: Add AVR constraint letters description.
28329169689Skan	* extend.texi: Add description for AVR specific attributes.
28330169689Skan
28331169689Skan2000-02-16  Jason Merrill  <jason@casey.cygnus.com>
28332169689Skan
28333169689Skan	* fixinc/fixinc.svr4: Wrap byteorder.h with extern "C".
28334169689Skan
28335169689Skan2000-02-16  Nick Clifton  <nickc@cygnus.com>
28336169689Skan
28337169689Skan	* emit-rtl.c (emit_insn): Move RTL check into make_insn_raw.
28338169689Skan	(make_insn_raw): Move RTL check here.
28339169689Skan
28340169689Skan2000-02-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
28341169689Skan
28342169689Skan	* version.c: Include gansidecl.h and version.h.
28343169689Skan
28344169689Skan	* version.h: Wrap entire file in macro __GCC_VERSION_H__.
28345169689Skan
28346169689Skan	* configure.in (gcc_version): When setting, narrow search to
28347169689Skan	lines containing `version_string'.
28348169689Skan
28349169689Skan	* Makefile.in (mainversion): Likewise.
28350169689Skan	(GCC_H): New variable.
28351169689Skan	(gcc.h): Delete target.
28352169689Skan	(gcc.o, gccspec.o, cppspec.o): Depend on $(GCC_H), not gcc.h.
28353169689Skan	(version.o): Depend on version.h.
28354169689Skan	(dbxout.o): Don't depend on gcc.h.
28355169689Skan
28356169689SkanWed Feb 16 15:04:49 2000  Hans-Peter Nilsson  <hp@bitrange.com>
28357169689Skan			  Michael Meissner  <meissner@cygnus.com>
28358169689Skan
28359169689Skan	* md.texi (Simple Constraints): Add item about whitespace.
28360169689Skan	* genoutput.c (strip_whitespace): New.
28361169689Skan	(scan_operands) [MATCH_OPERAND, MATCH_SCRATCH]: Call
28362169689Skan	strip_whitespace for constraints.
28363169689Skan	Test pointer using NULL, not 0.
28364169689Skan
28365169689Skan2000-02-16  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
28366169689Skan
28367169689Skan	* cpplib.c (do_line): Pedwarn for #line > 32767.
28368169689Skan
28369169689Skan	* c-lex.c (readescape): Warn about '\x', but do not reject it.
28370169689Skan
28371169689Skan2000-02-15  Jonathan Larmour  <jlarmour@redhat.co.uk>
28372169689Skan
28373169689Skan	* gcc.c (default_compilers): Add new __GNUC_PATCHLEVEL__ define
28374169689Skan	to default cpp spec.
28375169689Skan	(do_spec_1): Add support for %v3 spec used by __GNUC_PATCHLEVEL__.
28376169689Skan	* cpp.texi: Document __GNUC_PATCHLEVEL__.
28377169689Skan	* cpp.1: Likewise.
28378169689Skan
28379169689Skan	* objc/lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to
28380169689Skan	default spec.
28381169689Skan
28382169689Skan2000-02-15  Denis Chertykov  <denisc@overta.ru>
28383169689Skan
28384169689Skan	* configure.in: Add support for avr target.
28385169689Skan
28386169689SkanWed Feb 16 03:21:43 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
28387169689Skan
28388169689Skan	* sh.h (OVERRIDE_OPTIONS): Don't set sh_addr_diff_vec_mode.
28389169689Skan	(sh_addr_diff_vec_mode): Don't declare.
28390169689Skan	* sh.c (sh_addr_diff_vec_mode): Delete.
28391169689Skan
28392169689SkanWed Feb 16 01:27:52 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
28393169689Skan
28394169689Skan	* sh.md (mulsi3_highpart): Add REG_EQUAL note to last insn.
28395169689Skan
28396169689SkanWed Feb 16 00:58:06 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
28397169689Skan
28398169689Skan	* sh.md (udivsi3_i1, divsi3_i1, umulhisi3_i, mulhisi3_i): Name.
28399169689Skan	(smulsi3_highpart_i): Name.
28400169689Skan	(udivsi3): Wrap emitted insns in REG_LIBCALL / REG_RETVAL notes.
28401169689Skan	(divsi3, mulhisi3, umulhisi3, mulsidi3, umulsidi3): Likewise.
28402169689Skan	(smulsi3_highpart, umulsi3_highpart): Likewise.
28403169689Skan
28404169689Skan	(mulsidi3_i, umulsidi3_i): Make rtl describe operation
28405169689Skan	correctly independent of endianness.
28406169689Skan	(mulsidi3, umulsidi3): Now define_insn.  Hide details that
28407169689Skan	confuse the optimizers.
28408169689Skan	(mulsidi3+1, umulsidi3+1): New define_split.
28409169689Skan
28410169689SkanTue Feb 15 23:22:26 2000  Andrew Haley  <aph@cygnus.com>
28411169689Skan
28412169689Skan	* config/sh/sh.md: Guard insn splits against illegal registers.
28413169689Skan	* config/sh/sh.h: Correct comment about macros.
28414169689Skan
28415169689SkanTue Feb 15 22:30:36 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
28416169689Skan			  Andrew MacLeod  <amacleod@cygnus.com>
28417169689Skan
28418169689Skan	* Makefile.in (lcm.o): Depend on insn-attr.h.
28419169689Skan	* basic-block.h (optimize_mode_switching): Declare.
28420169689Skan	* lcm.c (tm_p.h, insn-attr.h): #include.
28421169689Skan	(seginfo, bb_info): New structs.
28422169689Skan	(antic, transp, comp, delete, insert) : New file-scope static variables.
28423169689Skan	(new_seginfo, add_seginfo, make_preds_opaque, reg_dies): New functions.
28424169689Skan	(reg_becomes_live, optimize_mode_switching): Likewise.
28425169689Skan	* tm.texi: Add description of mode switching macros.
28426169689Skan	* toplev.c (rest_of_compilation): Call optimize_mode_switching.
28427169689Skan
28428169689Skan	* sh-protos.h (remove_dead_before_cse): Remove prototype.
28429169689Skan	(fldi_ok, fpscr_set_from_mem): New prototypes.
28430169689Skan	* sh.h (OPTIMIZATION_OPTION): Remove sh_flag_remove_dead_before_cse set.
28431169689Skan	(CONST_DOUBLE_OK_FOR_LETTER_P, SECONDARY_INPUT_RELOAD_CLASS):
28432169689Skan	Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
28433169689Skan	(sh_flag_remove_dead_before_cse): Remove declaration.
28434169689Skan	(NUM_MODES_FOR_MODE_SWITCHING, OPTIMIZE_MODE_SWITCHING): New macros.
28435169689Skan	(MODE_USES_IN_EXIT_BLOCK, MODE_NEEDED, MODE_AT_ENTRY): Likewise.
28436169689Skan	(MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
28437169689Skan	* sh.c (broken_move): Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
28438169689Skan	(barrier_align): Allow for JUMP_INSNS containing a parallel.
28439169689Skan	(machine_dependent_reorg): Remove sh_flag_remove_dead_before_cse set.
28440169689Skan	(fldi_ok): New function.
28441169689Skan	(get_fpscr_rtx): Add fpscr_rtx as GC root.
28442169689Skan	(emit_sf_insn): Only generate fpu switches when optimize < 1.
28443169689Skan	(emit_df_insn): Likewise.
28444169689Skan	(expand_fp_branch, emit_fpscr_use, remove_dead_before_cse): Delete.
28445169689Skan	(sh_flag_remove_dead_before_cse): Delete.
28446169689Skan	(get_free_reg, fpscr_set_from_mem): New functions.
28447169689Skan	* sh.md (movdf, movsf): Remove no_new_pseudos code.
28448169689Skan	(return): Remove emit_fpscr_use / remove_dead_before_cse calls.
28449169689Skan
28450169689Skan2000-02-15  Loren Rittle  <ljrittle@acm.org>
28451169689Skan
28452169689Skan	* ginclude/stddef.h: Correct usage of _BSD_RUNE_T_ for FreeBSD.
28453169689Skan
28454169689Skan2000-02-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
28455169689Skan
28456169689Skan	* Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o,
28457169689Skan	cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h.
28458169689Skan
28459169689Skan	* cccp.c: Include version.h and/or don't declare `version_string'.
28460169689Skan	* collect2.c: Likewise.
28461169689Skan	* alpha.c: Likewise.
28462169689Skan	* arm/aof.h: Likewise.
28463169689Skan	* arm/coff.h: Likewise.
28464169689Skan	* arm/elf.h: Likewise.
28465169689Skan	* arm/pe.h: Likewise.
28466169689Skan	* arm/tcoff.h: Likewise.
28467169689Skan	* arm/telf.h: Likewise.
28468169689Skan	* arm/tpe.h: Likewise.
28469169689Skan	* arm/vxarm.h: Likewise.
28470169689Skan	* convex/convex.c: Likewise.
28471169689Skan	* i386/dgux.c: Likewise.
28472169689Skan	* i386/sun386.h: Likewise.
28473169689Skan	* m88k/m88k.c: Likewise.
28474169689Skan	* mcore/mcore-pe.h: Likewise.
28475169689Skan	* mips/mips.h: Likewise.
28476169689Skan	* romp/romp.h: Likewise.
28477169689Skan	* sh/sh.c: Likewise.
28478169689Skan	* cpphash.c: Likewise.
28479169689Skan	* cppinit.c: Likewise.
28480169689Skan	* dwarf2out.c: Likewise.
28481169689Skan	* dwarfout.c: Likewise.
28482169689Skan	* gcc.c: Likewise.
28483169689Skan	* gcc.h: Likewise.
28484169689Skan	* mips-tfile.c: Likewise.
28485169689Skan	* protoize.c: Likewise.
28486169689Skan	* toplev.c: Likewise.
28487169689Skan	* tree.h: Likewise.
28488169689Skan
28489169689Skan	* version.c (version_string): Constify a char*.
28490169689Skan
28491169689Skan	* version.h: New file.
28492169689Skan
28493169689Skan2000-02-14  Nick Clifton  <nickc@cygnus.com>
28494169689Skan
28495169689Skan	* configure.in: Add mcore-elf and mcore-pe targets.
28496169689Skan	* configure: Regenerate.
28497169689Skan
28498169689Skan	* NEWS: Add note that MCore port has been contributed.
28499169689Skan
28500169689Skan	* invoke.texi: Document command line switches for MCore port.
28501169689Skan	* install.texi: Add MCore to list of supported targets.
28502169689Skan
28503169689Skan2000-02-14  Geoff Keating  <geoffk@cygnus.com>
28504169689Skan
28505169689Skan	* collect2.c (main) [COLLECT_EXPORT_LIST]: If we have frames,
28506169689Skan	then we will need to import the frame handling functions.
28507169689Skan	(scan_prog_file) [COLLECT_EXPORT_LIST]: We will also need
28508169689Skan	to import the frames themselves.
28509169689Skan
28510169689SkanMon Feb 14 13:31:01 2000  Stan Cox  <scox@cygnus.com>
28511169689Skan			  Jason Eckhardt  <jle@cygnus.com>
28512169689Skan
28513169689Skan	* basic_block.h: Added prototype for reorder_basic_blocks.
28514169689Skan	* toplev.c: Changes to add -freorder-blocks and graph dump after
28515169689Skan	block reordering is done.
28516169689Skan	* flow.c (reorder_block_def): New structure for use during block
28517169689Skan	reordering.
28518169689Skan	(REORDER_BLOCK_*): New macros to access members of above structure.
28519169689Skan	(skip_insns_between_block, get_common_dest, chain_reorder_blocks,
28520169689Skan	make_reorder_chain, fixup_reorder_chain, reorder_basic_blocks): New
28521169689Skan	functions for block reordering.
28522169689Skan
28523169689SkanMon Feb 14 11:24:44 2000  Hans-Peter Nilsson  <hp@bitrange.com>
28524169689Skan
28525169689Skan	* gcc.texi (Passes): Fix typo.
28526169689Skan	* md.texi (Standard Names): Ditto.
28527169689Skan	* tm.texi (Storage Layout): Ditto.
28528169689Skan
28529169689Skan2000-02-13  Zack Weinberg  <zack@wolery.cumb.org>
28530169689Skan
28531169689Skan	* cpplib.c (do_define): Only free the old definition if it
28532169689Skan	actually had one.
28533169689Skan
28534169689Skan2000-02-13   Neil Booth  <NeilB@earthling.net>
28535169689Skan
28536169689Skan	* cppfiles.c (read_and_prescan): When emitting deferred
28537169689Skan	newlines, test speccase[] again instead	of checking each
28538169689Skan	possible whitespace character in turn.  When we encounter \r,
28539169689Skan	look behind for \n first, then ahead.
28540169689Skan
28541169689Skan2000-02-13  Zack Weinberg  <zack@wolery.cumb.org>
28542169689Skan
28543169689Skan	* cse.c (cse_altered): New internal flag.
28544169689Skan	(cse_insn): Set it if we changed an insn.
28545169689Skan	(cse_main): Clear cse_altered before each basic block.
28546169689Skan	Only garbage collect if cse_altered is true afterward.
28547169689Skan
28548169689SkanSun Feb 13 14:12:28 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
28549169689Skan
28550169689Skan	* sparc/sol2.h (LIB_SPEC): Link -ldl if profiling.
28551169689Skan
28552169689SkanSun Feb 13 13:21:55 2000  Jeffrey A Law  (law@cygnus.com)
28553169689Skan
28554169689Skan	* combine.c (simplify_comparison): Fix typo.
28555169689Skan
28556169689SkanSun Feb 13 12:57:52 2000  Neil Booth <NeilB@earthling.net>
28557169689Skan
28558169689Skan	* prefix.c (concat, lookup_key): Use xmalloc and xrealloc
28559169689Skan	consistently.
28560169689Skan
28561169689Skan2000-02-13  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
28562169689Skan
28563169689Skan	* flow.c (flow_loop_tree_node_add): Use better algorithm by passing
28564169689Skan	previously inserted node instead of root node.	Caller changed.
28565169689Skan
28566169689Skan2000-02-13  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
28567169689Skan
28568169689Skan	* basic-block.h (FLOW_LOOP_FIRST_BLOCK, FLOW_LOOP_LAST_BLOCK): Delete.
28569169689Skan
28570169689Skan2000-02-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
28571169689Skan
28572169689Skan	* crtstuff.c (__do_global_ctors_aux, __reg_frame_ctor,
28573169689Skan	__dereg_frame_dtor): Add prototype argument.
28574169689Skan
28575169689Skan	* gthr-dce.h (__gthread_active_p, __gthread_once): Likewise.
28576169689Skan
28577169689Skan	* gthr-posix.h (__gthread_active_p, __gthread_once): Likewise.
28578169689Skan
28579169689Skan	* gthr-solaris.h (__gthread_active_p, __gthread_once): Likewise.
28580169689Skan
28581169689Skan	* gthr-vxworks.h (__gthread_once): Likewise.
28582169689Skan
28583169689Skan	* gthr-win32.h (__gthread_active_p, __gthread_once): Likewise.
28584169689Skan
28585169689SkanSat Feb 12 01:44:26 MET 2000  Jan Hubicka  <jh@suse.cz>
28586169689Skan
28587169689Skan	* i386.c (ix86_emit_restore_regs_using_mov): Break out from ...
28588169689Skan	(ix86_expand_epilogue): ... here. Use mov instead of add to restore
28589169689Skan	stack pointer in functions w/o saved registers, output LEAVE more often
28590169689Skan	on TARGET_USE_LEAVE machines.
28591169689Skan
28592169689Skan2000-02-07  Dmitri Makarov  <dim@wrs.com> & Bernd Schmidt <bernds@redhat.com>
28593169689Skan
28594169689Skan	* config/arm/arm.c (arm_init_cumulative_args); New function:
28595169689Skan	Initlaise the CUMULATIE_ARGS strcuture for a function
28596169689Skan	definition.
28597169689Skan	(arm_function_arg): New function: Determine where to place a
28598169689Skan	function's argument.  Also handles deciding the function's
28599169689Skan	call cookie.
28600169689Skan	(current_file_function_operand): New function: Return true if
28601169689Skan	the symbol is a function which has already been compiled.
28602169689Skan	(arm_is_long_call_p): New function: Return true if the
28603169689Skan	indicated function should be called via a long call.
28604169689Skan	(arm_valid_type_attribute_p): New function: Return true if the
28605169689Skan	attribute is a valid, arm specific, attribute.
28606169689Skan	(arm_comp_type_attribute): New function: Return true if the
28607169689Skan	two types have compatible, arm specific, attributes.
28608169689Skan
28609169689Skan	* config/arm/arm.h (CUMULATIVE_ARGS): Redefine to be a
28610169689Skan	structure.
28611169689Skan	(FUNCTION_ARG): Redefine to call arm_function_arg.
28612169689Skan	(FUNCTION_ARG_PARTIAL_NREGS): Redefine to use correct
28613169689Skan	structure field.
28614169689Skan	(INIT_CUMULATIVE_ARGS): Redefine to call
28615169689Skan	arm_init_cumulative_args.
28616169689Skan	(FUNCTION_ARG_ADVANCE): Redefine to use correct structure
28617169689Skan	field.
28618169689Skan	(SETUP_INCOMING_VARARGS): Redefine to use correct structure
28619169689Skan	field.
28620169689Skan	(ARM_MARK_NEARBY_FUNCTION): New macro: Mark already compiled
28621169689Skan	functions.
28622169689Skan	(ENCODE_SECTION): Add call to ARM_MARK_NEARBY_FUNCTION.
28623169689Skan	(VALID_MACHINE_TYPE_ATTRIBUTE): Define.
28624169689Skan	(COMP_TYPE_ATTRIBUTES): Define.
28625169689Skan
28626169689Skan	* config/arm/arm.md (call): Call arm_is_long_call_p to decide
28627169689Skan	if a long call is needed.
28628169689Skan	(call_value): Call arm_is_long_call_p to decide if a long call
28629169689Skan	is needed.
28630169689Skan	(call_symbol): Call arm_is_long_call_p to decide if a long call
28631169689Skan	is needed.
28632169689Skan
28633169689Skan	* config/arm/arm-protos.h: Add prototype for arm_is_long_call_p.
28634169689Skan
28635169689Skan2000-02-11  Denis Chertykov  <denisc@overta.ru>
28636169689Skan
28637169689Skan	* README.AVR: New file with information about the avr ports.
28638169689Skan	* config/avr: New directory with avr port files.
28639169689Skan
28640169689Skan2000-02-11  Andreas Jaeger  <aj@suse.de>
28641169689Skan
28642169689Skan	* fixinc/Makefile.in (FIXINC_DEFS): Remove unneeded @fixinc_defs@.
28643169689Skan
28644169689Skan2000-02-11  Zack Weinberg  <zack@wolery.cumb.org>
28645169689Skan
28646169689Skan	* cpphash.c: Fix formatting, update commentary.
28647169689Skan	(dump_definition): Take three separate arguments instead of a
28648169689Skan	MACRODEF structure argument.
28649169689Skan	* cpphash.h: Update prototype of dump_definition.
28650169689Skan	* cppinit.c (cpp_finish): Update call of dump_definition.
28651169689Skan
28652169689Skan	* cpplib.c (do_define): Always create new hash entry with
28653169689Skan	T_MACRO type.  Remove redundant check for redefinition of
28654169689Skan	poisoned identifier.  Update call of dump_definition.
28655169689Skan	(do_undef): Don't call check_macro_name.  Rename sym_length to
28656169689Skan	len.
28657169689Skan	(do_error, do_warning): Don't use copy_rest_of_line or
28658169689Skan	SKIP_WHITE_SPACE.
28659169689Skan	(do_warning): Don't use pedwarn for the actual warning,
28660169689Skan	only the notice about its not being in the standard.  (Fixes
28661169689Skan	bug with #warning in system headers.)
28662169689Skan	(do_ident): Stricter argument checking - accept only a single
28663169689Skan	string after #ident.  Also, macro-expand the line.
28664169689Skan	(do_xifdef): Use cpp_defined.  De-obfuscate.
28665169689Skan
28666169689Skan	(do_pragma): Split out specific pragma handling to separate
28667169689Skan	functions.  Use get_directive_token.  Update commentary.  Do
28668169689Skan	not pass on #pragma once or #pragma poison to the front end.
28669169689Skan	(do_pragma_once, do_pragma_implementation, do_pragma_poison,
28670169689Skan	do_pragma_default): New.
28671169689Skan
28672169689SkanFeb 11 12:30:53 2000  Jeffrey A Law  (law@cygnus.com)
28673169689Skan
28674169689Skan	* jump.c (jump_optimize_1): The first operand in a relational
28675169689Skan	can be a CONST_INT.
28676169689Skan	* optabs.c (emit_conditional_move): Handle relationals which
28677169689Skan	have a known true/false result.
28678169689Skan
28679169689Skan2000-02-11  Geoff Keating  <geoffk@cygnus.com>
28680169689Skan
28681169689Skan	* function.c (thread_prologue_and_epilogue_insns): Don't insert
28682169689Skan	a RETURN insn into a block which already ends with a jump.
28683169689Skan
28684169689Skan2000-02-11  Geoff Keating  <geoffk@cygnus.com>
28685169689Skan
28686169689Skan	* haifa-sched.c (BUF_LEN): Increase a lot.
28687169689Skan
28688169689Skan2000-02-11  Nick Clifton  <nickc@cygnus.com>
28689169689Skan
28690169689Skan	* configure.in: Add tm_p_file specification for thumb targets.
28691169689Skan	* configure: Regenerate.
28692169689Skan
28693169689Skan	* config/arm/thumb-protos.h: New file: Prototypes for exported
28694169689Skan	functions defined in thumb.c.
28695169689Skan
28696169689Skan2000-02-11  Robert Lipe  <robertl@sco.com>
28697169689Skan
28698169689Skan	* Makefile.in (bootstrap-lean): Remove additional files.
28699169689Skan	(bootstrap2-lean): Likewise.
28700169689Skan	(VOL_FILES): List of files for above.
28701169689Skan
28702169689Skan2000-02-11  Nathan Sidwell  <nathan@acm.org>
28703169689Skan
28704169689Skan	* cpphash.c (special_symbol): Remove spurious argument to
28705169689Skan	cpp_lookup.
28706169689Skan
28707169689Skan2000-02-11  Joel Sherrill (joel@OARcorp.com>
28708169689Skan
28709169689Skan	* configure.in: (i*86-*-rtems*): Swapped elf and coff
28710169689Skan	stanzas.
28711169689Skan	* configure: Rebuilt.
28712169689Skan
28713169689Skan2000-02-11  Rodney Brown  <RodneyBrown@pmsc.com>
28714169689Skan
28715169689Skan	* pa-protos.h: Wrap function_arg_padding in TREE_CODE #ifdef.
28716169689Skan
28717169689SkanFri Feb 11 02:59:05 2000  Jeffrey A Law  (law@cygnus.com)
28718169689Skan
28719169689Skan	* pa.c, pa.h: Remove trigraph sequences within comments.
28720169689Skan
28721169689SkanFri Feb 11 02:51:56 2000  Pavel Roskin <pavel_roskin@geocities.com>
28722169689Skan
28723169689Skan	* invoke.texi (PPC Options): -mno-new-mnenomics -> -mold-mnemonics.
28724169689Skan
28725169689SkanFri Feb 11 02:48:30 2000  Brad Lucier  (lucier@math.purdue.edu)
28726169689Skan
28727169689Skan	* sbitmap.h: Make SBITMAP_ELT_BITS unsigned.
28728169689Skan
28729169689Skan2000-02-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
28730169689Skan
28731169689Skan	* config/c4x/c4x.c (fp_zero_operand): Check for CONST_DOUBLE.
28732169689Skan
28733169689Skan2000-02-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
28734169689Skan
28735169689Skan	* config/c4x/c4x.h (ASM_GLOBALIZE_LABEL): Use c4x_global_label.
28736169689Skan	(ASM_OUTPUT_EXTERNAL): Use c4x_external_ref.
28737169689Skan	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
28738169689Skan	(ASM_FILE_END): Use c4x_file_end.
28739169689Skan	* config/c4x/c4x.c (c4x_global_label): New function.
28740169689Skan	(c4x_external_ref, c4x_file_end): Likewise.
28741169689Skan
28742169689Skan	* config/c4x/c4x-protos.h (c4x_global_label): Add prototype.
28743169689Skan	(c4x_external_ref, c4x_end_file): Likewise.
28744169689Skan
28745169689Skan2000-02-10  Zack Weinberg  <zack@wolery.cumb.org>
28746169689Skan
28747169689Skan	* cppexp.c: Don't include cpphash.h.
28748169689Skan	(parse_charconst, cpp_lex): Use cpp_defined.
28749169689Skan	(cpp_lex): Use get_directive_token throughout.  Remove
28750169689Skan	unnecessary cases from switch.  Move assertion-handling code
28751169689Skan	down to OTHER case.
28752169689Skan	(cpp_parse_expr): If we see '+' or '-', check the context to
28753169689Skan	determine if they are unary or binary operators.  Streamline
28754169689Skan	the jumps a bit.  Do not call skip_rest_of_line.
28755169689Skan
28756169689Skan	* cpplib.c: Make skip_rest_of_line and cpp_skip_hspace
28757169689Skan	static.  Export get_directive_token.  Update commentary.
28758169689Skan	(cpp_defined): New function.
28759169689Skan	(do_define): Remove reference to T_PCSTRING.  Call
28760169689Skan	free_definition to release memory for old definition, when
28761169689Skan	redefining a macro.
28762169689Skan	(eval_if_expression): Set only_seen_white to 0 before calling
28763169689Skan	cpp_parse_expr.  Call skip_rest_of_line after it returns.
28764169689Skan	(cpp_read_check_assertion): Don't preserve a pointer into the
28765169689Skan	token buffer across a call to cpp_get_token.
28766169689Skan
28767169689Skan	* Makefile.in (cppexp.o): Don't depend on cpphash.h.
28768169689Skan	* cppfiles.c (redundant_include_p): Use cpp_defined.
28769169689Skan	* cpphash.c (free_definition): New function.
28770169689Skan	(delete_macro): Use it.  Update commentary.
28771169689Skan	* cpphash.h: Typedef HASHNODE here.  Prototype cpp_lookup and
28772169689Skan	free_definition.
28773169689Skan	* cpplib.h: Don't typedef HASHNODE here. Delete T_PCSTRING
28774169689Skan	from enum node_type.  Prototype cpp_defined and get_directive_token.
28775169689Skan	Don't prototype cpp_lookup, skip_rest_of_line, or cpp_skip_hspace.
28776169689Skan
28777169689Skan	* fix-header.c (check_macro_names): Use cpp_defined.
28778169689Skan	(read_scan_file): Set inhibit_warnings and inhibit_errors in
28779169689Skan	the options structure.
28780169689Skan
28781169689Skan2000-02-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
28782169689Skan
28783169689Skan	* c-pragma.c (maximum_field_alignment): Remove duplicate declaration.
28784169689Skan
28785169689Skan2000-02-10  Jason Merrill  <jason@casey.cygnus.com>
28786169689Skan
28787169689Skan	* dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin)
28788169689Skan	rather than die->die_tag.
28789169689Skan
28790169689SkanThu Feb 10 16:26:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
28791169689Skan
28792169689Skan	* combine.c (make_extraction, force_to_mode): Avoid warning on
28793169689Skan	mixed-signedness conditionals.
28794169689Skan	(make_field_assignment, nonzero_bits): Likewise.
28795169689Skan	* expmed.c (store_fixed_bit_field): ALIGN arg now unsigned.
28796169689Skan	(store_split_bit_field, extract_split_bit_field): Likewise.
28797169689Skan	(extract_fixed_bit_field, store_bit_field,
28798169689Skan	* expr.c: Change alignment to be unsigned everywhere.
28799169689Skan	(move_by_pieces, store_constructor_field, store_constructor):
28800169689Skan	Alignment parm is unsigned.
28801169689Skan	(emit_block_move, emit_group_load, emit_group_store): Likewise.
28802169689Skan	(clear_storage, emit_push_insn, compare_from_rtx): Likewise.
28803169689Skan	(do_compare_rtx_and_jump): Likewise.
28804169689Skan	(move_by_pieces_ninsns, clear_by_pieces): Likewise.
28805169689Skan	Compare align with GET_MODE_ALIGNMENT.
28806169689Skan	(expand_expr_unaligned): Pointer to alignment is pointer to unsigned.
28807169689Skan	(get_inner_reference): Likewise.
28808169689Skan	(copy_blkmode_from_reg, emit_push_insn): Remove unneeded casts.
28809169689Skan	(expand_assignment): Local vars for alignment now unsigned.
28810169689Skan	(store_constructor, store_field, expand_expr, do_jump): Likewise.
28811169689Skan	(do_compare_and_jump): Likewise.
28812169689Skan	(store_field): Call new function expr_align.
28813169689Skan	* expr.h (emit_block_move, emit_group_load, emit_group_store):
28814169689Skan	Alignment arg now unsigned.
28815169689Skan	(clear_storage, emit_push_insn, compare_from_rtx): Likewise.
28816169689Skan	(do_compare_rtx_and_jump, store_bit_field): Likewise.
28817169689Skan	(extract_bit_field): Likewise.
28818169689Skan	* fold-const.c (add_double): Add cast to eliminate signedness warning.
28819169689Skan	* machmode.h (GET_MODE_ALIGNMENT): Result is unsigned.
28820169689Skan	(get_best_mode): Alignment arg is unsigned.
28821169689Skan	* rtl.h (move_by_pieces): Likewise.
28822169689Skan	* store-layout.c (maximum_field_alignment, set_alignment):
28823169689Skan	Now unsigned.
28824169689Skan	(layout_decl): Alignment arg is now unsigned.
28825169689Skan	Remove unneeded casts.
28826169689Skan	(layout_record, layout_union, layout_type): Remove unneeded casts.
28827169689Skan	Local alignment variables now unsigned.
28828169689Skan	(get_best_mode): Alignment arg now unsigned.
28829169689Skan	* tree.c (expr_align): New function.
28830169689Skan	* tree.h (expr_align): Likewise.
28831169689Skan	(maximum_field_alignment, set_alignment): Now unsigned.
28832169689Skan	(get_inner_reference): Alignment argument is now pointer to unsigned.
28833169689Skan	* varasm.c (assemble_variable): Add cast to eliminate warning.
28834169689Skan
28835169689SkanThu Feb 10 12:56:47 2000  Jim Wilson  <wilson@cygnus.com>
28836169689Skan
28837169689Skan	* expmed.c (store_bit_field): If op0 and fieldmode are the same size,
28838169689Skan	then store directly into op0.
28839169689Skan
28840169689Skan	* calls.c (expand_call): When emitting a NOTE_INSN_SETJMP, search for
28841169689Skan	the CALL_INSN, and emit the note immediately after it.
28842169689Skan
28843169689Skan2000-02-10  Nick Clifton  <nickc@cygnus.com>
28844169689Skan
28845169689Skan	* config/arm/thumb.md (epilogue): Include a (return) in the
28846169689Skan	generated insn, and emit it using emit_jump_insn not
28847169689Skan	emit_insn.
28848169689Skan
28849169689SkanThu Feb 10 18:28:59 MET 2000  Jan Hubicka  <jh@suse.cz>
28850169689Skan
28851169689Skan	* function.c (assign_temp): Change zero-sized arrays to size 1.
28852169689Skan	* integrate.c (expand_inline_function): Do not update
28853169689Skan	stack_alignment_needed
28854169689Skan	* i386.c (compute_frame_size): Remove #ifdef PREFERRED_FRAME_BOUNDARY,
28855169689Skan	add some sanity checking, remove optimization for function with
28856169689Skan	zero frame size.
28857169689Skan
28858169689Skan2000-02-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
28859169689Skan
28860169689Skan	* flow.c (mark_regs_live_at_end): Delete unused variables.
28861169689Skan
28862169689Skan	* ggc-page.c (ggc_page_print_statistics): bzero -> memset.
28863169689Skan
28864169689Skan	* integrate.c (copy_rtx_and_substitute): Wrap variable `alignment'
28865169689Skan	in macro FRAME_GROWS_DOWNWARD.
28866169689Skan
28867169689Skan	* stmt.c (expand_end_bindings): Delete unused variable.
28868169689Skan
28869169689Skan	* unroll.c (iteration_info): Mark parameter `loop' with
28870169689Skan	ATTRIBUTE_UNUSED.
28871169689Skan
28872169689Skan2000-02-10  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
28873169689Skan
28874169689Skan	* fixinc/server.c (load_data): Return NULL if the marker line is
28875169689Skan	not found.
28876169689Skan	(run_shell): If load_data returns NULL, retry the command once, in
28877169689Skan	a new shell.
28878169689Skan
28879169689Skan	* configure: Rebuilt.
28880169689Skan
28881169689Skan2000-02-09  Bruce Korb  <bkorb@gnu.org>
28882169689Skan
28883169689Skan	* gcc/fixincludes:  ** DELETED **
28884169689Skan	* gcc/fixcpp:  ** DELETED **
28885169689Skan	* gcc/fixinc-nt.sed:  ** DELETED **
28886169689Skan	* gcc/just-fixinc:  ** DELETED **
28887169689Skan	* gcc/Makefile.in:  Removed out-dated commentary
28888169689Skan	* gcc/configure.in: Removed fast-fixincludes disablement.
28889169689Skan	* MAINTAINERS(Ian Taylor) moved to "Write after approval" group.
28890169689Skan
28891169689Skan2000-02-09  Clinton Popetz  <cpopetz@cygnus.com>
28892169689Skan	* function.c (thread_prologue_and_epilogue_insns): Uncomment
28893169689Skan	last change.
28894169689Skan
28895169689Skan2000-02-09  Richard Henderson  <rth@cygnus.com>
28896169689Skan
28897169689Skan	* jump.c (delete_insn): Don't delete user labels at -O0.
28898169689Skan
28899169689Skan2000-02-09  Robert Lipe  <robertl@sco.com>
28900169689Skan
28901169689Skan	* Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS.
28902169689Skan	Don't link with HOST_LIBS.
28903169689Skan
28904169689Skan2000-02-09  Zack Weinberg  <zack@wolery.cumb.org>
28905169689Skan
28906169689Skan	* configure.in: Correct --help text for --with-dwarf2.
28907169689Skan	Put tm-dwarf2.h after other tm files, if it's requested.
28908169689Skan	* configure: Regenerate.
28909169689Skan	* config/tm-dwarf2.h: #undef PREFERRED_DEBUGGING_TYPE before
28910169689Skan	defining it.
28911169689Skan
28912169689Skan2000-02-09  Zack Weinberg  <zack@wolery.cumb.org>
28913169689Skan
28914169689Skan	* cpplib.h: Provide HASHNODE typedef and forward decl of
28915169689Skan	struct hashnode only.  Kill cpp_hashnode typedef.  MACRODEF,
28916169689Skan	DEFINITION, struct hashnode, struct macrodef, struct
28917169689Skan	definition, scan_decls prototype, default defn of
28918169689Skan	INCLUDE_LEN_FUDGE moved elsewhere.
28919169689Skan
28920169689Skan	* cpphash.h: MACRODEF, DEFINITION, struct macrodef, struct
28921169689Skan	definition, and struct hashnode moved here. Remove the unused
28922169689Skan	'predefined' field from struct definition.  Replace the 'args'
28923169689Skan	union with its sole member.  All users updated (cpphash.c).
28924169689Skan	Delete HASHSTEP and MAKE_POS macros, and hashf prototype.  Add
28925169689Skan	multiple include guard.
28926169689Skan
28927169689Skan	* cpphash.c (hashf): Make static; use better algorithm; drop
28928169689Skan	HASHSIZE parameter; return an unsigned int.
28929169689Skan	(cpp_lookup): Drop HASH parameter.  PFILE parameter is
28930169689Skan	used. Calculate HASHSIZE modulus here.
28931169689Skan	(cpp_install): Drop HASH parameter. Calculate HASHSIZE modulus
28932169689Skan	here.
28933169689Skan	(create_definition): Drop PREDEFINITION parameter.
28934169689Skan	* cpplib.c (do_define): Don't calculate a hash value here.
28935169689Skan	Don't pass (keyword == NULL) to create_definition.
28936169689Skan
28937169689Skan	* scan.h: Prototype scan_decls here.
28938169689Skan	* cppfiles.c: Move INCLUDE_LEN_FUDGE default defn here.
28939169689Skan	* cppexp.c, cppfiles.c, cppinit.c, cpplib.c, fix-header.c: All
28940169689Skan	callers of cpp_lookup and cpp_install updated.
28941169689Skan
28942169689Skan	* cpphash.c (macarg): Hoist all the flag diddling out of the
28943169689Skan	function...
28944169689Skan	(macroexpand): ... and out of the loop that calls macarg.
28945169689Skan	Skip over the initial paren before macro arguments with
28946169689Skan	cpp_get_non_space_token; point may be some distance before
28947169689Skan	that paren.  Abort if it's not there.
28948169689Skan
28949169689Skan	* cpplib.c (parse_clear_mark): Delete function.
28950169689Skan	(parse_set_mark, parse_goto_mark): Make static.
28951169689Skan	(ACTIVE_MARK_P): New macro.
28952169689Skan	(skip_block_comment, skip_line_comment): Do not bump the line
28953169689Skan	if ACTIVE_MARK_P is true.
28954169689Skan	(cpp_pop_buffer): The buffer to be popped may not have an
28955169689Skan	active mark.
28956169689Skan	(cpp_get_token): When looking for the initial paren before
28957169689Skan	macro arguments, only set a mark in a file buffer, Always
28958169689Skan	return to that mark before proceeding to call macroexpand or
28959169689Skan	return a NAME token.
28960169689Skan
28961169689Skan	* cpplib.h: Remove prototypes of parse_set_mark,
28962169689Skan	parse_clear_mark, parse_goto_mark.
28963169689Skan	(struct cpp_options): Rename 'put_out_comments' to
28964169689Skan	'discard_comments' and invert its sense.
28965169689Skan	* cppinit.c, cpphash.c, cpplib.c: All users of
28966169689Skan	put_out_comments changed to use discard_comments, with
28967169689Skan	opposite sense.
28968169689Skan
28969169689Skan2000-02-09  Clinton Popetz  <cpopetz@cygnus.com>
28970169689Skan
28971169689Skan	* function.c (thread_prologue_and_epilogue_insns): Don't delete
28972169689Skan	the edge from a block that both jumps and falls through to the
28973169689Skan	fallthru block.
28974169689Skan
28975169689Skan2000-02-09  Scott Bambrough  <scottb@netwinder.org>
28976169689Skan
28977169689Skan	* config/arm/arm.md (movsi): In PIC mode, make sure that a
28978169689Skan	constant source address is legitimate.
28979169689Skan
28980169689Skan2000-02-09  Philip Blundell  <pb@futuretv.com>
28981169689Skan
28982169689Skan	* config/arm/arm.c (legitimize_pic_address): Handle LABEL_REF
28983169689Skan	correctly.
28984169689Skan
28985169689Skan	* config/arm/arm.h (LEGITIMATE_CONSTANT_P): Allow anything when
28986169689Skan	generating PIC.
28987169689Skan	(LEGITIMATE_PIC_OPERAND): Disallow references to labels.
28988169689Skan
28989169689Skan2000-02-09  Zack Weinberg  <zack@wolery.cumb.org>
28990169689Skan
28991169689Skan	* cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer
28992169689Skan	ends with a newline and a NUL.  Don't be so clever manipulating
28993169689Skan	strings.
28994169689Skan
28995169689SkanWed Feb  9 14:18:08 MET 2000  Jan Hubicka  <jh@suse.cz>
28996169689Skan
28997169689Skan	* reload1.c (reload) Align stack frame to cfun->stack_alignment_needed,
28998169689Skan	not to BIGGEST_ALIGNMENT.
28999169689Skan
29000169689Skan2000-02-08  Geoff Keating  <geoffk@cygnus.com>
29001169689Skan
29002169689Skan	* dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
29003169689Skan	* dwarf2out.c (dwarf_cfi_name): Print name of new constant.
29004169689Skan	(reg_save): Use DW_CFA_GNU_negative_offset_extended when needed.
29005169689Skan	(output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended.
29006169689Skan	* frame.c (execute_cfa_insn): Handle
29007169689Skan	DW_CFA_GNU_negative_offset_extended.
29008169689Skan
29009169689Skan2000-02-08  Richard Henderson  <rth@cygnus.com>
29010169689Skan
29011169689Skan	* flow.c (tidy_fallthru_edges): Split out from ...
29012169689Skan	(delete_unreachable_blocks): ... here.
29013169689Skan	(find_basic_blocks): Use it.
29014169689Skan
29015169689SkanTue Feb  8 15:51:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
29016169689Skan
29017169689Skan	* stmt.c (expand_decl): Do set RTX_UNCHANGING_P for TREE_READONLY.
29018169689Skan
29019169689Skan2000-02-08  Zack Weinberg  <zack@wolery.cumb.org>
29020169689Skan
29021169689Skan	* Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a.
29022169689Skan	(gen_protos.o): Don't depend on cpplib.h or cpphash.h.
29023169689Skan	(fix-header.o): Don't depend on cpphash.h.
29024169689Skan
29025169689Skan	* scan.c (hashstr): New function.
29026169689Skan	* scan.h: Prototype it.
29027169689Skan	* fix-header.c: Don't include cpphash.h.  Use hashstr.
29028169689Skan	* gen-protos.c: Don't include cpphash.h or cpplib.h.  Use
29029169689Skan	hashstr.  Report hash table statistics.  Add private
29030169689Skan	definition of xrealloc.
29031169689Skan
29032169689Skan2000-02-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29033169689Skan
29034169689Skan	* i386.h (TARGET_SWITCHES): Fix typo in option name.
29035169689Skan
29036169689Skan2000-02-08  Clinton Popetz  <cpopetz@cygnus.com>
29037169689Skan
29038169689Skan	* function.c (thread_prologue_and_epilogue_insns): Don't replace
29039169689Skan	jumps with returns unless they are jumps to the fallthru block.
29040169689Skan
29041169689SkanTue Feb  8 07:53:55 2000  Jan Hubicka  <jh@suse.cz>
29042169689Skan
29043169689Skan	* i386.md (addqi3_cc): Fix constraints.
29044169689Skan
29045169689SkanTue Feb  8 01:39:45 2000  Hans-Peter Nilsson  <hp@bitrange.com>
29046169689Skan
29047169689Skan	* function.c (emit_return_into_block): Wrap in #ifdef HAVE_return.
29048169689Skan
29049169689Skan2000-02-07  Mark Mitchell  <mark@codesourcery.com>
29050169689Skan
29051169689Skan	* cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a
29052169689Skan	carriage return after a macro name.
29053169689Skan
29054169689Skan2000-02-07  Fred Fish  <fnf@be.com>
29055169689Skan
29056169689Skan	* i386/beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing
29057169689Skan	so the gcc2_compiled symbol doesn't confuse BeOS debuggers.
29058169689Skan
29059169689Skan2000-02-07  Zack Weinberg  <zack@wolery.cumb.org>
29060169689Skan
29061169689Skan	* cppfiles.c (deps_output): Count spacers in deps_column.
29062169689Skan
29063169689Skan2000-02-07  Neil Booth  <NeilB@earthling.net>
29064169689Skan
29065169689Skan	* cppinit.c (initialize_dependency_output): If there is no
29066169689Skan	suffix, don't try to look for known suffixes.  Use strrchr.
29067169689Skan	(cpp_start_read): Remove duplicate initialization.
29068169689Skan
29069169689SkanMon Feb  7 18:36:41 MET 2000  Jan Hubicka  <jh@suse.cz>
29070169689Skan
29071169689Skan	* calls.c (compute_argument_block_size): New argument
29072169689Skan	preferred_stack_boundary.
29073169689Skan	(expand_call): update cfun->preferred_stack_boundary, update call of
29074169689Skan	compute_argument_block_size
29075169689Skan	(emit_library_call): Increate cfun->preferred_stack_boundary
29076169689Skan	to PREFERRED_STACK_BOUNDARY
29077169689Skan	(emit_library_call_value): Likewise.
29078169689Skan	* explow.c (allocate_dynamic_stack_spave): Likewise.
29079169689Skan	* function.c (prepare_function_start): Set
29080169689Skan	cfun->preferred_stack_boundary
29081169689Skan	* function.h (struct function): Add preferred_stack_boundary field.
29082169689Skan	* integrate.c (expand_inline_function): Update
29083169689Skan	cfun->preferred_stack_boundary and cfun->stack_alignment_needed.
29084169689Skan	(copy_rtx_and_substitute): Align frame to stack_alignment_needed only.
29085169689Skan	* i386.c (compute_frame_size): Use cfun->preferred_stack_boundary.
29086169689Skan
29087169689Skan2000-02-06  Zack Weinberg  <zack@wolery.cumb.org>
29088169689Skan
29089169689Skan	* cpplib.c (my_strerror, cpp_error, cpp_error_with_line,
29090169689Skan	cpp_error_from_errno, cpp_warning, cpp_warning_with_line,
29091169689Skan	cpp_pedwarn, cpp_pedwarn_with_line,
29092169689Skan	cpp_pedwarn_with_file_and_line): Move to cpperror.c.
29093169689Skan	(cpp_print_file_and_line, v_cpp_error, v_cpp_warning,
29094169689Skan	v_cpp_error_with_line, v_cpp_warning_with_line,
29095169689Skan	cpp_message_from_errno, cpp_perror_with_name): Delete.
29096169689Skan
29097169689Skan	* cpperror.c (cpp_print_containing_files): Take starting
29098169689Skan	buffer as argument.
29099169689Skan	(cpp_file_line_for_message): Rename to cpp_print_file_and_line.
29100169689Skan	(v_cpp_message): Now called directly by all entry points.
29101169689Skan	Remove -1 case.
29102169689Skan	(cpp_pfatal_with_name, cpp_message): Delete.
29103169689Skan	(cpp_notice_from_errno, cpp_ice): New functions.
29104169689Skan	(cpp_notice): Is now for reporting error conditions, just
29105169689Skan	without an associated file.
29106169689Skan	(cpp_error, cpp_error_with_line): Don't do anything if
29107169689Skan	opts->inhibit_errors is on.
29108169689Skan	(cpp_pedwarn_with_file_and_line): Take column argument also.
29109169689Skan
29110169689Skan	* cpplib.h: Update prototypes of exported functions.
29111169689Skan	(struct cpp_options): Add inhibit_errors.
29112169689Skan
29113169689Skan	* cppalloc.c, cppfiles.c: Use fprintf not cpp_notice for
29114169689Skan	non-error messages.  Include intl.h.
29115169689Skan
29116169689Skan	* cppinit.c, cppmain.c: Likewise.  Also, use
29117169689Skan	cpp_notice_from_errno instead of cpp_perror_with_name or
29118169689Skan	cpp_pfatal_with_name, and cpp_notice instead of cpp_message.
29119169689Skan
29120169689Skan	* cppexp.c, cpphash.c, cppinit.c, cpplib.c: Use cpp_ice to
29121169689Skan	report internal errors.
29122169689Skan
29123169689Skan	* cpplib.c (do_define): Switch bcopy to memcpy.
29124169689Skan	Give cpp_pedwarn_with_file_and_line a dummy column argument.
29125169689Skan
29126169689Skan	* cpplib.c (copy_rest_of_line): Revert previous change: don't
29127169689Skan	bail out early if we hit a line comment.
29128169689Skan
29129169689Skan2000-02-06  Richard Henderson  <rth@cygnus.com>
29130169689Skan
29131169689Skan	* flow.c (flow_delete_insn, make_edge, remove_edge): Export.
29132169689Skan	* basic-block.h: Declare them.
29133169689Skan	* emit-rtl.h (active_insn_p): New.
29134169689Skan	(next_active_insn, prev_active_insn): Use it.
29135169689Skan	* rtl.h: Declare it.
29136169689Skan	* function.c (emit_return_into_block): New.
29137169689Skan	(thread_prologue_and_epilogue_insns): Insert return insns instead
29138169689Skan	of epilogues when possible.
29139169689Skan	* jump.c (jump_optimize_1): Remove code to insert a return insn
29140169689Skan	on the fallthru to the exit block.
29141169689Skan
29142169689Skan	* i386.c (ix86_can_use_return_insn_p): Fail for large poped args
29143169689Skan	and for non-empty stack frames.
29144169689Skan	* i386.md (return): Expand to return-pop as needed.
29145169689Skan
29146169689Skan2000-02-06  Richard Henderson  <rth@cygnus.com>
29147169689Skan
29148169689Skan	* simplify-rtx.c (simplify_relational_operation): Canonicalize
29149169689Skan	constant to op1 for testing.
29150169689Skan
29151169689Skan2000-02-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
29152169689Skan
29153169689Skan	* config/c4x/c4x.md (*ldi_on_overflow): New pattern.
29154169689Skan	(fixuns_truncqfqi2): Use it.
29155169689Skan
29156169689Skan2000-02-06  Richard Henderson  <rth@cygnus.com>
29157169689Skan
29158169689Skan	* i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack
29159169689Skan	as a TYPE_LEA insn.
29160169689Skan
29161169689Skan	* i386.md (widening and peepholes): Mask the constant instead of
29162169689Skan	using gen_lowpart.
29163169689Skan
29164169689Skan2000-02-05  Zack Weinberg  <zack@wolery.cumb.org>
29165169689Skan
29166169689Skan	* cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump
29167169689Skan	input pointer before possibly branching off to the backslash
29168169689Skan	code.
29169169689Skan	* cpphash.c (macroexpand): Correctly delete \r escapes when
29170169689Skan	stringifying parameters.
29171169689Skan	* cpplib.c (copy_rest_of_line): Go directly to skip_block_comment
29172169689Skan	if we can; bail out early if we hit a line comment.
29173169689Skan	(handle_directive): Treat '# 123' in an .S file just like
29174169689Skan	'# <punctuation>'.  Discard the shifted '#' if we hit '#\n'.
29175169689Skan	Return 1 for '# not_a_directive'.
29176169689Skan	(get_directive_token): Pop macro buffers here, so that
29177169689Skan	cpp_get_token can't sneakily move past a newline.
29178169689Skan	Add sanity checks.
29179169689Skan	(cpp_get_token): goto randomchar if handle_directive returns 0.
29180169689Skan
29181169689Skan	* cppalloc.c: Update copyright.
29182169689Skan	* cpplib.c: Merge all the static function prototypes into one
29183169689Skan	block.
29184169689Skan	* cpplib.h: Remove #if 0 block.
29185169689Skan
29186169689Skan	* cpperror.c: Remove #ifdef EMACS block.
29187169689Skan	* cppmain.c: Likewise.
29188169689Skan	* cpphash.c: Remove #if 0 blocks.
29189169689Skan	* cppinit.c: Remove #if 0 blocks, and the -lint option.
29190169689Skan	* cpplib.c: Remove #if 0 blocks and code referencing
29191169689Skan	pcp_inside_if or for_lint.  Remove duplicate error message.
29192169689Skan	Fix error messages for #else after #else or #elif.  Reformat.
29193169689Skan	Remove archaic TODO list.
29194169689Skan	* cpplib.h: Remove pcp_inside_if and for_lint flags.
29195169689Skan
29196169689Skan2000-02-05  Zack Weinberg  <zack@wolery.cumb.org>
29197169689Skan
29198169689Skan	* i386/osf1elf.h: Add missing backslash to multiline string.
29199169689Skan
29200169689Skan2000-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29201169689Skan
29202169689Skan	* longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg.
29203169689Skan
29204169689Skan2000-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29205169689Skan
29206169689Skan	* Makefile.in (c-common.o): Depend on $(EXPR_H).
29207169689Skan
29208169689Skan	* c-common.c: Include expr.h.
29209169689Skan
29210169689Skan	* c-pragma.c (mark_align_stack): Add prototype.
29211169689Skan
29212169689Skan	* caller-save.c (add_stored_regs): Likewise.
29213169689Skan
29214169689Skan	* combine.c (record_promoted_value): Likewise.
29215169689Skan
29216169689Skan	* i386.c (ix86_sched_reorder_pentium, ix86_sched_reorder_ppro):
29217169689Skan	Likewise.
29218169689Skan
29219169689Skan	* cppinit.c (new_pending_define): Likewise.
29220169689Skan
29221169689Skan	* cpplib.c (skip_block_comment, skip_line_comment): Likewise.
29222169689Skan
29223169689Skan	* dwarf2out.c (save_rtx, splice_child_die, reverse_die_lists,
29224169689Skan	AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
29225169689Skan	AT_addr, AT_lbl, get_AT_ref, free_AT, free_die, local_scope_p,
29226169689Skan	class_scope_p): Likewise.
29227169689Skan
29228169689Skan	* dwarf2out.h (dwarf2out_set_demangle_name_func,
29229169689Skan	dwarf2out_add_library_unit_info): Likewise.
29230169689Skan
29231169689Skan	* ggc.h (ggc_page_print_statistics): Likewise.
29232169689Skan
29233169689Skan	* haifa-sched.c (propagate_deps): Likewise.
29234169689Skan
29235169689Skan	* reg-stack.c (next_flags_user, record_label_references): Likewise.
29236169689Skan
29237169689Skan	* rtl.h (set_stack_check_libfunc): Likewise.
29238169689Skan
29239169689Skan	* toplev.h (set_fatal_function): Likewise.
29240169689Skan
29241169689Skan	* toplev.c (set_fatal_function): Delete prototype.
29242169689Skan
29243169689Skan	* diagnostic.c: Deconstify functions returning malloc'ed ptrs.
29244169689Skan
29245169689Skan2000-02-05  Geoff Keating  <geoffk@cygnus.com>
29246169689Skan
29247169689Skan	* ginclude/ppc-asm.h (FUNC_START): Use USER_LABEL_PREFIX.
29248169689Skan	(FUNC_END): Likewise.
29249169689Skan
29250169689Skan2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
29251169689Skan
29252169689Skan	* caller-save.c: Include tm_p.h.
29253169689Skan
29254169689Skan2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
29255169689Skan
29256169689Skan	* Makefile.in (libgcc.a): Add $(LIBGCC1) to libgcc.a after $(LIBGCC2).
29257169689Skan
29258169689Skan2000-02-04  Neil Booth  <NeilB@earthling.net>
29259169689Skan
29260169689Skan	* cccp.c (main): Check 'dir' for a NULL pointer before passing
29261169689Skan	it to strcmp.
29262169689Skan
29263169689Skan2000-02-04  Zack Weinberg  <zack@wolery.cumb.org>
29264169689Skan
29265169689Skan	* recog.h: Remove NO_MD_PROTOTYPES ifdefs.
29266169689Skan	* genflags.c: Use the max_operand_1 logic from genemit.c to
29267169689Skan	calculate how many arguments gen_insn prototypes have.  Remove
29268169689Skan	NO_MD_PROTOTYPES ifdefs from the generated file.
29269169689Skan	* genoutput.c: Don't define NO_MD_PROTOTYPES in the generated
29270169689Skan	file.  Cast gen_insn initializers to insn_gen_fn.
29271169689Skan	* config/alpha/vms.h: Don't define NO_MD_PROTOTYPES.
29272169689Skan	* gcc.texi: Remove documentation of NO_MD_PROTOTYPES.
29273169689Skan
29274169689Skan2000-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29275169689Skan
29276169689Skan	* fixinc/Makefile.in (HDR): Add machname.h.
29277169689Skan	(clean): Likewise.
29278169689Skan
29279169689Skan2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
29280169689Skan
29281169689Skan	* config/c4x/c4x.h (c4x_compare_op0, c4x_compare_op1): Move ...
29282169689Skan	(c4x_regclass_map, c4x_caller_save_map, c4x_rpts_cycles): Ditto.
29283169689Skan	(c4x_cpu_version): Ditto.
29284169689Skan	* config/c4x/c4x-protos.h: ... here.
29285169689Skan
29286169689Skan2000-02-04  Jason Merrill  <jason@casey.cygnus.com>
29287169689Skan
29288169689Skan	* dwarf2out.c (add_abstract_origin_attribute): Don't call
29289169689Skan	gen_abstract_function on our context if we're a nested function.
29290169689Skan
29291169689Skan2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
29292169689Skan
29293169689Skan	* config/c4x/c4x.md (fixuns_truncqfqi2): Rewrite.
29294169689Skan	* config/c4x/libgcc.S (ufix_truncqfhi2n): Fix.
29295169689Skan
29296169689Skan2000-02-04  Bruce Korb  <bkorb@gnu.org>
29297169689Skan
29298169689Skan	* fixinc/genfixes(machname.h):
29299169689Skan	Move the functionality from gen-machine.h into this file.
29300169689Skan	UNdef MN_NAME_PAT if there are no names to change.
29301169689Skan	Also, be a little kinder when AutoGen is not present.
29302169689Skan
29303169689Skan	* fixinc/Makefile.in(machname.h):
29304169689Skan	Change the generation rule to use genfixes.
29305169689Skan
29306169689Skan	* fixinc/fixfixes.c(machine_name):
29307169689Skan	machine_name_fix's functionality now dependent upon whether
29308169689Skan	MN_NAME_PAT is defined.
29309169689Skan
29310169689Skan	* fixinc/fixtests.c(machine_name):
29311169689Skan	ditto.
29312169689Skan
29313169689Skan	* fixinc/fixlib.c(mn_get_regexps): conditional on definition
29314169689Skan	of MN_NAME_PAT.
29315169689Skan
29316169689Skan	* fixinc/fixlib.h(mn_get_regexps):
29317169689Skan	ditto
29318169689Skan
29319169689Skan	* fixinc/gen-machine.h: DELETED
29320169689Skan
29321169689Skan2000-02-04  Jan Hubicka  <jh@suse.cz>
29322169689Skan	    Richard Henderson  <rth@cygnus.com>
29323169689Skan
29324169689Skan	* i386.c (SAVE_REGS_FIRST): Remove.
29325169689Skan	(ix86_initial_elimination_offset): Handle only SAVE_REGS_FIRST mode.
29326169689Skan	(ix86_compute_frame_size): Likewise.
29327169689Skan	(ix86_expand_prologue): Likewise.  Use pro_epilogue_adjust_stack.
29328169689Skan	(ix86_emit_restore_regs): Remove.
29329169689Skan	(ix86_emit_epilogue_esp_adjustment): Use pro_epilogue_adjust_stack
29330169689Skan	when a frame pointer is in use.
29331169689Skan	(ix86_expand_epilogue): Handle only SAVE_REGS_FIRST mode.  Use mov
29332169689Skan	instead of pop to restore a register when profitable; emit leave
29333169689Skan	when profitable.
29334169689Skan	(ix86_attr_length_default): Handle pro_epilogue_adjust_stack
29335169689Skan	as a TYPE_LEA insn.
29336169689Skan	(ix86_adjust_cost): Handle pro_epilogue_adjust_stack as TYPE_ALU.
29337169689Skan	* i386.md (prologue_allocate_stack): Remove.
29338169689Skan	(epilogue_deallocate_stack): Remove.
29339169689Skan	(pro_epilogue_adjust_stack): New.
29340169689Skan
29341169689Skan2000-02-04  Richard Henderson  <rth@cygnus.com>
29342169689Skan
29343169689Skan	* function.c (diddle_return_value): Rework to use a callback function.
29344169689Skan	Use current_function_return_rtx if it's been set up.
29345169689Skan	(do_clobber_return_reg, clobber_return_register): New.
29346169689Skan	(do_use_return_reg, use_return_register): New.
29347169689Skan	(expand_function_end): Use them.
29348169689Skan	* stmt.c (expand_null_return): Likewise.
29349169689Skan	* function.h: Declare them.
29350169689Skan	* flow.c (mark_regs_live_at_end): Use diddle_return_value.
29351169689Skan	(mark_reg): Change arguments as appropriate for callback.
29352169689Skan	* integrate.c (expand_inline_function): Revert 19 Jan change.
29353169689Skan
29354169689SkanFri Feb  4 20:25:42 2000  Hans-Peter Nilsson  <hp@bitrange.com>
29355169689Skan
29356169689Skan	* tm.texi (Values in Registers): Fix typo: "fo" "for".
29357169689Skan	(Misc): Say the scheduler, not the Haifa scheduler.
29358169689Skan
29359169689Skan2000-02-04  Clinton Popetz  <cpopetz@cygnus.com>
29360169689Skan
29361169689Skan	* jump.c (mark_jump_label): Add in_mem param, check SYMBOL_REFs
29362169689Skan	when in_mem is set.  Update all callers.
29363169689Skan
29364169689Skan2000-02-04  Richard Henderson  <rth@cygnus.com>
29365169689Skan
29366169689Skan	* i386/openbsd.h (INT_ASM_OP): Define.
29367169689Skan
29368169689SkanFri Feb  4 10:51:30 2000  Hans-Peter Nilsson  <hp@bitrange.com>
29369169689Skan
29370169689Skan	* tm.texi: Fix various typos.
29371169689Skan
29372169689SkanThu Feb  3 17:17:32 2000  Steve Ellcey <sje@cup.hp.com>
29373169689Skan
29374169689Skan	* config/pa/pa-hpux11.h (LIB_SPEC): Correct typo in !p case.
29375169689Skan	(MD_STARTFILE_PREFIX_1): New macro.
29376169689Skan
29377169689SkanThu Feb  3 15:08:13 MET 2000  Jan Hubicka  <jh@suse.cz>
29378169689Skan
29379169689Skan	* i386.md (movstrsi, clrstrsi): Support variable sized copies, align
29380169689Skan	destination when needed.
29381169689Skan	(strmovsi, strsetsi): New expander.
29382169689Skan	(strmovsi_1, strsetsi_1): New pattern.
29383169689Skan	* i386.h (MASK_NO_ALIGN_STROP, MASK_INLINE_ALL_STROP,
29384169689Skan	TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS): New macros.
29385169689Skan	(TARGET_SWITCHES) Add align-stringops and inline-all-stringops.
29386169689Skan	* invoke.texi (align-stringops, inline-all-stringops): Document.
29387169689Skan
29388169689SkanWed Feb  2 23:04:47 2000   Krister Walfridsson <cato@df.lth.se>
29389169689Skan
29390169689Skan	* i386/netbsd.h (INT_ASM_OP): Define.
29391169689Skan
29392169689Skan2000-02-02  Zack Weinberg  <zack@wolery.cumb.org>
29393169689Skan
29394169689Skan	* cpplib.h (cpp_reader): Add new flag, no_directives.
29395169689Skan	* cpphash.c (macarg): Set it.
29396169689Skan	* cpplib.c (handle_directive): If no_directives is on and we
29397169689Skan	find a directive, issue an error and discard the line.
29398169689Skan
29399169689SkanWed Feb  2 13:07:10 2000  Jim Wilson  <wilson@cygnus.com>
29400169689Skan
29401169689Skan	* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Delete 'E' check for
29402169689Skan	FP constants.  Add ! TARGET_FPU check for FP constants.
29403169689Skan
29404169689Skan2000-02-02  Clinton Popetz  <cpopetz@cygnus.com>
29405169689Skan
29406169689Skan	* flow.c (find_basic_blocks): Don't kill label_value_list
29407169689Skan	here.
29408169689Skan	(cleanup_cfg): Kill it here.
29409169689Skan
29410169689SkanWed Feb  2 08:12:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
29411169689Skan
29412169689Skan	* expr.c (store_field): Ensure ALIGN is no stricter than the
29413169689Skan	alignment of EXP.
29414169689Skan
29415169689Skan2000-02-02  Richard Henderson  <rth@cygnus.com>
29416169689Skan
29417169689Skan	* jump.c (delete_insn): Partially revert 19 Jan change;
29418169689Skan	don't convert unused code labels to notes at -O0.
29419169689Skan
29420169689Skan2000-02-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
29421169689Skan
29422169689Skan	* toplev.c (rest_of_compilation): Run rebuild_jump_labels after
29423169689Skan	split_all_insns to recreate REG_LABEL notes for flow2 pass.
29424169689Skan
29425169689Skan2000-02-01  Richard Henderson  <rth@cygnus.com>
29426169689Skan
29427169689Skan	* i386.c (general_no_elim_operand): New.
29428169689Skan	(nonmemory_no_elim_operand): New.
29429169689Skan	(ix86_expand_move): Copy eliminable operands before a push.
29430169689Skan	* i386-protos.h: Declare new functions.
29431169689Skan	* i386.h (CAN_ELIMINATE): Simplify.
29432169689Skan	(PREDICATE_CODES): Update.
29433169689Skan	* i386.md (push insns): Don't allow eliminable register operands.
29434169689Skan
29435169689Skan2000-02-01  Richard Henderson  <rth@cygnus.com>
29436169689Skan
29437169689Skan	* flow.c (mark_regs_live_at_end): Follow expand_function_end and
29438169689Skan	replace BLKmode with DECL_RTL's mode.
29439169689Skan
29440169689Skan2000-02-01  Zack Weinberg  <zack@wolery.cumb.org>
29441169689Skan
29442169689Skan	* frame.c (find_fde): Convert for loop to do-while so compiler
29443169689Skan	sees it's always executed at least once.
29444169689Skan	* libgcc2.c (BBINBUFSIZE): Kill.
29445169689Skan	(__bb_init_prg): Use fgets.
29446169689Skan	(__bb_exit_trace_func): Don't paste strings.
29447169689Skan	* unroll.c (unroll_loop): Initialize unroll_type, not
29448169689Skan	unroll_number, and tweak logic to match.
29449169689Skan
29450169689Skan	* i386.c (ix86_expand_int_movcc): Add explicit 'return 0' in
29451169689Skan	all failure paths.
29452169689Skan	(ix86_flags_dependant): Likewise.  Disentangle control flow.
29453169689Skan	(ix86_sched_reorder): Break guts out to
29454169689Skan	ix86_sched_reorder_pentium and ix86_sched_reorder_ppro.
29455169689Skan	(ix86_sched_reorder_ppro): Initialize pair2 and insnp before
29456169689Skan	any possible use.
29457169689Skan
29458169689Skan	* i386.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Don't
29459169689Skan	use string concatenation.  Don't save and restore esi.
29460169689Skan
29461169689Skan	* fixinc/Makefile.in (fixincl.sh): Don't depend on inclhack.def.
29462169689Skan	(machname.h): Remove script to separate file.  Use two-step
29463169689Skan	sequence so target is not created if script fails.
29464169689Skan	* fixinc/gen-machname.h: New file.  Handle case where no non-reserved
29465169689Skan	identifiers are defined.
29466169689Skan	* fixinc/fixlib.c (mn_get_regexps): Return a flag: if MN_NAME_PAT is
29467169689Skan	an empty string, machine_name doesn't need to do anything at
29468169689Skan	all.
29469169689Skan	(is_cxx_header): Add more cases to regexp.
29470169689Skan	* fixinc/fixlib.h: Update prototype.
29471169689Skan	* fixinc/fixtests.c, fixinc/fixfixes.c: Update callers of
29472169689Skan	mn_get_regexps.
29473169689Skan	* fixinc/fixincl.c: Define NO_BOGOSITY.
29474169689Skan
29475169689Skan	* fixinc/inclhack.def (no_double_slash, else_endif_label): Ifdef out.
29476169689Skan	(hp_sysfile): Add missing comma.
29477169689Skan	(math_exception): Put the wrapper ifdefs at the beginning and
29478169689Skan	the end of the file.
29479169689Skan	* fixinc/fixincl.x, fixinc/inclhack.sh: Regenerate.
29480169689Skan
29481169689Skan2000-02-01  Richard Henderson  <rth@cygnus.com>
29482169689Skan
29483169689Skan	* sparc.c (fp_zero_operand): Turn into a normal predicate.
29484169689Skan	Use CONST0_RTX.  Update all callers.
29485169689Skan	* sparc.h, sparc-protos.h: Update accordingly.
29486169689Skan	* sparc.md (fp mov insns): Use fp_zero_operand directly
29487169689Skan	where applicable.
29488169689Skan
29489169689SkanWed Feb  2 02:59:45 2000  Hans-Peter Nilsson  <hp@bitrange.com>
29490169689Skan
29491169689Skan	* tm.texi (Values in Registers): Fix typo in HARD_REGNO_NREGS
29492169689Skan	example.
29493169689Skan
29494169689Skan2000-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29495169689Skan
29496169689Skan	* Makefile.in (specs.ready): New target.
29497169689Skan	(fixinc.sh): Depend on `specs.ready' instead of `specs'.
29498169689Skan
29499169689Skan2000-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29500169689Skan
29501169689Skan	* fixinc.irix: Use unique filenames for writing into /tmp,
29502169689Skan	* fixinc.ptx: Likewise.
29503169689Skan	* fixinc.sco: Likewise.
29504169689Skan	* fixinc.svr4: Likewise.
29505169689Skan	* fixinc.winnt: Likewise.
29506169689Skan
29507169689Skan2000-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29508169689Skan
29509169689Skan	* tsystem.h: New file.
29510169689Skan
29511169689Skan	* Makefile.in (libgcc2.a, stmp-multilib, crtbegin.o, crtend.o,
29512169689Skan	s-crtS): Depend on tsystem.h.
29513169689Skan
29514169689Skan	* crtstuff.c: Include tsystem.h.
29515169689Skan	* frame.c: Likewise.
29516169689Skan	* libgcc2.c: Likewise.
29517169689Skan
29518169689SkanTue Feb  1 19:53:27 CET 2000  Jan Hubicka  <jh@suse.cz>
29519169689Skan
29520169689Skan	* builtins.c (expand_builtin_memset): Expand for variable sized
29521169689Skan	lengths too.
29522169689Skan
29523169689Skan2000-02-01  David Billinghurst <David.Billinghurst@riotinto.com.au>
29524169689Skan
29525169689Skan	* config/mips/iris6.h (SUBTARGET_ASM_SPEC) : Default ISA based
29526169689Skan	on ABI.
29527169689Skan
29528169689SkanTue Feb  1 00:57:40 2000  Hans-Peter Nilsson  <hp@bitrange.com>
29529169689Skan
29530169689Skan	* dwarfout.c (SHORT_TYPE_SIZE): Correct default.
29531169689Skan
29532169689Skan	* tm.texi (Type Layout): Correct entry for CHAR_TYPE_SIZE.
29533169689Skan
29534169689Skan2000-01-31  Chandra Chavva <cchavva@cygnus.com>
29535169689Skan
29536169689Skan	* combine.c (try_combine) [HAVE_cc0]: Trying to check the missed
29537169689Skan	case 3->2 combining (combining with splitting) in which 2 is CC0
29538169689Skan	setter/user and 3 is user. The rest of cases 2->1 and 3->2 are
29539169689Skan	checked at the begining of the function with the aid of calling
29540169689Skan	function 'can_combine_p'.
29541169689Skan
29542169689Skan2000-01-31  Dave Brolley  <brolley@redhat.com>
29543169689Skan
29544169689Skan	* cccp.c (struct argdata): Redeclare 'newlines' field as 'int'.
29545169689Skan
29546169689Skan2000-01-31  Jason Merrill  <jason@casey.cygnus.com>
29547169689Skan
29548169689Skan	* jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the
29549169689Skan	new label.
29550169689Skan
29551169689Skan2000-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29552169689Skan
29553169689Skan	* gansidecl.h (PROTO, VPROTO, PVPROTO): Delete macros.
29554169689Skan
29555169689Skan	* sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit):
29556169689Skan	PROTO -> PARAMS.
29557169689Skan
29558169689Skan2000-01-30  Zack Weinberg  <zack@wolery.cumb.org>
29559169689Skan
29560169689Skan	* i386/386bsd.h, i386/beos-pe.h, i386/bsd386.h, i386/crtdll.h,
29561169689Skan	i386/cygwin.h, i386/dgux.h, i386/djgpp-rtems.h, i386/djgpp.h,
29562169689Skan	i386/freebsd.h, i386/gnu.h, i386/i386-aout.h, i386/i386-coff.h,
29563169689Skan	i386/i386-interix.h, i386/i386elf.h, i386/linux.h, i386/lynx-ng.h,
29564169689Skan	i386/lynx.h, i386/mach.h, i386/mingw32.h, i386/moss.h,
29565169689Skan	i386/netbsd.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
29566169689Skan	i386/ptx4-i.h, i386/rtems.h, i386/rtemself.h, i386/sco.h,
29567169689Skan	i386/sequent.h, i386/sun.h, i386/sysv4.h, i386/uwin.h, i386/vsta.h,
29568169689Skan	i386/vxi386.h, i386/win-nt.h, i386/win32.h:
29569169689Skan	Remove -Di386 -Acpu(i386) -Amachine(i386) from CPP_PREDEFINES.
29570169689Skan
29571169689Skan	* i386/osf1elf.h, i386/scodbx.h, i386/seq-sysv3.h, i386/sysv5.h:
29572169689Skan	Add %(cpp_cpu) to CPP_SPEC.
29573169689Skan
29574169689Skan	* i386/osf1elf.h, i386/osfelf.h, i386/osfrose.h:
29575169689Skan	Add %(cc1_cpu) to CC1_SPEC.
29576169689Skan
29577169689Skan2000-01-28  Ulrich Drepper  <drepper@redhat.com>
29578169689Skan
29579169689Skan	* c-decl.c (c_decode_option): Accept optional numeric argument to
29580169689Skan	-Wformat and set warn_format.
29581169689Skan	* c-common.c: Don't emit warning about non-constant printf format
29582169689Skan	string unless warn_format > 1.
29583169689Skan
29584169689Skan2000-01-30  Richard Henderson  <rth@cygnus.com>
29585169689Skan
29586169689Skan	* alpha.md (return_internal): Allow after reload only.
29587169689Skan
29588169689Skan2000-01-30  Richard Henderson  <rth@cygnus.com>
29589169689Skan
29590169689Skan	* i386.c (ix86_compute_frame_size): Omit padding1 if the
29591169689Skan	local frame size is zero.
29592169689Skan
29593169689Skan2000-01-30  Richard Henderson  <rth@cygnus.com>
29594169689Skan
29595169689Skan	* alpha.c (alpha_expand_epilogue): Don't emit the return insn.
29596169689Skan	* alpha.h (EPILOGUE_USES): New.  Mark $26 live.
29597169689Skan	* alpha.md (return): Turn into an expander.
29598169689Skan	(return_internal): Don't use $26.
29599169689Skan	(epilogue): Emit the return insn.
29600169689Skan
29601169689Skan2000-01-30  Richard Henderson  <rth@cygnus.com>
29602169689Skan
29603169689Skan	* alpha.md (negtf2, abstf2): Fix word order thinko.
29604169689Skan	(extendsftf2): New.
29605169689Skan	(trunctfsf2): Avoid intermediate rounding errors.
29606169689Skan
29607169689Skan2000-01-30  Zack Weinberg  <zack@wolery.cumb.org>
29608169689Skan
29609169689Skan	* cppfiles.c (find_position): Drop 'colp' argument, return the
29610169689Skan	new line base.
29611169689Skan	(read_and_prescan): Adjust to match.  Don't ever manipulate
29612169689Skan	line or line_base except via find_position.
29613169689Skan
29614169689Skan2000-01-29  Zack Weinberg  <zack@wolery.cumb.org>
29615169689Skan
29616169689Skan	* c-parse.in: Apply Ulrich's changes from c-parse.y.
29617169689Skan	* c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c:
29618169689Skan	Regenerate.
29619169689Skan
29620169689Skan2000-01-29  Zack Weinberg  <zack@wolery.cumb.org>
29621169689Skan
29622169689Skan	* cpperror.c (cpp_file_line_for_message): If 'line' is zero,
29623169689Skan	just print "<command line>".  If 'filename' is null or an
29624169689Skan	empty string, print "<stdin>" for the filename.
29625169689Skan	* cpplib.c (do_define): Don't print the 'location of the
29626169689Skan	previous definition' message if we're still parsing the
29627169689Skan	command line.
29628169689Skan	(cpp_pedwarn_with_file_and_line): Always call
29629169689Skan	cpp_file_line_for_message.
29630169689Skan
29631169689Skan2000-01-29  Mark Mitchell  <mark@codesourcery.com>
29632169689Skan
29633169689Skan	* flow.c (mark_regs_live_at_end): Fix typo.
29634169689Skan
29635169689Skan2000-01-28  Ulrich Drepper  <drepper@redhat.com>
29636169689Skan
29637169689Skan	* c-common.c: Adjust variable names, comments, help strings to c99.
29638169689Skan	* c-lex.c: Likewise.
29639169689Skan	* c-parse.y: Likewise.
29640169689Skan	* c-tree.h: Likewise.
29641169689Skan	* cccp.c: Likewise.
29642169689Skan	* cpplib.h: Likewise.
29643169689Skan	* c-decl.c: Likewise.  Recognize options with names "*99" as well.
29644169689Skan	* cppinit.c: Likewise.
29645169689Skan
29646169689Skan2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
29647169689Skan
29648169689Skan	* c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries.
29649169689Skan	* c4x.c: Define the optab rtx values.
29650169689Skan	(c4x_add_gc_roots): Add the ggc roots for these optab rtx values.
29651169689Skan	(c4x_emit_libcall): Use new optab rtx values.
29652169689Skan	(c4x_emit_libcall3): Likewise.
29653169689Skan	(c4x_emit_libcall_mulhi): Likewise.
29654169689Skan	* c4x-protos.h: Add prototypes for optab rtx values and change
29655169689Skan	prototypes for above c4x_emit_libcall functions.
29656169689Skan
29657169689Skan2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
29658169689Skan
29659169689Skan	* c4x.c (c4x_output_ascii): Restrict line length of output when TI
29660169689Skan	syntax is used.
29661169689Skan	(c4x_function_prologue): Use regnames intead of float_reg_names when
29662169689Skan	TI syntax is used.
29663169689Skan	(c4x_function_epilogue): Likewise.
29664169689Skan	(c4x_print_operand): Likewise.
29665169689Skan	* c4x.h (HOST_WIDE_INT_PRINT_HEX): Redefine.
29666169689Skan	* c4x.md (set_high): Disable for TARGET_TI.
29667169689Skan
29668169689Skan2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
29669169689Skan
29670169689Skan	* c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading
29671169689Skan	of framepointer + constant to ADDR_REGS class.
29672169689Skan	* c4x.md (addqi3, addqi3_noclobber_reload): Update.
29673169689Skan	* c4x.c (std_or_reg_operand): New function.
29674169689Skan	* c4x-protos.h (std_or_reg_operand): Prototype it.
29675169689Skan
29676169689Skan2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
29677169689Skan
29678169689Skan	* t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same
29679169689Skan		object names as libgcc2.c.
29680169689Skan	* libgcc.S: Use newly defined names.
29681169689Skan
29682169689SkanFri Jan  7 19:48:04 CET 2000  Jan Hubicka  <jh@suse.cz>
29683169689Skan	* sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New
29684169689Skan	function.
29685169689Skan	* sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare.
29686169689Skan	* basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro.
29687169689Skan	(FLOW_LOOP_LAST_BLOCK): Likewise.
29688169689Skan
29689169689Skan2000-01-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
29690169689Skan
29691169689Skan	* basic-block.h (struct loop): New fields 'first' and 'last'.
29692169689Skan	* flow.c (flow_loops_find): Compute loop->first and loop->last.
29693169689Skan	(flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG
29694169689Skan	and loop->last to check for NOTE_INSN_LOOP_END.
29695169689Skan
29696169689SkanFri Jan 28 10:57:58 2000  Jason Eckhardt  <jle@cygnus.com>
29697169689Skan
29698169689Skan	* predict.c (estimate_probability): Use the new FIRST and LAST fields
29699169689Skan	of the loop descriptor rather than HEADER and LATCH. Also added
29700169689Skan	missing break statements as well making some coding style modifications
29701169689Skan	as suggested by Michael Hayes.
29702169689Skan
29703169689Skan2000-01-28  Richard Henderson  <rth@cygnus.com>
29704169689Skan
29705169689Skan	* flow.c (find_basic_blocks): Remove do_cleanup argument.
29706169689Skan	Break out that code ...
29707169689Skan	(cleanup_cfg): ... here.
29708169689Skan	(commit_one_edge_insertion): Detect a return instruction being
29709169689Skan	emitted to an edge.  Emit a barrier following; clear fallthru.
29710169689Skan	(commit_edge_insertions): Verify CFG consistency.
29711169689Skan	* function.c (expand_function_start): Kill unused variable.
29712169689Skan	(expand_function_end): Likewise.
29713169689Skan	(thread_prologue_and_epilogue_insns): Use insert_insn_on_edge
29714169689Skan	to insert the epilogue.
29715169689Skan
29716169689Skan	* gcse.c (gcse_main): Adjust for find_basic_blocks change.
29717169689Skan	(delete_null_pointer_checks): Likewise.
29718169689Skan	* output.h: Likewise.
29719169689Skan	* reg-stack.c (reg_to_stack): Likewise.
29720169689Skan	* toplev.c (rest_of_compilation): Likewise.  Run
29721169689Skan	thread_prologue_and_epilogue_insns after rebuilding the CFG.
29722169689Skan
29723169689Skan2000-01-28  Richard Henderson  <rth@cygnus.com>
29724169689Skan
29725169689Skan	* Makefile.in (flow.o): Revert 24 Jan change.
29726169689Skan	* flow.c (mark_regs_live_at_end): Likewise.  Force BLKmode
29727169689Skan	FUNCTION_VALUE result to DECL_RESULT's mode.
29728169689Skan
29729169689Skan	* haifa-sched.c (schedule_insns): Don't recompute reg info
29730169689Skan	after reload.
29731169689Skan
29732169689Skan2000-01-28  Zack Weinberg  <zack@wolery.cumb.org>
29733169689Skan
29734169689Skan	* configure.in: Make --enable-cpplib the default.
29735169689Skan	* configure: Regenerate.
29736169689Skan	* gcc.dg/990119-1.c: No longer expected to fail.
29737169689Skan
29738169689Skan2000-01-28  Bernd Schmidt  <bernds@cygnus.co.uk>
29739169689Skan
29740169689Skan	* jump.c (jump_optimize_1): Delete an optimization that is also done
29741169689Skan	by merge_blocks in flow.
29742169689Skan
29743169689Skan2000-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29744169689Skan
29745169689Skan	* diagnostic.c (build_message_string, output_printf,
29746169689Skan	line_wrapper_printf): Add ATTRIBUTE_PRINTF_*.
29747169689Skan	(build_location_prefix): Fix non-literal format string.
29748169689Skan
29749169689Skan2000-01-27  Richard Henderson  <rth@cygnus.com>
29750169689Skan
29751169689Skan	* alpha.md (trunctfsf2): New.
29752169689Skan
29753169689Skan2000-01-27  Andrew Hobson  <ahobson@eng.mindspring.net>
29754169689Skan
29755169689Skan	* configure.in (alpha-dec-osf5): Enable MASK_SUPPORT_ARCH.
29756169689Skan
29757169689Skan2000-01-27  Zack Weinberg  <zack@wolery.cumb.org>
29758169689Skan
29759169689Skan	* cppinit.c (cpp_handle_option): Recognize C++ comments under
29760169689Skan	-std=gnu89.
29761169689Skan	* cpplib.c (skip_block_comment, skip_line_comment): Split code
29762169689Skan	out of...
29763169689Skan	(skip_comment) ... here.  Permit C++ comments in system
29764169689Skan	headers always.  Warn about C++ comments in user code under
29765169689Skan	-std=gnu89 -pedantic.
29766169689Skan	(copy_comment): Use skip_comment.
29767169689Skan	(cpp_skip_hspace, cpp_get_token): skip_comment can no longer
29768169689Skan	return EOF.
29769169689Skan	(consider_directive_while_skipping, do_else, do_endif): Call
29770169689Skan	validate_else unconditionally.
29771169689Skan	(validate_else): Check CPP_PEDANTIC here.  Accept non-comment
29772169689Skan	text after the conditional in a system header.
29773169689Skan	* cpplib.h (struct cpp_buffer): Add flag
29774169689Skan	warned_cplusplus_comments.
29775169689Skan
29776169689Skan2000-01-27  Geoffrey Keating  <geoffk@cygnus.com>
29777169689Skan
29778169689Skan	* emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
29779169689Skan	Use unshare_all_rtl_1.
29780169689Skan	(unshare_all_rtl_again): New function.
29781169689Skan	(unshare_all_rtl_1): New function split out of unshare_all_rtl.
29782169689Skan
29783169689Skan	* function.c (purge_addressof_1): Use unshare_all_rtl_again
29784169689Skan	rather than resetting the 'used' flags ourself.
29785169689Skan
29786169689Skan	* toplev.c (rest_of_compilation): Add current_function_decl
29787169689Skan	to the unshare_all_rtl call.
29788169689Skan	* tree.h: Prototype unshare_all_rtl.
29789169689Skan	* rtl.h: Prototype unshare_all_rtl_again here.
29790169689Skan
29791169689Skan2000-01-27  Geoffrey Keating  <geoffk@cygnus.com>
29792169689Skan
29793169689Skan	* genoutput.c (output_prologue): Include ggc.h in generated
29794169689Skan	files.
29795169689Skan	* Makefile.in (insn-output.o): Depends on ggc.h.
29796169689Skan
29797169689Skan2000-01-27  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
29798169689Skan	    Hans-Peter Nilsson  <hp@bitrange.com>
29799169689Skan
29800169689Skan	* ns32k/xm-ns32k.h (memcpy, memset, memcmp): Delete.
29801169689Skan	Remove redundant include of xm-ns32k.h.
29802169689Skan	* ns32k/xm-genix.h (memcpy, memset, memcmp): Add definitions.
29803169689Skan	Remove redundant include of xm-ns32k.h.
29804169689Skan	* ns32k/xm-netbsd.h (memcpy, memset, memcmp): No longer undefine.
29805169689Skan	Remove redundant include of xm-ns32k.h.
29806169689Skan	* ns32k/netbsd.h (TARGET_DEFAULT): Enable multiply-add instructions.
29807169689Skan
29808169689Skan	* ns32k/ns32k.h: Update comment on multiply-add instructions.
29809169689Skan	(TARGET_SWITCHES): Add documentation strings.
29810169689Skan	(DWARF_FRAME_REGNUM): Override default definition.
29811169689Skan	(REG_CLASS_CONTENTS): Add comments.
29812169689Skan	(SUBSET_P): Format to reduce line length.
29813169689Skan	(SMALL_REGISTER_CLASSES): Make a run time option.
29814169689Skan	(GO_IF_NONINDEXED_ADDRESS): Reformat.
29815169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Ensure that cfun is non NULL before
29816169689Skan	dereferencing it.  Braces to avoid "ambiguous else" were misplaced.
29817169689Skan	(regclass_map): fix typo in comment.
29818169689Skan	* ns32k/ns32k.c: Add spaces before parentheses for consistant style.
29819169689Skan	Prefer gen_rtx_FOO(...) to gen_rtx(FOO,...).
29820169689Skan	(trace, reg_or_mem_operand): Delete, unused function.
29821169689Skan	(calc_address_cost): Small offsets are cheaper than large ones.
29822169689Skan	(expand_block_move): Generate more efficient code when bytes is a
29823169689Skan	known at compile time.
29824169689Skan	* ns32k/ns32k.md: Alternate constraints for multiply-add instructions.
29825169689Skan	(udivmodsi4, udivmodhi4, udivmodqi4): Use nonimmediate_operand
29826169689Skan	instead of reg_or_mem_operand.
29827169689Skan
29828169689Skan	* ns32k/ns32k.md: Use nonimmediate_operand or stricter for outputs,
29829169689Skan	not general_operand.  Similarly use "=rm" or stricter, not "=g".
29830169689Skan	For input operands, use stricter constraints than "g" if not
29831169689Skan	general_operand.  Similarly use stricter predicate than
29832169689Skan	"general_operand" when stricter constraints than "g" are present,
29833169689Skan	except for matching constraints.
29834169689Skan	(movstrsi): Use "memory_operand" for operands 0 and 1.
29835169689Skan	(truncsiqi2, truncsihi2, trunchiqi2): Remove.
29836169689Skan	(udivmoddisi4_internal): Use nonimmediate_operand for operand 0,
29837169689Skan	not reg_or_mem_operand.
29838169689Skan	(udivmoddisi4): Ditto.
29839169689Skan	Use nonimmediate_operand for operand 1, not reg_or_mem_operand.
29840169689Skan	Use nonimmediate_operand for operand 3, not register_operand.
29841169689Skan	(udivmoddiqi4_internal): Use register_operand for operand 1, not
29842169689Skan	reg_or_mem_operand.
29843169689Skan
29844169689Skan2000-01-27  Fred Fish  <fnf@be.com>
29845169689Skan
29846169689Skan	* gthr-posix.h: Fix typo; compatibily -> compatibility.
29847169689Skan	* gthr-single.h: Likewise.
29848169689Skan	* gthr-solaris.h: Likewise.
29849169689Skan	* gthr-vxworks.h: Likewise.
29850169689Skan	* gthr-win32.h: Likewise.
29851169689Skan	* gthr.h: Likewise.
29852169689Skan
29853169689Skan2000-01-27  Zack Weinberg  <zack@wolery.cumb.org>
29854169689Skan
29855169689Skan	* cppinit.c: Add " (cpplib)" to end of string printed by
29856169689Skan	-v / --version.
29857169689Skan
29858169689Skan2000-01-27  Richard Henderson  <rth@cygnus.com>
29859169689Skan
29860169689Skan	* alpha.c (alpha_emit_conditional_move): Use VOIDmode when
29861169689Skan	testing for a signed comparison.
29862169689Skan	(alpha_emit_floatuns): New.
29863169689Skan	* alpha-protos.h: Declare it.
29864169689Skan	* alpha.md (floatunsdisf2, floatunsdidf2): New.
29865169689Skan	(extendsfdf2): Tidy.
29866169689Skan
29867169689Skan2000-01-27  Jakub Jelinek  <jakub@redhat.com>
29868169689Skan
29869169689Skan	* config/sparc/linux64.h (CC1_SPEC): If compiling -m32 with -g but
29870169689Skan	no -g option specifying debugging format, default to -gstabs+.
29871169689Skan
29872169689SkanWed Jan 26 22:19:14 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
29873169689Skan
29874169689Skan	* calls.c (special_function_p): New argument fork_or_exec.
29875169689Skan	(expand_call): When profile_arc_flag is set and the function
29876169689Skan	is in the fork_or_exec group, call __bb_fork_func first.
29877169689Skan	* libgcc2.c, _bb module (__bb_fork_func): New function.
29878169689Skan	(__bb_exit_func): If fcntl F_SETLKW is available, use it to lock
29879169689Skan	output file.
29880169689Skan	* config/svr4.h (TARGET_HAS_F_SETLKW): Define.
29881169689Skan	* tree.h (special_function_p): Update prototype.
29882169689Skan
29883169689Skan2000-01-26  Richard Henderson  <rth@cygnus.com>
29884169689Skan
29885169689Skan	* alpha.c (alpha_split_tfmode_pair): New.
29886169689Skan	* alpha-protos.h: Declare it.
29887169689Skan	* alpha.md (abstf2, negtf2): New.
29888169689Skan	(movtf insn): Add input G constraint.
29889169689Skan	(movtf splitter): Use alpha_split_tfmode_pair.
29890169689Skan
29891169689Skan2000-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29892169689Skan
29893169689Skan	* i386/cygwin.h: PROTO -> PARAMS.
29894169689Skan
29895169689Skan2000-01-26  Jakub Jelinek  <jakub@redhat.com>
29896169689Skan
29897169689Skan	* config/sparc/sparc.c (sparc_emit_float_lib_cmp): Handle
29898169689Skan	TARGET_ARCH32 again. Handle ORDERED, UN* and LTGT comparisons
29899169689Skan	using _Qp_cmp/_Q_cmp and testing the return value.
29900169689Skan	(print_operand): Call reverse_condition_maybe_unordered if
29901169689Skan	we are handling CCFPmode or CCFPEmode.
29902169689Skan	Handle ORDERED, UN* and LTGT comparisons.
29903169689Skan	* config/sparc/sparc.md (cmptf): Use even on TARGET_ARCH32
29904169689Skan	if not TARGET_HARD_QUAD.
29905169689Skan	(seq, sne, sgt, slt, sge, sle, beq, bne, bgt, blt, bge, ble,
29906169689Skan	bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, bltgt):
29907169689Skan	Call sparc_emit_float_lib_cmp even on TARGET_ARCH32.
29908169689Skan	Adjust gen_b* calls so that they reflect return comparison of
29909169689Skan	sparc_emit_float_lib_cmp.
29910169689Skan
29911169689Skan2000-01-26  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
29912169689Skan
29913169689Skan	* config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume
29914169689Skan	incoming operands array is large enough for one more operand.
29915169689Skan	(alpha_emit_xfloating_arith): Likewise.
29916169689Skan
29917169689Skan2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>
29918169689Skan
29919169689Skan	* fixinc/Makefile.in (machname.h): SunOS 4 sed can't handle a
29920169689Skan	file with one line and no trailing newline.
29921169689Skan	Patch by Kaveh Ghazi <ghazi@caip.rutgers.edu>.
29922169689Skan	* fixinc/fixtests.c (machine_name_test): Fix fencepost error
29923169689Skan	checking if the match is on the line.
29924169689Skan	* fixinc/gnu-regex.c: Provide regerror not __regerror.
29925169689Skan
29926169689Skan2000-01-25  Richard Henderson  <rth@cygnus.com>
29927169689Skan
29928169689Skan	* sparc.c (output_cbranch): Fix accidental squashing of the
29929169689Skan	fp branch pre-delay nop.
29930169689Skan
29931169689Skan2000-01-25  Richard Henderson  <rth@cygnus.com>
29932169689Skan
29933169689Skan	* tree.def (UNNE_EXPR): Remove.
29934169689Skan	* c-typeck.c (build_binary_op): Don't handle it.
29935169689Skan	* expr.c (expand_expr, do_jump, do_store_flag): Likewise.
29936169689Skan
29937169689Skan	* rtl.def (UNNE): Remove.
29938169689Skan	(LTGT): Add.
29939169689Skan	* jump.c (reverse_condition): Update accordingly.
29940169689Skan	(swap_condition): Likewise.
29941169689Skan	(comparison_dominates_p): Handle unordered comparisons.
29942169689Skan	(reverse_condition_maybe_unordered): New.
29943169689Skan	* rtl.h (reverse_condition_maybe_unordered): Declare.
29944169689Skan
29945169689Skan	* sparc.c (select_cc_mode): Update for UNNE/LTGT.
29946169689Skan	(output_cbranch): Use reverse_condition_maybe_unordered and LTGT.
29947169689Skan	* sparc.h (REVERSIBLE_CC_MODE): Always true.  Update docs.
29948169689Skan	* sparc.md (bltgt): New.
29949169689Skan
29950169689Skan2000-01-25  Nick Clifton  <nickc@redhat.com>
29951169689Skan
29952169689Skan	* emit-rtl.c (emit_insn): Only check machine class insns for
29953169689Skan	improper emission of a RETURN.
29954169689Skan
29955169689Skan2000-01-25  Richard Henderson  <rth@cygnus.com>
29956169689Skan
29957169689Skan	* Makefile.in (flow.o): Depend on $(EXPR_H).
29958169689Skan	* flow.c (mark_regs_live_at_end): Use hard_function_value, i.e.
29959169689Skan	duplicate the structure of diddle_return_value for keeping regs live.
29960169689Skan
29961169689Skan2000-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
29962169689Skan
29963169689Skan	* loop.c (current_loop_info): Delete.
29964169689Skan	(consec_sets_invariant_p): Add loop argument, update callers.
29965169689Skan	(get_condition_for_loop): Likewise.
29966169689Skan	(count_nonfixed_reads, update_giv_derive): Likewise.
29967169689Skan	(simplify_giv_expr, general_induction_var): Likewise.
29968169689Skan	(consec_sets_giv, recombine_givs): Likewise.
29969169689Skan	(move_movables): Delete loop_start and loop_end arguments,
29970169689Skan	add loop argument, and update callers.
29971169689Skan	(find_mem_givs, check_final_value): Likewise.
29972169689Skan	(record_giv, maybe_eliminate_biv, maybe_eliminate_biv_1): Likewise.
29973169689Skan	(loop_invariant_p): Rename from invariant_p, add loop argument, and
29974169689Skan	update callers.
29975169689Skan	(basic_induction_var): Add loop argument, delete loop_level argument,
29976169689Skan	and update callers.
29977169689Skan	* unroll.c (iteration_info): Delete loop_start and loop_end arguments,
29978169689Skan	add loop argument, and update callers.
29979169689Skan	(find_splittable_regs, find_splittable_givs): Likewise.
29980169689Skan	(reg_dead_after_loop, loop_find_equiv_value): Likewise.
29981169689Skan	(final_biv_value, final_giv_value, back_branch_in_range_p): Likewise.
29982169689Skan	(biv_total_increment): Delete loop_start and loop_end arguments;
29983169689Skan	update callers.
29984169689Skan	(precondition_loop_p): Delete loop_start and loop_info arguments;
29985169689Skan	update callers.
29986169689Skan	* loop.h (get_condition_for_loop): Add loop argument.
29987169689Skan	(biv_total_increment): Delete loop_start and loop_end arguments.
29988169689Skan	(precondition_loop_p): Delete loop_start and loop_info arguments;
29989169689Skan	add loop argument.
29990169689Skan	(final_biv_value): Delete loop_start and loop_end arguments;
29991169689Skan	add loop argument.
29992169689Skan	(final_giv_value, back_branch_in_range_p): Likewise.
29993169689Skan
29994169689Skan2000-01-25  Gavin Romig-Koch  <gavin@cygnus.com>
29995169689Skan
29996169689Skan	* config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16.
29997169689Skan
29998169689Skan2000-01-25  Gavin Romig-Koch  <gavin@cygnus.com>
29999169689Skan
30000169689Skan	* Makefile.in (c-gperf.h) : Change the "See" pointer to
30001169689Skan	point to the new "generated_files" doc.
30002169689Skan
30003169689Skan2000-01-25  Clinton Popetz  <cpopetz@cygnus.com>
30004169689Skan
30005169689Skan	* config/fp-bit.c (_unord_f2): Fix typo.
30006169689Skan
30007169689Skan2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>
30008169689Skan
30009169689Skan	* c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c,
30010169689Skan	c-typeck.c, objc/objc-act.c: Remove all references to obstack
30011169689Skan	functions obsoleted by GC, such as push_obstacks_nochange,
30012169689Skan	end_temporary_allocation, savealloc, saveable_tree_cons, etc.
30013169689Skan	and code which existed only to decide whether or not to call
30014169689Skan	them.  Remove now-unused NESTED argument from start_function;
30015169689Skan	all callers changed.  Do not change behavior based on ggc_p.
30016169689Skan	The use of the ixp_obstack in c-iterate.c and the util_obstack
30017169689Skan	in objc/objc-act.c remain; these are not obsoleted by garbage
30018169689Skan	collection.
30019169689Skan	* c-tree.h: Update prototype for start_function.
30020169689Skan
30021169689Skan	* c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild.
30022169689Skan
30023169689Skan2000-01-25  Clinton Popetz  <cpopetz@cygnus.com>
30024169689Skan
30025169689Skan	* config/mips/mips.md (zero_extendsidi2_internal): Disable for
30026169689Skan	mips16.
30027169689Skan
30028169689Skan2000-01-25  Richard Henderson  <rth@cygnus.com>
30029169689Skan
30030169689Skan	* sparc-protos.h (select_cc_mode): Declare.
30031169689Skan	* sparc.c (select_cc_mode): New.  Handle unordered compares.
30032169689Skan	(output_cbranch): Always reverse via code change.  Handle
30033169689Skan	unordered compares.  Factor tests and string updates.
30034169689Skan	* sparc.h (SELECT_CC_MODE): Split out to select_cc_mode.
30035169689Skan	(REVERSIBLE_CC_MODE): Also exclude CCFPmode.
30036169689Skan	* sparc.md (bunordered, bordered): New.
30037169689Skan	(bungt, bunlt, buneq, bunge, bunle): New.
30038169689Skan
30039169689Skan2000-01-25  Richard Henderson  <rth@cygnus.com>
30040169689Skan
30041169689Skan	* dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root.
30042169689Skan	* ggc-common.c (ggc_add_rtx_varray_root): New.
30043169689Skan	(ggc_mark_rtx_varray): New.
30044169689Skan	(ggc_mark_rtx_varray_ptr): New.  Shift all ggc_mark_foo_ptr
30045169689Skan	functions down below ggc_mark_foo.
30046169689Skan	* ggc.h (ggc_add_rtx_varray_root, ggc_mark_rtx_varray): Declare.
30047169689Skan
30048169689Skan2000-01-25  Richard Henderson  <rth@cygnus.com>
30049169689Skan
30050169689Skan	* alpha.c (secondary_reload_class): Don't allocate a secondary
30051169689Skan	for integral mode memories into FLOAT_REGS.  Rearrange the more
30052169689Skan	complicated memory expression inward.
30053169689Skan
30054169689Skan2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>
30055169689Skan
30056169689Skan	* inclhack.def: Fixes to play nicer with FreeBSD, and
30057169689Skan	corrections to comments.
30058169689Skan	(cxx_unready): Add select expression.
30059169689Skan	(irix_sockaddr): Add bypass expression.
30060169689Skan	(machine_ansi_h_va_list): New fix.
30061169689Skan	(stdio_va_list): No need to edit _BSD_VA_LIST_.
30062169689Skan	Split out addition of "#include <stdarg.h>" to...
30063169689Skan	(stdio_stdarg_h): ... here.
30064169689Skan	(systypes_for_aix): Rename to systypes_stdlib_size_t.  Apply
30065169689Skan	to stdlib.h also.  Do not munge _BSD_SIZE_T_.
30066169689Skan	(sysz_stdlib_for_sun): Delete duplicate fix for unprotected
30067169689Skan	size_t.
30068169689Skan	(ultrix_ifdef): Tighten up select expression.
30069169689Skan
30070169689Skan	* fixincl.tpl: Exorcise 'exesel'.  Rewrite calculations of
30071169689Skan	re_ct and max_mach to avoid use of shell.  Make printed names
30072169689Skan	match names in inclhack.def.  Use static copyright date.
30073169689Skan	Don't count c_test and test expressions as requiring regex_t
30074169689Skan	slots.  Add some commentary.
30075169689Skan	* inclhack.tpl: Do not include the 'This script contains N
30076169689Skan	fixup scripts' line if PROGRAM is defined.  Use static
30077169689Skan	copyright date.
30078169689Skan
30079169689Skan2000-01-24  Jason Merrill  <jason@casey.cygnus.com>
30080169689Skan
30081169689Skan	* dwarf2out.c: include "varray.h", not dyn-string.h.
30082169689Skan	(ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_NAME_TO_STRING): Lose.
30083169689Skan	(addr_const_to_string, addr_to_string): Lose.
30084169689Skan	(ASM_OUTPUT_DWARF_ADDR_CONST): Copy from dwarfout.c.
30085169689Skan	(struct dw_val_struct): val_addr is now an rtx.
30086169689Skan	(add_AT_addr, AT_addr, free_AT, output_aranges): Adjust.
30087169689Skan	(used_rtx_varray): New varray.
30088169689Skan	(dwarf2out_init): Initialize it.
30089169689Skan	(save_rtx): New fn.
30090169689Skan	(mem_loc_descriptor, add_const_value_attribute): Call it instead of
30091169689Skan	addr_to_string.
30092169689Skan	* arm/telf.h, arm/unknown-elf.h, mn10200.h, mn10300.h,
30093169689Skan	sparc/sp64-elf.h: Remove definition of ASM_OUTPUT_DWARF2_ADDR_CONST.
30094169689Skan	* Makefile.in (dwarf2out.o): Update dependencies.
30095169689Skan
30096169689Skan2000-01-24  Richard Henderson  <rth@cygnus.com>
30097169689Skan
30098169689Skan	* i386.c (i386_dwarf_output_addr_const): New.
30099169689Skan	* i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): New.
30100169689Skan
30101169689Skan	* dwarf2out.c (mem_loc_descriptor): Call ASM_SIMPLIFY_DWARF_ADDR
30102169689Skan	if defined.
30103169689Skan	* dwarfout.c (output_mem_loc_descriptor): Likewise.
30104169689Skan	* i386.c (i386_simplify_dwarf_addr): New.
30105169689Skan	* i386.h (ASM_SIMPLIFY_DWARF_ADDR): New.
30106169689Skan
30107169689SkanMon Jan 24 16:56:10 2000  Jim Wilson  <wilson@cygnus.com>
30108169689Skan
30109169689Skan	* dwarf2out.c (gen_struct_or_union_type_die): Set complete if
30110169689Skan	TYPE_STUB_DECL is NULL.
30111169689Skan
30112169689Skan2000-01-24  Richard Henderson  <rth@cygnus.com>
30113169689Skan
30114169689Skan	* builtins.c (expand_tree_builtin): Move ...
30115169689Skan	* c-common.c (expand_tree_builtin): ... here.
30116169689Skan
30117169689Skan2000-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
30118169689Skan
30119169689Skan	* loop.h (LOOP_INFO): New accessor macro.
30120169689Skan	* basic-block.h (struct loop): Rename field `info' to `aux'.
30121169689Skan	* loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop).
30122169689Skan	(prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise.
30123169689Skan	* unroll.c (loop_iterations, unroll_loop): Likewise.
30124169689Skan
30125169689Skan2000-01-24  Christopher Faylor <cgf@cygnus.com>
30126169689Skan
30127169689Skan	* config/i386/t-cygwin: Accommodate new winsup directory layout
30128169689Skan	when searching for include files.
30129169689Skan
30130169689Skan2000-01-24  Richard Henderson  <rth@cygnus.com>
30131169689Skan
30132169689Skan	* rtl.def: Add unordered fp comparisons.
30133169689Skan	* tree.def: Likewise.
30134169689Skan	* tree.h: Add ISO C 9x unordered fp comparison builtins.
30135169689Skan
30136169689Skan	* builtins.c (expand_tree_builtin): New function.
30137169689Skan	* c-typeck.c (build_function_call): Use it.
30138169689Skan	(build_binary_op): Support unordered compares.
30139169689Skan	* c-common.c (c_common_nodes_and_builtins): Add unordered compares.
30140169689Skan
30141169689Skan	* combine.c (known_cond): Handle reverse_condition returning UNKNOWN.
30142169689Skan	(reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed.
30143169689Skan	* cse.c (fold_rtx): Check FLOAT_MODE_P before reversing.
30144169689Skan	(record_jump_equiv): Handle reverse_condition returning UNKNOWN.
30145169689Skan	* jump.c (reverse_condition): Don't abort for UNLE etc, but
30146169689Skan	return UNKNOWN.
30147169689Skan	(swap_condition): Handle unordered compares.
30148169689Skan	(thread_jumps): Check can_reverse before reversing.
30149169689Skan	* loop.c (get_condition): Likewise.  Allow UNORERED/ORDERED to be
30150169689Skan	reversed for FP.
30151169689Skan
30152169689Skan	* optabs.c (can_compare_p): New argument CODE.  Verify branch or
30153169689Skan	setcc is present before acking for cmp_optab.  Update all callers.
30154169689Skan	(prepare_float_lib_cmp, init_optabs): Handle UNORDERED.
30155169689Skan	* expmed.c (do_cmp_and_jump): Update for can_compare_p.
30156169689Skan	* expr.c (expand_expr): Likewise.  Support unordered compares.
30157169689Skan	(do_jump, do_store_flag): Likewise.
30158169689Skan	* expr.h (enum libfunc_index): Add unordered compares.
30159169689Skan
30160169689Skan	* Makefile.in (FPBIT_FUNCS): Add _unord_sf.
30161169689Skan	(DPBIT_FUNCS): Add _unord_df.
30162169689Skan	* config/fp-bit.c (_unord_f2): New.
30163169689Skan	* fp-test.c (main): Try unordered compare builtins.
30164169689Skan
30165169689Skan	* alpha-protos.h (alpha_fp_comparison_operator): Declare.
30166169689Skan	* alpha.c (alpha_comparison_operator): Check mode properly.
30167169689Skan	(alpha_swapped_comparison_operator): Likewise.
30168169689Skan	(signed_comparison_operator): Likewise.
30169169689Skan	(alpha_fp_comparison_operator): New.
30170169689Skan	(alpha_emit_conditional_branch): Handle unordered compares.
30171169689Skan	* alpha.h (PREDICATE_CODES): Update.
30172169689Skan	* alpha.md (fp compares): Use alpha_fp_comparison_operator.
30173169689Skan	(bunordered, bordered): New.
30174169689Skan
30175169689Skan2000-01-24  Richard Henderson  <rth@cygnus.com>
30176169689Skan
30177169689Skan	* alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation.
30178169689Skan	* alpha.md (movtf): New expander, insn, and splitter.
30179169689Skan
30180169689SkanMon Jan 24 19:49:47 MET 2000  Jan Hubicka  <jh@suse.cz>
30181169689Skan
30182169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
30183169689Skan	dead registers.
30184169689Skan
30185169689SkanMon Jan 24 17:37:31 MET 2000  Jan Hubicka  <jh@suse.cz>
30186169689Skan
30187169689Skan	* i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
30188169689Skan	(FIXED_REGISTERS, CALL_USED_REGISTERS,
30189169689Skan	 REG_ALLOC_ORDER): Add frame pointer
30190169689Skan	(FRAME_POINTER_REGNUM): Set to 20
30191169689Skan	(HARD_FRAME_POINTER_REGNUM): New macro.
30192169689Skan	(ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER
30193169689Skan	to HARD_FRAME_POINTER.
30194169689Skan	(REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM
30195169689Skan	(REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
30196169689Skan	(REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
30197169689Skan	(HI_REGISTER_NAMES): Add "frame".
30198169689Skan	(CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination.
30199169689Skan	(debug_reg): Handle FRAME_POINTER_REGNUM.
30200169689Skan	(reg_class): Add arg pointer and frame pointer to NON_Q_REGS,
30201169689Skan	GENERAL_REGS and INDEX_REGS.
30202169689Skan	* i386.c (SAVED_REGS_FIRST): new macro.
30203169689Skan	(AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx
30204169689Skan	(ix86_decompose_address, memory_address_length): Likewise.
30205169689Skan	(regclass_map): Add frame pointer.
30206169689Skan	(call_insn_operand): Handle frame_pointer_rtx.
30207169689Skan	(reg_no_sp_operand): Likewise.
30208169689Skan	(ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx.
30209169689Skan	(print_operand, legitimize_pic_address): Fix formating.
30210169689Skan	(ix86_compute_frame_size): Make static, update prototype, new
30211169689Skan	parameters padding1, padding2, use ix86_nsaved_regs, use
30212169689Skan	stack_alignment_needed.
30213169689Skan	(ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM
30214169689Skan	to HARD_FRAME_POINTER_REGNUM conversions.
30215169689Skan	(ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues.
30216169689Skan	(ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues.
30217169689Skan	(print_reg): Abort on FRAME_POINTER_REGNUM
30218169689Skan
30219169689SkanMon Jan 24 16:50:08 MET 2000  Jan Hubicka  <jh@suse.cz>
30220169689Skan
30221169689Skan	* i386.h (PREDICATE_CODES): Add aligned_operand.
30222169689Skan	* i386.c (aligned_operand): New function.
30223169689Skan	(ix86_aligned_p): Kill.
30224169689Skan	* i386.md (movhi_1): Emit mov for aligned operands.
30225169689Skan	(promoting peep2s): Use aligned_operand.
30226169689Skan
30227169689Skan2000-01-23  Zack Weinberg  <zack@wolery.cumb.org>
30228169689Skan
30229169689Skan	* fixinc/fixfixes.c (fix_char_macro_uses): Correct regular
30230169689Skan	expression to allow underscores in macro names.
30231169689Skan	(fix_char_macro_defines): Increment scanning pointer.
30232169689Skan
30233169689Skan2000-01-23  Richard Henderson  <rth@cygnus.com>
30234169689Skan
30235169689Skan	* alpha/osf.h (TARGET_HAS_XFLOATING_LIBS): Define.
30236169689Skan	* alpha/osf5.h: New file.
30237169689Skan	* configure.in (alpha-*-osf5): Add it to tm_file.
30238169689Skan
30239169689Skan	* emit-rtl.c (operand_subword): Support TFmode on a 64-bit target.
30240169689Skan
30241169689Skan	* alpha-protos.h (alpha_emit_xfloating_arith): Declare.
30242169689Skan	(alpha_emit_xfloating_cvt, function_arg): Declare.
30243169689Skan	* alpha.c (alpha_emit_conditional_branch): Call
30244169689Skan	alpha_emit_xfloating_compare for TFmode compares.
30245169689Skan	(alpha_lookup_xfloating_lib_func): New.
30246169689Skan	(alpha_compute_xfloating_mode_arg): New.
30247169689Skan	(alpha_emit_xfloating_libcall): New.
30248169689Skan	(alpha_emit_xfloating_arith): New.
30249169689Skan	(alpha_emit_xfloating_compare): New.
30250169689Skan	(alpha_emit_xfloating_cvt): New.
30251169689Skan	(print_operand): Add default abort case.
30252169689Skan	(function_arg): Mind FUNCTION_ARG_PASS_BY_REFERENCE.
30253169689Skan	* alpha.h (TARGET_HAS_XFLOATING_LIBS): New.
30254169689Skan	(BIGGEST_ALIGNMENT): Increase to 128 bits.
30255169689Skan	(RETURN_IN_MEMORY): True for TF/TCmode.
30256169689Skan	(ALPHA_ARG_SIZE): TF/TCmode is passed indirect.
30257169689Skan	(FUNCTION_ARG): Move to function_arg.
30258169689Skan	(FUNCTION_ARG_PASS_BY_REFERENCE): New.
30259169689Skan	(ASM_OUTPUT_LONG_DOUBLE): New.
30260169689Skan	(ASM_OUTPUT_DOUBLE): Always output bits.
30261169689Skan	* alpha.md (addtf3, divtf3, multf3, subtf3, cmptf): New.
30262169689Skan	(fix_trunctfdi2, floatditf2, floatunsditf2): New.
30263169689Skan	(extenddftf2, trunctfdf2): New.
30264169689Skan
30265169689Skan2000-01-23  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
30266169689Skan
30267169689Skan	* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...
30268169689Skan	* config/sparc/sol2.h: ... here.
30269169689Skan
30270169689Skan2000-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
30271169689Skan
30272169689Skan	* basic-block.h (struct loops): New field `levels'.
30273169689Skan	* flow.c (flow_loops_level_compute): Traverse all outer loops.
30274169689Skan	(flow_loop_level_compute): Initialize level to 1.
30275169689Skan	(flow_loops_find): Set loops->levels.
30276169689Skan	(flow_loops_dump): Print loops->levels.
30277169689Skan
30278169689Skan2000-01-23  Richard Henderson  <rth@cygnus.com>
30279169689Skan
30280169689Skan	* libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS.
30281169689Skan	(throw_helper): Iterate over DWARF_FRAME_REGISTERS.
30282169689Skan
30283169689Skan2000-01-23  Richard Henderson  <rth@cygnus.com>
30284169689Skan
30285169689Skan	* i386.c (dbx_register_map, svr4_dbx_register_map): New.
30286169689Skan	* i386.h (DBX_REGISTER_NUMBER): Use them.
30287169689Skan	* i386/beos-elf.h, i386/freebsd-elf.h, i386/i386elf.h: Likewise.
30288169689Skan	* i386/linux.h, i386/osfrose.h, i386/ptx4-i.h: Likewise.
30289169689Skan	* i386/rtemself.h, i386/sco5.h, i386/sysv4.h: Likewise.
30290169689Skan	* i386/sequent.h: Kill incorrect comment.
30291169689Skan
30292169689Skan2000-01-23  Mark Mitchell  <mark@codesourcery.com>
30293169689Skan
30294169689Skan	* ggc-page.c (struct page_entry): Make `context_depth' an
30295169689Skan	`unsigned short'.
30296169689Skan	(struct globals): Likewise.
30297169689Skan
30298169689Skan2000-01-23  Clinton Popetz  <cpopetz@cygnus.com>
30299169689Skan
30300169689Skan	* loop.c (check_dbra_loop): When checking a loop for
30301169689Skan	reversability, check the source of any stores to ensure
30302169689Skan	they don't depend on an initial value.
30303169689Skan
30304169689Skan2000-01-23  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
30305169689Skan
30306169689Skan	* config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine.
30307169689Skan
30308169689Skan2000-01-22  Zack Weinberg  <zack@wolery.cumb.org>
30309169689Skan
30310169689Skan	* fixinc/fixincl.c: Move declarations of 'pz_fname' and
30311169689Skan	'pz_scan' into scope of entire function.  Only affects
30312169689Skan	compiles with -DDEBUG.
30313169689Skan
30314169689Skan2000-01-22  Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
30315169689Skan
30316169689Skan	* config/elfos.h (UNIQUE_SECTION): Restore uninitialized data
30317169689Skan	section naming to that prior to 2000-01-07 patch.
30318169689Skan	* config/mips/elf.h (UNIQUE_SECTION): Ditto.
30319169689Skan	* config/mips/elf64.h (UNIQUE_SECTION): Ditto.
30320169689Skan	* config/mips/iris6gld.h (UNIQUE_SECTION): Ditto.
30321169689Skan	* config/i386/interix.c (UNIQUE_SECTION): Ditto.
30322169689Skan	* config/i386/winnt.c (UNIQUE_SECTION): Ditto.
30323169689Skan
30324169689Skan2000-01-22  Bernd Schmidt  <bernds@cygnus.co.uk>
30325169689Skan
30326169689Skan	* config/arm/arm.c (soft_df_operand): Reject SUBREGs containing a
30327169689Skan	constant.
30328169689Skan
30329169689Skan2000-01-21  Jim Wilson  <wilson@cygnus.com>
30330169689Skan
30331169689Skan	* fixinc/inclhack.tpl: Test for directory before trying to cd into it.
30332169689Skan	* fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate.
30333169689Skan
30334169689Skan2000-01-21  Zack Weinberg  <zack@wolery.cumb.org>
30335169689Skan
30336169689Skan	* cpphash.c (change_newlines): Delete function.
30337169689Skan	(struct argdata): Delete 'newlines' and 'use_count' fields.
30338169689Skan	(macroexpand): Remove code referencing those fields.
30339169689Skan
30340169689Skan2000-01-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
30341169689Skan
30342169689Skan	* loop.c (loops_info): New variable.
30343169689Skan	(loop_optimize): Allocate loops->array and free it on exit.
30344169689Skan	Allocate memory for loops_info and assign to each loop,
30345169689Skan	replacing alloca.
30346169689Skan	(find_and_verify_loops): Do not allocate loops->array.
30347169689Skan
30348169689Skan2000-01-21  Zack Weinberg  <zack@wolery.cumb.org>
30349169689Skan
30350169689Skan	* fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'.
30351169689Skan
30352169689Skan2000-01-21  Jakub Jelinek  <jakub@redhat.com>
30353169689Skan
30354169689Skan	* config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new
30355169689Skan	pseudos if expanded after first flow.
30356169689Skan	(movdi_pic_label_ref): Likewise.
30357169689Skan
30358169689Skan2000-01-20  Richard Henderson  <rth@cygnus.com>
30359169689Skan
30360169689Skan	* jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0.
30361169689Skan
30362169689Skan2000-01-20  Zack Weinberg  <zack@wolery.cumb.org>
30363169689Skan
30364169689Skan	* Makefile.in (fixinc.sh): Depend on specs.
30365169689Skan	* fixinc/Makefile.in: Add rule to create machname.h.
30366169689Skan	(fixlib.o): Depend on machname.h.
30367169689Skan	* fixinc/fixtests.c (machine_name): New test.
30368169689Skan	* fixinc/fixfixes.c (machine_name): New fix.
30369169689Skan	* fixinc/fixlib.c (mn_get_regexps): New helper function for
30370169689Skan	the machine_name test and fix.
30371169689Skan	* fixinc/fixlib.h: Prototype it.
30372169689Skan	* fixinc/inclhack.def (machine_name): Use the C test and fix.
30373169689Skan	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild.
30374169689Skan
30375169689Skan	* gcc.c (do_spec_1) [case P]: Take care not to create
30376169689Skan	identifiers with three leading or trailing underscores.
30377169689Skan
30378169689Skan	* fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC.
30379169689Skan	(fixincl): Don't specify libraries twice on link line.
30380169689Skan	(gnu-regex.o): Remove special rule.
30381169689Skan	* fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was
30382169689Skan	defined by config.h.  Do not define _REGEX_RE_COMP.
30383169689Skan	(regcomp): Allocate and initialize a fastmap.
30384169689Skan	* fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP.
30385169689Skan
30386169689Skan2000-01-20  Brad Lucier  <lucier@math.purdue.edu>
30387169689Skan
30388169689Skan	* Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h.
30389169689Skan
30390169689Skan2000-01-19  Richard Henderson  <rth@cygnus.com>
30391169689Skan
30392169689Skan	* flow.c (propagate_block): Replace FIRST, LAST and BNUM
30393169689Skan	arguments with BB.  Update all callers.  Tidy line wrapping.
30394169689Skan
30395169689Skan2000-01-19  Clinton Popetz  <cpopetz@cygnus.com>
30396169689Skan
30397169689Skan	* emit-rtl.c (try_split): Return last_insn if we split the
30398169689Skan	last_insn.
30399169689Skan
30400169689SkanThu Jan 20 01:01:23 MET 2000  Jan Hubicka  <jh@suse.cz>
30401169689Skan
30402169689Skan	* i386-protos.h (ix86_compute_frame_size): Remove prototype.
30403169689Skan	(ix86_initial_elimination_offset): Declare.
30404169689Skan	* i386.c (ix86_nsaved_regs): Break out from ...
30405169689Skan	(ix86_can_use_return_insn_p): ... here.
30406169689Skan	(ix86_emit_save_regs): Break out from ...
30407169689Skan	(ix86_expand_prologue): ... here.
30408169689Skan	(ix86_emit_epilogue_esp_adjustment, ix86_emit_restore_regs): Break
30409169689Skan	out from ...
30410169689Skan	(ix86_expand_epilogue): ... here.
30411169689Skan	(ix86_compute_frame_size): Make static, add prototype.
30412169689Skan	(ix86_initial_elimination_offset): Break out from ...
30413169689Skan	* i386.h (INITIAL_ELIMINATION_OFFSET): ... here.
30414169689Skan
30415169689Skan2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30416169689Skan
30417169689Skan	* recog.h (OUT_FCN): Delete.
30418169689Skan
30419169689Skan	* vax.md: Call `get_insn_template' instead of OUT_FCN.
30420169689Skan
30421169689Skan2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30422169689Skan
30423169689Skan	* cppalloc.c: PROTO -> PARAMS.
30424169689Skan	* cpperror.c: Likewise.
30425169689Skan	* cppfiles.c: Likewise.
30426169689Skan	* cpplib.c: Likewise.
30427169689Skan	* cpplib.h: Likewise.
30428169689Skan
30429169689Skan	* config/arm/arm-protos.h: PROTO -> PARAMS.
30430169689Skan	* config/arm/arm.c: Likewise.
30431169689Skan	* config/c4x/c4x.c: Likewise.
30432169689Skan	* config/fr30/fr30-protos.h: Likewise.
30433169689Skan	* config/nextstep.c: Likewise.
30434169689Skan	* config/pa/pa.c: Likewise.
30435169689Skan	* config/pj/pj.c: Likewise.
30436169689Skan	* config/rs6000/rs6000.c: Likewise.
30437169689Skan	* config/v850/v850-protos.h: Likewise.
30438169689Skan	* config/v850/v850.c: Likewise.
30439169689Skan
30440169689Skan2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30441169689Skan
30442169689Skan	* i370-protos.h: New file.
30443169689Skan
30444169689Skan	* i370.c: Include tm_p.h.  Fix compile time warnings.
30445169689Skan
30446169689Skan	* i370.h: Move prototypes to i370-protos.h.  Fix compile time
30447169689Skan	warnings.
30448169689Skan
30449169689Skan	* i370.md: Likewise.
30450169689Skan
30451169689Skan2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30452169689Skan
30453169689Skan	* real.c (enan, einan, eiisnan, eiisneg, make_nan): Wrap in NANS.
30454169689Skan	(target_isinf, target_isnan, eisnan): Mark parameter with
30455169689Skan	ATTRIBUTE_UNUSED.
30456169689Skan	(eiisinf): Wrap in INFINITY.
30457169689Skan	(etoe113, etoe64, etoe53, etoe24): Wrap label `nonorm' in INFINITY.
30458169689Skan	(ibmtoe): Remove unused variable `rndsav'.
30459169689Skan
30460169689SkanWed Jan 19 20:23:06 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
30461169689Skan
30462169689Skan	* sh.h (PASS_IN_REG_P): Remove extraneous paranthesis.
30463169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Added missing tab.
30464169689Skan
30465169689Skan2000-01-19  Zack Weinberg  <zack@wolery.cumb.org>
30466169689Skan
30467169689Skan	* fixinc/Makefile.in: Correct dependencies of fixincl and fixincl.o.
30468169689Skan	* fixinc/fixfixes.c (IO_use, CTRL_use, IO_defn, CTRL_defn): New fixes.
30469169689Skan	(fix_char_macro_defines, fix_char_macro_uses): New functions.
30470169689Skan
30471169689Skan	* fixinc/fixlib.c (is_cxx_header): Do the text scan with a regexp.
30472169689Skan	Recognize Emacs mode markers also.
30473169689Skan	* fixinc/fixtests.c (else_endif_label): Fix bug in recognition of
30474169689Skan	C++ comments in C++ headers.  Call is_cxx_header only if
30475169689Skan	necessary.
30476169689Skan
30477169689Skan	* fixinc/inclhack.def (avoid_bool): Add select for the problem and
30478169689Skan	bypass for ncurses.
30479169689Skan	(bsd43_io_macros, io_def_quotes, ioctl_fix_ctrl): Replace with...
30480169689Skan	(io_def_quotes, io_use_quotes, ctrl_def_quotes, ctrl_use_quotes):
30481169689Skan	... these, which use the new C fixes.
30482169689Skan	(math_exception): Escape literal '+' in bypass expression.
30483169689Skan
30484169689Skan	* fixinc/fixincl.x, fixinc/fixincl.sh, fixinc/inclhack.sh:
30485169689Skan	Regenerate.
30486169689Skan
30487169689Skan2000-01-19  Geoff Keating  <geoffk@cygnus.com>
30488169689Skan
30489169689Skan	* rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs
30490169689Skan	inside the MEM.
30491169689Skan
30492169689Skan2000-01-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
30493169689Skan
30494169689Skan	* loop.c (loop_optimize): Allocate loop_info structure for each loop
30495169689Skan	prior to calling scan_loop.
30496169689Skan
30497169689SkanWed Jan 19 19:54:38 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
30498169689Skan
30499169689Skan	* sh.c (find_barrier, gen_block_redirect): Fix indentation.
30500169689Skan	(split_branches, calc_live_regs): Likewise.
30501169689Skan
30502169689SkanWed Jan 19 19:12:36 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
30503169689Skan
30504169689Skan	* sh.md (fpu_single, fp_mode): New attributes.
30505169689Skan
30506169689Skan2000-01-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
30507169689Skan
30508169689Skan	* loop.c (current_loop_info): Renamed from loop_info_data
30509169689Skan	and changed to a pointer.
30510169689Skan	(loop_optimize): Allocate loop_info structure for each loop
30511169689Skan	and initialize to zero.
30512169689Skan	(scan_loop): Set current_loop_info.
30513169689Skan
30514169689Skan	* unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
30515169689Skan	on iteration_var.
30516169689Skan
30517169689Skan2000-01-19  Richard Henderson  <rth@cygnus.com>
30518169689Skan
30519169689Skan	* stupid.c: Die die die.
30520169689Skan	* Makefile.in (OBJS): Remove stupid.o.
30521169689Skan	(stupid.o): Likewise.
30522169689Skan
30523169689Skan	* except.c (emit_eh_context): Don't emit USEs for stupid.
30524169689Skan	* explow.c (probe_stack_range): Likewise.
30525169689Skan	* flags.h (obey_regdecls): Remove.
30526169689Skan	* flow.c (find_basic_blocks): Don't run try_merge_blocks
30527169689Skan	when not optimizing.
30528169689Skan	(life_analysis): Limit data collection when not optimizing.
30529169689Skan	(mark_regs_live_at_end): Always mark the return value registers.
30530169689Skan	(mark_used_regs): Remove dummy RETURN case.
30531169689Skan	(print_rtl_with_bb): Don't consult obey_regdecls.
30532169689Skan	* function.c (use_variable, use_variable_after): Remove.
30533169689Skan	(assign_parms): Consult optimize not obey_regdecls.
30534169689Skan	(expand_function_start): Don't emit USEs for stupid.
30535169689Skan	(expand_function_end): Likewise.
30536169689Skan	* global.c (build_insn_chain): Export.
30537169689Skan	* integrate.c (expand_inline_function): Kill return-value USE
30538169689Skan	handling code.
30539169689Skan	* jump.c (jump_optimize_1): Do simple jump optimizations and
30540169689Skan	dead code elimination.
30541169689Skan	(calculate_can_reach_end): Remove check_deleted argument.
30542169689Skan	(delete_insn): Patch out insns even when not optimizing.
30543169689Skan	* local-alloc.c (block_alloc): Don't do tying when not optimizing.
30544169689Skan	* rtl.h (use_variable, use_variable_after): Remove declarations.
30545169689Skan	(build_insn_chain): Declare.
30546169689Skan	* stmt.c (expand_value_return): Don't emit USEs for stupid.
30547169689Skan	(expand_end_bindings): Likewise.
30548169689Skan	(expand_decl): Likewise.  Consult optimize not obey_regdecls.
30549169689Skan	* toplev.c (obey_regdecls): Remove.
30550169689Skan	(rest_of_compilation): Don't set it.  Kill stupid in favor of
30551169689Skan	flow1, local-alloc, and reload.
30552169689Skan	(main): Don't set obey_regdecls.
30553169689Skan
30554169689Skan	* config/nextstep.c (handle_pragma): Likewise.
30555169689Skan
30556169689Skan	* alpha/alpha.md (allocate_stack): Don't emit USEs for stupid.
30557169689Skan
30558169689Skan	* arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid.
30559169689Skan
30560169689Skan2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30561169689Skan
30562169689Skan	* alpha-protos.h: PROTO -> PARAMS.
30563169689Skan	* alpha.c: Likewise.
30564169689Skan	* elf.h: Likewise.
30565169689Skan	* h8300.c: Likewise.
30566169689Skan	* i386-protos.h: Likewise.
30567169689Skan	* i386.c: Likewise.
30568169689Skan	* m32r-protos.h: Likewise.
30569169689Skan	* m32r.c: Likewise.
30570169689Skan	* mips.c: Likewise.
30571169689Skan	* mips.md: Likewise.
30572169689Skan	* gmon-sol2.c: Likewise.
30573169689Skan	* sparc.c: Likewise.
30574169689Skan
30575169689Skan2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30576169689Skan
30577169689Skan	* ns32k-protos.h: New file.
30578169689Skan
30579169689Skan	* ns32k.c: Fix compile time warnings.
30580169689Skan
30581169689Skan	* ns32k.h: Move prototypes to ns32k-protos.h.  Fix compile time
30582169689Skan	warnings.
30583169689Skan
30584169689Skan	* ns32k.md: Likewise.
30585169689Skan
30586169689Skan2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30587169689Skan
30588169689Skan	* vax-protos.h: New file.
30589169689Skan
30590169689Skan	* vax.c: Fix compile time warnings.
30591169689Skan
30592169689Skan	* vax.h: Move prototypes to vax-protos.h.  Fix compile time
30593169689Skan	warnings.
30594169689Skan
30595169689Skan	* vax.md: Likewise.
30596169689Skan
30597169689Skan	* vaxv.md: Likewise.
30598169689Skan
30599169689Skan2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30600169689Skan
30601169689Skan	* romp-protos.h: New file.
30602169689Skan
30603169689Skan	* romp.c: Fix compile time warnings.
30604169689Skan
30605169689Skan	* romp.h: Move prototypes to romp-protos.h.  Fix compile time
30606169689Skan	warnings.
30607169689Skan
30608169689Skan	* romp.md: Likewise.
30609169689Skan
30610169689Skan2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30611169689Skan
30612169689Skan	* we32k-protos.h: New file.
30613169689Skan
30614169689Skan	* we32k.c: Fix compile time warnings.
30615169689Skan
30616169689Skan	* we32k.h: Move prototypes to we32k-protos.h.  Fix compile time
30617169689Skan	warnings.
30618169689Skan
30619169689Skan2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30620169689Skan
30621169689Skan	* calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
30622169689Skan
30623169689Skan	* except.c (eh_regs): Likewise.
30624169689Skan
30625169689Skan	* final.c (output_operand): Likewise.
30626169689Skan
30627169689Skan	* fold-const.c (target_isinf, target_isnan): Likewise.
30628169689Skan
30629169689SkanTue Jan 18 16:19:55 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
30630169689Skan
30631169689Skan	* i386.h (BIGGEST_ALIGNMENT): Set to 128.
30632169689Skan	(BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32)
30633169689Skan
30634169689Skan	* i386.md (memstr): Do not use rep stosb for counts divisible by 4
30635169689Skan	when optimize_size.
30636169689Skan	(clrstrsi): Rewrite.
30637169689Skan	(strsethi, strsetqi): New expanders.
30638169689Skan	(strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns.
30639169689Skan	(cmpstrsi): Emit compare insn before cmpstrsi_1
30640169689Skan	(cmpstrsi_nz): use flags, set type to str, prefix_length to 1.
30641169689Skan	(strlensi_1): Likewise.
30642169689Skan	(cmpstrsi_1): Likewise; do not output compare.
30643169689Skan	(strlen expander): Do not unroll when optimizing for size.
30644169689Skan	(*subsi3_carry): Rename to subsi3_carry
30645169689Skan	(addqi3_cc): New pattern.
30646169689Skan	* i386.h (processor_costs): Add move_ratio field.
30647169689Skan	(MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE
30648169689Skan	* i386.c (*_cost): Set move_ratio.
30649169689Skan	(x86_unroll_strlen): Enable for Athlon, PPro and K6 too.
30650169689Skan	(x86_expand_strlensi_1): Rewrite the main loop.
30651169689Skan
30652169689Skan2000-01-17  Richard Henderson  <rth@cygnus.com>
30653169689Skan
30654169689Skan	* combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode.
30655169689Skan	* cse.c (find_comparison_args, fold_rtx): Likewise.
30656169689Skan	* integrate.c (subst_constants): Likewise.
30657169689Skan	* loop.c (get_condition): Likewise.
30658169689Skan
30659169689Skan	* tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs.
30660169689Skan
30661169689Skan	* alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF.
30662169689Skan
30663169689Skan2000-01-18  Martin v. L�wis  <loewis@informatik.hu-berlin.de>
30664169689Skan
30665169689Skan	* c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST.
30666169689Skan	(RESTORE_WARN_FLAGS): Unpack it.
30667169689Skan	Change semantic type of extension to ttype.
30668169689Skan	* c-common.c (split_specs_attrs): Expect an INTEGER_CST.
30669169689Skan	* c-parse.y, c-parse.c, objc/objc-parse.y,
30670169689Skan	objc/objc-parse.c: Regenerate.
30671169689Skan
30672169689Skan2000-01-17  Zack Weinberg  <zack@wolery.cumb.org>
30673169689Skan
30674169689Skan	* fixinc/fixlib.c: Add copyright notice.
30675169689Skan	(compile_re): New function.
30676169689Skan	* fixinc/fixlib.h: Prototype compile_re.
30677169689Skan
30678169689Skan	* fixinc/fixfixes.c, fixinc/fixtests.c, fixinc/fixincl.c:
30679169689Skan	Use compile_re to compile regular expressions.
30680169689Skan
30681169689Skan	* fixinc/fixincl.c (egrep_test): Don't bother asking regexec
30682169689Skan	where the pattern matched.
30683169689Skan
30684169689Skan	* fixinc/inclhack.def (sun_memcpy): Move to AAB_sun_memcpy,
30685169689Skan	use 'replace'.
30686169689Skan	(ultrix_ansi_compat): Likewise.
30687169689Skan	(interactv_add1): Rename to 'isc_omits_with_stdc', remove shell test,
30688169689Skan	add egrep test.
30689169689Skan	(interactv_add2, interactv_add3): Delete.
30690169689Skan	(x11_sprintf): Don't use filename glob.
30691169689Skan	* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixincl.sh:
30692169689Skan	Regenerate.
30693169689Skan
30694169689Skan2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30695169689Skan
30696169689Skan	* print-rtl.c: PROTO -> PARAMS.
30697169689Skan	* real.c: Likewise.
30698169689Skan	* reg-stack.c: Likewise.
30699169689Skan	* resource.c: Likewise.
30700169689Skan	* sdbout.h: Likewise.
30701169689Skan	* simplify-rtx.c: Likewise.
30702169689Skan	* stor-layout.c: Likewise.
30703169689Skan	* stupid.c: Likewise.
30704169689Skan	* xcoffout.c: Likewise.
30705169689Skan	* xcoffout.h: Likewise.
30706169689Skan
30707169689Skan2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30708169689Skan
30709169689Skan	* toplev.c: PROTO -> PARAMS.
30710169689Skan	* toplev.h: Likewise.
30711169689Skan	* tree.c: Likewise.
30712169689Skan	* tree.h: Likewise.
30713169689Skan	* unroll.c: Likewise.
30714169689Skan	* varasm.c: Likewise.
30715169689Skan	* varray.c: Likewise.
30716169689Skan	* varray.h: Likewise.
30717169689Skan
30718169689Skan2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30719169689Skan
30720169689Skan	* reload.c: PROTO -> PARAMS.
30721169689Skan	* reload.h: Likewise.
30722169689Skan	* reload1.c: Likewise.
30723169689Skan	* reorg.c: Likewise.
30724169689Skan	* resource.h: Likewise.
30725169689Skan	* rtl.c: Likewise.
30726169689Skan	* rtl.h: Likewise.
30727169689Skan	* rtlanal.c: Likewise.
30728169689Skan	* sbitmap.h: Likewise.
30729169689Skan	* sdbout.c: Likewise.
30730169689Skan	* stack.h: Likewise.
30731169689Skan	* stmt.c: Likewise.
30732169689Skan	* system.h: Likewise.
30733169689Skan
30734169689Skan2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30735169689Skan
30736169689Skan	* machmode.h: PROTO -> PARAMS.
30737169689Skan	* mbchar.h: Likewise.
30738169689Skan	* mips-tdump.c: Likewise.
30739169689Skan	* mips-tfile.c: Likewise.
30740169689Skan	* optabs.c: Likewise.
30741169689Skan	* output.h: Likewise.
30742169689Skan	* prefix.c: Likewise.
30743169689Skan	* profile.c: Likewise.
30744169689Skan	* protoize.c: Likewise.
30745169689Skan	* real.h: Likewise.
30746169689Skan	* recog.c: Likewise.
30747169689Skan	* recog.h: Likewise.
30748169689Skan	* regclass.c: Likewise.
30749169689Skan	* regmove.c: Likewise.
30750169689Skan	* regs.h: Likewise.
30751169689Skan
30752169689Skan2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30753169689Skan
30754169689Skan	* ggc-common.c: PROTO -> PARAMS.
30755169689Skan	* ggc-page.c: Likewise.
30756169689Skan	* ggc-simple.c: Likewise.
30757169689Skan	* ggc.h: Likewise.
30758169689Skan	* global.c: Likewise.
30759169689Skan	* graph.c: Likewise.
30760169689Skan	* gthr-win32.h: Likewise.
30761169689Skan	* haifa-sched.c: Likewise.
30762169689Skan	* halfpic.h: Likewise.
30763169689Skan	* integrate.c: Likewise.
30764169689Skan	* integrate.h: Likewise.
30765169689Skan	* jump.c: Likewise.
30766169689Skan	* lcm.c: Likewise.
30767169689Skan	* local-alloc.c: Likewise.
30768169689Skan	* loop.c: Likewise.
30769169689Skan	* loop.h: Likewise.
30770169689Skan
30771169689Skan2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30772169689Skan
30773169689Skan	* genattr.c: PROTO -> PARAMS.
30774169689Skan	* genattrtab.c: Likewise.
30775169689Skan	* gencheck.c: Likewise.
30776169689Skan	* gencodes.c: Likewise.
30777169689Skan	* genconfig.c: Likewise.
30778169689Skan	* genemit.c: Likewise.
30779169689Skan	* genextract.c: Likewise.
30780169689Skan	* genflags.c: Likewise.
30781169689Skan	* gengenrtl.c: Likewise.
30782169689Skan	* genopinit.c: Likewise.
30783169689Skan	* genoutput.c: Likewise.
30784169689Skan	* genpeep.c: Likewise.
30785169689Skan	* genrecog.c: Likewise.
30786169689Skan
30787169689Skan2000-01-16  Mark Mitchell  <mark@codesourcery.com>
30788169689Skan
30789169689Skan	* tree.h (BINFO_VPTR_FIELD): Augment documentation.
30790169689Skan
30791169689Skan2000-01-16  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
30792169689Skan
30793169689Skan	* aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro.
30794169689Skan	* configure.in (AC_FUNC_MMAP_ZERO): Use instead of AC_FUNC_MMAP.
30795169689Skan	* ggc-page.c: Replace HAVE_MMAP with HAVE_MMAP_ZERO.
30796169689Skan	* configure, config.in: Rebuilt.
30797169689Skan
30798169689Skan2000-01-16  Zack Weinberg  <zack@wolery.cumb.org>
30799169689Skan
30800169689Skan	* config/i386/i386.md: Add peephole to merge successive stack
30801169689Skan	adjusts.
30802169689Skan
30803169689SkanSat Jan 15 15:41:14 EST 2000  John Wehle  (john@feith.com)
30804169689Skan
30805169689Skan	* gcse.c (insert_insn_end_bb): Use emit_block_insn_before
30806169689Skan	instead of emit_insn_before.  Also handle NOTE_INSN_BASIC_BLOCK
30807169689Skan	when walking backwards to find all the parameter loads when
30808169689Skan	the basic block ends in a call.
30809169689Skan
30810169689Skan2000-01-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
30811169689Skan
30812169689Skan	* loop.c (this_loop_info): Delete.
30813169689Skan	(uid_loop): Add in place of uid_loop_num.  All uses updated.
30814169689Skan	(loop_number_exit_count): Delete and replace with entry in loop
30815169689Skan	structure.  All uses updated.
30816169689Skan	(loop_number_loop_starts, loop_number_loop_ends): Likewise.
30817169689Skan	(loop_number_loop_cont, loop_number_cont_dominator): Likewise.
30818169689Skan	(loop_outer_loop): Likewise.
30819169689Skan	(loop_invalid, loop_number_exit_labels): Likewise.
30820169689Skan	(loop_used_count_register): Delete and replace with entry in
30821169689Skan	loop_info structure.
30822169689Skan	(find_and_verify_loops): Add loops argument.
30823169689Skan	(verify_dominator, mark_loop_jump, prescan_loop): Replace loop_start,
30824169689Skan	loop_end, etc. arguments with loop structure pointer.  All callers
30825169689Skan	changed.
30826169689Skan	(loop_reg_used_before_p, scan_loop, strength_reduce): Likewise.
30827169689Skan	(check_dbra_loop, next_insn_in_loop, try_copy_prop): Likewise.
30828169689Skan	(load_mems_and_recount_loop_regs_set, load_mems): Likewise.
30829169689Skan	(insert_bct): Likewise.
30830169689Skan	(basic_induction_var): New argument level.
30831169689Skan	* loop.h (struct loop_info): Delete fields num, loops_enclosed,
30832169689Skan	vtop, and cont.  Add used_count_register.
30833169689Skan	(uid_loop): Delete declaration.
30834169689Skan	(loop_number_exit_count): Likewise.
30835169689Skan	(loop_number_loop_starts, loop_number_loop_ends): Likewise.
30836169689Skan	(loop_number_loop_cont, loop_number_cont_dominator): Likewise.
30837169689Skan	(loop_outer_loop, loop_used_count_register): Likewise.
30838169689Skan	(loop_invalid, loop_number_exit_labels): Likewise.
30839169689Skan	(unroll_loop): Replace loop_start and loop_end arguments
30840169689Skan	with loop structure pointer.
30841169689Skan	(loop_precondition_p, loop_iterations): Likewise.
30842169689Skan	Include basic-block.h.
30843169689Skan	* unroll.c: (unroll_loop): Replace loop_start and loop_end arguments
30844169689Skan	with loop structure pointer.
30845169689Skan	(loop_precondition_p, loop_iterations): Likewise.
30846169689Skan	* basic-block.h (struct loop): New entries vtop, cont,
30847169689Skan	cont_dominator, start, end, top, scan_start, exit_labels,
30848169689Skan	exit_count.
30849169689Skan	* Makefile.in (LOOP_H): Add basic-block.h to dependencies.
30850169689Skan
30851169689Skan2000-01-15  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
30852169689Skan
30853169689Skan	* defaults.h (ASM_OUTPUT_ASCII): Use ISDIGIT.
30854169689Skan
30855169689Skan2000-01-14  Nathan Sidwell  <sidwell@codesourcery.com>
30856169689Skan
30857169689Skan	* config.in: Rebuilt for 2000-01-13 change to acconfig.h.
30858169689Skan
30859169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30860169689Skan
30861169689Skan	* pdp11-protos.h: New file.
30862169689Skan
30863169689Skan	* pdp11.c: Include tm_p.h.  Add static prototypes.  Fix compile
30864169689Skan	time warnings.
30865169689Skan
30866169689Skan	* pdp11.h: Move prototypes to pdp11-protos.h.  Fix compile time
30867169689Skan	warnings.
30868169689Skan
30869169689Skan	* pdp11.md: Likewise.
30870169689Skan
30871169689Skan	* 2bsd.h: Likewise.
30872169689Skan
30873169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30874169689Skan
30875169689Skan	* mn10300-protos.h: New file.
30876169689Skan
30877169689Skan	* mn10300.c: Include tm_p.h.  Add static prototypes.  Fix compile
30878169689Skan	time warnings.
30879169689Skan
30880169689Skan	* mn10300.h: Move prototypes to mn10300-protos.h.  Fix compile time
30881169689Skan	warnings.
30882169689Skan
30883169689Skan	* mn10300.md: Likewise.
30884169689Skan
30885169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30886169689Skan
30887169689Skan	* mn10200-protos.h: New file.
30888169689Skan
30889169689Skan	* mn10200.c: Include tm_p.h.  Add static prototypes.  Fix compile
30890169689Skan	time warnings.
30891169689Skan
30892169689Skan	* mn10200.h: Move prototypes to mn10200-protos.h.  Fix compile time
30893169689Skan	warnings.
30894169689Skan
30895169689Skan	* mn10200.md: Likewise.
30896169689Skan
30897169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30898169689Skan
30899169689Skan	* h8300-protos.h: New file.
30900169689Skan
30901169689Skan	* h8300.c: Include tm_p.h.  Add static prototypes.  Fix compile
30902169689Skan	time warnings.
30903169689Skan
30904169689Skan	* h8300.h: Move prototypes to h8300-protos.h.  Fix compile time
30905169689Skan	warnings.
30906169689Skan
30907169689Skan	* h8300.md: Likewise.
30908169689Skan
30909169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30910169689Skan
30911169689Skan	* varasm.c (asm_output_bss): Mark parameters with ATTRIBUTE_UNUSED.
30912169689Skan	(asm_emit_uninitialised): Likewise.
30913169689Skan
30914169689Skan2000-01-13  Gavin Romig-Koch  <gavin@cygnus.com>
30915169689Skan
30916169689Skan	* config/mips/mips.h (ISA_HAS_INT_CONDMOVE): New.
30917169689Skan	* config/mips/mips.md: Use ISA_HAS_INT_CONDMOVE.
30918169689Skan
30919169689Skan2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
30920169689Skan
30921169689Skan	* config/mips/mips.c (override_options): Don't turn on extra
30922169689Skan	alignment for mips16.
30923169689Skan
30924169689Skan2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
30925169689Skan
30926169689Skan	* config/mips/mips.c (mips_va_arg): Fix fprv for the 32 bit
30927169689Skan	eabi, and make sure queued POSTINCREMENT rtl is emitted at
30928169689Skan	the right point.
30929169689Skan
30930169689Skan2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
30931169689Skan
30932169689Skan	* builtins.c (PAD_VARARGS_DOWN): Define.
30933169689Skan	(std_expand_builtin_va_arg): Use the above macro.
30934169689Skan	* config/mips/mips.h (PAD_VARARGS_DOWN): Define.
30935169689Skan	* tm.texi (Register Arguments): Document the above macro.
30936169689Skan
30937169689Skan2000-01-14  Nick Clifton  <nickc@cygnus.com>
30938169689Skan
30939169689Skan	* emit-rtl.c (emit_insn): If checking is enabled, make sure
30940169689Skan	that this function has not been used to emit a jump
30941169689Skan	instruction.
30942169689Skan
30943169689Skan	* jump.c (return_jump_1): Cope with being passed a null rtx.
30944169689Skan
30945169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30946169689Skan
30947169689Skan	* eh-common.h: PROTO -> PARAMS.
30948169689Skan	* emit-rtl.c: Likewise.
30949169689Skan	* errors.c: Likewise.
30950169689Skan	* errors.h: Likewise.
30951169689Skan	* except.c: Likewise.
30952169689Skan	* except.h: Likewise.
30953169689Skan	* explow.c: Likewise.
30954169689Skan	* expmed.c: Likewise.
30955169689Skan	* expr.c: Likewise.
30956169689Skan	* expr.h: Likewise.
30957169689Skan	* final.c: Likewise.
30958169689Skan	* fix-header.c: Likewise.
30959169689Skan	* flow.c: Likewise.
30960169689Skan	* fold-const.c: Likewise.
30961169689Skan	* function.c: Likewise.
30962169689Skan	* function.h: Likewise.
30963169689Skan	* gcc.c: Likewise.
30964169689Skan	* gcov-io.h: Likewise.
30965169689Skan	* gcov.c: Likewise.
30966169689Skan	* gcse.c: Likewise.
30967169689Skan
30968169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30969169689Skan
30970169689Skan	* sh-protos.h: New file.
30971169689Skan
30972169689Skan	* sh.c: Include insn-config.h, toplev.h, recog.h and tm_p.h.
30973169689Skan	Add static prototypes.  Fix compile time warnings.
30974169689Skan
30975169689Skan	* sh.h: Move prototypes to sh-protos.h.  Fix compile time warnings.
30976169689Skan	* sh.md: Likewise.
30977169689Skan	* elf.h: Likewise.
30978169689Skan
30979169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30980169689Skan
30981169689Skan	* arc-protos.h: New file.
30982169689Skan
30983169689Skan	* arc.c: Include tm_p.h.  Add static prototypes.  Fix compile
30984169689Skan	time warnings.
30985169689Skan
30986169689Skan	* arc.h: Move prototypes to arc-protos.h.  Fix compile time
30987169689Skan	warnings.
30988169689Skan
30989169689Skan	* arc.md: Likewise.
30990169689Skan
30991169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
30992169689Skan
30993169689Skan	* dsp16xx-protos.h: New file.
30994169689Skan
30995169689Skan	* dsp16xx.c: Include tm_p.h.  Add static prototypes.  Fix compile
30996169689Skan	time warnings.
30997169689Skan
30998169689Skan	* dsp16xx.h: Move prototypes to dsp16xx-protos.h.  Fix compile time
30999169689Skan	warnings.
31000169689Skan
31001169689Skan	* dsp16xx.md: Likewise.
31002169689Skan
31003169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31004169689Skan
31005169689Skan	* convex-protos.h: New file.
31006169689Skan
31007169689Skan	* convex.c: Include tm_p.h.  Add static prototypes.  Fix compile
31008169689Skan	time warnings.
31009169689Skan
31010169689Skan	* convex.h: Move prototypes to convex-protos.h.  Fix compile time
31011169689Skan	warnings.
31012169689Skan
31013169689Skan2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31014169689Skan
31015169689Skan	* elxsi-protos.h: New file.
31016169689Skan
31017169689Skan	* elxsi.c: Include tm_p.h.  Add static prototypes.  Fix compile
31018169689Skan	time warnings.
31019169689Skan
31020169689Skan	* elxsi.h: Move prototypes to elxsi-protos.h.  Fix compile time
31021169689Skan	warnings.
31022169689Skan
31023169689Skan	* elxsi.md: Likewise.
31024169689Skan
31025169689Skan2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
31026169689Skan
31027169689Skan	* config/mips/mips.h (REGISTER_MOVE_COST): Remove redundant
31028169689Skan	case for moving from HI/LO/HI_LO_REG.  This makes the behavior
31029169689Skan	match the comment for MIPS16.
31030169689Skan
31031169689SkanFri Jan 14 00:28:06 2000  Jeffrey A Law  (law@cygnus.com)
31032169689Skan
31033169689Skan	* flow.c (split_edge): Do not call set_block_for_insn if we
31034169689Skan	do not have a basic_block_for_insn structure.
31035169689Skan
31036169689Skan	* fr30.h (TRAMPOLINE_TEMPLATE): Use nops to ensure the static chain
31037169689Skan	and destination functions are 32bit aligned within the trampoline.
31038169689Skan	(TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes.
31039169689Skan	(TRAMPOLINE_ALIGNMENT): Define.
31040169689Skan
31041169689Skan	* cse.c (cse_insn): When changing (set (pc) (reg)) to
31042169689Skan	(set (pc) (label_ref)), verify the change creates a valid insn.
31043169689Skan
31044169689Skan	* fr30.c (call_operand): Tighten and rework to match rules for
31045169689Skan	call RTL expressions.
31046169689Skan	* fr30.h (PREDICATE_CODES, case call_operand): Only allow MEMs.
31047169689Skan	* fr30.md (call patterns): Improve constraints.
31048169689Skan
31049169689SkanThu Jan 13 23:44:03 2000  Richard Henderson  <rth@cygnus.com>
31050169689Skan
31051169689Skan	* fr30.c (fr30_expand_epilogue): Revert last change.
31052169689Skan	Use emit_jump_insn for the return insn.
31053169689Skan
31054169689SkanThu Jan 13 14:46:03 2000  Jason Eckhardt  <jle@cygnus.com>
31055169689Skan			  Stan Cox  <scox@cygnus.com>
31056169689Skan
31057169689Skan	* predict.c: New file. Preliminary infrastructure work for static
31058169689Skan	branch prediction and basic block reordering.
31059169689Skan	* basic-block.h: Add prototype for estimate_probability.
31060169689Skan	* Makefile.in: Add rules for predict.o.
31061169689Skan
31062169689Skan2000-01-13  Jason Merrill  <jason@yorick.cygnus.com>
31063169689Skan
31064169689Skan	* fixincludes (va_list): Use __not_va_list__ for the dummy.
31065169689Skan	* fixinc/*: Likewise.
31066169689Skan
31067169689Skan2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31068169689Skan
31069169689Skan	* cccp.c: PROTO -> PARAMS.
31070169689Skan	* cexp.y: Likewise.
31071169689Skan	* collect2.c: Likewise.
31072169689Skan	* combine.c: Likewise.
31073169689Skan	* convert.h: Likewise.
31074169689Skan	* cse.c: Likewise.
31075169689Skan	* dbxout.c: Likewise.
31076169689Skan	* dbxout.h: Likewise.
31077169689Skan	* diagnostic.c: Likewise.
31078169689Skan	* doprint.c: Likewise.
31079169689Skan	* dwarf2out.c: Likewise.
31080169689Skan	* dwarf2out.h: Likewise.
31081169689Skan	* dwarfout.c: Likewise.
31082169689Skan	* dwarfout.h: Likewise.
31083169689Skan	* dyn-string.h: Likewise.
31084169689Skan
31085169689Skan2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31086169689Skan
31087169689Skan	* calls.c (emit_call_1): Wrap varaible `struct_value_size_rtx' in
31088169689Skan	macro conditionals guarding use.
31089169689Skan
31090169689Skan	* dwarf2out.c: Include "tm_p.h".
31091169689Skan
31092169689Skan	* function.c (locate_and_pad_parm): Mark parameter with
31093169689Skan	ATTRIBUTE_UNUSED.
31094169689Skan	(expand_function_end): Likewise for variable `context'.
31095169689Skan
31096169689Skan	* reorg.c (make_return_insns): Wrap prototype in macro HAVE_return.
31097169689Skan
31098169689Skan2000-01-13  Nick Clifton  <nickc@cygnus.com>
31099169689Skan
31100169689Skan	* config/fr30/fr30.c (fr30_expand_epilogue): Emit USEs of pop'ed
31101169689Skan	register to prevent compile time warnings.
31102169689Skan
31103169689Skan2000-01-13  Zack Weinberg  <zack@wolery.cumb.org>
31104169689Skan
31105169689Skan	* longlong.h [i386] (udiv_qrnnd): Rename 'd' argument to 'dv'
31106169689Skan	to avoid -Wtraditional warning.
31107169689Skan
31108169689Skan2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31109169689Skan
31110169689Skan	* 1750a-protos.h: New file.
31111169689Skan
31112169689Skan	* 1750a.c: Include tm_p.h.  Add static prototypes.  Fix compile
31113169689Skan	time warnings.
31114169689Skan
31115169689Skan	* 1750a.h: Move prototypes to 1750a-protos.h.  Fix compile time
31116169689Skan	warnings.
31117169689Skan
31118169689Skan	* 1750a.md: Likewise.
31119169689Skan
31120169689Skan2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31121169689Skan
31122169689Skan	* a29k-protos.h: New file.
31123169689Skan
31124169689Skan	* a29k.c: Include tm_p.h.  Add static prototypes.  Fix compile
31125169689Skan	time warnings.
31126169689Skan
31127169689Skan	* a29k.h: Move prototypes to a29k-protos.h.  Fix compile time
31128169689Skan	warnings.
31129169689Skan
31130169689Skan2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31131169689Skan
31132169689Skan	* clipper-protos.h: New file.
31133169689Skan
31134169689Skan	* clipper.c: Include tm_p.h.  Add static prototypes.  Fix compile
31135169689Skan	time warnings.
31136169689Skan
31137169689Skan	* clipper.h: Move prototypes to clipper-protos.h.  Fix compile time
31138169689Skan	warnings.
31139169689Skan
31140169689SkanThu Jan 13 16:03:06 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
31141169689Skan
31142169689Skan	* reload1.c (reload_combine_note_store): Use HARD_REGNO_NREGS.
31143169689Skan
31144169689Skan2000-01-13  Nathan Sidwell  <sidwell@codesourcery.com>
31145169689Skan
31146169689Skan	* configure.in (--enable-new-gxx-abi): New option.
31147169689Skan	* acconfig.h (ENABLE_NEW_GXX_ABI): New define.
31148169689Skan	* Makefile.in (GXX_ABI_FLAG): New variable.
31149169689Skan	* configure: Regenerate.
31150169689Skan
31151169689Skan2000-01-13  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
31152169689Skan
31153169689Skan	* stor-layout.c (layout_type): Use FORCE_STRUCT_BLK.
31154169689Skan	* tm.texi (FORCE_STRUCT_BLK): Document.
31155169689Skan	* config/c4x/c4x.h (FORCE_STRUCT_BLK): New macro.
31156169689Skan
31157169689SkanWed Jan 12 23:12:47 2000  Hans-Peter Nilsson  <hp@axis.com>
31158169689Skan
31159169689Skan	* config/ns32k/ns32k.md: Revert Jan 9 change.
31160169689Skan
31161169689Skan	* genrecog.c (maybe_both_true_2): Do not compare a predicate-test
31162169689Skan	to a mode-test, if the predicate is address_operand.
31163169689Skan
31164169689SkanWed Jan 12 22:34:00 2000  Jeffrey A Law  (law@cygnus.com)
31165169689Skan
31166169689Skan	* combine.c (if_then_else_cond): Be careful about what kinds
31167169689Skan	of RTL expressions are passed to operand_subword.
31168169689Skan
31169169689Skan	* flow.c (split_edge): If we have to insert a new jump, make
31170169689Skan	sure to associate it with a basic block.
31171169689Skan
31172169689Skan	* flow.c (commit_one_edge_insertion): A block with one successor
31173169689Skan	can end in a JUMP_INSN that is not a simplejump.
31174169689Skan
31175169689Skan2000-01-12  Robert Lipe  <robertl@sco.com>
31176169689Skan
31177169689Skan	* i386/sco5.h (INIT_SECTION_ASM_OP_COFF): Rename section to "ctor".
31178169689Skan	(BUILD_VA_LIST_TYPE): Define.
31179169689Skan	(EH_FRAME_SECTION_ASM_OP): Explictly define to better interact
31180169689Skan	with crtstuff.c.
31181169689Skan
31182169689Skan2000-01-12  Jason Merrill  <jason@casey.cygnus.com>
31183169689Skan
31184169689Skan	* cccp.c (do_pragma): Add cast to (char *).
31185169689Skan
31186169689Skan2000-01-12  Richard Henderson  <rth@cygnus.com>
31187169689Skan	    Fred Fish  <fnf@be.com>
31188169689Skan	    Jason Merrill  <jason@cygnus.com>
31189169689Skan
31190169689Skan	* configure.in (i?86-*-beos{pe,elf,}*): Recognize.
31191169689Skan	* i386/t-beos, i386/x-beos, i386/xm-beos.h: New files.
31192169689Skan	* i386/beos-elf.h, i386/beos-pe.h: New files.
31193169689Skan
31194169689Skan	* Makefile.in (CROSS_SYSTEM_HEADER_DIR): New.
31195169689Skan	* cross-make (SYSTEM_HEADER_DIR): Define using
31196169689Skan	CROSS_SYSTEM_HEADER_DIR.
31197169689Skan
31198169689Skan	* gcc.c (LIBRARY_PATH_ENV): Provide default.
31199169689Skan	(process_command): Use it.
31200169689Skan	(main): Likewise.  Kill trailing = from env vars.
31201169689Skan	(build_search_list): Put it back.
31202169689Skan	* collect2.c (main): Use LIBRARY_PATH_ENV.
31203169689Skan
31204169689Skan	* configure.in (GCC_NEED_DECLARATIONS): Add environ.
31205169689Skan	* toplev.c: Use NEED_DECLARATION_ENVIRON.
31206169689Skan
31207169689Skan	* tm.texi (Frame Layout): Document SMALL_STACK.
31208169689Skan	* c-common.c (c_common_nodes_and_builtins): Check it.
31209169689Skan
31210169689Skan	* system.h: Undef alloca after including glibc's <stdlib.h>,
31211169689Skan	if USE_C_ALLOCA is defined.
31212169689Skan
31213169689Skan	* gcc.c (set_input): New fn.
31214169689Skan	(main): After all input files are compiled, reset the input file
31215169689Skan	info to the first.
31216169689Skan
31217169689Skan	* aclocal.m4 (rindex, index): If already defined, don't attempt
31218169689Skan	to redefine.
31219169689Skan
31220169689Skan	* ginclude/varargs.h: (__va_list__): Define ifndef.
31221169689Skan	* ginclude/stdarg.h: Likewise.
31222169689Skan
31223169689Skan	* ginclude/stddef.h (__WCHAR_TYPE__) [BEOS]: Use int
31224169689Skan	instead of unsigned char.
31225169689Skan
31226169689Skan	* hash.h (true, false, boolean): Undef before enum.
31227169689Skan
31228169689Skan	* expmed.c (choose_multiplier): Cast &mhigh_lo and &mhigh_hi to be
31229169689Skan	proper type of "HOST_WIDE_INT *", rather than their natural type of
31230169689Skan	"unsigned HOST_WIDE_INT *".
31231169689Skan
31232169689Skan2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31233169689Skan
31234169689Skan	* svr3.h (ASM_FILE_START): Wrap if-clause in squigly brackets.
31235169689Skan
31236169689Skan	* recog.c (memory_address_p): Mark parameter with ATTRIBUTE_UNUSED.
31237169689Skan
31238169689Skan	* regclass.c (choose_hard_reg_mode): Likewise.
31239169689Skan
31240169689Skan	* reload.c (find_valid_class, strict_memory_address_p): Likewise.
31241169689Skan
31242169689Skan	* reorg.c (optimize_skip): Wrap prototype in macro conditionals.
31243169689Skan
31244169689Skan2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31245169689Skan
31246169689Skan	* c-common.c: PROTO -> PARAMS.
31247169689Skan	* c-common.h: Likewise.
31248169689Skan	* c-decl.c: Likewise.
31249169689Skan	* c-iterate.c: Likewise.
31250169689Skan	* c-lang.c: Likewise.
31251169689Skan	* c-lex.c: Likewise.
31252169689Skan	* c-lex.h: Likewise.
31253169689Skan	* c-parse.in: Likewise.
31254169689Skan	* c-pragma.c: Likewise.
31255169689Skan	* c-pragma.h: Likewise.
31256169689Skan	* c-tree.h: Likewise.
31257169689Skan	* c-typeck.c: Likewise.
31258169689Skan	* objc/objc-act.c: Likewise.
31259169689Skan	* objc/objc-act.h: Likewise.
31260169689Skan
31261169689Skan2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31262169689Skan
31263169689Skan	* m88k-protos.h: New file.
31264169689Skan
31265169689Skan	* m88k.c: Include tm_p.h.  Add static prototypes.  Fix compile
31266169689Skan	time warnings.
31267169689Skan
31268169689Skan	* m88k.h: Move prototypes to m88k-protos.h.  Fix compile time warnings.
31269169689Skan
31270169689Skan	* m88k.md: Likewise.
31271169689Skan
31272169689Skan	* tekXD88.h: Likewise.
31273169689Skan
31274169689Skan2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31275169689Skan
31276169689Skan	* m68k-protos.h: New file.
31277169689Skan
31278169689Skan	* m68k.c: Include tm_p.h.  Add static prototypes.  Fix compile
31279169689Skan	time warnings.
31280169689Skan
31281169689Skan	* m68k.h: Move prototypes to m68k-protos.h.  Fix compile time warnings.
31282169689Skan
31283169689Skan	* mot3300.h: Likewise.
31284169689Skan
31285169689Skan2000-01-12  Richard Earnshaw <rearnsha@arm.com>
31286169689Skan
31287169689Skan	* haifa-sched.c (split_edges): Pass edgeset_size as second arg to
31288169689Skan	extract_bitlst.
31289169689Skan	(extract_bitlist): Declare bitlen.
31290169689Skan
31291169689Skan2000-01-12  Zack Weinberg  <zack@wolery.cumb.org
31292169689Skan
31293169689Skan	* cccp.c: Accept and ignore -lang-fortran.
31294169689Skan
31295169689Skan	* c-typeck.c (build_c_cast): Issue -Wcast-qual warnings if the
31296169689Skan	qualifiers don't match at any level of pointerness.
31297169689Skan
31298169689Skan2000-01-12  Robert Lipe  <robertl@sco.com>
31299169689Skan
31300169689Skan	* i386/sysv5.h (CPP_SPEC, LIBSPEC): Add -pthreadT.
31301169689Skan
31302169689Skan2000-01-12  Bernd Schmidt  <bernds@cygnus.co.uk>
31303169689Skan
31304169689Skan	* reload1.c (reload_reg_unavailable): New static variable.
31305169689Skan	(reload_reg_free_p): Test it.
31306169689Skan	(reload_reg_free_for_value_p): Test it instead of
31307169689Skan	reload_reg_used.
31308169689Skan	(choose_reload_regs_init): Compute it.
31309169689Skan
31310169689SkanWed Jan 12 03:24:41 2000  Toshiyasu Morita (toshi.morita@sega.com)
31311169689Skan
31312169689Skan	* reorg.c (fill_slots_from_thread): Check modified_in_p
31313169689Skan	before replacing.
31314169689Skan
31315169689SkanWed Jan 12 03:20:31 2000  John Marshall <john_w_marshall@palm.com>
31316169689Skan
31317169689Skan	* gcc.texi (Funding, GNU/Linux, Copying, Contributors): Format
31318169689Skan	these nodes even if INTERNALS is not set.
31319169689Skan
31320169689SkanWed Jan 12 09:39:22 2000  Nick Burrett  <nick.burrett@btinternet.com>
31321169689Skan
31322169689Skan	* gcse.c (delete_null_pointer_checks_1): Cope when
31323169689Skan	get_condition cannot determine the condition.
31324169689Skan
31325169689Skan2000-01-12  Gabriel Dos Reis  <gdr@codesourcery.com>
31326169689Skan
31327169689Skan	* toplev.h (set_message_length): Declare.
31328169689Skan
31329169689Skan	* diagnostic.c (obstack_chunk_alloc): Define macro.
31330169689Skan	(obstack_chunk_free): Likewise.
31331169689Skan	(struct output_buffer): New data structure.
31332169689Skan	(vmessage): Remove.
31333169689Skan	(output_maximum_width): New variable.
31334169689Skan	(doing_line_wrapping, set_message_length, init_output_buffer,
31335169689Skan	get_output_prefix, output_space_left, emit_output_prefix,
31336169689Skan	output_newline, output_append, output_puts, dump_output,
31337169689Skan	vbuild_message_string, build_message_string, build_location_prefix,
31338169689Skan	voutput_notice, output_printf, line_wrapper_printf,
31339169689Skan	vline_wrapper_message_with_location):  New functions. Implement
31340169689Skan	automatic line wrapping.
31341169689Skan	(v_message_with_decl): Make it handle automatic line wrapping.
31342169689Skan	(v_error_with_file_and_line): Likewise.
31343169689Skan	(v_warning_with_file_and_line): Likewise.
31344169689Skan	(announce_function): Likewise.
31345169689Skan	(default_print_error_function): Likewise.
31346169689Skan
31347169689Skan2000-01-11 16:24 -0800  Zack Weinberg  <zack@wolery.cumb.org>
31348169689Skan
31349169689Skan	* cpplib.h (struct cpp_options): Change lang_asm to char.
31350169689Skan	Add lang_fortran.
31351169689Skan	* cppinit.c (builtin_array): Take out __STDC_VERSION__, it's
31352169689Skan	done in cpp_handle_option now.
31353169689Skan	(initialize_builtins): Take out special case code used only by
31354169689Skan	__STDC_VERSION__.
31355169689Skan	(cpp_handle_option): Turn off trigraphs and trigraph warnings
31356169689Skan	if -traditional.  Recognize -lang-fortran and set
31357169689Skan	lang_fortran, also turn off cplusplus_comments.
31358169689Skan	(print_help): Document -lang-fortran.
31359169689Skan	* cpplib.c (handle_directive): Ignore `# 123 "file"' if
31360169689Skan	lang_asm. Ignore all directives other than `# 123 "file"' if
31361169689Skan	CPP_PREPROCESSED.
31362169689Skan	(cpp_get_token): If -traditional, don't recognize directives
31363169689Skan	unless the # is in column 1.
31364169689Skan	(parse_string): If lang_fortran or lang_asm, silently
31365169689Skan	terminate strings ('' or "") at end of line.
31366169689Skan	Remove unnecessary braces.
31367169689Skan
31368169689Skan2000-01-11  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
31369169689Skan	    Richard Henderson  <rth@cygnus.com>
31370169689Skan
31371169689Skan	* resource.c (mark_referenced_resources): Mark a set strict_low_part
31372169689Skan	as used.
31373169689Skan	* config/i386/i386.c (ix86_expand_setcc): Re-enable clear + set
31374169689Skan	strict_low_part when possible.
31375169689Skan
31376169689Skan2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31377169689Skan
31378169689Skan	* alias.c: PROTO -> PARAMS.
31379169689Skan	* basic-block.h: Likewise.
31380169689Skan	* bitmap.c: Likewise.
31381169689Skan	* bitmap.h: Likewise.
31382169689Skan	* builtins.c: Likewise.
31383169689Skan	* c-aux-info.c: Likewise.
31384169689Skan	* caller-save.c: Likewise.
31385169689Skan	* calls.c: Likewise.
31386169689Skan
31387169689Skan2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31388169689Skan
31389169689Skan	* Makefile.in (toplev.o): Depend on regs.h.
31390169689Skan
31391169689Skan	* output.h (tdesc_section): Prototype.
31392169689Skan
31393169689Skan	* regclass.c (copy_cost): Mark parameters with ATTRIBUTE_UNUSED.
31394169689Skan
31395169689Skan	* sdbout.c: Include "tm_p.h".
31396169689Skan
31397169689Skan	* toplev.c: Include "regs.h".
31398169689Skan
31399169689SkanTue Jan 11 11:37:58 2000  Mike Stump  <mrs@wrs.com>
31400169689Skan
31401169689Skan	* unroll.c (unroll_loop): Add EH support.
31402169689Skan
31403169689Skan2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31404169689Skan
31405169689Skan	* pa-protos.h: New file.
31406169689Skan
31407169689Skan	* pa.c: Include recog.h and tm_p.h.
31408169689Skan	(compute_zdepwi_operands, compute_movstrsi_length,
31409169689Skan	remove_useless_addtr_insns, store_reg, load_reg, set_reg_plus_d,
31410169689Skan	find_addr_reg, import_milli): Add static prototypes.
31411169689Skan	(pa_cpu_string, pa_arch_string): Constify a char*.
31412169689Skan	(legitimize_pic_address): Pass argument `mode' to pic_label_operand.
31413169689Skan	(read_only_operand): Add argument `mode'.
31414169689Skan	(singlemove_string, output_move_double, output_fp_move_double,
31415169689Skan	output_block_move, output_and, output_ior, output_ascii,
31416169689Skan	remove_useless_addtr_insns, milli_names, output_mul_insn,
31417169689Skan	output_div_insn, output_mod_insn, output_arg_descriptor,
31418169689Skan	output_cbranch, output_bb, output_bvb, output_dbra, ,
31419169689Skan	output_millicode_call, output_call, hppa_encode_label,
31420169689Skan	output_parallel_movb, output_parallel_addb): Constify a char*.
31421169689Skan	(hppa_va_start): Mark parameter `stdarg_p' with ATTRIBUTE_UNUSED.
31422169689Skan	(output_parallel_addb): Remove extra arg to `constrain_operands'
31423169689Skan
31424169689Skan	* pa.h:  Move all prototypes to pa-protos.h.
31425169689Skan	(pa_cpu_string, pa_arch_string): Constify a char*.
31426169689Skan	(LEGITIMIZE_ADDRESS): Call `symbolic_operand' with mode argument.
31427169689Skan
31428169689Skan	* pa.md: Call `function_label_operand' with mode argument.
31429169689Skan	Likewise for `read_only_operand'.
31430169689Skan	Fix nesting of parens in call to `symbolic_operand'.
31431169689Skan
31432169689Skan2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31433169689Skan
31434169689Skan	* i860-protos.h: New file.
31435169689Skan
31436169689Skan	* i860.c: Include tm_p.h.  Add static prototypes.  Fix compile
31437169689Skan	time warnings.
31438169689Skan
31439169689Skan	* i860.h: Move prototypes to i860-protos.h.  Fix compile time warnings.
31440169689Skan
31441169689Skan	* i860.md: Likewise.
31442169689Skan
31443169689SkanTue Jan 11 18:59:35 MET 2000  Jan Hubicka <jh@suse.cz>
31444169689Skan
31445169689Skan	* i386.md (movstrsi expander): Rewrite.
31446169689Skan	(movstrsi_1 insn): Deleted.
31447169689Skan	(strmovhi, strmovqi expander): New expanders.
31448169689Skan	(movshi_1, movsqi_1, rep_movsi, rep_movqi): New patterns.
31449169689Skan	* i386.c (x86_single_stringop): New global variable.
31450169689Skan	* i386.h (x86_single_stringop): Declare.
31451169689Skan	(TARGET_SINGLE_STRINGOP): New macro.
31452169689Skan
31453169689Skan2000-01-11  Clinton Popetz  <cpopetz@cygnus.com>
31454169689Skan
31455169689Skan	* config/mips/mips.c (mips_va_arg): For EABI, emit the queued
31456169689Skan	integer vararg POSTINCREMENT before the destination of the jump
31457169689Skan	for the hard fp case.
31458169689Skan	(function_arg_pass_by_reference): Pass a copy of CUM to
31459169689Skan	FUNCTION_ARG.
31460169689Skan
31461169689Skan	* config/mips/mips.h (GO_IF_LEGITIMATE_ADDRESS): Move check
31462169689Skan	for CONSTANT_ADDRESS_P above while loop for subreg.
31463169689Skan
31464169689Skan2000-01-11  Clinton Popetz  <cpopetz@cygnus.com>
31465169689Skan
31466169689Skan	* flow.c (propagate_block): When a prologue/epilogue insn
31467169689Skan	is marked dead, unconditionally clear libcall_is_dead and
31468169689Skan	insn_is_dead, and only dump rtl if warnings aren't being
31469169689Skan	suppressed.
31470169689Skan
31471169689SkanTue Jan 11 16:26:47 MET 2000  Jan Hubicka <jh@suse.cz>
31472169689Skan
31473169689Skan	* i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD.
31474169689Skan	* i386.md (FIRST_PSEUDO_REGISTER): Set to 20.
31475169689Skan	(FIXED_REGISTERS): Set dirflag as fixed.
31476169689Skan	(CALL_USED_REGISTERS): Set dirflag as used.
31477169689Skan	(REG_ALLOC_ORDER): Set dirflag as last one.
31478169689Skan	(DIRFLAG_REG): New macro.
31479169689Skan	(MD_ASM_CLOBBERS): Asm clobber dirflag for backward compatibility.
31480169689Skan	(HI_REGISTER_NAMES): Add dirflag.
31481169689Skan	(DEBUF_PRINT_REG): Handle dirflag.
31482169689Skan	* i386.md (type attribute): New cld and str types.
31483169689Skan	(length_opcode attribute): Set cld and str to 1.
31484169689Skan	(memory attribute): Set str to unknown - it is not clear from the
31485169689Skan	patterns.
31486169689Skan	(pent_np function unit): Prefixed string operations takes 12 cycles
31487169689Skan	minimally; cld takes 2 cycles.
31488169689Skan	(ppro_uops attribute): Str is "many" and cld is "few".
31489169689Skan	(ppro_p0 unit): Handle cld here.
31490169689Skan	(k6_alux unit): Handle cld and str types.
31491169689Skan	(k6_load unit): It is ocupied by str opcodes.
31492169689Skan	(k6_store unit): It is ocupied by str opcodes.
31493169689Skan	(athlon_decode): Str is vector decoded.
31494169689Skan	(athlon_ieu): Handle str and cld.
31495169689Skan	(cld pattern): New.
31496169689Skan	(movstrsi, clrstr, cmpstr, strlen expander): Emit cld instruction
31497169689Skan	(movstrsi_1, clrstrsi_1, cmpstrsi_1, strlensi_1,
31498169689Skan	cmpstrsi_nz_1 insn): Do not output cld instruction
31499169689Skan
31500169689SkanTue Jan 11 06:14:39 2000  David Starner <dstarner98@aasaa.ofe.org>
31501169689Skan
31502169689Skan	* gcc.texi (G++ and GCC): Add Java and Chill.
31503169689Skan	(Bug Critera): Don't list languages.
31504169689Skan
31505169689Skan	* gcc.texi (Incompatibilities): No longer claim most C compilers
31506169689Skan	are K&R.
31507169689Skan
31508169689Skan	* gcc.texi (G++ and GCC): Update other front-ends list.
31509169689Skan
31510169689SkanTue Jan 11 05:49:01 2000  Jeffrey A Law  (law@cygnus.com)
31511169689Skan
31512169689Skan	* i386.c (ix86_expand_setcc): Fix typo.
31513169689Skan	(ix86_expand_movcc): Similarly.
31514169689Skan
31515169689Skan	* Band-aid until haifa's bitset implementation is nuked.
31516169689Skan	* haifa-sched.c (extract_bitlst): New parameter for size of the
31517169689Skan	bitset in bits.  All callers changed.  Avoid looking at undefined
31518169689Skan	bits in the bitset.
31519169689Skan	(edgeset_bitsize): New variable.
31520169689Skan	(schedule_region): Initialize edgeset_bitsize.
31521169689Skan
31522169689Skan2000-01-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31523169689Skan
31524169689Skan	* Makefile.in (optabs.o): Depend on real.h
31525169689Skan	(resource.o): Depend on insn-attr.h
31526169689Skan
31527169689Skan	* builtins.c (result_vector): Wrap prototype in macro conditions
31528169689Skan	governing definition and use.
31529169689Skan
31530169689Skan	* c-common.c: Include tm_p.h.
31531169689Skan
31532169689Skan	* c-lex.c: Likewise.
31533169689Skan
31534169689Skan	* elfos.h: Constify a char*.
31535169689Skan
31536169689Skan	* final.c (align_fuzz): Wrap prototype in macro HAVE_ATTR_length.
31537169689Skan	(get_attr_length, shorten_branches, profile_after_prologue): Mark
31538169689Skan	parameter with ATTRIBUTE_UNUSED.
31539169689Skan
31540169689Skan	* fold-const.c (exact_real_inverse): Wrap variable `i' in
31541169689Skan	CHECK_FLOAT_VALUE.
31542169689Skan
31543169689Skan	* haifa-sched.c (schedule_insns): Mark parameter with
31544169689Skan	ATTRIBUTE_UNUSED.
31545169689Skan
31546169689Skan	* optabs.c: Include real.h.
31547169689Skan
31548169689Skan	* real.h (ereal_atof): Add prototype arguments.
31549169689Skan
31550169689Skan	* resource.c: Include insn-attr.h.
31551169689Skan
31552169689Skan	* sdbout.c (sdbout_queue_anonymous_type,
31553169689Skan	sdbout_dequeue_anonymous_types): Wrap in macro
31554169689Skan	SDB_ALLOW_FORWARD_REFERENCES.
31555169689Skan	(sdbout_init, sdbout_start_new_source_file): Mark parameter with
31556169689Skan	ATTRIBUTE_UNUSED.
31557169689Skan
31558169689Skan	* stmt.c (expand_return): Wrap variable `op0' in macro HAVE_return.
31559169689Skan
31560169689Skan	* stupid.c: Include tm_p.h.
31561169689Skan
31562169689Skan	* tree.c (real_value_from_int_cst): Mark parameter with
31563169689Skan	ATTRIBUTE_UNUSED.
31564169689Skan
31565169689Skan2000-01-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31566169689Skan
31567169689Skan	* i960-protos.h: New file.
31568169689Skan
31569169689Skan	* i960.c: Include tm_p.h.  Add static prototypes.  Fix compile
31570169689Skan	time warnings.
31571169689Skan
31572169689Skan	* i960.h: Move prototypes to i960-protos.h.  Fix compile time warnings.
31573169689Skan
31574169689Skan2000-01-10  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
31575169689Skan
31576169689Skan	* combine.c (expand_field_assignment): Do not discard SUBREGs
31577169689Skan	while computing nonzero_bits.
31578169689Skan
31579169689Skan2000-01-09  Nick Clifton  <nickc@cygnus.com>
31580169689Skan
31581169689Skan	* config/arm/arm.c: Fix compile time warnings about signed vs
31582169689Skan	unsigned constants.
31583169689Skan	* config/arm/arm.h: Fix compile time warnings about signed vs
31584169689Skan	unsigned constants.
31585169689Skan
31586169689Skan2000-01-09  Philip Blundell  <philb@gnu.org>
31587169689Skan
31588169689Skan	* config/arm/arm.c (output_return_instruction): Use `ldr' rather
31589169689Skan	than `ldm' with only one register.
31590169689Skan	* config/arm/arm.md (push_multi): Use `str' rather than `stm' with
31591169689Skan	only one register.
31592169689Skan
31593169689Skan	* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Say that R0 is
31594169689Skan	clobbered.
31595169689Skan
31596169689SkanSun Jan  9 17:50:23 2000  Hans-Peter Nilsson  <hp@axis.com>
31597169689Skan
31598169689Skan	* config/ns32k/ns32k.md (load or push effective address): Operand 1
31599169689Skan	must have SImode.
31600169689Skan
31601169689Skan2000-01-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31602169689Skan
31603169689Skan	* elfos.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
31604169689Skan	assignment used as truth value.
31605169689Skan
31606169689Skan	* function.c (assign_temp): Mark parameter `dont_promote' with
31607169689Skan	ATTRIBUTE_UNUSED.  Wrap variable `unsignedp' with macro
31608169689Skan	PROMOTE_FOR_CALL_ONLY.
31609169689Skan
31610169689Skan	* genrecog.c (write_subroutine): Mark variable `operands' with
31611169689Skan	ATTRIBUTE_UNUSED.
31612169689Skan
31613169689Skan	* optabs.c (prepare_cmp_insn): Mark parameter `align' with
31614169689Skan	ATTRIBUTE_UNUSED.
31615169689Skan
31616169689Skan	* sdbout.c (sdbout_init): Likewise for parameter `asm_file'.
31617169689Skan	(sdbout_begin_block, sdbout_end_block): Likewise for `file'.
31618169689Skan
31619169689Skan	* toplev.c (note_deferral_of_defined_inline_function): Likewise
31620169689Skan	for `decl'.
31621169689Skan
31622169689Skan2000-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
31623169689Skan
31624169689Skan	* config/c4x.h: Tidy up comments.
31625169689Skan	* config/c4x.c: Likewise.
31626169689Skan
31627169689SkanSun Jan  9 01:02:55 EST 2000  John Wehle  (john@feith.com)
31628169689Skan
31629169689Skan	* fold-const.c (lshift_double, rshift_double): Handle
31630169689Skan	shifting by 2 * HOST_BITS_PER_WIDE_INT correctly.
31631169689Skan
31632169689Skan2000-01-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
31633169689Skan
31634169689Skan	* toplev.c (rest_of_compilation): Initialize cse_not_expected as
31635169689Skan	in prepare_function_start().
31636169689Skan
31637169689SkanSat Jan  8 12:12:46 2000  Nick Clifton  <nickc@cygnus.com>
31638169689Skan
31639169689Skan	* config/v850/v850.c (expand_epilogue): Interrupt functions no
31640169689Skan	longer allocate extra stack for function calls.
31641169689Skan
31642169689Skan2000-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
31643169689Skan
31644169689Skan	* config/c4x/c4x.md (*subqf3_set): Fix typo.
31645169689Skan
31646169689Skan2000-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
31647169689Skan
31648169689Skan	* config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Define as 0.
31649169689Skan
31650169689Skan2000-01-07  David Edelsohn  <edelsohn@gnu.org>
31651169689Skan
31652169689Skan	* rs6000.c (processor_target_table): Add power3 as alias for 630.
31653169689Skan	* aix43.h: Revert Aug 2 change.
31654169689Skan	(HAS_INIT_SECTION): Define, not visible yet.
31655169689Skan	(LD_INIT_SWITCH): Define, not visible yet.
31656169689Skan	* t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
31657169689Skan
31658169689Skan	* glimits.h (__LONG_MAX__): Recognize 64-bit AIX too.
31659169689Skan
31660169689Skan	* collect2.c (main): Expand ld2 size further.
31661169689Skan	(export_object_lst): Cast assignment to avoid warning.
31662169689Skan	(main, LD_INIT_SWITCH): Add AIX 4.2+ -binitfini support.
31663169689Skan	(scan_prog_file, COFF): Do not collect initialization or
31664169689Skan	finalization functions generated for entire shared object if
31665169689Skan	init/fini support present.
31666169689Skan
31667169689Skan2000-01-07  Nick Clifton  <nickc@cygnus.com>
31668169689Skan
31669169689Skan	* config/elfos.h: Tidy up formatting of marcos.  Make sure
31670169689Skan	that .section directives are always prefixed by a tab.
31671169689Skan
31672169689Skan	* config/svr4.h: Add #include "elfos.h" and remove duplicate
31673169689Skan	definitions.
31674169689Skan
31675169689Skan2000-01-07  Matt Austern  <austern@sgi.com>
31676169689Skan
31677169689Skan	* fold-const.c (real_hex_to_f): Remove duplicate declaration of
31678169689Skan	expon.
31679169689Skan
31680169689SkanFri Jan  7 01:55:34 2000  Jeffrey A Law  (law@cygnus.com)
31681169689Skan
31682169689Skan	* Makefile.in (crtend.o): Pass @inhibit_libc@ to compilation of
31683169689Skan	crtstuff.c.
31684169689Skan	(crtbegin.o, s-crtS): Likewise.
31685169689Skan
31686169689Skan2000-01-06  Richard Henderson  <rth@cygnus.com>
31687169689Skan
31688169689Skan	* alpha.md (adddi_2+1): Limit offset such that it will be
31689169689Skan	loadable with a single ldah+lda pair.
31690169689Skan	(adddi_2+2): Explicitly fail split if we can't make it work.
31691169689Skan
31692169689Skan2000-01-06  Mumit Khan  <khan@xraylith.wisc.edu>
31693169689Skan
31694169689Skan	* protoize.c: Conditionally include unistd.h.
31695169689Skan	(IS_SAME_PATH_CHAR): New macro.
31696169689Skan	(IS_SAME_PATH): New macro.
31697169689Skan	(CPLUS_FILE_SUFFIX): New macro.
31698169689Skan	(cplus_suffix): New static variable.
31699169689Skan	(is_abspath): New static function.
31700169689Skan	(in_system_include_dir): Handle DOS style pathnames.
31701169689Skan	(file_could_be_converted): Likewise.
31702169689Skan	(file_normally_convertible): Likewise.
31703169689Skan	(directory_specified_p): Likewise.
31704169689Skan	(file_excluded_p): Likewise.
31705169689Skan	(abspath): Likewise.
31706169689Skan	(shortpath): Likewise.
31707169689Skan	(referenced_file_is_newer): Likewise.
31708169689Skan	(save_def_or_dec): Likewise.
31709169689Skan	(do_processing): Likewise.
31710169689Skan	(main): Likewise.
31711169689Skan	(edit_file): Likewise. Use rename instead of link.
31712169689Skan	(rename_c_file): Likewise. Don't rename syscalls file.
31713169689Skan	(munge_compile_params): Define null device for DOS based systems.
31714169689Skan	(process_aux_info_file): Use binary mode if appliable.
31715169689Skan	(edit_file): Likewise.
31716169689Skan	* invoke.texi (Running Protoize): Document C++ suffixes used.
31717169689Skan
31718169689Skan	* cccp.c: Delete PATH_SEPARATOR, DIR_SEPARATOR and
31719169689Skan	IS_DIR_SEPARATOR macros.
31720169689Skan	* collect2.c: Likewise.
31721169689Skan	* cppinit.c: Likewise.
31722169689Skan	* dwarf2out.c: Likewise.
31723169689Skan	* gcc.c: Likewise.
31724169689Skan	* gcov.c: Likewise.
31725169689Skan	* prefix.c: Likewise.
31726169689Skan	* rtl.c: Likewise.
31727169689Skan	* toplev.c: Likewise.
31728169689Skan	* system.h: And move to here.
31729169689Skan
31730169689Skan	* prefix.c (update_path): Fix typo in variable name.
31731169689Skan
31732169689Skan2000-01-06  Richard Henderson  <rth@cygnus.com>
31733169689Skan
31734169689Skan	* flow.c (mark_set_1): Use loop_depth+1 as reference weight.
31735169689Skan	(find_auto_inc, mark_used_regs, try_pre_increment_1): Likewise.
31736169689Skan	(count_reg_sets_1, count_reg_references): Likewise.
31737169689Skan	(flow_loops_level_compute): Start counting actual loop depth at 1.
31738169689Skan	(flow_loops_find): Likewise.
31739169689Skan	* local-alloc.c (update_equiv_regs): Likewise.
31740169689Skan	* regclass.c (regclass): Re-instate Jan 4 0-based loop_depth change.
31741169689Skan
31742169689Skan2000-01-06  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
31743169689Skan
31744169689Skan	* defaults.h (DWARF_FRAME_REGISTERS): if not defined, default to
31745169689Skan	FIRST_PSEUDO_REGISTER
31746169689Skan	* dwarf2out.c: Don't include frame.h
31747169689Skan	* dwarfout.c: Likewise
31748169689Skan	* Makefile.in (dwarfout.o, dwarf2out.o): Remove dependence on
31749169689Skan	frame.h
31750169689Skan
31751169689SkanThu Jan  6 13:44:59 CET 2000  Jan Hubicka  <jh@suse.cz>
31752169689Skan
31753169689Skan	* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
31754169689Skan	dead registers.
31755169689Skan
31756169689Skan	* i386.c (movsf splitter): Fix typo in my last checkin.
31757169689Skan
31758169689Skan2000-01-05  Nick Clifton  <nickc@cygnus.com>
31759169689Skan
31760169689Skan	* varasm.c (IN_NAMED_SECTION): Allow targets to provide their
31761169689Skan	own definition of this macro.
31762169689Skan	(asm_emit_uninitialised): Invoke UNIQUE_SECTION if either
31763169689Skan	flag_data_sections or UNIQUE_SECTION_P are true.
31764169689Skan
31765169689Skan	* tm.texi (UNIQUE_SECTION): Document that it can be called for
31766169689Skan	uninitialized data decls.
31767169689Skan
31768169689Skan	* config/i386/winnt.c (i386_pe_unique_section): Cope with
31769169689Skan	being called for uninitialized data.
31770169689Skan
31771169689Skan	* config/i386/interix.c (i386_pe_unique_section): Cope with
31772169689Skan	being called for uninitialized data.
31773169689Skan
31774169689Skan	* config/mips/elf.h (UNIQUE_SECTION): Cope with being called
31775169689Skan	for uninitialized data.
31776169689Skan
31777169689Skan	* config/mips/elf64.h (UNIQUE_SECTION): Cope with being called
31778169689Skan	for uninitialized data.
31779169689Skan
31780169689Skan	* config/mips/iri6gld.h (UNIQUE_SECTION): Cope with being called
31781169689Skan	for uninitialized data.
31782169689Skan
31783169689Skan	* config/arm/unknown-elf.h (IN_NAMED_SECTION): Define.
31784169689Skan	(UNIQUE_SECTION_P): Always generate a unique section if
31785169689Skan	flag_data_sections is true.
31786169689Skan	(UNIQUE_SECTION): Also generate unique sections for
31787169689Skan	uninitialized data.
31788169689Skan	(ASM_OUTPUT_ALIGNED_BSS): Redefine to use named_section().
31789169689Skan	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Redefine to use
31790169689Skan	named_section().
31791169689Skan
31792169689Skan2000-01-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
31793169689Skan
31794169689Skan	* config/c4x/t-c4x (TARGET_LIBGCC2_CFLAGS): Don't redefine SF, DF,
31795169689Skan	SI, or DI.
31796169689Skan
31797169689Skan2000-01-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
31798169689Skan
31799169689Skan	* config/c4x/c4x.md (udivqi3, divqi3): Delete.
31800169689Skan	(umodqi3, modqi3, udivhi3, divhi3, umodhi3, modhi3, ffsqi2): Likewise.
31801169689Skan	(*smulqi3_highpart_noclobber, *umulqi3_highpart_noclobber): New.
31802169689Skan	(*lshrqi3_const_noclobber, *lshrqi3_nonconst_noclobber): Likewise.
31803169689Skan	(*ashrqi3_const_noclobber, *ashrqi3_nonconst_noclobber): Likewise.
31804169689Skan
31805169689Skan	* c4x.h (INIT_TARGET_OPTABS): Define to init libcalls.
31806169689Skan
31807169689Skan2000-01-05 11:25 -0800  Zack Weinberg  <zack@rabi.columbia.edu>
31808169689Skan
31809169689Skan	* c-decl.c (finish_enum): Simplify code to determine minimum and
31810169689Skan	maximum values of the enum, and calculate the type.  Remove check
31811169689Skan	for FUNCTION_DECLs in the values list, which cannot happen.  Replace
31812169689Skan	the DECL_INITIAL of each enumeration constant with a copy converted
31813169689Skan	to the enumeration type.  When updating variant types, don't bother
31814169689Skan	updating the type itself.
31815169689Skan
31816169689Skan	* c-typeck.c (build_binary_op): Simplify conditional expressions
31817169689Skan	when weeding out spurious signed-unsigned warnings.  Add new
31818169689Skan	spurious warning category: if the unsigned quantity is an enum
31819169689Skan	and its maximum value fits in signed_type(result_type).  Update
31820169689Skan	commentary.
31821169689Skan	(build_conditional_expr): Warn here if one alternative is signed
31822169689Skan	and the other is unsigned.
31823169689Skan
31824169689Skan2000-01-05  Nick Clifton  <nickc@cygnus.com>
31825169689Skan
31826169689Skan	* config/fr30/fr30.h: Remove extraneous comments.
31827169689Skan
31828169689Skan2000-01-05  Bernd Schmidt  <bernds@cygnus.co.uk>
31829169689Skan
31830169689Skan	* reload1.c (choose_reload_regs): When disabling a reload, also
31831169689Skan	set reload_spill_index to -1.
31832169689Skan
31833169689Skan2000-01-04  Joel Sherrill (joel@OARcorp.com>
31834169689Skan
31835169689Skan	* configure.in (m68*-*-rtemscoff*): New target, formal name for
31836169689Skan	old m68*-*-rtems*.
31837169689Skan	(m68*-*-rtemself*): New target.
31838169689Skan	(mips64orion-*-rtems*): Remove duplicate definition of tm_file.
31839169689Skan	(sparc*-*-rtemsaout*): New target, formal name for old sparc*-*-rtems*.
31840169689Skan	(sparc*-*-rtemself*): New target.
31841169689Skan	(sparc*-*-rtems*): Now elf not a.out.
31842169689Skan	* config/i386/rtems.h: Include config/rtems.h.
31843169689Skan	* config/i386/rtemself.h: Include config/rtems.h.
31844169689Skan	* config/i960/rtems.h: Include config/rtems.h.
31845169689Skan	* config/m68k/rtems.h: Include config/rtems.h.
31846169689Skan	* config/m68k/rtemself.h: Include config/rtems.h.
31847169689Skan	* config/mips/rtems64.h: Include config/rtems.h.
31848169689Skan	* config/pa/rtems.h: Include config/rtems.h.
31849169689Skan	* config/rs6000/rtems.h: Include config/rtems.h.
31850169689Skan	* config/sh/rtems.h: Include config/rtems.h.
31851169689Skan	* config/sh/rtemself.h: Include config/rtems.h.
31852169689Skan	* config/sparc/rtems.h: Include config/rtems.h.
31853169689Skan	* config/sparc/rtemself.h: Include config/rtems.h
31854169689Skan
31855169689SkanTue Jan  4 23:59:26 2000  Denis Chertykov <denisc@overta.ru>
31856169689Skan
31857169689Skan	* final.c (shorten_branches): Correctly compute length of
31858169689Skan	asms without operands.
31859169689Skan
31860169689SkanTue Jan  4 22:55:41 2000  Steve Chamberlain <sac@pobox.com>
31861169689Skan
31862169689Skan	* configure.in: Add pj target.
31863169689Skan	* configure: Regenerate.
31864169689Skan	* config/pj: New directory.
31865169689Skan	* config/pj/lib1funcs.S: New file.
31866169689Skan	* config/pj/linux.h: New file.
31867169689Skan	* config/pj/pj.c: New file.
31868169689Skan	* config/pj/pj.md: New file.
31869169689Skan	* config/pj/pjl.h: New file.
31870169689Skan	* config/pj/t-pj: New file.
31871169689Skan	* config/pj/xm-pj.h: New file
31872169689Skan
31873169689SkanTue Jan  4 22:30:16 2000  Jeffrey A Law  (law@cygnus.com)
31874169689Skan
31875169689Skan	* toplev.c (rest_of_compilation): Run shorten-branches before
31876169689Skan	reg-stack for now.
31877169689Skan
31878169689Skan2000-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
31879169689Skan
31880169689Skan	* config/c4x/c4x.h (IS_XXX_REG, IS_XXX_REGNO): Swap behavior of
31881169689Skan	macros so that they're consistent with their names.
31882169689Skan	* config/c4x/c4x.c (IS_XXX_REG, IS_XXX_REGNO): Likewise.
31883169689Skan	* config/c4x/c4x.md (IS_XXX_REG, IS_XXX_REGNO): Likewise.
31884169689Skan
31885169689Skan2000-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
31886169689Skan
31887169689Skan	* config/c4x/c4x.md (*addqi3_noclobber_reload): Ensure that CC never
31888169689Skan	modified inadvertently.
31889169689Skan
31890169689Skan2000-01-04  Joel Sherrill <joel@OARcorp.com>
31891169689Skan
31892169689Skan	* configure.in (v850*-*-rtems*): New target.
31893169689Skan	* configure: Regenerate.
31894169689Skan	* config/v850/rtems.h: New file.
31895169689Skan
31896169689Skan2000-01-04  Mumit Khan  <khan@xraylith.wisc.edu>
31897169689Skan
31898169689Skan	* gthr-win32.h (__gthread_active_p): Support Mingw MT runtime.
31899169689Skan	(__gthread_key_create): Likewise.
31900169689Skan	(__gthread_key_dtor):  Likewise.
31901169689Skan	(__gthread_once): Fix logic.
31902169689Skan	(__gthread_key_delete): Cast away constness.
31903169689Skan
31904169689Skan	* i386/cygwin.h (SUBTARGET_SWITCHES): Add -mthreads option.
31905169689Skan	* invoke.texi: Document.
31906169689Skan	* i386/mingw32.h (CPP_SPEC): Use.
31907169689Skan	(LIBGCC_SPEC): Likewise.
31908169689Skan	* i386/crtdll.h (LIBGCC_SPEC): Likewise.
31909169689Skan
31910169689Skan2000-01-04  David Edelsohn  <edelsohn@gnu.org>
31911169689Skan
31912169689Skan	* rs6000/sysv4.h (ASM_OUTPUT_DEF): Undefine.
31913169689Skan	(HANDLE_PRAGMA_PACK): Undefine.
31914169689Skan	(SLOW_UNALIGNED_ACCESS): Define.
31915169689Skan
31916169689Skan2000-01-04  David Edelsohn  <edelsohn@gnu.org>
31917169689Skan
31918169689Skan	* expmed.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters
31919169689Skan	to default definition.
31920169689Skan	(store_bit_field): Call SLOW_UNALIGNED_ACCESS with mode and alignment.
31921169689Skan	(store_fixed_bit_field): Call macro with word_mode and alignment.
31922169689Skan	(extract_bit_field): Call macro with relevant mode and alignment.
31923169689Skan	* expr.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters
31924169689Skan	to default definition.
31925169689Skan	(move_by_pieces): Call SLOW_UNALIGNED_ACCESS with word_mode
31926169689Skan	and alignment.
31927169689Skan	(move_by_pieces_ninsns): Likewise.
31928169689Skan	(clear_by_pieces): Likewise.
31929169689Skan	(emit_push_insn): Likewise.
31930169689Skan	(store_field): Call macro with relevant mode and alignment.
31931169689Skan	(expand_expr): Likewise.
31932169689Skan	(expand_expr_unaligned): Likewise.
31933169689Skan
31934169689Skan	* rs6000.h (HANDLE_PRAGMA_PACK): Define.
31935169689Skan	(SLOW_UNALIGNED_ACCESS): Define.
31936169689Skan	(CASE_VECTOR_MODE): Always use 32-bit offsets.
31937169689Skan	(ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
31938169689Skan	(EXTRA_SECTION_FUNCTIONS): Indent .csect pseudo-op.
31939169689Skan	(toc_section): Likewise and .toc pseudo-op.
31940169689Skan	(ASM_DECLARE_FUNCTION): Likewise.  Align text more strictly in
31941169689Skan	64-bit mode.
31942169689Skan	(TEXT_SECTION_ASM_OP): Likewise.
31943169689Skan	(ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
31944169689Skan	32-bit offsets.
31945169689Skan
31946169689Skan	* a29k.h (SLOW_UNALIGNED_ACCESS): Add MODE and ALIGN parameters.
31947169689Skan	* alpha.h (SLOW_UNALIGNED_ACCESS): Likewise.
31948169689Skan	* arm/thumb.h (SLOW_UNALIGNED_ACCESS): Likewise.
31949169689Skan	* gmicro.h (SLOW_UNALIGNED_ACCESS): Likewise.
31950169689Skan	* fr30.h (SLOW_UNALIGNED_ACCESS): Likewise.
31951169689Skan
31952169689SkanTue Jan  4 11:44:13 2000  Jeffrey A Law  (law@cygnus.com)
31953169689Skan
31954169689Skan	* regclass.c: Revert my Jan 4 change to loop cost computation.
31955169689Skan
31956169689SkanTue Jan  4 19:22:39 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
31957169689Skan
31958169689Skan	* regclass.c (regclass): Do not obey REG_N_REFS in non-optimizing
31959169689Skan	compilation.
31960169689Skan
31961169689Skan2000-01-04  Stan Cox  <scox@cygnus.com>
31962169689Skan
31963169689Skan	* haifa-sched.c (build_control_flow): Change unreachable simple
31964169689Skan	loop test to check if current block has only one predecessor.
31965169689Skan	(find_rgns): Initialize degree.  Use dest as degree index, not src.
31966169689Skan
31967169689Skan2000-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
31968169689Skan
31969169689Skan	* builtins.c (expand_builtin_strlen): Initialize variable `icode'.
31970169689Skan
31971169689Skan	* calls.c (expand_call): Likewise for
31972169689Skan	`old_stack_arg_under_construction'.
31973169689Skan
31974169689Skan	* cpphash.c (macroexpand): Likewise for `args' and `rest_zero'.
31975169689Skan
31976169689Skan	* function.c (pad_to_arg_alignment): Likewise for `save_var' and
31977169689Skan	`save_constant'.
31978169689Skan
31979169689Skan	* gcc.c (execute): Likewise for `ut' and `st'.
31980169689Skan
31981169689Skan	* genattrtab.c (attr_rtx): Likewise for `rt_val'.
31982169689Skan
31983169689Skan	* genopinit.c (gen_insn): Likewise for `m1', `m2' and `op'.
31984169689Skan
31985169689Skan	* jump.c (jump_optimize_1): Likewise for `temp2'.
31986169689Skan
31987169689Skan	* local-alloc.c (block_alloc): Likewise for `r1'.
31988169689Skan
31989169689Skan	* loop.c (recombine_givs): Likewise for `life_start' and `life_end'.
31990169689Skan
31991169689Skan	* reg-stack.c (check_asm_stack_operands): Likewise for `clobber_reg'.
31992169689Skan	(subst_asm_stack_regs): Likewise for `clobber_reg' and `clobber_loc'.
31993169689Skan
31994169689Skan	* regmove.c (fixup_match_1): Likewise for `insn_const', `dst_node'
31995169689Skan	and `set2'.
31996169689Skan
31997169689Skan	* reload.c (find_reloads): Likewise for `goal_alternative_number'
31998169689Skan	and `goal_earlyclobber'.
31999169689Skan
32000169689Skan	* scan-decls.c (scan_decls): Likewise for `prev_id_end'.
32001169689Skan
32002169689Skan	* sdbout.c (sdbout_one_type): Likewise for `member_scl'.
32003169689Skan
32004169689Skan	* stupid.c (stupid_life_analysis): Likewise for `chain'.
32005169689Skan
32006169689Skan	* unroll.c (copy_loop_body): Likewise for `copy'.
32007169689Skan
32008169689Skan	* varasm.c (output_constructor): Likewise for `byte'.
32009169689Skan
32010169689SkanTue Jan  4 15:34:34 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
32011169689Skan
32012169689Skan	* i386.c (ix86_expand_move): Allow pushes of memory, offload to memory
32013169689Skan	all FP constants for constant->reg moves.
32014169689Skan	(ix86_split_to_parts): Try to convert memory address into immediate
32015169689Skan	when available in the constant pool.
32016169689Skan	* i386.h (PREFERRED_RELOAD_CLASS): Allow CONST_DOUBLE->integer reg
32017169689Skan	moves.
32018169689Skan	(LEGITIMATE_CONSTANT_P): Return 1.
32019169689Skan	* i386.md (pushsf): New splitter to convert constant pool memory
32020169689Skan	reference to immediate.
32021169689Skan	(mov?f): Likewise; do not allow CONST_DOUBLE for reg moves before
32022169689Skan	reload.
32023169689Skan
32024169689Skan2000-01-04  Bernd Schmidt  <bernds@cygnus.co.uk>
32025169689Skan
32026169689Skan	* i386.md (ashlsi3_cmpno): Don't accept variables shifts.
32027169689Skan	(ashlhi3_cmpno, ashlqi3_cmpno, ashrsi3_cmpno, ashrhi3_cmpno,
32028169689Skan	ashrqi3_cmpno, lshrsi3_cmpno, lshrhi3_cmpno, lshrqi3_cmpno): Likewise.
32029169689Skan	(rotlsi3_cmpno, rotlhi3_cmpno, rotlqi3_cmpno, rotrsi3_cmpno,
32030169689Skan	rotrhi3_cmpno, rotrqi3_cmpno): Likewise.
32031169689Skan
32032169689Skan2000-01-04  Martin von L�wis  <loewis@informatik.hu-berlin.de>
32033169689Skan
32034169689Skan	* ginclude/stdbool.h:  Support compilation as C++.
32035169689Skan
32036169689SkanTue Jan  4 01:35:13 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
32037169689Skan
32038169689Skan	* fold-const.c (make_range): Don't try to reverse an unbounded range.
32039169689Skan
32040169689SkanTue Jan  4 00:18:46 2000  Jeffrey A Law  (law@cygnus.com)
32041169689Skan
32042169689Skan	* regclass.c (regclass): Properly compute loop_cost.  Adjust
32043169689Skan	comments.
32044169689Skan
32045169689Skan	* regclass.c: Fix minor whitespace problems.
32046169689Skan
32047169689Skan2000-01-03  Anthony Green  <green@cygnus.com>
32048169689Skan
32049169689Skan	* config/i386/i386.md (builtin_setjmp_receiver): New pattern.
32050169689Skan	Restore the pic register if required.
32051169689Skan
32052169689Skan2000-01-03  Ulrich Drepper  <drepper@cygnus.com>
32053169689Skan
32054169689Skan	* c-common.c (format_char_info): Update comment.
32055169689Skan	(check_format_info): Recognize 'z' modifier in the same way 'Z'
32056169689Skan	was recognized.  Emit warning for formats new in ISO C99 only
32057169689Skan	if flag_isoc9x is not set.
32058169689Skan
32059169689SkanMon Jan  3 12:59:54 2000  Mark P. Mitchell  <mark@codesourcery.com>
32060169689Skan
32061169689Skan	* config/mips/iris6gld.h: Fix typo in -mabi=n32 specs.
32062169689Skan
32063169689SkanMon Jan  3 15:33:37 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
32064169689Skan
32065169689Skan	* combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to
32066169689Skan	SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND.
32067169689Skan	(make_compound_operation): Choose cheaper alternative between
32068169689Skan	ZERO_EXTEND and SIGN_EXTEND when sign bit is not set.
32069169689Skan
32070169689Skan	* regclass.c (op_costs): Remove global variable.
32071169689Skan	(record_reg_classes): New parameter "op_costs" and "reg_pref".
32072169689Skan	(record_operand_costs): Break out from ...
32073169689Skan	(scan_one_insn): ... here.
32074169689Skan	(dump_regclass): Make dumps nicer.
32075169689Skan	(regclass): Dump preferrences choosed and changes done during passes.
32076169689Skan
32077169689Skan2000-01-03  Jakub Jelinek  <jakub@redhat.com>
32078169689Skan
32079169689Skan	* config/sparc/sparc.c (gen_df_reg): Fix for 32bit SPARC.
32080169689Skan
32081169689Skan2000-01-03  Jakub Jelinek  <jakub@redhat.com>
32082169689Skan
32083169689Skan	* config/sparc/sparc.c (gen_df_reg): New function.
32084169689Skan	* config/sparc/sparc-protos.h (gen_df_reg): Add prototype.
32085169689Skan	* config/sparc/sparc.md (movtf_no_e_insn_sp64+1,
32086169689Skan	movtf_no_e_insn_sp64+2, movtf_no_e_insn_sp64+3, movtf_cc_sp64+1,
32087169689Skan	movtf_cc_reg_sp64+1): Use it.
32088169689Skan
32089169689Skan2000-01-02  Mark Mitchell  <mark@codesourcery.com>
32090169689Skan
32091169689Skan	* integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on
32092169689Skan	copied LABEL_DECLs.
32093169689Skan
32094169689SkanMon Jan  3 02:54:40 2000  Hans-Peter Nilsson  <hp@bitrange.com>
32095169689Skan
32096169689Skan	* config/i386/i386.c (ix86_expand_unary_operator): Function
32097169689Skan	definition made void.
32098169689Skan	(ix86_expand_binary_operator): Update outdated preceding comment.
32099169689Skan	* config/i386/i386-protos.h (ix86_expand_unary_operator): Update
32100169689Skan	prototype.
32101169689Skan
32102169689Skan	* config/i386/i386.c (override_options): Fix option-name typo.
32103169689Skan
32104169689Skan2000-01-02  Mark Mitchell  <mark@codesourcery.com>
32105169689Skan
32106169689Skan	* system.h (CEIL): Define.
32107169689Skan	* builtins.c (CEIL): Remove.
32108169689Skan	* expmed.c (CEIL): Likewise.
32109169689Skan	* expr.c (CEIL): Likewise.
32110169689Skan	* stor-layout.c (CEIL): Likewise.
32111169689Skan
32112169689Skan2000-01-02  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
32113169689Skan
32114169689Skan	* expr.c (store_constructor_field): Fix typo introduced with last
32115169689Skan	gcc2 merge.
32116169689Skan
32117169689Skan2000-01-01  Mark Mitchell  <mark@codesourcery.com>
32118169689Skan
32119169689Skan	* tree.h (BINFO_N_BASETYPES): New macro.
32120169689Skan
32121169689Skan2000-01-01  Bernd Schmidt  <bernds@cygnus.co.uk>
32122169689Skan
32123169689Skan	* expmed.c (emit_store_flag): Prevent losing a pending stack
32124169689Skan	adjust the same way we prevent losing queued increments.
32125