OSDN Git Service

* dwarf2asm.c (size_of_encoded_value): New function.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-06-12  Richard Henderson  <rth@redhat.com>
2
3         * dwarf2asm.c (size_of_encoded_value): New function.
4         * dwarf2asm.h: Declare it.
5         * except.c (output_function_exception_table): Align the TType
6         array only as wide as the encoding.
7
8 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
9
10         * extend.texi: Document #pragma GCC java_exceptions.
11
12 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13
14         * c-parse.in (bison parser, init_reswords): Remove uses of
15         doing_objc_thang.
16         * c-tree.h (doing_objc_thang): Remove.
17
18 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
19
20         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
21         about files not ending in newlines.
22
23 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
24
25         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
26
27 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
28
29         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
30         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
31
32 2001-05-11  Richard Henderson  <rth@redhat.com>
33
34         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
35         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
36         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
37         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
38         (dw2_output_indirect_constants): Prototype.
39         * dwarf2out.c (dwarf2out_begin_prologue): Generate
40         current_function_func_begin_label if we'll need it for EH.  Exit
41         early for IA64_UNWIND_INFO.
42         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
43         (eh_data_format_name): Update for indirect references.
44         (output_function_exception_table): Care for IA64_UNWIND_INFO.
45         Handle ASM_PREFERRED_EH_DATA_FORMAT.
46         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
47         define HAVE_eh_return etc.
48         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
49         (final_end_function): Don't call output_function_exception_table.
50         * toplev.c (compile_file): Call dw2_output_indirect_constants.
51         (rest_of_compilation): Invoke output_function_exception_table 
52         for ia64 before assemble_end_function.
53         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
54         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
55
56         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
57         * unwind.h: Declare them.
58         * libgcc-std.ver: Export them.
59         * unwind-pe.h: New file.
60
61         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
62
63         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
64         instead of "fde".
65         (find_fde_for_dso): Extract DT_PLTGOT.
66         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
67         the segment and gp as well.
68         * config/ia64/frame-ia64.c: Remove file.
69         * config/ia64/frame-ia64.h: Remove file.
70         * config/ia64/unwind-ia64.c: New file.
71         * config/ia64/unwind-ia64.h: New file.
72         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
73         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
74         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
75         (ASM_PREFERRED_EH_DATA_FORMAT): New.
76         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
77         (IA64_UNWIND_INFO): Re-enable.
78         (HANDLER_SECTION): Remove.
79         (EH_RETURN_DATA_REGNO): New.
80         * config/ia64/ia64.md (exception_receiver): Remove.
81         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
82         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
83
84 2001-05-11  Richard Henderson  <rth@redhat.com>
85
86         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
87         calls and jumps to be bundled together.
88         (ia64_reorg): Emit a break after a noreturn call that ends
89         a function.
90         * config/ia64/ia64.md (break_f): New.
91
92 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
93
94         * c-lex.c (lex_charconst): Convert into a simple wrapper
95         around cpp_interpret_charconst, to which most of the code
96         body is moved.
97         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
98         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
99         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
100         (lex): Use cpp_interpret_charconst.
101         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
102         hex_digit_value): New functions.
103         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
104         * cpplib.h (cpp_interpret_charconst): New prototype.
105         * Makefile.in: Update.
106
107 2001-05-12  Dean Wakerley  <dean@wakerley.com>
108
109         * doc/install.texi: New file. Converted to texinfo from the HTML
110         documentation in wwwdocs/htdocs/install.
111
112 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
113
114         * gcse.c (insert_insn_end_bb): Do not search for assignments to
115         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
116
117         * toplev.c (compile_file): Move comment for opening output
118         file to just before the code that opens the output file.
119
120 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
121
122         * regmove.c (regmove_optimize): Suppress the optimization for
123         unchanging destination register.  Add comment above function.
124
125 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
126
127         * Makefile.in: Exterminate all references to assert.h.
128         * cross-make: Likewise.
129         * assert.h: Delete.
130         * configure.in: Correct commentary.
131         * configure: Regenerate.
132
133         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
134         Remove __eprintf.
135
136         * config/t-freebsd, config/t-linux, config/t-linux-aout,
137         config/t-netbsd, config/t-rtems, config/x-linux,
138         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
139         No need to override INSTALL_ASSERT_H.
140
141         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
142         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
143         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
144
145 2001-05-11  Graham Stott  <grahams@redhat.com>
146
147         * combine.c (simplify_comparison): Fix typo.
148
149 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
150
151         * loop.h (struct movables): Remove `num'.
152         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
153         Adjust call to strength_reduce.
154         (num_unmoved_movables): New function.
155         (move_movables): Don't set movables->num.
156         (strength_reduce): Compute the number of instructions in the loop
157         here, rather than in the caller.
158         (check_dbra_loop): Always clear reversible_mem_store if there
159         are any memory sets.
160         (loop_regs_scan): Don't count instructions here.
161         (count_insn_in_loop): New function.
162
163 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
164
165         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
166
167 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
168
169         * c-common.c (finish_label_expr): New function, lifted from
170         from cp/semantics.c.
171         * c-common.h (finish_label_expr, lookup_label): New prototypes.
172         * c-parse.in: Move 3 blocks of parser code into new functions.
173         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
174         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
175         (lookup_label): Remove.
176
177 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
178
179         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
180         FLOAT_BIT_ORDER_MISMATCH.
181
182 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
183
184         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
185         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
186
187 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
188
189         * expr.c (emit_group_load): extract_bit_field requires a REG or
190         MEM as an argument.
191
192 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
193
194         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
195         a computed jump into an unconditional jump.
196         In second hunk of code for collapsing computed and conditional jumps
197         into unconditional jumps, reemit the jump in additional cases.
198
199         * jump.c (jump_optimize_1): Do not wrap the new jump target
200         inside a LABEL_REF; gen_jump will do that automatically.
201
202 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
203
204         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
205         contents for a SYMBOL_REF in case of floating point constants.
206
207 2001-05-10  DJ Delorie  <dj@redhat.com>
208
209         * c-common.c (combine_strings): Widen strings in a
210         host-endian-independent way.
211
212 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
213
214         * c-parse.in: Remove many shift/reduce conflicts.  Update
215         %expect values.
216         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
217         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
218         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
219         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
220         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
221         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
222         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
223         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
224         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
225         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
226         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
227         typespec_reserved_nonattr, typespec_reserved_attr,
228         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
229         structsp_nonattr, components_notype, component_notype_declarator,
230         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
231         firstparm, setspecs_fp): New
232         (typed_declspecs, reserved_declspecs, typed_typespecs,
233         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
234         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
235         declmods_no_prefix_attr, nonempty_type_quals, structsp,
236         type_quals): Remove.  Users updated.
237         (initdecls, notype_initdecls, after_type_declarator,
238         parm_declarator, notype_declarator, absdcl1, components, ivars):
239         Don't allow attributes at the start of a declarator; include them
240         in the production containing the declarator instead.  Always
241         require type specifiers before trying to redeclare a typedef name.
242         (typename): Allow for attributes but warn that they are ignored.
243         (parmlist, firstparm, setspecs_fp): Include attributes in
244         parmlist; suck them off the parser stack in firstparm using
245         setspecs_fp.
246
247 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
248
249         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
250         to determine if a block has an unconditional jump at its end.
251
252         * jump.c (jump_optimize_1): When converting a conditional jump
253         to an unconditional jump, build the jump using gen_jump instead
254         of just modify operands in-place.
255
256 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
257
258         * cppinit.c (cpp_post_options): Shut off macro expansion if
259         -fpreprocessed.
260         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
261         IN_I directives only if the # is in column 1 and the directive
262         name begins in column 2.
263         * cppmain.c (scan_buffer): Insert a space between # and an
264         identifier, when that identifier is a directive name.
265
266         * tradcpp.c (struct file_buf): Add a pointer to the next entry
267         in the header search path.
268         (enum node_type): Add T_INCLUDE_NEXT.
269         (directive_table): Add entry for include_next.
270         (do_include_next): New function.
271         (process_include): New routine, broken out of do_include.
272         (finclude): Insert 'nhd' argument, to be copied into
273         next_header_dir of the new buffer.
274         (main): Adjust to match.
275         * gsyslimits.h, limity.h: Un-indent #include_next.
276
277 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
278
279         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
280         inclusion as a chapter of the GCC manual.
281         * gcc.texi: Include objc.texi.
282         * fdl.texi: Use @unnumberedsec for the addendum.
283         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
284
285 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
286
287         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
288
289 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
290
291         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
292         handling of two-address insns.
293
294 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
295
296         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
297         ../binutils/nm-new instead of ../binutils/nm.
298
299 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
300
301         * i386.md (movdi splitter): Fix the splitting condition
302         (float_extenddftf splitter): Fix mode.
303
304 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
305
306         * genrecog.c (write_switch): Avoid outputting of switch for
307         types wider than int.
308
309 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
310
311         * reload1.c (copy_eh_notes): New function.
312         (emit_input_reload_insns): Call it.
313         (emit_output_reload_insns): Call it.
314
315 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
316
317         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
318         Delete stanzas.
319         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
320         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
321
322         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
323
324 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
325
326         * pa.md (interspace_jump): Revise comment.
327         (builtin_longjmp): Block initial setup insns from delay slot of
328         interspace branch.
329         (builtin_setjmp_receiver): New expander to save and restore PIC
330         register.
331
332         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
333
334 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
335
336         * toplev.c (compile_file): Set up the output file before we call
337         the various initializers for the compiler.
338
339         * except.c (sjlj_mark_call_sites): Do not search for assignments to
340         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
341
342         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
343         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
344
345 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
346
347         * Makefile.in (tradcpp0): Correct typo in dependency list.
348
349 2001-05-06  Geoff Keating  <geoffk@redhat.com>
350
351         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
352         the link register if we're not going to use it.
353
354         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
355         (output_function_profiler): Likewise.
356
357 2001-05-07  Alan Modra  <amodra@one.net.au>
358
359         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
360
361 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
362
363         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
364         zero-extend it.  Make abs_inc unsigned.
365
366         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
367         widest mode in narrowing and widening operations.
368
369         * config/mips/mips.md: Sign extend CONST_INTs.
370
371 2001-05-06  Andreas Jaeger  <aj@suse.de>
372
373         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
374         (i386 Options): Document -momit-leaf-frame-pointer.
375
376 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
377
378         * c-typeck.c (internal_build_compound_expr): Check for
379         array to pointer conversion just once.
380
381 2001-05-05  Richard Henderson  <rth@redhat.com>
382
383         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
384
385 2001-05-05  Richard Henderson  <rth@redhat.com>
386
387         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
388         to the parent of the fixup region.
389
390 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
391
392         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
393         "inline" keyword.
394         * cpp.texi (__NO_INLINE): Document it.
395
396 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
397
398         * cppfiles.c (struct include_file): New member err_no.
399         (find_or_create_entry): Set it.
400         (open_file): Don't set fds to -2.  Instead, use err_no to
401         remember previous errors, if any.
402
403 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
404
405         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
406         between X and Y by using sequences of xgdx and xgdy.
407
408 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
409
410         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
411         of '!' for the 'D' alternative ('!' is too strong).
412         ("*logicalsi3_silshl16"): Likewise.
413         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
414         ("movstrictsi"): Remove spurious '+'.
415         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
416         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
417         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
418         a reload to them.
419
420 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
421
422         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
423
424 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
425
426         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
427         into -a.
428
429 2000-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
430
431         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
432         TARGET_POWERPC64.
433
434 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
435
436         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
437         soft register, use ror instead of rol.
438
439 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
440
441         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
442         into account pre/post increment decrement for 68HC12.
443         Fix other problems in replacement and fix call to reg_mentioned_p.
444
445 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
446
447         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
448         Put the soft registers in bss for 68HC12.
449         (L_regs_d3_4): New for _.d3 and _.d4.
450         (L_regs_d5_6): Likewise.
451         (L_regs_d1_2): Likewise.
452         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
453
454 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
455
456         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
457         to the pre-processor when -fshort-double is specified.
458         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
459
460 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
461
462         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
463         (__mulsi3): Rewrite for 68HC12.
464         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
465         Mark 'x' constraint with earlyclobber to prevent a
466         RELOAD_FOR_OTHER_ADDRESS to go in it.
467         (mulhi3_m68hc12): New pattern.
468         (mulhi3_m68hc11): Rename of mulhi3.
469         (mulhi3): New expand for 68HC12 optimisation.
470         (umulhisi3, mulhisi3): New patterns for 68HC12.
471
472 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
473
474         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
475         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
476         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
477
478 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
479
480         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
481         constants cheap after reload.
482         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
483         are cheap.
484         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
485         so that gcc prefers a shift by 16.
486         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
487
488 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
489
490         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
491
492 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
493
494         * alpha.h: NULL_PTR -> NULL.
495         * arm.c: Likewise.
496         * arm.h: Likewise.
497         * avr.h: Likewise.
498         * c4x.c: Likewise.
499         * c4x.h: Likewise.
500         * i386.c: Likewise.
501         * i386.md: Likewise.
502         * i860.c: Likewise.
503         * ia64.c: Likewise.
504         * m68hc11.h: Likewise.
505         * rs6000.h: Likewise.
506         * sh.c: Likewise.
507         * sh.h: Likewise.
508         * sparc.h: Likewise.
509         * v850.c: Likewise.
510
511         * expr.c: Likewise.
512         * final.c: Likewise.
513         * gcc.c: Likewise.
514         * recog.c: Likewise.
515
516 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
517
518         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
519         `bool' parameter to `int'.
520
521         * hash.c (hash_lookup): Likewise.
522
523         * hash.h (hash_lookup): Likewise.
524
525         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
526
527 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
528
529         * i386.c (x86_initialize_trampoline): Fix mode of constant.
530
531 2001-05-03  Geoff Keating  <geoffk@redhat.com>
532
533         * invoke.texi (i386 Options): Delete references to -malign-jumps,
534         -malign-loops, -malign-functions.
535         * i386.c (ix86_align_funcs): Delete.
536         (ix86_align_loops): Delete.
537         (ix86_align_jumps): Delete.
538         (override_options): Mark -malign-* as obsolete.  Emulate their
539         behaviour with the -falign-* options.  Default -falign-* from
540         the processor table.
541         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
542         patch of Wed May 2 13:09:36 2001.
543         (LOOP_ALIGN): Delete.
544         (LOOP_ALIGN_MAX_SKIP): Delete.
545         (LABEL_ALIGN_AFTER_BARRIER): Delete.
546         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
547
548 2001-05-04  Andreas Jaeger  <aj@suse.de>
549
550         * except.h: Add prototype declaration for
551         expand_builtin_init_dwarf_reg_sizes.
552
553 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
554
555         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
556
557 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
558
559         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
560         instruction.
561         ("bitcmpqi2"): New pattern for bit-extract and test.
562         ("bitcmphi"): New pattern for bitb/bita instructions.
563
564 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
565
566         * gccbug.in: Use a temporary directory when the mktemp command is
567         not available.
568
569 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
570
571         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
572         instead of _.d1.
573         (INITIALIZE_TRAMPOLINE): Call it.
574         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
575         (TRAMPOLINE_TEMPLATE): Remove.
576         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
577         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
578         Declare.
579
580 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
581
582         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
583         and crtendS.o with PIC.
584
585 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
586
587         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
588         negative numbers.
589         (___subdi3, ___adddi3): Use x instead of y as index register.
590         (__init_bss_section, __map_data_section): Optimize for 68HC12.
591         (__memset, __memcpy): Likewise.
592         (regs): Put the soft registers in bss for 68HC12.
593         (abort): Use trap to abort for 68hc12.
594         (__mulhi3, __mulhi32): Use emul for 68hc12.
595         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
596
597 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
598
599         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
600         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
601         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
602         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
603         Set 68HC12 min offset to -65536.
604         (print_operand): Put parenthesis arround the operand if it refers
605         to a symbol having the same name as a register.
606         (m68hc11_z_replacement): When z register is replaced by its
607         equivalent soft register, force the insn to be re-recognized.
608         (m68hc11_check_z_replacement): Fix the test when destination is
609         the index register and z dies in the insn.
610         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
611
612 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
613
614         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
615         costs according to processor variant.
616         (m68hc11_shift_cost): New function to compute shift costs.
617         (m68hc11_rtx_costs): Define costs according to processor variant.
618         (m6811_cost): Costs for 68HC11.
619         (m6812_cost): Costs for 68HC12.
620         (COSTS_N_INSNS): Remove.
621
622         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
623         (DEFAULT_RTX_COSTS): Remove.
624         (CONST_COSTS): Define costs according to OUTER_CODE.
625         (processor_costs): New struct to define costs.
626         (m68hc11_cost): Pointer to current costs.
627
628 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
629
630         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
631         and use m68hc11_notice_keep_cc when using leax/leay.
632         (addhi3 split): Reject split if the insn is handled by
633         leax/leay above.
634         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
635         push must be handled in a special way if the source operand uses
636         sp as index register.
637         (m68hc11_notice_keep_cc): New function.
638         (m68hc11_gen_movhi): Use it when an insn changes a register but
639         not the flags.
640         (m68hc11_gen_movqi): Fix move for 68HC12.
641         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
642
643 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
644
645         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
646         and don't pass operands[0] to emit_library_call_value.
647
648 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
649
650         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
651         (zero_extendsi split): Simplify and use (zero_extendhi).
652         (*addhi3): Remove 'w' constraint since stack pointer is handled
653         by (addhi3_sp).
654         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
655         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
656         (*ashrhi3_const): Fix shift by 7.
657         (*lshrsi3_const16): Fix template.
658         (call, call_value): Fix constraint and predicate.
659
660 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
661
662         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
663         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
664         (CC_REGNUM): Likewise.
665         (*unnamed splits): Use above constants instead of hard coded numbers.
666         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
667         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
668         (*return_16bit, *unnamed peepholes): Likewise.
669
670 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
671
672         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
673         rs6000/rs6000.h twice.
674
675 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
676
677         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
678         (CPP_SPEC): Conditionally define MSDOS and GO32.
679         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
680         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
681         ignored.
682         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
683
684 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
685
686         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
687
688 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
689
690         * integrate.h (struct inline_remap): Add leaf_reg_map table.
691         * integrate.c (expand_inline_function): Use xcalloc to allocate
692         memory.
693         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
694         registers.
695
696 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
697
698         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
699         if it is not set.
700
701 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
702
703         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
704         linker if -mrelax is given.
705         (TARGET_SWITCHES): Document -mrelax.
706
707         Re-installed 2001-01-09's patch:
708         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
709         if it's wider than long and the target's long is wider than the
710         host's.
711
712 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
713
714         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
715         directly include rs6000/rs6000.h.  Instead do it in tm.h.
716
717 2001-05-02  Stan Shebs  <shebs@apple.com>
718
719         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
720         NSConstantString for NeXT-style runtimes.
721         (STRING_OBJECT_GLOBAL_NAME): New macro.
722         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
723         OCTI_STRING_CLASS_DECL.
724         (constant_string_global_id): New macro.
725         (string_class_decl): Ditto.
726         (setup_string_decl): New function.
727         (build_objc_string_object): Use it to build a NeXT runtime
728         compatible string initializer.
729
730 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
731
732         * tradcpp.c (do_define): Make sure we don't walk past limit.
733
734 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
735
736         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
737         offsets if not REG_OK_STRICT.
738
739         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
740         (INT_REG_OK_FOR_INDEX_P): Likewise.
741         (INT_REG_OK_FOR_BASE_P): Likewise.
742         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
743         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
744         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
745         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
746         REG_OK_FOR_BASE_P. Take an additional parameter.
747         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
748         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
749         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
750         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
751         rs6000_legitimate_address() and use it.
752         * config/rs6000/rs6000.c: Update all callers.
753         (rs6000_legitimate_address): New function.
754
755 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
756
757         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
758         special_constant conditional blocks together.
759
760 2001-05-02  Dale Johannesen  <dalej@apple.com>
761
762         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
763         parameter.
764         (STRICT_ARGUMENT_NAMING): Define.
765         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
766         function_arg_partial_nregs, setup_incoming_varargs): Remove
767         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
768         is defined.
769
770 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
771
772         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
773
774         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
775         for replacement.
776
777         * expr.c (store_field): Do nothing except elaborate side-effects if
778         zero-bit field.
779
780 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
781
782         * c-lex.c: NULL_PTR -> NULL.
783         * cse.c: Likewise.
784         * emit-rtl.c: Likewise.
785         * gcse.c: Likewise.
786         * genpeep.c: Likewise.
787         * jump.c: Likewise.
788         * mips-tdump.c: Likewise.
789         * reload1.c: Likewise.
790         * rtlanal.c: Likewise.
791         * stmt.c: Likewise.
792         * stor-layout.c: Likewise.
793         * toplev.c: Likewise.
794
795 2001-05-01  Per Bothner  <per@bothner.com>
796
797         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
798         call do_pending_stack_adjust before emiting label.
799
800 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
801
802         * extend.texi: Fix typo.
803
804 2001-05-01  Stan Shebs  <shebs@apple.com>
805
806         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
807         of UOBJC_MODULES_decl.
808         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
809         (generate_descriptor_table): Ditto.
810         (generate_protocols): Ditto.
811         (generate_protocol_list): Ditto.
812         (generate_classref_translation_entry): Ditto.
813
814 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
815
816         * invoke.texi (Optimize Options): Add documentation for `--param
817         max-delay-slot-insn-search' and `--param
818         max-delay-slot-live-search' and reorder --param section.
819         * params.def: Modify initial comment.
820         * params.h (param_info): Add `help' member.
821         * toplev.c (lang_independent_params): Include `help' description.
822         (display_help): Print --param parameters.
823
824 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
825
826         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
827         Remove references to deleted files.
828         (*-*-openbsd): No need to override xmake_file.
829         (*-*-sysv4): Treat like *-*-sysv.
830
831         * configure.in: Probe for ldopen in various places, and set up
832         collect2 to be linked with them if found.
833         Don't dink with Windows registry stuff unless $host_os is a
834         Win32 os name.  Check to see if we need -ladvapi32.
835         * configure: Regenerate.
836
837         * Makefile: Get rid of CLIB and HOST_CLIB.
838         Substitute in COLLECT2_LIBS and link collect2 against its contents.
839         * build-make: Get rid of HOST_CLIB.
840
841         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
842         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
843         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
844         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
845         config/rs6000/x-rs6000: Delete.
846
847         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
848         Don't set CLIB.
849
850         24 x-host fragments remain, 0 x-cpu, 3 top level.
851
852 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
853
854         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
855         * configure: Regenerate.
856
857 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
858
859         * Makefile.in (install-headers): Remove redundant dependency.
860
861 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
862
863         * c-tree.texi (USING_STMT): Document.
864
865 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
866
867         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
868         * c-common.c: Likewise.
869         * c-decl.c: Likewise.
870         * combine.c: Likewise.
871         * rs6000.c: Likewise.
872         * except.c: Likewise.
873         * explow.c: Likewise.
874         * expr.c: Likewise.
875         * fold-const.c: Likewise.
876         * function.c: Likewise.
877         * gcc.c: Likewise.
878         * gcse.c: Likewise.
879         * integrate.c: Likewise.
880         * loop.c: Likewise.
881         * objc/objc-act.c: Likewise.
882         * recog.c: Likewise.
883         * reg-stack.c: Likewise.
884         * reload.c: Likewise.
885         * reload1.c: Likewise.
886         * simplify-rtx.c: Likewise.
887         * stmt.c: Likewise.
888         * varasm.c: Likewise.
889
890 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
891
892         * diagnostic.def: New file.
893         * diagnostic.h (diagnostic_t): New enum.
894         * Makefile.in (diagnostic.o): Depend on diagnostic.def
895
896 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
897
898         * tsystem.h: Test only POSIX for availability of string.h
899         and time.h.
900         * config.gcc (all systems): If USG appeared in xm_defines,
901         change it to POSIX.  If both USG and POSIX appeared, just
902         delete USG. Remove unnecessary quotes around xm_defines
903         settings.
904         (m68k-crds-unos*): Don't #define unos - tested nowhere.
905         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
906         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
907         powerpc-*-linux*): No need to set xm_defines - handled by
908         global settings for *-*-linux*.
909
910 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
911
912         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
913         Always include gstab.h, not system stab.h.  Don't provide
914         default definitions of N_CATCH or N_OPT.  Always use the
915         gstab.h variant of STAB_CODE_TYPE.
916         * final.c: Don't include stab.h/gstab.h at all, or provide
917         defaults for N_SLINE and N_SOL.
918
919         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
920         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
921         available.
922         * sdbout.c: Always include gsyms.h instead of system syms.h.
923
924         * configure.in: No need to check for stab.h.
925         * configure, config.in: Regenerate.
926         * Makefile.in (final.o): Don't depend on gstab.h.
927
928 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
929             Richard Henderson  <rth@redhat.com>
930
931         * extend.texi: Improve documentation of volatile asms.
932
933 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
934
935         * c-tree.texi: Fix thinko.
936         * gcc.texi: Likewise.
937
938 2001-04-30  Richard Henderson  <rth@redhat.com>
939
940         * c-common.c (c_promoting_integer_type_p): New function, from the
941         corpse of old macro.  Properly promote too-small enumerations and
942         booleans.  Adjust all callers.
943         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
944         (c_promoting_integer_type_p): Declare.
945         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
946         * c-typeck.c: Likewise.
947         (default_conversion): Remove now redundant boolean check.
948
949 2001-04-30  Jan Hubicka  <jh@suse.cz>
950             Richard Henderson  <rth@redhat.com>
951
952         * regmove.c (try_apply_stack_adjustment): Remove now redundant
953         sanity checks.
954         (combine_stack_adjustments_for_block): Don't combine stack
955         allocation followed by deallocations.  Handle grow-up stacks.
956
957 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
958
959         * fdl.texi: New file.
960         * c-tree.texi: Use the GFDL.
961         * gcc.texi: Likewise.
962
963 2001-04-30  Stan Shebs  <shebs@apple.com>
964
965         * invoke.texi: Add a section documenting Objective-C options.
966
967 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
968
969         * emit-rtl.c (try_split):  Copy EH notes to sequence.
970
971 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
972
973         * regmove.c (record_stack_memrefs): Catch all references to the
974         stack pointer.
975
976 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
977
978         * Makefile.in(stmp-fixinc): quote shell assignment values
979
980 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
981
982         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
983
984         * gcc.c: Likewise.
985
986         * prefix.c: Likewise.
987
988 2001-04-28  Stan Shebs  <shebs@apple.com>
989
990         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
991         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
992         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
993         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
994
995         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
996         (NEXT_OBJC_RUNTIME): Define.
997
998 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
999
1000         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
1001         * simplify-rtx.c (simplify_gen_relational): Likewise.
1002
1003         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
1004
1005         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
1006         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
1007
1008         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
1009         registers in SSE case; fix handling of the immediates.
1010         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
1011         operands to be in regsiters before reload.
1012         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
1013         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
1014         (abstf,absxf,negtf,negxf splitters): Compute
1015         properly the regnum for x86_64.
1016         (avsdf2_if_rex64): New.
1017
1018 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
1019
1020         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
1021         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
1022         into the constant pool.
1023         * jump.c (jump_optimize_1): Remove barrier successors after all
1024         the LABEL_NUSES counds have been computed.
1025         (delete_barrier_successors): When deleting a tablejump insn, also
1026         delete the jump table it uses.
1027         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
1028         label into memory.
1029
1030 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
1031
1032         * pa.c (FRP): Remove erroneous white space in macro definition.
1033
1034 2001-04-28  Andreas Jaeger  <aj@suse.de>
1035
1036         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
1037         appropriate.
1038         * extend.texi: Likewise.
1039         * tm.texi: Likewise.
1040
1041 2001-04-28  Andreas Jaeger  <aj@suse.de>
1042
1043         * md.texi: Use XX-bit instead of XXbit or XX bit where
1044         appropriate.
1045
1046 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
1047
1048         * gcc.c (process_command): Allow -l lib in addition to -llib
1049         for POSIX compliance. This fixes PR c/2347.
1050
1051         * invoke.texi: Update section on Link Options accordingly.
1052
1053 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
1054
1055         * function.c (purge_addressof_1): Remove the duplicate
1056         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
1057         blocks together.
1058
1059 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
1060
1061         * except.c (expand_eh_region_start): Don't start a new block.
1062         (expand_eh_region_end): Don't end a block.
1063         * stmt.c (expand_end_bindings): Don't end EH blocks.
1064         (expand_decl_cleanup): Starting an EH region won't change the block.
1065         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
1066         (is_eh_region): Lose.
1067         * tree.h: Adjust.
1068
1069 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
1070
1071         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
1072
1073         * collect2.c (main): Add `-L' case to remove duplicate entries.
1074         (is_in_args): New function to check for a duplicate argument.
1075         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
1076         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
1077         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
1078         Define to be nonzero.
1079
1080 2001-04-27  Andreas Jaeger  <aj@suse.de>
1081             Richard Henderson  <rth@redhat.com>
1082
1083         * md.texi (Machine Constraints): Document additional i386
1084         constraints and fix description of "A".
1085
1086 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
1087
1088         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
1089
1090 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
1091
1092         * except.c (get_exception_filter): word_mode, not Pmode.
1093
1094 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
1095
1096         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
1097         common to other movsf patterns.  Move up so that in future
1098         people who change the other patterns will change it too.
1099         (movsf_lo_sum): Allow even for soft-float; add appropriate
1100         constraints.
1101         (movsf_high): Likewise.
1102         (movsf_high+1): Allow even for soft-float.
1103
1104         * function.c (expand_function_end): Always clobber the
1105         return registers, even if there is no return label.
1106
1107 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
1108
1109         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
1110
1111 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
1112
1113         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
1114         (pushqi2_rex64, pushhi2_rex64): Add.
1115
1116 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
1117
1118         * except.c (expand_eh_region_end_cleanup): Force pending stack
1119         adjust before emitting label that branches around cleanup code.
1120
1121 2001-04-26  H.J. Lu  (hjl@gnu.org)
1122
1123         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
1124
1125         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
1126         define.
1127         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
1128         (ASM_OUTPUT_SECTION_NAME): Likewise.
1129         (ASM_WEAKEN_LABEL): Likewise.
1130         (UNIQUE_SECTION): Likewise.
1131         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
1132         (ASM_OUTPUT_DESTRUCTOR): Likewise.
1133         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
1134         (ASM_OUTPUT_SECTION_NAME): Likewise.
1135         (ASM_WEAKEN_LABEL): Likewise.
1136         (UNIQUE_SECTION): Likewise.
1137         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
1138         (ASM_OUTPUT_DESTRUCTOR): Likewise.
1139         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
1140         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
1141         (ASM_FILE_START): Likewise.
1142         (ASM_OUTPUT_SOURCE_LINE): Likewise.
1143         (ASM_DECLARE_OBJECT_NAME): Likewise.
1144         (ASM_FILE_END): Likewise.
1145         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1146         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1147         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1148         (ASM_OUTPUT_CASE_LABEL): Likewise.
1149         (ASM_OUTPUT_SKIP): Likewise.
1150         (ASM_OUTPUT_ASCII): Likewise.
1151         (ASM_OUTPUT_IDENT): Likewise.
1152         (READONLY_DATA_SECTION): Likewise.
1153         (EXTRA_SECTIONS): Likewise.
1154         (EXTRA_SECTION_FUNCTIONS): Likewise.
1155         (SELECT_RTX_SECTION): Likewise.
1156         (SELECT_SECTION): Likewise.
1157
1158         * config/mips/linux.h (INVOKE__main): Undefine.
1159         (CTOR_LIST_BEGIN): Likewise.
1160         (CTOR_LIST_END): Likewise.
1161         (DTOR_LIST_BEGIN): Likewise.
1162         (DTOR_LIST_END): Likewise.
1163         (SET_ASM_OP): Defined it to ".dummy".
1164         (ASM_OUTPUT_DEF): Defined.
1165         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
1166
1167 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
1168
1169         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
1170         assembler supports .p2align.
1171
1172 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
1173
1174         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
1175
1176 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
1177
1178         * integrate.c (expand_inline_function): Check for error_mark_node
1179         in actual argument.
1180
1181 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
1182
1183         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
1184         -m386 and -m486.
1185
1186 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
1187
1188         * configure.in (configargs.h): Define thread_model.
1189         * configure: Rebuilt.
1190         * gcc.c (main): Print it with -v.
1191
1192 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1193
1194         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
1195         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
1196         * gcc.1: Regenerate.
1197
1198 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1199
1200         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
1201         is_redundant_typedef): Use static inline instead of inline static.
1202
1203 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
1204
1205         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
1206         this directory is always searched.
1207
1208 2001-04-25  Richard Henderson  <rth@redhat.com>
1209
1210         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
1211         of registers to restore along non eh_return path.
1212
1213 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
1214
1215         * c-format.c (check_format_info_recurse): Handle
1216         PLUS_EXPR for format string.
1217
1218 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
1219
1220         * config/ia64/ia64.h (CC1_SPEC): Define.
1221         * config/ia64/linux.h (CC1_SPEC): Define.
1222
1223 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
1224
1225         * emit-rtl.c (constant_subword): Also do sign extension in
1226         BITS_PER_WORD == 16 case.
1227
1228 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
1229
1230         * loop.c (try_swap_copy_prop): Go back to checking insn.
1231
1232 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
1233
1234         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
1235         if check_mode is non-zero.
1236
1237 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
1238
1239         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
1240         out and comparison sequence has been detected, put result into
1241         proper temporary pseudo.
1242
1243 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
1244
1245         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
1246         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
1247         * libgcc2.c: Remove __dummy and __builtin_saveregs.
1248         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
1249         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
1250         for future reference.
1251
1252 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
1253
1254         * except.c (reachable_handlers): Step out one level from a RESX.
1255
1256         * except.c (struct eh_region): Rename 'last' to 'resume'.
1257         (mark_eh_region, duplicate_eh_region_1): Adjust.
1258         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
1259         (build_post_landing_pads): Likewise.
1260         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
1261         (expand_eh_region_end_must_not_throw): Likewise.
1262         (connect_post_landing_pads): Thread (only) regions with non-deleted
1263         resume insns.
1264
1265         * except.c (expand_eh_region_end_cleanup): Save the EH return data
1266         registers around the cleanup.
1267         (get_exception_filter): New fn.
1268         (finish_eh_generation): Use it.
1269
1270 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
1271
1272         * c-semantics.c (add_scope_stmt): Don't call
1273         current_scope_stmt_stack multiple times.
1274
1275 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
1276             Nathan Sidwell <nathan@codesourcery.com>
1277
1278         Lazy __FUNCTION__ generation.
1279         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
1280         RID_C99_FUNCTION_NAME): New _RIDs.
1281         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
1282         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
1283         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
1284         global tree slots.
1285         (function_id_node, pretty_function_id_node, func_id_node): Remove.
1286         (c99_function_name_decl_node, function_name_decl_node,
1287         pretty_function_name_decl_node, saved_function_name_decls):
1288         Declare.
1289         (struct language_function): Remove x_function_name_declared_p.
1290         (make_fname_decl): Remove a parameter.
1291         (declare_function_names): Remove prototype.
1292         (start_fname_decls, finish_fname_decls): Prototype.
1293         (fname_as_string): Likewise.
1294         (fname_string, fname_decl): Likewise.
1295         * c-common.c (make_fname_decl): Adjust.
1296         (struct fname_var_t): New struct.
1297         (fname_vars): New static array.
1298         (declare_function_name): Remove.
1299         (start_fname_decls, finish_fname_decls): New functions.
1300         (fname_as_string): New function from remnants of
1301         declare_function_name.
1302         (fname_string, fname_decl): New functions.
1303
1304         * c-decl.c (c_function_name_declared_p): Remove.
1305         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
1306         don't call declare_function_name. Call start_fname_decls.
1307         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
1308         clobber the line number. Call finish_decl.
1309         (start_function): Call start_fname_decls.
1310         (finish_function): Call finish_fname_decls.
1311         Remove c_function_name_declared_p.
1312         (push_c_function_context): Don't push c_function_name_declared_p.
1313         (pop_c_function_context): Don't pop c_function_name_declared_p.
1314         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
1315         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
1316         (program): Call finish_fname_decls for C.
1317         (primary): Add VAR_FUNC_NAME.
1318         (reswords): Add slots for __FUNCTION__ et al.
1319         (rid_to_yy): Add mappings for __FUNCTION__ et al.
1320         (yylexname): If it's a STRING_FUNC_NAME generate the function name
1321         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
1322         * c-semantics.c (prune_unused_decls): Remove.
1323         (finish_stmt_tree): Don't call prune_unused_decls.
1324         (genrtl_decl_stmt): Don't prune unused decls here.
1325
1326 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
1327
1328         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
1329         constant pool, use the pool's SYMBOL_REF instead.
1330
1331         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
1332         v850e.
1333
1334 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1335
1336         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
1337         passing nested NOP_EXPRs to fold.
1338
1339 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
1340
1341         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
1342
1343 >>>>>>> 1.9986
1344 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
1345
1346         * loop.c (loop_delete_insns): Add prototype.
1347
1348 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
1349
1350         * configure.in:  Remove ENABLE_STD_NAMESPACE.
1351         * config.in:  Regenerated.
1352         * configure:  Regenerated.
1353
1354 2001-04-22  Stan Shebs  <shebs@apple.com>
1355
1356         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
1357         into xm_defines.
1358         * config/rs6000/xm-darwin.h: Remove file.
1359
1360 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1361
1362         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
1363         (write_c_file_stat): Likewise.
1364
1365         * dbxout.c (dbxout_init): Likewise.
1366
1367         * profile.c (output_func_start_profiler): Likewise.
1368
1369 2001-04-22  Philipp Thomas  <pthomas@suse.de>
1370
1371         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
1372         require it instead of the CVS version.
1373         * cpperror.c (v_message): Put a blank before the macro
1374         body to not confuse exgettext.
1375
1376 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
1377
1378         * flow.c (proagate_one_insn): Remove useless assignment.
1379         * jump.c (delete_insn): Tidy.
1380         * loop.c (try_copy_prop): When deleting an instruction with a
1381         REG_RETVAL note, delete the entire libcall sequence.
1382         (loop_delete_insns): New function.
1383         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
1384         we're not substituting into them yet.
1385
1386 2001-04-21  Kazu Hirata  <kazu@hxi.com>
1387
1388         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
1389
1390         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
1391         Fix a comment typo.
1392         * config/i960/i960.c (signed_arith_operand): Likewise.
1393
1394         * calls.c (expand_call): Fix a comment typo.
1395
1396 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
1397
1398         * configure.in: Probe for times, clock, struct tms, and clock_t.
1399         * configure, config.in: Regenerate.
1400         * timevar.c: Replace ifdef forest in get_time with (relatively)
1401         straightforward series of checks based on autoconf's probes.
1402
1403 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
1404
1405         * config/pa/som.h (NM_FLAGS): Define.
1406
1407 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
1408
1409         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
1410         function.
1411         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
1412         * ia64.c (nop_cycles_until): New function.
1413         (prev_cycle, prev_first, last_issued): New static variables.
1414         (ia64_sched_reorder): Additional arg for clock.
1415         On final scheduling pass, emit extra NOPs as needed.
1416         Set prev_first and prev_cycle.
1417         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
1418         (ia64_variable_issue): Set last_issued.
1419
1420 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
1421
1422         * config/i386/i386.c (ix86_expand_int_movcc,
1423         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
1424
1425 2001-04-20  Geoff Keating  <geoffk@redhat.com>
1426
1427         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
1428         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
1429         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
1430         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
1431         ctrdi_internal6): In the short-branch case, this insn is only 4
1432         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
1433
1434 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
1435
1436         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
1437         "=u" is used together with "st" resp. "st(1)" clobber.
1438
1439 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
1440
1441         * gcse.c (gcse_main): Fix comment typo.
1442         (delete_null_pointer_check): Likewise.
1443         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
1444         * cse.c (cse_insn): Likewise.
1445         * function.c (fixup_var_refs_insns_with_hash): The sequence is
1446         toplevel.
1447
1448 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
1449
1450         * toplev.c: Excise all code for the undocumented -dm option.
1451         (float_signal): Call signal just once, unconditionally.
1452
1453 2001-04-19  Geoff Keating  <geoffk@redhat.com>
1454
1455         * fold-const.c (fold): Use first_rtl_op rather than
1456         TREE_CODE_LENGTH when looping over parameters of a tree.
1457         Correct strange grouping in test for evaluated SAVE_EXPR.
1458
1459 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
1460
1461         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
1462         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
1463
1464         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
1465         name at 32 total characters.
1466         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
1467         functions in named sections -- data items can still go into unique
1468         sections, but they have normal names (ie $LIT$ and $DATA$).
1469
1470         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
1471         INIT_PRIORITY.
1472
1473 2001-04-19 DJ Delorie  <dj@redhat.com>
1474
1475         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
1476         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
1477         * config/i386/cygwin.h: Likewise.
1478         * config/i386/mingw32.h: Likewise.
1479         * config/vax/vms.h: Likewise.
1480         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
1481
1482         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
1483         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
1484         * config/i386/xm-cygwin.h: Likewise.
1485         * config/i386/xm-djgpp.h: Likewise.
1486         * config/i386/xm-mingw32.h: Likewise.
1487         * config/vax/xm-vms.h: Likewise.
1488
1489         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
1490         instead of OBJECT_SUFFIX.
1491         * collect2.c (find_a_file): Look for files matching the extension
1492         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
1493         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
1494         TARGET_EXECUTABLE_SUFFIX.
1495         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
1496         (make_relative_prefix): Likewise.
1497         (convert_filename): Use TARGET_ suffixes throughout.  Remove
1498         NO_AUTO_EXE_SUFFIX.
1499         (process_command): Likewise.
1500         (do_spec_1): Likewise.
1501         * java/lang.c (init_parse): Likewise.
1502
1503         * gcc.texi : Document four new options matching the pattern
1504         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
1505         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
1506         documentation for NO_AUTO_EXE_SUFFIX.
1507
1508 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
1509
1510         * toplev.h (struct lang_hooks): Allow decode_option to indicate
1511         that language-independent processing should not be done.
1512         * toplev.c (main): Adjust accordingly.
1513
1514         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
1515         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
1516
1517         * mips.md (reload_outputdi): Require that operand0 be a
1518         general_operand.
1519
1520 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
1521
1522         * invoke.texi (-Wshadow): Clarify.
1523
1524 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
1525
1526         * loop.c (load_mems): Examine all the instructions in the loop
1527         before concluding that all jumps branch to the first instruction
1528         after the loop.
1529
1530 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
1531
1532         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
1533
1534 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
1535
1536         * cpp.texi (-Wwhite-space): Remove.
1537         (-Wall): -Wall does not imply -Wwhite-space.
1538
1539 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
1540
1541         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
1542         use it instead of blindly generating a .stabs.
1543         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
1544         in the right place.
1545         * xcoffout.c: Don't bother defining default for N_CATCH.
1546         (UNKNOWN_STAB): Use internal_error.
1547         (stab_to_sclass): Remove now-unnecessary aborts.
1548         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
1549
1550 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
1551
1552         * jump.c (mark_all_labels): Canonicalize the tail recursion
1553         label attached to CALL_PLACEHOLDER insns.
1554
1555 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1556
1557         * output.h (dump_flow_info, free_basic_block_vars,
1558         which_alternative): Delete redundant prototypes.
1559
1560         * rtl.h (bss_section): Likewise.
1561
1562 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
1563
1564         * dbxout.c (N_OPT): Define if not available from <stab.h>
1565
1566 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1567
1568         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
1569         libraries and native K&R compilers.
1570
1571 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1572
1573         * c-typeck.c (convert_arguments): Don't check for width changes
1574         with -Wtraditional.
1575
1576         * invoke.texi (-Wtraditional): Update documentation.
1577
1578 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
1579
1580         * toplev.c (output_lang_identify): Delete.
1581         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
1582         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
1583         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
1584         after calling ASM_FILE_END.
1585
1586         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
1587         Instead, unconditionally emit an N_OPT stab with string equal
1588         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
1589
1590         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
1591
1592         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
1593         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
1594         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
1595         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
1596         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
1597         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
1598         config/i370/i370.h, config/i386/beos-elf.h,
1599         config/i386/osf1elf.h, config/i386/osfrose.h,
1600         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
1601         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
1602         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
1603         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
1604         config/mips/iris6.h, config/mips/osfrose.h,
1605         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
1606         config/sparc/sp64-elf.h:
1607         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
1608         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
1609
1610         * config/elfos.h, config/freebsd.h, config/linux.h,
1611         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
1612         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
1613         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
1614         of ASM_FILE_START which merely emit a .version directive.  Delete
1615         definitions of ASM_FILE_END which merely emit an .ident directive.
1616
1617         * config/avr/avr.h, config/vax/vax.h: Delete definition of
1618         ASM_IDENTIFY_GCC and move part of its logic into
1619         ASM_FILE_START.
1620
1621         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
1622         config/sparc/linux-aout.h: Don't emit .version directive in
1623         ASM_FILE_START.
1624
1625         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
1626         (output_file_start): Correct comment.
1627
1628         * config/i386/osfrose.h: Don't emit trailing .ident directive.
1629         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
1630         to match gdb.
1631         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
1632         * config/rs6000/aix.h: Correct comment.
1633
1634         * config/i386/i386afe.h: Delete.
1635         * config.gcc: Remove references to i386afe.h.
1636
1637         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
1638         other macros deleted by this patch were undocumented.
1639
1640 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
1641
1642         * pa.md (reload_outdi): Operand 0 must be a non hard register.
1643
1644         * pa.c (secondary_reload_class): SAR<->FP copies require a
1645         secondary register.
1646
1647         * install.texi (mips-mips-bsd): Update list of functions
1648         required to include memmove.
1649         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
1650         used functions to include memmove.
1651
1652 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
1653
1654         * i386.md (sqrtdf2): SFmode should be DFmode.
1655
1656 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
1657
1658         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
1659         (find_moveable_store): Likewise.
1660
1661 2001-04-15  Jim Wilson  <wilson@redhat.com>
1662
1663         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
1664
1665 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
1666
1667         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
1668         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
1669
1670 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
1671
1672         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
1673         first alternative.
1674
1675 2001-04-14  Alan Modra  <amodra@one.net.au>
1676
1677         * pa.c (force_mode): New function.
1678         (emit_move_sequence): Use it instead of generating new rtx_REGs.
1679
1680 2001-04-13  Jim Wilson  <wilson@redhat.com>
1681
1682         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
1683         (first_instruction): New static variable.
1684         (rtx_needs_barrier): Return 1 for alloc.
1685         (init_insn_group_barriers): Set first_instruction.
1686         (rws_sum): Delete duplicate definition.
1687         (group_barrier_needed_p): Return 0 when first_instruction true.
1688         (safe_group_barrier_needed_p): Save and restore first_instruction
1689         around group_barrier_needed_p call.
1690
1691 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
1692
1693         * expr.h (enum libfunc_index): Add LTI_memmove.
1694         (memmove_libfunc): Define macro.
1695         * optabs.c (init_optabs): Initialize memmove_libfunc.
1696         * expr.c (expand_assignment): Use memmove_libfunc instead of
1697         memcpy_libfunc.
1698
1699 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
1700
1701         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
1702         fp mode addresses.
1703
1704 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1705
1706         * Makefile.in (reg-stack.o): Depend on reload.h.
1707         (insn-attrtab.o): Depend on flags.h.
1708
1709         * genattrtab (main): Include flags.h in insn-attrtab.c.
1710
1711         * reg-stack.c: Include reload.h.
1712
1713         * sparc.h (flag_pic): Delete redundant declaration.
1714
1715         * output.h (flag_pic): Likewise.
1716
1717         * tree.h (pedantic): Likewise.
1718
1719 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1720
1721         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
1722
1723         * jump.c, regmove.c, toplev.c: Include reload.h.
1724
1725         * reload.h (reload_cse_regs): Declare.
1726
1727         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
1728         reload_cse_regs, init_reload, mark_home_live, reload,
1729         init_caller_save): Delete redundant prototypes.
1730
1731 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1732
1733         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
1734
1735         * regclass.c, ssa.c: Include expr.h.
1736
1737         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
1738         gen_move_insn): Delete redundant declarations.
1739
1740 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1741
1742         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
1743         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
1744         MAKEINFO and MAKEINFOFLAGS too.
1745         (stage4_build): Correctly order -B flags.
1746
1747 2001-04-13  Alan Modra  <amodra@one.net.au>
1748
1749         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
1750         PIC_OFFSET_TABLE_SAVE_RTX.
1751         (zdepi_cint_p): Describe zdepi insn.
1752         Formatting and white space fixes throughout file.
1753
1754         * pa.c (uint32_operand): Don't use long constant >= 2^32.
1755         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
1756         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
1757         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
1758         (output_64bit_and): Use plain `int's for shift counts.
1759         (output_64bit_ior): Likewise.
1760         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
1761         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
1762         `N', and simplify.
1763
1764         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
1765         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
1766         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
1767         NEW_HP_ASSEMBLER into one.  Kill warnings.
1768
1769         * pa-gas.h: Delete file.
1770         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
1771         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
1772         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
1773         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
1774
1775         * config/pa/mill32.S: New file.
1776         * config/pa/mill64.S: New file.
1777         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
1778         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
1779         * config/pa/t-linux64: New file.
1780         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
1781         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
1782         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
1783
1784         * elfos.h (SELECT_SECTION): Undef before defining.
1785         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
1786         (LIB_SPEC): Remove -lmilli.
1787         (DBX_REGISTER_NUMBER): Remove.
1788         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
1789         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
1790         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
1791         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
1792         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
1793         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
1794         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
1795         TARGET_GAS): Define.
1796         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
1797         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
1798         regs if we don't have a prototype.
1799         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
1800         * pa.h (TARGET_ELF32): Default to 0 if undefined.
1801         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
1802         EH_RETURN_HANDLER_RTX): Define.
1803         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
1804         (DWARF_FRAME_REGNUM): Define.
1805         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
1806         * pa32-linux.h: New file.
1807         * pa64-linux.h: New file.
1808
1809         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1810         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
1811         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
1812         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
1813         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
1814         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
1815         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
1816         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
1817         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
1818         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
1819         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
1820         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
1821         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
1822         * pa64-hpux.h: New file.
1823         (ASM_FILE_START): Correct typo.
1824         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
1825         * config.gcc: Modify for above.
1826
1827 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
1828
1829         * jump.c (jump_optimize_1): Don't delete dead stores here.
1830         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
1831         prior to running jump optimize before cse2.
1832
1833 2001-04-12  Richard Henderson  <rth@redhat.com>
1834
1835         * Makefile.in (regmove.o): Depend on except.h.
1836         * regmove.c: Include it.
1837
1838 2001-04-12  Stan Shebs  <shebs@apple.com>
1839
1840         * objc/objc-act.c: Remove all code ifdefed with the never-used
1841         macro OBJC_INT_SELECTORS.
1842         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
1843         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
1844
1845 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
1846
1847         * config/pa/quadlib.c: Add prototypes.
1848
1849 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1850
1851         * bitmap.h (debug_bitmap): Delete redundant prototype.
1852
1853         * rtl.h (get_frame_size): Likewise.
1854
1855 2001-04-12  Jim Wilson  <wilson@redhat.com>
1856
1857         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
1858         to just emit an fnorm.
1859
1860 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1861
1862         * c-common.h (truthvalue_conversion, type_for_mode,
1863         type_for_size): Delete redundant declarations.
1864
1865         * c-lex.h (is_class_name): Likewise.
1866
1867         * c-tree.h (pedantic, convert, getdecls, gettags,
1868         global_bindings_p, init_decl_processing, insert_block,
1869         maybe_build_cleanup, poplevel, print_lang_decl,
1870         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
1871         set_block, incomplete_type_error, build_function_call,
1872         lvalue_or_else, mark_addressable): Likewise.
1873
1874         * expr.h (expand_tree_builtin): Likewise.
1875
1876 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
1877
1878         * invoke.texi: Document --param max-gcse-memory.
1879
1880 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1881
1882         * configure.in (errno): Check for declaration.
1883         * configure, config.in: Regenerated.
1884
1885         * system.h (errno): Only declare if not already done.
1886
1887 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
1888
1889         * recog.c (general_operand, immediate_operand,
1890         nonmemory_operand): Require CONST_INTs to be sign-extended
1891         values for their modes.
1892
1893 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
1894
1895         * expmed.c (store_bit_field): Truncate CONST_INTs.
1896         (expand_mult_highpart, expand_divmod): Likewise.
1897         * expr.c (convert_modes, store_field): Likewise.
1898         * integrate.c (expand_inline_function): Use promote_mode() to
1899         determine whether to convert_modes() an argument as signed
1900         or unsigned.
1901         * optabs.c (expand_binop): Get CONST_INT operands
1902         sign-extended for their appropriate modes.
1903         * stmt.c (emit_case_nodes): Convert node values to the
1904         appropriate mode.
1905         (expand_end_case): Convert minval and range to the appropriate
1906         mode.
1907         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
1908         the iteration variable.
1909         * varasm.c (immed_double_const): Don't require words to be
1910         narrower than host wide ints to properly sign-extend
1911         CONST_INTs.
1912
1913 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
1914
1915         * sh.md (builtin_setjmp_receiver): New expander.
1916
1917 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
1918
1919         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
1920         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
1921         for generating CONST_INT and CONST_DOUBLE.
1922
1923 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
1924
1925         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
1926         already sign-extended.
1927         (rs6000_emit_prologue): Make register iterator signed.
1928         (rs6000_emit_epilogue): Likewise.
1929         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
1930         and low.
1931         (movsf split, movdf split): Sign-extend CONST_INTs.
1932         (movdi splits): Likewise.
1933
1934 2001-04-12  Kelley Cook <kelley.cook@home.com>
1935
1936         * config-lang.in (lang_dirs): Add in zlib.
1937
1938 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
1939
1940         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
1941         operands that make it to RTL.
1942
1943 2001-04-11  Stan Shebs  <shebs@apple.com>
1944
1945         Add Darwin (Mac OS X kernel) native support.
1946         * config.gcc (powerpc-*-darwin*): Add native bits.
1947         * config/darwin.c: New file, generic Darwin support functions.
1948         * config/darwin.h: New file, generic Darwin definitions.
1949         * config/darwin-protos.h: New file, generic Darwin prototypes.
1950         * rs6000/darwin.h: New file, Darwin for PowerPC.
1951         * rs6000/t-darwin: New file, Darwin makefile fragment.
1952         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
1953         (TARGET_MACHO): Ditto.
1954         (rs6000_abi): Add ABI_DARWIN.
1955         (RS6000_REG_SAVE): Add ABI_DARWIN case.
1956         (RS6000_SAVE_AREA): Ditto.
1957         (FP_ARG_MAX_REG): Ditto.
1958         (RETURN_ADDRESS_OFFSET): Ditto.
1959         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
1960         cases.
1961         (rs6000_emit_move): Add ABI_DARWIN cases.
1962         (print_operand): Ditto.
1963         (first_reg_to_save): Ditto.
1964         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
1965         (debug_stack_info): Ditto.
1966         (rs6000_emit_prologue): Ditto.
1967         (rs6000_emit_epilogue): Ditto.
1968         (output_profiler_hook): Ditto.
1969         (output_function_profiler): Ditto.
1970         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
1971         (output_mi_thunk): Add TARGET_MACHO case.
1972         (add_compiler_stub): Ditto.
1973         (output_compiler_stub): Ditto.
1974         (no_previous_def): Ditto.
1975         (output_call): Ditto.
1976         (machopic_output_stub): Ditto.
1977         (rs6000_machopic_legitimize_pic_address): Ditto.
1978         (toc_section): Ditto.
1979         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
1980         (macho_high): Ditto.
1981         (macho_low): Ditto.
1982         (movsi_low): Ditto.
1983         (load_macho_picbase): Ditto.
1984         (call): Add TARGET_MACHO case to modify function.
1985         (call_value): Ditto.
1986         (call_nonlocal_sysv): Add ABI_DARWIN case.
1987         (call_value_nonlocal_sysv): Ditto.
1988         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
1989         Add prototype.
1990         (machopic_output_stub): Ditto.
1991         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
1992
1993 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
1994
1995         * dwarf2out.c (modified_type_die): Don't create new types here.
1996         * tree.h (get_qualified_type): New function.
1997         (build_qualified_type): Adjust comment.
1998         * tree.c (get_qualified_type): New function.
1999         (build_qualified_type): Use it.
2000
2001 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2002
2003         * cpp.texi (-Wtraditional): Update description.
2004
2005         * invoke.texi (-Wtraditional): Likewise.
2006
2007 2001-04-11  Jim Wilson  <wilson@redhat.com>
2008
2009         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
2010         requires more than 64 bits of alignment.
2011
2012 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2013
2014         * cpplib.c (do_line): Sanity check iff enable checking.
2015
2016 2001-04-11  Richard Henderson  <rth@redhat.com>
2017
2018         * Makefile.in (insn-recog.o): Depend on toplev.h.
2019         (insn-emit.o, doloop.o): Likewise.
2020         * genrecog.c, genemit.c: Include toplev.h in generated file.
2021         * doloop.c: Include toplev.h.
2022
2023 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
2024
2025         * Makefile.in (gcse.o): Depend on params.h.
2026         * gcse.c: Include params.h.
2027         (gcse_main): Don't do GCSE if doing so will take inordinate
2028         amounts of memory.
2029         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
2030         * params.h (MAX_GCSE_MEMORY): New macro.
2031
2032 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2033
2034         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
2035
2036         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
2037
2038 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2039
2040         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
2041
2042         * real.h (ereal_atof, real_value_truncate, target_isnan,
2043         target_isinf, target_negative, assemble_real, debug_real): Delete
2044         redundant prototypes.
2045
2046         * Makefile.in (ifcvt.o): Depend on toplev.h.
2047
2048         * c-semantics.c: Include expr.h.
2049
2050         * ifcvt.c: Include toplev.h.
2051
2052         * expr.h (rtx_equal_p): Delete prototype.
2053
2054         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
2055         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
2056         eliminate_constant_term, expand_complex_abs, find_single_use,
2057         make_tree, init_expr_once, init_optabs, supports_one_only):
2058         Likewise.
2059
2060         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
2061         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
2062         expand_assignment, store_expr, emit_line_note_after,
2063         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
2064
2065         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
2066
2067         * sparc-protos.h: Delete redundant prototypes.
2068
2069 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
2070
2071         * reload.c (push_reload): Add condition missed in SUBREG byte
2072         offset patch.
2073
2074 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2075
2076         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
2077
2078 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
2079
2080         * i386.md (floatsisf_sse): Fix output template
2081         * i386.c (ix86_expand_fp_movcc)
2082
2083         * reg-stack.c (emit_pop_insn): Handle complex modes.
2084         (move_for_stack_reg): Emit proper move mode.
2085         (subst_stack_regs_pat): Handle complex modes.
2086
2087 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
2088
2089         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
2090
2091 2001-04-10  Richard Henderson  <rth@redhat.com>
2092
2093         * libgcc2.h (__terminate_func_ptr): Remove typedef.
2094         (__pure_virtual, __terminate, __terminate_set_func,
2095         __default_terminate, __throw_type_match, __empty,
2096         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
2097         __eh_rtime_match, __unwinding_cleanup, __rethrow,
2098         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
2099         Remove prototypes of deleted functions.
2100
2101 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2102
2103         * c-typeck.c (convert_arguments): -Wtraditional now activates
2104         -Wconversion warnings, except for changes in signed-ness.
2105         Detect complex<->int & int<->complex conversions as well.
2106
2107         * invoke.texi (-Wtraditional): Document it.
2108
2109 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2110
2111         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
2112         * flow.c (set_block_for_new_insns): Remove needless cast and
2113         properly check for unset block number.
2114
2115 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
2116
2117         * function.c (purge_single_hard_subreg_set): Only check REGNO if
2118         the subreg was a hard register. Pseudos are left as subregs.
2119
2120 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2121
2122         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
2123         (LIB2ADD_ST): New macro, pass it to mklibgcc.
2124         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
2125         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
2126         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
2127
2128 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
2129
2130         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
2131
2132 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
2133
2134         * output.h (set_block_num): Missed it earlier, remove deprecated
2135         prototype.
2136
2137 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
2138
2139         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
2140         (load_killed_in_block_p): Change bb parameter from int to basic_block.
2141         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
2142         (handle_rd_kill_set): Change bb parameter from int to basic_block.
2143         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
2144         (expr_killed_p): Change bb parameter from int to basic_block, pass
2145         basic_blocks instead of ints as parameters.
2146         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
2147         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
2148         from int to basic_block, pass basic_blocks instead of ints as parms.
2149         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
2150         parameter from int to basic_block, pass basic_blocks instead of ints.
2151         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
2152         (insert_insn_end_bb): Change bb parameter from int to basic_block,
2153         pass basic_blocks instead of ints.
2154         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
2155         basic_blocks instead of ints as parameters.
2156         (pre_delete): Pass basic_blocks instead of ints as parameters.
2157         (hoist_expr_reaches_here_p): Change bb parameter from int to
2158         basic_block, pass basic_blocks instead of ints.
2159         (hoist_code): Pass basic_blocks instead of ints as parameters.
2160         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
2161         Change bb parameter from int to basic_block.
2162         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
2163         (insert_insn_start_bb): Change bb parameter from int to basic_block,
2164         pass basic_blocks instead of ints.
2165         (insert_store): Pass basic_blocks instead of ints as parameters.
2166         (replace_store_insn, delete_store): Change bb parameter from int to
2167         basic_block, pass basic_blocks instead of ints.
2168         (store_motion): Pass basic_blocks instead of ints as parameters.
2169
2170 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
2171
2172         * basic-block.h (set_new_block_for_insns): New Prototype.
2173         (set_block_num): Delete prototype.
2174         * flow.c (set_block_num): Remove obsolete function.
2175         (set_block_for_new_insns): Set BB for single or multiple insns.
2176         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
2177         (process_insn_end_bb): Use set_block_for_new_insns or
2178         set_block_for_insn instead of set_block_num.
2179         (pre_insert_copy_insn): Use set_block_for_new_insns.
2180         (update_ld_motion_stores): Use set_block_for_new_insns.
2181         (insert_insn_start_bb): Use set_block_for_new_insns.
2182         (replace_store_insn): Use set_block_for_new_insns.
2183
2184 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
2185             Jeff Law  <law@redhat.com>
2186
2187         * alias.c (get_addr): Externalize.
2188         (canon_true_dependence): New function. Behaves like true_dependance
2189         except it already assumes a MEM has been canonicalized.
2190         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
2191         * gcse.c (struct ls_expr): Add load/store expressions structure.
2192         (modify_mem_list, canon_modify_mem_list): New variable.
2193         (gcse_main): Initialize & finalize alias analysis. Use enhanced
2194         load motion and store motion if requested.
2195         (alloc_gcse_mem): Allocate space for modify_mem_list array.
2196         (free_gcse_mem): Free the modify_mem_list array.
2197         (oprs_unchanged_p): Use load_killed_in_block_p.
2198         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
2199         (mems_conflict_for_gcse_p): New function.  Don't kill loads
2200         with stores to themselves if its in the load/store expression list.
2201         (load_killed_in_block_p): New function.
2202         (canon_list_insert): New Function.
2203         (record_last_mem_set_info): Keep a list of all instructions which
2204         can modify memory for each basic block.
2205         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
2206         (oprs_not_set_p): Use load_killed_in_block_p.
2207         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
2208         (expr_killed_p): Use load_killed_in_block_p.
2209         (compute_transp): Do not pessimize memory references.
2210         (pre_edge_insert): Update stores for a load motion expression.
2211         (one_pre_gcse_pass): Check loads/stores for extra load motion.
2212         (ldst_entry): Find or create a ldst_expr structure.
2213         (free_ldst_entry): Free memory for an individual item.
2214         (free_ldst_mems): Free entire load/store expression list.
2215         (print_ldst_list): Print debug info.
2216         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
2217         (enumerate_ldsts): Assign integer values to each entry in list.
2218         (first_ls_expr): First expression in the list.
2219         (next_ls_expr): Next expression in the list.
2220         (simple_mem): Check if expression qualifies for ld/st expression list.
2221         (invalidate_any_buried_refs): Remove from expression list if its
2222         used in some other way we dont understand.
2223         (compute_ld_motion_mems): Find all potential enhanced load motion
2224         expression.
2225         (trim_ld_motion_mems): Remove any expressions which are invalid.
2226         (update_ld_motion_stores): Copy store values to registers for loads
2227         which have been moved.
2228         (regvec, st_antloc, num_store): New global statics.
2229         (reg_set_info): Marks registers as set.
2230         (store_ops_ok): Verfies registers expressions are valid in a block.
2231         (find_moveable_store): Look for moveable stores in a pattern.
2232         (compute_store_table): Find stores in a function worth moving, maybe.
2233         (load_kills_store): Check dependance of a load and store.
2234         (find_loads): Find any loads in a pattern.
2235         (store_killed_in_insn): Check if a store is killed in an insn.
2236         (store_killed_after): Check is store killed after an insn in a block.
2237         (store_killed_before): Check is store killed before an insn in a block.
2238         (build_store_vectors): Generate the antic and avail vectors.
2239         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
2240         (insert_store): Add a store to an edge.
2241         (replace_store_insn): Replace a store with a SET insn.
2242         (delete_store): Delete a store insn.
2243         (free_store_memory): Free memory.
2244         (store_motion): Perform store motion.
2245         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
2246         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
2247         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
2248         (f_options): Add gcse-lm and gcse-sm.
2249
2250 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2251
2252         * i386.c (expand_fp_movcc): Fix condition reversal code.
2253
2254         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
2255         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
2256         (CLASS_MAX_NREGS): Use it.
2257
2258         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
2259         handle properly complex values.
2260         (CLASS_MAX_NREGS): Likewise; update comment.
2261
2262 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
2263
2264         * ia64.c (ia64_flag_schedule_insns2): New variable.
2265         (ia64_override_options): Initialize it.  Clear
2266         flag_schedule_insns_after_reload.
2267         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
2268
2269 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
2270
2271         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
2272         Do not require source to match destination anymore;
2273         Add abort to the nontrivial cases that should be handled by split.
2274         (fix_trunc?fdi): Add SSE case for x86_64.
2275         (floatdi?f): Likewise.
2276         (floatdi?f_sse): New.
2277         (fix_trunc?fdi_sse): New.
2278
2279 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
2280
2281         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
2282         (DEBUG_ARANGES_END_LABEL): Ditto.
2283         (dwarfout_init): Generate length and version fields at the start
2284         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
2285         after the length field.
2286         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
2287         the .debug_aranges info.
2288
2289 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
2290
2291         * i386.c (call, call_value): Make sure that resulting call_insn
2292         does have proper second operand.
2293
2294 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
2295
2296         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
2297         function.  Remove include of sys/cygwin.h.
2298
2299 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
2300
2301         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
2302         (CPP_SPEC): Always search */include/w32api for header files.
2303         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
2304         (LINK_SPEC): Add "cyg" to the library search prefixes.
2305
2306 2001-04-08  Philip Blundell  <philb@gnu.org>
2307
2308         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
2309
2310 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2311
2312         * cpperror.c (print_location): Don't special case <stdin>.
2313         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
2314         WARNING, but we don't check if we're in system headers.
2315         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
2316         * cpplib.c (do_warning): Warn in system headers.
2317
2318 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
2319
2320         * mbchar.c: Include config.h first.
2321
2322 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
2323
2324         * config.gcc: Set default for xmake_file at top, not bottom.
2325         Change places that set xmake_file to "none" to set to the
2326         empty string instead, or remove them entirely if there is no
2327         default xmake_file for this cpu_type.  Remove references to
2328         deleted files.
2329
2330         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
2331         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
2332         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
2333         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
2334         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
2335         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
2336         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
2337         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
2338         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
2339         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
2340         Delete.
2341
2342         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
2343         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
2344         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
2345         config/mips/x-sysv, config/rs6000/x-aix31:
2346         Just set CLIB to -lld or -lmld, as appropriate.
2347
2348         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
2349         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
2350         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
2351         config/mips/x-iris, config/pa/x-pa:
2352         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
2353         OTHER_FIXINCLUDES_DIRS.
2354
2355         * config/i386/x-djgpp: Don't set LN or LN_S.
2356         * config/m88k/x-dolph: Don't define __m88k__.
2357         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
2358         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
2359         * config/i860/fx2800.h: No need to #undef SVR4.
2360
2361         38 x-host fragments remain, 2 x-cpu.
2362
2363 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2364
2365         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
2366
2367 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2368
2369         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
2370
2371 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2372
2373         * configure.in: Add check for lstat.
2374         * configure, config.in: Regenerate.
2375         * cppinit.c (append_include_chain): Make empty path ".".
2376         * cpplib.c (do_line): Don't simplify #line paths.
2377         * cppfiles.c (remove_component_p): New function.
2378         (find_or_create_entry): Acknowledge stat () errors during
2379         path simplification.
2380         (handle_missing_header): Don't simplify paths.
2381         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
2382         the empty path untouched.  Don't leave a trailing '/'.
2383
2384 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
2385
2386         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
2387         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
2388
2389 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2390
2391         * cppfiles.c (open_file): Fail directories silently, but
2392         with an errno of NOENT set.
2393         (read_include_file): Move the common exit code to the sole
2394         caller.  Return an int indicating success or failure.  Let
2395         open_file handle directories.
2396         (stack_include_file): If read_include_file fails,
2397         push a "null" buffer.
2398
2399 2001-04-05  DJ Delorie  <dj@redhat.com>
2400
2401         * function.h (virtuals_instantiated): Declare.
2402         * function.c: (virtuals_instantiated): Make global.
2403         * calls.c (emit_library_call_value_1): Use
2404         virtual_outgoing_args_rtx only if it hasn't been instantiated.
2405         Otherwise, use the stack pointer directly.
2406
2407 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
2408
2409         * i386.c (x86_initialize_trampoline): New global function.
2410         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
2411         (INITIALIZE_TRAMPOLINE): Move offline.
2412         * i386-protos.h (x86_initialize_trampoline): Declare.
2413
2414 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
2415
2416         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
2417         (lea_0): Rename to lea_1.
2418         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
2419         (lea_general_?): Allow SImodes on TARGET_64BIT
2420         (lea_general_?_zext): New patterns.
2421         (call_1, call_1_rex64): Fix.
2422
2423 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
2424
2425         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
2426
2427 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
2428
2429         * i386.c (function_arg): Return constm1_rtx for last argument.
2430         (ix86_expand_prologue): Update gen_call calls.
2431         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
2432         * i386.md (call_pop): Likewise.
2433         (call): Second operand is VOIDmode.
2434         (call_0): Likewise; Support 64bits.
2435         (call_exp): New expander.
2436         (call_1): Get to the sync.
2437         (call_1_exp): New pattern.
2438         (call_value): Support 64bit.
2439         (call_value_exp): New pattern.
2440         (untyped_call): Update gen_call call.
2441         (call_value_pop): Disable for 64bit.
2442         (call_value_0_rex64): New pattern.
2443         (call_value_1_rex64): Likewise.
2444
2445 2001-04-05  Bo Thorsen  <bo@suse.de>
2446
2447         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
2448
2449 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
2450
2451         * i386.md (*andsi_1+3): If used after reload, make sure the operand
2452         satisfies ANY_QI_REG_P.
2453
2454 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
2455
2456         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
2457         ASM_OPERAND.
2458
2459         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
2460         change.
2461
2462 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
2463
2464         * config.gcc: Remove default for xm_file.  Clean up local
2465         machine type handling.  Remove settings of xm_file to
2466         something that doesn't exist.  In the big switch, set xm_file,
2467         don't append to it (the value before the big switch is always
2468         null).  Don't force build_xm_file or host_xm_file to have a value.
2469         * configure.in: Remove default for xm_file.  Do not special
2470         case $cpu/xm-$cpu.h not existing.
2471         * configure: Regenerate.
2472
2473 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
2474
2475         * simplify-rtx.c (simplify_binary_operation): Check for overflow
2476         when folding integer division and modulo operations.
2477
2478 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
2479
2480         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
2481         instead of DWARF2_ADDR_SIZE for EH addresses.
2482         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
2483         EH addresses.
2484
2485 2001-04-04  Richard Henderson  <rth@redhat.com>
2486
2487         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
2488         * config/ia64/t-glibc (LIB2ADDEH): Disable.
2489         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
2490
2491 2001-04-04  Richard Henderson  <rth@redhat.com>
2492
2493         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
2494         * configure: Rebuilt.
2495
2496 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
2497
2498         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
2499         push insns to delete to it instead of deleting them.
2500         (delete_null_pointer_checks): Delete insns from delete_list after
2501         all delete_null_pointer_checks_1 passes are done.
2502
2503 2001-04-04  Richard Henderson  <rth@redhat.com>
2504
2505         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
2506         * configure: Rebuilt.
2507
2508 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
2509
2510         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
2511         * config/romp/xm-romp.h: Delete.
2512
2513 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
2514
2515         * sched-deps.c (sched_analyze_insn): Partially revert March 27
2516         change.
2517
2518 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2519
2520         * emit-rtl.c (mark_label_nuses) Increment the label uses for
2521         all labels present in rtx.
2522         (try_split) Call new function for all split insns.
2523
2524 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
2525
2526         * recog.c (validate_replace_rtx_1): Instead of aborting just make
2527         sure the change won't be validated.
2528
2529 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
2530
2531         * rtl.h (set_noop_p): Declare.
2532         * flow.c (set_noop_p): Move from here ...
2533         * rtlanal.c (set_noop_p): ... to here and enhance.
2534         * cse.c (delete_trivially_dead_insns): Use it.
2535         * gcse.c (hash_scan_set): Likewise.
2536         * jump.c (delete_noop_moves): Likewise.
2537         * recog.c (split_all_insns): Likewise.
2538
2539 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
2540
2541         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
2542         stack pointer via a LO_SUM.  Ditto for setting a temp register
2543         used to save to the stack.  Set cfa_temp when setting fp, and
2544         allow matches to cfa_temp in addition to cfa_store when saving
2545         regs.  Handle POST_INC and LO_SUM register stores.  Document the
2546         changes and errors in rule 12 doco.
2547
2548         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
2549         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
2550         (load_reg): Move closer to epilogue code.
2551         (DO_FRAME_NOTES): Define to control the following..
2552         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
2553         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
2554         notes as necessary.
2555         (hppa_expand_epilogue): Likewise.
2556
2557 2001-04-03  Richard Henderson  <rth@redhat.com>
2558
2559         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
2560         * configure: Rebuild.
2561
2562 2001-04-03  Richard Henderson  <rth@redhat.com>
2563
2564         * rtl.h (LCT_THROW): New.
2565         * calls.c (emit_library_call_value_1): Handle it.
2566         * except.c (connect_post_landing_pads): Use it.
2567
2568 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
2569
2570         * gansidecl.h: Delete file.
2571         * configure.in: Change all refs to gansidecl.h to use
2572         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
2573         lives.
2574         * configure: Regenerate.
2575
2576         * Makefile.in (intl.o): Don't depend on gansidecl.h.
2577         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
2578         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
2579         Don't include gansidecl.h.
2580         * intl.c, main.c, version.c, fixinc/fixlib.h,
2581         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
2582         gansidecl.h.
2583
2584 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
2585
2586         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
2587         Update for 64bit.
2588
2589 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
2590
2591         * config/i386/xm-beos.h, config/i386/xm-isc.h,
2592         config/i386/xm-next.h, config/i386/xm-sco.h,
2593         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
2594         config/m88k/xm-m88k.h: Delete.
2595
2596         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
2597         * config/romp/xm-romp.h: Don't define bcopy.
2598         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
2599         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
2600
2601         * config.gcc: Remove references to deleted files.
2602
2603         14 xm-host.h remain, 1 xm-cpu.h.
2604
2605 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
2606             David S. Miller  <davem@pierdol.cobaltmicro.com>
2607             Andrew MacLeod  <amacleod@redhat.com>
2608
2609         Use byte offsets in SUBREGs instead of words.
2610
2611         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
2612         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
2613         to pass new argument.
2614         (add_stored_regs): Use subreg_regno_offset function.
2615         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
2616         into account.
2617         (precompute_arguments): Use gen_lowpart_SUBREG.
2618         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
2619         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
2620         (simplify_set): Rework to use SUBREG_BYTE.
2621         (expand_field_assignment): Use SUBREG_BYTE.
2622         (make_extraction): Use SUBREG_BYTE.
2623         (if_then_else_cond): Use SUBREG_BYTE.
2624         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
2625         (gen_lowpart_for_combine): Compute full byte offset.
2626         * cse.c (mention_regs): Use SUBREG_BYTE.
2627         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
2628         (canon_hash): Use SUBREG_BYTE.
2629         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
2630         (gen_lowpart_if_possible): Formatting.
2631         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
2632         correctly.
2633         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
2634         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
2635         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
2636         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
2637         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
2638         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
2639         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
2640         certain invariants about SUBREGs the compiler creates.
2641         (gen_lowpart_SUBREG): New function.
2642         (subreg_hard_regno): New function to get the final register number.
2643         (gen_lowpart_common): Use SUBREG_BYTE.
2644         (gen_imagpart): Spacing nits.
2645         (subreg_realpart_p): Use SUBREG_BYTE.
2646         (gen_highpart): Use SUBREG_BYTE.
2647         (subreg_lowpart_p): Always compute endian corrected goal offset,
2648         even at the byte level, then compare against that.
2649         (constant_subword): New function, pulled out all constant cases
2650         from operand_subword and changed second argument name to offset.
2651         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
2652         and call constant_subword to do the work.  Return const0_rtx if
2653         looking for a word outside of OP.
2654         (operand_subword_force): Change second arg name to offset.
2655         * expmed.c (store_bit_field): Use SUBREG_BYTE.
2656         (store_split_bit_field): Use SUBREG_BYTE.
2657         (extract_bit_field): Use SUBREG_BYTE.
2658         (extract_split_bit_field): Use SUBREG_BYTE.
2659         (expand_shift): Use SUBREG_BYTE.
2660         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
2661         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
2662         * flow.c (set_noop_p): Use SUBREG_BYTE.
2663         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
2664         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
2665         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
2666         correction code.
2667         (optimize_bit_field): Use SUBREG_BYTE.
2668         (purge_addressof_1): Use SUBREG_BYTE.
2669         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
2670         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
2671         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
2672         * gengenrtl.c (special_rtx): Add SUBREG.
2673         * global.c (mark_reg_store): Use SUBREG_BYTE.
2674         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
2675         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
2676         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
2677         final byte offset is congruent to subreg's mode size.
2678         (subst_constants): Use SUBREG_BYTE.
2679         (mark_stores): Use subreg_regno_offset function.
2680         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
2681         function and SUBREG_BYTE.
2682         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
2683         (reg_is_born): Use subreg_hard_regno.
2684         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
2685         endian correction code.  Don't combine subregs unless resulting
2686         offset aligns with type.  Fix subreg constant extraction for DImode.
2687         Simplify SUBREG of VOIDmode CONST_DOUBLE.
2688         (general_operand): Remove dead mode_altering_drug code.
2689         (indirect_operand): Use SUBREG_BYTE.
2690         (constrain_operands): Use subreg_regno_offset function.
2691         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
2692         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
2693         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
2694         * regs.h (REG_SIZE): Allow target to override.
2695         (REGMODE_NATURAL_SIZE): New macro which target can override.
2696         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
2697         on the entire subreg rtx.
2698         (push_reload): Use SUBREG_BYTE in comments and code.
2699         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
2700         for hard registers inside subregs.
2701         (operands_match_p): Use subreg_regno_offset.
2702         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
2703         containing hard regs.
2704         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
2705         corrections when fixing up MEM subregs.
2706         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
2707         subreg_regno_offset where appropriate.
2708         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
2709         byte endian corrections when fixing up MEM subregs.
2710         (subst_reloads): When combining two subregs, make sure final
2711         offset is congruent to subreg's mode size.
2712         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
2713         (refers_to_regno_for_reload_p): Use subreg_regno.
2714         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
2715         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
2716         correction code for memory subreg fixups.
2717         (forget_old_reload_1): Use subreg_regno_offset.
2718         (choose_reload_regs): Use subreg_regno.
2719         (emit_input_reload_insns): Use SUBREG_BYTE.
2720         (reload_combine_note_store): Use subreg_regno_offset.
2721         (move2add_note_store): Use subreg_regno_offset.
2722         * resource.c (update_live_status, mark_referenced_resources): Use
2723         subreg_regno function.
2724         (mark_set_resources): Use subreg_regno function.
2725         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
2726         (subreg_regno_offset, subreg_regno): Define prototypes.
2727         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
2728         (gen_lowpart_SUBREG): Add prototype.
2729         * rtl.texi (subreg): Update to reflect new byte offset representation.
2730         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
2731         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
2732         (reg_overlap_mentioned_p): Use subreg_regno.
2733         (replace_regs); Make sure final offset of combined subreg is
2734         congruent to size of subreg's mode.
2735         (subreg_regno_offset): New function.
2736         (subreg_regno): New function.
2737         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
2738         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
2739         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
2740         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
2741         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
2742         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
2743         (a29k_get_reloaded_address): Use SUBREG_BYTE.
2744         (print_operand): Use SUBREG_BYTE.
2745         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
2746         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
2747         (arm_reload_out_hi): Use SUBREG_BYTE.
2748         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
2749         instead of SUBREG_WORD.
2750         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
2751         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
2752         SUBREG creation to use byte offset.
2753         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
2754         inverted load insns): Fix explicit rtl subregs to use byte
2755         offsets.
2756         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
2757         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
2758         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
2759         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
2760         to use byte offsets.
2761         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
2762         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
2763         offsets, also make sure it is congruent to SUBREG's mode size.
2764         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
2765         unnamed ldob insn): Generate SUBREGs with byte offset.
2766         (zero_extendqihi2): SUBREG's are byte offsets.
2767         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
2768         (m68hc11_gen_highpart): Use SUBREG_BYTE.
2769         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
2770         zero-extendqisi2): Generate SUBREGs with byte offset.
2771         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
2772         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
2773         subregs in rtl to use byte offsets.
2774         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
2775         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
2776         (mips_move_2words): Use subreg_regno_offset.
2777         (mips_secondary_reload_class): Use subreg_regno_offset.
2778         * config/mips/mips.md (DImode plus, minus, move, and logical op
2779         splits): Fixup explicit subregs in rtl to use byte offsets.
2780         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
2781         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
2782         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
2783         rtl to use byte offsets.
2784         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
2785         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
2786         subregs to use byte offsets.
2787         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
2788         Fixup explicit subregs in rtl to use byte offsets.
2789         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
2790         and remove byte endian correction code.
2791         * config/sh/sh.c (output_movedouble): Use subreg_regno.
2792         (gen_ashift_hi): Use SUBREG_BYTE.
2793         (regs_used): Use subreg_regno_offset.
2794         (machine_dependent_reorg): Use subreg_regno_offset.
2795         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
2796         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
2797         (movdf_i4): Subregs are byte offsets now.
2798         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
2799         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
2800         (REGMODE_NATURAL_SIZE): Override.
2801         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
2802         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
2803         with byte offsets.
2804         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
2805         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
2806         extendqidi2): Generate SUBREGs with byte offsets, also make sure
2807         it is congruent to SUBREG's mode size.
2808         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
2809         offsets.
2810         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
2811         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
2812         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
2813         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
2814         * config/v850/v850.c (print_operand, output_move_double): Use
2815         subreg_regno function.
2816
2817 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
2818
2819         * configure.in (target_subdir): Use target_alias, not target.
2820         * configure: Rebuilt.
2821
2822         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
2823         other way round.
2824         * config/sh/crti.asm: Fix typos in comments.
2825
2826 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
2827
2828         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
2829         TARGET_FAST_INDIRECT_CALLS.
2830         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
2831         -fPIC.  Don't warn.
2832         (return_addr_rtx): Short circuit export stub matching when
2833         TARGET_NO_SPACE_REGS.
2834         (output_millicode_call): For out of range calls, make -fPIC
2835         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
2836         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
2837         * pa.md: Modify length attr calculation of all millicode insns to
2838         match above.
2839
2840 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
2841
2842         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
2843         Require at least 2.11 in the version test.  Specifically check
2844         for and reject GAS version 2.10.90.
2845         * configure: regenerate.
2846
2847 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
2848
2849         * pa.c (override_options): Remove PIC profiling warning.
2850         (hp_profile_labelno): Delete.
2851         (hp_profile_label_rtx): Delete.
2852         (hp_profile_label_name): Delete.
2853         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
2854         (output_function_prologue): Remove profiling code and all tests on
2855         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
2856         merge_sp_adjust_with_store can work for PIC and profiling.
2857         (hppa_expand_epilogue): Remove profile_flag test.
2858         (hppa_can_use_return_insn_p): Likewise.
2859         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
2860         cater for PROFILE_HOOK.
2861         (hppa_profile_hook): New function.
2862         * pa.h (FUNCTION_PROFILER): Now does nothing.
2863         (PROFILE_HOOK): Define.
2864         (hppa_profile_hook): Declare.
2865         (PROFILE_BEFORE_PROLOGUE): Delete.
2866         (ASM_OUTPUT_REG_PUSH): Delete.
2867         (ASM_OUTPUT_REG_POP): Delete.
2868         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
2869         r24.  Accept function name operand, and use this and a locally
2870         generated label to calculate pc-rel offset to func start.
2871
2872 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2873
2874         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
2875         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
2876         $(SYSTEM_H).
2877
2878 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
2879
2880         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
2881         LO_SUM cases to where they belong.
2882
2883 2001-04-02  Richard Henderson  <rth@redhat.com>
2884
2885         * except.h (lang_eh_type_covers): Mark extern.
2886         (lang_eh_runtime_type): Likewise.
2887
2888 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
2889
2890         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
2891         gengenrtl.c:  Wrap generated header in multiple-include guard.
2892         Improve error checking.
2893
2894 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2895
2896         * configure.in: Don't check for putenv.
2897         * configure: Regenerate.
2898         * gcc.c (putenv): Don't define.
2899         * vax/xm-vms.h: Handle putenv.
2900
2901 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
2902
2903         * ifcvt.c (noce_emit_move_insn): New.
2904         (noce_try_store_flag, noce_try_store_flag_constants,
2905         noce_try_store_flag_inc, noce_try_store_flag_mask,
2906         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
2907         noce_try_abs): Use it.
2908         (noce_process_if_block): Likewise.
2909         For STRICT_LOW_PART, take mode from its SUBREG.
2910
2911 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
2912
2913         * fold-const.c (fold): Before optimizing unsigned comparison with
2914         0x7fffffffU, make sure arg0 is integral type.
2915
2916 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2917
2918         * c-tree.texi: Document representation of wide strings.
2919
2920 2001-04-01  Richard Henderson  <rth@redhat.com>
2921
2922         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
2923
2924 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
2925
2926         * i386.md: remove obsoleted comments.
2927         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
2928         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
2929         fix output template.
2930
2931 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
2932
2933         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
2934
2935 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
2936
2937         * loop.c (load_mems): When generating a load from a pseudo, update
2938         REGNO_LAST_UID.
2939
2940 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
2941
2942         * i386.c (ix86_split_long_move): Use change address to compensate
2943         stack pointer change in push instruction.
2944
2945 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
2946
2947         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
2948         instead of rtx_equal_p; fix the output template.
2949
2950 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2951
2952         * i386.c (ix86_expand_setcc): Support 64bit.
2953         (ix86_expand_int_movcc): Likewise.
2954         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
2955         New patterns.
2956
2957         * i386.md (allocate_stack_worker): Turn to expander.
2958         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
2959
2960         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
2961
2962 2001-03-29  Richard Henderson  <rth@redhat.com>
2963
2964         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
2965
2966 2001-03-28  Matthew Hiller  <hiller@redhat.com>
2967
2968         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
2969         output template.
2970
2971         * MAINTAINERS: Added self.
2972
2973 2001-03-28  Richard Henderson  <rth@redhat.com>
2974
2975         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
2976         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
2977
2978 2001-03-28  Jim Wilson  <wilson@redhat.com>
2979
2980         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
2981         operand_subword.
2982
2983 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2984
2985         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
2986
2987         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
2988         `error'.
2989
2990         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
2991
2992 2001-03-28  DJ Delorie  <dj@redhat.com>
2993
2994         * Makefile.in (stage1_build): Revert CFLAGS patch.
2995
2996 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
2997
2998         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
2999         when multiplier or multiplicand is zero.
3000
3001 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
3002
3003         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
3004
3005         * config/ia64/ia64.c (update_set_flags): New function, broken out of
3006         rtx_needs_barrier.
3007         (set_src_needs_barrier): Likewise.
3008         (rtx_needs_barrier): For SET case, use these two functions.  Rework
3009         PARALLEL case to handle all inputs before all outputs.
3010         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
3011         saw a label and no stop bit since then.
3012         (maybe_rotate, process_epilogue): Add prototypes.
3013
3014 2001-03-28  Richard Henderson  <rth@redhat.com>
3015
3016         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
3017         not TARGET_TOC for special toc restore handling.
3018         * config/rs6000/rs6000.md (eh_return): Likewise.
3019
3020 2001-03-28  Richard Henderson  <rth@redhat.com>
3021
3022         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
3023         current_function_calls_eh_return.
3024         (output_function_epilogue): Handle eh_return.
3025         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
3026         (EH_RETURN_DATA_REGNO): New.
3027         (EH_RETURN_STACKADJ_RTX): New.
3028         (EH_RETURN_HANDLER_RTX): New.
3029         * config/sparc/sparc.md (call/short branch peepholes): Check
3030         can_throw_internal instead of in_same_eh_region.
3031
3032         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
3033         for eh_return data registers.
3034         (rs6000_emit_prologue): Save eh_return data registers.
3035         (rs6000_emit_epilogue): Force inline restores if eh_return.
3036         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
3037         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
3038         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
3039         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
3040         the target uses one.
3041         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
3042         (return_eh_si, return_eh_di): Remove.
3043         (eh_return): New, from corpse of eh_epilogue.
3044         (eh_set_lr_si, eh_set_lr_di): New.
3045
3046         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
3047         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
3048         True for pic register if current_function_calls_eh_return.
3049         (ix86_expand_epilogue): Change "emit_return" argument into "style".
3050         Handle eh_return requirements.
3051         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
3052         (EH_RETURN_STACKADJ_RTX): New.
3053         * config/i386/i386.md (exception_receiver): Remove.
3054         (eh_return, eh_return_1): New.
3055         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3056
3057         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
3058         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
3059         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
3060         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
3061         (EH_RETURN_DATA_REGNO): New.
3062         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
3063         * config/alpha/alpha.md (eh_epilogue): Remove.
3064         (exception_receiver): Use $26 for ldgp input.
3065         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3066
3067 2001-03-28  Richard Henderson  <rth@redhat.com>
3068
3069         * except.c: Rewrite entirely for IA-64 ABI exception handling.
3070         * except.h: Likewise.
3071
3072         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
3073         (LIB2ADDEHDEP): New.
3074         (LIB2FUNCS_EH): Remove.
3075         (LIB2ADD): Remove LIB2ADDEH.
3076         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
3077         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
3078         (crt{begin,end}[S].o): Likewise.
3079         (except.o): Update includes.
3080         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
3081         (libgcc2_c_dep): Use LIB2ADDEHDEP.
3082
3083         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
3084         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
3085         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
3086         * builtins.c (expand_builtin): Implement it.
3087         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
3088         * c-common.c (c_common_nodes_and_builtins): Declare it.
3089         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
3090         * calls.c (libfunc_nothrow): Remove.
3091         (emit_library_call_value_1): Don't call it.
3092         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
3093         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
3094         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
3095         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
3096         (current_funcdef_number): Globalize.
3097         (output_call_frame_info): Emit frame data if an lsda is needed.
3098         Generate augmentation for personality routine.  Don't play with
3099         difference symbols.
3100         (dwarf2out_begin_prologue): Record funcdef_number.
3101         * dwarf2out.h (current_funcdef_number): Declare.
3102         * expr.c (expand_expr): Update for except.h name changes.
3103         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
3104         * expr.h (LTI_throw, LTI_rethrow): Remove.
3105         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
3106         (LTI_eh_rtime_match): Remove.
3107         (LTI_unwind_resume, LTI_eh_personality): Add.
3108         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
3109         * final.c (final): Don't call check_exception_handler_labels,
3110         init_insn_eh_region, or free_insn_eh_region.
3111         (final_scan_insn): Always emit debug labels for
3112         NOTE_INSN_EH_REGION notes.
3113         * flags.h (flag_new_exceptions): Remove.
3114         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
3115         (record_active_eh_regions): Remove.
3116         (count_basic_blocks): Check all instructions for REG_EH_REGION.
3117         Use can_throw_internal.
3118         (find_basic_blocks_1): Likewise.
3119         (move_stray_eh_region_notes): Remove.
3120         (find_label_refs): No eh_return_stub_label.
3121         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
3122         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
3123         changes.
3124         (delete_unreachable_blocks): Don't track deleted handlers.
3125         (flow_delete_block): Use maybe_remove_eh_handler.
3126         (delete_eh_regions): Remove.
3127         (merge_blocks): Don't check for eh region match.
3128         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
3129         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
3130         (init_propagate_block_info): Disable dead frame store optimization
3131         when current_function_calls_eh_return.
3132         (dump_bb): Don't print eh_beg, eh_end.
3133         * function.c (fixup_var_refs): No catch_clauses.
3134         (expand_function_end): Likewise.  Call expand_eh_return before
3135         the return register use.  Call sjlj_emit_function_exit_after.
3136         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
3137         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
3138         * ifcvt.c (dead_or_predicable): Remove eh region check.
3139         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
3140         Don't check for EH vs parameters.
3141         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
3142         (expand_inline_function): Call duplicate_eh_regions.
3143         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
3144         (copy_insn_notes): Remap REG_EH_REGION notes.
3145         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
3146         * integrate.h (struct inline_remap): Add local_return_label.
3147         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
3148         check_exception_handler_labels, nor exception_optimize.
3149         (find_cross_jump): No EH region check.
3150         * optabs.c (init_optabs): Update for changed eh libfuncs.
3151         * rtl.def (RESX): New.
3152         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
3153         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
3154         checks.  Update for except.h name changes.
3155         (expand_cleanups): Likewise.
3156         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
3157         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
3158         (compile_file): Call init_eh before init_optabs.  Don't
3159         output_exception_table here.
3160         (rest_of_compilation): Call convert_from_eh_region_ranges,
3161         convert_to_eh_region_ranges, output_function_exception_table.
3162         Don't emit_eh_context.
3163         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
3164         (EXC_PTR_EXPR): New.
3165
3166         * md.texi (eh_epilogue): Remove.
3167         (eh_return): Document.
3168         * tm.texi (EH_RETURN_DATA_REGNO): Document.
3169         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
3170
3171         * eh-common.h: Remove file.
3172         * frame-dwarf2.c, frame.c, frame.h: Remove files.
3173         * libgcc2.c (L_eh): Remove.
3174
3175         * unwind-dw2-fde.c: New file, largely copied from frame.c.
3176         * unwind-dw2-fde.h: New file.
3177         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
3178         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
3179         * libgcc-std.ver: Update for eh symbols.
3180
3181 2001-03-27  Richard Henderson  <rth@redhat.com>
3182
3183         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
3184         reduce false positives.
3185         (regmove_optimize): Disable if flag_non_call_exceptions.
3186
3187         * stmt.c (expand_return): Remove always true predicate.
3188         (expand_decl_cleanup_no_eh): Remove dead code.
3189
3190         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
3191         barrier code.  Add a scheduling barrier if a non-call insn
3192         can throw internally.
3193
3194         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
3195         Auto-inc addresses trap only if their base register does.
3196
3197         * except.c (can_throw_internal): Rename from can_throw.
3198         * except.h, resource.c: Update references.
3199
3200         * integrate.c (copy_insn_list): Use returnjump_p.
3201         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
3202
3203         * function.h (struct function): Move all boolean valued fields
3204         to single bit fields at the end of the struct.
3205
3206         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
3207         jump.c, toplev.c:
3208         Rename asynchronous_exceptions to flag_non_call_exceptions.
3209
3210         * gthr-single.h (UNUSED): New.  Distinguish between how C
3211         and C++ mark unused function arguments.  Use throughout.
3212
3213         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
3214         value to target configuration header.
3215         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
3216         * config.in, configure: Rebuild.
3217         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
3218         configuration and target defines.
3219         (exceptions_via_longjmp): Remove.
3220         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
3221         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
3222
3223         * except.h (flag_non_call_exceptions): Move ...
3224         * flags.h: ... here.
3225
3226         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
3227         exceptions, put the note on the trapping instruction.
3228
3229         * flags.h (flag_new_exceptions): Remove.
3230         * toplev.c: Don't set it.
3231         * final.c: Don't check it.
3232         * except.c: Provide stub definition.
3233
3234         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
3235         (calculate_global_regs_live): Kill call-clobbered registers
3236         across exception edges.
3237         * reg-stack.c (convert_regs_1): Kill the entire target stack
3238         across non-call exception edges.
3239
3240         * flow.c (cleanup_cfg): Take no argument.
3241         * output.h, sibcall.c, toplev.c: Update all calls.
3242
3243 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3244
3245         * configure.in: Don't check for bcopy.
3246         * configure, config.in: Regenerate.
3247
3248         * system.h: Don't define or prototype bcopy, instead poison it.
3249
3250 2001-03-27  Richard Henderson  <rth@redhat.com>
3251
3252         * function.c (expand_function_start): Set DECL_REGISTER on
3253         a pseudo used for DECL_RESULT.
3254
3255         * rtl.h (LCT_NORETURN): New.
3256         * calls.c (emit_library_call_value_1): Handle it.
3257
3258 2001-03-27  Stan Shebs  <shebs@apple.com>
3259
3260         * objc/objc-act.c (objc_init): Use dump_base_name.
3261         (gen_declaration): Clear the buffer arg.
3262         (gen_declaration_1): New function, body of gen_declaration.
3263         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
3264         (gen_method_decl): Ditto, plus always clear buffer arg.
3265         (error_with_ivar): Simplify.
3266         (warn_with_method): Ditto.
3267         (build_message_expr): Don't clear buffers.
3268         (dump_interface): Ditto.
3269         (objc_debug): Ditto.
3270         (build_keyword_selector): Clear the buffer by only zeroing
3271         the first element.
3272         (objc_implementation_context): Declare.
3273         (start_class): Warn about missing @end.
3274         (finish_objc): Ditto.
3275
3276 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3277
3278         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
3279
3280 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3281
3282         * Makefile.in (SYSTEM_H): Define.
3283         Depend on $(SYSTEM_H), not system.h.
3284
3285         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
3286
3287 2001-03-27  Jim Wilson  <wilson@redhat.com>
3288
3289         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
3290         IA64_UNWIND_EMIT.
3291         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
3292         (process_epilogue): New static function.
3293         (process_set): Call process_epilogue instead of emitting .restore
3294         directly.
3295         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
3296
3297         * flow.c (struct reg_cond_life_info): New fields orig_condition
3298         and stores.
3299         (init_propagate_block_info): Set new fields.
3300         (mark_regno_cond_dead): Set and use new fields.
3301         (flush_reg_cond_reg_1): Likewise.
3302         (and_reg_cond, case AND): Check for redundant AND conditions.
3303         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
3304         Set new fields.
3305
3306 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3307
3308         * cppmacro.c (stringify_arg): Null terminate strings.
3309
3310 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
3311
3312         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
3313         inclusion style.  xm-m68hc11.h no longer exists.
3314         * config/m68hc11/xm-m68hc11.h: Delete file.
3315         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
3316
3317         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
3318         Don't define GCC_VERSION, N_, or PARAMS; don't include
3319         gansidecl.h or stdio.h.  Define inhibit_libc here.
3320         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
3321         Delete code conditioned on #if GCC_VERSION == 2095.
3322
3323         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
3324         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
3325         Delete code conditioned on #if GCC_VERSION == 2095.
3326
3327 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3328
3329         * system.h: Include symcat.h.
3330         (STRINGIFY): Don't define.
3331
3332         * configure.in: Adjust comment.
3333
3334         * builtins.c: Use STRINGX, not STRINGIFY.
3335         * gencheck.c: Likewise.
3336         * gengenrtl.c: Likewise.
3337         * protoize.c: Likewise.
3338
3339         * cpplex.c: Don't include symcat.h.
3340         * cpplib.c: Likewise.
3341
3342         * gansidecl.h (HAVE_STRINGIZE): Don't define.
3343
3344 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
3345
3346         * c-typeck.c (digest_init): Fold init expression.
3347
3348 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3349
3350         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
3351
3352 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
3353
3354         * except.c (eh_regs): Save results of build_pointer_type to a temp
3355         as FUNCTION_VALUE macro may evaluate its args multiple times.
3356
3357 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
3358
3359         * c-common.h (DECL_NUM_STMTS): New macro.
3360         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
3361         DECL_FRAME_SIZE.
3362         (pushdecl): Likewise.
3363         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
3364         * integrate.c (expand_inline_function): Don't check
3365         DECL_FRAME_SIZE.
3366         * print-tree.c (print_node): Don't print it.
3367         * toplev.c (rest_of_compilation): Don't try to inline when
3368         flag_no_inline is on.
3369         * tree.h (DECL_FRAME_SIZE): Remove.
3370         (tree_decl): Adjust accordingly.
3371
3372 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3373
3374         * combine.c (try_combine): Use memcpy, not bcopy.
3375
3376         * genattrtab.c (expand_units): Likewise.
3377
3378 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
3379
3380         * i386.md (push mem DI peep2): New.
3381         (mov 0, mov -1 peep2): Handle 64bit.
3382         (lea to arithmetics peep2): Handle 64bit leas.
3383         (rsp arithmetics to push/pop peep2s): New.
3384
3385         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
3386
3387 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
3388
3389         * i386.c (struct machine_function): Add save_varrargs_registers.
3390         (ix86_save_varrargs_registers): New macro.
3391         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
3392         (ix86_expand_prologue): Likewise.
3393         (ix86_emit_epilogue_esp_adjustement): Likewise.
3394         (ix86_expand_epilogue): Likewise.
3395         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
3396         (pro_epilogue_adjust_stack_1): New insn.
3397         (pro_epilogue_adjust_stack_rex64): Likewise.
3398         * i386.h (MASK_NO_RED_ZONE): New constant.
3399         (TARGET_RED_ZONE): New macro.
3400         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
3401         (RED_ZONE_SIZE): New constant.
3402         (RED_ZONE_RESERVE): New constant.
3403
3404 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3405
3406         * toplev.c (set_float_handler): Use memcpy, not bcopy.
3407
3408 2001-03-25  Kazu Hirata  <kazu@hxi.com>
3409
3410         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
3411         space.
3412         (modqi3): Likewise.
3413         (umodhi3): Likewise.
3414         (modhi3): Likewise.
3415
3416 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3417
3418         * mkconfig.sh (DEFINES): Handle entries with '='.
3419
3420         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
3421         Set xm_defines to MACRO=value instead.
3422
3423         * i370/xm-mvs.h: Delete.
3424
3425         * ns32k/xm-pc532-min.h: Likewise.
3426
3427 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
3428
3429         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
3430         shiftdi_operand;
3431         use ix86_expand_binary_operator
3432         (?sh??i_?): Disable for 64bit.
3433         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
3434         * i386.c (shiftdi_operand): New predicate.
3435
3436         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
3437         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
3438         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
3439         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
3440         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
3441         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
3442         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
3443         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
3444         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
3445         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
3446         (rotldi3, rotrdi3): New expanders.
3447
3448 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
3449
3450         * i386.md (movstrsi): Move offline.
3451         (movstrdi): New.
3452         (strmovdi_rex64): New.
3453         (strmov?i): Accept 64bit.
3454         (strmov?i_rex64): New.
3455         (strmov?i_rex_1): New.
3456         (strmov?i_1): Disable for 64bit.
3457         (rep_mov?i_rex64): New.
3458         (rep_mov?i): Disable for 64bit.
3459         (clrstrsi): Move offline.
3460         (strset?i_rex64): New.
3461         (strset?i: Accept 64bit.
3462         (rep_stos?i): Disable for 64bit.
3463         (rep_stos?i_rex64): New.
3464         (strset?i_rex_1): New.
3465         (strset?i_1): Disable for 64bit.
3466         (cmpstrsi): Accept 64bit.
3467         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
3468         (cmpstrqi_nz_rex_1): New.
3469         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
3470         (strlensi): Move offline.
3471         (strlendi): New.
3472         (strlenqi_1): Disable for 64bit; fix constraints.
3473         (strlenqi_rex_1): New.
3474         * i386.c (ix86_adjust_counter): New static function.
3475         (ix86_zero_extend_to_Pmode): Likewise.
3476         (ix86_expand_aligntest): Likweise.
3477         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
3478         (ix86_expand_movstr): New global function.
3479         (ix86_expand_clrstr): New global function.
3480         (ix86_expand_strlen): New global function.
3481         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
3482         ix86_expand_strlen): Declare.
3483         (ix86_expand_strlensi_unroll_1): Delete.
3484
3485 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3486
3487         * i386.md (cmpdi): Fix operand predicates.
3488         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
3489          cmpdi_1_insn_rex64): New patterns.
3490         (adddi3): Turn to expander.
3491         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
3492         (addsi3_carry_zext): New pattern.
3493         (adddi_?_rex64): New patterns and splitters.
3494         (addsi_?_zext): New patterns.
3495         (subsi3_carry_zext): New pattern.
3496         (subdi_?_rex64): New patterns and splitters.
3497         (iorsi_?_zext): New patterns.
3498         (iordi_?_rex64): New patterns and splitters.
3499         (iorsi_?_zext): New patterns.
3500         (iorsi_?_zext_imm): New patterns.
3501         (xorsi_?_zext): New patterns.
3502         (xordi_?_rex64): New patterns and splitters.
3503         (xorsi_?_zext): New patterns.
3504         (negdi*): New patterns.
3505         (one_cmpldi*): Likewise.
3506         (one_cmplsi*_zext, negsi*_zext): Likewise.
3507         (testqi_ext_3_rex64): New pattern.
3508
3509 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
3510
3511         * i386-protos.h (ix86_split_long_move): Return void.
3512         * i386.c (ix86_split_to_parts): Handle 64bit target.
3513         (ix86_split_long_move): Likewise.
3514         * i386.md (all calls to ix86_split_long_move): Update.
3515
3516 2001-03-23  Richard Henderson  <rth@redhat.com>
3517
3518         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
3519         to avoid shadowing arguments.
3520
3521 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
3522
3523         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
3524         to variable names where DECL_NAME is different from
3525         DECL_ASSEMBLER_NAME.
3526
3527 2001-03-23  Jim Wilson  <wilson@redhat.com>
3528
3529         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
3530         (assemble_alias): Call make_decl_rtl.
3531
3532 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
3533
3534         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
3535
3536 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
3537
3538         * extend.texi: Document the "java_interface" attribute.
3539
3540 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
3541
3542         * mkconfig.sh: Use a subshell with redirected stdout,
3543         instead of closing stdout and confusing commands that run
3544         afterward.  Throw away output of cmp.
3545
3546 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
3547
3548         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
3549
3550 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
3551
3552         * i386.md (zero_extendsidi2_32): Break out from ...
3553         (zero_extendsidi2): ... here ; turn to expander.
3554         (zero_extendsidi2_rex64): New.
3555         (extendsidi2_32): Break out from ...
3556         (extendsidi2): ... here ; turn to expander.
3557         (extendsidi2_rex64): New.
3558         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
3559         (trunc?f?f splitters): Add 64bit versions.
3560
3561 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
3562
3563         * i386.md (pushsi, pushsi2_prologue): Disable.
3564         (pushsi2_rex64): New.
3565         (movabs?i_1_rex64, movabs?i_2_rex64): New.
3566         (movqi_ext_1): Disable for 64bit.
3567         (movqi_ext_1_rex64): New.
3568         (pushdi2_rex64): New pattern, peep2s and splitter.
3569         (pushdi2_prologue_rex64): New pattern.
3570         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
3571         Likewise.
3572         (movdi splitters): Disable for 64bit.
3573         (movdi_1_rex64): New pattern, peep2s and splitters.
3574         (swapdi): New pattern.
3575         (pushsf): Disable for 64bit.
3576         (pushsf_rex64): New pattern and splitter.
3577         (pushdf_nointeger): Disable for 64bit.
3578         (pushdf_integer): Handle the 64bit case.
3579         (pushtf): Likewise; update splitters.
3580
3581 2001-03-22  Richard Henderson  <rth@redhat.com>
3582
3583         * mkconfig.sh: Include insn-flags.h.
3584         * Makefile.in (CONFIG_H): Include insn-flags.h.
3585         (lots of objects): Remove insn-codes.h and insn-flags.h.
3586
3587         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
3588         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
3589         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
3590         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
3591         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
3592         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
3593         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
3594         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
3595         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
3596         v850/v850.c, vax/vax.c:
3597         Don't include insn-flags.h.
3598
3599         * diagnostic.c, expr.h, reload.c, toplev.c:
3600         Don't include insn-codes.h.
3601
3602         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
3603         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
3604         c4x/c4x.c, i960/i960.c, mips/mips.c:
3605         Don't include insn-codes.h or insn-flags.h.
3606
3607         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
3608         or insn-flags.h in the generated code.
3609         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
3610         (main): Forward declare struct rtx_def.
3611
3612 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
3613
3614         * invoke.texi (-ffast-math): Remove duplicate line about
3615         __FAST_MATH__.
3616
3617         * gcc.texi: Remove more obsolete documentation of bugs and
3618         installation problems.
3619
3620 2001-03-21  Kazu Hirata  <kazu@hxi.com>
3621
3622         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
3623         into two parts.
3624
3625 2001-03-20  Jason Merrill  <jason@redhat.com>
3626
3627         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
3628         not '.' or '$'.
3629         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
3630         * varasm.c (CHKR_PREFIX): Likewise.
3631
3632 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3633
3634         * gcse.c (hash_scan_set): An expression is not anticipatible if it
3635         is part of a multi-SET insn.
3636
3637         * cse.c (find_comparison_args): Remove previous change.
3638         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
3639         REG_EQUAL notes.
3640
3641         * config/i386/i386.md (conditional_trap): Remove warning.
3642
3643         * recog.c (push_operand): Fix error in last change that caused
3644         undefined symbol on many targets.
3645
3646         * sdbout.c: #include ggc.h.
3647         (sdbout_init): Move to end of file.
3648         Call ggc_add_tree_root for anonymous_types.
3649         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
3650         (sdbout_one_type): Use DECL_NAME for field name.
3651         * Makefile.in (sdbout.o): Show includes ggc.h.
3652
3653 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
3654
3655         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
3656         (override_options): Use properlimits for preferred_stack_boundary.
3657         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
3658         on x86_64.
3659         (ext_register_operand): Accept DImode.
3660         (load_pic_register): Abort on 64bit.
3661         (gen_push): Use Pmode instead of SImode.
3662         (ix86_save_reg): Pic reg is never used on 64bit.
3663         (ix86_expand_prologue): Likewise.
3664         (ix86_emit_save_regs): Use Pmode instead of SImode.
3665         (legitimate_address_p): Check displacement for 64bit.
3666         (print_operand): Avoid outputting of (%rip) on 64bit.
3667         (print_operand_address): Output (%rip) where possible.
3668         (split_di): Abort on 64bit registers.
3669         (ix86_expand_branch): DImode comparison is simple for x86_64.
3670         (memory_address_length): Recognize memory addresses formed using
3671         PRE/POST modify.
3672         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
3673         for x86_64.
3674         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
3675
3676 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3677
3678         * recog.c (push_operand): Recognize new format of push instructions.
3679
3680 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
3681
3682         * i386.md (pushqi1): New.
3683         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
3684         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
3685         x86_64_immediate_operand, x86_64_immediate_operand,
3686         x86_64_zext_immediate_operand): Declare.
3687         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
3688         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
3689         x86_64_immediate_operand, x86_64_immediate_operand,
3690         x86_64_zext_immediate_operand): define.
3691         * i386.h (PREDICATE_CODES): Add new predicates.
3692
3693 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
3694
3695         * i386.md (pophi1, popqi1, pushqi1): Remove.
3696
3697         * expr.c (emit_single_push_insn): New function.
3698         (move_by_pieces): Accept NULL as destination for push instructions.
3699         (gen_push_operand): Kill.
3700         (emit_push_insn): Pass NULL when pushing; avoid updating of
3701         stack_pointer_delta.
3702         * expr.h (gen_push_operand): Kill.
3703
3704 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3705
3706         * rtl.texi (COMPARE): Clarify documentation and reference section
3707         on comparisons.
3708
3709 2001-03-20  Stan Shebs  <shebs@apple.com>
3710
3711         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
3712         (get_object_reference): Ditto.
3713         (error_with_ivar): Use error_with_file_and_line.
3714         (warn_with_method): Use warning_with_file_and_line.
3715
3716 2001-03-20  Tom Tromey  <tromey@redhat.com>
3717
3718         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
3719
3720 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
3721
3722         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
3723         variables that are TREE_PUBLIC, even if not TREE_STATIC.
3724
3725 2001-03-20  DJ Delorie  <dj@redhat.com>
3726
3727         * Makefile.in (install-libgcc): Pass complete list of variables.
3728         (install-multilib): Ditto.
3729
3730 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
3731
3732         * config/i386/cygwin.h: Declare ctor_section, dtor_section
3733         drectve_section, switch_to_section.
3734
3735         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
3736         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
3737         i386_pe_mark_dllimport.
3738
3739 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
3740
3741         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
3742         functions i386_pe_*.
3743
3744         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
3745         i386_pe_* functions with char * arguments.
3746
3747 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
3748
3749         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
3750         and store.
3751         (movsi_ie): Introduce fpul store.
3752
3753 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
3754
3755         * Makefile.in (OBJS): Remove hashtab.o.
3756
3757 2001-03-19  Stan Shebs  <shebs@apple.com>
3758
3759         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
3760         * c-lang.c (maybe_objc_method_name): Ditto.
3761         * c-tree.h (maybe_objc_method_name): Remove decl.
3762
3763 2001-03-19  Tom Tromey  <tromey@redhat.com>
3764
3765         * gcc.c (init_gcc_specs): Fix comment.
3766
3767 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
3768
3769         Compute DECL_ASSEMBLER_NAME lazily.
3770         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
3771         (DECL_ASSEMBLER_NAME_SET_P): New macro.
3772         (SET_DECL_ASSEMBLER_NAME): Likewise.
3773         (COPY_DECL_ASSEMBLER_NAME): Likewise.
3774         (set_decl_assembler_name): Declare.
3775         (lang_set_decl_assembler_name): Likewise.
3776         * tree.c (lang_set_decl_assembler_name): New variab.e
3777         (set_decl_assembler_name): New function.
3778         (init_obstacks): Set lang_set_decl_assembler_name.
3779         (build_decl): Don't set DECL_ASSEMBLER_NAME.
3780         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
3781         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
3782         where it's not necessary.
3783         (builtin_function): Likewise.
3784         (finish_decl): Likewise.
3785         * dbxout.c (dbxout_type_methods): Likewise.
3786         * ggc-common.c (ggc_mark_trees): Likewise.
3787         * profile.c (output_func_start_profiler): Likewise.
3788         * varasm.c (make_decl_rtl): Likewise.
3789
3790         * cse.c (find_comparison_args): Update documentation.  Fix
3791         mishandling of COMPARE operations.
3792
3793         * tree.def (ABS_EXPR): Add documentation.
3794         * fold-const.c (fold): Improve folding of ABS_EXPRs.
3795
3796 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
3797
3798         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
3799
3800 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
3801
3802         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
3803         Remove ia32 linux PIC kludge and move it...
3804         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
3805
3806 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
3807
3808         * i386.md (absdf2 expander): Fix 64bit case.
3809
3810 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
3811
3812         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
3813
3814 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
3815
3816         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
3817
3818 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3819
3820         * README.X11: Remove obsolete file.
3821
3822 2001-03-18  Anthony Green  <green@redhat.com>
3823
3824         * config/pj/pj.h: Remove some trailing commas.
3825         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
3826
3827 2001-03-18  Richard Henderson  <rth@redhat.com>
3828
3829         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
3830         * calls.c: ... here.
3831         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
3832         defaults for them here.
3833
3834 2001-03-17  Anthony Green  <green@redhat.com>
3835
3836         * config/pj/lib1funcs.S: Fix broken comment.
3837         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
3838         labels with '.'.
3839
3840 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3841
3842         * gcc.texi: Remove obsolete information relating to build and
3843         installation problems with enquire or the Pyramid C compiler.
3844
3845 2001-03-17  Richard Henderson  <rth@redhat.com>
3846
3847         * dwarf2out.c (queue_reg_save): New.
3848         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
3849         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
3850         dwarf2out_reg_save.
3851         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
3852         (cfa, cfa_store, cfa_temp): Make static.
3853         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
3854
3855 2001-03-17  Richard Henderson  <rth@redhat.com>
3856
3857         * integrate.h (struct inline_remap): Add local_return_label.
3858         * integrate.c (expand_inline_function): Initialize it and emit
3859         it after copy_insn_notes.
3860         (copy_insn_list): Don't store local_return_label here.
3861         (copy_insn_notes): New function split out from copy_insn_list.
3862
3863 2001-03-17  Richard Henderson  <rth@redhat.com>
3864
3865         * dwarf2out.c (lookup_filename): Emit .file if the assembler
3866         is generating .debug_line.
3867         (dwarf2out_init): Add main_input_filename to the file table first.
3868         * configure.in (as_dwarf2_debug_line): Test with file number 1
3869         instead of file number 0.
3870
3871 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3872
3873         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
3874         (gen_rtx_combine): Deleted; all references changed as appropriate.
3875         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
3876
3877         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
3878
3879 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
3880
3881         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
3882         variable.
3883
3884 2001-03-16  Jim Wilson  <wilson@redhat.com>
3885
3886         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
3887         then set it to LOC_REG (79) instead of aborting.
3888
3889 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
3890
3891         * gccbug.in:  Remove high priority.
3892
3893 2001-03-16  Richard Henerson  <rth@redhat.com>
3894
3895         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
3896         output with a space instead of deleting it.
3897         * configure: Regenerate.
3898
3899 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
3900
3901         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
3902         handles the gory details of converting an object file into
3903         something that's safe to grep.
3904         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
3905         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
3906         newlines at either end of the string we're looking for.
3907         Make 'checking ...' message less stilted.
3908         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
3909         ARM in-memory layout and its hypothetical converse.  Don't
3910         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
3911         HOST_WORDS_BIG_ENDIAN.
3912
3913         * configure.in: Adjust for renamed macro.  Move
3914         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
3915         * configure, config.in: Regenerate.
3916
3917 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
3918
3919         * fixinc/Makefile.in: Set SHELL.
3920
3921 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
3922
3923         * fixinc/fixincl.c (fix_with_system): Quote file names before
3924         passing them to shell.
3925
3926 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
3927
3928         * Makefile.in: Use fix-header$(build_exeext) instead
3929         of fix-header.
3930
3931 2001-03-16  Richard Henderson  <rth@redhat.com>
3932
3933         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
3934         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
3935         (size_of_line_prolog): Remove.
3936         (output_line_info): Compute prologue size via label difference.
3937         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
3938
3939         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
3940         assembler error when redefining file numbers.
3941         * config.in, configure: Rebuild.
3942
3943         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
3944         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
3945         (dw2_asm_output_delta_uleb128): Likewise.
3946         (dw2_asm_output_delta_sleb128): Similarly.
3947         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
3948
3949 2001-03-16  Michael Meissner  <meissner@redhat.com>
3950
3951         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
3952         warnings.
3953         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
3954         warnings.
3955         (BITMASK_LOWER16): Replacement for 0x0000ffff.
3956
3957         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
3958         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
3959         being unsigned in ISO C and signed in traditional.
3960         (expand_prologue): Ditto.
3961         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
3962
3963         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
3964         warnings.
3965         (divsi3,divdi3): Ditto.
3966         (modsi3,moddi3): Ditto.
3967         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
3968         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
3969         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
3970         warnings.
3971
3972 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
3973
3974         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
3975         SSE based conditional moves on LTGT/UNEQ conditions;
3976         Canonicalize EQ to NE.
3977         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
3978         (sse_mov?fcc_ne): New.
3979
3980         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
3981
3982 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
3983
3984         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
3985         register may be dead.
3986
3987 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
3988
3989         * Makefile.in (hash.o): Depend on CONFIG_H.
3990
3991 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
3992
3993         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
3994
3995 2001-03-15  Richard Henderson  <rth@redhat.com>
3996
3997         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
3998         (ASM_OUTPUT_DWARF_PCREL): New.
3999         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
4000
4001 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
4002
4003         * cppfiles.c (stack_include_file): Use MAX of sysp.
4004
4005 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
4006
4007         * config.gcc (ia64*-*-hpux*): New case.
4008         * config/ia64/hpux.h: New file for HP-UX support.
4009         * config/ia64/t-hpux: New file for HP-UX support.
4010
4011 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
4012
4013         * fixinc/inclhack.def (irix_stdio_va_list): New.
4014         * fixinc/fixincl.x: Rebuilt.
4015
4016 2001-03-15  Richard Henderson  <rth@redhat.com>
4017
4018         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
4019         if provided by the target.
4020         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
4021         (dw2_asm_output_addr): New.
4022         * dwarf2asm.h (dw2_asm_output_addr): Declare.
4023         * dwarf2out.c (output_cfi): Use it for program addresses.
4024         (output_call_frame_info, output_die): Likewise.
4025         (output_aranges, output_line_info): Likewise.
4026
4027 2001-03-15  Bruce Korb  <bkorb@gnu.org>
4028
4029         * gcc.c(main): make more rigorous
4030         * collect2.c(main): guard against ignoring SIGCHLD
4031         * protoize.c(main): ditto
4032         * gcc/fixinc/fixincl.c(initialize): ditto
4033
4034 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
4035
4036         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
4037         (sdbout_parms): Likewise.
4038
4039 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
4040
4041         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
4042         "widen" a destination that is already wider than a word.  Also do
4043         not widen if LOAD_EXTEND_OP is NIL for the given mode.
4044
4045 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
4046
4047         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
4048
4049 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
4050
4051         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
4052
4053 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
4054
4055         * i960.h (i960_maxbitalignment,
4056         i960_last_maxbitalignment): Declare.
4057         * i960.c (i960_maxbitalignment,
4058         i960_last_maxbitalignment): Make global.
4059         (process_pragma): Delete.
4060         (i960_pr_align, i960_pr_noalign): Move from here ...
4061         * i960-c.c: ... to this new file.
4062         * t-960bare (i960-c.o): New rule.
4063         * t-vxworks960 (i960-c.o): Likewise.
4064         * config.gcc (i960-*-*): Define c_target_objs and
4065         cxx_target_objs.
4066
4067 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
4068
4069         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
4070         without adding in rtx code and mode.
4071
4072         * alias.c (init_alias_analysis): Don't use any rtx whose value
4073         varies as a known value.
4074         Delete a superfluous test.
4075
4076         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
4077         ia64_sched_reorder.
4078         (ia64_sched_reorder): Call maybe_rotate; also rotate after
4079         scheduling a stop bit.
4080         (ia64_emit_nops): Correctly handle ASMs.
4081
4082 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
4083
4084         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
4085
4086 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4087
4088         * cpp.texi: Update documentation for -include and -imacros.
4089         * cppfiles.c (struct include_file): Remove "defined" memeber.
4090         (find_or_create_entry): Make a copy of the file name, and
4091         simplify it.
4092         (open_file): Update to ensure we use the simplified filename.
4093         (stack_include_file): Don't set search_from.
4094         (cpp_included): Don't simplify the path name here.
4095         (find_include_file): New prototype.  Call search_from to
4096         get the start of the "" include chain.  Don't simplify the
4097         filenames here.
4098         (_cpp_execute_include): New prototype.  Move diagnostics to
4099         do_include_common.  Update.
4100         (_cpp_pop_file_buffer): Don't set defined.
4101         (search_from): New prototype.  Use the preprocessor's cwd
4102         for files included from the command line.
4103         (read_name_map): Don't simplify the pathname here.
4104         * cpphash.h (enum include_type): New.
4105         (struct buffer): Delete search from.  New search_cached.
4106         (_cpp_execute_include): Update prototype.
4107         * cppinit.c (do_includes): Use _cpp_execute_include.
4108         * cpplib.c (do_include_common): New function.
4109         (do_include, do_include_next, do_import): Use it.
4110
4111 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
4112
4113         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
4114         contents of the RTL, to determine the name of the object.
4115
4116 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
4117
4118         * tree.h (DECL_RTL): Allocate RTL lazily.
4119         (SET_DECL_RTL): New macro.
4120         (DECL_RTL_SET_P): Likewise.
4121         (COPY_DECL_RTL): Likewise.
4122         (DECL_RTL_IF_SET): Likewise.
4123         * varasm.c (make_decl_rtl): Add assertions about the kind of
4124         declaration we are processing.
4125         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
4126         (start_decl): Likewise.
4127         (finish_decl): Likewise.
4128         * c-semantics.c (emit_local_var): Likewise.
4129         * calls.c (expand_call): Likewise.
4130         * dbxout.c (dbxout_symbol): Likewise.
4131         * emit-rtl.c (unshare_all_rtl): Likewise.
4132         (unshare_all_decls): Likewise.
4133         (reset_used_decls): Likewise.
4134         * expr.c (store_constructor): Likewise.
4135         (safe_from_p): Likewise.
4136         (expand_expr): Likewise.
4137         * function.c (put_var_into_stack): Likewise.
4138         (instantiate_decls_1): Likewise.
4139         (assign_parms): Likewise.
4140         (expand_function_start): Likewise.
4141         (expand_function_end): Likewise.
4142         * ggc-common.c (gcc_mark_trees): Likewise.
4143         * integrate.c (function_cannot_inline_p): Likewise.
4144         (copy_decl_for_inlining): Likewise.
4145         (expand_inline_function): Likewise.
4146         (integrate_parm_decls): Likewise.
4147         (integrate_decl_tree): Likewise.
4148         * print-tree.c (print_node): Likewise.
4149         * reg-stack.c (stack_result): Likewise.
4150         * stmt.c (label_rtx): Likewise.
4151         (expand_return): Likewise.
4152         (expand_decl): Likewise.
4153         (expand_decl_cleanup): Likewise.
4154         (expand_anon_union_decl): Likewise.
4155         * toplev.c (check_global_declarations): Likewise.
4156         (rest_of_decl_compilation): Likewise.
4157         * tree.c (simple_cst_equal): Likewise.
4158         * objc/objc-act.c (generate_static_references): Likewise.
4159
4160 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
4161
4162         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
4163         gcc_AC_C_FLOAT_FORMAT): New macros.
4164         * configure.in: Add AC_PROG_CPP after CC tests;
4165         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
4166         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
4167         * configure, config.in: Regenerate.
4168
4169         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
4170         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
4171         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
4172         config/i370/xm-linux.h, config/i370/xm-oe.h,
4173         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
4174         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
4175         config/pa/xm-linux.h, config/pa/xm-pa.h,
4176         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
4177         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
4178         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
4179         config/we32k/xm-we32k.h: Delete.
4180
4181         * config/i370/xm-mvs.h, config/m88k/m88k.h,
4182         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
4183         config/vax/xm-vms.h: Don't define any of:
4184         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
4185
4186         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
4187
4188         * config.gcc: Remove references to deleted files.
4189         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
4190         FATAL_EXIT_CODE, which is the same between oe and mvs).
4191
4192 2001-03-14  DJ Delorie  <dj@redhat.com>
4193             Vladimir Makarov  <vmakarov@redhat.com>
4194
4195         * config/i960/i960.c (i960_function_prologue): Compute size of
4196         frame according to number of registers actually saved there.
4197
4198 2001-03-14  Richard Henderson  <rth@redhat.com>
4199
4200         * expr.c (emit_move_insn_1): Fix else if around #endif.
4201
4202 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
4203                               Vojtech Pavlik
4204
4205         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
4206         constraints.
4207
4208 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
4209
4210         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
4211         (override_options): Parse cmodel string.
4212         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
4213         * i386.h (TARGET_OPTIONS): Add "cmodel".
4214         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
4215         (enum cmodel): New.
4216         (ix86_cmodel_string, ix86_cmodel): Declare.
4217
4218 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
4219
4220         Spot by Matt Kraai:
4221         * i386.h (GENERAL_REG_P): Add missing REG_P.
4222
4223 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
4224
4225         * configure.in: Use $gcc_cv_as instead of $as.
4226         * configure: Regenerated.
4227
4228 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
4229
4230         * cppfiles.c (stack_include_file): Only increase the include
4231         count if we actually process the file properly, as opposed
4232         to treating it as length zero.  Only call read_include_file
4233         if not DO_NOT_REREAD.  Handle the -H include file output
4234         here.
4235         (read_include_file): Remove now redundant DO_NOT_REREAD check.
4236         (cpp_included, find_include_file): Simplify pathnames after
4237         remapping them.  If remapping, don't use the remapped file
4238         name's buffer as our scratch buffer.
4239         (cpp_pop_file_buffer): Replace the multiple include macro
4240         only if it isn't yet set.
4241         (read_name_map): Simplify remapped names when reading in.
4242         (remap_filename): Move code to code path that uses it.
4243         (_cpp_simplify_pathname): Return the input pointer.
4244         * cpphash.h (_cpp_simplify_pathname): Update prototype.
4245
4246 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
4247
4248         * expr.c (expand_expr): Revove bogus conditional.
4249
4250 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
4251
4252         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
4253
4254 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
4255
4256         * reg-stack.c (stack_result): Unconditionally use
4257         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
4258
4259 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
4260
4261         * expr.c (emit_move_insn_1):  Split push of complex value when
4262         no suitable push instruction exist.
4263
4264         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
4265         instead of QI_REG_P.
4266
4267 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4268
4269         * alias.c (handled_component_p, can_address_p): New functions.
4270         (get_alias_set): Use them.
4271
4272 2001-03-13  Jim Wilson  <wilson@redhat.com>
4273
4274         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
4275         from 80 in try_locals code.
4276         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
4277
4278 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
4279
4280         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
4281         gcc_AC_C_LONG_LONG): New.
4282         * configure.in: Use them.  Probe the size of short, int, long,
4283         and long long/__int64 if we have them.  Move all the AC_C_*
4284         checks together, except gcc_AC_C_CHAR_BIT which has to go
4285         after AC_CHECK_HEADERS(limits.h).
4286         Take hwint.h out of host_xm_file and build_xm_file.
4287
4288         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
4289         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
4290         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
4291         Move the HOST_WIDEST_INT setup logic here from system.h.
4292         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
4293         defined.
4294         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
4295         is now handled by hwint.h.
4296
4297         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
4298         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
4299         config/ia64/xm-ia64.h: Don't define any of:
4300         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
4301         HOST_BITS_PER_LONGLONG.
4302
4303         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
4304         config/h8300/xm-h8300.h, config/mips/iris6.h,
4305         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
4306         config/sparc/xm-sp64.h: Delete.
4307         * config.gcc: Remove references to deleted files.
4308
4309         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
4310         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
4311         * config/i370/xm-linux.h: Clarify floating-point situation in
4312         a comment.
4313
4314 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
4315
4316         * cppfiles.c (NO_INCLUDE_PATH): New macro.
4317         (find_include_file): Decide here which part of the include
4318         chain to start the search.  Complain about an empty include
4319         chain in all cases apart from an abolsute file name.
4320         (_cpp_execute_include): Don't choose the search chain here.
4321         Don't call handle_missing_include in the case of an empty
4322         include chain.
4323         (_cpp_compare_file_date): Don't choose the search chain here.
4324         * cpplib.c (do_include_next): Move the in-main-file diagnostic
4325         here from _cpp_execute_include.  Behave like #include if
4326         we're in the main file.
4327
4328 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4329
4330         * system.h (malloc, realloc, calloc, strdup): Only poison these
4331         tokens when IN_GCC is defined.
4332
4333 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
4334
4335         * i386.md (abs?f expander): Support SSE case.
4336         (abd?f_if): Add new "USE"; add splitters.
4337
4338 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4339
4340         * cpp.texi (poison): Explain the macro expansion exception.
4341
4342 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
4343
4344         * expr.c (store_expr): Add dont_store_target.  If temp is already in
4345         target before copying to reg, don't store it into target again.
4346
4347 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4348
4349         * cppinternals.texi: Update for file handling.
4350
4351 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
4352
4353         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
4354         2001-02-24 which broke building the Java library.
4355         * function.c (identify_blocks): Likewise.
4356         (all_blocks): Likewise.
4357         * integrate.c (integrate_decl_tree): Likewise.
4358         * print-tree.c (print_node): Likewise.
4359         * tree.h (BLOCK_NUMBER): Likewise.
4360         (struct tree_block): Likewise.
4361
4362 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
4363
4364         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
4365         __WCHAR_TYPE__ definition.
4366         (WCHAR_TYPE_SIZE): #undef before #define.
4367
4368 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4369
4370         * cppfiles.c: Update comments.
4371         (destroy_include_file_node): Rename destroy_node.
4372         (find_or_create_entry): New function.
4373         (open_file, _cpp_fake_include): Use it.
4374         (handle_missing_header): New function, broken out of
4375         _cpp_execute include.  Don't segfault if there is no
4376         system or quoted path.
4377         (_cpp_execute_include): Use handle_missing_header.
4378
4379 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
4380
4381         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
4382         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
4383
4384 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4385
4386         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
4387         unless anti_dependence says they are.
4388         * alias.c (objects_must_conflict): If neither has a type specified,
4389         they must conflict.
4390
4391 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4392             David Billinghurst <David.Billinghurst@riotinto.com>
4393
4394         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
4395
4396 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4397
4398         * i386.md (trunctfdf2_2): Rename missnamed pattern.
4399         (*_one_bit): Remove type on the match_operand in attributes.
4400
4401 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
4402
4403         * i386.c: Commit forgotten hunk in previous patch.
4404         (regclass_map): Add extended registers.
4405         (dbx_register_map): Add missing frame register.
4406
4407 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
4408
4409         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
4410
4411         * i386.md (x86_sahf_1): Disable for 64bit.
4412         (popsi*, pophi*): Likewise.
4413         (pushqi, pushhi): Likewise.
4414         (movdi, pushdi): Likewise.
4415         (zero extend DImode splitter): Likewise.
4416         (adddi, minusdi splitter): Likewise.
4417         (umulsidi): Likewise.
4418         (umulsi): New.
4419         (mulsidi): Disable for 64bit
4420         (lshift:DI/ashift:DI): Disable for 64bit.
4421         (loop patterns): Likewise.
4422         (call_pop, call_value_pop expanders and patterns): Likewise.
4423         (prologue_get_pc): Likewise.
4424         (leave): Likewise.
4425         (fcmovDI pattern and splitter): Likewise.
4426         (movdfcc_1_rex64): New.
4427
4428 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
4429
4430         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
4431         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
4432         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
4433         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
4434         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
4435         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
4436         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
4437         (PUSH_ROUNDING): x86_64 rounds to 64bits.
4438         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
4439         (REGPARM_MAX): Set to 6 for x86_64.
4440         (SSE_REGPARM_MAX): Set to 16 for x86_64.
4441         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
4442         registers.
4443
4444         * (patterns that does use upper halves): Update constraints
4445         'q' to 'Q' and 'r' to 'R'.
4446         (cmpqi_ext_1): Disable for 64bit.
4447         (cmpqi_ext_3_insn): Likewise.
4448         (movqi_extzv_1): Likewsie.
4449         (addqi_ext_1): Liekwsie
4450         (testqi_ext_1): Liekwsie
4451         (andqi_ext_1): Liekwsie
4452         (xorqi_ext_1): Liekwsie
4453         (cmpqi_ext_1_rex64): New.
4454         (cmpqi_ext_3_insn_rex64): Likewise.
4455         (movqi_extzv_1_rex64): Likewsie.
4456         (addqi_ext_1_rex64): Liekwsie
4457         (testqi_ext_1_rex64): Liekwsie
4458         (andqi_ext_1_rex64): Liekwsie
4459         (xorqi_ext_1_rex64): Liekwsie
4460
4461 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
4462
4463         * configure.in: Move check for unsigned enumerated bitfields
4464         to macro in aclocal.m4.  Disable it for now.
4465         * configure, config.in: Regenerate.
4466         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
4467         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
4468         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
4469         kind above its first use.
4470
4471         * config/xm-interix.h, config/alpha/xm-alpha.h,
4472         config/i370/xm-linux.h, config/i386/xm-beos.h,
4473         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
4474         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
4475         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
4476         Don't define ONLY_INT_FIELDS under any circumstances.
4477
4478         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
4479
4480         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
4481         config/sparc/xm-sysv4.h: Delete - now identical with some
4482         other xm header.
4483         * config.gcc (hppa targets): Replace xm-pahpux.h and
4484         xm-papro.h with implicit xm-pa.h.
4485         (sparc targets): Replace xm-sysv4.h with implicit or explicit
4486         xm-sparc.h.
4487
4488 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
4489
4490         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
4491         before reload_cse_noop_set_p.
4492
4493 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
4494
4495         * config.gcc: Where xm-host.h used to include another
4496         xm-host.h, list the nested header directly in xm_file.  Remove
4497         references to deleted files.  Can now use sparc/xm-sp64.h for
4498         sparcv9-*-solaris*.
4499
4500         * config/xm-linux.h, config/arm/xm-linux.h,
4501         config/i386/xm-dos.h, config/i386/xm-gnu.h,
4502         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
4503         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
4504         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
4505         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
4506         Delete.
4507
4508         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
4509         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
4510         bother to wrap #undef in #ifdef.
4511         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
4512         Don't include xm-linux.h.
4513         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
4514
4515         * configure.in: Wrap regexps using [] in changequote block.
4516         Use expr : not echo | grep.  Simplify regexps.
4517         * configure: Regenerate.
4518
4519         56 xm-files remain, 22 xm-arch.
4520
4521 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4522
4523         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
4524         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
4525         (local_index, local_rindex): Delete, use strchr/strrchr instead.
4526         (copy_object): Fix format specifier vs argument mismatch.
4527
4528         * mips-tdump.c: Make local functions static.
4529         (rindex): Don't #undef.
4530         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
4531         (fatal, fancy_abort): Delete.
4532         (read_seek): Avoid signed/unsigned compare.
4533
4534 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4535
4536         * combine.c (try_combine): Fix error in change to try original
4537         register.
4538         (gen_rtx_combine): Do same as gen_rtx for now.
4539
4540 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
4541
4542         * configure.in: AC_SUBST xm_defines.
4543         * configure: Regenerate.
4544         * Makefile.in: Set DEFINES=$(xm_defines) when building
4545         tconfig.h.
4546
4547 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4548
4549         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
4550         (cpp_included, find_include_file): Update.
4551         (_cpp_compare_file_date): Make else unconditional.
4552
4553 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
4554
4555         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
4556
4557 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
4558
4559         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
4560         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
4561
4562 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
4563
4564         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
4565         if it's a record type.
4566
4567 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
4568
4569         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
4570         mingw includes slightly.
4571
4572 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4573
4574         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
4575         #undef token before poisoning it.
4576
4577 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4578
4579         * alpha.c (check_float_value): Use memcpy, not bcopy.
4580
4581         * m32r.c (m32r_sched_reorder): Likewise.
4582
4583         * vax.c (check_float_value): Likewise.
4584
4585 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
4586
4587         * toplev.c (file_name_nondirectory): Remove.
4588         * toplev.h: Similarly.
4589         * dwarf2out.c (compute_section_prefix): Use lbasename instead
4590         of file_name_nondirectory.
4591
4592 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4593
4594         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
4595         * mips-tfile.c: Don't #undef rindex; not used.
4596
4597 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
4598
4599         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
4600         (dbx64_register_map): Declare.
4601         (RETURN_ADDR_RTX): Fix for 64bit.
4602         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
4603         (INCOMING_FRAME_SP_OFFSET): Set to 8.
4604         * i386.c (dbx64_register_map): New global array.
4605         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
4606         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
4607         for 64bits.
4608
4609 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
4610
4611         * cppfiles.c (search_from): Use lbasename.
4612         * mkdeps.c (deps_add_default_target): Use lbasename.
4613
4614 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4615
4616         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
4617         xcalloc in lieu of malloc, realloc & calloc.
4618
4619         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
4620
4621         * gengenrtl.c (xmalloc): Likewise.
4622
4623         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
4624         really_call_* memory allocation routines.
4625
4626         * stmt.c (check_for_full_enumeration_handling): Use
4627         really_call_calloc, not calloc.
4628
4629         * system.h (really_call_malloc, really_call_calloc,
4630         really_call_realloc): Define.
4631         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
4632
4633 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
4634
4635         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
4636
4637 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
4638
4639         * configure: Rebuilt.
4640         * configure.in: Only use `lang_requires' for languages athat are
4641         actually enabled.
4642
4643 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4644
4645         * invoke.texi: Fix typo.
4646         * gcc.1: Regenerate.
4647
4648 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
4649
4650         * configure.in: Prune nonexistent files from build_xm_file,
4651         xm_file, and host_xm_file lists.  Warn unless they're
4652         $cpu/xm-$cpu.h.
4653         Don't generate *config.h here.
4654         AC_SUBST all variables needed to generate *config.h.
4655         * configure: Regenerate.
4656         * mkconfig.sh: New helper script, from code removed from
4657         configure.in.
4658         * Makefile.in: Zap all MALLOC variables - no longer used
4659         anywhere, and malloc.c doesn't exist.
4660         Substitute in variables needed to generate *config.h.
4661         Stop lying about the dependencies contained in CONFIG_H and
4662         GCONFIG_H.
4663         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
4664         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
4665         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
4666         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
4667         $(TM_P_H), etc. as appropriate.
4668
4669         * config.gcc: Zap references to deleted files.
4670         * ggc-none.c: Don't include rtl.h or tm_p.h.
4671
4672         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
4673         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
4674         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
4675         config/i386/xm-linux.h, config/i386/xm-linux.h,
4676         config/i386/xm-next.h, config/i386/xm-openbsd.h,
4677         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
4678         Don't include i386/xm-i386.h.
4679
4680         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
4681         config/i386/xm-i386.h, config/i860/xm-i860.h,
4682         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
4683         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
4684         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
4685         Delete (empty except comments, #includes of other deleted
4686         files, and macros used nowhere).
4687
4688 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
4689
4690         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
4691         independent on TARGET_FLAGS.
4692
4693 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
4694
4695         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
4696
4697         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
4698         extended ones.
4699         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
4700         TARGET_64BIT.
4701         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
4702         LAST_REX_SSE_REG): define.
4703         (enum reg_class): Add 'LEGACY_REGS'
4704         (REG_CLASS_CONTENTS): Likewise; add extended registers.
4705         (SSE_REGNO_P): Recognize extended registers.
4706         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
4707         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
4708         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
4709         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
4710         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
4711          REG_OK_FOR_STRREG_P): Remove.
4712         (HI_REGISTER_NAMES): Add extended registers.
4713         (ADDITIONAL_REGISTER_NAMES): Likewise.
4714         (QI_REGISTER_NAMES): Add 8bit extended registers.
4715         (DEBUG_REG): Support extended registers.
4716         * i386.c (regclass_map): Add extended registers.
4717         (dbx_register-map): Likewise.
4718         (svr4_dbx_register_map): Likewise.
4719         (print_reg): Support extended registers.
4720         (print_operand): Support 64bit operands.
4721
4722 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
4723
4724         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
4725         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
4726          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
4727          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
4728         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
4729          STACK_BOUNDARY): Set properly for 64bits.
4730         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
4731         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
4732         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
4733         (MOVE_MAX): Set to 16.
4734         (MOVE_MAX_PIECES): 8 for 64bit.
4735         (Pmode): Set to SImode.
4736
4737 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
4738
4739         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
4740
4741 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
4742
4743         * i386.h (mask_64bit): New constant.
4744         (target_64bit): New macro.
4745         (target_options): Add '64'/'32'
4746         (target_default): Define.
4747         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
4748         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
4749         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
4750
4751 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
4752
4753         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
4754
4755 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
4756
4757         * rtlanal.c (rtx_varies_p): Check operand 0 of a
4758         LO_SUM unless for_alias is set.
4759
4760 2001-03-08  Stan Shebs  <shebs@apple.com>
4761
4762         * objc/objc-act.c: Fix old typos in comments, add comments for
4763         various functions.
4764         (hash_init): Fix file name in error message.
4765         (hash_enter): Ditto.
4766         (hash_add_attr): Ditto.
4767         (continue_class): Ditto.
4768
4769 2001-03-08  Bruce Korb  <bkorb@gnu.org>
4770
4771         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
4772         wait4() can receive the signal.
4773
4774 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4775
4776         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
4777         entities.
4778         * fixinc/fixincl.x: Regenerate.
4779
4780 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4781
4782         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
4783         on Tru64 UNIX.
4784         * fixinc/fixincl.x: Regenerate.
4785
4786 2001-03-08  Richard Henderson  <rth@redhat.com>
4787
4788         * configure.in (HAVE_AS_LEB128): New assembler check.
4789         * configure, config.in: Rebuilt.
4790
4791 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
4792
4793         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
4794         TFmode too.
4795
4796 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4797
4798         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
4799         references to the MAXPATHLEN macro.
4800
4801         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
4802         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
4803         the POSIX macro.
4804
4805         * config/i386/xm-gnu.h, config/xm-gnu.h,
4806         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
4807         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
4808         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
4809         and/or unused files.
4810
4811         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
4812         doing so in various xm-*.h files.
4813
4814 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4815
4816         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
4817
4818 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
4819
4820         * configure.in (enable_shared): Support per-package shared-library
4821         enabling.
4822         * configure: Rebuilt.
4823
4824 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
4825
4826         * rs6000.md (cr logic): Add original POWER mnemonic alternative
4827         for crnot.  Set operands[5] in splitter.
4828
4829 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4830
4831         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
4832         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
4833         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
4834         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
4835         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
4836         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
4837         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
4838         to the USG macro.
4839
4840         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
4841         config/i370/xm-i370.h, config/i386/xm-dgux.h,
4842         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
4843         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
4844         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
4845         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
4846         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
4847         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
4848         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
4849         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
4850         Delete unused and/or empty files.
4851
4852         * config.gcc: Define USG in xm_defines as appropriate.  Define
4853         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
4854         macro.  Remove deleted xm-* files from $xm_files variable.
4855
4856 2001-03-07  Tom Tromey  <tromey@redhat.com>
4857
4858         * configure: Rebuilt.
4859         * configure.in: Allow config-lang.in to set `lang_requires' to list
4860         of other required languages.
4861
4862 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
4863
4864         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
4865         after its emitted.
4866         (output_prologue): Use xmalloc not oballoc.
4867         (output_epilog): Free a29k_first_epilogue_insn when finished.
4868         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
4869
4870 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
4871
4872         * builtins.c (expand_builtin_mathfn): Check
4873         flag_unsafe_math_optimizations, not flag_fast_math.
4874         (expand_builtin): Likewise
4875         * combine.c (combine_simplify_rtx): Likewise.
4876         (simplify_if_then_else): Likewise.
4877         * cse.c (fold_rtx): Likewise.
4878         * flags.h: Remove flag_fast_math.  Add
4879         flag_unsafe_math_optimizations and flag_trapping_math.
4880         * fold-const.c (negate_expr): Check
4881         flag_unsafe_math_optimizations, not flag_fast_math.
4882         (invert_truthvalue): Likewise.
4883         (fold): Likewise.  Before associating operands, check that
4884         code == MULT_EXPR, not code != MULT_EXPR.
4885         * ifcvt.c (noce_try_minmax): Check
4886         flag_unsafe_math_optimizations, not flag_fast_math.
4887         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
4888         * invoke.texi: Document -funsafe-math-optimizations and
4889         -fno-trapping-math.  Change documentation for -ffast-math.
4890         * jump.c (reversed_comparison_code_parts): Likewise.
4891         (rtx_equal_for_thread_p): Likewise.
4892         * optabs.c (emit_conditional_move): Likewise.
4893         * simplify-rtx.c (simplify_binary_operation): Likewise.
4894         (simplify_relational_operation): Likewise.
4895         (simplify_ternary_operation): Likewise.
4896         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
4897         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
4898         Add trapping-math and unsafe-math-optimizations entries to f_options.
4899         (set_fast_math_flags): New, sets flags for -ffast-math.
4900         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
4901         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
4902         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
4903
4904         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
4905         (alpha_emit_conditional_move): Initialize local_fast_math to
4906         flag_unsafe_math_optimizations, not flat_fast_math.
4907         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
4908         instead of setting flag_fast_math to 1.
4909         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
4910         not flag_fast_math.
4911         * config/i386/i386.c (override_options): Likewise
4912         * config/i386/i386.md: Likewise.
4913         * config/m68k/m68k.md: Likewise.
4914         * config/mips/mips.md: Likewise.
4915         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
4916         (rs6000_generate_compare): Likewise.
4917
4918 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
4919
4920         * Makefile.in: Set RANLIB to @RANLIB@.
4921         Remove RANLIB_TEST.
4922
4923 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
4924
4925         * fixinc/inclhack.def (djgpp_wchar_h): New test.
4926         * fixinc/fixincl.x: Regenerated.
4927
4928 2001-03-07  Richard Henderson  <rth@redhat.com>
4929
4930         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
4931
4932 2001-03-07  Richard Henderson  <rth@redhat.com>
4933
4934         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
4935         of block notes and exception handling notes.
4936
4937         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
4938         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
4939         (compile_file): ... here.
4940
4941 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4942
4943         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
4944
4945         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
4946         config.h now.  Include libiberty.h to handle alloca.
4947
4948 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
4949
4950         * c-parse.in (yylexname): New function, split out of _yylex.
4951         (objc_rid_sans_at): New table.
4952         (init_reswords): Initialize it.
4953         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
4954         retrieving the next token and checking it for significance as
4955         an ObjC keyword or string constant.
4956
4957         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
4958         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
4959
4960         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
4961         to CPP_OSTRING.
4962
4963 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
4964
4965         * config/m68k/m68k.c (const_uint32_operand): Accept any
4966         const_int on a 32-bit host.
4967
4968 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
4969
4970         * objc/objc-act.c (init_objc): Set save_lang_status,
4971         restore_lang_status, and mark_lang_status.
4972
4973 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
4974
4975         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
4976
4977 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4978
4979         * cppinternals.texi: Update.
4980
4981 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4982
4983         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
4984         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
4985         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
4986         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
4987         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
4988         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
4989         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
4990         config/i386/xm-i386.h, config/i860/xm-i860.h,
4991         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
4992         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
4993         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
4994         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
4995         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
4996         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
4997         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
4998         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
4999         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
5000         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5001         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
5002         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
5003         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
5004         match the defaults provided in hwint.h.
5005
5006         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
5007         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
5008
5009         * config.gcc (xm_file): Don't set to files which are deleted.
5010
5011         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
5012         guard this file against these macros being undefined.
5013
5014 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
5015
5016         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
5017         and DECL_DEFER_OUTPUT on the decl we create, before calling
5018         rest_of_decl_compilation.
5019
5020 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
5021
5022         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
5023         AC_FUNC_ALLOCA.
5024         * configure, config.in: Regenerate.
5025         * config.gcc: Remove references to deleted files.
5026
5027         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
5028         genrecog.c, rtl.c: Do not use alloca anywhere.
5029
5030         * Makefile.in, build-make, system.h, config/x-interix,
5031         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
5032         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
5033         config/arc/xm-arc.h, config/arm/xm-arm.h,
5034         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
5035         config/h8300/xm-h8300.h, config/i370/x-oe,
5036         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
5037         config/i386/x-ncr3000, config/i386/x-sco5,
5038         config/i386/xm-dgux.h, config/i860/x-sysv4,
5039         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
5040         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
5041         config/m68k/x-hp320g, config/m69k/x-mot3300,
5042         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
5043         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
5044         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
5045         config/m88k/x-sysv4, config/m88k/x-tekXD88,
5046         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
5047         config/mips/x-iris, config/mips/x-iris3,
5048         config/mips/x-sni-svr4, config/mips/x-sysv,
5049         config/mips/xm-iris6.h, config/mips/xm-mips.h,
5050         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
5051         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
5052         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
5053         config/pa/xm-papro.h, config/romp/xm-romp.h,
5054         config/rs6000/x-aix31, config/rs6000/x-aix41,
5055         config/rs6000/x-beos, config/rs6000/x-lynx,
5056         config/rs6000/x-mach, config/rs6000/x-rs6000,
5057         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
5058         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5059         config/sparc/x-sysv4, config/sparc/xm-linux.h,
5060         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
5061         config/vax/xm-vms.h: Eradicate all references to alloca and
5062         related stuff.
5063
5064         * config/xm-alloca.h, config/clipper/x-clix,
5065         config/i386/xm-sysv4.h, config/i860/x-fx2800,
5066         config/i860/x-sysv3, config/m88k/x-sysv3,
5067         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
5068         (contained only alloca related hacks).
5069
5070         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
5071         USE_C_ALLOCA.
5072
5073 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
5074
5075         * invoke.texi: Document __FAST_MATH__.
5076
5077 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5078
5079         * crtstuff.c: Restore include of auto-host.h.
5080
5081 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
5082
5083         Put main() in a separate file, so that the language
5084         front-end can use a different main().
5085
5086         * main.c: New.
5087         * toplev.c: (main): Rename as toplev_main.
5088         * toplev.h: Declare toplev_main.
5089         * Makefile.in (OBJS): add toplev.o.
5090           (BACKEND): remove toplev.o, add main.o.
5091
5092 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
5093
5094         * cppfiles.c (search_from): Special case the empty string.
5095
5096 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
5097
5098         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
5099         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
5100         strlen or strcpy; we already know the length.
5101         (_cpp_compare_file_date): Similarly.
5102         * cpphash.h (struct cpp_reader): Delete done_initialising.
5103         (CPP_PREV_BUFFER): Delete.
5104         * cppinit.c (cpp_start_read): Don't set done_initialising.
5105         * cpplex.c (parse_string): Guarantee null-termination.
5106         (_cpp_equiv_toklists): Remove.
5107         * cpplib.c (glue_header_name): Null-terminate.
5108         (do_line): Don't leak memory.
5109         * cpplib.h (BT_WEAK): Delete.
5110         * cppmain.c (cb_ident): Strings are now null-terminated.
5111
5112 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
5113
5114         * gcc.c (convert_filename): Append executable suffix
5115         if NO_AUTO_EXE_SUFFIX is not defined.
5116         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
5117         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
5118
5119 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
5120
5121         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
5122         * c-parse.gperf, c-gperf.h: Delete.
5123         (c-gperf.h was accidently re-added to the CVS repo in the rev
5124         1.16 commit by tromey)
5125
5126 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5127
5128         * cpplex.c (_cpp_lex_token): Don't warn about directives in
5129         macro arguments when looking for the '('.
5130         * cppmacro.c (funlike_invocation_p): Set parsing_args to
5131         2 when really parsing arguments; 1 when looking for '('.
5132         Always restore the lexer position.
5133
5134 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5135
5136         * longlong.h (umul_ppmm): Don't use a multiline string.
5137
5138 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5139
5140         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
5141         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
5142         t_bool in declaration because pcc can't combine volatile with typedef
5143         types.
5144
5145 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
5146
5147         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
5148         until when it is really needed.
5149         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
5150         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
5151         * i386.md (float?i?f splitter): Don't force source operand to memory
5152         for SSE.
5153         (sse_movdfcc): Fix constraint.
5154         (sse_movdfcc splitter): Handle properly the second alternative.
5155
5156 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5157
5158         * cpplex.c (parse_string): Unconditionally pedwarn.
5159
5160 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5161
5162         * cpp.texi: Update.
5163         * cppexp.c (parse_number): Update.
5164         * cpplex.c (parse_string): Pedwarn if multiline string does not
5165         result from a system header's macro.
5166         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
5167         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
5168         for function-like macros too.
5169         * c-lex.c (lex_number): Update.
5170
5171 2001-03-03  Richard Henderson  <rth@redhat.com>
5172
5173         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
5174
5175 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
5176
5177         * combine.c (try_combine): If split with mode-changed scratch
5178         register didn't work, try the original mode.
5179
5180 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
5181
5182         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
5183         * config/c4x/c4x.h: Likewise.
5184         * stor-layout.c (compute_record_mode): Likewise.
5185         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
5186
5187 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
5188
5189         * configure.in: Kill tm.h.  Include the files in the $tm_file
5190         list in all three of config.h, hconfig.h, tconfig.h, after the
5191         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
5192         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
5193         * configure: Regenerate.
5194         * Makefile.in (clean): Don't delete tm.h.
5195
5196         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
5197         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
5198         those are not defined, set SEC and FEC to 0 and 1.
5199         * gcc.texi: Update to match.
5200
5201         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
5202         * config/fp-bit.c, config/m68k/aux-crt2.asm,
5203         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
5204         Include tconfig.h, not tm.h.
5205
5206         * config/xm-lynx.h, config/xm-std32.h,
5207         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
5208         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
5209         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
5210         config/clipper/xm-clix.h, config/convex/xm-convex.h,
5211         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
5212         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
5213         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
5214         config/i386/xm-i386.h, config/i860/xm-i860.h,
5215         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
5216         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
5217         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
5218         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
5219         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
5220         config/pa/xm-linux.h, config/pa/xm-pa.h,
5221         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
5222         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
5223         config/pj/xm-pj.h, config/romp/xm-romp.h,
5224         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
5225         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5226         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
5227         config/v850/xm-v850.h, config/vax/xm-vax.h,
5228         config/we32k/xm-we32k.h:
5229         Don't include tm.h.
5230         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
5231
5232         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
5233         config/i370/xm-oe.h: Don't include tm.h.  Don't define
5234         SUCCESS_EXIT_CODE.
5235         * config/vax/xm-vms.h: Don't include tm.h.
5236
5237         * config/xm-lynx.h, config/avr/xm-avr.h,
5238         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
5239         Delete; made empty by above changes.
5240         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
5241         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
5242         Don't include config/xm-lynx.h or tm.h.
5243
5244         * config/xm-gnu.h: Don't include fcntl.h.
5245         * config/sparc/xm-lynx.h: Don't include sys/types.h and
5246         sys/wait.h.
5247         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
5248
5249 2001-03-02  Richard Henderson  <rth@redhat.com>
5250
5251         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
5252         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
5253
5254 2001-03-02  Richard Henderson  <rth@redhat.com>
5255
5256         * Makefile.in (OBJS): Add dwarf2asm.o.
5257         * dwarf2asm.c, dwarf2asm.h: New files.
5258         * dwarf2out.c (*): Use them.
5259         (size_of_uleb128, size_of_sleb128): Remove.
5260         (output_uleb128, output_sleb128): Remove.
5261         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
5262         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
5263         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
5264         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
5265         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
5266         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
5267         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
5268         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
5269         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
5270         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
5271         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
5272         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
5273         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
5274         (dwarf2out_frame_debug): Remove unused variables.
5275         (output_loc_operands): Don't abort on 8 byte constants if
5276         host integers are wide enough.
5277         (output_symbolic_ref): Remove.
5278         (size_of_die): Don't assume 4 byte host integers.
5279         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
5280         and end labels.
5281         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
5282         something stupid with HOST_WIDE_INT to long truncation.
5283         [CONST_DOUBLE]: Likewise.
5284
5285         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
5286         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
5287         * config/arm/unknown-elf.h: Likewise.
5288         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
5289         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
5290         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
5291         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
5292         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
5293         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
5294         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
5295         (ASM_OUTPUT_DWARF_OFFSET): Remove.
5296         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
5297         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
5298         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
5299         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
5300
5301 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5302
5303         * cselib.c (hash_rtx): Cast enums to unsigned int.
5304
5305 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5306
5307         * print-rtl.c (print_rtx): Cast enums to int for comparison.
5308         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
5309         shifts.
5310         * c-format.c (C_STD_VER): Cast to int for comparisons.
5311         (check_function_format): Cast various enums to int for &.
5312         (maybe_read_dollar_number): Likewise.
5313         (check_format_info): Likewise.
5314         (check_format_info_main): Likewise.
5315         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
5316         (safe_from_p): Likewise.
5317         * varasm.c (const_hash): Cast enum to int for %.
5318         * emit-rtl.c (init_emit_once): Use int loop variable to work around
5319         pcc enum problems with < and ++ operators.
5320         * regclass.c (init_reg_sets_1): Cast enums for comparison.
5321         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
5322         (regclass_init): Change enum class to int to iterate over reg_classes.
5323         * genrecog.c (merge_trees): Cast enums for comparison.
5324         * rtl.h (GET_CODE): Cast to enum rtx_code.
5325         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
5326         (GET_MODE): Cast to enum machine_mode.
5327         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
5328         (GET_NOTE_INSN_NAME): Cast enum to int.
5329         * tree.h (TREE_CODE): Cast to enum tree_code.
5330         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
5331         * timevar.c (timevar_print): Change loop variable id from enum to
5332         unsigned int.
5333         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
5334         * config/i386/i386.md: Use PUT_MODE for mode assignment.
5335         * toplev.c (compile_file): Cast enum DFI to int.
5336         (decode_d_option): Likewise.
5337
5338 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
5339
5340         * cppinit.c (append_include_chain): Mark "after" include file name list
5341         as a system directory.
5342         * cpp.texi: Document new behavior.
5343
5344 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
5345
5346         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
5347
5348 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
5349
5350         * cppfiles.c (struct include_file): Update.
5351         (stack_include_file): Use search_from.
5352         (cpp_included, find_include_file): Update.
5353         (cpp_execute_include): Update.  ptr->name may not be
5354         null terminated.  Use the new search_from member variable
5355         of cpp_buffer.
5356         (_cpp_compare_file_date): Similarly.
5357         (search_from): New function, similiar to actual_directory.
5358         (actual_directory): Delete.
5359         (remap_filename): Update.  loc->name may not be null terminated.
5360         (struct file_name_list): Rename search_path.  Update.
5361         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
5362         search_from and dir.
5363         (struct cpp_reader): Remove actual_dirs.
5364         * cppinit.c (struct cpp_pending): Update for renamed objects.
5365         (append_include_chain, remove_dup_dir, remove_dup_dirs,
5366         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
5367         * cpplib.h (struct cpp_options): Similarly.
5368
5369 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
5370
5371         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
5372         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
5373         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
5374         config/clipper/xm-clix.h, config/convex/xm-convex.h,
5375         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
5376         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
5377         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
5378         config/i370/xm-linux.h, config/i370/xm-mvs.h,
5379         config/i370/xm-oe.h, config/i386/xm-aix.h,
5380         config/i386/xm-i386.h, config/i386/xm-osf.h,
5381         config/i860/xm-i860.h, config/i960/xm-i960.h,
5382         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
5383         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
5384         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
5385         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
5386         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
5387         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
5388         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
5389         config/pj/xm-pj.h, config/romp/xm-romp.h,
5390         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
5391         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5392         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
5393         config/v850/xm-v850.h, config/vax/xm-vax.h,
5394         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
5395         Do not define TRUE or FALSE.
5396
5397         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
5398         empty by above change.
5399         * config.gcc: Remove references to these files.
5400
5401         * configure.in: Detect stdbool.h.
5402         * configure, config.in: Regenerate.
5403         * system.h: Include stddef.h here if available.
5404         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
5405         Then set up a sensible boolean type at the very end.
5406
5407         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
5408         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
5409
5410         * hash.h: Delete 'boolean' typedef and related #undefs.
5411
5412         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
5413         all uses of 'boolean' with 'bool'.
5414
5415 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5416
5417         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
5418         * cppexp.c (lex): Cast enums for comparison.
5419         * cppinit.c (parse_option): Cast enum for comparison.
5420         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
5421         (cpp_output_token): Likewise.
5422         (cpp_can_paste): Cast enums for comparsion and plus/minus.
5423         (cpp_avoid_paste): Cast enums for minus and comparison.
5424
5425 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
5426
5427         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
5428         field to all array elements.
5429
5430 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
5431
5432         * cpphash.h (struct cpp_reader): Add print_version field.
5433         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
5434         just set print_version and other flags as appropriate.
5435         (cpp_post_options): Print version here if print_version is set.
5436
5437         * toplev.c (exit_after_options): New flag.
5438         (independent_decode_option): Don't exit here; just set
5439         exit_after_options.
5440         (main): Exit after calling lang_hooks.post_options if
5441         exit_after_options is true.
5442
5443         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
5444         (merge_include_chains): Adjust comment to match code.
5445
5446 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
5447
5448         * stringpool.c (set_identifier): New function.
5449         * tree.h: Prototype it.
5450
5451         * c-parse.in: Kill D_YES. If compiled for objc, call
5452         save_and_forget_protocol_qualifiers from init_reswords.
5453         * objc/objc-act.c (remember_protocol_qualifiers,
5454         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
5455         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
5456         vice versa.
5457         (save_and_forget_protocol_qualifiers): New function.
5458         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
5459
5460 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
5461
5462         * c-semantics.c (prune_unused_decls): Return error_mark_node
5463         instead of (tree) 1 to stop traversing the tree chain.
5464
5465 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
5466
5467         Fix a problem introduced by Kenner's Feb 18 change.
5468         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
5469         flag_cse_skip_blocks only temporarily, not for ever.
5470
5471 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
5472
5473         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
5474         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
5475
5476         * pa.c (emit_move_sequence): Verify operand0 is a hard register
5477         before determining its register class.
5478
5479 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
5480
5481         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
5482         from reg 4 if current_function_calls_setjmp.
5483         (gen_nop_type): New function.
5484         (ia64_emit_nops): New function.
5485         (ia64_reorg): Call it.
5486         (ia64_sched_reorder): Move code that rotates bundles up a bit.
5487
5488         * reload1.c (eliminate_regs_in_insn): Restrict the special case
5489         code not to try to optimize adds with anything but a REG destination.
5490
5491         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
5492         (INSN_PRIORITY_KNOWN): New accessor macro.
5493         * haifa-sched.c (priority): Use it instead of testing priority against
5494         zero.
5495
5496 2001-02-28  DJ Delorie  <dj@redhat.com>
5497
5498         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
5499         since that doesn't work the way gcc wants on a generic m68k.
5500
5501 2001-02-28  Richard Henderson  <rth@redhat.com>
5502
5503         * caller-save.c (save_call_clobbered_regs): Fix typo in
5504         comparison last change.
5505
5506 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
5507
5508         * i386.c (pentium4_cost): New.
5509         (m_PENT4): New macro.
5510         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
5511         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
5512         x86_integer_DFmode_moves, x86_partial_reg_dependency,
5513         x86_memory_mismatch_stall): Add Pentium4
5514         (x86_use_q_reg, x86_use_any_reg): Kill.
5515         (override_options): Add pentium4.
5516         (incdec_operand): Return 0 for pentium4.
5517         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
5518         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
5519         (TARGET_PENTIUM4): Define.
5520         (enum processor_type): Add PROCESSOR_PENTIUM4.
5521         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
5522         * i386.md (attribute "cpu"): Add pentium4.
5523         * invoke.texi (march): Add pentium4.
5524
5525 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
5526
5527         * i386.md (sse_mov?fcc*): New patterns and splitters.
5528         * i386.c (ix86_expand_movcc): Work post-reload; recognize
5529         the SSE based conditional moves.
5530
5531 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
5532
5533         * i386.md (attribute mode): Add "TI".
5534         (movsf_1): Add pxor support; remove constant propagation splitter.
5535         (movdf_integer): Likewise.
5536         (movdf_nointeger): Likewise.
5537         (movxf constant prop splitter): Handle all modes; update for SSE.
5538         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
5539         * i386.c (standard_80387_constant_p): Rewrite.
5540         (standard_sse_constant_p): New.
5541         * i386-protos.h (standard_sse_constant_p): New.
5542
5543 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
5544
5545         * i386.md (sse_setccsf, sse_setccdf): New.
5546         (sse_cmp* patterns): Use '%D' instead of outputtting condition
5547         flag directly.
5548         * i386.c (sse_comparison_operator): Accept the supported unordered
5549         comparses; be ready for fast_math.
5550         (print_operand): Support 'D'.
5551
5552 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
5553
5554         * jump.c (reversed_comparison_code): Kill.
5555
5556 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
5557
5558         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
5559         for STACK_REGS
5560
5561 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
5562
5563         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
5564         add missing '%' in constraints.
5565
5566 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
5567
5568         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
5569         for HOST_BITS_PER_WIDE_INT == 32 too.
5570
5571 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
5572
5573         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
5574         NREGS.
5575         (insert_save, insert_restore): New parameter save_mode.
5576         (init_caller_save): Update initialization of reg_save_code
5577         and reg_restore_code.
5578         (save_call_clobbered_regs):  Compute save_modes and update calls to
5579         reg_save_code and reg_restore_code.
5580         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
5581         of spill; update use of reg_restore_code.
5582         (insert_save):  Likewise.
5583         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
5584         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
5585         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
5586
5587 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
5588
5589         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
5590         noce_try_store_flag_inc, noce_try_store_flag_mask,
5591         noce_try_cmove_arith):
5592         Use reversed_comparison_code instead of reverse_comparison and
5593         can_reverse_comparison_p.
5594
5595 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
5596
5597         * jump.c (reversed_comparison_code_parts): Allow reversal of
5598         unordered compares in -ffast-math mode; reverse ordered compares
5599         for FP even w/o -ffast-math.
5600
5601 2001-02-27  Richard Henderson  <rth@redhat.com>
5602
5603         * print-rtl.c (print_rtx) [i]: Don't print field five on
5604         NOTEs other than NOTE_INSN_DELETED_LABEL.
5605
5606 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
5607
5608         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
5609         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
5610
5611 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
5612
5613         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
5614         even if walk_subtrees is 0.
5615         * c-semantics.c (prune_unused_decls): Return a non-null value to
5616         stop traversing the tree chain.
5617
5618 2001-02-27  DJ Delorie  <dj@redhat.com>
5619
5620         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
5621         register, *then* define it as the new CFA.
5622
5623 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
5624
5625         * pa.c (override_options): Promote -fpic to -fPIC.
5626         (legitimize_pic_address): Simplify due to removal of
5627         small PIC as a code generation option.
5628         (secondary_reload_class): Similarly.
5629         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
5630         (PRINT_OPERAND_ADDRESS): Similarly.
5631         * pa.md (various patterns): Similarly.
5632         (small pic lo_sum pattern): Remove.
5633
5634 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
5635                               Fergus Henderson
5636
5637         * md.texi (min, max): Document
5638
5639 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
5640
5641         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
5642         TARGET_PARTIAL_REG_DEPENDENCY.
5643         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
5644
5645 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
5646
5647         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
5648
5649 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
5650
5651         * mips.c (mips_make_temp_file): Fix thinko in last change.
5652
5653 2001-02-26  Jason Eckhardt  <jle@redhat.com>
5654
5655         * combine.c (known_cond): Do not reverse the condition when
5656         SMAX/UMAX is being considered and the condition is for equality
5657         or inequality.
5658
5659         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
5660
5661 2001-02-26  Philip Blundell  <philb@gnu.org>
5662
5663         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
5664         "armv2-*-linux".
5665         * config/arm/linux-elf.h: Remove historical relics related to
5666         above configurations.
5667         * config/arm/linux-oldld.h: Delete.
5668         * config/arm/linux-elf26.h: Delete.
5669
5670 2001-02-26  Jason Merrill  <jason@redhat.com>
5671
5672         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
5673         definitions.
5674         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
5675         recognize a tentative definition.  Lose obsolete code.
5676
5677         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
5678         variables unless necessary, either.
5679
5680 2001-02-25  Richard Henderson  <rth@redhat.com>
5681
5682         * ifcvt.c (struct noce_if_info): Add test_bb.
5683         (noce_get_alt_condition): New.
5684         (noce_try_minmax, noce_try_abs): New.
5685         (noce_operand_ok): New.
5686         (noce_process_if_block): Use them.
5687         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
5688
5689 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
5690
5691         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
5692         include.
5693
5694 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
5695
5696         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
5697         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
5698         properly.
5699         (mips_asm_file_end): Free temp_filename here.
5700
5701 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5702
5703         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
5704         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
5705
5706         * config/i386/i386.md (movstrsi): Handle FAIL case.
5707
5708 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
5709
5710         * cppinit.c (builtin_array): Update.
5711         (init_builtins): Flag builtins to warn if redefined or
5712         undefined.  Define __GXX_WEAK as a normal macro.
5713         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
5714         * cpplib.h (NODE_WARN): New flag.
5715         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
5716         Handle __STDC__ as a builtin only on Solaris.
5717         (warn_of_redefinition): Renamed from check_macro_definition.
5718         Reverse sense of test.  Always warn if NODE_WARN.
5719         (_cpp_create_definition): Use warn_of_redefinition.  Flag
5720         any macro beginning with "__STDC_" to require a mandatory
5721         warning if redefined or undefined.
5722
5723 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
5724
5725         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
5726         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
5727         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
5728         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
5729         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
5730         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
5731         Don't define any of:
5732         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
5733         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
5734         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
5735         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
5736         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
5737
5738         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
5739         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
5740         definitions.
5741
5742         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
5743         Delete now-empty file.
5744
5745         * alpha/vms.h: Define NEED_ATEXIT here...
5746         * alpha/xm-vms.h: ...not here.
5747
5748         * i386/cygwin.h: Don't define PARAMS.
5749         * mips/mips.c: Don't prototype mktemp.  Don't define
5750         P_tmpdir.  Use make_temp_file to create temporary files.
5751         Don't be clever and delete temporary files early.
5752         * config.gcc: Drop references to deleted files.  Don't define
5753         FULL_PROTOTYPES.
5754         * gcc.texi: Don't mention USE_PROTOTYPES.
5755
5756 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5757
5758         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
5759         (ix86_set_move_mem_attrs_1): Likewise.
5760         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
5761         * config/i386/i386.md (movstrsi): Call it.
5762
5763 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
5764
5765         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
5766         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
5767         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
5768         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
5769
5770         (i750a-*-*): Error here if hosting on i750a.
5771         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
5772
5773         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
5774         Remove (empty modulo comments).
5775
5776         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
5777         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
5778         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
5779         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
5780         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
5781         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
5782
5783         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
5784         Remove reference to winnt.h in comment.
5785         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
5786
5787 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5788
5789         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
5790         used to set another biv.
5791
5792 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5793
5794         * tree.h (BLOCK_DEAD): New macro.
5795         (struct tree_block): New flag, dead_flag.
5796         * print-tree.c (print_node, case 'b'): Print missing fields.
5797         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
5798         * function.c (identify_blocks): Enable test for misplaced notes.
5799         (all_blocks): Skip BLOCK_DEAD blocks.
5800         * integrate.c (integrate_decl_tree): Likewise.
5801
5802         * errors.c (internal_error, trim_filename): New functions.
5803         (fancy_abort): Call internal_error.
5804         * errors.h (internal_error, trim_filename): New declarations.
5805
5806 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
5807
5808         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
5809         2000-08-26's patch.
5810         (EXTRA_CONSTRAINT): Formatting changes.
5811
5812 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5813
5814         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
5815
5816 2001-02-23  Per Bothner  <per@bothner.com>
5817
5818         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
5819         so they can be called from java/jvspec.c.
5820         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
5821
5822 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
5823
5824         * i386.c (ix86_frame): New structure.
5825         (ix86_compute_frame_size): Kill.
5826         (ix86_compute_frame_layout): New.
5827         (ix86_save_reg): New.
5828         (ix86_can_use_return_insn_p): Use frame layout stuff.
5829         (ix86_expand_prologue): Likewise.
5830         (ix86_expand_epilogue): Likewise.
5831         (ix86_initial_elimination_offset): Likewise.
5832         (ix86_nsaved_regs): Use ix86_save_reg.
5833         (ix86_emit_save_regs): Likewise.
5834
5835 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
5836
5837         * flow.c (find_sub_basic_blocks): New function.
5838         (split_block): Be ready for basic block introduced by CODE_LABEL.
5839         (commit_one_edge_insertion): Call find_sub_basic_block.
5840
5841         * flow.c (make_edges): Add edge from entry for blocks starting with
5842         label having ALTERNATE_NAME
5843
5844 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
5845
5846         * function.c (epilogue_done): Be ready for first basic block not
5847         containing PROLOGUE_END note.
5848         (reposition_prologue_and_epilogue_notes): Avoid placing
5849         PROLOGUE_END note between BASIC_BLOCK.
5850
5851 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
5852
5853         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
5854
5855 2001-02-21  DJ Delorie  <dj@redhat.com>
5856
5857         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
5858         check for current_function_has_nonlocal_goto from 1999-11-12.
5859
5860 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5861
5862         * diagnostic.c (trim_filename): No longer static.
5863         * toplev.h (trim_filename): Declare.
5864         * rtl.c (rtl_check_failed_bounds): Call internal_error.
5865         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
5866         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
5867         (rtvec_check_failed_bounds): Likewise.
5868         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
5869
5870         * convert.c (convert_to_integer): Don't do unsigned unless result or
5871         both inputs are unsigned.
5872
5873         * fold-const.c (fold_convert): Don't call size_int_type_wide if
5874         input overflows.
5875
5876         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
5877
5878         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
5879
5880 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
5881
5882         * Makefile.in (resource.o): Add params.h dependence.
5883         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
5884         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
5885         * resource.c: Add dependence on params.h.
5886         (current_live_regs): Fix explanatory comment.
5887         (find_basic_block): Add new parameter to permit limiting search
5888         for a BARRIER.
5889         (mark_target_live_regs): Add new argument to find_basic_block call.
5890         (incr_ticks_for_insn): Likewise.
5891
5892 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
5893
5894         * diagnostic.c (output_to_stream): Rename to
5895         output_buffer_to_stream. Loses the stream parameter.
5896         (init_output_buffer): Set diagnosic_buffer's stream.
5897         (flush_diagnostic_buffer): Adjust.
5898         (default_print_error_function): Likewise.
5899         (finish_diagnostic): Likewise.
5900         (verbatim): Likewise.
5901
5902         * diagnostic.h (struct output_buffer): Add `stream' field.
5903         (output_buffer_attached_stream): New macro.
5904
5905 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
5906
5907         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
5908         check if either operand is divisible by C.
5909         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
5910         If type is signed, consider negative numbers as well.
5911
5912 2001-02-22  Richard Henderson  <rth@redhat.com>
5913
5914         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
5915         reach .text instead of gp-relative relocs.
5916         * config/ia64/crtend.asm (.init): Likewise.
5917
5918 2001-02-22  Andreas Jaeger  <aj@suse.de>
5919
5920         * extend.texi (C++ Attributes): Fix typo.
5921
5922 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
5923
5924         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
5925         functions, drop current_function_args_info.words test.
5926         (ia64_compute_frame_size): Mark syscall_linkage functions as
5927         using eight input registers.
5928
5929 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
5930         Bruce Korb  <bkorb@gnu.org>
5931
5932         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
5933         * fixinc/README: Document how to convert sed substitutions
5934         to format style c_fix-es.
5935         * fixinc/fixincl.x: regen
5936
5937 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
5938
5939         * gcc.c: Add comment explaining how to add a command-line option.
5940         Add title to specs language comment.
5941
5942 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
5943
5944         * gcc.c (cc1_options): Add "-param".
5945         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
5946         (option_map): Likewise.
5947         * toplev.c (display_help): Add entry for "--param".
5948         (independent_decode_option): Fix typographical error.
5949
5950 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
5951                               Bernd Schmidt  <bernds@redhat.com>
5952                               Jan Hubicka  <jh@suse.cz>
5953
5954         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
5955         (function_arg): Likewise.
5956
5957 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
5958
5959         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
5960
5961 2001-02-21  Kazu Hirata  <kazu@hxi.com>
5962
5963         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
5964         character.
5965         (xorsi3): Likewise.
5966
5967 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
5968
5969         * flow.c (init_propagate_block_info): Canon address and use single_set
5970         for killing dead memory stores.
5971
5972 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
5973
5974         * Makefile.in (reorg.o): Add params.h dependence.
5975         * params.def: Fix typographical error in comment.
5976         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
5977         * params.h: Modify introductory comment.
5978         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
5979         * reorg.c: Add dependence on params.h.
5980         (redundant_insn): Add parameterized throttle for search.
5981         (fill_simple_delay_slots): Add a comment explaining a variable.
5982         Move conditional out of loop, simplifying code.
5983         (fill_eager_delay_slots): Fix typographical error in comment.
5984
5985 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
5986
5987         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
5988
5989         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
5990         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
5991
5992 2001-02-21  Jason Merrill  <jason@redhat.com>
5993
5994         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
5995         (struct tree_decl): Add uninlinable bitfield.
5996         * c-decl.c (duplicate_decls): Set it.
5997         * integrate.c (function_cannot_inline_p): Check it.
5998
5999         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
6000         DW_AT_MIPS_linkage_name to abstract methods.
6001         (dwarf2out_abstract_function): Emit class context before calling
6002         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
6003         (gen_subprogram_die): Remove obsolete code.
6004         (gen_member_die): Don't include clones in the member list.
6005         (gen_decl_die): Emit abstract info for clone origin.
6006         * dwarfout.c (output_type): Don't include clones in the member list.
6007         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
6008         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
6009         DECL_ABSTRACT on a function that already has it set.
6010
6011         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
6012         (get_subprogram_die): Pass it in.
6013
6014 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
6015
6016         * flow.c (mark_set_1): Make not_dead unsigned long.  For
6017         non-pseudos, use it as a bitmask of the hard regs that
6018         don't die.
6019
6020 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6021
6022         * cppfiles.c: Update comments.
6023         (_cpp_read_file): Don't check for NULL filenames any more.
6024         * cppinit.c (cpp_start_read): Don't do canonicalization of
6025         in_fname and out_fname.  Use the passed file name exclusively.
6026         (_cpp_handle_options): Don't treat "-" as a command line option,
6027         but as a normal filename.
6028         (_cpp_post_options): Canonicalize in_fname and out_fname.
6029         * cppmain.c (printer_init): Don't check out_fname for NULL.
6030         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
6031         (init_c_lex): Update, and use "" to represent stdin to CPP.
6032         (yyparse): Update.
6033
6034 2001-02-20  Will Cohen  <wcohen@redhat.com>
6035
6036         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
6037         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
6038         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
6039         fixunstfsi_libfunc.
6040
6041 2001-02-20  Stan Shebs  <shebs@apple.com>
6042
6043         * config/rs6000/rs6000.c (output_cbranch): Output branches
6044         on separate lines instead of using ';' to separate.
6045
6046 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
6047
6048         * cppinit.c (set_lang):  Move builtin handling to...
6049         (init_builtins): ...here.
6050         (_cpp_create_reader): Move call to set_lang.
6051
6052 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
6053
6054         * stmt.c (expand_return): If an attempt is made to return the
6055         error_mar_node, treat the return like a return without a value.
6056
6057 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
6058
6059         * sibcall.c (skip_copy_to_return_value): Call
6060         identify_call_return_value here, and return orig_insn if it
6061         returns zero.  Hardret and softret arguments now unnecessary.
6062         (call_ends_block_p): Don't call identify_call_return_value here.
6063
6064         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
6065         's' slots in RTXen.
6066         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
6067         * ggc.h (ggc_mark_if_gcable): Delete prototype.
6068
6069 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
6070
6071         * pa.c (move_operand): Accept code to load the address of a
6072         symbol out of the DLT as a valid move operand.
6073         (print_operand, case 'A'): New to handle generating a DLT
6074         reference for a LO_SUM expression.
6075         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
6076         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
6077
6078 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
6079
6080         * README, cpp.texi, gcc.texi, version.c: Update version number to
6081         3.1.
6082         * cpp.1, gcov.1, gcc.1: Regenerate.
6083
6084 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
6085
6086         * cppfiles.c (stack_include_file): Generate dependencies
6087         here, and manage include_count here too.
6088         (PRINT_THIS_DEP): Delete.
6089         (_cpp_execute_include): Do not generate dependencies here,
6090         apart from the case of a missing header.  Do not manage
6091         include_count.
6092         (_cpp_read_file): Leave dependency generation to
6093         stack_include_file.
6094
6095 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
6096
6097         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
6098         target_cpu_default.  Remove dead assignment to
6099         target_cpu_default.
6100
6101 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
6102
6103         * regclass.c (contains_reg_of_mode): Make global.
6104         (init_reg_sets): Remove contains_reg_of_mode; take into account
6105         CLASS_MAX_NREGS when looking for the proper mode.
6106         (dump_regclass): Dump only classes considered for the pseudo.
6107         (regclass): Use contains_reg_of_mode.
6108
6109 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
6110
6111         * gcc.c (do_spec_1): 'n' for printing notices.
6112         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
6113
6114 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
6115
6116         * reg-stack.c (next_flags_user): Use current_block->end
6117         (swap_rtx_condition): Look for next user if flags don't die;
6118         give up on CALL_INSNs; use current_block->end.
6119
6120 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6121
6122         * sibcall.c (call_ends_block_p): New function.
6123         (optimize_sibling_and_tail_recursive_call): Use it.
6124
6125 2001-02-18  Kazu Hirata  <kazu@hxi.com>
6126
6127         * config/h8300/h8300.md: Update copyright.
6128         (andsi3): Do not output an extra newline character.
6129
6130 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6131
6132         * toplev.c (note_deferral_of_defined_inlined_function): Argument
6133         FNDECL may be unused.
6134
6135         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
6136         follow jumps after first run.
6137         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
6138         it doesn't change any jumps.
6139
6140 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
6141
6142         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
6143         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
6144         (mostlyclean): Corresponding changes.
6145         * rtlanal.c (hard-reg-set.h): Include.
6146         (rtx_unstable_p): Do not treat the argument pointer specially
6147         if it is not a fixed register.
6148         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
6149
6150 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6151
6152         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
6153         against last real insn in basic block.
6154         Rework to avoid gotos.
6155
6156         * Makefile.in (gcse.o): Now includes ggc.h.
6157         * gcse.c: Include ggc.h.
6158         (want_to_gcse_p): Verify expression can be in SET as valid insn.
6159         (try_replace_reg): Remove warning of uninitialize variable.
6160         (process_insert_insn): Call invalid_insn_p to validate insn.
6161         * recog.c (insn_invalid_p): Now global.
6162         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
6163         * recog.h (insn_invalid_p): New declaration.
6164
6165         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
6166
6167         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
6168         assignments from FP constants since 'Y' output code can't handle it.
6169         (eligible_for_sibcall_delay): Likewise.
6170
6171         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
6172         Call fancy_abort directly, passing args.
6173         (print_rtl_and_abort): Now a macro, like fancy_abort.
6174
6175         * final.c (output_operand_lossage): Use internal_error, not error.
6176
6177 2001-02-18  Shane Nay  <shane@agendacomputing.com>
6178
6179         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
6180         structure shift insns.
6181
6182 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
6183
6184         * invoke.texi (-fsquangle): Remove documentation.
6185         (-fname-mangling-version): Likewise.
6186
6187 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
6188
6189         * optabs.c (expand_abs): Remove reference to
6190         HAVE_contitional_arithmetic.
6191         * combine.c (simplify_set): Likewise.
6192
6193 2001-02-18  Richard Henderson  <rth@redhat.com>
6194
6195         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
6196         would be disrupted.
6197
6198 2001-02-18  Richard Henderson  <rth@redhat.com>
6199
6200         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
6201
6202         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
6203
6204         * reload1.c (reload_cse_simplify_set): Fix typo.
6205
6206 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6207
6208         * diagnostic.c (_fatal_insn): Decrement errorcount.
6209
6210         * invoke.texi (-I): Add note avoiding use for system header files.
6211
6212         * rtl.h (add_clobbers): Remove duplicate declaration.
6213         * recog.h (added_clobbers_hard_reg_p): New declaration.
6214         * genemit.c (struct clobber_pat): New field has_hard_reg.
6215         (gen_insn): Record if added clobbers clobber hard reg.
6216         (gen_split): Avoid unused warning if number of operands is 0.
6217         (output_added_clobbers_hard_reg_p): New function.
6218         (main): Call it.
6219
6220 2001-02-18  Alan Modra <alan@linuxcare.com.au>
6221
6222         * pa.c (hppa_expand_prologue): Simplify code storing return
6223         pointer.  For large (>=8k) frames with a post_store, adjust stack
6224         pointer by 8k-64 first rather than by 64.  When testing with
6225         VAL_14_BITS_P, always use the actual value rather than the value
6226         negated.  Add blockage to prevent scheduling of spills before
6227         stack frame has been created.
6228         (hppa_expand_epilogue): Simplify code loading return pointer.
6229         Allow a slightly larger range for merge_sp_adjust_with_load case.
6230         When testing with VAL_14_BITS_P, always use the actual value.
6231
6232         * pa.c (pa_adjust_insn_length): Check that block move
6233         pattern is a set before looking at operands.
6234
6235 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
6236
6237         * fold-const.c (fold_binary_op_with_conditional_arg): New
6238         function, split out from ...
6239         (fold): ... here.
6240         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
6241         conditional arms that throw exceptions.
6242
6243         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
6244         looking at a BLOCK.
6245
6246 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6247
6248         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
6249         define HAVE_DECL_* to 1 to mask potential backup declarations.
6250         * configure: Regenerated.
6251
6252 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
6253
6254         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
6255
6256 2001-02-17  Richard Henderson  <rth@redhat.com>
6257
6258         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
6259         when replacing a memory load with a register.
6260
6261 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6262                           Jan Hubicka  <jh@suse.cz>
6263
6264         * recog.c (validate_replace_src_1): New.
6265         (validate_replace_src_data): Likewise.
6266         (validate_replace_src): Use note_uses.
6267         * rtl.h (note_uses): Declare.
6268         * rtlanal.c (note_uses): New.
6269
6270 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
6271
6272         * reg-stack.c (stack_def): Make field reg unsigned.
6273         (remove_regno_note): Unsignetize parameter.
6274
6275 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
6276
6277         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
6278         shladd_operand() call.
6279
6280 2001-02-16  Bruce Korb  <bkorb@gnu.org>
6281             Rodney Brown  <RodneyBrown@mynd.com>
6282
6283         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
6284         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
6285         machine restrictions
6286         * fixinc/fixincl.x: regen
6287
6288 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6289
6290         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
6291         Don't CSE a nop.
6292         (hash_scan_insn): Clean up calls to hash_scan_set.
6293         (compute_kill_rd): REGNO now unsigned.
6294         (try_replace_reg): Rework to use simplify_replace_rtx.
6295         (cprop_jump, cprop_cc0_jump): Likewise.
6296         (cprop_insn): Call find_reg_equal_equiv_note.
6297         Reflect changes to cprop_jump and cprop_cc0_jump.
6298
6299         * recog.c (validate_replace_src): Replace in operands of
6300         ZERO_EXTRACT in SET_DEST.
6301
6302         * cse.c (new_label_ref): New variable.
6303         (insert): Set it instead of recorded_label_ref.
6304         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
6305         CODE_LABEL for this function, and not already in REG_LABEL note.
6306
6307 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
6308
6309         * resource.c (mark_referenced_resources): Fix typo in introductory
6310         comment.
6311         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
6312         string constant.
6313
6314 2001-02-16  Jason Merrill  <jason@redhat.com>
6315
6316         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
6317         NULL.
6318         (gen_subprogram_die): Don't abort on seeing a second definition if
6319         the previous one was abstract.  Don't replace an abstract instance
6320         in the lookup table.
6321
6322         * dwarf2out.c (dwarf2out_abstract_function): Rename from
6323         gen_abstract_function.
6324         * dwarf2out.h: Declare it.
6325         * toplev.c (note_outlining_of_inline_function): New fn.
6326         * toplev.h: Declare it.
6327         * integrate.c (output_inline_function): Call it.
6328         * c-decl.c (duplicate_decls): Call it when redefining an extern
6329         inline.  Don't inline the new defn.
6330
6331         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
6332
6333 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6334
6335         * .gdbinit: Rename to gdbinit.in.
6336         * gdbinit.in: New file,
6337         * configure.in: Generate .gdbinit from gdbinit.in.
6338         * configure: Regenerated.
6339         * Makefile.in (distclean): Always remove .gdbinit.
6340
6341 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
6342
6343         * objc/objc-act.c (start_class): Register implemented_classes with
6344         GC.
6345
6346 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6347
6348         * cppfiles.c (_cpp_make_system_header): Generate a file
6349         change callback.
6350
6351 2001-02-15  Jim Meyering  <meyering@lucent.com>
6352
6353         * Makefile.in (install-common): Don't depend on installdirs here.
6354         Instead, make each of the lang.install-common targets (e.g.,
6355         c++.install-common in cp/Make-lang.in) depend on it.
6356         (install-driver): Depend on installdirs.
6357
6358 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6359
6360         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
6361
6362         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
6363         do in memory.
6364
6365 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
6366
6367         * invoke.texi (--param): Document.
6368
6369 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
6370
6371         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
6372
6373 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
6374
6375         * i386.md (extendsfdf2_2): Fix constraints.
6376
6377 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
6378
6379         * i386.md (fop_df_3 splitter): Fix operand number.
6380
6381 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
6382
6383         * invoke.texi (-mreg-alloc): Nuke.
6384         * i386.c (ix86_reg_alloc_order, regs_allocated,
6385         order_regs_for_local_alloc): Nuke.
6386         (override_options): Kill reg_alloc code.
6387         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
6388         (REG_ALLOC_ORDER): SSE goes before I387.
6389         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
6390         (ix86_reg_alloc_order): Likewise.
6391         * i386-protos.h (ix86_reg_alloc_order): Kill.
6392
6393 2001-02-14  Richard Henderson  <rth@redhat.com>
6394
6395         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
6396
6397 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
6398
6399         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
6400
6401 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
6402
6403         * i386-protos.h (ix86_memory_move_cost): Move offline.
6404         * i386.c (ix86_register_move_cost): Compute properly cost of
6405         SSE, MMX and i387 instructions.
6406         (*_cost): Add costs of SSE/MMX moves.
6407         (ix86_memory_move_cost): Move offline from ....; Likewise.
6408         * i386.h (MEMORY_MOVE_COST): .... here;
6409         (struct processor costs): Add new fields to represent costs
6410         of SSE/MMX moves.
6411
6412 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
6413
6414         * regclass.c (init_reg_sets_1): Reinstall the optimization of
6415         move_cost together with Matt Kraai's fix.
6416
6417 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
6418
6419         * Makefile.in (OBJS): Add params.o.
6420
6421 2001-02-14  Richard Henderson  <rth@redhat.com>
6422             DJ Delorie  <dj@redhat.com>
6423
6424         * jump.c (jump_optimize_1): When we delete a conditional jump
6425         preceeding a non-conditional jump to effectively the same place,
6426         make sure that the combined jump skips any clobber insns between
6427         the two labels.
6428
6429 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
6430
6431         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
6432
6433 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
6434
6435         * Makefile.in (toplev.o): Depend on params.h.
6436         (intergate.o): Likewise.
6437         (params.o): New target.
6438         * flags.h (inline_max_insns): Remove.
6439         * integrate.c: Include params.h.
6440         Use MAX_INLINE_INSNS instead of inline_max_insns.
6441         * params.c: New file.
6442         * params.h: Likewise.
6443         * params.def: Likewise.
6444         * toplev.c: Include params.h.
6445         (lang_independent_params): New variable.
6446         (decode_f_option): Use the param machinery instead of setting
6447         max_inline_insns.
6448         (independent_decode_option): Handle "--param name=value".
6449         (main): Register language-independent parameters.
6450
6451 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
6452
6453         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
6454
6455 2001-02-14  Richard Henderson  <rth@redhat.com>
6456
6457         * regclass.c (init_reg_sets_1): Revert last two changes.
6458
6459 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
6460
6461         * stor-layout.c (is_pending_size, put_pending_size): New functions.
6462         (variable_size): Call put_pending_size.
6463         * tree.h (is_pending_size, put_pending_size): Add prototypes.
6464         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
6465         sizes list, put newly created SAVE_EXPR there as well.
6466
6467 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
6468
6469         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
6470         (errata_find_address_regs): load_group has only 2 entries.
6471         (errata_emit_nops): Likewise.  shladd is not problematic.
6472         Clear last_group if nop was emitted.
6473         (fixup_errata): load_group has only 2 entries.
6474         Optimize.
6475
6476 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6477
6478         * c-lex.c (lex_number): Only warn traditionally for U suffix
6479         outside system macros.
6480         * cppexp.c (parse_number): Similarly.
6481         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
6482         * cppmacro.c (struct cpp_macro): New member node.
6483         (parse_args): Only warn about missing rest args if not
6484         a system macro.
6485         (funlike_invocation_p): Similarly for uninvoked funlike macros.
6486         (cpp_sys_objmacro_p): New.
6487         (_cpp_create_definition): Store the node with the macro defn.
6488         Remember if the macro is defined in a system header.
6489
6490 2001-02-13  DJ Delorie  <dj@redhat.com>
6491
6492         * configure.in (check_languages): determine languages to check
6493         * Makefile.in (check-c++): alias for check-g++
6494         (check-f77): alias for check-g77
6495         (CHECK_TARGETS): depend on configured languages
6496
6497 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6498
6499         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
6500         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
6501         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
6502         (sqrtextendsfdf2): Disable for SSE2.
6503
6504 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
6505
6506         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
6507         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
6508         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
6509         (sqrtextendsfdf2): Disable for SSE2.
6510
6511 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
6512
6513         * i386.md (movsfcc_1): Support integer cmove instruction.
6514         (movdfcc_1): Likewise; new splitter.
6515
6516 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
6517
6518         * i386.c (output_fp_compare): Support SSE.
6519         (prepare_fp_compare_args): SSE comparisons always support memory.
6520         * i386.h (TARGET_CMOVE): SSE imply cmove.
6521         * i386.md (cmp?f2): Enable for SSE too.
6522         (cmpfp_i*): Support SSE.
6523         (cmpfp_i_sse): New.
6524         (cmpfp_i_sse_only): New.
6525         (s*, b* fp expanters): Enable for SSE too.
6526         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
6527         New patterns.
6528
6529 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
6530
6531         * regclass.c (init_reg_sets_1): Silence warning.
6532
6533 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
6534
6535         * i386.md (sqrt?f2): Change to expander.
6536         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
6537
6538 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6539
6540         * rtlanal.c (find_reg_equal_equiv_note): New function.
6541         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
6542         (simplify_gen_relational, simplify_replace_rtx): Likewise.
6543         * rtl.h: Add declarations for above functions.
6544
6545 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
6546
6547         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
6548         conditionals.
6549         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
6550         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
6551         * flow.c (mark_regs_live_at_end): Likewise.
6552         (calculate_global_regs_live): Likewise.
6553         * gcse.c (compute_hash_table): Likewise.
6554         (compute_kill_rd): Likewise.
6555         * resource.c (mark_target_live_regs): Likewise.
6556         * rtl.h (INVALID_REGNUM): New macro.
6557
6558 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
6559
6560         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
6561
6562 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
6563
6564         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
6565         for SSE.
6566
6567 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
6568
6569         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
6570         too.
6571         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
6572         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
6573         (fop_sf_1_sse, fop_df_1_sse): New patterns
6574         (fop_*): Disable float_extend and float patterns for SSE compilation.
6575         * i386.c (output_387_binary_op): Support SSE.
6576
6577 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
6578
6579         * i386.md (dummy_extendsfdf2): Support SSE2
6580         (extendsfdf2): Enable if 80387 or SSE2.
6581         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
6582         and no MIX_I387_SSE2
6583         (extendsfdf2_1_sse_only): New pattern.
6584         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
6585         of SSE.
6586         (truncdfsf2_1): Support SSE.
6587         (truncdfsf2_2): Support SSE.
6588         (truncdfsf2_2_1_sse): New pattern.
6589         (fixtruncsfsi2): Always use SSE if available.
6590         (fix_truncsfsi_sse): New pattern.
6591         (fix_truncdfsi_sse): New pattern.
6592         (floatsis?f2): Support SSE.
6593         (floatsidf2_i387): New pattern.
6594         (floatsidf2_sse): Likewise.
6595
6596 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6597
6598         * configure.in: Use "have_gnat" variable, not "gnat".
6599         * configure: Regenerated.
6600
6601         * config/sparc/sparc.c (function_value): Treat all non-record
6602         aggregate types like used to treat UNION_TYPE.
6603
6604 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
6605
6606         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
6607         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
6608         (MASK_SSE2): New.
6609         (MASK_MIX_SSE_I387): New.
6610         (TARGET_SSE): SSE2 imply SSE.
6611         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
6612         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
6613         (enum reg_class): Add new classes.
6614         (REG_CLASS_NAMES): Likewise.
6615         (REG_CLASS_CONTENTS): Likewise.
6616         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
6617         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
6618         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
6619         (CLASS_MAX_NREGS): Use new macros.
6620         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
6621         * i386.md (pushsf, movsf): Support SSE.
6622         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
6623         splitters to use ANY_FP_REGNO_P.
6624         (movdf_nointeger, movdf_integer): Likewise.
6625
6626 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
6627
6628         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
6629         (try_combine): Use it.
6630
6631 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
6632
6633         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
6634         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
6635         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
6636         (REGISTER_MOVE_COST): Likewise.
6637         * i386-protos.h (ix86_secondary_memory_needed,
6638         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
6639         * i386.c (ix86_secondary_memory_needed,
6640         ix86_preferred_reload_class, ix86_register_move_cost): New function.
6641
6642 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6643
6644         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
6645         (HARD_REGNO_MODE_OK): Move offline to ....
6646         * i386.c (ix86_hard_regno_mode_ok) ... here;
6647         refuse all incorrect modes.
6648         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
6649
6650 2001-02-13  Richard Henderson  <rth@redhat.com>
6651
6652         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
6653         entire operator; replicate that and match_dup the operands.
6654         (cmp_ccx_arith_op_set): Likewise.
6655         (cmp_cc_arith_op_not_set): Likewise.
6656         (cmp_ccx_arith_op_not_set): Likewise.
6657
6658 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
6659
6660         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
6661
6662 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
6663
6664         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
6665         (TARGET_NO_BITFIELD_WORD): New macro.
6666         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
6667         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
6668
6669 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6670
6671         * cselib.c: New file, from simplify-rtx.c.
6672         * simplify-rtx.c: Remove cselib parts.
6673         * Makefile.in: Add cselib.o.
6674
6675 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
6676
6677         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
6678         (setup_incoming_varargs): Remove warning.
6679
6680         * config/rs6000/rs6000.c (validate_condition_mode): When
6681         flag_fast_math, allow floating-point conditionals to be reversed.
6682         (rs6000_generate_compare): When flag_fast_math, don't generate
6683         cror operations for FP conditionals.
6684
6685         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
6686         -mcall-i960.
6687         (ASM_SPEC): Likewise.
6688         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
6689         (CC1_SPEC): Likewise.
6690         (LINK_TARGET_SPEC): Likewise.
6691         (CPP_ENDIAN_SPEC): Likewise.
6692         * Makefile.in (check-consistency): New target.
6693
6694 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
6695
6696         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
6697         "return type defaults" warning for functions with return type
6698         defaulting to int.
6699         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
6700         function declarations by default rather than only when pedantic.
6701
6702 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
6703
6704         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
6705         arrays.
6706
6707 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
6708
6709         * extend.texi (Deprecated): Deprecate new initializer lists.
6710
6711 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
6712
6713         * mkdeps.c (deps_add_default_target): Robustify. Add
6714         basename component only.
6715         * cpp.texi (-M): Describe how default target is generated.
6716         * invoke.texi (-M): Likewise.
6717
6718 2001-02-12  Kazu Hirata  <kazu@hxi.com>
6719
6720         * toplev.c (push_float_handler): Remove.
6721         (pop_float_handler): Remove.
6722         * toplev.h: Remove prototypes for the above functions.
6723
6724 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
6725
6726         * c-common.c (constant_fits_type_p): New function.
6727         (convert_and_check): Use it.
6728
6729 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
6730
6731         * Makefile.in (GXX_ABI_FLAG): Don't define.
6732         * configure.in (--enable-new-gxx-abi): Remove option.
6733         * config.in: Regenerated.
6734         * configure: Likewise.
6735
6736 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
6737
6738         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
6739         basic block.
6740         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
6741         regular basic block, and arrange for all edges into it to switch
6742         to normal mode.
6743
6744 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6745
6746         * Makefile.in (distclean): Do not remove .gdbinit.
6747
6748 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
6749
6750         * Makefile.in (gcc.o): Fix typos.
6751         (protize.o): Likewise.
6752         (unprotoize.o): Likewise.
6753
6754 2001-02-11  Richard Henderson  <rth@redhat.com>
6755
6756         * tree.c (build1): Check for null operand in last change.
6757
6758 2001-02-11  Richard Henderson  <rth@redhat.com>
6759
6760         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
6761         (fold): Don't assume a constant isn't foldable.
6762         * tree.c (build): Set TREE_CONSTANT for an expression with no
6763         side-effects and constant operands.
6764         (build1): Likewise.
6765
6766 2001-02-10  Richard Henderson  <rth@redhat.com>
6767
6768         * jump.c (squeeze_notes): Revert 2000-05-12 change.
6769
6770 2001-02-10  Anthony Green  <green@redhat.com>
6771
6772         * cpp.texi (Standard Predefined): Add documentation for
6773         __OPTIMIZE_SIZE__.
6774
6775         * c-common.c (combine_strings): Improve warning message.
6776
6777 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
6778
6779         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
6780         --oformat.
6781         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
6782
6783 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
6784
6785         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
6786         CYGWIN_CROSS_DIR.
6787
6788 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
6789
6790         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
6791         fp_mode attribute.
6792
6793 2001-02-09  Nick Clifton  <nickc@redhat.com>
6794
6795         * config/arm/arm.md: Change output contraint on post inc
6796         load/store multiple patterns to be a read/write contraint.
6797
6798 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6799
6800         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
6801         .o files when using the -M options.
6802
6803 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6804             David Edelsohn  <edelsohn@gnu.org>
6805
6806         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
6807         handle DImode constants.  Use one TOC entry for SImode and smaller
6808         constants, aligned properly.
6809
6810 2001-02-08  Jason Merrill  <jason@redhat.com>
6811
6812         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
6813         about the SP adjustment for saving the static chain pointer.
6814         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
6815         offset when setting a temporary CFA register.
6816
6817 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
6818
6819         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
6820         powerpc-*-chorusos* .
6821         * config/rs6000/chorus.h : New file.
6822         * config/i386/chorus.h : New file.
6823         * config/sparc/chorus.h : New file.
6824         * config/sparc/t-chorus-elf : New file.
6825
6826 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
6827
6828         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
6829         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
6830         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
6831         (__WCHAR_TYPE__): Correct macro name.
6832
6833 2001-02-08  Richard Henderson  <rth@redhat.com>
6834
6835         * config/i386/i386.c (ix86_frame_pointer_required): New.
6836         (ix86_setup_frame_addresses): New.
6837         (struct machine_funciton): Add accesses_prev_frame.
6838         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
6839         ix86_frame_pointer_required.
6840         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
6841         (SETUP_FRAME_ADDRESSES): New.
6842         * config/i386/i386-protos.h: Update.
6843         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
6844         from FRAME_POINTER_REQUIRED.
6845         * config/i386/svr3gas.h: Likewise.
6846         * config/i386/sysv3.h: Likewise.
6847         * config/i386/v3gas.h: Likewise.
6848
6849 2001-02-08  Richard Henderson  <rth@redhat.com>
6850
6851         * config/sparc/sparc.c (function_arg_record_value_3): Fix
6852         calculation of the number of integer registers required.
6853         (function_arg_record_value): Likewise.
6854
6855 2001-02-08  Jason Merrill  <jason@redhat.com>
6856
6857         * diagnostic.c (internal_error): Say "confused" after 1 error, not
6858         two.  Print file and line with "confused" message.
6859
6860         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
6861
6862 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6863
6864         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
6865
6866 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
6867
6868         * final.c (cleanup_subreg_operands): The address of a MEM can
6869         contain SUBREGs.
6870
6871         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
6872         for asms, too.
6873
6874 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
6875
6876         * gcc.texi (Incompatibilities): Update documentation of
6877         preprocessing numbers.
6878
6879 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
6880
6881         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
6882
6883 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
6884
6885         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
6886
6887         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
6888         * gcc.c (struct compiler): Add cpp_spec field.
6889         (input_file_compiler): New variable.
6890         (do_spec_1): Allow a particular compiler to handle `%C'
6891         specially.
6892         (main): Store the current compiler in input_file_compiler.
6893         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
6894
6895 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
6896
6897         * cpphash.h (struct spec_nodes): Add n_true and n_false.
6898         * cppinit.c (cpp_create_reader): Initialize them.
6899         (append_include_chain): cxx_aware arg might be unused.
6900         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
6901         keywords and give them their phase 7 meaning.  Pedwarn about
6902         this unless '__bool_true_false_are_defined' is defined.
6903
6904 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
6905
6906         * lcm.c (optimize_mode_switching): Emit mode_set before the
6907         JUMP_INSN of an abnormal edge.
6908
6909 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
6910
6911         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
6912         a scheduling barrier at the end.
6913
6914         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
6915
6916 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
6917
6918         * config/sh/sh.md (reload_outsf): Removed.
6919         (movsf_ie): Introduce constraints for FPUL loads and stores.
6920         (reload_insf): Broaden the output constraint.
6921
6922         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
6923         defined.
6924         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
6925         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
6926
6927 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
6928
6929         * final.c: Revert my previous changes.
6930         * output.h: Make profile_label_no extern.
6931         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
6932         for generating label.
6933
6934 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
6935
6936         * config/i386/djgpp.h: Add comments about standard paths.
6937         (MD_EXEC_PREFIX): Undefine before defining.
6938         (MD_STARTFILE_PREFIX): New.
6939
6940 2001-01-30  Bruce Korb  <bkorb@gnu.org>
6941
6942         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
6943         (load_file): do not rely on load_file_data() to close file pointer
6944         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
6945         fixinc/inclhack.def(irix_limits_const): add test_text
6946
6947 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6948
6949         * cppexp.c (parse_defined): Improve diagnostics for invalid
6950         syntax.
6951
6952 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6953
6954         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
6955
6956 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
6957
6958         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
6959         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
6960         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
6961         (rs6000_output_symbol_ref): New function.
6962         (output_toc): Use VTABLE_NAME_P.
6963
6964 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6965
6966         * print-tree.c (print_node, case PARM_DECL):
6967         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
6968
6969         * stor-layout.c (reference_types_internal): New variable.
6970         (internal_reference_types): New function.
6971         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
6972         * tree.h (internal_reference_types): New declaration.
6973
6974         * cse.c (find_best_addr): Fix typo in computing cost.
6975
6976 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6977
6978         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
6979         and this is the sum of a pointer and a constant, we know the result
6980         did not overflow.
6981         (num_sign_bit_copies, case PLUS): Likewise.
6982         * explow.c (convert_memory_address): Remove opposite SUBREG.
6983         * function.c (instantiate_new_reg): New function (from common code).
6984         (instantiate_virtual_regs_1): Call it.
6985         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
6986         if pointers sign- or zero-extend.
6987         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
6988         If pointers extend unsigned, use inside of SUBREG.
6989         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
6990
6991 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
6992
6993         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
6994         subdir of gcc_gxx_include_dir.
6995         (gcc_gxx_target_include_dir): Remove.
6996
6997 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
6998
6999         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
7000         (dwarf2out_frame_debug_expr): Revise introductory comments to add
7001         a high-level description.
7002
7003 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
7004
7005         * final.c: Move the declaration of profile_label_no to ...
7006         * output.h: ... here.
7007         * function.c (expand_function_start): Call PROFILE_HOOK.
7008         * config/rs6000/aix.h: Define PROFILE_HOOK.
7009         * config/rs6000/rs6000-protos.h: output_profile_hook new.
7010         * config/rs6000/rs6000.c (output_profile_hook): Define.
7011         (output_prolog): Do nothing for ABI_AIX as it is taken care by
7012         output_profile_hook.
7013         tm.texi : Explain new macro PROFILE_HOOK.
7014
7015 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
7016
7017         * extend.texi (Extended Asm): Do not say that semicolon is always
7018         a valid line-breaking character for GNU assemblers.  Use
7019         newline-tab as the most commonly supported syntax.  Use
7020         newline-tab rather than semicolon in multi-insn examples.
7021
7022 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7023
7024         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
7025
7026 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7027             David Edelsohn  <edelsohn@gnu.org>
7028
7029         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
7030         code for AIX, even without flag_pic.
7031
7032 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
7033
7034         * c-typeck.c (common_type): push and pop binding level around
7035         calling common_type on function parameters.
7036
7037 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
7038
7039         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
7040
7041 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7042
7043         * config/mips/mips.c (override_options): Fix typo in last change.
7044         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
7045         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
7046
7047 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
7048
7049         * invoke.texi (-fdump-class-layout): Document.
7050         (-fdump-translation-unit): Use `=' as filename separator.
7051
7052 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
7053
7054         * Makefile.in (s-mlib): Don't build multilibs if
7055         --disable-multilib.
7056         (DRIVER_DEFINES): Adjust accordingly.
7057         (gcc.o): Likewise.
7058         (protoize.o): Likewise.
7059         (unprotoize.o): Likewise.
7060         * configure.in: Recognize --enable-multilib.
7061
7062 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
7063
7064         * Makefile.in (DRIVER_DEFINES): Fix quoting.
7065
7066         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
7067         * configure.in: Remove --enable-libstdcxx_v3 support.
7068         * configure: Regenerated.
7069
7070 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7071
7072         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7073         Call abort instead of fatal.
7074         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
7075         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
7076         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
7077         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
7078         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
7079         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
7080
7081         * diagnostic.h (set_internal_error_function): Renamed.
7082         * toplev.h (internal_error): Renamed from fatal.
7083         (pfatal_with_name): Deleted.
7084         (fatal_io_error): Now has printf-style arguments.
7085         * diagnostic.c (pfatal_with_name): Deleted.
7086         (fatal_io_error): Rework to have args in printf-style.
7087         (set_internal_error_function): Renamed from set_fatal_function.
7088         (internal_error): Renamed from fatal.
7089         (error_recursion, fancy_abort): Call internal_error instead of fatal.
7090         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
7091         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
7092         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
7093         * flow.c (verify_flow_info): Likewise.
7094         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
7095         * config/mips/mips.c (save_restore_insns): Likewise.
7096
7097         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
7098         * flow.c (verify_flow_info): Likewise.
7099         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
7100         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
7101         (avr_normalize_condition): Likewise.
7102         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
7103         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
7104         (limit_reload_class, double_reg_to_memory): Likewise.
7105         (print_operand_address, emit_1600_code_shift): Likewise.
7106         (gen_tst_reg, gen_compare_reg): Likewise.
7107         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
7108         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
7109         Deleted.
7110         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
7111
7112         * c-parse.in (methoddef): Call fatal_error instead of fatal.
7113         * objc/objc-act.c (build_ivar_chain): Likewise.
7114         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
7115         pfatal_with_name.
7116         * graph.c (clean_graph_dump_file): Likewise.
7117         * profile.c (init_branch_prob): Likewise.
7118         * objc/objc-act.c (objc_init): Likewise.
7119
7120         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
7121         * config/avr/avr.c (avr_override_options): Likewise.
7122         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
7123         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
7124         * config/h8300/h8300.c (h8300_init_once): Likewise.
7125         * config/mips/mips.c (override_options): Likewise.
7126         * config/i386/i386.c (override_options): Likewise, rework.
7127         * config/m68k/m68k.c (override_options): Likewise.
7128
7129         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
7130         instead of fatal.
7131         * config/mips/mips.c (print_operand): Likewise.
7132         * hash.c (hash_allocate): Don't check for failure returns from
7133         obstack functions that can't fail.
7134         (hash_table_init_n, hash_table_init): Likewise; also now return void.
7135         * hash.h (hash_table_init_n, hash_table_init): Now return void.
7136         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
7137         (get_object_reference): Likewise.
7138
7139 2001-02-04  Nick Clifton  <nickc@redhat.com>
7140
7141         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
7142         StrongARM1110, 10TDMI, and 1020T.
7143
7144 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7145
7146         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
7147
7148 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
7149
7150         * config/sh/sh.md (movdf load split): Pass register number to
7151         FP_OR_XD_REGISTER_P.
7152
7153 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
7154
7155         * cppinit.c (BC): New macro.
7156         (builtin_array): Add __GXX_WEAK__.
7157         * cpplib.h (builtin_type): Add BT_WEAK.
7158         * cppmacro.c (builtin_macro): Handle BT_WEAK.
7159         * defaults.h (SUPPORTS_ONE_ONLY): Define.
7160         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
7161
7162 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
7163
7164         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
7165
7166 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7167
7168         * cpphash.h: Rename _ALIGN POOL_ALIGN.
7169         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
7170
7171 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7172
7173         * cpphash.h: Rename ALIGN _ALIGN.
7174         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
7175
7176 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
7177
7178         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
7179         compilation environment.
7180         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
7181         control over location of cygwin includes and libs.
7182
7183 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
7184
7185         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
7186
7187 2001-02-02  lars brinkhoff  <lars@nocrew.org>
7188
7189         * md.texi (Standard Names): remove reference to spur.md.
7190
7191 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
7192
7193         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
7194         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
7195         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
7196         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
7197         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
7198
7199 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7200
7201         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
7202         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
7203         number before reload.
7204         (c4x_adjust_cost): Return zero before reload.
7205         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
7206         split before reload.
7207
7208 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7209
7210         * c4x.c (c4x_hard_regno_rename_ok): New.
7211         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
7212         * c4x.h (HARD_REGNO_RENAME_OK): Define.
7213
7214 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7215
7216         * diagnostic.h: Add missing "extern" in all declarations.
7217
7218 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
7219
7220         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
7221         as for gcc_gxx_include_dir.
7222
7223 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7224
7225         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
7226
7227 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
7228
7229         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
7230         label before alignment to be used as the braf base address.
7231         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
7232         branches.
7233         (casesi_jump_2): Require at least TARGET_SH2.
7234
7235         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
7236         truncation to 32-bit doubles on -m3e and -m4-single-only.
7237
7238 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
7239
7240         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
7241         the default when building a shared object.
7242         (init_spec): Use it.
7243         * testsuite/lib/g++.exp: Include the directory where libgcc
7244         is located to the LD_LIBRARY_PATH list.
7245         * invoke.texi (-shared-libgcc): Document the cases in which
7246         GCC defaults to using the shared libgcc.
7247
7248 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
7249
7250         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
7251         unsigned is wide enough.
7252         (BITS_PER_SI): New.
7253         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
7254         (si_to_float): Likewise.
7255         (float_to_si, float_to_usi): Use BITS_PER_SI.
7256
7257 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
7258
7259         * dwarf2out.c: Added explanation of abbreviations.
7260         (def_cfa_1): Added comments listing DWARF2 instructions.
7261         (cfa_temp_reg): Removed in favor of cfa_temp.
7262         (cfa_temp_value): Removed in favor of cfa_temp.
7263         (cfa_temp): New global variable.
7264         (dwarf2out_frame_debug_expr): Added extensive introductory
7265         comments explaining the function's transformations.  Revised to
7266         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
7267         (dwarf2out_frame_debug): Revised to use cfa_temp.
7268         (output_aranges): Cast as "unsigned" to avoid warning.
7269         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
7270         explain which instructions must be marked.
7271
7272 2001-02-01  Richard Henderson  <rth@redhat.com>
7273
7274         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
7275         new instruction.
7276
7277 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
7278
7279         * config/sh/crt1.asm (main_k): Modified so that start calls
7280         ___setup_argv_and_call_main.
7281
7282 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7283
7284         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
7285         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
7286         and AVOID_LPASTE is cleared on meeting an unescaped newline.
7287         * cppmacro.c (builtin_macro): Set builtin flags here.
7288         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
7289         (replace_args): Clarify intent.
7290         (cpp_get_token): Macro expansion tokens get the saved flags.
7291         Update.
7292         * cppmain.c (scan_buffer): Remove now-redundant print.printed
7293         check.
7294
7295 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
7296
7297         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
7298         2001-Jan-29.
7299
7300 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7301
7302         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
7303         returns Pmode pseudo, but we need ptr_mode.
7304         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
7305         Remove bogus conversions; use HOST_WIDE_INT for size.
7306         Don't use TARGET if wrong mode.
7307
7308         * config/i386/i386.c (ix86_compute_frame_size): Allow
7309         stack_alignment_needed to be non-default even if size is zero.
7310
7311 2001-01-31  Alan Modra <alan@linuxcare.com.au>
7312
7313         * pa.c (hppa_init_pic_save): New function.
7314         * pa.h (hppa_init_pic_save): Declare.
7315         * pa.md (call, call_value, sibcall, sibcall_value): Use
7316         the above instead of duplicated code.
7317
7318         * pa.c (hppa_encode_label): Correct size of alloca buffer
7319         so we don't overrun it.  Correct leading `*' case.
7320         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
7321         need to handle `*@'.
7322         (FUNCTION_NAME_P): Likewise.
7323
7324 2001-01-31  Richard Henderson  <rth@redhat.com>
7325
7326         * config.gcc (alpha-osf5): Use float-i128.h.
7327
7328         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
7329         * config/float-i32.h: Likewise.
7330         * config/float-i64.h: Likewise.
7331         * config/float-sh.h: Likewise.
7332         * config/float-sparc.h: Likewise.
7333
7334 2001-01-31  DJ Delorie  <dj@redhat.com>
7335
7336         * expmed.c (extract_bit_field): allow non-integral modes if we
7337         want to extract a whole register from itself.
7338
7339 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
7340
7341         * c-typeck.c (set_init_index): If first is equal to last, assume as
7342         if it was not a range at all.
7343
7344 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
7345
7346         * config/fp-bit.c: Include tm.h.
7347         (float_to_si): Don't assume SImode is 32-bits wide.
7348         (float_to_usi): Likewise.
7349
7350 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
7351
7352         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
7353         incomplete type.
7354         (typename): Call pending_xref_error after parsing typed_typespecs.
7355         * c-decl.c (lookup_tag): Give error immediately rather than
7356         leaving it pending if the tag of the wrong type is in the same
7357         binding level.
7358         (xref_tag): Don't pedwarn for forward declarations of enum types
7359         here.
7360         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
7361         and enum tags.
7362
7363 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
7364
7365         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
7366
7367 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
7368
7369         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
7370         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
7371
7372 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
7373
7374         * cpphash.h (struct cpp_reader): New saved_flags.
7375         * cppmacro.c (cpp_get_token): Use saved_flags to remember
7376         to avoid a paste after a pasted token.
7377
7378 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
7379
7380         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
7381         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
7382         Wtype_MIN instead of LONG_MIN.
7383
7384 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
7385
7386         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
7387         README file.
7388         * fixinc/fixincl.x: Regenerated.
7389         * fixinc/inclhack.def (irix_limits_const): New definition to
7390         convert "const" to "__const" in limits.h.
7391
7392 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
7393
7394         * fixinc/genfixes (AG): Fix "autogen4" thinko.
7395
7396 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
7397
7398         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
7399         when register dies in the insn.
7400
7401 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
7402
7403         * diagnostic.c (fatal): Fix word wrap.
7404
7405 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
7406
7407         * combine.c (try_combine): Fix SUBREG setting for
7408         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
7409
7410 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7411
7412         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
7413         comparison codes.
7414
7415 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
7416
7417         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
7418         is not NULL.
7419         * toplev.c (decode_W_option): Update warn_larger_than
7420         unconditionally for each processed switch.
7421
7422 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7423
7424         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
7425         to NULL_RTX.
7426         (hppa_expand_prologue): Delete code to save pic offset table register
7427         in the function prologue.
7428         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
7429         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
7430         table register at the beginning of the function after the prologue.
7431
7432 2001-01-29  lars brinkhoff  <lars@nocrew.org>
7433
7434         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
7435
7436 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7437             Jeff Law <law@redhat.com>
7438
7439         * pa.md (return): Revise comment for trivial return.
7440         (return_internal): Non-trivial return pattern for non-PIC code.
7441         (return_internal_pic): Non-trivial return pattern for PIC code.
7442         It uses the PIC register to ensure it is restored after
7443         function calls.
7444         (epilogue): Generate appropriate return for PIC and non-PIC code.
7445
7446 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
7447
7448         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
7449
7450 2001-01-29  DJ Delorie  <dj@redhat.com>
7451
7452         * combine.c (if_then_else_cond): Pass the correct mode to
7453         operand_subword() for constants.
7454
7455 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
7456
7457         * config/i386/cygwin.h: Add w32api to include search.  Search different
7458         directories in a cross-build environment.
7459
7460 2001-11-29  Tim Josling  <tej@melbpc.org.au>
7461
7462         * tree.h (TYPE_STUB_DECL): Add documentation.
7463
7464 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
7465
7466         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
7467         (sdbout_field_types): Likwise.  Fix use of host_integerp.
7468
7469 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
7470
7471         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
7472         cygwin.h.
7473
7474 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
7475
7476         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
7477         to use flag_gnu_linker.
7478
7479 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
7480
7481         * cpplib.c (T_BAD_DIRECTIVE): Remove.
7482         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
7483
7484 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7485
7486         * tree.c, tree.h (build_parse_node): Remove; was identical to
7487         build_nt.
7488         * c-lang.c (start_cdtor), objc/objc-act.c
7489         (build_module_descriptor): Use build_nt instead of
7490         build_parse_node.
7491
7492 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
7493
7494         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
7495         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
7496         not have any upper bits set.
7497
7498 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
7499
7500         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
7501
7502 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7503
7504         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
7505
7506         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
7507
7508         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
7509         (integer_minus_one_node): Define.
7510
7511 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
7512
7513         * Makefile.in (bootstrap2-lean): Fix typo.
7514
7515 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
7516
7517         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
7518         : Don't set fe_value.
7519         * cpplib.h (AVOID_LPASTE): New flag.
7520         (struct cpp_hashnode): Remove fe_value.
7521         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
7522         * cppmacro.c (builtin_macro): Don't set flags here.
7523         (replace_args): Set AVOID_LPASTE flag on first token of an
7524         argument, and the token following it.
7525         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
7526         macro expansion, and on the token following it.  Do it for
7527         builtins too.
7528         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
7529
7530 2001-01-27  Richard Henderson  <rth@redhat.com>
7531
7532         * config/alpha/t-ieee: Remove multilibbing.
7533         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
7534
7535 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7536
7537         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
7538
7539         * Makefile.in: Remove all dependencies on defaults.h.
7540         * builtins.c: Don't include defaults.h.
7541         * c-common.c: Likewise.
7542         * c-decl.c: Likewise.
7543         * c-pragma.c: Likewise.
7544         * c-typeck.c: Likewise.
7545         * combine.c: Likewise.
7546         * i386.c: Likewise.
7547         * frame-ia64.c: Likewise.
7548         * cppexp.c: Likewise.
7549         * crtstuff.c: Likewise.
7550         * dbxout.c: Likewise.
7551         * dwarf2out.c: Likewise.
7552         * dwarfout.c: Likewise.
7553         * emit-rtl.c: Likewise.
7554         * except.c: Likewise.
7555         * expr.c: Likewise.
7556         * final.c: Likewise.
7557         * frame-dwarf2.c: Likewise.
7558         * libgcc2.c: Likewise.
7559         * optabs.c: Likewise.
7560         * profile.c: Likewise.
7561         * sdbout.c: Likewise.
7562         * toplev.c: Likewise.
7563         * tradcif.y: Likewise.
7564         * tree.c: Likewise.
7565         * varasm.c: Likewise.
7566
7567 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7568
7569         * builtins.c (expand_builtin_fputs): Use size_one_node when
7570         transforming into fwrite.
7571
7572 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
7573
7574         * extend.texi (Attribute Syntax): New section.
7575
7576 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
7577
7578         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
7579         they didn't need fixing.
7580
7581 2001-01-27  Janis Johnson <janis@us.ibm.com>
7582
7583         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
7584         if appropriate.
7585         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
7586         to remove macro definitions that are duplicated from elfos.h.
7587
7588 2001-01-27  Richard Henderson  <rth@redhat.com>
7589
7590         * config/i386/sco5gas.h: Move ...
7591         * config/usegas.h: ... here.
7592         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
7593
7594 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
7595
7596         * c-typeck.c (struct constructor_stack): Add range_stack member.
7597         (really_start_incremental_init): Clear it.
7598         (push_init_level): Save constructor_range_stack and clear it if
7599         pushing explicit braces.
7600         (pop_init_level): abort if constructor_range_stack is non-zero at
7601         explicit closing brace.  Restore saved constructor_range_stack if
7602         not implicit.
7603
7604 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
7605
7606         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
7607         into register was forced into memory.
7608
7609 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
7610
7611         * Makefile.in: Remove uses of + before $(MAKE).
7612
7613 2001-01-26  Richard Henderson  <rth@redhat.com>
7614
7615         * stmt.c (cost_table): Remove.
7616         (COST_TABLE, cost_table_initialized): New.
7617         (estimate_case_costs): Use the later instead of the former.
7618         (balance_case_nodes): Likewise.
7619
7620 2001-01-26  Richard Henderson  <rth@redhat.com>
7621
7622         * alias.c (objects_must_conflict_p): Read-only slots may not
7623         conflict despite having the same type.
7624
7625 2001-01-27  Michael Hayes  <mhayes@redhat.com>
7626
7627         * loop.c (loop_giv_reduce_benefit): Copy mode size into
7628         int variable.
7629         (check_ext_dependant_givs): Initialise u_start_val and
7630         u_end_val.
7631         (load_mems): Make last_max_reg unsigned.
7632         (try_swap_copy_prop): Use INSN_P and initialise set.
7633
7634 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
7635
7636         * README.AVR : Removed.
7637
7638 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
7639
7640         * pa-64.h (text_section): Remove declaration.
7641
7642         * pa.md (return_internal): Remove mode on PIC register use.
7643
7644 2001-01-25  lars brinkhoff  <lars@nocrew.org>
7645
7646         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
7647         ASM_CLOSE_PAREN): fix typos.
7648
7649 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
7650
7651         * acconfig.h: Define `const' to the empty string if neither
7652         __STDC__ nor __cplusplus is defined.
7653         * config.in: Regenerated.
7654
7655 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
7656
7657         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
7658         * collect2.c (main): Delete importf.  Add ".obj" file extension.
7659         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
7660         (aix_std_libs): Add additional AIX libraries to skip.
7661         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
7662         * config/rs6000/aix51.h: New file.
7663
7664 2001-01-25  Michael Hayes  <mhayes@redhat.com>
7665
7666         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
7667         (loop_insn_emit_before): No longer static.
7668         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
7669         (loop_givs_rescan, load_mems): Likewise.
7670         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
7671         (maybe_eliminate_biv_1):
7672         (move_movables): Replace emit_call_insn_before with
7673         loop_call_insn_hoist.
7674         * loop.h (loop_insn_emit_before): Add.
7675         * unroll.c (copy_loop_body): Replace emit_insn_before with
7676         loop_insn_emit_before.
7677
7678 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
7679
7680         * diagnostic.c (fatal): Request preprocessed source.
7681
7682 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
7683
7684         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
7685         olddecl has argument types and newdecl has none, use the argument
7686         types from olddecl.
7687
7688 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
7689
7690         * dwarf2out.c (prefix_of): New function.  Determine longest common
7691         prefix of the two arguments.  The units are whole path components.
7692         (output_file_names): When adding a new directory find the one entry
7693         with the longest common prefix already in the list.  Artificially
7694         generate entry if there is none for this prefix.
7695         Fix test to check whether the zeroth directory entry is used.
7696
7697 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
7698
7699         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
7700         Changed all callers.  Take it into account when deciding if a
7701         previously loaded value matches.
7702
7703 2001-01-24  Richard Henderson  <rth@redhat.com>
7704
7705         * reload.c (find_reloads_subreg_address): Fail the substitution
7706         if the resulting address is insufficiently aligned.
7707
7708 2001-01-24  DJ Delorie  <dj@redhat.com>
7709
7710         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
7711         check the original operand's mode also.
7712         * simplify-rtx.c (simplify_ternary_operation): Ditto.
7713
7714 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
7715
7716         * c-parse.in (cast_expr): Move compound literals from here ...
7717         (primary): ... to here.  Use standard terminology "compound
7718         literal" instead of "constructor expression".
7719
7720 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
7721
7722         * gcc.1, cpp.1: Regenerate.
7723
7724 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
7725
7726         * calls.c (emit_library_call_value_1): Memory slot for
7727         pass-by-reference argument should have the mode of the argument,
7728         not of the pointer to it.
7729
7730 2001-01-24  Tom Tromey  <tromey@redhat.com>
7731
7732         * gcc.texi (G++ and GCC): Mention gcj manual.
7733         (Standards): Link to section of manual mentioning gcj/Java
7734         compatibility.
7735
7736 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
7737
7738         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
7739         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
7740         * tradcpp.c (main): Add -imacros or -include'd dependencies
7741         for -M*.
7742         * cpp.texi (-M, -MM): Document -M -include behaviour.
7743
7744 2001-01-24  Roger Collins <roger@ProProject.com>
7745
7746         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
7747
7748 2001-01-24  Will Cohen  <wcohen@redhat.com>
7749
7750         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
7751         whether registers are 32 bits or 64 bits in size.
7752
7753 2001-01-24  Ben Elliston  <bje@redhat.com>
7754
7755         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
7756
7757 2001-01-24  Richard Henderson  <rth@redhat.com>
7758
7759         * config/alpha/alpha.md (builtin_longjmp_internal): New.
7760         (builtin_longjmp): Use it instead of emit_indirect_jump.
7761
7762 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7763
7764         * bb-reorder.c (make_reorder_chain_1): Handle case where
7765         jump edge goes to the same block as the fallthru edge.
7766
7767 2001-01-23  Jim Wilson  <wilson@redhat.com>
7768
7769         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
7770         * frame.h (__ia64_personality_v1): Add prototype.
7771         * libgcc2.c (ia64_throw_helper): Change personality declaration to
7772         prototype form.  Add void * cast to first argument to personality
7773         call.
7774         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
7775         (asctoe113): Likewise.
7776         * config/ia64/frame-ia64.c: Include eh-common.h.
7777         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
7778         prototypes.
7779         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
7780         to dump parameter.
7781         (itanium_split_issue): Add prototype.
7782         (gen_nop_type): Ifdef out.
7783         (find_best_packet): Initialize best_packet.
7784         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
7785         result.
7786         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
7787         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
7788         (flushrs): Add explicit stop bit at end.
7789         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
7790         trailing \ to >.
7791
7792 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
7793
7794         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
7795         of EH symbols.
7796         * libgcc2.c (__terminate_func): Make variable static.
7797         (__terminate_set_func): New function to set __terminate_func.
7798         * libgcc2.h (__terminate_func_ptr): New typedef.
7799         (__terminate_set_func): New function.
7800
7801 2001-01-23  Richard Henderson  <rth@redhat.com>
7802
7803         * flow.c (init_propagate_block_info): Don't consider unchanging
7804         memories for dead frame store elimination.
7805
7806 2001-01-23  Richard Henderson  <rth@redhat.com>
7807
7808         * varasm.c (UNIQUE_SECTION): Move default implementation ...
7809         * defaults.h: ... here.
7810
7811 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7812
7813         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
7814
7815 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
7816
7817         * c-lex.c (lex_charconst): Fix typo: s/p/str.
7818
7819 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7820
7821         * rs6000.h (rs6000_return_addr): Move prototype from here...
7822         * rs6000-protos.h (rs6000_return_addr): ...to here.
7823         (rs6000_init_expanders): Delete prototype.
7824
7825 2001-01-23  Nick Clifton  <nickc@redhat.com>
7826
7827         * invoke.texi: Replace , with \, inside @gccoptlist macros.
7828         (Spec Files): Document %B and %j and %. and %v3 and %M and
7829         %{S*&T} spec switches.
7830
7831 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7832
7833         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
7834
7835 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
7836             Neil Booth  <neil@daikokuya.demon.co.uk>
7837
7838         * cpperror.c: Merge handlers of PEDWARN and WARNING.
7839         Have -Werror make pedantic warnings errors, like the
7840         rest of GCC.
7841
7842 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
7843
7844         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
7845
7846 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
7847
7848         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
7849         * integrate.c (expand_inline_function): Initialize them.
7850         (subst_constants): If changing COMPARE so that both its arguments
7851         will be VOIDmode and the comparison mode will be lost, note
7852         compare_mode.  Use the recorded compare_mode to optimize
7853         IF_THEN_ELSE.
7854
7855 2001-01-23  Jason Merrill  <jason@redhat.com>
7856
7857         * dwarf2out.c (new_die): Use xcalloc.
7858         (output_die): Abort rather than emit a local reference to offset 0.
7859
7860 2001-01-17  Andrew Haley  <aph@redhat.com>
7861
7862         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
7863         of a saved register; return NULL instead.
7864         (copy_reg): Take a pointer to a source register rather than a
7865         frame_state.
7866         (next_stack_level): Remember the address in the stack frame of all
7867         saved registers.
7868         Use the saved register pointer array as the source of the CFA.
7869         (throw_helper): Rewrite.  Unwind once rather than twice and keep
7870         track of saved registers as we go.
7871
7872 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7873
7874         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
7875         * c4x.c (c4x_legitimize_reload_address): Remove.
7876         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
7877         reload address for ldp(k) insn.
7878
7879 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
7880
7881         * pa.md (return_internal): Add a USE of the PIC register to ensure
7882         it is restored after each call.
7883         (return expander): Corresponding changes.
7884
7885 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7886
7887         * rs6000.h (INIT_EXPANDERS): Delete.
7888         (RETURN_ADDR_RTX): Call rs6000_return_addr().
7889         * rs6000.c (rs6000_override_options): Call *_machine_status from
7890         here...
7891         (rs6000_init_expanders): ...instead of here. Delete.
7892         (rs6000_mark_machine_status): New function.
7893         (rs6000_init_machine_status): Use xcalloc.
7894         (rs6000_return_addr): Generate RTX for the return address.
7895         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
7896         (rs6000_stack_info): Use it.
7897
7898 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
7899
7900         * gthr-win32.h: Include errno.h to get a declaration for
7901         EINVAL and _mingw.h if the target is mingw32.
7902
7903 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
7904
7905         * cpp.texi: Correct typos.
7906
7907 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7908
7909         * explow.c (probe_stack_range): Ensure value passed to
7910         stack_check_libfunc is ptr_mode, not Pmode.
7911
7912 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
7913
7914         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
7915         case, don't use operand_subword to calculate a SUBREG that is
7916         wider than a word.
7917
7918         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
7919
7920 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7921
7922         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
7923         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
7924         valid.  If not replace it by equivalent insns.
7925
7926 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7927
7928         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
7929         contains SYMBOL_REF, LABEL_REF and CONST_INT.
7930         (c4x_U_constraint, symbolic_address_operand): Likewise.
7931         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
7932         memory.
7933         (c4x_r11_set_p, c4x_check_laj_p): New functions.
7934         * c4x-protos.h (c4x_check_laj_p): Add prototype.
7935         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
7936         anulling slot because of silicon bug.
7937         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
7938
7939 2001-01-22  Alan Modra <alan@linuxcare.com.au>
7940
7941         * cppexp.c (parse_charconst):  Change `mask' type to agree
7942         with parse_escape.
7943
7944 2001-01-21  Richard Henderson  <rth@redhat.com>
7945
7946         * config/i386/i386.c (ix86_asm_file_end): Disable putting
7947         pic_label_name in a linkonce section.
7948
7949 2001-01-17  Philipp Thomas  <pthomas@suse.de>
7950
7951         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
7952         found in libintl.
7953         * configure: Regenerate.
7954
7955 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
7956
7957         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
7958         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
7959
7960 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
7961
7962         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
7963         If REVERSE nonzero then condition code in X must be reversed.
7964         (encode_section_info): Optimise if/else.
7965         (avr_function_value): Fix formatting.
7966
7967         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
7968         (difficult_branch): Likewise.
7969         (rvbranch): Likewise.
7970         (difficult_rvbranch): Likewise.
7971
7972         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
7973
7974         * config/avr/libgcc.S: Fix comment.
7975
7976 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
7977
7978         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
7979
7980 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
7981
7982         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
7983
7984 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
7985
7986         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
7987         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
7988         * configure, config.in: Regenerate.
7989         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
7990         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
7991         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
7992         (doprint.o): New rule.
7993
7994 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
7995
7996         * c-typeck.c (digest_init): Handle boolean types as scalars.
7997
7998 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7999
8000         * stmt.c (expand_return): Don't return anything if size is zero.
8001         Delete redundant assignment to BYTES.
8002         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
8003
8004 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
8005
8006         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
8007         the same as the default library function names.
8008         * config/avr/avr.md: Document special characters after '%'.
8009         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
8010         knowing which of the call-used registers are really clobbered.
8011         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
8012         New.  Both quotient and remainder from one libgcc.S call.
8013         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
8014         clobber as few registers as possible.
8015         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
8016
8017 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8018
8019         * cppmacro.c (funlike_invocation_p): Don't move back up to the
8020         context of the top of the stack.
8021
8022 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
8023
8024         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
8025         (fixup_var_refs_insns): ...here.
8026
8027 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
8028
8029         * function.c (fixup_var_refs_insns): Break up into
8030         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
8031         [loop over entire insn list], and fixup_var_refs_insns_with_hash
8032         [loop over hash table entries].
8033         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
8034         fixup_var_refs_insns_with_hash, to match above changes.
8035
8036 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8037
8038         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
8039         (libgcc.a): Likewise.
8040         (stmp-multilib): Likewise.
8041         (STAGE2_FLAGS_TO_PASS): Likewise.
8042
8043 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
8044
8045         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
8046         temporary if no_new_pseudos.
8047
8048 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8049
8050         * cppinternals.texi: Update.
8051
8052 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
8053
8054         * arm.c (arm_init_builtins): Re-enable builtins.
8055
8056 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8057
8058         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
8059         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
8060         element to be null, and always expect an EXPR_LIST.
8061         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
8062         * sched-deps.c (sched_analyze_1): Likewise.
8063         * sched-rgn.c (check_live_1, update_live_1): Likewise.
8064
8065         * regclass.c (max_set_parallel): New variable.
8066         (reg_scan): Take it into account in computation of max_parallel.
8067         (reg_scan_mark_refs, case SET): Compute it.
8068
8069         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
8070         args are REG.
8071         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
8072         * function.c (assign_parms): Use INTVAL for a CONST_INT.
8073
8074 2001-01-19  Jason Merrill  <jason@redhat.com>
8075
8076         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
8077         for the abstract instance of an inline function.
8078
8079 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
8080                           J"orn Rennecke <amylaar@redhat.com>
8081
8082         * reload1.c (move2add_note_store): Treat all registers directly or
8083         indirectly derived from a base register as members of the same set
8084         of values.
8085         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
8086         of base register into account.
8087
8088 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
8089
8090         * alias.c (find_base_value): Recognize TRUNCATE.
8091         (record_set): In PLUS case, invalidate if other summand is also a
8092         base value.
8093
8094 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8095
8096         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
8097         entry to be EXPR_LIST.
8098         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
8099         be an EXPR_LIST (but not null, which other code doesn't allow).
8100         (note_stores): Properly handle PARALLEL in SET.
8101         Recursively call for top-level PARALLEL.
8102         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
8103         * sched-rgn.c (check_live_1, update_live_1): Likewise.
8104
8105         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
8106
8107 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
8108
8109         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
8110         not pfile->skipping (== 0).
8111
8112 2001-01-17  Nick Clifton  <nickc@redhat.com>
8113
8114         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
8115         machine_status.
8116
8117 2001-01-17  Jim Wilson  <wilson@redhat.com>
8118
8119         * invoke.texi (IA-64 options): Improve.
8120
8121 2001-01-17  Tom Tromey  <tromey@redhat.com>
8122
8123         * invoke.texi (Optimize Options): Use `{}' to around @samp
8124         argument.
8125
8126 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
8127
8128         * invoke.texi (-fno-guess-branch-probability): New option.
8129
8130 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8131
8132         * combine.c (try_combine): Don't set i3_subst_into_i2 for
8133         case of making new double-word constant.
8134         Revert last change: instead just test i3_subst_into_i2.
8135
8136 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
8137
8138         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
8139         Use q constraints instead of r.
8140
8141 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
8142
8143         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
8144         (machine_function): Define.
8145         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
8146         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
8147         pa_free_machine_status): New functions.
8148         (override_options): Set {init,mark,free}_machine_status to above.
8149         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
8150         PIC_OFFSET_TABLE_REGNUM_SAVED.
8151         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
8152         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
8153         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
8154         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
8155         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8156
8157 2001-01-15  DJ Delorie  <dj@redhat.com>
8158
8159         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
8160         (cpp.1): Ditto.
8161         (gcc.1): Ditto.
8162
8163 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8164
8165         * flow.c (propagate_on_insn): Make trying to delete a prologue
8166         or epilogue insn an ICE, not a warning.  Allow doing this if
8167         the current function returns with stack pointer depressed.
8168
8169         * combine.c (try_combine): If i3_subst_into_i2, properly check for
8170         I3 having more than one SET.
8171
8172 2001-01-16  Jim Wilson  <wilson@redhat.com>
8173
8174         * invoke.texi: Document IA-64 options.
8175
8176         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
8177         (fixup_errata): Delete TARGET_A_STEP use.
8178         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
8179         (TARGET_SWITCHES): Delete -ma-step option.
8180         * config/ia64/ia64.md (all FP patterns): Delete %B0.
8181         (movqicc_astep, movqi_internal_astep, movhicc_astep,
8182         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
8183         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
8184         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
8185         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
8186         Delete.
8187         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
8188         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
8189         cmovsi_internal): Delete ! TARGET_A_STEP check.
8190
8191 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8192
8193         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
8194         possibility to report bugs via postal mail. Change a URL and
8195         merge in a nearly duplicate statement...
8196         (Bug Reporting): ...from here.
8197         (Service): Refer to the Bug Reporting section instead of
8198         duplicating an URL.
8199         (Contributing): Remove trivial explanations concerning snapshots.
8200
8201 2001-01-16  Alan Modra <alan@linuxcare.com.au>
8202
8203         * cppmain.c (general_init): Don't use ANSI prototype.
8204
8205 2001-01-16  Tom Tromey  <tromey@redhat.com>
8206
8207         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
8208
8209 2001-01-16  Richard Henderson  <rth@redhat.com>
8210
8211         * config/i386/i386.h: Fix comment typo.
8212         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
8213         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
8214
8215 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
8216
8217         * gcc.c:  Revert previous -fsyntax-only-related change; move
8218         to cp/g++spec.c.
8219
8220 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
8221
8222         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
8223         inmode after checking GET_CODE (op).
8224
8225 2001-01-16  Richard Henderson  <rth@redhat.com>
8226
8227         * flow.c (struct propagate_block_info): Add mem_set_list_len.
8228         (MAX_MEM_SET_LIST_LEN): New.
8229         (propagate_one_insn): Update mem_set_list_len.
8230         (invalidate_mems_from_autoinc): Likewise.
8231         (invalidate_mems_from_set): Likewise.
8232         (mark_used_regs): Likewise.
8233         (init_propagate_block_info): Likewise.  Stop collecting memories
8234         when we reach MAX_MEM_SET_LIST_LEN.
8235         (mark_set_1): Likewise.
8236
8237 2001-01-16  Richard Henderson  <rth@redhat.com>
8238
8239         * unroll.c (precondition_loop_p): Fail if no iteration
8240         variable found.
8241
8242 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
8243
8244         * gcc.c:  When -fsyntax-only is given, do not complain about
8245         unused libraries.
8246
8247 2001-01-15  Richard Henderson  <rth@redhat.com>
8248
8249         * config/i386/i386.c (asm_output_function_prefix): Remove.
8250         (ix86_asm_file_end): New.
8251         (load_pic_register): Generate pic_label_name into a
8252         staticly allocated buffer.
8253         * config/i386/i386-protos.h: Update.
8254         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
8255         (ASM_FILE_END): New.
8256         * config/i386/i386afe.h: New file.
8257         * config.gcc (i?86-*-elf) [tm_file]: Use it.
8258         (i?86-*-{freebsd,linux*,moss*}): Likewise.
8259         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
8260         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
8261         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
8262         * config/i386/sco5.h (ASM_FILE_END): Likewise.
8263         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
8264
8265 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
8266
8267         * Makefile.in (install-man): Remove explicit dependency on
8268         $(srcdir)/gcc.1.
8269
8270         * configure.in, configure: Revert previous patch requiring perl
8271         5.6.0.
8272
8273 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
8274
8275         * toplev.c (flag_guess_branch_prob): New.
8276         (f_options): Add guess-branch-probability option.
8277         (rest_of_decl_compilation): Only estimate branch probability if
8278         flag set.
8279         (main): set flag_guess_branch_prob.
8280
8281         * flags.h (flag_guess_branch_prob): New.
8282
8283 2001-01-15  DJ Delorie  <dj@redhat.com>
8284
8285         * gcc.texi (Makefile): Add documentation for Makefile targets.
8286
8287 2001-01-15  Philip Blundell  <philb@gnu.org>
8288
8289         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
8290         (is_pic): Delete.
8291         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
8292         (is_pic): Delete declaration.
8293         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
8294         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
8295         * config/arm/arm.md (builtin_setjmp_receiver): New.
8296
8297 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
8298
8299         * arm.c (use_return_insn): Don't try to determine the function type
8300         until after reload has completed.
8301         (arm_output_epilogue): Don't adjust the sp value recovered from the
8302         stack.
8303         (emit_multi_reg_push): Don't record dwarf information for the pc.
8304         * arm.md (eh_epilogue): The function type may have changed, so it
8305         needs to be recalculated.
8306         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
8307         unwind tables on arm/netbsd.
8308
8309 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
8310
8311         * arm.md (cbranchsi4): Correct calculation of branch ranges.
8312         (negated_cbranchsi4): Likewise.
8313
8314 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
8315
8316         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
8317         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
8318         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
8319         pass -mapcs-* options to assembler.
8320         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
8321         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
8322         (ASM_SPEC): Call subtarget_extra_asm_spec.
8323
8324 2001-01-15  Andreas Jaeger  <aj@suse.de>
8325
8326         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
8327         warnings.
8328         (ix86_expand_builtin): Likewise.
8329
8330         * gencodes.c (output_predicate_decls): Make i size_t to avoid
8331         warning about comparison between signed and unsigned.
8332
8333 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
8334
8335         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
8336
8337 2001-01-14  Ralf Baechle <ralf@gnu.org>
8338
8339         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
8340         SUBTARGET_CPP_SPEC apropriatly.
8341
8342 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
8343
8344         * varasm.c (make_decl_rtl): Fix typo in last change.
8345
8346 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
8347
8348         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
8349         linker supports the init_priority C++ attribute.
8350         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
8351         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
8352         linker does not support init_priority C++ attribute.
8353
8354 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
8355
8356         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
8357
8358 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8359
8360         * c-parse.in (finish_parse): Add comment about cpp_destroy.
8361         * cp/lex.c (finish_parse): Similarly.
8362         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
8363         Return the number of errors encountered.
8364         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
8365         * cppmain.c (main): Don't call cpp_destroy.
8366
8367 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
8368
8369         * configure.in: Require at least perl 5.6.0 to regenerate
8370         manpages.
8371         * configure: Regenerate.
8372
8373 2001-01-14  Richard Henderson  <rth@redhat.com>
8374
8375         * genrecog.c (DT_veclen_ge): New.
8376         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
8377         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
8378         (nodes_identical_1): Handle DT_veclen_ge.
8379         (write_cond, debug_decision_2): Likewise.
8380
8381 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
8382
8383         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
8384         with ...
8385         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
8386
8387 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8388
8389         * cppmain.c (do_preprocessing): New function; most of the old
8390         main.
8391         (main): Call it to do most of the work.
8392         (cb): Move from global scope to set_callbacks ().
8393         (setup_callbacks): Get the callback pointer.
8394         (general_init, printer_init): Clean up code and comments.
8395
8396 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
8397
8398         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
8399         compiling PIC.
8400
8401 2001-01-14  Kazu Hirata  <kazu@hxi.com>
8402
8403         * config/h8300/h8300.c (get_shift_alg): Update comments.
8404
8405 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8406
8407         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
8408         (alloc_page, ggc_alloc): Add casts to remove warnings.
8409
8410 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
8411
8412         * combine.c (simplify_comparison): Don't change `code' when
8413         can't reverse comparison.
8414
8415 2001-01-14  Richard Henderson  <rth@redhat.com>
8416
8417         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
8418         update all call sites.  Return true for all non-label constants.
8419
8420 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
8421
8422         * i386.c (ix86_expand_compare): Add bypass_test and second_test
8423         parameters.
8424         (ix86_expand_branch): Update.
8425         (ix86_expand_setcc): Update to handle multiple test conditions.
8426         (expand_int_movcc): Likewise.
8427         (expand_fp_movcc): Likewise.
8428         * i386-protos.h (ix86_expand_compare): New.
8429         * i386.md (andqi_?_slp, orqi_?_slp): New.
8430         (conditional trap expander): Update call to ix86_expand_compare.
8431
8432 2001-01-14  Richard Henderson  <rth@redhat.com>
8433
8434         * config/vax/vax.md: Use nonimmediate_operand instead of
8435         general_operand in destinations.
8436
8437         * config/vax/vax.md (indirect_jump): Use register_operand.
8438
8439         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
8440         * config/vax/vax.md (call_pop): Turn into an expander.
8441         (call_value_pop): Likewise.
8442         (call, call_value): New.
8443
8444 2001-01-14  Andreas Jaeger  <aj@suse.de>
8445
8446         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
8447         variables.
8448         (ix86_fp_compare_mode): Add unused attribute.
8449         (ix86_expand_fp_movcc): Remove unused variable.
8450         (ix86_expand_builtin): Make fcode unsigned.
8451
8452         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
8453         (expand_expr): Add cast to avoid signed warning.
8454         (store_field): Likewise.
8455         (store_constructor_field): Likewise.
8456         (store_constructor): Likewise.
8457         (store_expr): Likewise.
8458         (clear_storage): Likewise.
8459         (emit_group_store): Likewise.
8460         (emit_group_load): Likewise.
8461
8462 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
8463
8464         * c-common.c: Move format checking code to ...
8465         * c-format.c: ... here.  New file.  Reorder some functions and
8466         declarations.
8467         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
8468         New functions.
8469         * c-common.h (decl_handle_format_attribute,
8470         decl_handle_format_arg_attribute): Declare.
8471         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
8472         (c-common.o): Adjust dependencies.
8473         (c-format.o): New list of dependencies.
8474
8475 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
8476
8477         * unroll.c (loop_iterations): If we cannot prove iteration variable
8478         is set once in each iteration, punt.
8479
8480 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
8481
8482         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
8483         (*strlenhi): Remove clobber (which was buggy) of output address.
8484
8485 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
8486
8487         * Makefile.in (generated-manpages): Add gcc.1
8488         ($(srcdir)/gcc.1): New target.
8489         (maintainer-clean): Delete $(srcdir)/gcc.1.
8490         * gcc.texi: Add macros @gccoptlist and @gol.
8491         * invoke.texi: Include option summary in manpage.  Mark up option
8492         summary with @gccoptlist and @gol.  Use @r in one place where
8493         appropriate.
8494         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
8495         * gcc.1: Generate from invoke.texi.
8496
8497 2001-01-13  Richard Henderson  <rth@redhat.com>
8498
8499         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
8500         (struct page_entry): Add group member.
8501         (struct page_group): New.
8502         (struct globals): Add page_groups member.
8503         (alloc_anon): Only define for using mmap; remove valloc call.
8504         (page_group_index): New.
8505         (set_page_group_in_use): New.
8506         (clear_page_group_in_use): New.
8507         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
8508         (free_page, release_pages): Likewise.
8509         * configure.in (with-gc): Default to ggc-page always.
8510
8511 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
8512
8513         * reload1.c (replace_pseudos_in_call_usage): Use
8514         reg_equiv_constant and reg_equiv_address, and don't try
8515         regno_reg_rtx first.
8516
8517 2001-01-13  Richard Henderson  <rth@redhat.com>
8518
8519         * ggc-page.c (alloc_page): Round up allocation size to one page.
8520         Set e->order on extra pages.
8521
8522 2001-01-13  Richard Henderson  <rth@redhat.com>
8523
8524         * genrecog.c (nodes_identical): Expand commentary.
8525         (write_switch): Watch out for identical nodes.
8526
8527 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8528
8529         * cppfiles.c (_cpp_fake_include): New function.
8530         * cpphash.h (_cpp_fake_include): New.
8531         * cpplib.c (do_line): Call _cpp_fake_include when entering
8532         header files in preprocessed input.
8533         * cppmain.c (cb_pragma_implementation): Remove handling.
8534         (setup_callbacks): Don't register pragmas.
8535
8536 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8537
8538         * extend.texi: Udate for CPP.
8539
8540 2001-01-13  Andreas Jaeger  <aj@suse.de>
8541
8542         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
8543
8544         * regmove.c: Add prototype for replace_in_call_usage.
8545
8546 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8547
8548         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
8549         struct cpp_chunk, struct htab, struct toklist,
8550         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
8551         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
8552         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
8553         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
8554         (struct macro_args): Delete.
8555         * cpphash.h: See above.
8556
8557 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8558
8559         * cppmain.c (struct printer): Remove no_line_dirs.
8560         (options, cb): New.
8561         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
8562         : Use options rather than CPP_OPTION.
8563         (setup_callbacks): Use cb rather than pfile->cb.
8564         (main): No need to check for a buffer.  Use cpp_errors.
8565         (printer_init): Don't set no_line_dirs.
8566         (maybe_print_line): Use options not no_line_dirs.
8567         (cb_file_change): Don't call print_line if -P.
8568
8569 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8570
8571         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
8572         callbacks.
8573         * c-parse.in (finish_parse): Use cpp_errors.
8574         (__yylex): Use return value of cpp_pop_buffer.
8575         * cp/lex.c (finish_parse): Use cpp_errors.
8576         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
8577
8578 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
8579
8580         * README.AVR: URLs corrected.
8581
8582 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8583
8584         * c-decl.c (start_function): Don't warn if old prototype is builtin
8585         that's not in C's namespace.
8586         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
8587         (_bb): Add prototype for ctime.
8588         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
8589
8590 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
8591
8592         * i386.c (ix86_fp_comparison_arithmetics_cost,
8593         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
8594         ix86_fp_comparison_cost): New functions.
8595         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
8596         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
8597         two-branch sequences; make static.
8598         (ix86_use_fcomi_compare): Do decision according to the costs.
8599         (split_fp_branch): New.
8600         * i386.md (compare-and-branch patterns): Use split_fp_branch.
8601         * i386-protos.h (ix86_expand_fp_compare): Remove
8602         (ix86_split_fp_branch): Declare.
8603
8604         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
8605         and ix86_comparison_operator.
8606
8607         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
8608         to make it cheaper.
8609
8610         * i386.c (put_condition_code): Output properly the unordered/ordered
8611         compares in fp case.
8612         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
8613
8614         * tm.texi (REVERSE_CONDITION): Document.
8615         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
8616         in -ffast-math mode.
8617         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
8618
8619 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
8620
8621         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
8622
8623         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
8624         optimized away.
8625
8626         * config/sh/sh.c (mova_p): Fix test for mova_const.
8627
8628 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8629
8630         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
8631         cpp_get_options rather than dereferencing pfile and using
8632         CPP_OPTION.
8633         * scan-decls.c (scan_decls): Use return value of
8634         cpp_pop_buffer rather than CPP_BUFFER.
8635
8636 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8637
8638         * cppinit.c (cpp_handle_option): help_only is now part of the
8639         cpp_options structure.
8640         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
8641         cpp_set_callbacks): New functions.
8642         * cpplib.h (cpp_callbacks): Break out as a named structure.
8643         (cpp_options): Move help_only here from cpp_reader.
8644         (CPP_FATAL_ERRORS): Update to use cpp_errors.
8645         (cpp_errors, cpp_get_options, cpp_get_callbacks,
8646         cpp_set_callbacks): New prototypes.
8647         * cppmain.c (main): Update for help_only.
8648
8649 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
8650
8651         * Makefile.in (info, maintainer-clean, install-info, uninstall):
8652         Also build and remove and install and uninstall c-tree.info and
8653         cppinternals.info.
8654         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
8655         ($(srcdir)/cppinternals.info): New target.
8656         * c-tree.texi: Change file name used when makeinfo used without -o
8657         from ir.info to c-tree.info.  Add info directory entry.
8658         * cppinternals.texi: Add info directory entry.
8659         * .cvsignore: Update.
8660
8661 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
8662
8663         * c-typeck.c (store_init_value): Don't require constant initializer
8664         elements with -pedantic -std=c99.
8665         (digest_init): Change error about non-constant initializer elements
8666         into pedwarn.
8667         (constructor_range_end): Remove.
8668         (constructor_incremental, designator_depth,
8669         designator_errorneous): New variables.
8670         (struct constructor_stack): Remove range_end, add incremental.
8671         (struct constructor_range_stack, constructor_range_stack): New.
8672         (struct initializer_stack): Add constructor_range_stack.
8673         (finish_init): Set it.
8674         (start_init): Likewise.  require_constant_elements for non-static
8675         trees only if not flag_isoc99.
8676         (really_start_incremental_init): Remove constructor_range_end, add
8677         constructor_incremental.
8678         (pop_init_level): Likewise.
8679         (push_init_level): Likewise.  If implicit and the subobject had some
8680         value set already, preinitialize the level with it.
8681         Warn about missing braces only if not pushing due to designators.
8682         (set_designator, push_range_stack): New functions.
8683         (set_init_label): Use them.
8684         (set_init_index): Likewise.  Remove constructor_range_end.
8685         Error if designator index is outside of array bounds.
8686         (add_pending_init): Compare values of purpose index trees, not the
8687         trees themselves.  Allow overwriting of already initialized element.
8688         Issue a warning if it had side-effects.
8689         (set_nonincremental_init, set_nonincremental_init_from_string): New
8690         functions.
8691         (pending_init_member): Rename to...
8692         (find_init_member): ...this function.  Call set_nonincremental_init
8693         if necessary.  Compare values of purpose index trees, not the trees
8694         themselves.  Return the actual value, not just non-zero if something
8695         is found.
8696         (output_init_element): Remove checks for duplicates.
8697         If field has zero size, only check the initializer for correctness.
8698         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
8699         if constructor_incremental is zero.  Change error about initializers
8700         not computable at load time into pedwarn.
8701         (output_pending_init_elements): Compare bit positions, not
8702         FIELD_DECLs to take into account zero-sized fields.
8703         (process_init_element): Use constructor_range_stack to fill all
8704         ranges in the designator lists from current level up.
8705         * extend.texi: Update documentation for labeled elements.
8706
8707 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
8708
8709         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
8710         to function usage for arguments passed by reference.  Optimize
8711         callee-copied arguments.
8712         * regmove.c (replace_in_call_usage): New function.
8713         (fixup_match_1): Call it.
8714         * cse.c (cse_insn): Canonicalize registers in function usage.
8715         * reload1.c (replace_pseudos_in_call_usage): New function.
8716         (reload): Call it.
8717
8718         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
8719         right version.
8720
8721 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
8722
8723         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
8724         not XEXP (tmp, 0).
8725
8726 2001-01-12  DJ Delorie  <dj@redhat.com>
8727
8728         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
8729         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
8730         targets.
8731
8732 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
8733
8734         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
8735         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
8736         -std options alongside references to -ansi.  Update some
8737         documentation for C99.
8738         * cpp.1: Regenerate.
8739
8740 2001-01-12  Andreas Jaeger  <aj@suse.de>
8741
8742         * haifa-sched.c (restore_line_notes): Remove argument block B
8743         since it's unused.
8744         * sched-ebb.c (schedule_ebb): Change caller.
8745         * sched-rgn.c (schedule_region): Likewise.
8746         * sched-int.h (restore_line_notes): Adjust prototype.
8747
8748         * loop.h: Remove wrong declaration of doloop_condition_get.
8749
8750 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
8751
8752         * extend.texi:  Move C++-extension-related node from the C section
8753         into the C++ section.
8754
8755 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
8756
8757         * extend.texi: Refer to an array of pointers to functions instead
8758         of one of functions.
8759
8760 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
8761                               Jan Hubicka  <jh@suse.cz>
8762
8763         * combine.c (reversed_comparison): Fix typo in last patch.
8764         Check X for NULL.
8765         (combine_reversed_comparison_code): Make static to follow
8766         prototype declaration.
8767
8768 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
8769
8770         * install.texi:  Remove misplaced duplicate entry.
8771
8772 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
8773
8774         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
8775
8776 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
8777
8778         * final.c: (leaf_function_p): Fix typo.
8779
8780 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
8781
8782         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
8783         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
8784         which you have.
8785         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
8786         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
8787         mmap_anon, and valloc is available.
8788         * ggc-page.c: Restructure ifdef logic to match new autoconf
8789         spec.  Don't throw away the test page in init_ggc.
8790
8791         * configure, config.in: Regenerate.
8792
8793 2001-01-12  Michael Hayes  <mhayes@redhat.com>
8794
8795         * loop.h (total_biv_increment): Constify iv_class pointer.
8796         (struct induction): Replace `mem_mode' with `mem' rtx.
8797         * unroll.c (total_biv_increment): Constify iv_class pointer.
8798         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
8799         (find_mem_givs, combine_givs_p): Likewise.
8800         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
8801
8802 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
8803
8804         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
8805         LastError.
8806         (__gthread_getspecific): Ditto.
8807
8808 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
8809
8810         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
8811         put_condition_code): Convert fp comparison codes to integer
8812         before handling.
8813         (ix86_expand_fp_compare): Postnote the fp comparison code converison
8814         to final.
8815
8816         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
8817         * i386-protos.h (no_comparison_operator): Kill.
8818
8819         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
8820
8821         * combine.c (REVERSIBLE_CC_MODE): Remove.
8822         (reversible_comparison_p): Remove.
8823         (combine_reversed_comparison_code): New.
8824         (reversed_comparison): New.
8825         (combine_simplify_rtx): Use
8826         combine_reversed_comparison_code/reversed_comparison instead
8827         of reversible_comparison_p.
8828         (simplify_if_then_else): Likewise.
8829         (simplify_set): Likewise.
8830         (simplify_logical): Likewise.
8831         (if_then_else_cond): Likewise.
8832         (known_cond): Likewise.
8833         (simplify_comparison): Likewise.
8834
8835 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
8836
8837         * builtins.c (std_expand_builtin_va_start): Handle varargs when
8838         sizeof (int) is larger than sizeof(__word__).
8839
8840 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8841
8842         * cppinit.c (do_includes): Fix typo.
8843
8844 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8845
8846         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
8847         in S_REGS does not occur because not all sources are possible
8848         when a S_REGS is a destination (sometimes needs a clobber).
8849         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
8850         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
8851         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
8852         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
8853         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
8854         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
8855         (lshrdi_const1, lshrsi3_const16): Likewise.
8856         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
8857         (*movhi_68hc12, *movqi_68hc12): Likewise.
8858         (movstrictqi): Make sure reloading in D_REGS as a destination
8859         does not happen.
8860
8861 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8862
8863         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
8864
8865 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8866
8867         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
8868         -D, -U and -A, and don't initialize the builtins.
8869         (do_includes): Error if -include or -imacros with -fpreprocessed.
8870         * cppmain.c (cb_define, cb_undef): Unconditionally process
8871         the callback.
8872         * tradcpp.c (main): Fix typo.
8873
8874 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
8875
8876         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
8877         (read_name_map): Use IS_ABSOLUTE_PATH.
8878         * tradcpp.c (get_filename): Likewise.
8879
8880 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8881
8882         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
8883         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
8884         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
8885         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
8886         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
8887         (cmphi_z_used): Don't use '@' for the output.
8888         (tstqi_z_used): Likewise.
8889         (cmpqi_z_used): Likewise.
8890         (one_cmplsi2): Likewise.
8891
8892 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
8893
8894         * config/sh/sh.c (barrier_align): Recognize branch around far
8895         branch and redundant insn.
8896
8897 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8898
8899         * invoke.texi: Restore documentation of the drivers' switches -MD
8900         and -MMD.
8901
8902 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
8903
8904         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
8905
8906         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
8907         check-objc//%): Support parallel testing of multilibs.
8908         (TESTSUITEDIR): Set to testsuite by default, but override for
8909         parallel testing.
8910         (check-gcc, check-g++, check-g77, check-objc): Enter
8911         $(TESTSUITEDIR).
8912
8913 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
8914
8915         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
8916         * sched-deps.c (deps_may_trap_p): Likewise.
8917         * basic-block.h: Remove a comment.
8918         * flow.c (PROP_POSTRELOAD): Remove.
8919         (update_life_info): Don't add it to prop_flags.
8920         (mark_set_1): Lose the code that was enabled by it.
8921
8922 2001-01-11  Michael Hayes  <mhayes@redhat.com>
8923
8924         * flow.c (flow_call_edges_add): New.
8925         * basic_block.h (flow_call_edges_add): New.
8926
8927 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
8928
8929         * reload1.c (move2add_note_store): Update reg_set_luid even if
8930         base reg remains the same.
8931
8932 2001-01-10  Nick Clifton  <nickc@redhat.com>
8933
8934         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
8935         machine_function structure to zero.
8936         Add prototypes for machine_status functions.
8937
8938 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
8939
8940         * c-common.h (CTI_VOID_LIST): Remove.
8941         (void_list_node): Likewise.
8942         * tree.h (TI_VOID_LIST_NODE): New enumeral.
8943         (void_list_node): New macro.
8944         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
8945         * config/i386/i386.c (ix86_init_builtins): Likewise.
8946         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
8947
8948 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
8949
8950         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
8951         * cppinit.c (cpp_start_read): Update comment, remove unneeded
8952         if statement.
8953         * tradcpp.c: Include mkdeps.h.
8954         (deps, print_deps_phony_targets, deps_append, output_deps,
8955         init_dependency_output, output_deps): New.
8956         (deps_buffer, deps_allocated_size, deps_size, deps_column,
8957         deps_output): Delete.
8958         (print_deps_missing_files): Rename deps_missing_files.
8959         (inhibit_output): Make global.
8960         (main): Delete inhibit_output, deps_stream, deps_target.
8961         Use mkdeps functionality in the same way as cpplib.  Remove
8962         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
8963         -M and -MM.  Remove old handling of deps via deps_out, and
8964         old reading of environment variables.
8965         (get_filename): Update to use deps_add_dep.
8966
8967 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
8968
8969         * output.h (make_function_rtl): Remove prototype.
8970         (make_decl_rtl): Likewise.
8971         * varasm.c (make_function_rtl): Remove.
8972         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
8973         than from a third parameter.
8974         * tree.h (make_decl_rtl): Remove last parameter.
8975         * c-decl.c (builtin_function): Remove last argument in call to
8976         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
8977         (start_function): Likewise.
8978         * except.c (call_get_eh_context): Likewise.
8979         * expr.c (emit_block_move): Likewise.
8980         (clear_storage): Likewise.
8981         * profile.c (output_func_start_profiler): Likewise.
8982         * toplev.c (rest_of_decl_compilation): Likewise.
8983         * objc/objc-act.c (create_builtin_decl): Likewise.
8984         (synth_module_prologue): Likewise.
8985         (generate_static_reference): Likewise.
8986         (build_selector_reference_decl): Likewise.
8987         (build_class_reference_decl): Likewise.
8988         (build_objc_string_decl): Likewise.
8989         (build_protocol_reference): Likewise.
8990
8991 2001-01-10  Richard Henderson  <rth@redhat.com>
8992
8993         * hwint.h: Revert yesterday's change.
8994
8995 2001-01-10  Nick Clifton  <nickc@redhat.com>
8996
8997         * function.h (save_machine_status): Delete.
8998         (restore_machine_status): Delete.
8999         Amend comment describing {init|mark|free}_machine_status.
9000
9001         * function.c (save_machine_status): Delete.
9002         (restore_machine_status): Delete.
9003         Amend comment describing {init|mark|free}_machine_status.
9004         (push_function_context_to): Remove invocation of
9005         save_machine_status.
9006         (pop_function_context_from): Remove invocation of
9007         restore_machine_status.
9008
9009         * emit-rtl.c (init_emit_once): Amend comment describing
9010         {init|mark|free}_machine_status.
9011
9012         * tm.texi (Per-Function Data): New node.  Describe the
9013         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
9014         function pointers.
9015
9016 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
9017
9018         * cppinit.c (OPT_g): Remove.
9019         (cpp_handle_option): Update for removed -g3.
9020         (print_help): Update.
9021         * cpplib.h (struct cpp_options): Remove debug_output.
9022         * cppmain.c (setup_callbacks, cb_define): Update.
9023         * gcc.c (cpp_options): Translate -g3 to -dD.
9024
9025 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
9026
9027         * config/i960/i960.md: Change modifier to + on the zero_extract
9028         pattern after the (rotate -2 reg) canonicalization pattern.
9029
9030 2001-01-10  Richard Henderson  <rth@redhat.com>
9031
9032         * config/alpha/alpha.c (alpha_free_machine_status): New.
9033         (override_options): Install it.
9034         (alpha_mark_machine_status): Verify machine non-null.
9035         * config/i386/i386.c (ix86_free_machine_status): New.
9036         (override_options): Install it.
9037         (ix86_init_machine_status): Use xcalloc.
9038         (ix86_mark_machine_status): Verify machine non-null.
9039         * config/ia64/ia64.c (ia64_free_machine_status): New.
9040         (ia64_override_options): Install it.
9041         (ia64_mark_machine_status): Verify machine non-null.
9042
9043 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
9044
9045         * function.c (instantiate_virtual_regs): Instantiate virtual
9046         registers found in CALL_INSN_FUNCTION_USAGE.
9047
9048 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9049
9050         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
9051         equivalent to -ansi in disabling -Di386.
9052
9053 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
9054
9055         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
9056         new functions.
9057         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
9058
9059 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
9060
9061         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
9062
9063 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9064
9065         * invoke.texi: Document that -fcond-mismatch isn't supported for
9066         C++.
9067
9068 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9069
9070         * gcc.texi: Define macro gcctabopt.
9071         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
9072         @command, @env and @option in some places where appropriate.  Use
9073         @gcctabopt where appropriate.  Put URLs and email addresses inside
9074         @w.
9075
9076 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
9077
9078         * gcc.c (cpp_options): Set MD file name from output
9079         filename, if specified.
9080         (suffix_subst): New static variable.
9081         (do_spec): Clear it.
9082         (do_spec_1, case '.'): Handle new `%.suffix' spec.
9083         Clear it.
9084         (give_switch): Handle suffix_subst.
9085
9086 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
9087
9088         * invoke.texi:  Fix another typo.
9089
9090 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
9091
9092         * invoke.texi:  Fix typo.
9093
9094 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
9095
9096         * c-lang.c (lang_hooks): Update.
9097         (lang_decode_option): Remove.
9098         (lang_init_options): Rename c_init_options.
9099         * toplev.c (main): Use lang_hooks for lang_init_options
9100         and lang_decode_option.
9101         * toplev.h (lang_hooks): Add 2 new hooks.
9102         * tree.h: Remove lang_init_options and lang_decode_option.
9103         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
9104         * cp/decl2.c: Similarly.
9105         * cp/lex.c (lang_init_options): Rename cxx_init_options.
9106         (lang_hooks): Update.
9107         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
9108         for consistency.
9109         (lang_init_options): Rename ffe_init_options.
9110         (lang_hooks): Update.
9111         (lang_decode_option): Remove.
9112         * java/lang.c (lang_init_options): Rename java_init_options.
9113         (lang_decode_option): Rename java_decode_option.
9114         (lang_hooks): Update.
9115         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
9116         (lang_decode_option): Rename objc_decode_option.
9117         (lang_hooks): Update.
9118
9119 2001-01-09  Nick Clifton  <nickc@redhat.com>
9120
9121         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
9122         (d30v_return_addr_rtx): Delete.
9123         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
9124         cfun->machine structure.
9125         (struct machine_function): Move to d30v.h
9126         (d30v_save_machine_status): Delete.
9127         (d30v_restore_machine_status): Delete.
9128         (d30v_init_machine_status): New Function.
9129         (d30v_mark_machine_status): New Function.
9130         (d30v_free_machine_status): New Function.
9131         (d30v_init_expanders): Use new functions.
9132         (d30v_return_addr): Use ra_rtx field in cfun->machine.
9133         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
9134         d30v_return_addr_rtx.
9135
9136         * config/d30v/d30v.h (struct_machine): Move here.
9137         Add eh_epilogue_sp_ofs field.
9138
9139         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
9140         field in cfun->machine structure.
9141
9142 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9143
9144         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
9145         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
9146         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
9147
9148 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
9149
9150         * objc/lang-options.h: Remove bogus reference to
9151         Java trademark.
9152
9153 2001-01-09  Kazu Hirata  <kazu@hxi.com>
9154
9155         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
9156         return the result.
9157
9158 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
9159
9160         * reload.c (find_reloads_address): Check for eliminable registers
9161         when substituting a constant expression for a pseudo.
9162
9163 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
9164
9165         * c-common.c (enum format_type): Add format_type_error.
9166         (decode_format_type): New function.
9167         (decl_attributes): Use it.
9168         (format_kind_info): Adjust comment.
9169
9170 2001-01-09  David O'Brien  <obrien@BSDi.com>
9171
9172         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
9173         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
9174         files in tm_file.
9175         * config/i386/gnu.h: Don't include required platform specific .h files,
9176         tm.h will do it instead.
9177         * config/i386/i386elf.h: Likewise.
9178         * config/i386/linux.h: Likewise.
9179         * config/i386/moss.h: Likewise.
9180         * config/mips/gnu.h: Likewise.
9181
9182 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9183
9184         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
9185         (rs6000-ibm-aix3.[01]*): Likewise.
9186         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
9187         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
9188         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
9189         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
9190         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
9191         (powerpc-*-eabiaix*): Likewise.
9192         (powerpc-*-eabisim*): Likewise.
9193         (powerpc-*-elf*): Likewise.
9194         (powerpc-*-eabi*): Likewise.
9195         (powerpc-*-rtems*): Likewise.
9196         (powerpc-*-linux*libc1): Likewise.
9197         (powerpc-*-linux*): Likewise.
9198         (powerpc-wrs-vxworks*): Likewise.
9199         (powerpcle-wrs-vxworks*): Likewise.
9200         (powerpcle-*-sysv*): Likewise.
9201         (powerpcle-*-elf*): Likewise.
9202         (powerpcle-*-eabisim*): Likewise.
9203         (powerpcle-*-eabi*): Likewise.
9204         (powerpcle-*-solaris2*): Likewise.
9205         * config/rs6000/aix31.h: Delete includes.
9206         * config/rs6000/aix3newas.h: Likewise.
9207         * config/rs6000/aix41.h: Likewise.
9208         * config/rs6000/aix43.h: Likewise.
9209         * config/rs6000/beos.h: Likewise.
9210         * config/rs6000/rtems.h: Likewise.
9211         * config/rs6000/sysv4.h: Likewise.
9212
9213 2001-01-09  Kazu Hirata  <kazu@hxi.com>
9214
9215         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
9216         Change an argument mode of machine_mode to shift_mode of
9217         shift_mode.  Remove an extra error check.
9218         (emit_a_shift): Adopt to the new calling prototype of
9219         get_shift_alg.
9220         (function_prologue): Fix code for a monitor
9221         function.  Support H8/S.
9222         (function_epilogue): Do not output pop for a monitor function.
9223
9224 2001-01-09  Nick Clifton  <nickc@redhat.com>
9225
9226         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
9227         (setup_incoming_varargs): Use sysv_varargs_p field of the
9228         cfun->machine structure.
9229         (struct machine_function): Move to rs6000.h
9230         (rs6000_save_machine_status): Delete.
9231         (rs6000_restore_machine_status): Delete.
9232         (rs6000_init_machine_status): New Function.
9233         (rs6000_free_machine_status): New Function.
9234         (rs6000_init_expanders): Use new functions.
9235
9236         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
9237         export.
9238         (struct machine_function): Move here.
9239
9240         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
9241         sysv_varargs_p field of the cfun->machine structure.
9242
9243         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
9244         Remove prototype.
9245         (rs6000_restore_machine_status): Remove prototype.
9246
9247 2001-01-09  Richard Henderson  <rth@redhat.com>
9248
9249         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
9250         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
9251         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
9252         (sched_analyze_2, sched_analyze_insn): Likewise.
9253         (sched_analyze, init_deps): Likewise.
9254         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
9255         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
9256         (compute_block_backward_dependences): Update propagate_deps call.
9257
9258 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
9259
9260         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
9261
9262 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9263
9264         * cppinit.c (OPT_MD, OPT_MMD): Restore.
9265         (cpp_handle_option): Handle them.
9266         (cpp_post_options): Ensure one of -M or -MM is specified with
9267         any other -M? option.
9268         (init_dependency_output): Suppress output with -MG.
9269
9270 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9271
9272         * cpp.texi: Update.
9273         * invoke.texi: Update.
9274
9275 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
9276
9277         * sh.md (reload_outsf): Generate recognizable patterns for
9278         TARGET_SH3E.
9279
9280 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9281
9282         * c-lang.c (lang_hooks): Update.
9283         (lang_init): Rename c_init.
9284         (lang_finish): Remove.
9285         * toplev.c (compile_file): Use lang_hooks for lang_init ()
9286         and lang_finish ().
9287         * toplev.h (lang_hooks): Add init () and finish ().
9288         * tree.h (lang_init, lang_finish): Remove.
9289         * cp/tree.h (lang_init, lang_finish): Remove.
9290         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
9291         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
9292         lang_hooks): New.
9293         (lang_init, lang_finish): Remove.
9294         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
9295         (lang_hooks): Update.
9296         * java/lang.c (lang_init): Rename java_init.
9297         (lang_finish): Remove.
9298         (lang_hooks): Update.
9299         * objc/objc-act.c (lang_init): Rename objc_init.
9300         (lang_finish): Remove.
9301         (lang_hoooks): Update.
9302
9303 20001-01-09  Graham Stott  <grahams@redhat.com>
9304
9305         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
9306         after `ptr` is initialised.
9307
9308 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
9309
9310         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
9311         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
9312         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
9313         stack adjusts, instead of r3.
9314
9315 2001-01-09  Michael Hayes  <mhayes@redhat.com>
9316
9317         * flow.c (flow_loop_scan): Break out of ...
9318         (flow_loops_find) ... here.
9319         * basic-block.h (flow_loop_scan): New.
9320         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
9321         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
9322
9323 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
9324
9325         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
9326         macro_buffer_len.
9327         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
9328         realloc()ing macro_buffer.
9329
9330         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
9331         if it's wider than long and the target's long is wider than the
9332         host's.
9333
9334 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
9335
9336         Remove support for using UWIN as a host machine.
9337         * configure.in: Issue an error message.
9338         * configure: Regenerated.
9339         * config.gcc: Remove xm_* UWIN configury.
9340         * config/i386/xm-uwin.h: Remove.
9341
9342 2001-01-08  Nick Clifton  <nickc@redhat.com>
9343
9344         * config/v850/v850.c (ra_rtx): Delete.
9345         (v850_save_machine_status): Delete.
9346         (v850_restore_machine_status): Delete.
9347         (v850_init_machine_status): New function.
9348         (v850_mark_machine_status): New function.
9349         (v850_free_machine_status): New function.
9350         (v850_return_addr): Use ra_rtx field in machine structure.
9351         (v850_init_expanders): Use new functions.
9352
9353         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
9354         * config/v850/v850.c: Change arguments to v850_output+* functions
9355         to take a const char *, to avoid compile time warning.
9356         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
9357         (USER_LABEL_PREFIX): Redefine.
9358
9359 2000-01-08  Jim Wilson  <wilson@redhat.com>
9360
9361         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
9362         1 to unsigned HOST_WIDE_INT before left shift.
9363
9364 2001-01-08  Nick Clifton  <nickc@redhat.com>
9365
9366         * config/arm/arm.c (arm_mark_machine_status): Check to see if
9367         the machine structure has been allocated.
9368         (arm_free_machine_status): New function: Free the machine
9369         specific function structure.
9370
9371 2001-01-08  Richard Henderson  <rth@redhat.com>
9372
9373         * jump.c (simplejump_p): Revert last change.
9374
9375 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
9376
9377         * cppinit.c (init): Rename init_library.
9378         (cpp_create_reader): Update.
9379         * gcc.c (cpp_options): If -o given, use it as the target of
9380         any -M options.
9381
9382 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
9383
9384         * arm.c (arm_arch5e): New variable.
9385         (all_cores): XScale is a 5TE device.
9386         (arm_override_options): Set arm_arch5e.
9387         (arm_init_builtins): __builtin_prefetch is in arch5e.
9388         * arm.h (arm_arch5e): Declare it.
9389
9390         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
9391
9392         * arm.md (define_constants): Add defines for UNSPEC and
9393         UNSPEC_VOLATILE insns.  Update all users.
9394         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
9395         * arm.c (multi_register_push, note_invalid_constants)
9396         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
9397         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
9398         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
9399
9400 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
9401
9402         * jump.c (jump_optimize_1): Use reversed_comparison_code
9403         instead of can_reverse_comparison_p.
9404         (jump_back_p): Likewise.
9405         (invert_exp_1): Likewise.
9406         (thread_jumps): Likewise.
9407         * simplify-rtx.c (simplify_unary_operation): Likewise.
9408         (simplify_ternary_operation): Likewise.
9409         * cse.c (find_comparison_args): Convert to use
9410         can_reverse_comparison_p.
9411         (record_jump_equiv): Likewise.
9412
9413 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
9414
9415         * arm.h (HARD_REGNO_RENAME_OK): Delete.
9416         (EPILOGUE_USES): Define.
9417         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
9418         automatically stack the LR if it isn't live.
9419
9420 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
9421
9422         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
9423         properly.
9424
9425 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
9426
9427         * ggc-page.c (max_alignment): New structure.
9428         (MAX_ALIGNMENT): New macro.
9429         (init_ggc): Use it to round up the sizes in the
9430         extra_order_size_table.
9431
9432 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9433
9434         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
9435         after reload.
9436
9437 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9438
9439         * builtins.def (BUILT_IN_FPRINTF): New entry.
9440
9441         * c-common.c (c_expand_builtin_fprintf): New function.
9442         (init_function_format_info): Handle __builtin_fprintf.
9443         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
9444         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
9445
9446         * c-decl.c (duplicate_decls): Adjust comment.
9447
9448         * extend.texi (fprintf): Document new builtin.
9449
9450 2001-01-07  Richard Henderson  <rth@redhat.com>
9451
9452         * jump.c (simplejump_p): Recognize any single_set jump
9453         of the proper form.
9454
9455 2001-01-07  Richard Henderson  <rth@redhat.com>
9456
9457         * configure.in (slibdir): Accept an --with-slibdir option.
9458         Use "test" not "[" in configure.  Default to $(libdir).
9459
9460         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
9461         fix typo in rm -f.
9462         * config/t-aix43 (SHLIB_INSTALL): Likewise.
9463         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
9464         (SHLIB_LINK): Create links for the soname.
9465         * config/mips/t-iris6: Likewise.
9466         * config/sparc/t-slibgcc: Likewise.
9467         * config/sparc/t-slibgcc-sld: Likewise.
9468
9469 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
9470
9471         * config/i386/i386.c (constant_call_address_operand): Accept
9472         (const (plus (symbol_ref) (const_int))).
9473         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
9474         constant_call_address_operand.
9475
9476 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9477
9478         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
9479         and LONG_LONG_TYPE_SIZE > 32.
9480
9481 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9482
9483         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
9484         the previous change.
9485
9486 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
9487
9488         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
9489         New.
9490         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
9491         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
9492         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
9493         Declare.
9494
9495 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9496
9497         * fix-header.c (read_scan_file): s/pfile/scan_in/.
9498
9499 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9500
9501         * c-lang.c (c_post_options): Call cpp_post_options.
9502         * objc/objc-act.c (objc_post_options): Similarly.
9503         * cppmain.c (main): Similarly.
9504         * fix-header.c (read_scan_file): Similarly.
9505         * cppinit.c (cpp_start_read): Move option consistency checks
9506         to cpp_post_options.  Don't call init_dependency_output.
9507         If needed, add default target and main file dependency.
9508         (OPT_MD, OPT_MMD): Remove.
9509         (OPT_MF): New.
9510         (cpp_handle_option): Update for OPT_* changes.
9511         (cpp_post_options): New.
9512         (init_dependency_output): Command line -MF overrides environment
9513         variables.  Don't set default target etc.  Suppress output
9514         if dependencies are going to stdout.
9515         (print_help): Update.
9516         * cpplib.h (cpp_post_options): New.
9517         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
9518
9519 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
9520
9521         * jump.c (comparison_dominates_p): Support unordered compares.
9522
9523 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
9524
9525         * simplify-rtx.c (simplify_relational_operation): Always simplify
9526         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
9527         and UNGE.
9528
9529 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
9530
9531         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
9532         (nonzero_bits): Likewise.
9533         (simplify_comparison): Likewise.
9534         (num_sign_bit_copies): Likewise; return more sane value depending
9535         on STORE_FLAG_VALUE.
9536         (known_cond): Do not assume EQ to be always true for equivalent
9537         operands.
9538
9539 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
9540
9541         * cse.c (fold_rtx): Handle unordered comparisons.
9542
9543 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
9544
9545         * rtlanal.c (set_of_1): New static function.
9546         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
9547          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
9548          reg_set_last_last_regno): Remove.
9549         (set_of): New global function.
9550         (set_of_data): New structure.
9551         (reg_set_p, reg_set_last): Revamp for set_of.
9552         * rtl.h (set_of): New.
9553
9554 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9555
9556         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
9557         * extend.texi: Document _Exit builtin.
9558
9559 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9560
9561         * (initialize, initialize_builtins,
9562         initialize_dependency_output, initialize_standard_includes):
9563         Rename s/initialize/init. Update.
9564         (init_dependency_output): Move to after
9565         cpp_handle_options, the correct location temporally at least.
9566         (opt_comp): Move next to init (), its caller.  Fix prototype.
9567         (init): Make "initialized" local scope.
9568         (cpp_create_reader): Always call init ().
9569         (cpp_start_read): Update.
9570         (output_deps): New function, broken out of cpp_finish.
9571         (cpp_finish): Break out output_deps.
9572
9573 2001-01-07  Richard Henderson  <rth@redhat.com>
9574
9575         * collect2.c (COFF specific stuff): Revert 12-06 patch
9576         to prototype system functions.
9577
9578 2001-01-07  Michael Hayes  <mhayes@redhat.com>
9579
9580         * hard-reg-set.h: Add multiple include guard.
9581         * basic-block.h (struct loop): Add `sink' field.
9582         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
9583         (emit_iv_add_mult): Delete.
9584         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
9585         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
9586         (unroll_loop): Remove end_insert_before argument.
9587         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
9588         (maybe_eliminate_biv_1): Likewise.
9589         (emit_iv_add_mult): Delete.
9590         (gen_add_mult, loop_regs_update): New.
9591         (loop_insn_emit_after, loop_insn_emit_before): New.
9592         (loop_insn_sink, loop_insn_sink_or_swim): New.
9593         (emit_iv_add_mult): Delete.
9594         (scan_loop): Set loop->sink.
9595         (loop_givs_reduce): Use loop_insn_sink and its ilk.
9596         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
9597         (maybe_eliminate_biv_1): Likewise.
9598         (maybe_eliminate_biv_1): Add basic block argument.
9599         * unroll.c (unroll_loop): Remove end_insert_before argument.
9600         (find_splittable_regs): Likewise.
9601         (find_splittable_regs): Use loop_insn_sink and its ilk.
9602         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
9603
9604 2001-01-07  Michael Hayes  <mhayes@redhat.com>
9605
9606         * loop.h (loop_insn_hoist): New prototype.
9607         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
9608         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
9609         (check_dbra_loop, load_mems): Likewise.
9610         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
9611         (find_splittable_givs): Likewise.
9612
9613 2001-01-07  Michael Hayes  <mhayes@redhat.com>
9614
9615         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
9616
9617 2001-01-07  Richard Henderson  <rth@redhat.com>
9618
9619         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
9620
9621 2001-01-07  Richard Henderson  <rth@redhat.com>
9622
9623         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
9624         NO_SHARED_LIBGCC_MULTILIB as required for the target.
9625         * gcc.c (init_spec): Massage the existing libgcc_spec into a
9626         variant that handles a shared libgcc.
9627         (process_command): Always validate -{static,shared}-libgcc.
9628         (do_spec_1): New 'M' case.
9629         * invoke.text (Link Options): Document -{static,shared}-libgcc.
9630
9631 2001-01-07  Richard Henderson  <rth@redhat.com>
9632
9633         * Makefile.in (slibdir): New variable.
9634         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
9635         (installdirs): Create slibdir.
9636         (install-libgcc, install-multilib): Defer to libgcc.mk.
9637         * configure.in (slibdir): Substitute.
9638         * mklibgcc.in (install): New target.
9639
9640         * config/t-linux (SHLIB_LINK): Create links for the soname.
9641         (SHLIB_INSTALL): New.
9642         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
9643         * config/mips/t-iris6 (SHLIB_INSTALL): New.
9644         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
9645         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
9646         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
9647
9648 2001-01-07  Richard Henderson  <rth@redhat.com>
9649
9650         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
9651         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
9652         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
9653
9654 2001-01-07  Michael Hayes  <mhayes@redhat.com>
9655
9656         * loop.c (count_loop_regs_set): Delete.
9657         (load_mems_and_recount_loop_regs_set): Delete.
9658         (loop_regs_scan): Merge common code from count_loop_regs_set,
9659         scan_loop, and load_mems_and_recount_loop_regs_set.
9660         (scan_loop): Call load_mems directly and loop_regs_scan
9661         again if new registers created.
9662
9663 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9664
9665         * toplev.c (main): Call the front-end specific post_options
9666         hook if one is given.
9667         * toplev.h (struct_lang_hooks, lang_hooks): New.
9668         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
9669         for the C front end.
9670         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
9671         lang_hooks for the C++ front end.
9672         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
9673         lang_hooks for the ObjC front end.
9674         * f/com.c (lang_hooks): Hooks for the Fortran front end.
9675         * java/lang.c (lang_hooks): Hooks for the Java front end.
9676
9677 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9678
9679         * c-lex.c (init_c_lex): Request #define / #undef callbacks
9680         for verbose DWARF[2] debugging.
9681         (cb_define, cb_undef): The new callbacks.
9682         * toplev.h (debug_define, debug_undef): Make const correct.
9683         * toplev.c (debug_define, debug_undef): Similarly.  Do not
9684         perform the verbosity tests here anymore.
9685
9686 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
9687
9688         * reload.c (subst_reloads): Take INSN argument.  When
9689         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
9690         * reload.h (subst_reloads): Adjust prototype.
9691         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
9692         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
9693         present in JUMP_INSNs and copy them to JUMP_LABEL.
9694         * flow.c (find_label_refs, find_basic_blocks_1): Skip
9695         JUMP_INSNs and insns with REG_LABELs that are followed by
9696         JUMP_INSNs with the same REG_LABEL.
9697         * sched-rgn.c (is_cfg_nonregular): Likewise.
9698         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
9699         note is available.
9700         * unroll.c (unroll_loop): Look for REG_LABEL notes in
9701         JUMP_INSNs too.
9702         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
9703
9704 2001-01-06  Richard Henderson  <rth@redhat.com>
9705
9706         * loop.c (scan_loop): Use xcalloc for the regs array.
9707         (load_mems_and_recount_loop_regs_set): Zero the new memory
9708         received from xrealloc.
9709
9710 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9711
9712         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
9713
9714 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
9715
9716         * integrate.c (copy_rtx_and_substitute): When copying
9717         an ignored return value, strip REG_FUNCTION_VALUE_P.
9718
9719 2001-01-06  Michael Hayes  <mhayes@redhat.com>
9720
9721         * loop.c (debug_biv, debug_giv): New.
9722         (loop_biv_dump): Break out from ...
9723         (record_biv): ... here.
9724         (loop_giv_dump): Break out from ...
9725         (record_giv): ... here.
9726         (loop_bivs_check): Use print_simple_rtl.
9727         * unroll.c (loop_iterations): Use print_simple_rtl.
9728
9729 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9730
9731         * pa.md (return, return_internal): Modify patterns to prevent regrename
9732         mucking with the return pointer.
9733
9734 2001-01-05  Richard Henderson  <rth@redhat.com>
9735
9736         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
9737
9738 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
9739
9740         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
9741         version supplied by Matteo Frigo.
9742
9743 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9744
9745         * cpp.texi: Update for -MQ.
9746         * cppinit.c (cpp_create_reader): Always create pfile->deps.
9747         (cpp_cleanup): Always free pfile->deps.
9748         (initialize_dependency_output): Don't create pfile->deps.
9749         (cpp_handle_option): Similarly.
9750         (OPT_MQ): New.
9751         * gcc.c (cpp_options): Handle -MQ.
9752         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
9753         * mkdeps.c (base_name): Remove.
9754         (deps_init): Don't allocate vector space until it's needed.
9755         (deps_free): Only free vectors if allocated.
9756         (deps_add_target, deps_add_dep): Update for initial allocation.
9757         (deps_add_default_target): Don't strip to the base_name.
9758
9759 2001-01-05  DJ Delorie <dj@redhat.com>
9760
9761         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
9762         (INIT_EXPANDERS): Define.
9763
9764         * config/v850/v850.c (struct machine_function): Define.
9765         (v850_save_machine_status): New function.
9766         (v850_restore_machine_status): New function.
9767         (v850_return_addr): New function.
9768         (v850_init_expanders): New function.
9769
9770         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
9771         and v850_init_expanders.
9772
9773 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
9774
9775         * cpplib.h (struct cpp_reader): Add help_only field.
9776         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
9777         (cpp_handle_option): Set pfile->help_only if we see -h,
9778         --help, -target-help, or --version.  Print version string but
9779         do not set help_only if we see -v or -version.  Make text
9780         printed by -v match that printed by (-)-version.
9781
9782         * cppmain.c (main): Exit after option parsing if
9783         pfile->help_only is true.
9784
9785         * toplev.c (independent_decode_option): Call print_version,
9786         then exit, if we see --version (but not -version).
9787         (print_version): Split lengthy message into two lines.
9788
9789 2001-01-05  Nick Clifton  <nickc@redhat.com>
9790
9791         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
9792         temporary string for initialisation before calling ggc_alloc_string.
9793
9794 2001-01-06  Michael Hayes  <mhayes@redhat.com>
9795
9796         * rtl.h (print_simple_rtl): New.
9797         * print-rtl.c (print_simple_rtl): New.
9798         (flag_simple): New.
9799         (print_rtx): Disable printing of flags and modes, etc.,
9800         if `flag_simple` nonzero.
9801
9802 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
9803
9804         * function.c (fixup_var_refs): Use push_to_full_sequence where
9805         possible.
9806
9807 2001-01-05  Michael Meissner  <meissner@redhat.com>
9808
9809         * flags.h (flag_reorder_blocks): Add declaration.
9810         (flag_rename_block): Ditto.
9811
9812 2001-01-05  DJ Delorie  <dj@redhat.com>
9813
9814         * function.c (reorder_blocks): Make sure the flags are all reset
9815         before using them to mark blocks, else a second invocation will
9816         corrupt the block chain.
9817         (reorder_blocks_0): New, resets the flags.
9818
9819 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
9820
9821         * cse.c (find_comparison_args): Stop if the argument is known to
9822         be constant.
9823
9824 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
9825
9826         * config/sh/sh.md (movdf): When splitting load into pair of
9827         registers, don't clobber the register used in the address too
9828         early.
9829
9830 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
9831
9832         * varasm.c (mark_constant_pool): Improve initial comments.
9833         (mark_constants): Move marking of constants to mark_constant.
9834         (mark_constant): New function to recursively mark all constants
9835         referred to by a constant.
9836
9837 2001-01-05  Catherine Moore  <clm@redhat.com>
9838
9839         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
9840
9841 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
9842
9843         * cp/lang-options.h:  Bring comment in line with reality.
9844         * f/lang-options.h:  Likewise.
9845         * java/lang-options.h:  Likewise.
9846         * objc/lang-options.h:  Likewise.
9847         * ch/lang-options.h:  Likewise.
9848         * f/g77.texi:  And update the manual.
9849
9850 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
9851             Denis Chertykov  <denisc@overta.ru>
9852
9853         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
9854         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
9855         * config/avr/avr.md (all peepholes that request a scratch register):
9856         Call it, FAIL the peephole if not safe (in interrupt functions).
9857
9858 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
9859
9860         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
9861
9862 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
9863
9864         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
9865         Define.
9866         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
9867         BUILT_IN_CREAL and BUILT_IN_CIMAG.
9868         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
9869         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
9870         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
9871         BUILT_IN_CIMAG.
9872         * extend.texi: Document these builtins.
9873
9874 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
9875
9876         * c-common.c (lang_get_alias_set): Say we know nothing of
9877         VECTOR_TYPE aliasing.
9878
9879         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
9880
9881 2001-01-05  Bruce Korb  <bkorb@gnu.org>
9882
9883         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
9884         their x* equivalent versions for atexit-less systems
9885         * fixinc/fixincl.c(main): do not return from main() on atexit-less
9886         systems (or any other system any more).
9887
9888 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
9889
9890         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
9891         output operands.  Use arm_hard_register_operand for operand 4.
9892         (stmsi_postinc): Similarly.
9893         (ldmsi): Use arm_hard_register_operand for opernand 2.
9894         (stmsi): Similarly.
9895         * arm.c (arm_hard_register_operand): New function.
9896         * arm-protos.h (arm_hard_register_operand): Prototype it.
9897
9898         * arm.h (HARD_REGNO_RENAME_OK): Define.
9899
9900 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
9901
9902         * simplify-rtx.c (cfc_args): add "unordered" field.
9903         (check_fold_consts): Set unordered field.
9904         (simplify_relational_operation): Simplify the unordered
9905         comparisons.
9906
9907         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
9908         is valid.
9909
9910         * emit-rtl.c (try_split): Fix code to mark labels.
9911         * jump.c (mark_jump_label): Make global.
9912         * rtl.h (mark_jump_label): Declare.
9913
9914         * predict.c (estimate_probability): Handle unordred comparisons.
9915
9916 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9917
9918         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
9919         * cppinit.c (initialize_dependency_output):  Update.
9920         (cpp_finish): Output dummy targets for -MP.
9921         (OPT_MP): New.
9922         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
9923         * cpplib.h (struct cpp_options): Add deps_phony_targets.
9924         * gcc.c (cpp_options): Update to handle -MP.
9925         * mkdeps.c (deps_add_target, deps_add_default_target): Update
9926         to quote only the default target.
9927         (deps_phony_targets): Insert a preceding newline.  Rename from
9928         deps_dummy_targets for consistency.
9929         * mkdeps.h: Update
9930
9931 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
9932
9933         * calls.c (emit_library_call_value_1): Support
9934         INIT_CUMULATIVE_LIBCALL_ARGS.
9935         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
9936
9937 2001-01-04  Richard Henderson  <rth@redhat.com>
9938
9939         * c-decl.c (finish_struct): Detect flexible array members
9940         used in an inappropriate context.
9941         * c-typeck.c (really_start_incremental_init): Special case
9942         constructor_max_index for zero length arrays.
9943         (pop_init_level): Allow initialization of flexible array
9944         members.  Deprecate initialization of zero length arrays.
9945         Don't issue missing initializer warning for flexible array
9946         members or zero length arrays.
9947         (process_init_element): Don't dereference null DECL_SIZE.
9948         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
9949         Don't abort for empty constructors.  Use size_binop
9950         (output_constructor): Add commentary regarding zero length
9951         array futures.  Abort if we try to initialize an array of
9952         unspecified length with a non-empty constructor in the middle
9953         of a structure.
9954
9955         * extend.texi (Zero Length): Update and clarify documentation
9956         on static initialization.
9957
9958 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9959
9960         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
9961         with more than 32767 words of local storage.
9962
9963 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9964
9965         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
9966         for 'abs', 'labs', and 'fabs'.
9967         (c4x_expand_builtin): Likewise.
9968         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
9969
9970 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
9971
9972         * config/sh/sh.md (prget, prset): New insn types.
9973         (return delay slot): Dont' allow prset.
9974         (call, sfunc delay slot): Don't allow prget.
9975         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
9976         for prset and prget.
9977
9978 2001-01-05  Michael Hayes  <mhayes@redhat.com>
9979
9980         * loop.h (struct loop_reg): New.
9981         (struct loop_regs): Change to use array of `struct loop_reg'.
9982         * loop.c: Replace assortment of varrays with single regs array.
9983         (count_one_set): Delete may_not_move array argument
9984         and use regs array instead.  All caller's changed.
9985         (count_loop_regs_set): Delete may_not_move and single_usage
9986         arguments and use regs array instead.  All caller's changed.
9987         (find_single_use_in_loop): Replace usage array argument with pointer
9988         to regs structure.  All caller's changed.
9989         (loop_optimize): Delete `moved_once' array.
9990
9991 2001-01-05  Michael Hayes  <mhayes@redhat.com>
9992
9993         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
9994         Use it instead of loop_info->has_call for scanning loop mems.
9995         (check_dbra_loop): Replace loop_info->has_call test with
9996         loop_info->has_nonconst_call.
9997
9998 2000-01-04  Matthew Hiller  <hiller@redhat.com>
9999
10000         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
10001         for TARGET_SH3E.
10002
10003 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
10004
10005         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
10006         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
10007
10008 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
10009
10010         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
10011         (flag_short_double, flag_short_wchar): Define.
10012         (c_common_nodes_and_builtins): Create many tree nodes shared
10013         between C and C++ here instead of in cp/decl.c and ...
10014         * c-decl.c (init_decl_processing): ... here.
10015         (SIZE_TYPE, WCHAR_TYPE): Don't define.
10016         (flag_short_double, flag_short_wchar): Don't define.
10017         (record_builtin_type): New function.
10018         (build_void_list_node): New function.
10019         * c-common.h (flag_short_double, flag_short_wchar,
10020         record_builtin_type, build_void_list_node): Declare.
10021
10022 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
10023
10024         * integrate.c (expand_inline_function): Don't put a virtual
10025         register into the reg map.
10026
10027         * function.c (fixup_var_refs_1): If force_operand didn't put
10028         the address into the target, move it there.
10029
10030 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
10031
10032         Special-case tree_decl/tree_list allocations.
10033         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
10034         (OBJECT_SIZE): New macro.
10035         (NUM_EXTRA_ORDER): Likewise.
10036         (extra_order_size_table): New variable.
10037         (NUM_ORDERS): New macro.
10038         (objects_per_page_table): New variable.
10039         (object_size_table): New variable.
10040         (G.pages): Use NUM_ORDERS to bound the array.
10041         (G.page_tails): Likewise.
10042         (DIV_ROUND_UP): Remove.
10043         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
10044         (alloc_page): Use OBJECT_SIZE.
10045         (size_lookup): Don't make it const.
10046         (ggc_alloc): Use OBJECT_SIZE.
10047         (ggc_set_mark): Likewise.
10048         (ggc_get_size): Likewise.
10049         (init_ggc): Set up the object_size_table, objects_per_page_table,
10050         and adjust size_lookup.
10051         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
10052         (ggc_pop_context): Use NUM_ORDERS.
10053         (clear_marks): Likewise.
10054         (sweep_pages): Likewise.
10055         (poison_pages): Likewise.
10056         (ggc_print_statistics): Use OBJECT_SIZE.
10057
10058 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10059
10060         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
10061         Only call array_size_for_constructor if last field and array type
10062         with no upper bound.
10063
10064 2001-01-04  Philip Blundell  <philb@gnu.org>
10065
10066         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
10067         from bit 31 downwards, if this requires no more insns.
10068         (count_insns_for_constant): New helper function for above.
10069
10070 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
10071
10072         * gencodes.c (output_predicate_decls): Remove empty initializer.
10073
10074 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
10075
10076         * tree.c (copy_node): Remove documentation about obstacks.
10077         (buidl1): Check that nobody tries to build 2-argument nodes this
10078         way.
10079
10080 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10081
10082         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
10083         fp_high_losum_p.
10084
10085         * gencodes.c (output_predicate_decls): Fill empty initializer
10086         braces.
10087
10088 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
10089
10090         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
10091         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
10092         or -MM.
10093         (do_include): Handle missing headers like cpp0.
10094         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
10095         paths with first include pathname.  Don't strcat to uninitialized
10096         string.
10097
10098 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
10099
10100         * regrename.c (regrename_optimize): Don't rename from frame pointer
10101         if frame_pointer_needed.
10102         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
10103         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
10104         (ia64_reorg): Use it instead of scheduling if ! optimize.
10105         (errata_emit_nops): Properly call asm_noperands.
10106         (ia64_sched_reorder): Finish cycle if we see an asm.
10107         (ia64_variable_issue): Clear scheduling state after asms.
10108
10109 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10110
10111         * cpp.texi: Update for -MT.
10112         * cppinit.c (initialize_dependency_output): Add a default
10113         target if none has been given already.
10114         (no_tgt, OPT_MT): New.
10115         (cpp_handle_option): Handle -MT.  Update -M etc.
10116         * cpplib.h (struct cpp_options): Remove deps_target.
10117         * gcc.c (cpp_options): Handle -MT.
10118         * mkdeps.c (struct deps): Move from mkdeps.h.
10119         (deps_calc_target): Rename deps_add_default_target.  Add a
10120         default target if none has been specified already.
10121         * mkdeps.h (struct deps): Move to mkdeps.c.
10122         (deps_calc_target): Rename deps_add_default_target.
10123
10124 2000-01-03  Richard Henderson  <rth@redhat.com>
10125
10126         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
10127         Remove dead code.
10128         * c-typeck.c (push_init_level): Move checks for flexible array
10129         members and zero length arrays ...
10130         (pop_init_level): ... here.  Silently discard empty initializations.
10131         Remove dead code.
10132         * varasm.c (output_constructor): Update for sizeof change to
10133         zero-length arrays.
10134
10135         * extend.texi (Zero Length): Clarify semantics.
10136
10137 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
10138
10139         * configure.in (tm.h): Include isns-codes.h last.
10140         * configure: Rebuilt.
10141
10142 2001-01-03  Richard Henderson  <rth@redhat.com>
10143
10144         * config/alpha/alpha.md (addvsi3, addvdi3): New.
10145         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
10146
10147 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10148
10149         * tradcpp.c (main): Make sure finclude() is called with a valid
10150         indepth value while handling -include.
10151
10152 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
10153
10154         * gencodes.c (output_predicate_decls): New function.
10155         (main): Call it.
10156         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
10157         even if it is not the first time machmode.h is #included.
10158         * config/sh/sh.c (fpul_operand): Declare MODE argument.
10159         * tm.texi (PREDICATE_CODES): Document predicate declarations.
10160         * gcc.texi (Copyright): Added 2001.
10161
10162 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
10163
10164         * c-common.c (c_common_lang_init): New function.  Warn if format
10165         warning options which only have effects when used with -Wformat
10166         are used without -Wformat.
10167         * c-common.h (c_common_lang_init): Declare.
10168         * c-lang.c (lang_init): Call c_common_lang_init.
10169         * objc/objc-act.c (lang_init): Call c_common_lang_init.
10170
10171 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
10172
10173         * configure.in: Check for the mktemp command.
10174         * configure: Regenerate.
10175         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
10176         $TEMP.  Create temporary files with mktemp, if available at
10177         configure time; otherwise use set -C.  Remove temporary files
10178         before exit.
10179
10180 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
10181
10182         * configure.in: Require at least texinfo 4.0.  Check for whether
10183         Pod::Man is sufficiently recent to regenerate GCC manpages.
10184         * configure:  Regenerate.
10185         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
10186         on #!.
10187         (GENERATED_MANPAGES): Define.
10188         (generated-manpages): New target.  Depend on cpp.1 as well as
10189         gcov.1.
10190         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
10191         configure to generated-manpages or empty) rather than on the
10192         manpages directly.  Remove execute permission from installed
10193         gcov.1 as well as cpp.1.
10194         * cpp.1, gcov.1: Regenerate.
10195
10196 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10197
10198         * builtins.c (expand_builtin_strncmp): Use host_integerp and
10199         tree_low_cst.  Allow using cmpstrsi in more cases.
10200
10201 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10202
10203         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
10204         sized types.
10205
10206 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
10207
10208         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
10209         * Makefile.in (HOST_CFLAGS): Mention build-make.
10210
10211 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10212
10213         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
10214         as JUMP_INSN.
10215
10216 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
10217
10218         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
10219         a REG rtx.
10220
10221         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
10222         callers changed.
10223
10224         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
10225         reg_base_value and reg_known_value arrays.
10226         (init_alias_analysis): Add more cases to detect known values.
10227         * sched-deps.c (deps_may_trap_p): New function.
10228         (sched_analyze_2): Use it.
10229
10230 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
10231
10232         * combine.c (simplify_shift_const): Even if we're sign-extracting,
10233         don't discard an ASHIFTRT if we're shifting in a wider mode.
10234
10235 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10236
10237         * toplev.c (rest_of_compilation): Don't print basic block information
10238         when CFG isn't up to date.
10239
10240 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
10241
10242         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
10243         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
10244         (UNALIGNED_SHORT_ASM_OP): Define.
10245         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
10246
10247 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
10248
10249         * fold-const.c (fold_convert): Fix typo.
10250
10251 2001-01-02  Richard Henderson  <rth@redhat.com>
10252
10253         * c-common.h (ASM_INPUT_P): New.
10254         * c-parse.in (asm): Set it when needed.
10255         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
10256         existance of an operand.
10257
10258 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
10259
10260         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
10261         (dwarf2out_frame_debug_expr): Likewise.
10262         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
10263
10264 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
10265
10266         * i386.c (ix86_split_to_parts): Return number of part required;
10267         handle TFmodes.
10268         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
10269         TFmodes.
10270         (ix86_split_long_move): Use number of part returned
10271         by ix86_split_to_parts
10272         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
10273         New macros.
10274         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
10275         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
10276         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
10277         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
10278         (ALIGN_MODE_128): Add TFmode.
10279         (IS_STACK_MODE): Likewise.
10280         (HARD_REGNO_NREGS): TFmode needs 3 registers.
10281         (HARD_REGNO_OK): Support TFmodes.
10282         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
10283         * i386.md (scheduler definitions): Use memory operand to determine
10284         fst/fld instructions; use mode attribute to determine real mode of
10285         the instruction.
10286         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
10287         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
10288
10289 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
10290
10291         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
10292
10293 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
10294
10295         * expr.c (store_constructor_field): Update ALIGN before calling
10296         store_constructor.
10297
10298 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
10299
10300         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
10301         host_integerp.
10302
10303 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
10304
10305         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
10306         incomplete type.
10307
10308 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
10309
10310         * c-decl.c (start_function): Don't warn on third parameter to main.
10311
10312 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10313
10314         * tsystem.h: Define HAVE_DECL_GETOPT.
10315
10316 2001-01-02  Philip Blundell  <pb@futuretv.com>
10317
10318         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
10319         of input operand.
10320
10321 2001-01-02  Richard Henderson  <rth@redhat.com>
10322
10323         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
10324
10325 2001-01-02  Andreas Jaeger  <aj@suse.de>
10326
10327         * c-decl.c (c_decode_option): Remove support of
10328         -Wmissing-noreturn.
10329
10330         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
10331         (W_options): Add -Wmissing-noreturn here.
10332
10333         * flow.c: Define lang_missing_noreturn_ok_p.
10334         (check_function_return_warnings): Use it.
10335
10336         * c-common.h: Declare lang_missing_noreturn_ok_p.
10337
10338         * c-lang.c (c_missing_noreturn_ok_p): New function.
10339         (lang_init): Set lang_missing_noreturn_ok_p.
10340
10341         * invoke.texi (Warning Options): Document this.
10342
10343 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
10344
10345         * extend.texi (C++ Extensions):  New node for C++ attributes;
10346         describe init_priority and com_interface.
10347         * invoke.texi:  Remove -finit-priority as it now has zero effect.
10348         * install.texi:  Fix xref syntax.
10349         * md.texi:  Likewise.
10350
10351 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10352
10353         * config.gcc (sparc64-wrs-vxworks*): New case.
10354         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
10355
10356         * config/sparc/sparc.c (sparc_override_options): Do support different
10357         pointer and architecture size.
10358         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
10359         (POINTERS_EXTEND_UNSIGNED): Define.
10360         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
10361         (FUNCTION_MODE): Define to be Pmode.
10362         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
10363
10364         * function.c (expand_function_end): Properly handle DECL_RESULT
10365         and copy when ptr_mode != Pmode.
10366         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
10367
10368 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10369
10370         * c-common.c (c_common_nodes_and_builtins): Set prototype
10371         parameters for __builtin_fputs, __builtin_fputc and
10372         __builtin_fwrite.  Don't declare plain fputc as a builtin.
10373
10374 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10375
10376         * loop.c (add_label_notes): Increment the label usage count when
10377         a note is added to an insn which refers to a CODE_LABEL.
10378         * gcse.c (add_label_notes): Likewise.
10379
10380 2001-01-01  Andreas Jaeger  <aj@suse.de>
10381
10382         * loop.c (scan_loop): Use xmalloc to allocate movables.
10383
10384 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
10385
10386         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
10387         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
10388         * reload1.c (REGISTER_MOVE_COST): Likewise.
10389         * regclass.c (REGISTER_MOVE_COST): Likewise.
10390         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
10391         dimension.  Adjust all users.
10392         (init_reg_sets_1): Iterate on all modes.
10393         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
10394         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
10395         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
10396         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
10397         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
10398         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
10399         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
10400         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
10401         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
10402         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
10403         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
10404         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
10405         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
10406         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
10407         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
10408         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
10409         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
10410         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
10411         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
10412         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
10413         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
10414         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
10415         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
10416         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
10417         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
10418         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
10419         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
10420
10421 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
10422
10423         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
10424         arg VARIES_P.  Call it with extra arg.
10425         (true_dependence): Likewise.
10426         * rtl.h (rtx_addr_can_trap_p): Declare.
10427         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
10428         prototypes.
10429         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
10430         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
10431         pic offset table register if it's zero.  All callers changed.
10432         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
10433
10434 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10435
10436         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
10437         STRING_POOL_ADDRESS_P.
10438
10439         * config/sparc/sparc.c (input_operand): Properly test for short op.
10440
10441         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
10442         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
10443         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
10444         * config/sparc/elf.h: No longer include sol2.h.
10445         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
10446         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
10447
10448         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
10449
10450 2001-01-01  Michael Hayes  <mhayes@redhat.com>
10451
10452         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
10453         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
10454         (record_initial): Likewise.
10455         * unroll.c (copy_loop_body, loop_iterations): Likewise.
10456         (remap_split_bivs): Likewise.
10457
10458 2001-01-01  Michael Hayes  <mhayes@redhat.com>
10459
10460         * loop.c (loop_ivs_free): New function.
10461         (strength_reduce): Break out from...
10462
10463 2001-01-01  Michael Hayes  <mhayes@redhat.com>
10464
10465         * loop.h (struct iv): New.
10466         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
10467         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
10468         'reg_biv_class' fields with 'regs' and 'n_regs'.
10469         (struct ivs): Rename 'loop_iv_list' field to 'list'.
10470         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
10471         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
10472
10473 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
10474
10475         * resource.c (mark_referenced_resources): Abort() before
10476         attempting to mark a pseudo register.
10477         (mark_set_resources): Likewise.
10478
10479 2001-01-01  Michael Hayes  <mhayes@redhat.com>
10480
10481         * loop.h (REG_IV_CLASS): New accessor macro.
10482         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
10483         * unroll.c (REG_IV_CLASS): Likewise.
10484
10485 See ChangeLog.4 for earlier changes.