]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
README.ALTOS: Remove obsolete file.
[gcc.git] / gcc / ChangeLog
CommitLineData
f4c5a69a
GP
12001-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2
3 * README.ALTOS: Remove obsolete file.
4
bf646593
NB
52001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
6
7 * c-lex.h (save_and_forget_protocol_qualifiers,
8 forget_protocol_qualifiers, remember_protocol_qualifiers):
9 Remove deleted functions' prototypes.
10
0b1cdaf2
NB
112001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
12
13 * c-parse.in (methodtype): New production.
14 (methoddef, methodproto): Collapse separate '-' and '+'
15 handlers into 1.
16
4c521bad
NB
172001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
18
19 * c-common.h (RID_FIRST_PQ): New.
20 * c-parse.in (objc_pq_context): New.
21 (objc parser): Set objc_pq_context rather than calling
22 remember_protocol_qualifiers and forget_protocol_qualifiers.
23 Don't call save_and_forget_protocol_qualifiers.
24 (yylexname): Handle objc protocol qualifiers here.
25 * stringpool.c (struct str_header): Replace with sp_hashnode.
26 (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
27 (alloc_string): Rename alloc_ident. Use the SP_ accessors.
28 Allocate an IDENTIFIER_NODE for each identifier.
29 (FORALL_STRINGS, set_identifier): Delete.
30 (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
31 (ggc_alloc_string): Use an obstack.
32 (get_identifier, maybe_get_identifier, mark_string_hash): Update.
33 * tree.h: Update comments.
34 (set_identifier): Delete.
35 * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
36 save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
37 remember_protocol_qualifiers): Delete.
38
fca790eb
JL
39Tue May 15 22:14:09 2001 Jeffrey A Law (law@cygnus.com)
40
41 * flow.c (life_analysis): After life analysis is complete, do
42 an optional scan over insns looking for REG_LABEL notes that
43 reference a deleted label.
44 (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
45 before peeking at LABEL_NUSES.
46
48941cb8
RH
472001-05-15 Richard Henderson <rth@redhat.com>
48
49 * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
50 (_Unwind_GetTextRelBase): New.
51
99d8dccc
MM
522001-05-15 Mark Mitchell <mark@codesourcery.com>
53
54 * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
55
50c30603
GK
562001-05-15 Geoffrey Keating <geoffk@redhat.com>
57
c53c4afc
GK
58 * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
59 so that CHOOSE_SECTION gets used.
60
50c30603
GK
61 * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
62 TARGET_RELOCATABLE like flag_pic for now.
63
78e1b90d
DE
642001-05-15 David Edelsohn <edelsohn@gnu.org>
65
66 * rs6000.md (movdi splitter): Sign extend more efficiently.
67 * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
68 to "long long" valid on 32-bit and 64-bit hosts.
a51ccef3 69 (logical_operand): Cast trunc_int_for_mode return value.
78e1b90d
DE
70 (rs6000_emit_move): Shift macro to encapsulate variable.
71 (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
72 (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
73 plus_constant requires signed argument.
74
6f9b26b0
LR
752001-05-15 Loren J. Rittle <ljrittle@acm.org>
76
77 * gthr-posix.h: Make additional pthread-* functions weak.
78
66aa2d30
JH
79Tue May 15 13:51:32 CEST 2001 Jan Hubicka <jh@suse.cz>
80
81 * recog.c (apply_change_group): Avoid unneeded validating.
82
0d30d435
DE
832001-05-14 David Edelsohn <edelsohn@gnu.org>
84
85 * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
86 (num_insns_constant): CONST_INT can be 64-bits.
87
5fa5a27c
SS
882001-05-14 Stan Shebs <shebs@apple.com>
89
90 * config/darwin.h (LIB_SPEC): Just use -lSystem.
91 (LIBGCC_SPEC): Don't define.
92
c64688ae
RH
932001-05-14 Richard Henderson <rth@redhat.com>
94
95 * configure.in (gcc_cv_as_eh_frame): New test.
96 * config.in, configure: Rebuild.
97 * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
98
f327ea3e
AM
992001-05-14 Andrew MacLeod <amacleod@redhat.com>
100
101 * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
102 extended precision divide.
103
339cb12e
AM
1042001-05-14 Andrew MacLeod <amacleod@redhat.com>
105
106 * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
107 for RETURNS as well.
108
0c2dc519
JH
109Mon May 14 17:34:48 CEST 2001 Jan Hubicka <jh@suse.cz>
110
111 * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
112 (CPP_CPU??_SIZE_TYPE): New.
113 (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
114 (CPP_CPU_SPEC): ... here; support choosing of CPU.
115 (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
116 (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
117 compiler.
118 * i386.c (override_options): Add sorry about not suported modes.
119
47792129
JL
120Mon May 14 08:56:47 2001 Jeffrey A Law (law@cygnus.com)
121
122 * config/pa/som.h (NM_FLAGS): Remove.
123 (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
124 (ASM_OUTPUT_SECTION_NAME): Remove.
125 (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
126
b2a8b026
MM
1272001-05-14 Mark Mitchell <mark@codesourcery.com>
128
129 * regrename.c (regrename_optimize): Do not rename registers to
130 leaf registers.
131
c78df6e1
AO
1322001-05-14 Alexandre Oliva <aoliva@redhat.com>
133
134 * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
135 contain MEMs. Remove useless distinction about clobbering
136 registers.
137
e44713f7
GK
1382001-05-13 Geoff Keating <geoffk@redhat.com>
139
140 * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
141 * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
142 * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
143 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
144 (EXCEPTION_SECTION): Define.
145
3fe68d0a
ZW
1462001-05-13 Zack Weinberg <zackw@stanford.edu>
147
148 * libgcc2.c, libgcc2.h: Restore __eprintf. Label as used for
149 binary backward compat only.
150 * Makefile.in (LIB2FUNCS_ST): New. Put _eprintf here, not
151 in LIB2FUNCS. Pass it to mklibgcc.
152 * mklibgcc.in: Handle LIB2FUNCS_ST.
153
154 * Makefile.in (installdirs): Don't create $(gcc_tooldir).
155
008355a6
AO
1562001-05-13 Alexandre Oliva <aoliva@redhat.com>
157
158 * tm.texi (THREAD_MODEL_SPEC): Document it.
159 * gcc.c (main): Use it.
160 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
161 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
162
ff0b6b99
FS
1632001-05-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
164
165 * rtl.h (SYMBOL_REF_WEAK): New macro.
166 * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
167 * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
168 * rtl.texi (SYMBOL_REF_WEAK): Document it.
169 * gcc.texi: Remove wrong description.
170
d9835ae8
MM
1712001-05-13 Mark Mitchell <mark@codesourcery.com>
172
173 * Makefile.in (STAMP): New macro.
174 Replace all uses of `touch' with $(STAMP).
175 * fixinc/Makefile.in: Likewise.
176
7f2749d4
RK
177Sun May 13 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
178
179 * configure.in: ldopen is never in -lexc, so don't test for it.
180 Add test for exc_resume in -lexc for Ada.
181 * configure: Regenerated.
182
d9c21959 1832001-05-12 Richard Henderson <rth@redhat.com>
b627d6fe
RH
184
185 * dwarf2asm.c (size_of_encoded_value): New function.
186 * dwarf2asm.h: Declare it.
187 * except.c (output_function_exception_table): Align the TType
188 array only as wide as the encoding.
189
1f730ff7
ZW
1902001-05-12 Zack Weinberg <zackw@stanford.edu>
191
192 * extend.texi: Document #pragma GCC java_exceptions.
193
a3eaca15
NB
1942001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
195
196 * c-parse.in (bison parser, init_reswords): Remove uses of
197 doing_objc_thang.
198 * c-tree.h (doing_objc_thang): Remove.
199
800914c3
NB
2002001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
201
202 * cpplex.c (_cpp_lex_token): Ensure we warn at most once
203 about files not ending in newlines.
204
64f0ba0a
NB
2052001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
206
207 * dwarfout.c (dwarfout_init): Add cast.
208 * sched-deps.c (sched_analyze_insn): Remove unused vars.
209 * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
210cp:
211 * method.c (build_mangled_C99_name): Remove unused prototype.
212
92928d71
AO
2132001-05-12 Alexandre Oliva <aoliva@redhat.com>
214
215 * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
216
f3c55c97
AO
2172001-05-12 Alexandre Oliva <aoliva@redhat.com>
218
219 * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
220 * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
221
2a1ee410
RH
2222001-05-11 Richard Henderson <rth@redhat.com>
223
224 * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
225 * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
226 dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
227 * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
228 (dw2_output_indirect_constants): Prototype.
229 * dwarf2out.c (dwarf2out_begin_prologue): Generate
230 current_function_func_begin_label if we'll need it for EH. Exit
231 early for IA64_UNWIND_INFO.
232 * except.c: Get DW_EH_PE_* defines from dwarf2.h.
233 (eh_data_format_name): Update for indirect references.
234 (output_function_exception_table): Care for IA64_UNWIND_INFO.
235 Handle ASM_PREFERRED_EH_DATA_FORMAT.
236 * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
237 define HAVE_eh_return etc.
238 * final.c (final_start_function): Always call dwarf2out_begin_prologue.
239 (final_end_function): Don't call output_function_exception_table.
240 * toplev.c (compile_file): Call dw2_output_indirect_constants.
241 (rest_of_compilation): Invoke output_function_exception_table
242 for ia64 before assemble_end_function.
243 * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
244 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
245
246 * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
247 * unwind.h: Declare them.
248 * libgcc-std.ver: Export them.
249 * unwind-pe.h: New file.
250
251 * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
252
253 * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
254 instead of "fde".
255 (find_fde_for_dso): Extract DT_PLTGOT.
256 (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
257 the segment and gp as well.
258 * config/ia64/frame-ia64.c: Remove file.
259 * config/ia64/frame-ia64.h: Remove file.
260 * config/ia64/unwind-ia64.c: New file.
261 * config/ia64/unwind-ia64.h: New file.
262 * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
263 (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
264 (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
265 (ASM_PREFERRED_EH_DATA_FORMAT): New.
266 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
267 (IA64_UNWIND_INFO): Re-enable.
268 (HANDLER_SECTION): Remove.
269 (EH_RETURN_DATA_REGNO): New.
270 * config/ia64/ia64.md (exception_receiver): Remove.
271 * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
272 * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
273
f12f25a7
RH
2742001-05-11 Richard Henderson <rth@redhat.com>
275
276 * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
277 calls and jumps to be bundled together.
278 (ia64_reorg): Emit a break after a noreturn call that ends
279 a function.
280 * config/ia64/ia64.md (break_f): New.
281
c8a96070
NB
2822001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
283
284 * c-lex.c (lex_charconst): Convert into a simple wrapper
285 around cpp_interpret_charconst, to which most of the code
286 body is moved.
287 * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
288 MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
289 MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
290 (lex): Use cpp_interpret_charconst.
291 * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
292 hex_digit_value): New functions.
293 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
294 * cpplib.h (cpp_interpret_charconst): New prototype.
295 * Makefile.in: Update.
296
f42974dc
DW
2972001-05-12 Dean Wakerley <dean@wakerley.com>
298
299 * doc/install.texi: New file. Converted to texinfo from the HTML
300 documentation in wwwdocs/htdocs/install.
301
37ff4d28
JL
302Fri May 11 15:50:13 2001 Jeffrey A Law (law@cygnus.com)
303
8598a9a2
JL
304 * gcse.c (insert_insn_end_bb): Do not search for assignments to
305 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
306
37ff4d28
JL
307 * toplev.c (compile_file): Move comment for opening output
308 file to just before the code that opens the output file.
309
3721581a
JJ
3102001-05-11 Jakub Jelinek <jakub@redhat.com>
311
312 * regmove.c (regmove_optimize): Suppress the optimization for
313 unchanging destination register. Add comment above function.
314
fecd6201
ZW
3152001-05-11 Zack Weinberg <zackw@stanford.edu>
316
317 * Makefile.in: Exterminate all references to assert.h.
318 * cross-make: Likewise.
319 * assert.h: Delete.
320 * configure.in: Correct commentary.
321 * configure: Regenerate.
322
323 * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
324 Remove __eprintf.
325
326 * config/t-freebsd, config/t-linux, config/t-linux-aout,
327 config/t-netbsd, config/t-rtems, config/x-linux,
328 config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
329 No need to override INSTALL_ASSERT_H.
330
331 * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
332 fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
333 fixinc/fixincl.sh: Don't install assert.h into objdir/include.
334
99dc5306
GS
3352001-05-11 Graham Stott <grahams@redhat.com>
336
337 * combine.c (simplify_comparison): Fix typo.
338
28680540
MM
3392001-05-11 Mark Mitchell <mark@codesourcery.com>
340
341 * loop.h (struct movables): Remove `num'.
342 * loop.c (scan_loop): Don't set it. Use count_insns_in_loop.
343 Adjust call to strength_reduce.
344 (num_unmoved_movables): New function.
345 (move_movables): Don't set movables->num.
346 (strength_reduce): Compute the number of instructions in the loop
347 here, rather than in the caller.
348 (check_dbra_loop): Always clear reversible_mem_store if there
349 are any memory sets.
350 (loop_regs_scan): Don't count instructions here.
351 (count_insn_in_loop): New function.
352
897aa57f
MM
3532001-05-11 Mark Mitchell <mark@codesourcery.com>
354
355 * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
356
15b732b2
NB
3572001-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
358
359 * c-common.c (finish_label_expr): New function, lifted from
360 from cp/semantics.c.
361 * c-common.h (finish_label_expr, lookup_label): New prototypes.
362 * c-parse.in: Move 3 blocks of parser code into new functions.
363 * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
364 * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
365 (lookup_label): Remove.
366
487dcdb0
AO
3672001-05-11 Alexandre Oliva <aoliva@redhat.com>
368
369 * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
370 FLOAT_BIT_ORDER_MISMATCH.
371
f1eaaf73
DE
3722001-05-10 David Edelsohn <edelsohn@gnu.org>
373
374 * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
375 bytes. Reported by Kazu Hirata <kazu@hxi.com>.
376
f3ce87a9
DE
3772001-05-10 David Edelsohn <edelsohn@gnu.org>
378
379 * expr.c (emit_group_load): extract_bit_field requires a REG or
380 MEM as an argument.
381
7dfd465c
JL
382Thu May 10 14:45:44 2001 Jeffrey A Law (law@cygnus.com)
383
d466c016
JL
384 * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
385 a computed jump into an unconditional jump.
386 In second hunk of code for collapsing computed and conditional jumps
387 into unconditional jumps, reemit the jump in additional cases.
388
7dfd465c
JL
389 * jump.c (jump_optimize_1): Do not wrap the new jump target
390 inside a LABEL_REF; gen_jump will do that automatically.
391
79cdfa4b
TM
3922001-05-10 Toon Moene <toon@moene.indiv.nluug.nl>
393
394 * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
395 contents for a SYMBOL_REF in case of floating point constants.
396
b0089a92
DD
3972001-05-10 DJ Delorie <dj@redhat.com>
398
399 * c-common.c (combine_strings): Widen strings in a
400 host-endian-independent way.
401
25d78ace
JM
4022001-05-10 Joseph S. Myers <jsm28@cam.ac.uk>
403
404 * c-parse.in: Remove many shift/reduce conflicts. Update
405 %expect values.
406 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
407 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
408 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
409 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
410 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
411 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
412 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
413 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
414 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
415 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
416 maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
417 typespec_reserved_nonattr, typespec_reserved_attr,
418 typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
419 structsp_nonattr, components_notype, component_notype_declarator,
420 absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
421 firstparm, setspecs_fp): New
422 (typed_declspecs, reserved_declspecs, typed_typespecs,
423 reserved_typespecquals, declmods, typespec, typespecqual_reserved,
424 typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
425 declmods_no_prefix_attr, nonempty_type_quals, structsp,
426 type_quals): Remove. Users updated.
427 (initdecls, notype_initdecls, after_type_declarator,
428 parm_declarator, notype_declarator, absdcl1, components, ivars):
429 Don't allow attributes at the start of a declarator; include them
430 in the production containing the declarator instead. Always
431 require type specifiers before trying to redeclare a typedef name.
432 (typename): Allow for attributes but warn that they are ignored.
433 (parmlist, firstparm, setspecs_fp): Include attributes in
434 parmlist; suck them off the parser stack in firstparm using
435 setspecs_fp.
436
f926a256
JL
437Thu May 10 09:17:42 2001 Jeffrey A Law (law@cygnus.com)
438
439 * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
440 to determine if a block has an unconditional jump at its end.
441
442 * jump.c (jump_optimize_1): When converting a conditional jump
443 to an unconditional jump, build the jump using gen_jump instead
444 of just modify operands in-place.
445
6d4587f7
ZW
4462001-05-09 Zack Weinberg <zackw@stanford.edu>
447
448 * cppinit.c (cpp_post_options): Shut off macro expansion if
449 -fpreprocessed.
450 * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
451 IN_I directives only if the # is in column 1 and the directive
452 name begins in column 2.
453 * cppmain.c (scan_buffer): Insert a space between # and an
454 identifier, when that identifier is a directive name.
455
456 * tradcpp.c (struct file_buf): Add a pointer to the next entry
457 in the header search path.
458 (enum node_type): Add T_INCLUDE_NEXT.
459 (directive_table): Add entry for include_next.
460 (do_include_next): New function.
461 (process_include): New routine, broken out of do_include.
462 (finclude): Insert 'nhd' argument, to be copied into
463 next_header_dir of the new buffer.
464 (main): Adjust to match.
465 * gsyslimits.h, limity.h: Un-indent #include_next.
466
10c179f3
JM
4672001-05-09 Joseph S. Myers <jsm28@cam.ac.uk>
468
469 * objc.texi: Move from ../libobjc/objc-features.texi. Adjust for
470 inclusion as a chapter of the GCC manual.
471 * gcc.texi: Include objc.texi.
472 * fdl.texi: Use @unnumberedsec for the addendum.
473 * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
474
6c12e488
JH
475Wed May 9 16:01:41 CEST 2001 Jan Hubicka <jh@suse.cz>
476
477 * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
478
d3c7d45e
AO
479Wed May 9 10:40:25 2001 Alexandre Oliva <aoliva@redhat.com>
480
481 * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
482 handling of two-address insns.
483
d08d4a19
AO
484Wed May 9 10:36:18 2001 Alexandre Oliva <aoliva@redhat.com>
485
486 * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
487 ../binutils/nm-new instead of ../binutils/nm.
488
a2bafd20
JH
489Wed May 9 12:15:46 CEST 2001 Jan Hubicka <jh@suse.cz>
490
491 * i386.md (movdi splitter): Fix the splitting condition
492 (float_extenddftf splitter): Fix mode.
493
4ea7a307
JH
494Wed May 9 12:05:39 CEST 2001 Jan Hubicka <jh@suse.cz>
495
496 * genrecog.c (write_switch): Avoid outputting of switch for
497 types wider than int.
498
94bd63e5
AH
4992001-05-03 Andrew Haley <aph@cambridge.redhat.com>
500
501 * reload1.c (copy_eh_notes): New function.
502 (emit_input_reload_insns): Call it.
503 (emit_output_reload_insns): Call it.
504
7d25bcce
ZW
5052001-05-07 Zack Weinberg <zackw@stanford.edu>
506
507 * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
508 Delete stanzas.
509 * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
510 config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
511
512 * optabs.c: Delete #ifdef BROKEN_LDEXP block.
513
5c8cfcd6
JDA
5142001-05-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
515
516 * pa.md (interspace_jump): Revise comment.
517 (builtin_longjmp): Block initial setup insns from delay slot of
518 interspace branch.
519 (builtin_setjmp_receiver): New expander to save and restore PIC
520 register.
521
522 * som.h (NM_FLAGS): Remove `-n' sort option. Revise comment.
523
b73bff7e
JL
524Mon May 7 09:30:14 2001 Jeffrey A Law (law@cygnus.com)
525
1a02aff4
JL
526 * toplev.c (compile_file): Set up the output file before we call
527 the various initializers for the compiler.
528
cb0bb87d
JL
529 * except.c (sjlj_mark_call_sites): Do not search for assignments to
530 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
531
b73bff7e
JL
532 * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
533 * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
534
37459466
ZW
5352001-05-06 Zack Weinberg <zackw@stanford.edu>
536
537 * Makefile.in (tradcpp0): Correct typo in dependency list.
538
d5fa86ba
GK
5392001-05-06 Geoff Keating <geoffk@redhat.com>
540
541 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
542 the link register if we're not going to use it.
543
544 * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
545 (output_function_profiler): Likewise.
546
ff5a340a
AM
5472001-05-07 Alan Modra <amodra@one.net.au>
548
549 * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
550
024c02b1
AO
5512001-05-06 Alexandre Oliva <aoliva@redhat.com>
552
b8ebd779
AO
553 * unroll.c (loop_iterations): Don't sign-extend abs_diff;
554 zero-extend it. Make abs_inc unsigned.
555
3c04502e
AO
556 * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
557 widest mode in narrowing and widening operations.
558
024c02b1
AO
559 * config/mips/mips.md: Sign extend CONST_INTs.
560
762e166b
AJ
5612001-05-06 Andreas Jaeger <aj@suse.de>
562
563 * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
564 (i386 Options): Document -momit-leaf-frame-pointer.
565
714a0864
NB
5662001-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
567
568 * c-typeck.c (internal_build_compound_expr): Check for
569 array to pointer conversion just once.
570
e00c1338
RH
5712001-05-05 Richard Henderson <rth@redhat.com>
572
573 * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
574
45053eaf
RH
5752001-05-05 Richard Henderson <rth@redhat.com>
576
577 * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
578 to the parent of the fixup region.
579
5802001-05-05 Jakub Jelinek <jakub@redhat.com>
2a9071bb
JJ
581
582 * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
583 "inline" keyword.
584 * cpp.texi (__NO_INLINE): Document it.
585
f277b5e0
NB
5862001-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
587
588 * cppfiles.c (struct include_file): New member err_no.
589 (find_or_create_entry): Set it.
590 (open_file): Don't set fds to -2. Instead, use err_no to
591 remember previous errors, if any.
592
ce8882e6
SC
5932001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
594
595 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
596 between X and Y by using sequences of xgdx and xgdy.
597
a1fdc802
SC
5982001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
599
600 * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
601 of '!' for the 'D' alternative ('!' is too strong).
602 ("*logicalsi3_silshl16"): Likewise.
603 ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
604 ("movstrictsi"): Remove spurious '+'.
605 ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
606 ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
607 ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
608 a reload to them.
609
4f380204
DE
6102001-05-04 David Edelsohn <edelsohn@gnu.org>
611
612 * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
613
c52c9a9c
LB
6142001-05-04 Lars Brinkhoff <lars@nocrew.org>
615
616 * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
617 into -a.
618
ff0b6b99 6192001-05-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4264cf59 620
c52c9a9c
LB
621 * config/rs6000/rs6000.md (ashldi3 splits): Guard with
622 TARGET_POWERPC64.
4264cf59 623
39cc8df7
SC
6242001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
625
626 * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
627 soft register, use ror instead of rol.
628
3c2f4000
SC
6292001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
630
631 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
632 into account pre/post increment decrement for 68HC12.
633 Fix other problems in replacement and fix call to reg_mentioned_p.
634
c5c2ca16
SC
6352001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
636
637 * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
638 Put the soft registers in bss for 68HC12.
639 (L_regs_d3_4): New for _.d3 and _.d4.
640 (L_regs_d5_6): Likewise.
641 (L_regs_d1_2): Likewise.
762e166b 642 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
c5c2ca16 643
3750bc81
SC
6442001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
645
646 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
647 to the pre-processor when -fshort-double is specified.
648 * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
649
3d0746ba
SC
6502001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
651
652 * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
653 (__mulsi3): Rewrite for 68HC12.
654 * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
762e166b 655 Mark 'x' constraint with earlyclobber to prevent a
3d0746ba
SC
656 RELOAD_FOR_OTHER_ADDRESS to go in it.
657 (mulhi3_m68hc12): New pattern.
658 (mulhi3_m68hc11): Rename of mulhi3.
659 (mulhi3): New expand for 68HC12 optimisation.
660 (umulhisi3, mulhisi3): New patterns for 68HC12.
661
dc3c6806
SC
6622001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
663
664 * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
665 (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
666 (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
667
5a62a693
SC
6682001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
669
670 * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
671 constants cheap after reload.
672 * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
673 are cheap.
674 (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
675 so that gcc prefers a shift by 16.
676 (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
677
30506ece
NC
6782001-05-04 Nick Clifton <nickc@cambridge.redhat.com>
679
680 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
681
df4ae160
KG
6822001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
683
684 * alpha.h: NULL_PTR -> NULL.
685 * arm.c: Likewise.
686 * arm.h: Likewise.
687 * avr.h: Likewise.
688 * c4x.c: Likewise.
689 * c4x.h: Likewise.
690 * i386.c: Likewise.
691 * i386.md: Likewise.
692 * i860.c: Likewise.
693 * ia64.c: Likewise.
694 * m68hc11.h: Likewise.
695 * rs6000.h: Likewise.
696 * sh.c: Likewise.
697 * sh.h: Likewise.
698 * sparc.h: Likewise.
699 * v850.c: Likewise.
700
701 * expr.c: Likewise.
702 * final.c: Likewise.
703 * gcc.c: Likewise.
704 * recog.c: Likewise.
705
37a58036
KG
7062001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
707
708 * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
709 `bool' parameter to `int'.
710
711 * hash.c (hash_lookup): Likewise.
762e166b 712
37a58036
KG
713 * hash.h (hash_lookup): Likewise.
714
715 * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
716
e7a4892c
JH
717Fri May 4 13:10:03 CEST 2001 Jan Hubicka <jh@suse.cz>
718
719 * i386.c (x86_initialize_trampoline): Fix mode of constant.
720
3e18fdf6
GK
7212001-05-03 Geoff Keating <geoffk@redhat.com>
722
723 * invoke.texi (i386 Options): Delete references to -malign-jumps,
724 -malign-loops, -malign-functions.
725 * i386.c (ix86_align_funcs): Delete.
726 (ix86_align_loops): Delete.
727 (ix86_align_jumps): Delete.
728 (override_options): Mark -malign-* as obsolete. Emulate their
729 behaviour with the -falign-* options. Default -falign-* from
730 the processor table.
731 * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
732 patch of Wed May 2 13:09:36 2001.
733 (LOOP_ALIGN): Delete.
734 (LOOP_ALIGN_MAX_SKIP): Delete.
735 (LABEL_ALIGN_AFTER_BARRIER): Delete.
736 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
737
02d208ff
AJ
7382001-05-04 Andreas Jaeger <aj@suse.de>
739
740 * except.h: Add prototype declaration for
741 expand_builtin_init_dwarf_reg_sizes.
742
4091fa5f
GK
7432001-05-03 Geoffrey Keating <geoffk@redhat.com>
744
745 * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
746
c418c5ab
SC
7472001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
748
749 * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
750 instruction.
751 ("bitcmpqi2"): New pattern for bit-extract and test.
752 ("bitcmphi"): New pattern for bitb/bita instructions.
753
fa27606c
JM
7542001-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
755
756 * gccbug.in: Use a temporary directory when the mktemp command is
757 not available.
758
7bdf2c65
SC
7592001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
760
761 * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
762 instead of _.d1.
763 (INITIALIZE_TRAMPOLINE): Call it.
764 (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
765 (TRAMPOLINE_TEMPLATE): Remove.
766 * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
767 * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
768 Declare.
769
df9ab511
DB
7702001-05-03 David O'Brien <obrien@FreeBSD.org>
771
772 * config/t-freebsd: Don't install "assert.h" in gcc. Compile crtbeginS.o
773 and crtendS.o with PIC.
774
01beec65
SC
7752001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
776
777 * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
778 negative numbers.
779 (___subdi3, ___adddi3): Use x instead of y as index register.
780 (__init_bss_section, __map_data_section): Optimize for 68HC12.
781 (__memset, __memcpy): Likewise.
782 (regs): Put the soft registers in bss for 68HC12.
783 (abort): Use trap to abort for 68hc12.
784 (__mulhi3, __mulhi32): Use emul for 68hc12.
785 (__mulsi3): Avoid to use the tmp soft register for 68hc12.
786
7872001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
788
789 * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
790 * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
791 * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
792 (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
793 Set 68HC12 min offset to -65536.
02d208ff 794 (print_operand): Put parenthesis arround the operand if it refers
01beec65 795 to a symbol having the same name as a register.
02d208ff 796 (m68hc11_z_replacement): When z register is replaced by its
01beec65
SC
797 equivalent soft register, force the insn to be re-recognized.
798 (m68hc11_check_z_replacement): Fix the test when destination is
799 the index register and z dies in the insn.
800 (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
801
8022001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
803
804 * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
805 costs according to processor variant.
806 (m68hc11_shift_cost): New function to compute shift costs.
807 (m68hc11_rtx_costs): Define costs according to processor variant.
808 (m6811_cost): Costs for 68HC11.
809 (m6812_cost): Costs for 68HC12.
810 (COSTS_N_INSNS): Remove.
811
812 * config/m68hc11/m68hc11.h (RTX_COSTS): New.
813 (DEFAULT_RTX_COSTS): Remove.
814 (CONST_COSTS): Define costs according to OUTER_CODE.
815 (processor_costs): New struct to define costs.
816 (m68hc11_cost): Pointer to current costs.
817
8182001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
819
820 * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
821 and use m68hc11_notice_keep_cc when using leax/leay.
02d208ff 822 (addhi3 split): Reject split if the insn is handled by
01beec65
SC
823 leax/leay above.
824 * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
825 push must be handled in a special way if the source operand uses
826 sp as index register.
827 (m68hc11_notice_keep_cc): New function.
02d208ff 828 (m68hc11_gen_movhi): Use it when an insn changes a register but
01beec65
SC
829 not the flags.
830 (m68hc11_gen_movqi): Fix move for 68HC12.
831 * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
832
8332001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
834
835 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
836 and don't pass operands[0] to emit_library_call_value.
837
8382001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
839
840 * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
841 (zero_extendsi split): Simplify and use (zero_extendhi).
02d208ff 842 (*addhi3): Remove 'w' constraint since stack pointer is handled
01beec65
SC
843 by (addhi3_sp).
844 (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
845 (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
846 (*ashrhi3_const): Fix shift by 7.
847 (*lshrsi3_const16): Fix template.
848 (call, call_value): Fix constraint and predicate.
849
8502001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
851
852 * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
853 (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
854 (CC_REGNUM): Likewise.
855 (*unnamed splits): Use above constants instead of hard coded numbers.
856 (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
857 (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
858 (*return_16bit, *unnamed peepholes): Likewise.
859
cb5dda2b
DB
8602001-05-03 David O'Brien <obrien@FreeBSD.org>
861
862 * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix): Do not include
863 rs6000/rs6000.h twice.
864
11fdc4c3
ME
8652001-05-03 Mark Elbrecht <snowball3@bigfoot.com>
866
867 * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
868 (CPP_SPEC): Conditionally define MSDOS and GO32.
869 (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
870 (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
871 ignored.
872 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
873
776716da
AO
8742001-05-03 Alexandre Oliva <aoliva@redhat.com>
875
876 * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
877
c826ae21
MM
8782001-05-03 Mark Mitchell <mark@codesourcery.com>
879
880 * integrate.h (struct inline_remap): Add leaf_reg_map table.
881 * integrate.c (expand_inline_function): Use xcalloc to allocate
882 memory.
883 (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
884 registers.
885
c64539a8
MM
8862001-05-03 Mark Mitchell <mark@codesourcery.com>
887
888 * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
889 if it is not set.
890
4abe9f62
AO
8912001-05-03 Alexandre Oliva <aoliva@redhat.com>
892
2ea10770
AO
893 * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
894 linker if -mrelax is given.
895 (TARGET_SWITCHES): Document -mrelax.
896
4abe9f62
AO
897 Re-installed 2001-01-09's patch:
898 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
899 if it's wider than long and the target's long is wider than the
900 host's.
901
05de394b
DB
9022001-05-02 David O'Brien <obrien@FreeBSD.org>
903
904 * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h: Do not
905 directly include rs6000/rs6000.h. Instead do it in tm.h.
906
fa340504
SS
9072001-05-02 Stan Shebs <shebs@apple.com>
908
909 * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
910 NSConstantString for NeXT-style runtimes.
911 (STRING_OBJECT_GLOBAL_NAME): New macro.
912 (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
913 OCTI_STRING_CLASS_DECL.
914 (constant_string_global_id): New macro.
915 (string_class_decl): Ditto.
916 (setup_string_decl): New function.
917 (build_objc_string_object): Use it to build a NeXT runtime
918 compatible string initializer.
919
2d2a86ae
JJ
9202001-05-02 Jakub Jelinek <jakub@redhat.com>
921
922 * tradcpp.c (do_define): Make sure we don't walk past limit.
923
258bfae2
FS
9242000-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
925
926 * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
927 offsets if not REG_OK_STRICT.
928
929 * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
930 (INT_REG_OK_FOR_INDEX_P): Likewise.
931 (INT_REG_OK_FOR_BASE_P): Likewise.
932 (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
933 (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
934 (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
6d4587f7 935 INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
258bfae2
FS
936 REG_OK_FOR_BASE_P. Take an additional parameter.
937 (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
938 (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
939 (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
940 (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
941 rs6000_legitimate_address() and use it.
942 * config/rs6000/rs6000.c: Update all callers.
943 (rs6000_legitimate_address): New function.
944
d34c5b80
DE
9452001-05-02 David Edelsohn <edelsohn@gnu.org>
946
947 * config/rs6000/rs6000.c (rs6000_emit_move): Merge
948 special_constant conditional blocks together.
949
9502001-05-02 Dale Johannesen <dalej@apple.com>
951
952 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
953 parameter.
954 (STRICT_ARGUMENT_NAMING): Define.
955 * config/rs6000/rs6000.c (function_arg_advance, function_arg,
956 function_arg_partial_nregs, setup_incoming_varargs): Remove
957 args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
958 is defined.
959
2be6a7e9
RK
960Wed May 2 13:09:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
961
f1419b42
RK
962 * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
963
6349ad24
RK
964 * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
965 for replacement.
966
2be6a7e9
RK
967 * expr.c (store_field): Do nothing except elaborate side-effects if
968 zero-bit field.
969
9714cf43
KG
9702001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
971
972 * c-lex.c: NULL_PTR -> NULL.
973 * cse.c: Likewise.
974 * emit-rtl.c: Likewise.
975 * gcse.c: Likewise.
976 * genpeep.c: Likewise.
977 * jump.c: Likewise.
978 * mips-tdump.c: Likewise.
979 * reload1.c: Likewise.
980 * rtlanal.c: Likewise.
981 * stmt.c: Likewise.
982 * stor-layout.c: Likewise.
983 * toplev.c: Likewise.
984
0a5fee32
PB
9852001-05-01 Per Bothner <per@bothner.com>
986
987 * expr.c (expand_expr): When compiling LABELED_BLOCK_EXPR,
988 call do_pending_stack_adjust before emiting label.
989
bd78000b
MM
9902001-05-01 Mark Mitchell <mark@codesourcery.com>
991
992 * extend.texi: Fix typo.
993
d54d2a05
SS
9942001-05-01 Stan Shebs <shebs@apple.com>
995
996 * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
997 of UOBJC_MODULES_decl.
998 (generate_strings): Clear DECL_CONTEXT of new decl nodes.
999 (generate_descriptor_table): Ditto.
1000 (generate_protocols): Ditto.
1001 (generate_protocol_list): Ditto.
1002 (generate_classref_translation_entry): Ditto.
1003
1c4c47db
JO
10042001-05-01 Jeffrey Oldham <oldham@codesourcery.com>
1005
1006 * invoke.texi (Optimize Options): Add documentation for `--param
1007 max-delay-slot-insn-search' and `--param
1008 max-delay-slot-live-search' and reorder --param section.
1009 * params.def: Modify initial comment.
1010 * params.h (param_info): Add `help' member.
1011 * toplev.c (lang_independent_params): Include `help' description.
1012 (display_help): Print --param parameters.
1013
4e70264f
ZW
10142001-05-01 Zack Weinberg <zackw@stanford.edu>
1015
1016 * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
1017 Remove references to deleted files.
1018 (*-*-openbsd): No need to override xmake_file.
1019 (*-*-sysv4): Treat like *-*-sysv.
1020
1021 * configure.in: Probe for ldopen in various places, and set up
1022 collect2 to be linked with them if found.
1023 Don't dink with Windows registry stuff unless $host_os is a
1024 Win32 os name. Check to see if we need -ladvapi32.
1025 * configure: Regenerate.
1026
1027 * Makefile: Get rid of CLIB and HOST_CLIB.
1028 Substitute in COLLECT2_LIBS and link collect2 against its contents.
1029 * build-make: Get rid of HOST_CLIB.
1030
1031 * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
1032 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
1033 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
1034 config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
1035 config/rs6000/x-rs6000: Delete.
1036
1037 * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
1038 Don't set CLIB.
1039
1040 24 x-host fragments remain, 0 x-cpu, 3 top level.
1041
10422001-05-01 Zack Weinberg <zackw@stanford.edu>
1043
1044 * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
1045 * configure: Regenerate.
1046
16636d35
AMT
10472001-05-01 Angela Marie Thomas <angela@cygnus.com>
1048
1049 * Makefile.in (install-headers): Remove redundant dependency.
1050
07dd196a
NS
10512001-05-01 Nathan Sidwell <nathan@codesourcery.com>
1052
1053 * c-tree.texi (USING_STMT): Document.
1054
6496a589
KG
10552001-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1056
1057 * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
1058 * c-common.c: Likewise.
1059 * c-decl.c: Likewise.
1060 * combine.c: Likewise.
1061 * rs6000.c: Likewise.
1062 * except.c: Likewise.
1063 * explow.c: Likewise.
1064 * expr.c: Likewise.
1065 * fold-const.c: Likewise.
1066 * function.c: Likewise.
1067 * gcc.c: Likewise.
1068 * gcse.c: Likewise.
1069 * integrate.c: Likewise.
1070 * loop.c: Likewise.
1071 * objc/objc-act.c: Likewise.
1072 * recog.c: Likewise.
1073 * reg-stack.c: Likewise.
1074 * reload.c: Likewise.
1075 * reload1.c: Likewise.
1076 * simplify-rtx.c: Likewise.
1077 * stmt.c: Likewise.
1078 * varasm.c: Likewise.
1079
d0e66dbb
GDR
10802001-05-01 Gabriel Dos Reis <gdr@codesourcery.com>
1081
1082 * diagnostic.def: New file.
1083 * diagnostic.h (diagnostic_t): New enum.
1084 * Makefile.in (diagnostic.o): Depend on diagnostic.def
1085
34f4f3a5
ZW
10862001-04-30 Zack Weinberg <zackw@stanford.edu>
1087
02d208ff 1088 * tsystem.h: Test only POSIX for availability of string.h
34f4f3a5
ZW
1089 and time.h.
1090 * config.gcc (all systems): If USG appeared in xm_defines,
1091 change it to POSIX. If both USG and POSIX appeared, just
1092 delete USG. Remove unnecessary quotes around xm_defines
1093 settings.
1094 (m68k-crds-unos*): Don't #define unos - tested nowhere.
1095 (m68k-apple-aux*): Don't #define AUX - tested nowhere.
1096 (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
1097 powerpc-*-linux*): No need to set xm_defines - handled by
1098 global settings for *-*-linux*.
1099
7719ffbf
ZW
11002001-04-30 Zack Weinberg <zackw@stanford.edu>
1101
1102 * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
1103 Always include gstab.h, not system stab.h. Don't provide
1104 default definitions of N_CATCH or N_OPT. Always use the
1105 gstab.h variant of STAB_CODE_TYPE.
1106 * final.c: Don't include stab.h/gstab.h at all, or provide
1107 defaults for N_SLINE and N_SOL.
1108
1109 * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
1110 N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
1111 available.
1112 * sdbout.c: Always include gsyms.h instead of system syms.h.
1113
1114 * configure.in: No need to check for stab.h.
1115 * configure, config.in: Regenerate.
1116 * Makefile.in (final.o): Don't depend on gstab.h.
1117
e71b34aa 11182001-04-30 Mark Mitchell <mark@codesourcery.com>
7719ffbf
ZW
1119 Richard Henderson <rth@redhat.com>
1120
e71b34aa 1121 * extend.texi: Improve documentation of volatile asms.
7719ffbf 1122
e71b34aa
MM
11232001-04-30 Mark Mitchell <mark@codesourcery.com>
1124
1125 * c-tree.texi: Fix thinko.
1126 * gcc.texi: Likewise.
1127
d72040f5
RH
11282001-04-30 Richard Henderson <rth@redhat.com>
1129
1130 * c-common.c (c_promoting_integer_type_p): New function, from the
1131 corpse of old macro. Properly promote too-small enumerations and
1132 booleans. Adjust all callers.
1133 * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
1134 (c_promoting_integer_type_p): Declare.
1135 * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
1136 * c-typeck.c: Likewise.
1137 (default_conversion): Remove now redundant boolean check.
1138
595c2290 11392001-04-30 Jan Hubicka <jh@suse.cz>
7719ffbf 1140 Richard Henderson <rth@redhat.com>
595c2290
JH
1141
1142 * regmove.c (try_apply_stack_adjustment): Remove now redundant
1143 sanity checks.
1144 (combine_stack_adjustments_for_block): Don't combine stack
1145 allocation followed by deallocations. Handle grow-up stacks.
1146
c3aac512
MM
11472001-04-30 Mark Mitchell <mark@codesourcery.com>
1148
1149 * fdl.texi: New file.
1150 * c-tree.texi: Use the GFDL.
1151 * gcc.texi: Likewise.
1152
60de6385
SS
11532001-04-30 Stan Shebs <shebs@apple.com>
1154
1155 * invoke.texi: Add a section documenting Objective-C options.
1156
d6e95df8
AH
11572001-04-27 Andrew Haley <aph@cambridge.redhat.com>
1158
1159 * emit-rtl.c (try_split): Copy EH notes to sequence.
1160
d60e5448
MM
11612001-04-30 Mark Mitchell <mark@codesourcery.com>
1162
1163 * regmove.c (record_stack_memrefs): Catch all references to the
1164 stack pointer.
1165
fba3bbe3
TR
11662001-04-29 Toomas Rosin <toomas at ns dot tklabor dot ee>
1167
1168 * Makefile.in(stmp-fixinc): quote shell assignment values
1169
d4f2852f
KG
11702001-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1171
1172 * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
1173
1174 * gcc.c: Likewise.
1175
1176 * prefix.c: Likewise.
1177
f37f462a
SS
11782001-04-28 Stan Shebs <shebs@apple.com>
1179
28df0b5a
SS
1180 * objc/objc-act.c (handle_class_ref): Rewrite to flush target
1181 specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
1182 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
1183 * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
1184
f37f462a
SS
1185 * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
1186 (NEXT_OBJC_RUNTIME): Define.
7719ffbf 1187
141e454b
JH
1188Sat Apr 28 21:02:58 CEST 2001 Jan Hubicka <jh@suse.cz>
1189
1190 * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
1191 * simplify-rtx.c (simplify_gen_relational): Likewise.
1192
1193 * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
1194
1195 * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
1196 * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
1197
1198 * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
1199 registers in SSE case; fix handling of the immediates.
1200 (negsf2_ifs, abssf2_ifs): Tweak constraints; require
1201 operands to be in regsiters before reload.
1202 (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
1203 (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
1204 (abstf,absxf,negtf,negxf splitters): Compute
1205 properly the regnum for x86_64.
1206 (avsdf2_if_rex64): New.
1207
5bb86bf2
JL
1208Sat Apr 28 10:36:23 2001 Jeffrey A Law (law@cygnus.com)
1209
1210 * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
1211 and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
1212 into the constant pool.
1213 * jump.c (jump_optimize_1): Remove barrier successors after all
1214 the LABEL_NUSES counds have been computed.
1215 (delete_barrier_successors): When deleting a tablejump insn, also
1216 delete the jump table it uses.
1217 * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
1218 label into memory.
1219
3a432f1f
MK
12202001-04-28 Martin Kalen <martin.kalen@todaysystems.com.au>
1221
7719ffbf 1222 * pa.c (FRP): Remove erroneous white space in macro definition.
3a432f1f 1223
02f52e19
AJ
12242001-04-28 Andreas Jaeger <aj@suse.de>
1225
1226 * invoke.texi: Use XX-bit instead of XXbit or XX bit where
1227 appropriate.
1228 * extend.texi: Likewise.
1229 * tm.texi: Likewise.
1230
1e5f973d
AJ
12312001-04-28 Andreas Jaeger <aj@suse.de>
1232
7719ffbf
ZW
1233 * md.texi: Use XX-bit instead of XXbit or XX bit where
1234 appropriate.
1e5f973d 1235
4275c4c4
JS
12362001-04-28 Jens Schweikhardt <schweikh@schweikhardt.net>
1237
1238 * gcc.c (process_command): Allow -l lib in addition to -llib
1239 for POSIX compliance. This fixes PR c/2347.
1240
1241 * invoke.texi: Update section on Link Options accordingly.
1242
cc2e8b2d
ZW
12432001-04-27 Zack Weinberg <zackw@stanford.edu>
1244
1245 * function.c (purge_addressof_1): Remove the duplicate
1246 if (code == SET) block. Fold the two if (code == ADDRESSOF)
1247 blocks together.
1248
16842c15
JM
12492001-04-28 Jason Merrill <jason_merrill@redhat.com>
1250
1251 * except.c (expand_eh_region_start): Don't start a new block.
1252 (expand_eh_region_end): Don't end a block.
1253 * stmt.c (expand_end_bindings): Don't end EH blocks.
1254 (expand_decl_cleanup): Starting an EH region won't change the block.
1255 (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
1256 (is_eh_region): Lose.
1257 * tree.h: Adjust.
1258
5897739e
JO
12592001-04-27 Jeffrey Oldham <oldham@codesourcery.com>
1260
16842c15
JM
1261 * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
1262
5897739e
JO
1263 * collect2.c (main): Add `-L' case to remove duplicate entries.
1264 (is_in_args): New function to check for a duplicate argument.
1265 * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
1266 * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
1267 * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
1268 Define to be nonzero.
1269
994682b9
AJ
12702001-04-27 Andreas Jaeger <aj@suse.de>
1271 Richard Henderson <rth@redhat.com>
1272
1273 * md.texi (Machine Constraints): Document additional i386
1274 constraints and fix description of "A".
1275
58c35fc2
JL
1276Fri Apr 27 10:43:49 2001 Jeffrey A Law (law@cygnus.com)
1277
1278 * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
1279
041c9d5a
JM
12802001-04-27 Jason Merrill <jason_merrill@redhat.com>
1281
1282 * except.c (get_exception_filter): word_mode, not Pmode.
1283
fbffc70a
GK
12842001-04-26 Geoffrey Keating <geoffk@redhat.com>
1285
fd2c87bd
GK
1286 * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
1287 common to other movsf patterns. Move up so that in future
1288 people who change the other patterns will change it too.
1289 (movsf_lo_sum): Allow even for soft-float; add appropriate
1290 constraints.
1291 (movsf_high): Likewise.
1292 (movsf_high+1): Allow even for soft-float.
1293
fbffc70a
GK
1294 * function.c (expand_function_end): Always clobber the
1295 return registers, even if there is no return label.
1296
52a661a6
JH
1297Thu Apr 26 20:28:21 CEST 2001 Jan Hubicka <jh@suse.cz>
1298
1299 * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
1300
b3298882
JH
1301Thu Apr 26 19:20:28 CEST 2001 Jan Hubicka <jh@suse.cz>
1302
1303 * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
1304 (pushqi2_rex64, pushhi2_rex64): Add.
1305
c10f3adf
AH
13062001-04-26 Andrew Haley <aph@cambridge.redhat.com>
1307
1308 * except.c (expand_eh_region_end_cleanup): Force pending stack
994682b9 1309 adjust before emitting label that branches around cleanup code.
c10f3adf 1310
44404b8b
L
13112001-04-26 H.J. Lu (hjl@gnu.org)
1312
1313 * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
1314
1315 * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
1316 define.
1317 * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
1318 (ASM_OUTPUT_SECTION_NAME): Likewise.
1319 (ASM_WEAKEN_LABEL): Likewise.
1320 (UNIQUE_SECTION): Likewise.
1321 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
1322 (ASM_OUTPUT_DESTRUCTOR): Likewise.
1323 * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
1324 (ASM_OUTPUT_SECTION_NAME): Likewise.
1325 (ASM_WEAKEN_LABEL): Likewise.
1326 (UNIQUE_SECTION): Likewise.
1327 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
1328 (ASM_OUTPUT_DESTRUCTOR): Likewise.
1329 * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
1330 * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
1331 (ASM_FILE_START): Likewise.
1332 (ASM_OUTPUT_SOURCE_LINE): Likewise.
1333 (ASM_DECLARE_OBJECT_NAME): Likewise.
1334 (ASM_FILE_END): Likewise.
1335 (ASM_DECLARE_FUNCTION_NAME): Likewise.
1336 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1337 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1338 (ASM_OUTPUT_CASE_LABEL): Likewise.
1339 (ASM_OUTPUT_SKIP): Likewise.
1340 (ASM_OUTPUT_ASCII): Likewise.
1341 (ASM_OUTPUT_IDENT): Likewise.
1342 (READONLY_DATA_SECTION): Likewise.
1343 (EXTRA_SECTIONS): Likewise.
1344 (EXTRA_SECTION_FUNCTIONS): Likewise.
1345 (SELECT_RTX_SECTION): Likewise.
1346 (SELECT_SECTION): Likewise.
1347
1348 * config/mips/linux.h (INVOKE__main): Undefine.
1349 (CTOR_LIST_BEGIN): Likewise.
1350 (CTOR_LIST_END): Likewise.
1351 (DTOR_LIST_BEGIN): Likewise.
1352 (DTOR_LIST_END): Likewise.
1353 (SET_ASM_OP): Defined it to ".dummy".
1354 (ASM_OUTPUT_DEF): Defined.
1355 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
1356
fdc2d3b0
NC
13572001-04-26 Nick Clifton <nickc@cambridge.redhat.com>
1358
1359 * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
1360 assembler supports .p2align.
1361
5677efb0
NS
13622001-04-26 Nathan Sidwell <nathan@codesourcery.com>
1363
1364 * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
1365
3b07c79b
JJ
13662001-04-26 Jakub Jelinek <jakub@redhat.com>
1367
1368 * integrate.c (expand_inline_function): Check for error_mark_node
1369 in actual argument.
1370
e9070e7b
JJ
13712001-04-26 Jakub Jelinek <jakub@redhat.com>
1372
1373 * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
1374 -m386 and -m486.
1375
a6687d2b
AO
13762001-04-26 Alexandre Oliva <aoliva@redhat.com>
1377
1378 * configure.in (configargs.h): Define thread_model.
1379 * configure: Rebuilt.
1380 * gcc.c (main): Print it with -v.
1381
1f0c3120
JM
13822001-04-25 Joseph S. Myers <jsm28@cam.ac.uk>
1383
1384 * invoke.texi: Document -Wmissing-braces, -dumpspecs,
1385 -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
1386 * gcc.1: Regenerate.
1387
66cc965c
RO
13882001-04-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1389
1390 * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
1391 is_redundant_typedef): Use static inline instead of inline static.
1392
2baa5453
CF
1393Wed Apr 25 18:21:01 2001 Christopher Faylor <cgf@cygnus.com>
1394
1395 * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
1396 this directory is always searched.
1397
84e306b4
RH
13982001-04-25 Richard Henderson <rth@redhat.com>
1399
1400 * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
1401 of registers to restore along non eh_return path.
1402
b5cd6849
JJ
14032001-04-25 Jakub Jelinek <jakub@redhat.com>
1404
1405 * c-format.c (check_format_info_recurse): Handle
1406 PLUS_EXPR for format string.
1407
ad5042df
JJ
14082001-04-25 Jakub Jelinek <jakub@redhat.com>
1409
1410 * config/ia64/ia64.h (CC1_SPEC): Define.
1411 * config/ia64/linux.h (CC1_SPEC): Define.
1412
73de376f
R
1413Wed Apr 25 17:09:50 2001 J"orn Rennecke <amylaar@redhat.com>
1414
1415 * emit-rtl.c (constant_subword): Also do sign extension in
1416 BITS_PER_WORD == 16 case.
1417
0ef52662
JM
14182001-04-25 Jason Merrill <jason_merrill@redhat.com>
1419
1420 * loop.c (try_swap_copy_prop): Go back to checking insn.
1421
0607953c
JJ
14222001-04-25 Jakub Jelinek <jakub@redhat.com>
1423
1424 * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
1425 if check_mode is non-zero.
1426
e99af66b
JJ
14272001-04-25 Jakub Jelinek <jakub@redhat.com>
1428
1429 * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
1430 out and comparison sequence has been detected, put result into
1431 proper temporary pseudo.
1432
0f976b45
ZW
14332001-04-24 Zack Weinberg <zackw@stanford.edu>
1434
1435 * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
1436 * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
1437 * libgcc2.c: Remove __dummy and __builtin_saveregs.
1438 * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
1439 * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
1440 for future reference.
1441
47c84870
JM
14422001-04-24 Jason Merrill <jason_merrill@redhat.com>
1443
1444 * except.c (reachable_handlers): Step out one level from a RESX.
1445
1446 * except.c (struct eh_region): Rename 'last' to 'resume'.
1447 (mark_eh_region, duplicate_eh_region_1): Adjust.
1448 (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
1449 (build_post_landing_pads): Likewise.
1450 (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
1451 (expand_eh_region_end_must_not_throw): Likewise.
1452 (connect_post_landing_pads): Thread (only) regions with non-deleted
1453 resume insns.
1454
1455 * except.c (expand_eh_region_end_cleanup): Save the EH return data
1456 registers around the cleanup.
1457 (get_exception_filter): New fn.
1458 (finish_eh_generation): Use it.
1459
de8e49f3
NS
14602001-04-24 Nathan Sidwell <nathan@codesourcery.com>
1461
1462 * c-semantics.c (add_scope_stmt): Don't call
1463 current_scope_stmt_stack multiple times.
1464
0ba8a114
NS
14652001-04-24 Zack Weinberg <zackw@stanford.edu>
1466 Nathan Sidwell <nathan@codesourcery.com>
1467
1468 Lazy __FUNCTION__ generation.
1469 * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
1470 RID_C99_FUNCTION_NAME): New _RIDs.
1471 (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
1472 (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
1473 CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
1474 global tree slots.
1475 (function_id_node, pretty_function_id_node, func_id_node): Remove.
1476 (c99_function_name_decl_node, function_name_decl_node,
1477 pretty_function_name_decl_node, saved_function_name_decls):
1478 Declare.
1479 (struct language_function): Remove x_function_name_declared_p.
1480 (make_fname_decl): Remove a parameter.
1481 (declare_function_names): Remove prototype.
1482 (start_fname_decls, finish_fname_decls): Prototype.
1483 (fname_as_string): Likewise.
1484 (fname_string, fname_decl): Likewise.
1485 * c-common.c (make_fname_decl): Adjust.
1486 (struct fname_var_t): New struct.
1487 (fname_vars): New static array.
1488 (declare_function_name): Remove.
1489 (start_fname_decls, finish_fname_decls): New functions.
1490 (fname_as_string): New function from remnants of
1491 declare_function_name.
1492 (fname_string, fname_decl): New functions.
1493
1494 * c-decl.c (c_function_name_declared_p): Remove.
1495 (init_decl_processing): Don't generate __FUNCTION__ et al ids,
1496 don't call declare_function_name. Call start_fname_decls.
1497 (c_make_fname_decl): Adjust parameters. Generate the name. Don't
1498 clobber the line number. Call finish_decl.
1499 (start_function): Call start_fname_decls.
1500 (finish_function): Call finish_fname_decls.
1501 Remove c_function_name_declared_p.
1502 (push_c_function_context): Don't push c_function_name_declared_p.
1503 (pop_c_function_context): Don't pop c_function_name_declared_p.
1504 (c_begin_compound_stmt): Don't check c_function_name_declared_p.
1505 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
1506 (program): Call finish_fname_decls for C.
1507 (primary): Add VAR_FUNC_NAME.
1508 (reswords): Add slots for __FUNCTION__ et al.
1509 (rid_to_yy): Add mappings for __FUNCTION__ et al.
1510 (yylexname): If it's a STRING_FUNC_NAME generate the function name
1511 now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
1512 * c-semantics.c (prune_unused_decls): Remove.
1513 (finish_stmt_tree): Don't call prune_unused_decls.
1514 (genrtl_decl_stmt): Don't prune unused decls here.
1515
b201442f
NC
15162001-04-24 Nick Clifton <nickc@cambridge.redhat.com>
1517
c6f9b9a1
NC
1518 * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
1519 constant pool, use the pool's SYMBOL_REF instead.
1520
b201442f
NC
1521 * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
1522 v850e.
1523
c3cd9c8b
JM
15242001-04-23 Joseph S. Myers <jsm28@cam.ac.uk>
1525
1526 * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
1527 passing nested NOP_EXPRs to fold.
1528
35433587
JH
1529Mon Apr 23 14:32:12 CEST 2001 Jan Hubicka <jh@suse.cz>
1530
1531 * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
1532
e6217dcd
MM
15332001-04-22 Mark Mitchell <mark@codesourcery.com>
1534
1535 * loop.c (loop_delete_insns): Add prototype.
1536
e2584c52
PE
15372001-04-23 Phil Edwards <pme@sources.redhat.com>
1538
1539 * configure.in: Remove ENABLE_STD_NAMESPACE.
1540 * config.in: Regenerated.
1541 * configure: Regenerated.
1542
a3b1a352
SS
15432001-04-22 Stan Shebs <shebs@apple.com>
1544
1545 * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
1546 into xm_defines.
1547 * config/rs6000/xm-darwin.h: Remove file.
1548
d4c3ec27
KG
15492001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1550
1551 * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
1552 (write_c_file_stat): Likewise.
1553
1554 * dbxout.c (dbxout_init): Likewise.
1555
1556 * profile.c (output_func_start_profiler): Likewise.
1557
146ef880
PT
15582001-04-22 Philipp Thomas <pthomas@suse.de>
1559
1560 * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
1561 require it instead of the CVS version.
7719ffbf
ZW
1562 * cpperror.c (v_message): Put a blank before the macro
1563 body to not confuse exgettext.
146ef880 1564
e8c8470b
MM
15652001-04-21 Mark Mitchell <mark@codesourcery.com>
1566
1567 * flow.c (proagate_one_insn): Remove useless assignment.
1568 * jump.c (delete_insn): Tidy.
1569 * loop.c (try_copy_prop): When deleting an instruction with a
1570 REG_RETVAL note, delete the entire libcall sequence.
1571 (loop_delete_insns): New function.
1572 * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
1573 we're not substituting into them yet.
994682b9 1574
68560db3
KH
15752001-04-21 Kazu Hirata <kazu@hxi.com>
1576
1577 * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
1578
51f26c45
KH
1579 * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
1580 Fix a comment typo.
1581 * config/i960/i960.c (signed_arith_operand): Likewise.
1582
d80d2d2a
KH
1583 * calls.c (expand_call): Fix a comment typo.
1584
c1800ec8
ZW
15852001-04-20 Zack Weinberg <zackw@stanford.edu>
1586
1587 * configure.in: Probe for times, clock, struct tms, and clock_t.
1588 * configure, config.in: Regenerate.
1589 * timevar.c: Replace ifdef forest in get_time with (relatively)
1590 straightforward series of checks based on autoconf's probes.
1591
2c2ef4b9
JL
1592Fri Apr 20 12:24:50 2001 Jeffrey A Law (law@cygnus.com)
1593
1594 * config/pa/som.h (NM_FLAGS): Define.
1595
a0a7b566
BS
15962001-04-20 Bernd Schmidt <bernds@redhat.com>
1597
1598 * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
1599 function.
1600 * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
1601 * ia64.c (nop_cycles_until): New function.
1602 (prev_cycle, prev_first, last_issued): New static variables.
1603 (ia64_sched_reorder): Additional arg for clock.
1604 On final scheduling pass, emit extra NOPs as needed.
1605 Set prev_first and prev_cycle.
1606 (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
1607 (ia64_variable_issue): Set last_issued.
1608
7471a1f0
AO
16092001-04-20 Alexandre Oliva <aoliva@redhat.com>
1610
1611 * config/i386/i386.c (ix86_expand_int_movcc,
1612 ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
1613
856a6884
GK
16142001-04-20 Geoff Keating <geoffk@redhat.com>
1615
1616 * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
1617 ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
1618 ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
1619 ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
1620 ctrdi_internal6): In the short-branch case, this insn is only 4
1621 bytes long. Reported by Reza Yazdani <reza@apple.com>.
1622
d40cd80a
JJ
16232001-04-20 Jakub Jelinek <jakub@redhat.com>
1624
1625 * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
1626 "=u" is used together with "st" resp. "st(1)" clobber.
1627
43e72072
JJ
16282001-04-20 Jakub Jelinek <jakub@redhat.com>
1629
1630 * gcse.c (gcse_main): Fix comment typo.
1631 (delete_null_pointer_check): Likewise.
1632 (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
1633 * cse.c (cse_insn): Likewise.
1634 * function.c (fixup_var_refs_insns_with_hash): The sequence is
1635 toplevel.
1636
4000fada
ZW
16372001-04-19 Zack Weinberg <zackw@stanford.edu>
1638
1639 * toplev.c: Excise all code for the undocumented -dm option.
1640 (float_signal): Call signal just once, unconditionally.
1641
dea8be3e
GK
16422001-04-19 Geoff Keating <geoffk@redhat.com>
1643
1644 * fold-const.c (fold): Use first_rtl_op rather than
1645 TREE_CODE_LENGTH when looping over parameters of a tree.
1646 Correct strange grouping in test for evaluated SAVE_EXPR.
1647
fe6adb3e
JL
1648Thu Apr 19 19:15:26 2001 Jeffrey A Law (law@cygnus.com)
1649
1650 * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
1651 * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
1652
1653 * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
1654 name at 32 total characters.
1655 (ASM_OUTPUT_SECTION_NAME): Similarly. Also, only support placing
1656 functions in named sections -- data items can still go into unique
1657 sections, but they have normal names (ie $LIT$ and $DATA$).
1658
1659 * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
1660 INIT_PRIORITY.
1661
45936a85
DD
16622001-04-19 DJ Delorie <dj@redhat.com>
1663
1664 * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
1665 to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
1666 * config/i386/cygwin.h: Likewise.
1667 * config/i386/mingw32.h: Likewise.
1668 * config/vax/vms.h: Likewise.
1669 * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
1670
1671 * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
1672 to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
1673 * config/i386/xm-cygwin.h: Likewise.
1674 * config/i386/xm-djgpp.h: Likewise.
1675 * config/i386/xm-mingw32.h: Likewise.
1676 * config/vax/xm-vms.h: Likewise.
1677
1678 * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
1679 instead of OBJECT_SUFFIX.
1680 * collect2.c (find_a_file): Look for files matching the extension
1681 HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
994682b9 1682 * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
45936a85
DD
1683 TARGET_EXECUTABLE_SUFFIX.
1684 (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
1685 (make_relative_prefix): Likewise.
1686 (convert_filename): Use TARGET_ suffixes throughout. Remove
1687 NO_AUTO_EXE_SUFFIX.
1688 (process_command): Likewise.
1689 (do_spec_1): Likewise.
1690 * java/lang.c (init_parse): Likewise.
1691
1692 * gcc.texi : Document four new options matching the pattern
1693 (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX. Remove documentation
1694 for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX. Remove
1695 documentation for NO_AUTO_EXE_SUFFIX.
1696
3dcaf6e0
MM
16972001-04-19 Mark Mitchell <mark@codesourcery.com>
1698
57883c53
MM
1699 * toplev.h (struct lang_hooks): Allow decode_option to indicate
1700 that language-independent processing should not be done.
1701 * toplev.c (main): Adjust accordingly.
1702
13c502cd
MM
1703 * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
1704 * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
1705
3dcaf6e0
MM
1706 * mips.md (reload_outputdi): Require that operand0 be a
1707 general_operand.
1708
d773df5a
DB
17092001-04-19 Jakub Jelinek <jakub@redhat.com>
1710
1711 * invoke.texi (-Wshadow): Clarify.
1712
17e2b3cb
MM
17132001-04-18 Mark Mitchell <mark@codesourcery.com>
1714
1715 * loop.c (load_mems): Examine all the instructions in the loop
1716 before concluding that all jumps branch to the first instruction
1717 after the loop.
1718
9e24b950
CF
1719Wed Apr 18 20:32:03 2001 Christopher Faylor <cgf@cygnus.com>
1720
1721 * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
1722
0d692355
JJ
17232001-04-18 Jakub Jelinek <jakub@redhat.com>
1724
1725 * cpp.texi (-Wwhite-space): Remove.
1726 (-Wall): -Wall does not imply -Wwhite-space.
1727
ad087b92
ZW
17282001-04-17 Zack Weinberg <zackw@stanford.edu>
1729
1730 * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
1731 use it instead of blindly generating a .stabs.
1732 * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
1733 in the right place.
1734 * xcoffout.c: Don't bother defining default for N_CATCH.
1735 (UNKNOWN_STAB): Use internal_error.
1736 (stab_to_sclass): Remove now-unnecessary aborts.
1737 Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block.
1738
b9c81bcb
JL
1739Tue Apr 17 21:41:11 2001 Jeffrey A Law (law@cygnus.com)
1740
1741 * jump.c (mark_all_labels): Canonicalize the tail recursion
1742 label attached to CALL_PLACEHOLDER insns.
1743
2f4e671d
KG
17442001-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1745
1746 * output.h (dump_flow_info, free_basic_block_vars,
1747 which_alternative): Delete redundant prototypes.
1748
1749 * rtl.h (bss_section): Likewise.
1750
7848c238
LR
17512001-04-17 Loren J. Rittle <ljrittle@acm.org>
1752
1753 * dbxout.c (N_OPT): Define if not available from <stab.h>
1754
5854680c
JDA
17552001-04-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
1756
1757 * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
1758 libraries and native K&R compilers.
1759
3ed56f8a
KG
17602001-04-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1761
1762 * c-typeck.c (convert_arguments): Don't check for width changes
1763 with -Wtraditional.
1764
1765 * invoke.texi (-Wtraditional): Update documentation.
1766
acb0db7b
ZW
17672001-04-16 Zack Weinberg <zackw@stanford.edu>
1768
1769 * toplev.c (output_lang_identify): Delete.
1770 (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
1771 Don't generate gcc2_compiled. label. Don't emit a nop if profiling.
1772 If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
1773 after calling ASM_FILE_END.
1774
1775 * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
1776 Instead, unconditionally emit an N_OPT stab with string equal
1777 to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
1778
1779 * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
1780
1781 * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
1782 config/psos.h, config/ptx4.h, config/1750a/1750a.h,
1783 config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
1784 config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
1785 config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
1786 config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
1787 config/i370/i370.h, config/i386/beos-elf.h,
1788 config/i386/osf1elf.h, config/i386/osfrose.h,
1789 config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
1790 config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
1791 config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
1792 config/m68k/tower-as.h, config/mcore/mcore-elf.h,
1793 config/mips/iris6.h, config/mips/osfrose.h,
1794 config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
1795 config/sparc/sp64-elf.h:
1796 Delete definitions of any or all of: ASM_IDENTIFY_GCC,
1797 ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
1798
1799 * config/elfos.h, config/freebsd.h, config/linux.h,
1800 config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
1801 config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
1802 config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
1803 of ASM_FILE_START which merely emit a .version directive. Delete
1804 definitions of ASM_FILE_END which merely emit an .ident directive.
1805
1806 * config/avr/avr.h, config/vax/vax.h: Delete definition of
1807 ASM_IDENTIFY_GCC and move part of its logic into
1808 ASM_FILE_START.
1809
1810 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
1811 config/sparc/linux-aout.h: Don't emit .version directive in
1812 ASM_FILE_START.
1813
1814 * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
1815 (output_file_start): Correct comment.
1816
1817 * config/i386/osfrose.h: Don't emit trailing .ident directive.
1818 * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
1819 to match gdb.
1820 * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
1821 * config/rs6000/aix.h: Correct comment.
1822
1823 * config/i386/i386afe.h: Delete.
1824 * config.gcc: Remove references to i386afe.h.
1825
1826 * tm.texi: Delete documentation of ASM_IDENTIFY_GCC. The
1827 other macros deleted by this patch were undocumented.
1828
3bcd50fe
JL
1829Mon Apr 16 08:03:48 2001 Jeffrey A Law (law@cygnus.com)
1830
75d71b2f
JL
1831 * pa.md (reload_outdi): Operand 0 must be a non hard register.
1832
ad087b92 1833 * pa.c (secondary_reload_class): SAR<->FP copies require a
26ee120d
JL
1834 secondary register.
1835
3bcd50fe
JL
1836 * install.texi (mips-mips-bsd): Update list of functions
1837 required to include memmove.
1838 * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
1839 used functions to include memmove.
1840
2406cfed
TM
18412001-04-15 Toon Moene <toon@moene.indiv.nluug.nl>
1842
1843 * i386.md (sqrtdf2): SFmode should be DFmode.
1844
f54104df
AO
18452001-04-15 Alexandre Oliva <aoliva@redhat.com>
1846
1847 * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
1848 (find_moveable_store): Likewise.
1849
aa570f54
JW
18502001-04-15 Jim Wilson <wilson@redhat.com>
1851
1852 * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
1853
7c17f553
JH
1854Sat Apr 14 16:24:19 CEST 2001 Jan Hubicka <jh@suse.cz>
1855
1856 * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
1857 (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
1858
81df85c4
AO
18592001-04-14 Alexandre Oliva <aoliva@redhat.com>
1860
1861 * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
1862 first alternative.
1863
6619e96c
AM
18642001-04-14 Alan Modra <amodra@one.net.au>
1865
1866 * pa.c (force_mode): New function.
1867 (emit_move_sequence): Use it instead of generating new rtx_REGs.
1868
25250265
JW
18692001-04-13 Jim Wilson <wilson@redhat.com>
1870
1871 * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
1872 (first_instruction): New static variable.
1873 (rtx_needs_barrier): Return 1 for alloc.
1874 (init_insn_group_barriers): Set first_instruction.
1875 (rws_sum): Delete duplicate definition.
1876 (group_barrier_needed_p): Return 0 when first_instruction true.
1877 (safe_group_barrier_needed_p): Save and restore first_instruction
1878 around group_barrier_needed_p call.
1879
b215b52e
LR
1880Fri Apr 13 21:40:28 2001 Loren J. Rittle <ljrittle@acm.org>
1881
1882 * expr.h (enum libfunc_index): Add LTI_memmove.
1883 (memmove_libfunc): Define macro.
1884 * optabs.c (init_optabs): Initialize memmove_libfunc.
1885 * expr.c (expand_assignment): Use memmove_libfunc instead of
1886 memcpy_libfunc.
1887
7eb07bdb
AM
18882001-04-13 Alan Modra <alan@linuxcare.com.au>
1889
ad087b92
ZW
1890 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
1891 fp mode addresses.
7eb07bdb 1892
2840aebf
KG
18932001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1894
1895 * Makefile.in (reg-stack.o): Depend on reload.h.
1896 (insn-attrtab.o): Depend on flags.h.
1897
1898 * genattrtab (main): Include flags.h in insn-attrtab.c.
1899
1900 * reg-stack.c: Include reload.h.
1901
1902 * sparc.h (flag_pic): Delete redundant declaration.
1903
1904 * output.h (flag_pic): Likewise.
1905
1906 * tree.h (pedantic): Likewise.
1907
8461e984
KG
19082001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1909
1910 * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
1911
1912 * jump.c, regmove.c, toplev.c: Include reload.h.
1913
1914 * reload.h (reload_cse_regs): Declare.
1915
1916 * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
1917 reload_cse_regs, init_reload, mark_home_live, reload,
1918 init_caller_save): Delete redundant prototypes.
1919
0829d244
KG
19202001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1921
1922 * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
1923
1924 * regclass.c, ssa.c: Include expr.h.
1925
1926 * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
1927 gen_move_insn): Delete redundant declarations.
1928
6fa0f379 19292001-04-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
02f52e19 1930
6fa0f379
FS
1931 * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
1932 (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
1933 MAKEINFO and MAKEINFOFLAGS too.
1934 (stage4_build): Correctly order -B flags.
1935
38010927
AM
19362001-04-13 Alan Modra <amodra@one.net.au>
1937
fbdd633b
AM
1938 * pa.c (hppa_init_pic_save): Set rtx_unchanging for
1939 PIC_OFFSET_TABLE_SAVE_RTX.
831c1763
AM
1940 (zdepi_cint_p): Describe zdepi insn.
1941 Formatting and white space fixes throughout file.
fbdd633b 1942
e0c556d3
AM
1943 * pa.c (uint32_operand): Don't use long constant >= 2^32.
1944 (emit_move_sequence): Use HOST_WIDE_INT constants. Don't worry
1945 about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
1946 (compute_movstrsi_length): Make `align' unsigned to avoid warning.
1947 (output_64bit_and): Use plain `int's for shift counts.
1948 (output_64bit_ior): Likewise.
1949 (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
1950 * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
1951 `N', and simplify.
1952
8d913d99
AM
1953 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
1954 * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
1955 * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
1956 NEW_HP_ASSEMBLER into one. Kill warnings.
1957
c21a2372
AM
1958 * pa-gas.h: Delete file.
1959 * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
1960 Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*. Update
1961 hppa*-*-linux*. For all pa targets, remove pa/gas.h from tm_file,
1962 instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
1963
48bd7758
AM
1964 * config/pa/mill32.S: New file.
1965 * config/pa/mill64.S: New file.
1966 * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
1967 LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
1968 * config/pa/t-linux64: New file.
1969 * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
1970 (LIB1ASMFUNCS, LIB1ASMSRC): Define.
1971 (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
1972
e25724d8
AM
1973 * elfos.h (SELECT_SECTION): Undef before defining.
1974 * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
1975 (LIB_SPEC): Remove -lmilli.
1976 (DBX_REGISTER_NUMBER): Remove.
1977 (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
1978 (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
1979 NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
1980 DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
1981 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
1982 ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
1983 ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
1984 TARGET_GAS): Define.
1985 * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
1986 (function_arg): If TARGET_ELF32, pass fp args in both general and fp
1987 regs if we don't have a prototype.
1988 * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
1989 * pa.h (TARGET_ELF32): Default to 0 if undefined.
1990 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
1991 EH_RETURN_HANDLER_RTX): Define.
1992 * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
1993 (DWARF_FRAME_REGNUM): Define.
1994 * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
1995 * pa32-linux.h: New file.
1996 * pa64-linux.h: New file.
1997
38010927
AM
1998 * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1999 (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
2000 (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
2001 NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
2002 DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
2003 DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
2004 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
2005 FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
2006 READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
2007 DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
2008 UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
2009 ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
2010 TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
2011 * pa64-hpux.h: New file.
2012 (ASM_FILE_START): Correct typo.
2013 (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
2014 * config.gcc: Modify for above.
2015
35bb0780
JW
2016Fri Apr 13 00:09:22 EDT 2001 John Wehle (john@feith.com)
2017
2018 * jump.c (jump_optimize_1): Don't delete dead stores here.
2019 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
2020 prior to running jump optimize before cse2.
2021
754fd218
RH
20222001-04-12 Richard Henderson <rth@redhat.com>
2023
2024 * Makefile.in (regmove.o): Depend on except.h.
2025 * regmove.c: Include it.
2026
4bd34c39
SS
20272001-04-12 Stan Shebs <shebs@apple.com>
2028
2029 * objc/objc-act.c: Remove all code ifdefed with the never-used
2030 macro OBJC_INT_SELECTORS.
2031 * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
2032 * tm.texi: Remove doc for OBJC_INT_SELECTORS.
2033
3b7da9c5
RB
2034Thu Apr 12 18:13:37 2001 Rodney Brown <RodneyBrown@mynd.com>
2035
2036 * config/pa/quadlib.c: Add prototypes.
2037
44c4c11d
KG
20382001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2039
2040 * bitmap.h (debug_bitmap): Delete redundant prototype.
2041
2042 * rtl.h (get_frame_size): Likewise.
2043
640cea5f
JW
20442001-04-12 Jim Wilson <wilson@redhat.com>
2045
2046 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
2047 to just emit an fnorm.
2048
20e50c62
KG
20492001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2050
2051 * c-common.h (truthvalue_conversion, type_for_mode,
2052 type_for_size): Delete redundant declarations.
2053
2054 * c-lex.h (is_class_name): Likewise.
2055
2056 * c-tree.h (pedantic, convert, getdecls, gettags,
2057 global_bindings_p, init_decl_processing, insert_block,
2058 maybe_build_cleanup, poplevel, print_lang_decl,
2059 print_lang_identifier, print_lang_type, pushdecl, pushlevel,
2060 set_block, incomplete_type_error, build_function_call,
2061 lvalue_or_else, mark_addressable): Likewise.
2062
2063 * expr.h (expand_tree_builtin): Likewise.
2064
33d3b05b
MM
20652001-04-12 Mark Mitchell <mark@codesourcery.com>
2066
2067 * invoke.texi: Document --param max-gcse-memory.
2068
6c889b67
KG
20692001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2070
2071 * configure.in (errno): Check for declaration.
2072 * configure, config.in: Regenerated.
2073
2074 * system.h (errno): Only declare if not already done.
2075
c033e268
AO
20762001-04-12 Alexandre Oliva <aoliva@redhat.com>
2077
2078 * recog.c (general_operand, immediate_operand,
2079 nonmemory_operand): Require CONST_INTs to be sign-extended
2080 values for their modes.
2081
69107307
AO
20822001-04-12 Alexandre Oliva <aoliva@redhat.com>
2083
2084 * expmed.c (store_bit_field): Truncate CONST_INTs.
2085 (expand_mult_highpart, expand_divmod): Likewise.
2086 * expr.c (convert_modes, store_field): Likewise.
2087 * integrate.c (expand_inline_function): Use promote_mode() to
2088 determine whether to convert_modes() an argument as signed
2089 or unsigned.
2090 * optabs.c (expand_binop): Get CONST_INT operands
2091 sign-extended for their appropriate modes.
2092 * stmt.c (emit_case_nodes): Convert node values to the
2093 appropriate mode.
2094 (expand_end_case): Convert minval and range to the appropriate
2095 mode.
2096 * unroll.c (loop_iterations): Truncate abs_diff to the mode of
2097 the iteration variable.
2098 * varasm.c (immed_double_const): Don't require words to be
2099 narrower than host wide ints to properly sign-extend
2100 CONST_INTs.
2101
001643af
KK
21022001-04-12 kaz Kojima <kkojima@rr.iij4u.or.jp>
2103
2104 * sh.md (builtin_setjmp_receiver): New expander.
2105
38886f37
AO
21062001-04-12 David Edelsohn <dje@watson.ibm.com>
2107
2108 * config/rs6000/rs6000.c (rs6000_emit_move): Do not
2109 special-case HOST_BITS_PER_WIDE_INT != 32. Use same criteria
2110 for generating CONST_INT and CONST_DOUBLE.
2111
21122001-04-12 Alexandre Oliva <aoliva@redhat.com>
2113
2114 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
2115 already sign-extended.
2116 (rs6000_emit_prologue): Make register iterator signed.
2117 (rs6000_emit_epilogue): Likewise.
2118 * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
2119 and low.
2120 (movsf split, movdf split): Sign-extend CONST_INTs.
2121 (movdi splits): Likewise.
2122
ccc27eab
KC
21232001-04-12 Kelley Cook <kelley.cook@home.com>
2124
2125 * config-lang.in (lang_dirs): Add in zlib.
2126
383252a7
AO
21272001-04-11 Alexandre Oliva <aoliva@redhat.com>
2128
2129 * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
2130 operands that make it to RTL.
2131
ee890fe2
SS
21322001-04-11 Stan Shebs <shebs@apple.com>
2133
2134 Add Darwin (Mac OS X kernel) native support.
2135 * config.gcc (powerpc-*-darwin*): Add native bits.
2136 * config/darwin.c: New file, generic Darwin support functions.
2137 * config/darwin.h: New file, generic Darwin definitions.
2138 * config/darwin-protos.h: New file, generic Darwin prototypes.
2139 * rs6000/darwin.h: New file, Darwin for PowerPC.
2140 * rs6000/t-darwin: New file, Darwin makefile fragment.
2141 * rs6000/rs6000.h (OBJECT_MACHO): New macro.
2142 (TARGET_MACHO): Ditto.
2143 (rs6000_abi): Add ABI_DARWIN.
2144 (RS6000_REG_SAVE): Add ABI_DARWIN case.
2145 (RS6000_SAVE_AREA): Ditto.
2146 (FP_ARG_MAX_REG): Ditto.
2147 (RETURN_ADDRESS_OFFSET): Ditto.
2148 * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
2149 cases.
2150 (rs6000_emit_move): Add ABI_DARWIN cases.
2151 (print_operand): Ditto.
2152 (first_reg_to_save): Ditto.
2153 (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
2154 (debug_stack_info): Ditto.
2155 (rs6000_emit_prologue): Ditto.
2156 (rs6000_emit_epilogue): Ditto.
2157 (output_profiler_hook): Ditto.
2158 (output_function_profiler): Ditto.
2159 (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
2160 (output_mi_thunk): Add TARGET_MACHO case.
2161 (add_compiler_stub): Ditto.
2162 (output_compiler_stub): Ditto.
2163 (no_previous_def): Ditto.
2164 (output_call): Ditto.
2165 (machopic_output_stub): Ditto.
2166 (rs6000_machopic_legitimize_pic_address): Ditto.
2167 (toc_section): Ditto.
2168 * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
2169 (macho_high): Ditto.
2170 (macho_low): Ditto.
2171 (movsi_low): Ditto.
2172 (load_macho_picbase): Ditto.
2173 (call): Add TARGET_MACHO case to modify function.
2174 (call_value): Ditto.
2175 (call_nonlocal_sysv): Add ABI_DARWIN case.
2176 (call_value_nonlocal_sysv): Ditto.
2177 * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
2178 Add prototype.
2179 (machopic_output_stub): Ditto.
2180 * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
2181
5101b304
MM
21822001-04-11 Mark Mitchell <mark@codesourcery.com>
2183
2184 * dwarf2out.c (modified_type_die): Don't create new types here.
2185 * tree.h (get_qualified_type): New function.
2186 (build_qualified_type): Adjust comment.
2187 * tree.c (get_qualified_type): New function.
2188 (build_qualified_type): Use it.
2189
c8abc684
KG
21902001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2191
2192 * cpp.texi (-Wtraditional): Update description.
2193
2194 * invoke.texi (-Wtraditional): Likewise.
2195
93dd6255
JW
21962001-04-11 Jim Wilson <wilson@redhat.com>
2197
2198 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
2199 requires more than 64 bits of alignment.
2200
2f5bf149
NB
22012001-04-11 Neil Booth <neil@daikokuya.demon.co.uk>
2202
2203 * cpplib.c (do_line): Sanity check iff enable checking.
2204
04f378ce
RH
22052001-04-11 Richard Henderson <rth@redhat.com>
2206
2207 * Makefile.in (insn-recog.o): Depend on toplev.h.
2208 (insn-emit.o, doloop.o): Likewise.
2209 * genrecog.c, genemit.c: Include toplev.h in generated file.
2210 * doloop.c: Include toplev.h.
2211
f1fa37ff
MM
22122001-04-11 Mark Mitchell <mark@codesourcery.com>
2213
2214 * Makefile.in (gcse.o): Depend on params.h.
2215 * gcse.c: Include params.h.
2216 (gcse_main): Don't do GCSE if doing so will take inordinate
2217 amounts of memory.
2218 * params.def (PARAM_MAX_GCSE_MEMORY): New parameter.
2219 * params.h (MAX_GCSE_MEMORY): New macro.
2220
f3a8030a
KG
22212001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2222
2223 * Makefile.in (insn-output.o): Depend on $(EXPR_H).
2224
2225 * genoutput.c (output_prologue): Include expr.h in insn-output.c.
2226
2ef56a41
KG
22272001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2228
68896bf9
KG
2229 * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
2230
2231 * real.h (ereal_atof, real_value_truncate, target_isnan,
2232 target_isinf, target_negative, assemble_real, debug_real): Delete
2233 redundant prototypes.
2234
d6684bc8
KG
2235 * Makefile.in (ifcvt.o): Depend on toplev.h.
2236
2237 * c-semantics.c: Include expr.h.
2238
2239 * ifcvt.c: Include toplev.h.
2240
2241 * expr.h (rtx_equal_p): Delete prototype.
2242
2243 * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
2244 protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
2245 eliminate_constant_term, expand_complex_abs, find_single_use,
2246 make_tree, init_expr_once, init_optabs, supports_one_only):
2247 Likewise.
ad087b92 2248
d6684bc8
KG
2249 * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
2250 rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
2251 expand_assignment, store_expr, emit_line_note_after,
2252 emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
ad087b92 2253
d6684bc8
KG
2254 * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
2255
2ef56a41
KG
2256 * sparc-protos.h: Delete redundant prototypes.
2257
550d7942
VM
22582001-04-11 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
2259
2260 * reload.c (push_reload): Add condition missed in SUBREG byte
2261 offset patch.
2262
8fe879c7
RO
2263Wed Apr 4 00:28:23 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2264
2265 * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
2266
037f20f1
JH
2267Wed Apr 11 14:06:10 CEST 2001 Jan Hubicka <jh@suse.cz>
2268
2269 * i386.md (floatsisf_sse): Fix output template
2270 * i386.c (ix86_expand_fp_movcc)
2271
2272 * reg-stack.c (emit_pop_insn): Handle complex modes.
2273 (move_for_stack_reg): Emit proper move mode.
2274 (subst_stack_regs_pat): Handle complex modes.
2275
01ef6563
JJ
22762001-04-11 Jakub Jelinek <jakub@redhat.com>
2277
2278 * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
2279
706701af
RH
22802001-04-10 Richard Henderson <rth@redhat.com>
2281
2282 * libgcc2.h (__terminate_func_ptr): Remove typedef.
2283 (__pure_virtual, __terminate, __terminate_set_func,
2284 __default_terminate, __throw_type_match, __empty,
2285 __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
2286 __eh_rtime_match, __unwinding_cleanup, __rethrow,
2287 __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
2288 Remove prototypes of deleted functions.
2289
03829ad2
KG
22902001-04-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2291
2292 * c-typeck.c (convert_arguments): -Wtraditional now activates
2293 -Wconversion warnings, except for changes in signed-ness.
2294 Detect complex<->int & int<->complex conversions as well.
2295
2296 * invoke.texi (-Wtraditional): Document it.
2297
c57718d3
RK
2298Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2299
2300 * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
2301 * flow.c (set_block_for_new_insns): Remove needless cast and
2302 properly check for unset block number.
2303
55107ee3
AM
23042001-04-10 Andrew MacLeod <amacleod@redhat.com>
2305
ad087b92 2306 * function.c (purge_single_hard_subreg_set): Only check REGNO if
55107ee3
AM
2307 the subreg was a hard register. Pseudos are left as subregs.
2308
6fa0f379 23092001-04-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
fa9518de
FS
2310
2311 * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
2312 (LIB2ADD_ST): New macro, pass it to mklibgcc.
2313 * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
ad087b92 2314 (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
fa9518de
FS
2315 * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
2316
d4f33f6c
BT
23172001-04-09 Bo Thorsen <bo@suse.co.uk>
2318
2319 * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
2320
5b3ad99f
AM
23212001-04-09 Andrew MacLeod <amacleod@redhat.com>
2322
ad087b92 2323 * output.h (set_block_num): Missed it earlier, remove deprecated
5b3ad99f
AM
2324 prototype.
2325
e2d2ed72
AM
23262001-04-09 Andrew MacLeod <amacleod@redhat.com>
2327
2328 * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
2329 (load_killed_in_block_p): Change bb parameter from int to basic_block.
2330 (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
2331 (handle_rd_kill_set): Change bb parameter from int to basic_block.
2332 (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
ad087b92 2333 (expr_killed_p): Change bb parameter from int to basic_block, pass
e2d2ed72
AM
2334 basic_blocks instead of ints as parameters.
2335 (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
ad087b92 2336 (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
e2d2ed72 2337 from int to basic_block, pass basic_blocks instead of ints as parms.
ad087b92 2338 (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
e2d2ed72
AM
2339 parameter from int to basic_block, pass basic_blocks instead of ints.
2340 (process_insert_insn): Pass basic_blocks instead of ints as parameters.
ad087b92 2341 (insert_insn_end_bb): Change bb parameter from int to basic_block,
e2d2ed72 2342 pass basic_blocks instead of ints.
ad087b92 2343 (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
e2d2ed72
AM
2344 basic_blocks instead of ints as parameters.
2345 (pre_delete): Pass basic_blocks instead of ints as parameters.
ad087b92 2346 (hoist_expr_reaches_here_p): Change bb parameter from int to
e2d2ed72
AM
2347 basic_block, pass basic_blocks instead of ints.
2348 (hoist_code): Pass basic_blocks instead of ints as parameters.
ad087b92 2349 (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
e2d2ed72
AM
2350 Change bb parameter from int to basic_block.
2351 (build_store_vectors): Pass basic_blocks instead of ints as parameters.
ad087b92 2352 (insert_insn_start_bb): Change bb parameter from int to basic_block,
e2d2ed72
AM
2353 pass basic_blocks instead of ints.
2354 (insert_store): Pass basic_blocks instead of ints as parameters.
ad087b92 2355 (replace_store_insn, delete_store): Change bb parameter from int to
e2d2ed72
AM
2356 basic_block, pass basic_blocks instead of ints.
2357 (store_motion): Pass basic_blocks instead of ints as parameters.
2358
ccbaf064
AM
23592001-04-09 Andrew MacLeod <amacleod@redhat.com>
2360
2361 * basic-block.h (set_new_block_for_insns): New Prototype.
2362 (set_block_num): Delete prototype.
2363 * flow.c (set_block_num): Remove obsolete function.
2364 (set_block_for_new_insns): Set BB for single or multiple insns.
2365 * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
ad087b92 2366 (process_insn_end_bb): Use set_block_for_new_insns or
ccbaf064
AM
2367 set_block_for_insn instead of set_block_num.
2368 (pre_insert_copy_insn): Use set_block_for_new_insns.
2369 (update_ld_motion_stores): Use set_block_for_new_insns.
2370 (insert_insn_start_bb): Use set_block_for_new_insns.
2371 (replace_store_insn): Use set_block_for_new_insns.
2372
a13d4ebf
AM
23732001-04-09 Andrew MacLeod <amacleod@redhat.com>
2374 Jeff Law <law@redhat.com>
2375
2376 * alias.c (get_addr): Externalize.
2377 (canon_true_dependence): New function. Behaves like true_dependance
2378 except it already assumes a MEM has been canonicalized.
2379 * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
2380 * gcse.c (struct ls_expr): Add load/store expressions structure.
2381 (modify_mem_list, canon_modify_mem_list): New variable.
ad087b92 2382 (gcse_main): Initialize & finalize alias analysis. Use enhanced
a13d4ebf
AM
2383 load motion and store motion if requested.
2384 (alloc_gcse_mem): Allocate space for modify_mem_list array.
2385 (free_gcse_mem): Free the modify_mem_list array.
2386 (oprs_unchanged_p): Use load_killed_in_block_p.
2387 (gcse_mems_conflict_p, gcse_mem_operand): New variables.
ad087b92 2388 (mems_conflict_for_gcse_p): New function. Don't kill loads
a13d4ebf
AM
2389 with stores to themselves if its in the load/store expression list.
2390 (load_killed_in_block_p): New function.
2391 (canon_list_insert): New Function.
2392 (record_last_mem_set_info): Keep a list of all instructions which
2393 can modify memory for each basic block.
2394 (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
2395 (oprs_not_set_p): Use load_killed_in_block_p.
2396 (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
2397 (expr_killed_p): Use load_killed_in_block_p.
2398 (compute_transp): Do not pessimize memory references.
2399 (pre_edge_insert): Update stores for a load motion expression.
2400 (one_pre_gcse_pass): Check loads/stores for extra load motion.
2401 (ldst_entry): Find or create a ldst_expr structure.
2402 (free_ldst_entry): Free memory for an individual item.
2403 (free_ldst_mems): Free entire load/store expression list.
2404 (print_ldst_list): Print debug info.
2405 (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
2406 (enumerate_ldsts): Assign integer values to each entry in list.
2407 (first_ls_expr): First expression in the list.
2408 (next_ls_expr): Next expression in the list.
2409 (simple_mem): Check if expression qualifies for ld/st expression list.
2410 (invalidate_any_buried_refs): Remove from expression list if its
2411 used in some other way we dont understand.
2412 (compute_ld_motion_mems): Find all potential enhanced load motion
2413 expression.
2414 (trim_ld_motion_mems): Remove any expressions which are invalid.
2415 (update_ld_motion_stores): Copy store values to registers for loads
2416 which have been moved.
2417 (regvec, st_antloc, num_store): New global statics.
2418 (reg_set_info): Marks registers as set.
2419 (store_ops_ok): Verfies registers expressions are valid in a block.
2420 (find_moveable_store): Look for moveable stores in a pattern.
2421 (compute_store_table): Find stores in a function worth moving, maybe.
2422 (load_kills_store): Check dependance of a load and store.
2423 (find_loads): Find any loads in a pattern.
2424 (store_killed_in_insn): Check if a store is killed in an insn.
2425 (store_killed_after): Check is store killed after an insn in a block.
2426 (store_killed_before): Check is store killed before an insn in a block.
2427 (build_store_vectors): Generate the antic and avail vectors.
2428 (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
2429 (insert_store): Add a store to an edge.
2430 (replace_store_insn): Replace a store with a SET insn.
2431 (delete_store): Delete a store insn.
2432 (free_store_memory): Free memory.
2433 (store_motion): Perform store motion.
2434 * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
2435 * rtl.h (get_addr, canon_true_dependence): Add prototypes.
2436 * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
2437 (f_options): Add gcse-lm and gcse-sm.
2438
92d0fb09
JH
2439Mon Apr 9 16:18:03 CEST 2001 Jan Hubicka <jh@suse.cz>
2440
2441 * i386.c (expand_fp_movcc): Fix condition reversal code.
2442
2443 * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
2444 * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
2445 (CLASS_MAX_NREGS): Use it.
2446
2447 * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
2448 handle properly complex values.
2449 (CLASS_MAX_NREGS): Likewise; update comment.
2450
68340ae9
BS
24512001-04-05 Bernd Schmidt <bernds@redhat.com>
2452
2453 * ia64.c (ia64_flag_schedule_insns2): New variable.
2454 (ia64_override_options): Initialize it. Clear
2455 flag_schedule_insns_after_reload.
2456 (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
2457
46ed7963
JH
2458Mon Apr 9 15:09:13 CEST 2001 Jan Hubicka <jh@suse.cz>
2459
2460 * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
2461 Do not require source to match destination anymore;
2462 Add abort to the nontrivial cases that should be handled by split.
2463 (fix_trunc?fdi): Add SSE case for x86_64.
2464 (floatdi?f): Likewise.
2465 (floatdi?f_sse): New.
2466 (fix_trunc?fdi_sse): New.
2467
04448128
RS
24682001-04-09 Richard Sandiford <rsandifo@redhat.com>
2469
2470 * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
2471 (DEBUG_ARANGES_END_LABEL): Ditto.
2472 (dwarfout_init): Generate length and version fields at the start
2473 of the .debug_aranges info. Insert DEBUG_ARANGES_BEGIN_LABEL
2474 after the length field.
2475 (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
2476 the .debug_aranges info.
2477
39d04363
JH
2478Sun Apr 8 00:43:27 CEST 2001 Jan Hubicka <jh@suse.cz>
2479
2480 * i386.c (call, call_value): Make sure that resulting call_insn
2481 does have proper second operand.
2482
ab762be5
CF
2483Sun Apr 8 22:50:49 2001 Christopher Faylor <cgf@cygnus.com>
2484
2485 * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
2486 function. Remove include of sys/cygwin.h.
2487
9a33d505
CF
2488Sun Apr 8 22:20:27 2001 Christopher Faylor <cgf@cygnus.com>
2489
2490 * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
2491 (CPP_SPEC): Always search */include/w32api for header files.
2492 (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
2493 (LINK_SPEC): Add "cyg" to the library search prefixes.
2494
d4206a10
PB
24952001-04-08 Philip Blundell <philb@gnu.org>
2496
2497 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
2498
2f878973
NB
24992001-04-08 Neil Booth <neil@daikokuya.demon.co.uk>
2500
2501 * cpperror.c (print_location): Don't special case <stdin>.
2502 (_cpp_begin_message): Handle WARNING_SYSHDR the same as
2503 WARNING, but we don't check if we're in system headers.
2504 * cpplib.h (enum error_type): WARNING_SYSHDR: New.
2505 * cpplib.c (do_warning): Warn in system headers.
2506
f0225099
MK
25072001-04-07 Mumit Khan <khan@NanoTech.Wisc.EDU>
2508
2509 * mbchar.c: Include config.h first.
2510
b6d7afec
ZW
25112001-04-07 Zack Weinberg <zackw@stanford.edu>
2512
2513 * config.gcc: Set default for xmake_file at top, not bottom.
2514 Change places that set xmake_file to "none" to set to the
2515 empty string instead, or remove them entirely if there is no
2516 default xmake_file for this cpu_type. Remove references to
2517 deleted files.
2518
2519 * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
2520 config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
2521 config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
2522 config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
2523 config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
2524 config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
2525 config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
2526 config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
2527 config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
2528 config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
2529 Delete.
2530
2531 * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
2532 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
2533 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
2534 config/mips/x-sysv, config/rs6000/x-aix31:
2535 Just set CLIB to -lld or -lmld, as appropriate.
2536
2537 * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
2538 config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
2539 config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
2540 config/mips/x-iris, config/pa/x-pa:
2541 Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
2542 OTHER_FIXINCLUDES_DIRS.
2543
2544 * config/i386/x-djgpp: Don't set LN or LN_S.
2545 * config/m88k/x-dolph: Don't define __m88k__.
2546 * config/m88k/x-tekXD88: Don't set AR_FLAGS.
2547 * config/pa/x-pa-mpeix: Just set up quadlib.asm.
2548 * config/i860/fx2800.h: No need to #undef SVR4.
2549
2550 38 x-host fragments remain, 2 x-cpu.
2551
d0550d07
HB
25522001-04-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2553
2554 * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
2555
62fce11f
NB
25562001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
2557
2558 * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
2559
f9200da2
NB
25602001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
2561
2562 * configure.in: Add check for lstat.
2563 * configure, config.in: Regenerate.
2564 * cppinit.c (append_include_chain): Make empty path ".".
b6d7afec
ZW
2565 * cpplib.c (do_line): Don't simplify #line paths.
2566 * cppfiles.c (remove_component_p): New function.
f9200da2
NB
2567 (find_or_create_entry): Acknowledge stat () errors during
2568 path simplification.
2569 (handle_missing_header): Don't simplify paths.
b6d7afec
ZW
2570 (_cpp_simplify_pathname): Don't simplify VMS paths. Return
2571 the empty path untouched. Don't leave a trailing '/'.
f9200da2 2572
98c2359b 25732001-04-06 Benjamin Kosnik <bkoz@redhat.com>
b6d7afec 2574
98c2359b
BK
2575 * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
2576 * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
2577
7c092714
NB
25782001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
2579
2580 * cppfiles.c (open_file): Fail directories silently, but
2581 with an errno of NOENT set.
2582 (read_include_file): Move the common exit code to the sole
2583 caller. Return an int indicating success or failure. Let
2584 open_file handle directories.
2585 (stack_include_file): If read_include_file fails,
2586 push a "null" buffer.
2587
c39ada04
DD
25882001-04-05 DJ Delorie <dj@redhat.com>
2589
2590 * function.h (virtuals_instantiated): Declare.
2591 * function.c: (virtuals_instantiated): Make global.
2592 * calls.c (emit_library_call_value_1): Use
2593 virtual_outgoing_args_rtx only if it hasn't been instantiated.
2594 Otherwise, use the stack pointer directly.
2595
0ed08620
JH
2596Thu Apr 5 19:13:33 CEST 2001 Jan Hubicka <jh@suse.cz>
2597
2598 * i386.c (x86_initialize_trampoline): New global function.
2599 * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
2600 (INITIALIZE_TRAMPOLINE): Move offline.
2601 * i386-protos.h (x86_initialize_trampoline): Declare.
2602
ac62a60e
JH
2603Thu Apr 5 19:02:15 CEST 2001 Jan Hubicka <jh@suse.cz>
2604
2605 * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
2606 (lea_0): Rename to lea_1.
2607 (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
2608 (lea_general_?): Allow SImodes on TARGET_64BIT
2609 (lea_general_?_zext): New patterns.
2610 (call_1, call_1_rex64): Fix.
2611
b47b4f21
JH
2612Thu Apr 5 19:00:15 CEST 2001 Jan Hubicka <jh@suse.cz>
2613
2614 * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
2615
32ee7d1d
JH
2616Thu Apr 5 18:25:56 CEST 2001 Jan Hubicka <jh@suse.cz>
2617
2618 * i386.c (function_arg): Return constm1_rtx for last argument.
2619 (ix86_expand_prologue): Update gen_call calls.
2620 * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
2621 * i386.md (call_pop): Likewise.
2622 (call): Second operand is VOIDmode.
2623 (call_0): Likewise; Support 64bits.
2624 (call_exp): New expander.
2625 (call_1): Get to the sync.
2626 (call_1_exp): New pattern.
2627 (call_value): Support 64bit.
2628 (call_value_exp): New pattern.
2629 (untyped_call): Update gen_call call.
2630 (call_value_pop): Disable for 64bit.
2631 (call_value_0_rex64): New pattern.
2632 (call_value_1_rex64): Likewise.
2633
60e589ef
BT
26342001-04-05 Bo Thorsen <bo@suse.de>
2635
2636 * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
2637
93b23859
R
2638Thu Apr 5 13:44:17 2001 J"orn Rennecke <amylaar@redhat.com>
2639
b6d7afec 2640 * i386.md (*andsi_1+3): If used after reload, make sure the operand
93b23859
R
2641 satisfies ANY_QI_REG_P.
2642
0c23cca3
BS
26432001-04-05 Bernd Schmidt <bernds@redhat.com>
2644
1032c357
BS
2645 * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
2646 ASM_OPERAND.
2647
0c23cca3
BS
2648 * sched-deps.c (sched_analyze_insn): Revert more of the March 27
2649 change.
2650
4dc0535b
ZW
26512001-04-04 Zack Weinberg <zackw@stanford.edu>
2652
2653 * config.gcc: Remove default for xm_file. Clean up local
2654 machine type handling. Remove settings of xm_file to
2655 something that doesn't exist. In the big switch, set xm_file,
2656 don't append to it (the value before the big switch is always
2657 null). Don't force build_xm_file or host_xm_file to have a value.
60e589ef
BT
2658 * configure.in: Remove default for xm_file. Do not special
2659 case $cpu/xm-$cpu.h not existing.
4dc0535b
ZW
2660 * configure: Regenerate.
2661
b0835578
DN
26622001-04-04 Diego Novillo <dnovillo@redhat.com>
2663
2664 * simplify-rtx.c (simplify_binary_operation): Check for overflow
2665 when folding integer division and modulo operations.
2666
12f0b96b
AM
26672001-04-04 Andrew MacLeod <amacleod@redhat.com>
2668
60e589ef 2669 * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
12f0b96b 2670 instead of DWARF2_ADDR_SIZE for EH addresses.
60e589ef 2671 (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
12f0b96b
AM
2672 EH addresses.
2673
1b4356ed
RH
26742001-04-04 Richard Henderson <rth@redhat.com>
2675
2676 * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
2677 * config/ia64/t-glibc (LIB2ADDEH): Disable.
2678 * config/ia64/t-ia64 (LIB2ADDEH): Disable.
2679
3d399d67
RH
26802001-04-04 Richard Henderson <rth@redhat.com>
2681
2682 * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
2683 * configure: Rebuilt.
2684
8e184d9c
JJ
26852001-04-04 Jakub Jelinek <jakub@redhat.com>
2686
2687 * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
2688 push insns to delete to it instead of deleting them.
2689 (delete_null_pointer_checks): Delete insns from delete_list after
2690 all delete_null_pointer_checks_1 passes are done.
2691
dd7fc59c
RH
26922001-04-04 Richard Henderson <rth@redhat.com>
2693
2694 * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
2695 * configure: Rebuilt.
2696
c3fa1afd
ZW
26972001-04-04 Zack Weinberg <zackw@stanford.edu>
2698
2699 * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
2700 * config/romp/xm-romp.h: Delete.
2701
79ba58ef
BS
27022001-04-04 Bernd Schmidt <bernds@redhat.com>
2703
2704 * sched-deps.c (sched_analyze_insn): Partially revert March 27
2705 change.
2706
e5bef2e4
HB
27072001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2708
2709 * emit-rtl.c (mark_label_nuses) Increment the label uses for
2710 all labels present in rtx.
2711 (try_split) Call new function for all split insns.
2712
347f3440
JJ
27132001-04-04 Jakub Jelinek <jakub@redhat.com>
2714
2715 * recog.c (validate_replace_rtx_1): Instead of aborting just make
2716 sure the change won't be validated.
2717
7142e318
JW
2718Wed Apr 4 00:45:38 EDT 2001 John Wehle (john@feith.com)
2719
2720 * rtl.h (set_noop_p): Declare.
2721 * flow.c (set_noop_p): Move from here ...
2722 * rtlanal.c (set_noop_p): ... to here and enhance.
2723 * cse.c (delete_trivially_dead_insns): Use it.
2724 * gcse.c (hash_scan_set): Likewise.
2725 * jump.c (delete_noop_moves): Likewise.
2726 * recog.c (split_all_insns): Likewise.
2727
19ec6a36
AM
27282001-04-04 Alan Modra <alan@linuxcare.com.au>
2729
2730 * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
2731 stack pointer via a LO_SUM. Ditto for setting a temp register
2732 used to save to the stack. Set cfa_temp when setting fp, and
2733 allow matches to cfa_temp in addition to cfa_store when saving
2734 regs. Handle POST_INC and LO_SUM register stores. Document the
2735 changes and errors in rule 12 doco.
2736
2737 * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
2738 (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
2739 (load_reg): Move closer to epilogue code.
2740 (DO_FRAME_NOTES): Define to control the following..
2741 (FRP): Define to set RTX_FRAME_RELATED_P on insns.
2742 (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
2743 notes as necessary.
2744 (hppa_expand_epilogue): Likewise.
2745
78e766a0
RH
27462001-04-03 Richard Henderson <rth@redhat.com>
2747
2748 * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
2749 * configure: Rebuild.
2750
9555a122
RH
27512001-04-03 Richard Henderson <rth@redhat.com>
2752
2753 * rtl.h (LCT_THROW): New.
2754 * calls.c (emit_library_call_value_1): Handle it.
2755 * except.c (connect_post_landing_pads): Use it.
2756
d02af173
ZW
27572001-04-03 Zack Weinberg <zackw@stanford.edu>
2758
2759 * gansidecl.h: Delete file.
2760 * configure.in: Change all refs to gansidecl.h to use
2761 ansidecl.h. Adjust *_file_list so they know where ansidecl.h
2762 lives.
2763 * configure: Regenerate.
2764
2765 * Makefile.in (intl.o): Don't depend on gansidecl.h.
2766 * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
2767 * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
2768 Don't include gansidecl.h.
2769 * intl.c, main.c, version.c, fixinc/fixlib.h,
2770 fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
2771 gansidecl.h.
2772
898d374d
JH
2773Tue Apr 3 19:41:21 CEST 2001 Jan Hubicka <jh@suse.cz>
2774
2775 * i386.c (ix86_force_to_memory, ix86_free_from_memory):
2776 Update for 64bit.
2777
547a559d
ZW
27782001-04-03 Zack Weinberg <zackw@stanford.edu>
2779
2780 * config/i386/xm-beos.h, config/i386/xm-isc.h,
2781 config/i386/xm-next.h, config/i386/xm-sco.h,
2782 config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
2783 config/m88k/xm-m88k.h: Delete.
2784
2785 * config/i386/xm-djgpp.h: Don't define __MSDOS__.
2786 * config/romp/xm-romp.h: Don't define bcopy.
2787 * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
2788 HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
2789
2790 * config.gcc: Remove references to deleted files.
2791
2792 14 xm-host.h remain, 1 xm-cpu.h.
2793
ddef6bc7
JJ
27942001-04-03 Jakub Jelinek <jakub@redhat.com>
2795 David S. Miller <davem@pierdol.cobaltmicro.com>
d02af173 2796 Andrew MacLeod <amacleod@redhat.com>
ddef6bc7
JJ
2797
2798 Use byte offsets in SUBREGs instead of words.
2799
2800 * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
2801 * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
2802 to pass new argument.
2803 (add_stored_regs): Use subreg_regno_offset function.
2804 * calls.c (expand_call): For non-paradoxical SUBREG take endianess
2805 into account.
2806 (precompute_arguments): Use gen_lowpart_SUBREG.
2807 * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
2808 (combine_simplify_rtx): Rework to use SUBREG_BYTE.
2809 (simplify_set): Rework to use SUBREG_BYTE.
2810 (expand_field_assignment): Use SUBREG_BYTE.
2811 (make_extraction): Use SUBREG_BYTE.
2812 (if_then_else_cond): Use SUBREG_BYTE.
2813 (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
2814 (gen_lowpart_for_combine): Compute full byte offset.
2815 * cse.c (mention_regs): Use SUBREG_BYTE.
2816 (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
2817 (canon_hash): Use SUBREG_BYTE.
2818 (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
2819 (gen_lowpart_if_possible): Formatting.
2820 * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
2821 correctly.
2822 * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
2823 (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
2824 (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
2825 * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
2826 (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
2827 (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
2828 * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
2829 certain invariants about SUBREGs the compiler creates.
2830 (gen_lowpart_SUBREG): New function.
2831 (subreg_hard_regno): New function to get the final register number.
2832 (gen_lowpart_common): Use SUBREG_BYTE.
2833 (gen_imagpart): Spacing nits.
2834 (subreg_realpart_p): Use SUBREG_BYTE.
2835 (gen_highpart): Use SUBREG_BYTE.
2836 (subreg_lowpart_p): Always compute endian corrected goal offset,
2837 even at the byte level, then compare against that.
2838 (constant_subword): New function, pulled out all constant cases
2839 from operand_subword and changed second argument name to offset.
2840 (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
d02af173 2841 and call constant_subword to do the work. Return const0_rtx if
ddef6bc7
JJ
2842 looking for a word outside of OP.
2843 (operand_subword_force): Change second arg name to offset.
2844 * expmed.c (store_bit_field): Use SUBREG_BYTE.
2845 (store_split_bit_field): Use SUBREG_BYTE.
2846 (extract_bit_field): Use SUBREG_BYTE.
2847 (extract_split_bit_field): Use SUBREG_BYTE.
2848 (expand_shift): Use SUBREG_BYTE.
d02af173 2849 * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
ddef6bc7
JJ
2850 * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
2851 * flow.c (set_noop_p): Use SUBREG_BYTE.
2852 (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
2853 * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
2854 (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
2855 correction code.
2856 (optimize_bit_field): Use SUBREG_BYTE.
2857 (purge_addressof_1): Use SUBREG_BYTE.
2858 (purge_single_hard_subreg_set): Use subreg_regno_offset function.
d02af173 2859 (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
ddef6bc7
JJ
2860 actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
2861 * gengenrtl.c (special_rtx): Add SUBREG.
2862 * global.c (mark_reg_store): Use SUBREG_BYTE.
2863 (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
2864 * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
2865 * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
2866 final byte offset is congruent to subreg's mode size.
2867 (subst_constants): Use SUBREG_BYTE.
2868 (mark_stores): Use subreg_regno_offset function.
2869 * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
2870 function and SUBREG_BYTE.
2871 * local-alloc.c (combine_regs): Use subreg_regno_offset function.
2872 (reg_is_born): Use subreg_hard_regno.
2873 * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
d02af173 2874 endian correction code. Don't combine subregs unless resulting
ddef6bc7
JJ
2875 offset aligns with type. Fix subreg constant extraction for DImode.
2876 Simplify SUBREG of VOIDmode CONST_DOUBLE.
2877 (general_operand): Remove dead mode_altering_drug code.
2878 (indirect_operand): Use SUBREG_BYTE.
2879 (constrain_operands): Use subreg_regno_offset function.
2880 * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
2881 * regmove.c (regmove_optimize): Use SUBREG_BYTE.
2882 (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
2883 * regs.h (REG_SIZE): Allow target to override.
2884 (REGMODE_NATURAL_SIZE): New macro which target can override.
d02af173 2885 * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
ddef6bc7
JJ
2886 on the entire subreg rtx.
2887 (push_reload): Use SUBREG_BYTE in comments and code.
2888 (find_dummy_reload): Use subreg_regno_offset. Only adjust offsets
2889 for hard registers inside subregs.
2890 (operands_match_p): Use subreg_regno_offset.
d02af173 2891 (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
ddef6bc7
JJ
2892 containing hard regs.
2893 (find_reload_toplev): Use SUBREG_BYTE. Remove byte endian
2894 corrections when fixing up MEM subregs.
2895 (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
2896 subreg_regno_offset where appropriate.
2897 (find_reloads_subreg_address): Use SUBREG_BYTE. Remove
2898 byte endian corrections when fixing up MEM subregs.
2899 (subst_reloads): When combining two subregs, make sure final
2900 offset is congruent to subreg's mode size.
2901 (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
2902 (refers_to_regno_for_reload_p): Use subreg_regno.
2903 (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
2904 * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
2905 correction code for memory subreg fixups.
2906 (forget_old_reload_1): Use subreg_regno_offset.
2907 (choose_reload_regs): Use subreg_regno.
2908 (emit_input_reload_insns): Use SUBREG_BYTE.
2909 (reload_combine_note_store): Use subreg_regno_offset.
2910 (move2add_note_store): Use subreg_regno_offset.
d02af173 2911 * resource.c (update_live_status, mark_referenced_resources): Use
ddef6bc7
JJ
2912 subreg_regno function.
2913 (mark_set_resources): Use subreg_regno function.
2914 * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
2915 (subreg_regno_offset, subreg_regno): Define prototypes.
2916 (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
2917 (gen_lowpart_SUBREG): Add prototype.
2918 * rtl.texi (subreg): Update to reflect new byte offset representation.
2919 Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
2920 * rtlanal.c (refers_to_regno_p): Use subreg_regno.
2921 (reg_overlap_mentioned_p): Use subreg_regno.
2922 (replace_regs); Make sure final offset of combined subreg is
2923 congruent to size of subreg's mode.
2924 (subreg_regno_offset): New function.
2925 (subreg_regno): New function.
2926 * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
2927 * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
2928 * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
2929 * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
2930 (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
2931 * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
2932 (a29k_get_reloaded_address): Use SUBREG_BYTE.
2933 (print_operand): Use SUBREG_BYTE.
2934 * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
2935 * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
2936 (arm_reload_out_hi): Use SUBREG_BYTE.
2937 * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
2938 instead of SUBREG_WORD.
2939 (d30v_print_operand_memory_reference): Use subreg_regno_offset.
2940 * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
2941 SUBREG creation to use byte offset.
2942 * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
2943 inverted load insns): Fix explicit rtl subregs to use byte
2944 offsets.
2945 * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
2946 udivsi3, umodsi3): Generate SUBREGs with byte offsets.
2947 * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
2948 * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
2949 to use byte offsets.
2950 (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
2951 * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
2952 offsets, also make sure it is congruent to SUBREG's mode size.
2953 (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
2954 unnamed ldob insn): Generate SUBREGs with byte offset.
2955 (zero_extendqihi2): SUBREG's are byte offsets.
2956 * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
2957 (m68hc11_gen_highpart): Use SUBREG_BYTE.
2958 * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
2959 zero-extendqisi2): Generate SUBREGs with byte offset.
2960 (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
2961 subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
2962 subregs in rtl to use byte offsets.
2963 * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
2964 * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
2965 (mips_move_2words): Use subreg_regno_offset.
2966 (mips_secondary_reload_class): Use subreg_regno_offset.
2967 * config/mips/mips.md (DImode plus, minus, move, and logical op
2968 splits): Fixup explicit subregs in rtl to use byte offsets.
2969 * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
2970 * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
2971 * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
2972 rtl to use byte offsets.
2973 * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
2974 * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
2975 subregs to use byte offsets.
2976 * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
2977 Fixup explicit subregs in rtl to use byte offsets.
2978 * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
2979 and remove byte endian correction code.
2980 * config/sh/sh.c (output_movedouble): Use subreg_regno.
2981 (gen_ashift_hi): Use SUBREG_BYTE.
2982 (regs_used): Use subreg_regno_offset.
2983 (machine_dependent_reorg): Use subreg_regno_offset.
2984 * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
2985 * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
2986 (movdf_i4): Subregs are byte offsets now.
2987 * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
2988 * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
2989 (REGMODE_NATURAL_SIZE): Override.
2990 (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
2991 * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
2992 with byte offsets.
2993 (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
2994 extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
2995 extendqidi2): Generate SUBREGs with byte offsets, also make sure
2996 it is congruent to SUBREG's mode size.
2997 (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
2998 offsets.
d02af173
ZW
2999 (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
3000 cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
ddef6bc7
JJ
3001 lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
3002 SUBREG_BYTE offset for non-paradoxical subregs in patterns.
d02af173 3003 * config/v850/v850.c (print_operand, output_move_double): Use
ddef6bc7
JJ
3004 subreg_regno function.
3005
ef14c259
AO
30062001-04-03 Alexandre Oliva <aoliva@redhat.com>
3007
924c96eb
AO
3008 * configure.in (target_subdir): Use target_alias, not target.
3009 * configure: Rebuilt.
3010
ef14c259
AO
3011 * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
3012 other way round.
3013 * config/sh/crti.asm: Fix typos in comments.
3014
a7721dc0
AM
30152001-04-03 Alan Modra <alan@linuxcare.com.au>
3016
3017 * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
3018 TARGET_FAST_INDIRECT_CALLS.
3019 * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
3020 -fPIC. Don't warn.
3021 (return_addr_rtx): Short circuit export stub matching when
3022 TARGET_NO_SPACE_REGS.
3023 (output_millicode_call): For out of range calls, make -fPIC
3024 take precedence, then TARGET_PORTABLE_RUNTIME, then ble. Don't
3025 return before delay slot checks when TARGET_PORTABLE_RUNTIME.
3026 * pa.md: Modify length attr calculation of all millicode insns to
3027 match above.
3028
fbe42b1b
GK
30292001-04-02 Geoffrey Keating <geoffk@redhat.com>
3030
3031 * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
3032 Require at least 2.11 in the version test. Specifically check
3033 for and reject GAS version 2.10.90.
3034 * configure: regenerate.
3035
1c7a8112
AM
30362001-04-03 Alan Modra <alan@linuxcare.com.au>
3037
a7721dc0 3038 * pa.c (override_options): Remove PIC profiling warning.
1c7a8112
AM
3039 (hp_profile_labelno): Delete.
3040 (hp_profile_label_rtx): Delete.
3041 (hp_profile_label_name): Delete.
3042 (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
3043 (output_function_prologue): Remove profiling code and all tests on
3044 profile_flag. Move store of PIC_OFFSET_TABLE_REGNUM now that
3045 merge_sp_adjust_with_store can work for PIC and profiling.
3046 (hppa_expand_epilogue): Remove profile_flag test.
3047 (hppa_can_use_return_insn_p): Likewise.
3048 (hppa_init_pic_save): Emit before tail_recursion_reentry, and
3049 cater for PROFILE_HOOK.
3050 (hppa_profile_hook): New function.
a7721dc0 3051 * pa.h (FUNCTION_PROFILER): Now does nothing.
1c7a8112
AM
3052 (PROFILE_HOOK): Define.
3053 (hppa_profile_hook): Declare.
3054 (PROFILE_BEFORE_PROLOGUE): Delete.
3055 (ASM_OUTPUT_REG_PUSH): Delete.
3056 (ASM_OUTPUT_REG_POP): Delete.
a7721dc0
AM
3057 * pa.md (call_profiler): Turn it into a call insn, and don't `use'
3058 r24. Accept function name operand, and use this and a locally
3059 generated label to calculate pc-rel offset to func start.
1c7a8112 3060
2a3e8203
KG
30612001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3062
3063 * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
3064 ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
3065 $(SYSTEM_H).
3066
9ae21d2a
AM
30672001-04-03 Alan Modra <alan@linuxcare.com.au>
3068
3069 * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
3070 LO_SUM cases to where they belong.
3071
847abd1f
RH
30722001-04-02 Richard Henderson <rth@redhat.com>
3073
3074 * except.h (lang_eh_type_covers): Mark extern.
3075 (lang_eh_runtime_type): Likewise.
3076
0313e85b
ZW
30772001-04-02 Zack Weinberg <zackw@stanford.edu>
3078
3079 * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
3080 gengenrtl.c: Wrap generated header in multiple-include guard.
3081 Improve error checking.
3082
79cb7361
KG
30832001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3084
3085 * configure.in: Don't check for putenv.
3086 * configure: Regenerate.
3087 * gcc.c (putenv): Don't define.
3088 * vax/xm-vms.h: Handle putenv.
3089
32ff70d2
JJ
30902001-04-02 Jakub Jelinek <jakub@redhat.com>
3091
3092 * ifcvt.c (noce_emit_move_insn): New.
3093 (noce_try_store_flag, noce_try_store_flag_constants,
3094 noce_try_store_flag_inc, noce_try_store_flag_mask,
3095 noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
3096 noce_try_abs): Use it.
3097 (noce_process_if_block): Likewise.
3098 For STRICT_LOW_PART, take mode from its SUBREG.
3099
d791ea1e
JJ
31002001-04-02 Jakub Jelinek <jakub@redhat.com>
3101
3102 * fold-const.c (fold): Before optimizing unsigned comparison with
3103 0x7fffffffU, make sure arg0 is integral type.
3104
c6955d85
JM
31052001-04-02 Joseph S. Myers <jsm28@cam.ac.uk>
3106
3107 * c-tree.texi: Document representation of wide strings.
3108
efc45658
RH
31092001-04-01 Richard Henderson <rth@redhat.com>
3110
3111 * except.h (expand_builtin_dwarf_fp_regnum): Declare.
3112
e74061a9
JH
3113Sun Apr 1 11:49:05 CEST 2001 Jan Hubicka <jH@suse.cz>
3114
3115 * i386.md: remove obsoleted comments.
3116 (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
3117 (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
3118 fix output template.
3119
7656d28a
MM
31202001-03-31 Marek Michalkiewicz <marekm@linux.org.pl>
3121
3122 * config/avr/libgcc.S (__mulhi3): Optimize previous change.
3123
1757e774
BS
31242001-03-30 Bernd Schmidt <bernds@redhat.com>
3125
3126 * loop.c (load_mems): When generating a load from a pseudo, update
3127 REGNO_LAST_UID.
3128
886cbb88
JH
3129Fri Mar 30 17:36:43 CEST 2001 Jan Hubicka <jh@suse.cz>
3130
3131 * i386.c (ix86_split_long_move): Use change address to compensate
3132 stack pointer change in push instruction.
3133
f021d6fc
JH
3134Fri Mar 30 00:31:00 CEST 2001 Jan Hubicka <jh@suse.cz>
3135
3136 * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
3137 instead of rtx_equal_p; fix the output template.
3138
885a70fd
JH
3139Fri Mar 30 00:21:41 CEST 2001 Jan Hubicka <jh@suse.cz>
3140
3141 * i386.c (ix86_expand_setcc): Support 64bit.
3142 (ix86_expand_int_movcc): Likewise.
3143 * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
3144 New patterns.
3145
3146 * i386.md (allocate_stack_worker): Turn to expander.
3147 (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
3148
3149 * i386.c (print_reg): Do not print x86_64 style regs on IA-32
3150
e4b776a6
RH
31512001-03-29 Richard Henderson <rth@redhat.com>
3152
3153 * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
3154
498cf3d0
MH
31552001-03-28 Matthew Hiller <hiller@redhat.com>
3156
3157 * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
3158 output template.
3159
3160 * MAINTAINERS: Added self.
d02af173 3161
2bb9b75d
RH
31622001-03-28 Richard Henderson <rth@redhat.com>
3163
3164 * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
3165 Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
3166
2bf47a10
JW
31672001-03-28 Jim Wilson <wilson@redhat.com>
3168
3169 * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
3170 operand_subword.
3171
3fdefbcc
KG
31722001-03-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3173
3174 * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
3175
3176 * tradcif.y (yyerror): Likewise. Add format specifier in call to
3177 `error'.
d02af173 3178
3fdefbcc
KG
3179 * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
3180
0ac19cfa
DD
31812001-03-28 DJ Delorie <dj@redhat.com>
3182
3183 * Makefile.in (stage1_build): Revert CFLAGS patch.
3184
500164d2
MM
31852001-03-28 Marek Michalkiewicz <marekm@linux.org.pl>
3186
3187 * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
3188 when multiplier or multiplicand is zero.
3189
669ff14e
BS
31902001-03-28 Bernd Schmidt <bernds@redhat.com>
3191
3192 * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
3193
112333d3
BS
3194 * config/ia64/ia64.c (update_set_flags): New function, broken out of
3195 rtx_needs_barrier.
3196 (set_src_needs_barrier): Likewise.
3197 (rtx_needs_barrier): For SET case, use these two functions. Rework
3198 PARALLEL case to handle all inputs before all outputs.
3199 (emit_insn_group_barriers): Call init_insn_group_barriers only if we
3200 saw a label and no stop bit since then.
3201 (maybe_rotate, process_epilogue): Add prototypes.
3202
3553b09d
RH
32032001-03-28 Richard Henderson <rth@redhat.com>
3204
3205 * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
3206 not TARGET_TOC for special toc restore handling.
3207 * config/rs6000/rs6000.md (eh_return): Likewise.
3208
4573b4de
RH
32092001-03-28 Richard Henderson <rth@redhat.com>
3210
1150a841
RH
3211 * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
3212 current_function_calls_eh_return.
3213 (output_function_epilogue): Handle eh_return.
3214 * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
3215 (EH_RETURN_DATA_REGNO): New.
3216 (EH_RETURN_STACKADJ_RTX): New.
3217 (EH_RETURN_HANDLER_RTX): New.
3218 * config/sparc/sparc.md (call/short branch peepholes): Check
3219 can_throw_internal instead of in_same_eh_region.
3220
83720594
RH
3221 * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
3222 for eh_return data registers.
3223 (rs6000_emit_prologue): Save eh_return data registers.
3224 (rs6000_emit_epilogue): Force inline restores if eh_return.
3225 Restore eh_return data registers. Mind EH_RETURN_STACKADJ_RTX.
3226 * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
3227 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
3228 (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
3229 the target uses one.
3230 * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
3231 (return_eh_si, return_eh_di): Remove.
3232 (eh_return): New, from corpse of eh_epilogue.
3233 (eh_set_lr_si, eh_set_lr_di): New.
3234
1020a5ab
RH
3235 * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
3236 (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
3237 True for pic register if current_function_calls_eh_return.
3238 (ix86_expand_epilogue): Change "emit_return" argument into "style".
3239 Handle eh_return requirements.
3240 * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
3241 (EH_RETURN_STACKADJ_RTX): New.
3242 * config/i386/i386.md (exception_receiver): Remove.
3243 (eh_return, eh_return_1): New.
3244 * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3245
3246 * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
3247 (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
3248 (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
3249 * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
3250 (EH_RETURN_DATA_REGNO): New.
3251 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
3252 * config/alpha/alpha.md (eh_epilogue): Remove.
3253 (exception_receiver): Use $26 for ldgp input.
4573b4de
RH
3254 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3255
52a11cbf
RH
32562001-03-28 Richard Henderson <rth@redhat.com>
3257
3258 * except.c: Rewrite entirely for IA-64 ABI exception handling.
3259 * except.h: Likewise.
3260
3261 * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
3262 (LIB2ADDEHDEP): New.
3263 (LIB2FUNCS_EH): Remove.
3264 (LIB2ADD): Remove LIB2ADDEH.
3265 (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
3266 (LIBGCC_DEPS): Use LIB2ADDEHDEP.
3267 (crt{begin,end}[S].o): Likewise.
3268 (except.o): Update includes.
3269 * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
3270 (libgcc2_c_dep): Use LIB2ADDEHDEP.
3271
3272 * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
3273 * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
3274 * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
3275 * builtins.c (expand_builtin): Implement it.
3276 [BUILT_IN_EH_RETURN]: Update for nr arguments change.
3277 * c-common.c (c_common_nodes_and_builtins): Declare it.
3278 * c-decl.c (init_decl_processing): Update __builtin_eh_return.
3279 * calls.c (libfunc_nothrow): Remove.
3280 (emit_library_call_value_1): Don't call it.
3281 * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
3282 * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
3283 (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
3284 * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
3285 (current_funcdef_number): Globalize.
3286 (output_call_frame_info): Emit frame data if an lsda is needed.
3287 Generate augmentation for personality routine. Don't play with
3288 difference symbols.
3289 (dwarf2out_begin_prologue): Record funcdef_number.
3290 * dwarf2out.h (current_funcdef_number): Declare.
3291 * expr.c (expand_expr): Update for except.h name changes.
3292 Remove POPDCC_EXPR, POPDHC_EXPR. Add EXC_PTR_EXPR.
3293 * expr.h (LTI_throw, LTI_rethrow): Remove.
3294 (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
3295 (LTI_eh_rtime_match): Remove.
3296 (LTI_unwind_resume, LTI_eh_personality): Add.
3297 (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
3298 * final.c (final): Don't call check_exception_handler_labels,
3299 init_insn_eh_region, or free_insn_eh_region.
d02af173 3300 (final_scan_insn): Always emit debug labels for
52a11cbf
RH
3301 NOTE_INSN_EH_REGION notes.
3302 * flags.h (flag_new_exceptions): Remove.
3303 * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
3304 (record_active_eh_regions): Remove.
3305 (count_basic_blocks): Check all instructions for REG_EH_REGION.
3306 Use can_throw_internal.
3307 (find_basic_blocks_1): Likewise.
3308 (move_stray_eh_region_notes): Remove.
3309 (find_label_refs): No eh_return_stub_label.
3310 (make_edges): Likewise. No init/free_eh_nesting_info. Handle RESX.
3311 (make_eh_edge): No eh_nest_info. Update for reachable_handlers
3312 changes.
3313 (delete_unreachable_blocks): Don't track deleted handlers.
3314 (flow_delete_block): Use maybe_remove_eh_handler.
3315 (delete_eh_regions): Remove.
3316 (merge_blocks): Don't check for eh region match.
d02af173 3317 (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
52a11cbf
RH
3318 EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
3319 (init_propagate_block_info): Disable dead frame store optimization
3320 when current_function_calls_eh_return.
3321 (dump_bb): Don't print eh_beg, eh_end.
3322 * function.c (fixup_var_refs): No catch_clauses.
3323 (expand_function_end): Likewise. Call expand_eh_return before
3324 the return register use. Call sjlj_emit_function_exit_after.
3325 (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
3326 * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
3327 * ifcvt.c (dead_or_predicable): Remove eh region check.
3328 * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
3329 Don't check for EH vs parameters.
3330 (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
3331 (expand_inline_function): Call duplicate_eh_regions.
3332 (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
3333 (copy_insn_notes): Remap REG_EH_REGION notes.
3334 (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
3335 * integrate.h (struct inline_remap): Add local_return_label.
3336 * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
3337 check_exception_handler_labels, nor exception_optimize.
3338 (find_cross_jump): No EH region check.
3339 * optabs.c (init_optabs): Update for changed eh libfuncs.
3340 * rtl.def (RESX): New.
3341 * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
3342 * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
3343 checks. Update for except.h name changes.
3344 (expand_cleanups): Likewise.
3345 (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
3346 * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
3347 (compile_file): Call init_eh before init_optabs. Don't
3348 output_exception_table here.
3349 (rest_of_compilation): Call convert_from_eh_region_ranges,
3350 convert_to_eh_region_ranges, output_function_exception_table.
3351 Don't emit_eh_context.
3352 * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
3353 (EXC_PTR_EXPR): New.
3354
3355 * md.texi (eh_epilogue): Remove.
3356 (eh_return): Document.
3357 * tm.texi (EH_RETURN_DATA_REGNO): Document.
3358 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
3359
3360 * eh-common.h: Remove file.
3361 * frame-dwarf2.c, frame.c, frame.h: Remove files.
3362 * libgcc2.c (L_eh): Remove.
3363
3364 * unwind-dw2-fde.c: New file, largely copied from frame.c.
3365 * unwind-dw2-fde.h: New file.
3366 * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
3367 * unwind-sjlj.c, unwind.h, unwind.inc: New files.
3368 * libgcc-std.ver: Update for eh symbols.
3369
c1e9f663
RH
33702001-03-27 Richard Henderson <rth@redhat.com>
3371
a614d82e
RH
3372 * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
3373 reduce false positives.
3374 (regmove_optimize): Disable if flag_non_call_exceptions.
3375
7cc8342c
RH
3376 * stmt.c (expand_return): Remove always true predicate.
3377 (expand_decl_cleanup_no_eh): Remove dead code.
3378
ca3c1028
RH
3379 * sched-deps.c (sched_analyze_insn): Consolidate scheduling
3380 barrier code. Add a scheduling barrier if a non-call insn
3381 can throw internally.
3382
4f73495e
RH
3383 * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
3384 Auto-inc addresses trap only if their base register does.
3385
54590688
RH
3386 * except.c (can_throw_internal): Rename from can_throw.
3387 * except.h, resource.c: Update references.
3388
8cd44271
RH
3389 * integrate.c (copy_insn_list): Use returnjump_p.
3390 (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
3391
89996b6e
RH
3392 * function.h (struct function): Move all boolean valued fields
3393 to single bit fields at the end of the struct.
3394
c1e9f663
RH
3395 * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
3396 jump.c, toplev.c:
3397 Rename asynchronous_exceptions to flag_non_call_exceptions.
3398
d02af173 3399 * gthr-single.h (UNUSED): New. Distinguish between how C
e64a6541
RH
3400 and C++ mark unused function arguments. Use throughout.
3401
531073e7
RH
3402 * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
3403 value to target configuration header.
3404 * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
3405 * config.in, configure: Rebuild.
3406 * except.h (USING_SJLJ_EXCEPTIONS): New. Define based on
3407 configuration and target defines.
3408 (exceptions_via_longjmp): Remove.
3409 * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
3410 Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
3411
894d0e39
RH
3412 * except.h (flag_non_call_exceptions): Move ...
3413 * flags.h: ... here.
3414
662795a8
RH
3415 * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
3416 exceptions, put the note on the trapping instruction.
3417
461fc4de
RH
3418 * flags.h (flag_new_exceptions): Remove.
3419 * toplev.c: Don't set it.
3420 * final.c: Don't check it.
3421 * except.c: Provide stub definition.
3422
ad73b558
RH
3423 * flow.c (tidy_fallthru_edges): Don't combine complex edges.
3424 (calculate_global_regs_live): Kill call-clobbered registers
3425 across exception edges.
3426 * reg-stack.c (convert_regs_1): Kill the entire target stack
3427 across non-call exception edges.
3428
2f2ee4bb
RH
3429 * flow.c (cleanup_cfg): Take no argument.
3430 * output.h, sibcall.c, toplev.c: Update all calls.
3431
8e944909
KG
34322001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3433
3434 * configure.in: Don't check for bcopy.
3435 * configure, config.in: Regenerate.
3436
3437 * system.h: Don't define or prototype bcopy, instead poison it.
3438
3d74dad8
RH
34392001-03-27 Richard Henderson <rth@redhat.com>
3440
3441 * function.c (expand_function_start): Set DECL_REGISTER on
3442 a pseudo used for DECL_RESULT.
3443
695ee791
RH
3444 * rtl.h (LCT_NORETURN): New.
3445 * calls.c (emit_library_call_value_1): Handle it.
3446
e804281e
SS
34472001-03-27 Stan Shebs <shebs@apple.com>
3448
3449 * objc/objc-act.c (objc_init): Use dump_base_name.
3450 (gen_declaration): Clear the buffer arg.
3451 (gen_declaration_1): New function, body of gen_declaration.
3452 (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
3453 (gen_method_decl): Ditto, plus always clear buffer arg.
3454 (error_with_ivar): Simplify.
3455 (warn_with_method): Ditto.
3456 (build_message_expr): Don't clear buffers.
3457 (dump_interface): Ditto.
3458 (objc_debug): Ditto.
3459 (build_keyword_selector): Clear the buffer by only zeroing
3460 the first element.
3461 (objc_implementation_context): Declare.
3462 (start_class): Warn about missing @end.
3463 (finish_objc): Ditto.
3464
055c7759
JDA
34652001-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
3466
3467 * reload1.c (eliminate_regs): Don't abort on MEM USEs.
3468
911e6107
KG
34692001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3470
3471 * Makefile.in (SYSTEM_H): Define.
3472 Depend on $(SYSTEM_H), not system.h.
3473
3474 * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
3475
685af3af
JW
34762001-03-27 Jim Wilson <wilson@redhat.com>
3477
ad0fc698
JW
3478 * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
3479 IA64_UNWIND_EMIT.
3480 * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
3481 (process_epilogue): New static function.
3482 (process_set): Call process_epilogue instead of emitting .restore
3483 directly.
3484 (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
3485
685af3af
JW
3486 * flow.c (struct reg_cond_life_info): New fields orig_condition
3487 and stores.
3488 (init_propagate_block_info): Set new fields.
3489 (mark_regno_cond_dead): Set and use new fields.
3490 (flush_reg_cond_reg_1): Likewise.
3491 (and_reg_cond, case AND): Check for redundant AND conditions.
3492 (mark_used_reg): Delete unnecessary clears before freeing splay trees.
3493 Set new fields.
3494
b044e9d5
NB
34952001-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
3496
3497 * cppmacro.c (stringify_arg): Null terminate strings.
3498
0b29309a
ZW
34992001-03-27 Zack Weinberg <zackw@stanford.edu>
3500
3501 * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
3502 inclusion style. xm-m68hc11.h no longer exists.
3503 * config/m68hc11/xm-m68hc11.h: Delete file.
3504 * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
3505
3506 * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
3507 Don't define GCC_VERSION, N_, or PARAMS; don't include
3508 gansidecl.h or stdio.h. Define inhibit_libc here.
3509 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
3510 Delete code conditioned on #if GCC_VERSION == 2095.
3511
3512 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
3513 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
3514 Delete code conditioned on #if GCC_VERSION == 2095.
3515
4bc5fbd4
KG
35162001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3517
3518 * system.h: Include symcat.h.
3519 (STRINGIFY): Don't define.
3520
3521 * configure.in: Adjust comment.
3522
3523 * builtins.c: Use STRINGX, not STRINGIFY.
3524 * gencheck.c: Likewise.
3525 * gengenrtl.c: Likewise.
3526 * protoize.c: Likewise.
3527
3528 * cpplex.c: Don't include symcat.h.
3529 * cpplib.c: Likewise.
3530
3531 * gansidecl.h (HAVE_STRINGIZE): Don't define.
3532
b13aca19
AM
35332001-03-27 Alan Modra <alan@linuxcare.com.au>
3534
3535 * c-typeck.c (digest_init): Fold init expression.
3536
7c5b92c4
KG
35372001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3538
3539 * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
3540
5b5c2734
AM
35412001-03-27 Alan Modra <alan@linuxcare.com.au>
3542
3543 * except.c (eh_regs): Save results of build_pointer_type to a temp
3544 as FUNCTION_VALUE macro may evaluate its args multiple times.
3545
b850de4f
MM
35462001-03-26 Mark Mitchell <mark@codesourcery.com>
3547
3548 * c-common.h (DECL_NUM_STMTS): New macro.
3549 * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
3550 DECL_FRAME_SIZE.
3551 (pushdecl): Likewise.
3552 * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
3553 * integrate.c (expand_inline_function): Don't check
3554 DECL_FRAME_SIZE.
3555 * print-tree.c (print_node): Don't print it.
3556 * toplev.c (rest_of_compilation): Don't try to inline when
3557 flag_no_inline is on.
3558 * tree.h (DECL_FRAME_SIZE): Remove.
3559 (tree_decl): Adjust accordingly.
0b29309a 3560
d38a30c9
KG
35612001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3562
3563 * combine.c (try_combine): Use memcpy, not bcopy.
3564
3565 * genattrtab.c (expand_units): Likewise.
3566
cc2e591b
JH
3567Mon Mar 26 15:55:08 CEST 2001 Jan Hubicka <jh@suse.cz>
3568
3569 * i386.md (push mem DI peep2): New.
3570 (mov 0, mov -1 peep2): Handle 64bit.
3571 (lea to arithmetics peep2): Handle 64bit leas.
3572 (rsp arithmetics to push/pop peep2s): New.
3573
3574 * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
3575
8362f420
JH
3576Mon Mar 26 14:35:18 CEST 2001 Jan Hubicka <jh@suse.cz>
3577
3578 * i386.c (struct machine_function): Add save_varrargs_registers.
3579 (ix86_save_varrargs_registers): New macro.
3580 (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
3581 (ix86_expand_prologue): Likewise.
3582 (ix86_emit_epilogue_esp_adjustement): Likewise.
3583 (ix86_expand_epilogue): Likewise.
3584 * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
3585 (pro_epilogue_adjust_stack_1): New insn.
3586 (pro_epilogue_adjust_stack_rex64): Likewise.
3587 * i386.h (MASK_NO_RED_ZONE): New constant.
3588 (TARGET_RED_ZONE): New macro.
3589 (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
3590 (RED_ZONE_SIZE): New constant.
3591 (RED_ZONE_RESERVE): New constant.
3592
56b89084
KG
35932001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3594
3595 * toplev.c (set_float_handler): Use memcpy, not bcopy.
3596
273c3244
KH
35972001-03-25 Kazu Hirata <kazu@hxi.com>
3598
3599 * config/h8300/h8300.md (umodqi3): Output a tab instead of a
3600 space.
3601 (modqi3): Likewise.
3602 (umodhi3): Likewise.
3603 (modhi3): Likewise.
3604
d2a2648c
KG
36052001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3606
3607 * mkconfig.sh (DEFINES): Handle entries with '='.
3608
3609 * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
3610 Set xm_defines to MACRO=value instead.
3611
3612 * i370/xm-mvs.h: Delete.
0b29309a 3613
d2a2648c
KG
3614 * ns32k/xm-pc532-min.h: Likewise.
3615
371bc54b
JH
3616Sun Mar 25 15:01:40 CEST 2001 Jan Hubicka <jh@suse.cz>
3617
3618 * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
3619 shiftdi_operand;
3620 use ix86_expand_binary_operator
3621 (?sh??i_?): Disable for 64bit.
3622 * i386.h (PREDICATE_CODES): Add shiftdi_operand.
3623 * i386.c (shiftdi_operand): New predicate.
3624
3625 * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
3626 ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
3627 ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
3628 ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
3629 ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
3630 lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
3631 lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
3632 rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
3633 rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
3634 rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
3635 (rotldi3, rotrdi3): New expanders.
3636
0945b39d
JH
3637Sun Mar 25 14:25:33 CEST 2001 Jan Hubicka <jh@suse.cz>
3638
3639 * i386.md (movstrsi): Move offline.
3640 (movstrdi): New.
3641 (strmovdi_rex64): New.
3642 (strmov?i): Accept 64bit.
3643 (strmov?i_rex64): New.
3644 (strmov?i_rex_1): New.
3645 (strmov?i_1): Disable for 64bit.
3646 (rep_mov?i_rex64): New.
3647 (rep_mov?i): Disable for 64bit.
3648 (clrstrsi): Move offline.
3649 (strset?i_rex64): New.
3650 (strset?i: Accept 64bit.
3651 (rep_stos?i): Disable for 64bit.
3652 (rep_stos?i_rex64): New.
3653 (strset?i_rex_1): New.
3654 (strset?i_1): Disable for 64bit.
3655 (cmpstrsi): Accept 64bit.
3656 (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
3657 (cmpstrqi_nz_rex_1): New.
3658 (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
3659 (strlensi): Move offline.
3660 (strlendi): New.
3661 (strlenqi_1): Disable for 64bit; fix constraints.
3662 (strlenqi_rex_1): New.
3663 * i386.c (ix86_adjust_counter): New static function.
3664 (ix86_zero_extend_to_Pmode): Likewise.
3665 (ix86_expand_aligntest): Likweise.
3666 (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
3667 (ix86_expand_movstr): New global function.
3668 (ix86_expand_clrstr): New global function.
3669 (ix86_expand_strlen): New global function.
3670 * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
3671 ix86_expand_strlen): Declare.
3672 (ix86_expand_strlensi_unroll_1): Delete.
3673
9b70259d
JH
3674Sat Mar 24 23:15:19 CET 2001 Jan Hubicka <jh@suse.cz>
3675
3676 * i386.md (cmpdi): Fix operand predicates.
3677 (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
3678 cmpdi_1_insn_rex64): New patterns.
3679 (adddi3): Turn to expander.
3680 (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
3681 (addsi3_carry_zext): New pattern.
3682 (adddi_?_rex64): New patterns and splitters.
3683 (addsi_?_zext): New patterns.
3684 (subsi3_carry_zext): New pattern.
3685 (subdi_?_rex64): New patterns and splitters.
3686 (iorsi_?_zext): New patterns.
3687 (iordi_?_rex64): New patterns and splitters.
3688 (iorsi_?_zext): New patterns.
3689 (iorsi_?_zext_imm): New patterns.
3690 (xorsi_?_zext): New patterns.
3691 (xordi_?_rex64): New patterns and splitters.
3692 (xorsi_?_zext): New patterns.
3693 (negdi*): New patterns.
3694 (one_cmpldi*): Likewise.
3695 (one_cmplsi*_zext, negsi*_zext): Likewise.
3696 (testqi_ext_3_rex64): New pattern.
3697
26e5b205
JH
3698Sat Mar 24 21:13:28 CET 2001 Jan Hubicka <jh@suse.cz>
3699
3700 * i386-protos.h (ix86_split_long_move): Return void.
3701 * i386.c (ix86_split_to_parts): Handle 64bit target.
3702 (ix86_split_long_move): Likewise.
3703 * i386.md (all calls to ix86_split_long_move): Update.
3704
75e0407e
RH
37052001-03-23 Richard Henderson <rth@redhat.com>
3706
3707 * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
3708 to avoid shadowing arguments.
3709
60080880
JJ
37102001-03-23 Jakub Jelinek <jakub@redhat.com>
3711
3712 * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
3713 to variable names where DECL_NAME is different from
3714 DECL_ASSEMBLER_NAME.
3715
9ea07fd0
JW
37162001-03-23 Jim Wilson <wilson@redhat.com>
3717
3718 * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
3719 (assemble_alias): Call make_decl_rtl.
0b29309a 3720
25caaba8
R
3721Fri Mar 23 16:59:08 2001 J"orn Rennecke <amylaar@redhat.com>
3722
3723 * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
3724
60c87482
BM
37252001-03-23 Bryce McKinlay <bryce@albatross.co.nz>
3726
3727 * extend.texi: Document the "java_interface" attribute.
3728
1b0ae0f9
ZW
37292001-03-22 Zack Weinberg <zackw@stanford.edu>
3730
3731 * mkconfig.sh: Use a subshell with redirected stdout,
3732 instead of closing stdout and confusing commands that run
3733 afterward. Throw away output of cmp.
3734
b937498e
GS
37352001-03-22 Gordon Sadler <gbsadler1@lcisp.com>
3736
3737 * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
3738
123bf9e3
JH
3739Thu Mar 22 22:15:59 CET 2001 Jan Hubicka <jh@suse.cz>
3740
3741 * i386.md (zero_extendsidi2_32): Break out from ...
3742 (zero_extendsidi2): ... here ; turn to expander.
3743 (zero_extendsidi2_rex64): New.
3744 (extendsidi2_32): Break out from ...
3745 (extendsidi2): ... here ; turn to expander.
3746 (extendsidi2_rex64): New.
3747 (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
3748 (trunc?f?f splitters): Add 64bit versions.
3749
0ec259ed
JH
3750Thu Mar 22 21:41:16 CET 2001 Jan Hubicka <jh@suse.cz>
3751
3752 * i386.md (pushsi, pushsi2_prologue): Disable.
3753 (pushsi2_rex64): New.
3754 (movabs?i_1_rex64, movabs?i_2_rex64): New.
3755 (movqi_ext_1): Disable for 64bit.
3756 (movqi_ext_1_rex64): New.
3757 (pushdi2_rex64): New pattern, peep2s and splitter.
3758 (pushdi2_prologue_rex64): New pattern.
3759 (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
3760 Likewise.
3761 (movdi splitters): Disable for 64bit.
3762 (movdi_1_rex64): New pattern, peep2s and splitters.
3763 (swapdi): New pattern.
3764 (pushsf): Disable for 64bit.
3765 (pushsf_rex64): New pattern and splitter.
3766 (pushdf_nointeger): Disable for 64bit.
3767 (pushdf_integer): Handle the 64bit case.
3768 (pushtf): Likewise; update splitters.
3769
5e7f4a4a
RH
37702001-03-22 Richard Henderson <rth@redhat.com>
3771
3772 * mkconfig.sh: Include insn-flags.h.
3773 * Makefile.in (CONFIG_H): Include insn-flags.h.
3774 (lots of objects): Remove insn-codes.h and insn-flags.h.
3775
3776 * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
3777 integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
3778 regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
3779 avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
3780 dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
3781 i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
3782 m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
3783 mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
3784 pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
3785 v850/v850.c, vax/vax.c:
3786 Don't include insn-flags.h.
3787
3788 * diagnostic.c, expr.h, reload.c, toplev.c:
3789 Don't include insn-codes.h.
3790
3791 * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
3792 final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
3793 c4x/c4x.c, i960/i960.c, mips/mips.c:
3794 Don't include insn-codes.h or insn-flags.h.
3795
3796 * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
3797 or insn-flags.h in the generated code.
3798 * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
3799 (main): Forward declare struct rtx_def.
3800
52a11d15
JM
38012001-03-22 Joseph S. Myers <jsm28@cam.ac.uk>
3802
8b87acb8
JM
3803 * invoke.texi (-ffast-math): Remove duplicate line about
3804 __FAST_MATH__.
3805
52a11d15
JM
3806 * gcc.texi: Remove more obsolete documentation of bugs and
3807 installation problems.
3808
b5f1747c
KH
38092001-03-21 Kazu Hirata <kazu@hxi.com>
3810
3811 * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
3812 into two parts.
3813
64d9c3fe
JM
38142001-03-20 Jason Merrill <jason@redhat.com>
3815
3816 * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
3817 not '.' or '$'.
3818 * tree.c (FILE_FUNCTION_FORMAT): Likewise.
3819 * varasm.c (CHKR_PREFIX): Likewise.
3820
4eadbbd5
RK
3821Wed Mar 21 14:27:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3822
52d76e11
RK
3823 * gcse.c (hash_scan_set): An expression is not anticipatible if it
3824 is part of a multi-SET insn.
3825
bca05d20
RK
3826 * cse.c (find_comparison_args): Remove previous change.
3827 * ifcvt.c (noce_process_if_block): When moving an insn, remove any
3828 REG_EQUAL notes.
3829
37c7da7b
RK
3830 * config/i386/i386.md (conditional_trap): Remove warning.
3831
a8d19608
RK
3832 * recog.c (push_operand): Fix error in last change that caused
3833 undefined symbol on many targets.
3834
4eadbbd5 3835 * sdbout.c: #include ggc.h.
60e589ef 3836 (sdbout_init): Move to end of file.
4eadbbd5
RK
3837 Call ggc_add_tree_root for anonymous_types.
3838 (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
3839 (sdbout_one_type): Use DECL_NAME for field name.
3840 * Makefile.in (sdbout.o): Show includes ggc.h.
3841
0d7d98ee
JH
3842Wed Mar 21 20:33:26 CET 2001 Jan Hubicka <jh@suse.cz>
3843
3844 * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
3845 (override_options): Use properlimits for preferred_stack_boundary.
3846 (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
3847 on x86_64.
3848 (ext_register_operand): Accept DImode.
3849 (load_pic_register): Abort on 64bit.
3850 (gen_push): Use Pmode instead of SImode.
3851 (ix86_save_reg): Pic reg is never used on 64bit.
3852 (ix86_expand_prologue): Likewise.
3853 (ix86_emit_save_regs): Use Pmode instead of SImode.
3854 (legitimate_address_p): Check displacement for 64bit.
3855 (print_operand): Avoid outputting of (%rip) on 64bit.
3856 (print_operand_address): Output (%rip) where possible.
3857 (split_di): Abort on 64bit registers.
3858 (ix86_expand_branch): DImode comparison is simple for x86_64.
4eadbbd5
RK
3859 (memory_address_length): Recognize memory addresses formed using
3860 PRE/POST modify.
0b29309a 3861 (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
4eadbbd5 3862 for x86_64.
0d7d98ee
JH
3863 * i386.h (TARGET_USE_SAHF): Disable for 64bit.
3864
70a32495
JH
3865Wed Mar 21 18:51:19 CET 2001 Jan Hubicka <jh@suse.cz>
3866
3867 * recog.c (push_operand): Recognize new format of push instructions.
3868
7dd4b4a3
JH
3869Wed Mar 21 10:53:57 CET 2001 Jan Hubicka <jh@suse.cz>
3870
3871 * i386.md (pushqi1): New.
3872 * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
3873 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
3874 x86_64_immediate_operand, x86_64_immediate_operand,
3875 x86_64_zext_immediate_operand): Declare.
3876 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
3877 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
3878 x86_64_immediate_operand, x86_64_immediate_operand,
3879 x86_64_zext_immediate_operand): define.
3880 * i386.h (PREDICATE_CODES): Add new predicates.
3881
3882Wed Mar 21 10:25:13 CET 2001 Jan Hubicka <jh@suse.cz>
566aa174
JH
3883
3884 * i386.md (pophi1, popqi1, pushqi1): Remove.
3885
3886 * expr.c (emit_single_push_insn): New function.
3887 (move_by_pieces): Accept NULL as destination for push instructions.
3888 (gen_push_operand): Kill.
3889 (emit_push_insn): Pass NULL when pushing; avoid updating of
3890 stack_pointer_delta.
3891 * expr.h (gen_push_operand): Kill.
3892
e26b8996
RK
3893Tue Mar 20 20:15:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3894
3895 * rtl.texi (COMPARE): Clarify documentation and reference section
3896 on comparisons.
3897
e44949e9
SS
38982001-03-20 Stan Shebs <shebs@apple.com>
3899
3900 * objc/objc-act.c (get_static_reference): Use NULL_TREE.
3901 (get_object_reference): Ditto.
3902 (error_with_ivar): Use error_with_file_and_line.
3903 (warn_with_method): Use warning_with_file_and_line.
3904
2ba5f9b1
TT
39052001-03-20 Tom Tromey <tromey@redhat.com>
3906
3907 * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
3908
116b39e0
MM
39092001-03-20 Mark Mitchell <mark@codesourcery.com>
3910
3911 * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
3912 variables that are TREE_PUBLIC, even if not TREE_STATIC.
3913
17da603c 39142001-03-20 DJ Delorie <dj@redhat.com>
67680154
DD
3915
3916 * Makefile.in (install-libgcc): Pass complete list of variables.
3917 (install-multilib): Ditto.
3918
79f96374
DB
39192001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
3920
3921 * config/i386/cygwin.h: Declare ctor_section, dtor_section
3922 drectve_section, switch_to_section.
3923
3924 * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
3925 i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
3926 i386_pe_mark_dllimport.
3927
39282001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
0b29309a 3929
79f96374
DB
3930 * config/i386/cygwin.h: Include <stdio.h> Declare and constify
3931 functions i386_pe_*.
3932
3933 * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
3934 i386_pe_* functions with char * arguments.
3935
a92facbb
AO
39362001-03-20 Alexandre Oliva <aoliva@redhat.com>
3937
3938 * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
3939 and store.
3940 (movsi_ie): Introduce fpul store.
3941
78f8fa86
AM
39422001-03-20 Alan Modra <alan@linuxcare.com.au>
3943
3944 * Makefile.in (OBJS): Remove hashtab.o.
3945
ced5bce7
SS
39462001-03-19 Stan Shebs <shebs@apple.com>
3947
3948 * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
3949 * c-lang.c (maybe_objc_method_name): Ditto.
3950 * c-tree.h (maybe_objc_method_name): Remove decl.
3951
d60726da
TT
39522001-03-19 Tom Tromey <tromey@redhat.com>
3953
3954 * gcc.c (init_gcc_specs): Fix comment.
3955
68e568c2
MM
39562001-03-19 Mark Mitchell <mark@codesourcery.com>
3957
92643fea
MM
3958 Compute DECL_ASSEMBLER_NAME lazily.
3959 * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
3960 (DECL_ASSEMBLER_NAME_SET_P): New macro.
3961 (SET_DECL_ASSEMBLER_NAME): Likewise.
3962 (COPY_DECL_ASSEMBLER_NAME): Likewise.
3963 (set_decl_assembler_name): Declare.
3964 (lang_set_decl_assembler_name): Likewise.
3965 * tree.c (lang_set_decl_assembler_name): New variab.e
3966 (set_decl_assembler_name): New function.
3967 (init_obstacks): Set lang_set_decl_assembler_name.
3968 (build_decl): Don't set DECL_ASSEMBLER_NAME.
3969 * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
3970 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
3971 where it's not necessary.
3972 (builtin_function): Likewise.
3973 (finish_decl): Likewise.
3974 * dbxout.c (dbxout_type_methods): Likewise.
3975 * ggc-common.c (ggc_mark_trees): Likewise.
3976 * profile.c (output_func_start_profiler): Likewise.
3977 * varasm.c (make_decl_rtl): Likewise.
3978
68e568c2
MM
3979 * cse.c (find_comparison_args): Update documentation. Fix
3980 mishandling of COMPARE operations.
3981
3982 * tree.def (ABS_EXPR): Add documentation.
3983 * fold-const.c (fold): Improve folding of ABS_EXPRs.
3984
d4b6faf6
ZW
39852001-03-19 Zack Weinberg <zackw@stanford.edu>
3986
3987 * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
3988
373368fd
JJ
39892001-03-19 Jakub Jelinek <jakub@redhat.com>
3990
3991 * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
3992 Remove ia32 linux PIC kludge and move it...
3993 * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
3994
7343a5a9
JH
3995Mon Mar 19 18:53:54 CET 2001 Jan Hubicka <jh@suse.cz>
3996
3997 * i386.md (absdf2 expander): Fix 64bit case.
3998
a8e5b5d9
BL
39992001-03-19 Brad Lucier <lucier@math.purdue.edu>
4000
4001 * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
4002
e7aadbbb
AH
40032001-03-16 Andrew Haley <aph@cambridge.redhat.com>
4004
0b29309a 4005 * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
e7aadbbb 4006
5df3dc23
GP
40072001-03-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4008
4009 * README.X11: Remove obsolete file.
4010
ff9b0a49
AG
40112001-03-18 Anthony Green <green@redhat.com>
4012
4013 * config/pj/pj.h: Remove some trailing commas.
4014 (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
4015
bf501a65
RH
40162001-03-18 Richard Henderson <rth@redhat.com>
4017
4018 * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
4019 * calls.c: ... here.
4020 * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
4021 defaults for them here.
4022
488744fa
AG
40232001-03-17 Anthony Green <green@redhat.com>
4024
4025 * config/pj/lib1funcs.S: Fix broken comment.
4026 * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
4027 labels with '.'.
4028
1f618c58
JM
40292001-03-18 Joseph S. Myers <jsm28@cam.ac.uk>
4030
4031 * gcc.texi: Remove obsolete information relating to build and
4032 installation problems with enquire or the Pyramid C compiler.
4033
fbfa55b0
RH
40342001-03-17 Richard Henderson <rth@redhat.com>
4035
4036 * dwarf2out.c (queue_reg_save): New.
4037 (flush_queued_reg_saves, clobbers_queued_reg_save): New.
4038 (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
4039 dwarf2out_reg_save.
4040 (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
4041 (cfa, cfa_store, cfa_temp): Make static.
4042 * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
4043
464186fb
RH
40442001-03-17 Richard Henderson <rth@redhat.com>
4045
4046 * integrate.h (struct inline_remap): Add local_return_label.
4047 * integrate.c (expand_inline_function): Initialize it and emit
4048 it after copy_insn_notes.
4049 (copy_insn_list): Don't store local_return_label here.
4050 (copy_insn_notes): New function split out from copy_insn_list.
4051
acc187f5
RH
40522001-03-17 Richard Henderson <rth@redhat.com>
4053
4054 * dwarf2out.c (lookup_filename): Emit .file if the assembler
4055 is generating .debug_line.
4056 (dwarf2out_init): Add main_input_filename to the file table first.
4057 * configure.in (as_dwarf2_debug_line): Test with file number 1
4058 instead of file number 0.
4059
6732576c
RK
4060Sat Mar 17 11:52:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4061
f1c6ba8b
RK
4062 * combine.c (undobuf): Remove field previous_undos; all refs deleted.
4063 (gen_rtx_combine): Deleted; all references changed as appropriate.
4064 (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
4065
6732576c
RK
4066 * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
4067
3b92de06
DB
40682001-03-17 David Billinghurst <David.Billinghurst@riotinto.com>
4069
4070 * config/i386/xm-cygwin.h: Include <sys/cygwin.h. Remove unused
4071 variable.
4072
0c35f902
JW
40732001-03-16 Jim Wilson <wilson@redhat.com>
4074
4075 * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
4076 then set it to LOC_REG (79) instead of aborting.
4077
cf440c3c
PE
40782001-03-16 Phil Edwards <pme@sources.redhat.com>
4079
4080 * gccbug.in: Remove high priority.
4081
e48cd290
RH
40822001-03-16 Richard Henerson <rth@redhat.com>
4083
4084 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
4085 output with a space instead of deleting it.
4086 * configure: Regenerate.
4087
2d6eb5bf
ZW
40882001-03-16 Zack Weinberg <zackw@stanford.edu>
4089
4090 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
4091 handles the gory details of converting an object file into
4092 something that's safe to grep.
4093 (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
4094 gcc_AC_C_COMPILE_ENDIAN. Use gcc_AC_EXAMINE_OBJECT. Put
4095 newlines at either end of the string we're looking for.
4096 Make 'checking ...' message less stilted.
4097 (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT. Handle
4098 ARM in-memory layout and its hypothetical converse. Don't
4099 define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
4100 HOST_WORDS_BIG_ENDIAN.
4101
4102 * configure.in: Adjust for renamed macro. Move
4103 gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
4104 * configure, config.in: Regenerate.
4105
d577781c
LB
41062001-03-16 Laurynas Biveinis <lauras@softhome.net>
4107
4108 * fixinc/Makefile.in: Set SHELL.
4109
41102001-03-16 Laurynas Biveinis <lauras@softhome.net>
4111
4112 * fixinc/fixincl.c (fix_with_system): Quote file names before
4113 passing them to shell.
2d6eb5bf 4114
d577781c
LB
41152001-03-16 Laurynas Biveinis <lauras@softhome.net>
4116
4117 * Makefile.in: Use fix-header$(build_exeext) instead
4118 of fix-header.
2d6eb5bf 4119
981975b6
RH
41202001-03-16 Richard Henderson <rth@redhat.com>
4121
4122 * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
4123 (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
4124 (size_of_line_prolog): Remove.
4125 (output_line_info): Compute prologue size via label difference.
4126 (lookup_filename): Return "unspecified" for <internal> and <built-in>.
4127
4128 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
4129 assembler error when redefining file numbers.
4130 * config.in, configure: Rebuild.
4131
da6af203
RH
4132 * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
4133 (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
4134 (dw2_asm_output_delta_uleb128): Likewise.
4135 (dw2_asm_output_delta_sleb128): Similarly.
4136 (dw2_asm_output_data_sleb128): Similarly. Print number in decimal.
4137
3a6ee9f4
MM
41382001-03-16 Michael Meissner <meissner@redhat.com>
4139
4140 * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
4141 warnings.
4142 (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
4143 warnings.
4144 (BITMASK_LOWER16): Replacement for 0x0000ffff.
4145
4146 * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
4147 instead of 0xffff0000/0x0000ffff to avoid warnings about constants
4148 being unsigned in ISO C and signed in traditional.
4149 (expand_prologue): Ditto.
4150 (RA_MASK): Use BITMASK_HIGH to avoid warnings.
4151
4152 * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
4153 warnings.
4154 (divsi3,divdi3): Ditto.
4155 (modsi3,moddi3): Ditto.
4156 (fix_truncdfsi2,fix_truncdfdi2): Ditto.
4157 (fix_truncsfsi2,fix_truncsfdi2): Ditto.
4158 (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
4159 warnings.
4160
fa9f36a1
JH
4161Fri Mar 16 14:47:57 CET 2001 Jan Hubicka <jh@suse.cz>
4162
4163 * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
4164 SSE based conditional moves on LTGT/UNEQ conditions;
4165 Canonicalize EQ to NE.
4166 * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
4167 (sse_mov?fcc_ne): New.
4168
4169 * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
4170
fd969c7c
AO
41712001-03-16 Alexandre Oliva <aoliva@redhat.com>
4172
4173 * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
4174 register may be dead.
4175
91c251fd
BL
41762001-03-16 Brad Lucier <lucier@math.purdue.edu>
4177
4178 * Makefile.in (hash.o): Depend on CONFIG_H.
4179
110c3568
MM
41802001-03-15 Mark Mitchell <mark@codesourcery.com>
4181
4182 * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
4183
7426e9a2
RH
41842001-03-15 Richard Henderson <rth@redhat.com>
4185
4186 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
4187 (ASM_OUTPUT_DWARF_PCREL): New.
4188 * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
4189
11bca309
AO
41902001-03-16 Alexandre Oliva <aoliva@redhat.com>
4191
4192 * cppfiles.c (stack_include_file): Use MAX of sysp.
4193
7e5b9908
SE
41942001-03-15 Steve Ellcey <sje@cup.hp.com>
4195
2d6eb5bf
ZW
4196 * config.gcc (ia64*-*-hpux*): New case.
4197 * config/ia64/hpux.h: New file for HP-UX support.
4198 * config/ia64/t-hpux: New file for HP-UX support.
7e5b9908 4199
3b3a1054
BK
42002001-03-16 Bruce Korb <bkorb@gnu.org>, Alexandre Oliva <aoliva@redhat.com>
4201
4202 * fixinc/inclhack.def (irix_stdio_va_list): New.
4203 * fixinc/fixincl.x: Rebuilt.
4204
8e7fa2c8
RH
42052001-03-15 Richard Henderson <rth@redhat.com>
4206
4207 * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
4208 if provided by the target.
4209 (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
4210 (dw2_asm_output_addr): New.
4211 * dwarf2asm.h (dw2_asm_output_addr): Declare.
4212 * dwarf2out.c (output_cfi): Use it for program addresses.
4213 (output_call_frame_info, output_die): Likewise.
4214 (output_aranges, output_line_info): Likewise.
4215
798bdf70
BK
42162001-03-15 Bruce Korb <bkorb@gnu.org>
4217
4218 * gcc.c(main): make more rigorous
4219 * collect2.c(main): guard against ignoring SIGCHLD
4220 * protoize.c(main): ditto
4221 * gcc/fixinc/fixincl.c(initialize): ditto
4222
d975d8c3
MM
42232001-03-15 Mark Mitchell <mark@codesourcery.com>
4224
4225 * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
4226 (sdbout_parms): Likewise.
4227
b216e516
JL
4228Thu Mar 15 12:57:14 2001 Jeffrey A Law (law@cygnus.com)
4229
4230 * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
4231 "widen" a destination that is already wider than a word. Also do
4232 not widen if LOAD_EXTEND_OP is NIL for the given mode.
4233
e06736f4
BS
42342001-03-15 Bernd Schmidt <bernds@redhat.com>
4235
4236 * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
4237
42edbfa1
JW
4238Thu Mar 15 11:30:31 EST 2001 John Wehle (john@feith.com)
4239
4240 * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
4241
43fabf7d
JW
4242Thu Mar 15 11:24:29 EST 2001 John Wehle (john@feith.com)
4243
4244 * i960.h (i960_maxbitalignment,
4245 i960_last_maxbitalignment): Declare.
4246 * i960.c (i960_maxbitalignment,
4247 i960_last_maxbitalignment): Make global.
4248 (process_pragma): Delete.
4249 (i960_pr_align, i960_pr_noalign): Move from here ...
4250 * i960-c.c: ... to this new file.
4251 * t-960bare (i960-c.o): New rule.
4252 * t-vxworks960 (i960-c.o): Likewise.
4253 * config.gcc (i960-*-*): Define c_target_objs and
4254 cxx_target_objs.
4255
e4027dab
BS
42562001-03-15 Bernd Schmidt <bernds@redhat.com>
4257
a4f4333a
BS
4258 * cselib.c (hash_rtx): For REG and MEM, just use value of expression
4259 without adding in rtx code and mode.
4260
bb2cf916
BS
4261 * alias.c (init_alias_analysis): Don't use any rtx whose value
4262 varies as a known value.
4263 Delete a superfluous test.
4264
e4027dab
BS
4265 * config/ia64/ia64.c (maybe_rotate): New function, broken out of
4266 ia64_sched_reorder.
4267 (ia64_sched_reorder): Call maybe_rotate; also rotate after
4268 scheduling a stop bit.
4269 (ia64_emit_nops): Correctly handle ASMs.
4270
d1d61788
MM
42712001-03-15 Mark Mitchell <mark@codesourcery.com>
4272
4273 * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
4274
ba133c96
NB
42752001-03-15 Neil Booth <neil@daikokuya.demon.co.uk>
4276
4277 * cpp.texi: Update documentation for -include and -imacros.
4278 * cppfiles.c (struct include_file): Remove "defined" memeber.
4279 (find_or_create_entry): Make a copy of the file name, and
4280 simplify it.
4281 (open_file): Update to ensure we use the simplified filename.
4282 (stack_include_file): Don't set search_from.
4283 (cpp_included): Don't simplify the path name here.
4284 (find_include_file): New prototype. Call search_from to
4285 get the start of the "" include chain. Don't simplify the
4286 filenames here.
4287 (_cpp_execute_include): New prototype. Move diagnostics to
4288 do_include_common. Update.
4289 (_cpp_pop_file_buffer): Don't set defined.
4290 (search_from): New prototype. Use the preprocessor's cwd
4291 for files included from the command line.
4292 (read_name_map): Don't simplify the pathname here.
4293 * cpphash.h (enum include_type): New.
4294 (struct buffer): Delete search from. New search_cached.
4295 (_cpp_execute_include): Update prototype.
4296 * cppinit.c (do_includes): Use _cpp_execute_include.
4297 * cpplib.c (do_include_common): New function.
4298 (do_include, do_include_next, do_import): Use it.
4299
19e7881c
MM
43002001-03-14 Mark Mitchell <mark@codesourcery.com>
4301
4302 * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
4303 contents of the RTL, to determine the name of the object.
4304
43052001-03-14 Mark Mitchell <mark@codesourcery.com>
4306
4307 * tree.h (DECL_RTL): Allocate RTL lazily.
4308 (SET_DECL_RTL): New macro.
4309 (DECL_RTL_SET_P): Likewise.
4310 (COPY_DECL_RTL): Likewise.
4311 (DECL_RTL_IF_SET): Likewise.
4312 * varasm.c (make_decl_rtl): Add assertions about the kind of
4313 declaration we are processing.
4314 * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
4315 (start_decl): Likewise.
4316 (finish_decl): Likewise.
4317 * c-semantics.c (emit_local_var): Likewise.
4318 * calls.c (expand_call): Likewise.
4319 * dbxout.c (dbxout_symbol): Likewise.
4320 * emit-rtl.c (unshare_all_rtl): Likewise.
4321 (unshare_all_decls): Likewise.
4322 (reset_used_decls): Likewise.
4323 * expr.c (store_constructor): Likewise.
4324 (safe_from_p): Likewise.
4325 (expand_expr): Likewise.
4326 * function.c (put_var_into_stack): Likewise.
4327 (instantiate_decls_1): Likewise.
4328 (assign_parms): Likewise.
4329 (expand_function_start): Likewise.
4330 (expand_function_end): Likewise.
4331 * ggc-common.c (gcc_mark_trees): Likewise.
4332 * integrate.c (function_cannot_inline_p): Likewise.
4333 (copy_decl_for_inlining): Likewise.
4334 (expand_inline_function): Likewise.
4335 (integrate_parm_decls): Likewise.
4336 (integrate_decl_tree): Likewise.
4337 * print-tree.c (print_node): Likewise.
4338 * reg-stack.c (stack_result): Likewise.
4339 * stmt.c (label_rtx): Likewise.
4340 (expand_return): Likewise.
4341 (expand_decl): Likewise.
4342 (expand_decl_cleanup): Likewise.
4343 (expand_anon_union_decl): Likewise.
4344 * toplev.c (check_global_declarations): Likewise.
4345 (rest_of_decl_compilation): Likewise.
4346 * tree.c (simple_cst_equal): Likewise.
4347 * objc/objc-act.c (generate_static_references): Likewise.
2d6eb5bf 4348
84c041a1
ZW
43492001-03-14 Zack Weinberg <zackw@stanford.edu>
4350
4351 * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
4352 gcc_AC_C_FLOAT_FORMAT): New macros.
4353 * configure.in: Add AC_PROG_CPP after CC tests;
4354 gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
4355 tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
4356 * configure, config.in: Regenerate.
4357
4358 * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
4359 config/arm/xm-arm.h, config/c4x/xm-c4x.h,
4360 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
4361 config/i370/xm-linux.h, config/i370/xm-oe.h,
4362 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
4363 config/m68k/xm-m68k.h, config/mips/xm-mips.h,
4364 config/pa/xm-linux.h, config/pa/xm-pa.h,
4365 config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
4366 config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
4367 config/sparc/xm-sparc.h, config/vax/xm-vax.h,
4368 config/we32k/xm-we32k.h: Delete.
4369
4370 * config/i370/xm-mvs.h, config/m88k/m88k.h,
4371 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
4372 config/vax/xm-vms.h: Don't define any of:
4373 HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
4374
4375 * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
4376
4377 * config.gcc: Remove references to deleted files.
4378 (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
4379 FATAL_EXIT_CODE, which is the same between oe and mvs).
4380
fca097e7
DD
43812001-03-14 DJ Delorie <dj@redhat.com>
4382 Vladimir Makarov <vmakarov@redhat.com>
4383
4384 * config/i960/i960.c (i960_function_prologue): Compute size of
4385 frame according to number of registers actually saved there.
4386
e9c0bd54
RH
43872001-03-14 Richard Henderson <rth@redhat.com>
4388
4389 * expr.c (emit_move_insn_1): Fix else if around #endif.
4390
0c56474e
JH
4391Wed Mar 14 22:39:12 CET 2001 Jan Hubicka <jh@suse.cz>
4392 Vojtech Pavlik
4393
4394 * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
4395 constraints.
4396
6189a572
JH
4397Wed Mar 14 22:26:10 CET 2001 Jan Hubicka <jh@suse.cz>
4398
4399 * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
4400 (override_options): Parse cmodel string.
4401 (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
4402 * i386.h (TARGET_OPTIONS): Add "cmodel".
4403 (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
4404 (enum cmodel): New.
4405 (ix86_cmodel_string, ix86_cmodel): Declare.
4406
4407Wed Mar 14 22:26:54 CET 2001 Jan Hubicka <jh@suse.cz>
4408
4409 Spot by Matt Kraai:
4410 * i386.h (GENERAL_REG_P): Add missing REG_P.
4411
16a0fe50
LB
44122001-03-14 Laurynas Biveinis <lauras@softhome.net>
4413
4414 * configure.in: Use $gcc_cv_as instead of $as.
4415 * configure: Regenerated.
4416
e7182666
NB
44172001-03-14 Neil Booth <neil@daikokuya.demon.co.uk>
4418
84c041a1 4419 * cppfiles.c (stack_include_file): Only increase the include
e7182666
NB
4420 count if we actually process the file properly, as opposed
4421 to treating it as length zero. Only call read_include_file
4422 if not DO_NOT_REREAD. Handle the -H include file output
4423 here.
4424 (read_include_file): Remove now redundant DO_NOT_REREAD check.
4425 (cpp_included, find_include_file): Simplify pathnames after
4426 remapping them. If remapping, don't use the remapped file
4427 name's buffer as our scratch buffer.
4428 (cpp_pop_file_buffer): Replace the multiple include macro
4429 only if it isn't yet set.
4430 (read_name_map): Simplify remapped names when reading in.
4431 (remap_filename): Move code to code path that uses it.
4432 (_cpp_simplify_pathname): Return the input pointer.
4433 * cpphash.h (_cpp_simplify_pathname): Update prototype.
4434
f80022ff
MM
44352001-03-14 Mark Mitchell <mark@codesourcery.com>
4436
4437 * expr.c (expand_expr): Revove bogus conditional.
4438
79ce92d7
JH
4439Wed Mar 14 19:29:50 CET 2001 Jan Hubicka <jh@suse.cz>
4440
4441 * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
4442
9cf218a3
JJ
44432001-03-14 Jakub Jelinek <jakub@redhat.com>
4444
4445 * reg-stack.c (stack_result): Unconditionally use
4446 FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
4447
1a06f5fe
JH
4448Wed Mar 14 16:36:25 CET 2001 Jan Hubicka <jh@suse.cz>
4449
4450 * expr.c (emit_move_insn_1): Split push of complex value when
4451 no suitable push instruction exist.
4452
4453 * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
4454 instead of QI_REG_P.
4455
6e24b709
RK
4456Tue Mar 13 22:22:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4457
4458 * alias.c (handled_component_p, can_address_p): New functions.
4459 (get_alias_set): Use them.
4460
9502c558
JW
44612001-03-13 Jim Wilson <wilson@redhat.com>
4462
4463 * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
4464 from 80 in try_locals code.
4465 (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
4466
75e93faa
ZW
44672001-03-13 Zack Weinberg <zackw@stanford.edu>
4468
4469 * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
4470 gcc_AC_C_LONG_LONG): New.
4471 * configure.in: Use them. Probe the size of short, int, long,
4472 and long long/__int64 if we have them. Move all the AC_C_*
4473 checks together, except gcc_AC_C_CHAR_BIT which has to go
4474 after AC_CHECK_HEADERS(limits.h).
4475 Take hwint.h out of host_xm_file and build_xm_file.
4476
4477 * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
4478 HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
4479 and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
4480 Move the HOST_WIDEST_INT setup logic here from system.h.
4481 Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
4482 defined.
4483 * system.h: Include hwint.h after limits.h. HOST_WIDEST_INT
4484 is now handled by hwint.h.
4485
4486 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
4487 config/c4x/xm-c4x.h, config/i370/xm-oe.h,
4488 config/ia64/xm-ia64.h: Don't define any of:
4489 HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
4490 HOST_BITS_PER_LONGLONG.
4491
4492 * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
4493 config/h8300/xm-h8300.h, config/mips/iris6.h,
4494 config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
4495 config/sparc/xm-sp64.h: Delete.
4496 * config.gcc: Remove references to deleted files.
4497
4498 * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
4499 HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
4500 * config/i370/xm-linux.h: Clarify floating-point situation in
4501 a comment.
4502
41947a54
NB
45032001-03-13 Neil Booth <neil@daikokuya.demon.co.uk>
4504
4505 * cppfiles.c (NO_INCLUDE_PATH): New macro.
4506 (find_include_file): Decide here which part of the include
4507 chain to start the search. Complain about an empty include
4508 chain in all cases apart from an abolsute file name.
4509 (_cpp_execute_include): Don't choose the search chain here.
4510 Don't call handle_missing_include in the case of an empty
4511 include chain.
4512 (_cpp_compare_file_date): Don't choose the search chain here.
4513 * cpplib.c (do_include_next): Move the in-main-file diagnostic
4514 here from _cpp_execute_include. Behave like #include if
4515 we're in the main file.
4516
77b84559
KG
45172001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4518
4519 * system.h (malloc, realloc, calloc, strdup): Only poison these
4520 tokens when IN_GCC is defined.
4521
ca29d1dc
JH
4522Tue Mar 13 14:38:44 CET 2001 Jan Hubicka <jh@suse.cz>
4523
4524 * i386.md (abs?f expander): Support SSE case.
4525 (abd?f_if): Add new "USE"; add splitters.
4526
bf4ab281
KG
45272001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4528
4529 * cpp.texi (poison): Explain the macro expansion exception.
4530
e5408e52
JJ
45312001-03-13 Jakub Jelinek <jakub@redhat.com>
4532
4533 * expr.c (store_expr): Add dont_store_target. If temp is already in
4534 target before copying to reg, don't store it into target again.
4535
1198142b
NB
45362001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
4537
4538 * cppinternals.texi: Update for file handling.
4539
a84efb51
JO
45402001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
4541
4542 * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
4543 2001-02-24 which broke building the Java library.
4544 * function.c (identify_blocks): Likewise.
4545 (all_blocks): Likewise.
4546 * integrate.c (integrate_decl_tree): Likewise.
4547 * print-tree.c (print_node): Likewise.
4548 * tree.h (BLOCK_NUMBER): Likewise.
4549 (struct tree_block): Likewise.
4550
ba8afff6
DE
45512001-03-12 David Edelsohn <edelsohn@gnu.org>
4552
4553 * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
4554 __WCHAR_TYPE__ definition.
4555 (WCHAR_TYPE_SIZE): #undef before #define.
4556
a36c54fa
NB
45572001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
4558
75e93faa 4559 * cppfiles.c: Update comments.
a36c54fa
NB
4560 (destroy_include_file_node): Rename destroy_node.
4561 (find_or_create_entry): New function.
4562 (open_file, _cpp_fake_include): Use it.
4563 (handle_missing_header): New function, broken out of
4564 _cpp_execute include. Don't segfault if there is no
4565 system or quoted path.
4566 (_cpp_execute_include): Use handle_missing_header.
4567
23712c11
JO
45682001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
4569
4570 * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
4571 2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
4572
e8ea2809
RK
4573Mon Mar 12 14:05:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4574
4575 * flow.c (insn_dead_p): Don't consider two memrefs equivalent
4576 unless anti_dependence says they are.
4577 * alias.c (objects_must_conflict): If neither has a type specified,
4578 they must conflict.
4579
89c9653e
NB
45802001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
4581 David Billinghurst <David.Billinghurst@riotinto.com>
4582
4583 * config/mips/iris5.h: Change WCHAR_TYPE to int.
4584
99560e26
JH
4585Mon Mar 12 16:32:21 CET 2001 Jan Hubicka <jh@suse.cz>
4586
4587 * i386.md (trunctfdf2_2): Rename missnamed pattern.
4588 (*_one_bit): Remove type on the match_operand in attributes.
4589
3d117b30
JH
4590Mon Mar 12 16:27:56 CET 2001 Jan Hubicka <jh@suse.cz>
4591
4592 * i386.c: Commit forgotten hunk in previous patch.
4593 (regclass_map): Add extended registers.
4594 (dbx_register_map): Add missing frame register.
4595
1e07edd3
JH
4596Mon Mar 12 15:41:08 CET 2001 Jan Hubicka <jh@suse.cz>
4597
4598 * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
4599
4600 * i386.md (x86_sahf_1): Disable for 64bit.
4601 (popsi*, pophi*): Likewise.
4602 (pushqi, pushhi): Likewise.
4603 (movdi, pushdi): Likewise.
4604 (zero extend DImode splitter): Likewise.
4605 (adddi, minusdi splitter): Likewise.
4606 (umulsidi): Likewise.
4607 (umulsi): New.
4608 (mulsidi): Disable for 64bit
4609 (lshift:DI/ashift:DI): Disable for 64bit.
4610 (loop patterns): Likewise.
4611 (call_pop, call_value_pop expanders and patterns): Likewise.
4612 (prologue_get_pc): Likewise.
4613 (leave): Likewise.
4614 (fcmovDI pattern and splitter): Likewise.
4615 (movdfcc_1_rex64): New.
4616
d2836273
JH
4617Mon Mar 12 15:16:36 CET 2001 Jan Hubicka <jh@suse.cz>
4618
4619 * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
4620 (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
4621 (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
4622 (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
4623 (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
4624 (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
4625 (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
4626 (PUSH_ROUNDING): x86_64 rounds to 64bits.
4627 (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
4628 (REGPARM_MAX): Set to 6 for x86_64.
4629 (SSE_REGPARM_MAX): Set to 16 for x86_64.
4630 * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
4631 registers.
4632
4633 * (patterns that does use upper halves): Update constraints
4634 'q' to 'Q' and 'r' to 'R'.
4635 (cmpqi_ext_1): Disable for 64bit.
4636 (cmpqi_ext_3_insn): Likewise.
4637 (movqi_extzv_1): Likewsie.
4638 (addqi_ext_1): Liekwsie
4639 (testqi_ext_1): Liekwsie
4640 (andqi_ext_1): Liekwsie
4641 (xorqi_ext_1): Liekwsie
4642 (cmpqi_ext_1_rex64): New.
4643 (cmpqi_ext_3_insn_rex64): Likewise.
4644 (movqi_extzv_1_rex64): Likewsie.
4645 (addqi_ext_1_rex64): Liekwsie
4646 (testqi_ext_1_rex64): Liekwsie
4647 (andqi_ext_1_rex64): Liekwsie
4648 (xorqi_ext_1_rex64): Liekwsie
4649
9612ab65
ZW
46502001-03-11 Zack Weinberg <zackw@stanford.edu>
4651
75e93faa 4652 * configure.in: Move check for unsigned enumerated bitfields
9612ab65
ZW
4653 to macro in aclocal.m4. Disable it for now.
4654 * configure, config.in: Regenerate.
4655 * system.h: Don't do anything with ONLY_INT_FIELDS. Use the
4656 unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
4657 * varasm.c (struct rtx_const): Use ENUM_BITFIELD(). Move enum
4658 kind above its first use.
4659
4660 * config/xm-interix.h, config/alpha/xm-alpha.h,
4661 config/i370/xm-linux.h, config/i386/xm-beos.h,
4662 config/i386/xm-mingw32.h, config/mips/xm-mips.h,
4663 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
75e93faa 4664 config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
9612ab65
ZW
4665 Don't define ONLY_INT_FIELDS under any circumstances.
4666
4667 * config/pa/xm-pa.h: Don't define __BSD_NET2__.
4668
4669 * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
4670 config/sparc/xm-sysv4.h: Delete - now identical with some
4671 other xm header.
4672 * config.gcc (hppa targets): Replace xm-pahpux.h and
4673 xm-papro.h with implicit xm-pa.h.
4674 (sparc targets): Replace xm-sysv4.h with implicit or explicit
75e93faa 4675 xm-sparc.h.
9612ab65 4676
d5ae21aa
AH
46772001-03-12 Aldy Hernandez <aldyh@redhat.com>
4678
75e93faa
ZW
4679 * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
4680 before reload_cse_noop_set_p.
d5ae21aa 4681
190c4cb4
ZW
46822001-03-11 Zack Weinberg <zackw@stanford.edu>
4683
4684 * config.gcc: Where xm-host.h used to include another
4685 xm-host.h, list the nested header directly in xm_file. Remove
4686 references to deleted files. Can now use sparc/xm-sp64.h for
4687 sparcv9-*-solaris*.
4688
4689 * config/xm-linux.h, config/arm/xm-linux.h,
4690 config/i386/xm-dos.h, config/i386/xm-gnu.h,
4691 config/i386/xm-linux.h, config/i386/xm-openbsd.h,
4692 config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
4693 config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
4694 config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
4695 Delete.
4696
4697 * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
4698 * config/mips/xm-iris5.h: Don't include mips/xm-mips.h. Don't
4699 bother to wrap #undef in #ifdef.
4700 * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
4701 Don't include xm-linux.h.
4702 * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
4703
4704 * configure.in: Wrap regexps using [] in changequote block.
4705 Use expr : not echo | grep. Simplify regexps.
4706 * configure: Regenerate.
4707
4708 56 xm-files remain, 22 xm-arch.
4709
45a647be
KG
47102001-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4711
4712 * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
4713 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
4714 (local_index, local_rindex): Delete, use strchr/strrchr instead.
4715 (copy_object): Fix format specifier vs argument mismatch.
4716
4717 * mips-tdump.c: Make local functions static.
4718 (rindex): Don't #undef.
4719 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
4720 (fatal, fancy_abort): Delete.
4721 (read_seek): Avoid signed/unsigned compare.
4722
c7ca5912
RK
4723Sun Mar 11 17:01:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4724
4725 * combine.c (try_combine): Fix error in change to try original
4726 register.
4727 (gen_rtx_combine): Do same as gen_rtx for now.
4728
3d9d2476
ZW
47292001-03-11 Zack Weinberg <zackw@stanford.edu>
4730
4731 * configure.in: AC_SUBST xm_defines.
4732 * configure: Regenerate.
4733 * Makefile.in: Set DEFINES=$(xm_defines) when building
4734 tconfig.h.
4735
b6464a73
NB
47362001-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
4737
75e93faa 4738 * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
b6464a73
NB
4739 (cpp_included, find_include_file): Update.
4740 (_cpp_compare_file_date): Make else unconditional.
4741
2cef831c
KK
47422001-03-10 kaz Kojima <kkojima@rr.iij4u.or.jp>
4743
4744 * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
4745
e9a9e960
TM
47462001-03-10 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
4747
75e93faa 4748 * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
e9a9e960
TM
4749 * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
4750
066c84df
AO
4751Sat Mar 10 22:42:05 2001 Alexandre Oliva <aoliva@redhat.com>
4752
4753 * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
4754 if it's a record type.
4755
936ee790
CF
4756Sat Mar 10 17:52:54 2001 Christopher Faylor <cgf@cygnus.com>
4757
4758 * config/i386/cygwin.h: Make ../w32api a system directory. Reorganize
4759 mingw includes slightly.
4760
8a0e5115
KG
47612001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4762
4763 * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
4764 #undef token before poisoning it.
4765
6439a1f2
KG
47662001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4767
4768 * alpha.c (check_float_value): Use memcpy, not bcopy.
4769
4770 * m32r.c (m32r_sched_reorder): Likewise.
4771
4772 * vax.c (check_float_value): Likewise.
4773
b3e68a79
NB
47742001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
4775
4776 * toplev.c (file_name_nondirectory): Remove.
4777 * toplev.h: Similarly.
4778 * dwarf2out.c (compute_section_prefix): Use lbasename instead
4779 of file_name_nondirectory.
4780
ea23d540
RK
4781Sat Mar 10 10:36:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4782
4783 * mips-tdump.c (read_seek): Call xmalloc, not malloc.
4784 * mips-tfile.c: Don't #undef rindex; not used.
4785
0f7fa3d0
JH
4786Sat Mar 10 14:34:59 CET 2001 Jan Hubicka <jh@suse.cz>
4787
4788 * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
4789 (dbx64_register_map): Declare.
4790 (RETURN_ADDR_RTX): Fix for 64bit.
4791 (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
4792 (INCOMING_FRAME_SP_OFFSET): Set to 8.
4793 * i386.c (dbx64_register_map): New global array.
4794 * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
4795 linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
4796 for 64bits.
4797
2251fd78
NB
47982001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
4799
4800 * cppfiles.c (search_from): Use lbasename.
4801 * mkdeps.c (deps_add_default_target): Use lbasename.
4802
f4ce9d90
KG
48032001-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4804
4805 * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
4806 xcalloc in lieu of malloc, realloc & calloc.
190c4cb4 4807
f4ce9d90
KG
4808 * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
4809
4810 * gengenrtl.c (xmalloc): Likewise.
4811
4812 * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
4813 really_call_* memory allocation routines.
4814
4815 * stmt.c (check_for_full_enumeration_handling): Use
4816 really_call_calloc, not calloc.
4817
4818 * system.h (really_call_malloc, really_call_calloc,
4819 really_call_realloc): Define.
4820 (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
4821
0eac2984
JL
4822Fri Mar 9 18:39:19 2001 Jeffrey A Law (law@cygnus.com)
4823
4824 * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
4825
1bf17cc4
NP
48262001-03-09 Nicola Pero <n.pero@mi.flashnet.it>
4827
4828 * configure: Rebuilt.
4829 * configure.in: Only use `lang_requires' for languages athat are
4830 actually enabled.
4831
6ca3ad1b
JM
48322001-03-09 Joseph S. Myers <jsm28@cam.ac.uk>
4833
4834 * invoke.texi: Fix typo.
4835 * gcc.1: Regenerate.
4836
11642c3a
ZW
48372001-03-09 Zack Weinberg <zackw@stanford.edu>
4838
4839 * configure.in: Prune nonexistent files from build_xm_file,
4840 xm_file, and host_xm_file lists. Warn unless they're
4841 $cpu/xm-$cpu.h.
4842 Don't generate *config.h here.
4843 AC_SUBST all variables needed to generate *config.h.
4844 * configure: Regenerate.
4845 * mkconfig.sh: New helper script, from code removed from
4846 configure.in.
4847 * Makefile.in: Zap all MALLOC variables - no longer used
4848 anywhere, and malloc.c doesn't exist.
4849 Substitute in variables needed to generate *config.h.
4850 Stop lying about the dependencies contained in CONFIG_H and
4851 GCONFIG_H.
4852 (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
4853 (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
4854 cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
4855 (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
4856 $(TM_P_H), etc. as appropriate.
4857
4858 * config.gcc: Zap references to deleted files.
4859 * ggc-none.c: Don't include rtl.h or tm_p.h.
4860
4861 * config/i386/xm-beos.h, config/i386/xm-dgux.h,
4862 config/i386/xm-djgpp.h, config/i386/xm-dos.h,
4863 config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
4864 config/i386/xm-linux.h, config/i386/xm-linux.h,
4865 config/i386/xm-next.h, config/i386/xm-openbsd.h,
4866 config/i386/xm-sun.h, config/i386/xm-sysv3.h:
4867 Don't include i386/xm-i386.h.
4868
4869 * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
4870 config/i386/xm-i386.h, config/i860/xm-i860.h,
4871 config/i960/xm-i960.h, config/mcore/xm-mcore.h,
4872 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
4873 config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
4874 Delete (empty except comments, #includes of other deleted
4875 files, and macros used nowhere).
4876
2faf6b96
JH
4877Fri Mar 9 20:05:27 CET 2001 Jan Hubicka <jh@suse.cz>
4878
4879 * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
4880 independent on TARGET_FLAGS.
4881
3f3f2124
JH
4882Fri Mar 9 19:52:52 CET 2001 Jan Hubicka <jh@suse.cz>
4883
4884 * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
11642c3a
ZW
4885
4886 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
4887 extended ones.
4888 (CONDITIONAL_REGISTER_USAGE): Set proper values according to
4889 TARGET_64BIT.
4890 (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
4891 LAST_REX_SSE_REG): define.
3f3f2124
JH
4892 (enum reg_class): Add 'LEGACY_REGS'
4893 (REG_CLASS_CONTENTS): Likewise; add extended registers.
4894 (SSE_REGNO_P): Recognize extended registers.
4895 (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
4896 (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
11642c3a
ZW
4897 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
4898 REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
3f3f2124
JH
4899 (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
4900 REG_OK_FOR_STRREG_P): Remove.
4901 (HI_REGISTER_NAMES): Add extended registers.
4902 (ADDITIONAL_REGISTER_NAMES): Likewise.
4903 (QI_REGISTER_NAMES): Add 8bit extended registers.
4904 (DEBUG_REG): Support extended registers.
4905 * i386.c (regclass_map): Add extended registers.
4906 (dbx_register-map): Likewise.
4907 (svr4_dbx_register_map): Likewise.
4908 (print_reg): Support extended registers.
4909 (print_operand): Support 64bit operands.
4910
65d9c0ab
JH
4911Fri Mar 9 19:37:46 CET 2001 Jan Hubicka <jh@suse.cz>
4912
4913 * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
4914 (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
4915 FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
4916 DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
4917 (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
4918 STACK_BOUNDARY): Set properly for 64bits.
4919 (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
4920 (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
4921 (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
4922 (MOVE_MAX): Set to 16.
4923 (MOVE_MAX_PIECES): 8 for 64bit.
4924 (Pmode): Set to SImode.
4925
dc647e99
MS
4926Fri Mar 9 09:00:36 2001 Mike Stump <mrs@wrs.com>
4927
4928 * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
4929
25f94bb5
JH
4930Fri Mar 9 17:38:08 CET 2001 Jan Hubicka <jh@suse.cz>
4931
4932 * i386.h (mask_64bit): New constant.
4933 (target_64bit): New macro.
4934 (target_options): Add '64'/'32'
4935 (target_default): Define.
4936 * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
4937 isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
4938 unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
4939
8b737c83
JL
4940Thu Mar 8 23:36:56 2001 Jeffrey A Law (law@cygnus.com)
4941
4942 * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
4943
e7d96a83
JW
4944Thu Mar 8 23:29:37 2001 John Wehle (john@feith.com)
4945
4946 * rtlanal.c (rtx_varies_p): Check operand 0 of a
4947 LO_SUM unless for_alias is set.
4948
4ce693cd
SS
49492001-03-08 Stan Shebs <shebs@apple.com>
4950
4951 * objc/objc-act.c: Fix old typos in comments, add comments for
4952 various functions.
4953 (hash_init): Fix file name in error message.
4954 (hash_enter): Ditto.
4955 (hash_add_attr): Ditto.
4956 (continue_class): Ditto.
4957
0bf679a3
BK
49582001-03-08 Bruce Korb <bkorb@gnu.org>
4959
4960 gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
11642c3a 4961 wait4() can receive the signal.
0bf679a3 4962
786b0d35
RO
4963Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4964
4965 * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
4966 entities.
4967 * fixinc/fixincl.x: Regenerate.
4968
4969Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4970
4971 * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
4972 on Tru64 UNIX.
4973 * fixinc/fixincl.x: Regenerate.
4974
b7460f24
RH
49752001-03-08 Richard Henderson <rth@redhat.com>
4976
4977 * configure.in (HAVE_AS_LEB128): New assembler check.
4978 * configure, config.in: Rebuilt.
4979
cadcffb3
JH
4980Thu Mar 8 19:54:04 CET 2001 Jan Hubicka <jh@suse.cz>
4981
4982 * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
4983 TFmode too.
4984
b19a539e
KG
49852001-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4986
4987 * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
4988 references to the MAXPATHLEN macro.
4989
4990 * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
4991 config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
4992 the POSIX macro.
4993
4994 * config/i386/xm-gnu.h, config/xm-gnu.h,
4995 config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
4996 config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
4997 config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
4998 and/or unused files.
4999
5000 * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
5001 doing so in various xm-*.h files.
5002
4082ab0f
RK
5003Thu Mar 8 06:32:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5004
5005 * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
5006
c785e0fa
AO
50072001-03-08 Alexandre Oliva <aoliva@redhat.com>
5008
5009 * configure.in (enable_shared): Support per-package shared-library
5010 enabling.
5011 * configure: Rebuilt.
5012
251b3667
DE
50132001-03-07 David Edelsohn <edelsohn@gnu.org>
5014
5015 * rs6000.md (cr logic): Add original POWER mnemonic alternative
5016 for crnot. Set operands[5] in splitter.
5017
cf30ef80
KG
50182001-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5019
5020 * config/i370/xm-mvs.h, config/i370/xm-oe.h,
5021 config/i386/xm-beos.h, config/i386/xm-mingw32.h,
5022 config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
5023 config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
5024 config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
5025 config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
5026 config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
5027 to the USG macro.
5028
5029 * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
5030 config/i370/xm-i370.h, config/i386/xm-dgux.h,
5031 config/i386/xm-sun.h, config/i386/xm-sysv3.h,
5032 config/m68k/xm-tower.h, config/m68k/xm-aux.h,
5033 config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
5034 config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
5035 config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
5036 config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
5037 config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
5038 config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
5039 Delete unused and/or empty files.
5040
5041 * config.gcc: Define USG in xm_defines as appropriate. Define
5042 POSIX in lieu of xm-svr4.h. Delete all references to the SVR3
5043 macro. Remove deleted xm-* files from $xm_files variable.
5044
75382c6d
TT
50452001-03-07 Tom Tromey <tromey@redhat.com>
5046
5047 * configure: Rebuilt.
5048 * configure.in: Allow config-lang.in to set `lang_requires' to list
5049 of other required languages.
5050
c874ab11
AM
50512001-03-07 Andrew MacLeod <amacleod@redhat.com>
5052
5053 * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
5054 after its emitted.
5055 (output_prologue): Use xmalloc not oballoc.
5056 (output_epilog): Free a29k_first_epilogue_insn when finished.
5057 * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
5058
de6c5979
BL
50592001-03-07 Brad Lucier <lucier@math.purdue.edu>
5060
5061 * builtins.c (expand_builtin_mathfn): Check
5062 flag_unsafe_math_optimizations, not flag_fast_math.
5063 (expand_builtin): Likewise
5064 * combine.c (combine_simplify_rtx): Likewise.
5065 (simplify_if_then_else): Likewise.
5066 * cse.c (fold_rtx): Likewise.
11642c3a 5067 * flags.h: Remove flag_fast_math. Add
de6c5979
BL
5068 flag_unsafe_math_optimizations and flag_trapping_math.
5069 * fold-const.c (negate_expr): Check
5070 flag_unsafe_math_optimizations, not flag_fast_math.
5071 (invert_truthvalue): Likewise.
5072 (fold): Likewise. Before associating operands, check that
5073 code == MULT_EXPR, not code != MULT_EXPR.
5074 * ifcvt.c (noce_try_minmax): Check
5075 flag_unsafe_math_optimizations, not flag_fast_math.
5076 (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
5077 * invoke.texi: Document -funsafe-math-optimizations and
5078 -fno-trapping-math. Change documentation for -ffast-math.
5079 * jump.c (reversed_comparison_code_parts): Likewise.
5080 (rtx_equal_for_thread_p): Likewise.
5081 * optabs.c (emit_conditional_move): Likewise.
5082 * simplify-rtx.c (simplify_binary_operation): Likewise.
5083 (simplify_relational_operation): Likewise.
5084 (simplify_ternary_operation): Likewise.
5085 * toplev.c: Remove flag_fast_math. Add flag_trapping_math and
5086 flag_unsafe_math_optimizations. Remove fast-math entry from f_options.
5087 Add trapping-math and unsafe-math-optimizations entries to f_options.
5088 (set_fast_math_flags): New, sets flags for -ffast-math.
5089 (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
5090 (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
5091 * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
5092
5093 * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
5094 (alpha_emit_conditional_move): Initialize local_fast_math to
5095 flag_unsafe_math_optimizations, not flat_fast_math.
5096 * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
5097 instead of setting flag_fast_math to 1.
5098 * config/convex/convex.md: Check flag_unsafe_math_optimizations,
5099 not flag_fast_math.
5100 * config/i386/i386.c (override_options): Likewise
5101 * config/i386/i386.md: Likewise.
5102 * config/m68k/m68k.md: Likewise.
5103 * config/mips/mips.md: Likewise.
5104 * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
5105 (rs6000_generate_compare): Likewise.
5106
6822468a
LB
51072001-03-07 Laurynas Biveinis <lauras@softhome.net>
5108
11642c3a
ZW
5109 * Makefile.in: Set RANLIB to @RANLIB@.
5110 Remove RANLIB_TEST.
6822468a
LB
5111
51122001-03-07 Laurynas Biveinis <lauras@softhome.net>
11642c3a 5113
6822468a
LB
5114 * fixinc/inclhack.def (djgpp_wchar_h): New test.
5115 * fixinc/fixincl.x: Regenerated.
5116
6e487492
RH
51172001-03-07 Richard Henderson <rth@redhat.com>
5118
5119 * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
5120
542d73ae
RH
51212001-03-07 Richard Henderson <rth@redhat.com>
5122
5123 * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
5124 of block notes and exception handling notes.
5125
232f749b
RH
5126 * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
5127 * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
5128 (compile_file): ... here.
5129
ed173cc9
KG
51302001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5131
5132 * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
5133
5134 * fixinc/gnu-regex.c: Don't include auto-host.h since we get
5135 config.h now. Include libiberty.h to handle alloca.
5136
cc937581
ZW
51372001-03-06 Zack Weinberg <zackw@stanford.edu>
5138
5139 * c-parse.in (yylexname): New function, split out of _yylex.
5140 (objc_rid_sans_at): New table.
5141 (init_reswords): Initialize it.
5142 (_yylex): Give labels clearer names. Handle CPP_ATSIGN by
5143 retrieving the next token and checking it for significance as
5144 an ObjC keyword or string constant.
5145
5146 * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
5147 * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
5148
5149 * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
5150 to CPP_OSTRING.
5151
07ed7ecf
SM
51522001-03-06 Stephen L Moshier <moshier@mediaone.net>
5153
5154 * config/m68k/m68k.c (const_uint32_operand): Accept any
5155 const_int on a 32-bit host.
5156
805c6c57
NP
51572001-03-06 Nicola Pero <n.pero@mi.flashnet.it>
5158
5159 * objc/objc-act.c (init_objc): Set save_lang_status,
5160 restore_lang_status, and mark_lang_status.
5161
d2f65b7b
KW
51622001-03-06 Krister Walfridsson <cato@df.lth.se>
5163
5164 * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
5165
a867b80c
NB
51662001-03-06 Neil Booth <neil@daikokuya.demon.co.uk>
5167
5168 * cppinternals.texi: Update.
5169
68527d81
KG
51702001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5171
5172 * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
5173 config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
5174 config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
5175 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
5176 config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
5177 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
5178 config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
5179 config/i386/xm-i386.h, config/i860/xm-i860.h,
5180 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
5181 config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
5182 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
5183 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
5184 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
5185 config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
5186 config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
5187 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
5188 config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
5189 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5190 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
5191 config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
5192 config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
5193 match the defaults provided in hwint.h.
5194
5195 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
5196 config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
5197
5198 * config.gcc (xm_file): Don't set to files which are deleted.
5199
5200 * hwint.h: Provide default values for HOST_BITS_PER_*. No longer
5201 guard this file against these macros being undefined.
5202
69f8cbfa
ZW
52032001-03-06 Zack Weinberg <zackw@stanford.edu>
5204
5205 * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
5206 and DECL_DEFER_OUTPUT on the decl we create, before calling
5207 rest_of_decl_compilation.
5208
1f50aafb
ZW
52092001-03-06 Zack Weinberg <zackw@stanford.edu>
5210
5211 * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
5212 AC_FUNC_ALLOCA.
5213 * configure, config.in: Regenerate.
5214 * config.gcc: Remove references to deleted files.
5215
5216 * genattr.c, genattrtab.c, genextract.c, genoutput.c,
5217 genrecog.c, rtl.c: Do not use alloca anywhere.
5218
5219 * Makefile.in, build-make, system.h, config/x-interix,
5220 config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
5221 config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
5222 config/arc/xm-arc.h, config/arm/xm-arm.h,
5223 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
5224 config/h8300/xm-h8300.h, config/i370/x-oe,
5225 config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
5226 config/i386/x-ncr3000, config/i386/x-sco5,
5227 config/i386/xm-dgux.h, config/i860/x-sysv4,
5228 config/i960/xm-i960.h, config/m32r/xm-m32r.h,
5229 config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
5230 config/m68k/x-hp320g, config/m69k/x-mot3300,
5231 config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
5232 config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
5233 config/m68k/xm-mot3300.h, config/m88k/x-dolph,
5234 config/m88k/x-sysv4, config/m88k/x-tekXD88,
5235 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
5236 config/mips/x-iris, config/mips/x-iris3,
5237 config/mips/x-sni-svr4, config/mips/x-sysv,
5238 config/mips/xm-iris6.h, config/mips/xm-mips.h,
5239 config/mips/xm-nws3250v4.h, config/pa/x-hpux,
5240 config/pa/x-pa-mpeix, config/pa/xm-pa.h,
5241 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
5242 config/pa/xm-papro.h, config/romp/xm-romp.h,
5243 config/rs6000/x-aix31, config/rs6000/x-aix41,
5244 config/rs6000/x-beos, config/rs6000/x-lynx,
5245 config/rs6000/x-mach, config/rs6000/x-rs6000,
5246 config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
5247 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5248 config/sparc/x-sysv4, config/sparc/xm-linux.h,
5249 config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
5250 config/vax/xm-vms.h: Eradicate all references to alloca and
5251 related stuff.
5252
5253 * config/xm-alloca.h, config/clipper/x-clix,
5254 config/i386/xm-sysv4.h, config/i860/x-fx2800,
5255 config/i860/x-sysv3, config/m88k/x-sysv3,
5256 config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
5257 (contained only alloca related hacks).
5258
5259 * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
5260 USE_C_ALLOCA.
5261
d97b75be
BL
52622001-03-05 Brad Lucier <lucier@math.purdue.edu>
5263
5264 * invoke.texi: Document __FAST_MATH__.
5265
1b5640cd
KG
52662001-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5267
5268 * crtstuff.c: Restore include of auto-host.h.
5269
aa5b94de
FH
52702001-03-05 Fergus Henderson <fjh@cs.mu.oz.au>
5271
5272 Put main() in a separate file, so that the language
5273 front-end can use a different main().
5274
5275 * main.c: New.
5276 * toplev.c: (main): Rename as toplev_main.
5277 * toplev.h: Declare toplev_main.
5278 * Makefile.in (OBJS): add toplev.o.
5279 (BACKEND): remove toplev.o, add main.o.
5280
04c8d9b9
NB
52812001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
5282
5283 * cppfiles.c (search_from): Special case the empty string.
5284
7868b4a2
NB
52852001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
5286
5287 * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
5288 copy of the filename. Don't use CPP_PREV_BUFFER. Don't call
5289 strlen or strcpy; we already know the length.
5290 (_cpp_compare_file_date): Similarly.
5291 * cpphash.h (struct cpp_reader): Delete done_initialising.
5292 (CPP_PREV_BUFFER): Delete.
5293 * cppinit.c (cpp_start_read): Don't set done_initialising.
5294 * cpplex.c (parse_string): Guarantee null-termination.
5295 (_cpp_equiv_toklists): Remove.
5296 * cpplib.c (glue_header_name): Null-terminate.
5297 (do_line): Don't leak memory.
5298 * cpplib.h (BT_WEAK): Delete.
5299 * cppmain.c (cb_ident): Strings are now null-terminated.
5300
53012001-03-04 Laurynas Biveinis <lauras@softhome.net>
5302
5303 * gcc.c (convert_filename): Append executable suffix
5304 if NO_AUTO_EXE_SUFFIX is not defined.
5305 * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
5306 * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
91c704c4 5307
7e7be827 53082001-03-03 David O'Brien <obrien@FreeBSD.org>
1f50aafb 5309
7e7be827
DB
5310 from 2000-09-06 Zack Weinberg <zack@wolery.cumb.org>
5311 * c-parse.gperf, c-gperf.h: Delete.
69f8cbfa
ZW
5312 (c-gperf.h was accidently re-added to the CVS repo in the rev
5313 1.16 commit by tromey)
7e7be827 5314
e8408f25
NB
53152001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
5316
5317 * cpplex.c (_cpp_lex_token): Don't warn about directives in
5318 macro arguments when looking for the '('.
5319 * cppmacro.c (funlike_invocation_p): Set parsing_args to
5320 2 when really parsing arguments; 1 when looking for '('.
5321 Always restore the lexer position.
5322
1d67c69a
NB
53232001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
5324
5325 * longlong.h (umul_ppmm): Don't use a multiline string.
5326
f6242907
JDA
53272001-03-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
5328
5329 * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
5330 * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
5331 t_bool in declaration because pcc can't combine volatile with typedef
5332 types.
5333
bf71a4f8
JH
5334Sat Mar 3 19:47:13 CET 2001 Jan Hubicka <jh@suse.cz>
5335
5336 * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
5337 until when it is really needed.
5338 (ix86_expand_compare): Update call of ix86_expand_fp_compare.
5339 * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
5340 * i386.md (float?i?f splitter): Don't force source operand to memory
5341 for SSE.
5342 (sse_movdfcc): Fix constraint.
5343 (sse_movdfcc splitter): Handle properly the second alternative.
5344
795a25f4
NB
53452001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
5346
20f9202d 5347 * cpplex.c (parse_string): Unconditionally pedwarn.
795a25f4 5348
c691145a
NB
53492001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
5350
20f9202d 5351 * cpp.texi: Update.
1f50aafb 5352 * cppexp.c (parse_number): Update.
20f9202d
DB
5353 * cpplex.c (parse_string): Pedwarn if multiline string does not
5354 result from a system header's macro.
5355 * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
5356 * cppmacro.c (sys_objmacro_p): Rename sys_macro_p. Return true
5357 for function-like macros too.
c691145a
NB
5358 * c-lex.c (lex_number): Update.
5359
e7f4d38a
RH
53602001-03-03 Richard Henderson <rth@redhat.com>
5361
5362 * dwarf2out.c (output_call_frame_info): Fix augmentation length.
5363
5dd3e650
R
5364Sat Mar 3 04:17:17 2001 J"orn Rennecke <amylaar@redhat.com>
5365
5366 * combine.c (try_combine): If split with mode-changed scratch
5367 register didn't work, try the original mode.
5368
31a02448
R
5369Sat Mar 3 03:46:47 2001 J"orn Rennecke <amylaar@redhat.com>
5370
5371 * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
5372 * config/c4x/c4x.h: Likewise.
5373 * stor-layout.c (compute_record_mode): Likewise.
5374 (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
5375
eaf4e618
ZW
53762001-03-02 Zack Weinberg <zackw@stanford.edu>
5377
5378 * configure.in: Kill tm.h. Include the files in the $tm_file
5379 list in all three of config.h, hconfig.h, tconfig.h, after the
5380 relevant set of xm_files. Put TARGET_CPU_DEFAULT in all
5381 three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
5382 * configure: Regenerate.
5383 * Makefile.in (clean): Don't delete tm.h.
5384
5385 * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
5386 defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If
5387 those are not defined, set SEC and FEC to 0 and 1.
5388 * gcc.texi: Update to match.
5389
5390 * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
5391 * config/fp-bit.c, config/m68k/aux-crt2.asm,
5392 config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
5393 Include tconfig.h, not tm.h.
5394
5395 * config/xm-lynx.h, config/xm-std32.h,
5396 config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
5397 config/alpha/xm-alpha.h, config/arc/xm-arc.h,
5398 config/avr/xm-avr.h, config/c4x/xm-c4x.h,
5399 config/clipper/xm-clix.h, config/convex/xm-convex.h,
5400 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
5401 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
5402 config/h8300/xm-h8300.h, config/i370/xm-linux.h,
5403 config/i386/xm-i386.h, config/i860/xm-i860.h,
5404 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
5405 config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
5406 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
5407 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
5408 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
5409 config/pa/xm-linux.h, config/pa/xm-pa.h,
5410 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
5411 config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
5412 config/pj/xm-pj.h, config/romp/xm-romp.h,
5413 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
5414 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5415 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
5416 config/v850/xm-v850.h, config/vax/xm-vax.h,
5417 config/we32k/xm-we32k.h:
5418 Don't include tm.h.
5419 Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
5420
5421 * config/i370/xm-i370.h, config/i370/xm-mvs.h,
5422 config/i370/xm-oe.h: Don't include tm.h. Don't define
5423 SUCCESS_EXIT_CODE.
5424 * config/vax/xm-vms.h: Don't include tm.h.
5425
5426 * config/xm-lynx.h, config/avr/xm-avr.h,
5427 config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
5428 Delete; made empty by above changes.
5429 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
5430 config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
5431 Don't include config/xm-lynx.h or tm.h.
5432
5433 * config/xm-gnu.h: Don't include fcntl.h.
5434 * config/sparc/xm-lynx.h: Don't include sys/types.h and
5435 sys/wait.h.
5436 * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
5437
1a7519ff
RH
54382001-03-02 Richard Henderson <rth@redhat.com>
5439
5440 * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
5441 UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
5442
2e4b9b8c
RH
54432001-03-02 Richard Henderson <rth@redhat.com>
5444
5445 * Makefile.in (OBJS): Add dwarf2asm.o.
5446 * dwarf2asm.c, dwarf2asm.h: New files.
5447 * dwarf2out.c (*): Use them.
5448 (size_of_uleb128, size_of_sleb128): Remove.
5449 (output_uleb128, output_sleb128): Remove.
5450 (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
5451 (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
5452 (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
5453 (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
5454 (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
5455 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
5456 (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
5457 (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
5458 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
5459 (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
5460 (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
5461 (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
5462 (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
5463 (dwarf2out_frame_debug): Remove unused variables.
5464 (output_loc_operands): Don't abort on 8 byte constants if
5465 host integers are wide enough.
5466 (output_symbolic_ref): Remove.
5467 (size_of_die): Don't assume 4 byte host integers.
5468 (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
5469 and end labels.
5470 (add_const_value_attribute) [CONST_INT]: Verify we're not doing
5471 something stupid with HOST_WIDE_INT to long truncation.
5472 [CONST_DOUBLE]: Likewise.
5473
5474 * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
5475 (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
5476 * config/arm/unknown-elf.h: Likewise.
5477 * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
5478 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
5479 (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
5480 (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
5481 (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
5482 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
5483 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
5484 (ASM_OUTPUT_DWARF_OFFSET): Remove.
5485 * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
5486 * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
5487 (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
5488 (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
5489
dc76f41c
JDA
54902001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
5491
5492 * cselib.c (hash_rtx): Cast enums to unsigned int.
5493
dbbbbf3b
JDA
54942001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
5495
5496 * print-rtl.c (print_rtx): Cast enums to int for comparison.
5497 * c-decl.c (grokdeclarator): Cast enums to int for comparison and
5498 shifts.
5499 * c-format.c (C_STD_VER): Cast to int for comparisons.
5500 (check_function_format): Cast various enums to int for &.
5501 (maybe_read_dollar_number): Likewise.
5502 (check_format_info): Likewise.
5503 (check_format_info_main): Likewise.
5504 * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
5505 (safe_from_p): Likewise.
5506 * varasm.c (const_hash): Cast enum to int for %.
5507 * emit-rtl.c (init_emit_once): Use int loop variable to work around
5508 pcc enum problems with < and ++ operators.
5509 * regclass.c (init_reg_sets_1): Cast enums for comparison.
5510 (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
5511 (regclass_init): Change enum class to int to iterate over reg_classes.
5512 * genrecog.c (merge_trees): Cast enums for comparison.
5513 * rtl.h (GET_CODE): Cast to enum rtx_code.
5514 (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
5515 (GET_MODE): Cast to enum machine_mode.
5516 (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
5517 (GET_NOTE_INSN_NAME): Cast enum to int.
5518 * tree.h (TREE_CODE): Cast to enum tree_code.
5519 (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
eaf4e618 5520 * timevar.c (timevar_print): Change loop variable id from enum to
dbbbbf3b
JDA
5521 unsigned int.
5522 * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
5523 * config/i386/i386.md: Use PUT_MODE for mode assignment.
5524 * toplev.c (compile_file): Cast enum DFI to int.
5525 (decode_d_option): Likewise.
5526
4737b274
CF
5527Fri Mar 2 12:18:13 2001 Christopher Faylor <cgf@cygnus.com>
5528
5529 * cppinit.c (append_include_chain): Mark "after" include file name list
5530 as a system directory.
5531 * cpp.texi: Document new behavior.
5532
68af29ce
JH
5533Fri Mar 2 11:59:43 CET 2001 Jan Hubicka <jh@suse.cz>
5534
5535 * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
5536
591e15a1
NB
55372001-03-02 Neil Booth <neil@daikokuya.demon.co.uk>
5538
eaf4e618
ZW
5539 * cppfiles.c (struct include_file): Update.
5540 (stack_include_file): Use search_from.
5541 (cpp_included, find_include_file): Update.
5542 (cpp_execute_include): Update. ptr->name may not be
5543 null terminated. Use the new search_from member variable
5544 of cpp_buffer.
5545 (_cpp_compare_file_date): Similarly.
5546 (search_from): New function, similiar to actual_directory.
5547 (actual_directory): Delete.
5548 (remap_filename): Update. loc->name may not be null terminated.
5549 (struct file_name_list): Rename search_path. Update.
5550 * cpphash.h (struct cpp_buffer): Delete actual_dir. New members
5551 search_from and dir.
5552 (struct cpp_reader): Remove actual_dirs.
5553 * cppinit.c (struct cpp_pending): Update for renamed objects.
5554 (append_include_chain, remove_dup_dir, remove_dup_dirs,
5555 merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
5556 * cpplib.h (struct cpp_options): Similarly.
591e15a1 5557
d6edb99e
ZW
55582001-03-01 Zack Weinberg <zackw@stanford.edu>
5559
5560 * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
5561 config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
5562 config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
5563 config/clipper/xm-clix.h, config/convex/xm-convex.h,
5564 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
5565 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
5566 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
5567 config/i370/xm-linux.h, config/i370/xm-mvs.h,
5568 config/i370/xm-oe.h, config/i386/xm-aix.h,
5569 config/i386/xm-i386.h, config/i386/xm-osf.h,
5570 config/i860/xm-i860.h, config/i960/xm-i960.h,
5571 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
5572 config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
5573 config/mcore/xm-mcore.h, config/mips/xm-mips.h,
5574 config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
5575 config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
5576 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
5577 config/pa/xm-pahpux.h, config/pa/xm-papro.h,
5578 config/pj/xm-pj.h, config/romp/xm-romp.h,
5579 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
5580 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
5581 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
5582 config/v850/xm-v850.h, config/vax/xm-vax.h,
5583 config/vax/xm-vms.h, config/we32k/xm-we32k.h:
5584 Do not define TRUE or FALSE.
5585
5586 * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
5587 empty by above change.
5588 * config.gcc: Remove references to these files.
5589
5590 * configure.in: Detect stdbool.h.
5591 * configure, config.in: Regenerate.
eaf4e618 5592 * system.h: Include stddef.h here if available.
d6edb99e
ZW
5593 Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
5594 Then set up a sensible boolean type at the very end.
5595
5596 * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
5597 config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
5598
5599 * hash.h: Delete 'boolean' typedef and related #undefs.
5600
5601 * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
5602 all uses of 'boolean' with 'bool'.
5603
37b8524c
JDA
56042001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
5605
5606 * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
5607 * cppexp.c (lex): Cast enums for comparison.
5608 * cppinit.c (parse_option): Cast enum for comparison.
5609 * cpplex.c (cpp_spell_token): Cast enums to int for minus.
5610 (cpp_output_token): Likewise.
5611 (cpp_can_paste): Cast enums for comparsion and plus/minus.
5612 (cpp_avoid_paste): Cast enums for minus and comparison.
5613
f7143427
ZW
56142001-03-01 Zack Weinberg <zackw@stanford.edu>
5615
5616 * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
5617 field to all array elements.
5618
cb773845
ZW
56192001-03-01 Zack Weinberg <zackw@stanford.edu>
5620
5621 * cpphash.h (struct cpp_reader): Add print_version field.
5622 * cppinit.c (cpp_handle_option): For -v, -version, and --version,
5623 just set print_version and other flags as appropriate.
5624 (cpp_post_options): Print version here if print_version is set.
5625
5626 * toplev.c (exit_after_options): New flag.
5627 (independent_decode_option): Don't exit here; just set
5628 exit_after_options.
5629 (main): Exit after calling lang_hooks.post_options if
5630 exit_after_options is true.
5631
5632 * cppinit.c (append_include_chain): Drop never-used case QUOTE.
5633 (merge_include_chains): Adjust comment to match code.
5634
71b7be38
ZW
56352001-03-01 Zack Weinberg <zackw@stanford.edu>
5636
5637 * stringpool.c (set_identifier): New function.
5638 * tree.h: Prototype it.
5639
5640 * c-parse.in: Kill D_YES. If compiled for objc, call
5641 save_and_forget_protocol_qualifiers from init_reswords.
5642 * objc/objc-act.c (remember_protocol_qualifiers,
5643 forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
5644 Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
5645 vice versa.
5646 (save_and_forget_protocol_qualifiers): New function.
5647 * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
5648
5aa709ad
DN
56492001-03-01 Diego Novillo <dnovillo@redhat.com>
5650
5651 * c-semantics.c (prune_unused_decls): Return error_mark_node
5652 instead of (tree) 1 to stop traversing the tree chain.
5653
791f5e8d
BS
56542001-03-01 Bernd Schmidt <bernds@redhat.com>
5655
5656 Fix a problem introduced by Kenner's Feb 18 change.
5657 * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
5658 flag_cse_skip_blocks only temporarily, not for ever.
5659
9c1eed37
JL
5660Thu Mar 1 09:49:58 2001 Jeffrey A Law (law@cygnus.com)
5661
913553ce
JL
5662 * config/pa/som.h (ASM_IDENTIFY_GCC): Define.
5663 (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
5664
9c1eed37
JL
5665 * pa.c (emit_move_sequence): Verify operand0 is a hard register
5666 before determining its register class.
5667
21e4c9a8
BS
56682001-03-01 Bernd Schmidt <bernds@redhat.com>
5669
8cb71435
BS
5670 * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
5671 from reg 4 if current_function_calls_setjmp.
7a87c39c
BS
5672 (gen_nop_type): New function.
5673 (ia64_emit_nops): New function.
5674 (ia64_reorg): Call it.
2d1b811d 5675 (ia64_sched_reorder): Move code that rotates bundles up a bit.
8cb71435 5676
1abdf5e7
BS
5677 * reload1.c (eliminate_regs_in_insn): Restrict the special case
5678 code not to try to optimize adds with anything but a REG destination.
5679
21e4c9a8
BS
5680 * sched-int.h (struct haifa_insn_data): Add new member priority_known.
5681 (INSN_PRIORITY_KNOWN): New accessor macro.
5682 * haifa-sched.c (priority): Use it instead of testing priority against
5683 zero.
5684
d676911f
DD
56852001-02-28 DJ Delorie <dj@redhat.com>
5686
5687 * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
5688 since that doesn't work the way gcc wants on a generic m68k.
5689
d448e3e9
RH
56902001-02-28 Richard Henderson <rth@redhat.com>
5691
5692 * caller-save.c (save_call_clobbered_regs): Fix typo in
5693 comparison last change.
5694
b4e89e2d
JH
5695Wed Feb 28 19:31:42 CET 2001 Jan Hubicka <jh@suse.cz>
5696
5697 * i386.c (pentium4_cost): New.
5698 (m_PENT4): New macro.
5699 (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
5700 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
5701 x86_integer_DFmode_moves, x86_partial_reg_dependency,
5702 x86_memory_mismatch_stall): Add Pentium4
5703 (x86_use_q_reg, x86_use_any_reg): Kill.
5704 (override_options): Add pentium4.
5705 (incdec_operand): Return 0 for pentium4.
5706 (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
5707 * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
5708 (TARGET_PENTIUM4): Define.
5709 (enum processor_type): Add PROCESSOR_PENTIUM4.
5710 (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
5711 * i386.md (attribute "cpu"): Add pentium4.
5712 * invoke.texi (march): Add pentium4.
5713
0073023d
JH
5714Wed Feb 28 19:28:06 CET 2001 Jan Hubicka <jh@suse.cz>
5715
5716 * i386.md (sse_mov?fcc*): New patterns and splitters.
5717 * i386.c (ix86_expand_movcc): Work post-reload; recognize
5718 the SSE based conditional moves.
5719
2b04e52b
JH
5720Wed Feb 28 19:18:23 CET 2001 Jan Hubicka <jh@suse.cz>
5721
5722 * i386.md (attribute mode): Add "TI".
5723 (movsf_1): Add pxor support; remove constant propagation splitter.
5724 (movdf_integer): Likewise.
5725 (movdf_nointeger): Likewise.
5726 (movxf constant prop splitter): Handle all modes; update for SSE.
5727 * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
5728 * i386.c (standard_80387_constant_p): Rewrite.
5729 (standard_sse_constant_p): New.
5730 * i386-protos.h (standard_sse_constant_p): New.
5731
a46d1d38
JH
5732Wed Feb 28 19:05:37 CET 2001 Jan Hubicka <jh@suse.cz>
5733
5734 * i386.md (sse_setccsf, sse_setccdf): New.
5735 (sse_cmp* patterns): Use '%D' instead of outputtting condition
5736 flag directly.
5737 * i386.c (sse_comparison_operator): Accept the supported unordered
5738 comparses; be ready for fast_math.
5739 (print_operand): Support 'D'.
5740
91afe941
JH
5741Wed Feb 28 18:54:51 CET 2001 Jan Hubicka <jh@suse.cz>
5742
5743 * jump.c (reversed_comparison_code): Kill.
5744
6f45f005
JH
5745Wed Feb 28 18:50:15 CET 2001 Jan Hubicka <jh@suse.cz>
5746
5747 * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
5748 for STACK_REGS
5749
c679d048
JH
5750Wed Feb 28 18:47:37 CET 2001 Jan Hubicka <jh@suse.cz>
5751
5752 * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
5753 add missing '%' in constraints.
5754
4ae31003
JH
5755Wed Feb 28 17:24:24 CET 2001 Jan Hubicka <jh@suse.cz>
5756
5757 * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
5758 for HOST_BITS_PER_WIDE_INT == 32 too.
5759
787dc842
JH
5760Wed Feb 28 17:22:35 CET 2001 Jan Hubicka <jh@suse.cz>
5761
5762 * caller-save.c (reg_save_code, reg_restore_code): Index by mode, not
5763 NREGS.
5764 (insert_save, insert_restore): New parameter save_mode.
5765 (init_caller_save): Update initialization of reg_save_code
5766 and reg_restore_code.
5767 (save_call_clobbered_regs): Compute save_modes and update calls to
5768 reg_save_code and reg_restore_code.
5769 (insert_restore): Unsignetize numbers; use save_modes to choose mode
5770 of spill; update use of reg_restore_code.
5771 (insert_save): Likewise.
5772 * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
5773 * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
5774 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
5775
5776Wed Feb 28 17:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
dc2698bc
JH
5777
5778 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
5779 noce_try_store_flag_inc, noce_try_store_flag_mask,
5780 noce_try_cmove_arith):
5781 Use reversed_comparison_code instead of reverse_comparison and
5782 can_reverse_comparison_p.
5783
2450703c
JH
5784Wed Feb 28 17:17:29 CET 2001 Jan Hubicka <jh@suse.cz>
5785
5786 * jump.c (reversed_comparison_code_parts): Allow reversal of
5787 unordered compares in -ffast-math mode; reverse ordered compares
5788 for FP even w/o -ffast-math.
5789
25cff714
RH
57902001-02-27 Richard Henderson <rth@redhat.com>
5791
5792 * print-rtl.c (print_rtx) [i]: Don't print field five on
5793 NOTEs other than NOTE_INSN_DELETED_LABEL.
5794
26029fe2
ZW
57952001-02-27 Zack Weinberg <zackw@stanford.edu>
5796
5797 * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
5798 * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
5799
87aee676
DN
58002001-02-27 Diego Novillo <dnovillo@redhat.com>
5801
5802 * c-common.c (walk_stmt_tree): Visit the chain of the current tree
5803 even if walk_subtrees is 0.
5804 * c-semantics.c (prune_unused_decls): Return a non-null value to
5805 stop traversing the tree chain.
5806
67935d3f
DD
58072001-02-27 DJ Delorie <dj@redhat.com>
5808
5809 * config/m68k/m68k.c (output_function_prologue): Save the new CFA
5810 register, *then* define it as the new CFA.
5811
7ee72796
JL
5812Tue Feb 27 16:49:13 2001 Jeffrey A Law (law@cygnus.com)
5813
5814 * pa.c (override_options): Promote -fpic to -fPIC.
5815 (legitimize_pic_address): Simplify due to removal of
5816 small PIC as a code generation option.
5817 (secondary_reload_class): Similarly.
5818 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
5819 (PRINT_OPERAND_ADDRESS): Similarly.
5820 * pa.md (various patterns): Similarly.
5821 (small pic lo_sum pattern): Remove.
5822
b71b019a
JH
5823Tue Feb 27 16:01:13 CET 2001 Jan Hubicka <jh@suse.cz>
5824 Fergus Henderson
5825
5826 * md.texi (min, max): Document
d6edb99e 5827
79005df5
JH
5828Tue Feb 27 15:51:35 CET 2001 Jan Hubicka <jh@suse.cz>
5829
5830 * i386.md (movsf, movdf): Use movaps for reg-reg moves if
5831 TARGET_PARTIAL_REG_DEPENDENCY.
5832 (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
5833
7ada6625
JH
5834Tue Feb 27 15:36:48 CET 2001 Jan Hubicka <jh@suse.cz>
5835
5836 * i386.md (mins*, maxs*): New patterns, expanders and splitters.
5837
8bb3dc77
JO
58382001-02-26 Jeffrey Oldham <oldham@codesourcery.com>
5839
5840 * mips.c (mips_make_temp_file): Fix thinko in last change.
5841
ac4cdf40
JE
58422001-02-26 Jason Eckhardt <jle@redhat.com>
5843
5844 * combine.c (known_cond): Do not reverse the condition when
d6edb99e 5845 SMAX/UMAX is being considered and the condition is for equality
ac4cdf40
JE
5846 or inequality.
5847
5848 * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
5849
14879e76
PB
58502001-02-26 Philip Blundell <philb@gnu.org>
5851
5852 * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
5853 "armv2-*-linux".
5854 * config/arm/linux-elf.h: Remove historical relics related to
5855 above configurations.
5856 * config/arm/linux-oldld.h: Delete.
5857 * config/arm/linux-elf26.h: Delete.
5858
8cf8d8a2
JM
58592001-02-26 Jason Merrill <jason@redhat.com>
5860
5861 * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
5862 definitions.
5863 * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
5864 recognize a tentative definition. Lose obsolete code.
5865
5866 * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
5867 variables unless necessary, either.
5868
05cc23e8
RH
58692001-02-25 Richard Henderson <rth@redhat.com>
5870
5871 * ifcvt.c (struct noce_if_info): Add test_bb.
5872 (noce_get_alt_condition): New.
5873 (noce_try_minmax, noce_try_abs): New.
5874 (noce_operand_ok): New.
5875 (noce_process_if_block): Use them.
5876 * rtlanal.c (may_trap_p): NEG and ABS can never trap.
5877
052d4b6c
CF
5878Sun Feb 25 14:26:17 2001 Christopher Faylor <cgf@cygnus.com>
5879
5880 * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
5881 include.
5882
e1b71de9
ZW
58832001-02-25 Zack Weinberg <zackw@stanford.edu>
5884
5885 * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
5886 * config/mips/mips.c (mips_make_temp_file): Set temp_filename
5887 properly.
5888 (mips_asm_file_end): Free temp_filename here.
5889
4ddb47b3
RK
5890Sun Feb 25 08:34:23 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5891
397be6cf
RK
5892 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
5893 * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
5894
4ddb47b3
RK
5895 * config/i386/i386.md (movstrsi): Handle FAIL case.
5896
618cdda7
NB
58972001-02-25 Neil Booth <neil@daikokuya.demon.co.uk>
5898
05cc23e8
RH
5899 * cppinit.c (builtin_array): Update.
5900 (init_builtins): Flag builtins to warn if redefined or
5901 undefined. Define __GXX_WEAK as a normal macro.
5902 * cpplib.c (do_undef): Warn if flagged NODE_WARN.
5903 * cpplib.h (NODE_WARN): New flag.
5904 * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
5905 Handle __STDC__ as a builtin only on Solaris.
5906 (warn_of_redefinition): Renamed from check_macro_definition.
5907 Reverse sense of test. Always warn if NODE_WARN.
5908 (_cpp_create_definition): Use warn_of_redefinition. Flag
5909 any macro beginning with "__STDC_" to require a mandatory
5910 warning if redefined or undefined.
618cdda7 5911
000b5f54
ZW
59122001-02-24 Zack Weinberg <zackw@stanford.edu>
5913
5914 * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
5915 i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
5916 i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
5917 i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
5918 m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
5919 mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
5920 Don't define any of:
5921 USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
5922 P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
5923 NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
5924 index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
5925 STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
5926
5927 * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
5928 fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
5929 definitions.
5930
5931 * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
5932 Delete now-empty file.
5933
5934 * alpha/vms.h: Define NEED_ATEXIT here...
5935 * alpha/xm-vms.h: ...not here.
5936
5937 * i386/cygwin.h: Don't define PARAMS.
5938 * mips/mips.c: Don't prototype mktemp. Don't define
5939 P_tmpdir. Use make_temp_file to create temporary files.
5940 Don't be clever and delete temporary files early.
5941 * config.gcc: Drop references to deleted files. Don't define
5942 FULL_PROTOTYPES.
5943 * gcc.texi: Don't mention USE_PROTOTYPES.
5944
0e4970d7
RK
5945Sat Feb 24 20:25:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5946
5947 * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
5948 (ix86_set_move_mem_attrs_1): Likewise.
5949 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
5950 * config/i386/i386.md (movstrsi): Call it.
5951
a59b81be
ZW
59522001-02-24 Zack Weinberg <zackw@stanford.edu>
5953
5954 * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
5955 x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
5956 ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
5957 rs6000/x-aix41-gld. These are nonexistent, empty, or obsolete.
5958
5959 (i750a-*-*): Error here if hosting on i750a.
5960 (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
5961
5962 * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
5963 Remove (empty modulo comments).
5964
5965 * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
5966 alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
5967 i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
5968 i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
5969 mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
5970 rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
5971
5972 * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
5973 Remove reference to winnt.h in comment.
5974 * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
5975
c7b30677
FS
59762001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5977
5978 * loop.c (check_dbra_loop): A biv has uses besides counting if it is
5979 used to set another biv.
5980
f900ecd8
RK
5981Sat Feb 24 06:45:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5982
bd015d37
RK
5983 * tree.h (BLOCK_DEAD): New macro.
5984 (struct tree_block): New flag, dead_flag.
5985 * print-tree.c (print_node, case 'b'): Print missing fields.
5986 * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
5987 * function.c (identify_blocks): Enable test for misplaced notes.
5988 (all_blocks): Skip BLOCK_DEAD blocks.
5989 * integrate.c (integrate_decl_tree): Likewise.
5990
f900ecd8
RK
5991 * errors.c (internal_error, trim_filename): New functions.
5992 (fancy_abort): Call internal_error.
5993 * errors.h (internal_error, trim_filename): New declarations.
5994
0651fbc0
AO
59952001-02-24 Alexandre Oliva <aoliva@redhat.com>
5996
5997 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
5998 2000-08-26's patch.
5999 (EXTRA_CONSTRAINT): Formatting changes.
6000
5ea1bc0e
KG
60012001-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6002
6003 * rtl.c (rtl_check_failed_code2): Fix typo in last change.
6004
1aed31b6
PB
60052001-02-23 Per Bothner <per@bothner.com>
6006
6007 * gcc.c (record_temp_file, pfatal_with_name, error): Make non-static,
6008 so they can be called from java/jvspec.c.
6009 * gcc.h (record_temp_file, pfatal_with_name, error): Declare.
6010
4dd2ac2c
JH
6011Sat Feb 24 03:32:50 CET 2001 Jan Hubicka <jh@suse.cz>
6012
6013 * i386.c (ix86_frame): New structure.
6014 (ix86_compute_frame_size): Kill.
6015 (ix86_compute_frame_layout): New.
6016 (ix86_save_reg): New.
6017 (ix86_can_use_return_insn_p): Use frame layout stuff.
6018 (ix86_expand_prologue): Likewise.
6019 (ix86_expand_epilogue): Likewise.
6020 (ix86_initial_elimination_offset): Likewise.
6021 (ix86_nsaved_regs): Use ix86_save_reg.
6022 (ix86_emit_save_regs): Likewise.
6023
a686dbf8
JH
6024Sat Feb 24 03:30:38 CET 2001 Jan Hubicka <jh@suse.cz>
6025
6026 * flow.c (find_sub_basic_blocks): New function.
6027 (split_block): Be ready for basic block introduced by CODE_LABEL.
6028 (commit_one_edge_insertion): Call find_sub_basic_block.
6029
6030 * flow.c (make_edges): Add edge from entry for blocks starting with
6031 label having ALTERNATE_NAME
6032
016030fe
JH
6033Sat Feb 24 03:19:42 CET 2001 Jan Hubicka <jh@suse.cz>
6034
6035 * function.c (epilogue_done): Be ready for first basic block not
6036 containing PROLOGUE_END note.
6037 (reposition_prologue_and_epilogue_notes): Avoid placing
6038 PROLOGUE_END note between BASIC_BLOCK.
6039
c9212f33
JH
6040Sat Feb 24 03:17:09 CET 2001 Jan Hubicka <jh@suse.cz>
6041
6042 * loop.c (canonicalize_condition): Move to reversed_comparison_code.
6043
4f0a3098
DD
60442001-02-21 DJ Delorie <dj@redhat.com>
6045
6046 * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
6047 check for current_function_has_nonlocal_goto from 1999-11-12.
6048
e82a84c4
RK
6049Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6050
fce687f8
RK
6051 * diagnostic.c (trim_filename): No longer static.
6052 * toplev.h (trim_filename): Declare.
6053 * rtl.c (rtl_check_failed_bounds): Call internal_error.
6054 (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
6055 (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
6056 (rtvec_check_failed_bounds): Likewise.
6057 * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
6058
3cc247a8
RK
6059 * convert.c (convert_to_integer): Don't do unsigned unless result or
6060 both inputs are unsigned.
6061
ac50176d
RK
6062 * fold-const.c (fold_convert): Don't call size_int_type_wide if
6063 input overflows.
6064
9b58f739
RK
6065 * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
6066
e82a84c4
RK
6067 * varasm.c (output_constant): Recompute CODE after lang-specific fn.
6068
d5d063d7
JO
60692001-02-23 Jeffrey Oldham <oldham@codesourcery.com>
6070
6071 * Makefile.in (resource.o): Add params.h dependence.
6072 * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
6073 * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
6074 * resource.c: Add dependence on params.h.
6075 (current_live_regs): Fix explanatory comment.
6076 (find_basic_block): Add new parameter to permit limiting search
6077 for a BARRIER.
6078 (mark_target_live_regs): Add new argument to find_basic_block call.
6079 (incr_ticks_for_insn): Likewise.
6080
3d7c9b7e
GDR
60812001-02-23 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
6082
6083 * diagnostic.c (output_to_stream): Rename to
6084 output_buffer_to_stream. Loses the stream parameter.
6085 (init_output_buffer): Set diagnosic_buffer's stream.
6086 (flush_diagnostic_buffer): Adjust.
6087 (default_print_error_function): Likewise.
6088 (finish_diagnostic): Likewise.
6089 (verbatim): Likewise.
6090
6091 * diagnostic.h (struct output_buffer): Add `stream' field.
6092 (output_buffer_attached_stream): New macro.
6093
fba2c0cd
JJ
60942001-02-23 Jakub Jelinek <jakub@redhat.com>
6095
6096 * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
6097 check if either operand is divisible by C.
6098 (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
6099 If type is signed, consider negative numbers as well.
6100
515edc9b
RH
61012001-02-22 Richard Henderson <rth@redhat.com>
6102
6103 * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
6104 reach .text instead of gp-relative relocs.
6105 * config/ia64/crtend.asm (.init): Likewise.
6106
3844cd2e
AJ
61072001-02-22 Andreas Jaeger <aj@suse.de>
6108
6109 * extend.texi (C++ Attributes): Fix typo.
6110
3f67ac08
DM
61112001-02-21 David Mosberger <davidm@hpl.hp.com>
6112
6113 * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
6114 functions, drop current_function_args_info.words test.
6115 (ia64_compute_frame_size): Mark syscall_linkage functions as
6116 using eight input registers.
6117
89647e8a
LR
61182001-02-21 Loren J. Rittle <ljrittle@acm.org>
6119 Bruce Korb <bkorb@gnu.org>
6120
6121 * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
6122 * fixinc/README: Document how to convert sed substitutions
6123 to format style c_fix-es.
6124 * fixinc/fixincl.x: regen
6125
e889f41a
JO
61262001-02-21 Jeffrey D. Oldham <oldham@codesourcery.com>
6127
6128 * gcc.c: Add comment explaining how to add a command-line option.
6129 Add title to specs language comment.
6130
7521b913
JO
61312001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
6132
6133 * gcc.c (cc1_options): Add "-param".
6134 (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
6135 (option_map): Likewise.
6136 * toplev.c (display_help): Add entry for "--param".
6137 (independent_decode_option): Fix typographical error.
6138
82a127a9
CM
6139Wed Feb 21 18:57:28 CET 2001 Catherine Moore <clm@redhat.com>
6140 Bernd Schmidt <bernds@redhat.com>
6141 Jan Hubicka <jh@suse.cz>
6142
a59b81be 6143 * i386.c (function_arg_advance): Pass SSE arguments in registers.
82a127a9
CM
6144 (function_arg): Likewise.
6145
2b71bf37
JH
6146Wed Feb 21 18:12:41 CET 2001 Jan Hubicka <jh@suse.cz>
6147
6148 * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
6149
eb57ffec
KH
61502001-02-21 Kazu Hirata <kazu@hxi.com>
6151
6152 * config/h8300/h8300.md (iorsi3): Do not output an extra newline
6153 character.
6154 (xorsi3): Likewise.
6155
ccfce8d2
JH
6156Wed Feb 21 17:35:24 CET 2001 Jan Hubicka <jh@suse.cz>
6157
6158 * flow.c (init_propagate_block_info): Canon address and use single_set
6159 for killing dead memory stores.
6160
0443f602
JO
61612001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
6162
6163 * Makefile.in (reorg.o): Add params.h dependence.
6164 * params.def: Fix typographical error in comment.
6165 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
6166 * params.h: Modify introductory comment.
6167 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
6168 * reorg.c: Add dependence on params.h.
6169 (redundant_insn): Add parameterized throttle for search.
6170 (fill_simple_delay_slots): Add a comment explaining a variable.
6171 Move conditional out of loop, simplifying code.
6172 (fill_eager_delay_slots): Fix typographical error in comment.
6173
7e6d8ba1
AH
61742001-02-20 Aldy Hernandez <aldyh@redhat.com>
6175
a59b81be 6176 * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
7e6d8ba1 6177
a59b81be
ZW
6178 * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
6179 (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
7e6d8ba1 6180
5daf7c0a
JM
61812001-02-21 Jason Merrill <jason@redhat.com>
6182
6183 * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
6184 (struct tree_decl): Add uninlinable bitfield.
6185 * c-decl.c (duplicate_decls): Set it.
6186 * integrate.c (function_cannot_inline_p): Check it.
6187
3844cd2e 6188 * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
5daf7c0a
JM
6189 DW_AT_MIPS_linkage_name to abstract methods.
6190 (dwarf2out_abstract_function): Emit class context before calling
6191 set_decl_abstract_flags. Don't clear DECL_ABSTRACT.
6192 (gen_subprogram_die): Remove obsolete code.
6193 (gen_member_die): Don't include clones in the member list.
6194 (gen_decl_die): Emit abstract info for clone origin.
6195 * dwarfout.c (output_type): Don't include clones in the member list.
6196 * dbxout.c (dbxout_type_methods): Ignore abstract methods.
6197 * toplev.c (note_deferral_of_defined_inline_function): Don't clear
6198 DECL_ABSTRACT on a function that already has it set.
6199
6200 * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
6201 (get_subprogram_die): Pass it in.
6202
3c88f366
RE
62032001-02-21 Richard Earnshaw <rearnsha@arm.com>
6204
6205 * flow.c (mark_set_1): Make not_dead unsigned long. For
3844cd2e 6206 non-pseudos, use it as a bitmask of the hard regs that
3c88f366
RE
6207 don't die.
6208
373e2177
NB
62092001-02-21 Neil Booth <neil@daikokuya.demon.co.uk>
6210
a59b81be
ZW
6211 * cppfiles.c: Update comments.
6212 (_cpp_read_file): Don't check for NULL filenames any more.
6213 * cppinit.c (cpp_start_read): Don't do canonicalization of
6214 in_fname and out_fname. Use the passed file name exclusively.
6215 (_cpp_handle_options): Don't treat "-" as a command line option,
6216 but as a normal filename.
6217 (_cpp_post_options): Canonicalize in_fname and out_fname.
6218 * cppmain.c (printer_init): Don't check out_fname for NULL.
6219 * c-lex.c (orig_filename): Rename cpp_filename for clarity.
6220 (init_c_lex): Update, and use "" to represent stdin to CPP.
6221 (yyparse): Update.
373e2177 6222
75beacf8 62232001-02-20 Will Cohen <wcohen@redhat.com>
3844cd2e 6224
75beacf8
WC
6225 * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
6226 * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
6227 (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
6228 fixunstfsi_libfunc.
6229
33011c35
SS
62302001-02-20 Stan Shebs <shebs@apple.com>
6231
6232 * config/rs6000/rs6000.c (output_cbranch): Output branches
6233 on separate lines instead of using ';' to separate.
6234
c740cee2
NB
62352001-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
6236
a59b81be 6237 * cppinit.c (set_lang): Move builtin handling to...
c740cee2
NB
6238 (init_builtins): ...here.
6239 (_cpp_create_reader): Move call to set_lang.
6240
c9407e4c
MM
62412001-02-20 Mark Mitchell <mark@codesourcery.com>
6242
6243 * stmt.c (expand_return): If an attempt is made to return the
6244 error_mar_node, treat the return like a return without a value.
6245
cd5a58e5
ZW
62462001-02-19 Zack Weinberg <zackw@stanford.edu>
6247
6248 * sibcall.c (skip_copy_to_return_value): Call
6249 identify_call_return_value here, and return orig_insn if it
6250 returns zero. Hardret and softret arguments now unnecessary.
6251 (call_ends_block_p): Don't call identify_call_return_value here.
6252
6253 * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
6254 's' slots in RTXen.
6255 * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
6256 * ggc.h (ggc_mark_if_gcable): Delete prototype.
6257
f8eb41cc
JL
6258Mon Feb 19 20:30:16 2001 Jeffrey A Law (law@cygnus.com)
6259
6260 * pa.c (move_operand): Accept code to load the address of a
6261 symbol out of the DLT as a valid move operand.
6262 (print_operand, case 'A'): New to handle generating a DLT
6263 reference for a LO_SUM expression.
6264 * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
6265 * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
6266
75393169
JM
62672001-02-19 Joseph S. Myers <jsm28@cam.ac.uk>
6268
6269 * README, cpp.texi, gcc.texi, version.c: Update version number to
6270 3.1.
6271 * cpp.1, gcov.1, gcc.1: Regenerate.
6272
51d0f328
NB
62732001-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
6274
a59b81be
ZW
6275 * cppfiles.c (stack_include_file): Generate dependencies
6276 here, and manage include_count here too.
6277 (PRINT_THIS_DEP): Delete.
6278 (_cpp_execute_include): Do not generate dependencies here,
6279 apart from the case of a missing header. Do not manage
6280 include_count.
6281 (_cpp_read_file): Leave dependency generation to
6282 stack_include_file.
51d0f328 6283
c81460e4
JL
6284Mon Feb 19 10:17:47 2001 Jeffrey A Law (law@cygnus.com)
6285
6286 * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
6287 target_cpu_default. Remove dead assignment to
6288 target_cpu_default.
6289
6df26b8f
JH
6290Mon Feb 19 16:47:39 CET 2001 Jan Hubicka <jh@suse.cz>
6291
6292 * regclass.c (contains_reg_of_mode): Make global.
6293 (init_reg_sets): Remove contains_reg_of_mode; take into account
6294 CLASS_MAX_NREGS when looking for the proper mode.
6295 (dump_regclass): Dump only classes considered for the pseudo.
6296 (regclass): Use contains_reg_of_mode.
6297
4a88a060
JH
6298Mon Feb 19 16:45:42 CET 2001 Jan Hubicka <jh@suse.cz>
6299
6300 * gcc.c (do_spec_1): 'n' for printing notices.
6301 * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
6302
0eac0e81
JH
6303Mon Feb 19 15:51:30 CET 2001 Jan Hubicka <jh@suse.cz>
6304
6305 * reg-stack.c (next_flags_user): Use current_block->end
6306 (swap_rtx_condition): Look for next user if flags don't die;
6307 give up on CALL_INSNs; use current_block->end.
6308
e5c617ff
RK
6309Mon Feb 19 08:27:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6310
6311 * sibcall.c (call_ends_block_p): New function.
6312 (optimize_sibling_and_tail_recursive_call): Use it.
6313
55de49e3
KH
63142001-02-18 Kazu Hirata <kazu@hxi.com>
6315
63a262f1
KH
6316 * config/h8300/h8300.md: Update copyright.
6317 (andsi3): Do not output an extra newline character.
55de49e3 6318
48aba75b
RK
6319Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6320
6321 * toplev.c (note_deferral_of_defined_inlined_function): Argument
6322 FNDECL may be unused.
6323
6324 * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
6325 follow jumps after first run.
6326 If -fexpensive-optimizations rerun CSE after GCSE and iterate until
6327 it doesn't change any jumps.
6328
3335f1d9
JL
6329Sun Feb 18 17:05:50 2001 Jeffrey A Law (law@cygnus.com)
6330
6331 * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
6332 ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
6333 (mostlyclean): Corresponding changes.
6334 * rtlanal.c (hard-reg-set.h): Include.
6335 (rtx_unstable_p): Do not treat the argument pointer specially
6336 if it is not a fixed register.
6337 (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
6338
651a788e
RK
6339Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6340
021921d0
RK
6341 * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
6342 against last real insn in basic block.
6343 Rework to avoid gotos.
6344
fb0c0a12
RK
6345 * Makefile.in (gcse.o): Now includes ggc.h.
6346 * gcse.c: Include ggc.h.
6347 (want_to_gcse_p): Verify expression can be in SET as valid insn.
6348 (try_replace_reg): Remove warning of uninitialize variable.
6349 (process_insert_insn): Call invalid_insn_p to validate insn.
6350 * recog.c (insn_invalid_p): Now global.
6351 See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
6352 * recog.h (insn_invalid_p): New declaration.
6353
d659de97
RK
6354 * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
6355
3ec6f1a9 6356 * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
20636516 6357 assignments from FP constants since 'Y' output code can't handle it.
3ec6f1a9
RK
6358 (eligible_for_sibcall_delay): Likewise.
6359
63c499dc
RK
6360 * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
6361 Call fancy_abort directly, passing args.
6362 (print_rtl_and_abort): Now a macro, like fancy_abort.
6363
651a788e
RK
6364 * final.c (output_operand_lossage): Use internal_error, not error.
6365
71641c15
RH
63662001-02-18 Shane Nay <shane@agendacomputing.com>
6367
3844cd2e 6368 * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
71641c15
RH
6369 structure shift insns.
6370
63712001-02-18 Mark Mitchell <mark@codesourcery.com>
8fa33dfa
MM
6372
6373 * invoke.texi (-fsquangle): Remove documentation.
6374 (-fname-mangling-version): Likewise.
6375
e1078cfc
LB
63762001-02-18 Lars Brinkhoff <lars@nocrew.org>
6377
6378 * optabs.c (expand_abs): Remove reference to
6379 HAVE_contitional_arithmetic.
6380 * combine.c (simplify_set): Likewise.
6381
3bd24117
RH
63822001-02-18 Richard Henderson <rth@redhat.com>
6383
6384 * ifcvt.c (dead_or_predicable): Don't move code if eh regions
6385 would be disrupted.
6386
5cada064
RH
63872001-02-18 Richard Henderson <rth@redhat.com>
6388
31189758
RH
6389 * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
6390
e491fe9a
RH
6391 * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
6392
5cada064
RH
6393 * reload1.c (reload_cse_simplify_set): Fix typo.
6394
751aa7cc
RK
6395Sun Feb 18 09:30:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6396
e28a09a4
RK
6397 * diagnostic.c (_fatal_insn): Decrement errorcount.
6398
d0a5eb32
RK
6399 * invoke.texi (-I): Add note avoiding use for system header files.
6400
751aa7cc
RK
6401 * rtl.h (add_clobbers): Remove duplicate declaration.
6402 * recog.h (added_clobbers_hard_reg_p): New declaration.
6403 * genemit.c (struct clobber_pat): New field has_hard_reg.
6404 (gen_insn): Record if added clobbers clobber hard reg.
6405 (gen_split): Avoid unused warning if number of operands is 0.
6406 (output_added_clobbers_hard_reg_p): New function.
6407 (main): Call it.
6408
4096479e
AM
64092001-02-18 Alan Modra <alan@linuxcare.com.au>
6410
3844cd2e
AJ
6411 * pa.c (hppa_expand_prologue): Simplify code storing return
6412 pointer. For large (>=8k) frames with a post_store, adjust stack
6413 pointer by 8k-64 first rather than by 64. When testing with
6414 VAL_14_BITS_P, always use the actual value rather than the value
6415 negated. Add blockage to prevent scheduling of spills before
6416 stack frame has been created.
6417 (hppa_expand_epilogue): Simplify code loading return pointer.
6418 Allow a slightly larger range for merge_sp_adjust_with_load case.
6419 When testing with VAL_14_BITS_P, always use the actual value.
31d68947 6420
4096479e
AM
6421 * pa.c (pa_adjust_insn_length): Check that block move
6422 pattern is a set before looking at operands.
6423
9c2c54dc
MM
64242001-02-17 Mark Mitchell <mark@codesourcery.com>
6425
68626d4f
MM
6426 * fold-const.c (fold_binary_op_with_conditional_arg): New
6427 function, split out from ...
6428 (fold): ... here.
6429 * tree.def (COND_EXPR): Document the use of VOID_TYPE for
6430 conditional arms that throw exceptions.
6431
9c2c54dc
MM
6432 * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
6433 looking at a BLOCK.
6434
7afe8c41
KG
64352001-02-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6436
6437 * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
6438 define HAVE_DECL_* to 1 to mask potential backup declarations.
6439 * configure: Regenerated.
6440
3747f3dc
MM
64412001-02-17 Mark Mitchell <mark@codesourcery.com>
6442
6443 * invoke.texi (-Woverloaded-virtual): Clarify documentation.
6444
78adc5a0
RH
64452001-02-17 Richard Henderson <rth@redhat.com>
6446
6447 * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
6448 when replacing a memory load with a register.
6449
e2373f95
RK
6450Sat Feb 17 14:48:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6451 Jan Hubicka <jh@suse.cz>
6452
6453 * recog.c (validate_replace_src_1): New.
6454 (validate_replace_src_data): Likewise.
6455 (validate_replace_src): Use note_uses.
6456 * rtl.h (note_uses): Declare.
6457 * rtlanal.c (note_uses): New.
6458
b00b2cc2
JH
6459Sat Feb 17 10:52:34 CET 2001 Jan Hubicka <jh@suse.cz>
6460
6461 * reg-stack.c (stack_def): Make field reg unsigned.
6462 (remove_regno_note): Unsignetize parameter.
6463
f5bbdc0c
JS
64642001-02-16 Jes Sorensen <jes@linuxcare.com>
6465
6466 * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
6467 shladd_operand() call.
6468
6ee71e49 64692001-02-16 Bruce Korb <bkorb@gnu.org>
a59b81be 6470 Rodney Brown <RodneyBrown@mynd.com>
6ee71e49
BK
6471
6472 * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
6473 * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
6474 machine restrictions
6475 * fixinc/fixincl.x: regen
6476
f85cc4cb
RK
6477Fri Feb 16 12:41:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6478
172890a2
RK
6479 * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
6480 Don't CSE a nop.
6481 (hash_scan_insn): Clean up calls to hash_scan_set.
6482 (compute_kill_rd): REGNO now unsigned.
6483 (try_replace_reg): Rework to use simplify_replace_rtx.
6484 (cprop_jump, cprop_cc0_jump): Likewise.
6485 (cprop_insn): Call find_reg_equal_equiv_note.
6486 Reflect changes to cprop_jump and cprop_cc0_jump.
6487
d6447708 6488 * recog.c (validate_replace_src): Replace in operands of
b71e8e84
RK
6489 ZERO_EXTRACT in SET_DEST.
6490
f85cc4cb
RK
6491 * cse.c (new_label_ref): New variable.
6492 (insert): Set it instead of recorded_label_ref.
6493 (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
6494 CODE_LABEL for this function, and not already in REG_LABEL note.
6495
f5df2e8c
JO
64962001-02-16 Jeffrey Oldham <oldham@codesourcery.com>
6497
6498 * resource.c (mark_referenced_resources): Fix typo in introductory
6499 comment.
6500 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
6501 string constant.
6502
a901fa64
JM
65032001-02-16 Jason Merrill <jason@redhat.com>
6504
1edf43d6
JM
6505 * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
6506 NULL.
3844cd2e 6507 (gen_subprogram_die): Don't abort on seeing a second definition if
1edf43d6
JM
6508 the previous one was abstract. Don't replace an abstract instance
6509 in the lookup table.
6510
6511 * dwarf2out.c (dwarf2out_abstract_function): Rename from
6512 gen_abstract_function.
6513 * dwarf2out.h: Declare it.
6514 * toplev.c (note_outlining_of_inline_function): New fn.
6515 * toplev.h: Declare it.
6516 * integrate.c (output_inline_function): Call it.
6517 * c-decl.c (duplicate_decls): Call it when redefining an extern
6518 inline. Don't inline the new defn.
6519
a901fa64
JM
6520 * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
6521
cc06d68c
GP
65222001-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6523
6524 * .gdbinit: Rename to gdbinit.in.
3844cd2e 6525 * gdbinit.in: New file,
cc06d68c
GP
6526 * configure.in: Generate .gdbinit from gdbinit.in.
6527 * configure: Regenerated.
6528 * Makefile.in (distclean): Always remove .gdbinit.
6529
4f6bcad0
JJ
65302001-02-16 Jakub Jelinek <jakub@redhat.com>
6531
6532 * objc/objc-act.c (start_class): Register implemented_classes with
6533 GC.
6534
e4a345f8
NB
65352001-02-16 Neil Booth <neil@daikokuya.demon.co.uk>
6536
a59b81be
ZW
6537 * cppfiles.c (_cpp_make_system_header): Generate a file
6538 change callback.
e4a345f8 6539
fd48c9b5 65402001-02-15 Jim Meyering <meyering@lucent.com>
e658449e 6541
fd48c9b5
DD
6542 * Makefile.in (install-common): Don't depend on installdirs here.
6543 Instead, make each of the lang.install-common targets (e.g.,
6544 c++.install-common in cp/Make-lang.in) depend on it.
e658449e
JM
6545 (install-driver): Depend on installdirs.
6546
d64236b4
RK
6547Thu Feb 15 21:30:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6548
a8b94b40
RK
6549 * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
6550
d64236b4
RK
6551 * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
6552 do in memory.
6553
3af64fd6
MM
65542001-02-15 Mark Mitchell <mark@codesourcery.com>
6555
6556 * invoke.texi (--param): Document.
6557
ba21a8a8
AO
6558Thu Feb 15 15:16:38 2001 Alexandre Oliva <aoliva@redhat.com>
6559
6560 * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
6561
ff78d082
JH
6562Thu Feb 15 10:52:31 CET 2001 Jan Hubicka <jh@suse.cz>
6563
6564 * i386.md (extendsfdf2_2): Fix constraints.
6565
2b66da3c
JH
6566Thu Feb 15 09:46:21 CET 2001 Jan Hubicka <jh@suse.cz>
6567
6568 * i386.md (fop_df_3 splitter): Fix operand number.
6569
266da7a2
JH
6570Wed Feb 14 12:37:37 CET 2001 Jan Hubicka <jh@suse.cz>
6571
6572 * invoke.texi (-mreg-alloc): Nuke.
6573 * i386.c (ix86_reg_alloc_order, regs_allocated,
6574 order_regs_for_local_alloc): Nuke.
6575 (override_options): Kill reg_alloc code.
6576 * i386.h (TARGET_OPTIONS): Kill reg-alloc.
6577 (REG_ALLOC_ORDER): SSE goes before I387.
6578 (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
6579 (ix86_reg_alloc_order): Likewise.
6580 * i386-protos.h (ix86_reg_alloc_order): Kill.
6581
121bc96b
RH
65822001-02-14 Richard Henderson <rth@redhat.com>
6583
6584 * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
6585
04b1a223
JH
6586Wed Feb 14 11:59:58 CET 2001 Jan Hubicka <jh@suse.cz>
6587
6588 * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
6589
fa79946e
JH
6590Wed Feb 14 11:12:38 CET 2001 Jan Hubicka <jh@suse.cz>
6591
6592 * i386-protos.h (ix86_memory_move_cost): Move offline.
6593 * i386.c (ix86_register_move_cost): Compute properly cost of
6594 SSE, MMX and i387 instructions.
6595 (*_cost): Add costs of SSE/MMX moves.
6596 (ix86_memory_move_cost): Move offline from ....; Likewise.
6597 * i386.h (MEMORY_MOVE_COST): .... here;
6598 (struct processor costs): Add new fields to represent costs
6599 of SSE/MMX moves.
6600
6836e024
JH
6601Wed Feb 14 10:08:26 CET 2001 Jan Hubicka <jh@suse.cz>
6602
6603 * regclass.c (init_reg_sets_1): Reinstall the optimization of
6604 move_cost together with Matt Kraai's fix.
6605
d3fb92b8
JO
66062001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
6607
6608 * Makefile.in (OBJS): Add params.o.
6609
8e0b124e
RH
66102001-02-14 Richard Henderson <rth@redhat.com>
6611 DJ Delorie <dj@redhat.com>
6612
6613 * jump.c (jump_optimize_1): When we delete a conditional jump
6614 preceeding a non-conditional jump to effectively the same place,
6615 make sure that the combined jump skips any clobber insns between
6616 the two labels.
6617
55bd9f24
JO
66182001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
6619
6620 * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
6621
c6d9a88c
MM
66222001-02-14 Mark Mitchell <mark@codesourcery.com>
6623
6624 * Makefile.in (toplev.o): Depend on params.h.
6625 (intergate.o): Likewise.
6626 (params.o): New target.
6627 * flags.h (inline_max_insns): Remove.
6628 * integrate.c: Include params.h.
6629 Use MAX_INLINE_INSNS instead of inline_max_insns.
6630 * params.c: New file.
6631 * params.h: Likewise.
6632 * params.def: Likewise.
6633 * toplev.c: Include params.h.
6634 (lang_independent_params): New variable.
3844cd2e 6635 (decode_f_option): Use the param machinery instead of setting
c6d9a88c
MM
6636 max_inline_insns.
6637 (independent_decode_option): Handle "--param name=value".
6638 (main): Register language-independent parameters.
6639
c6e95f34
JH
6640Wed Feb 14 11:13:45 CET 2001 Jan Hubicka <jh@suse.cz>
6641
6642 * i386.md (pushsf, pushdf_nointeger): Fix constraint.
6643
c7c0ae3d
RH
66442001-02-14 Richard Henderson <rth@redhat.com>
6645
6646 * regclass.c (init_reg_sets_1): Revert last two changes.
6647
fe375cf1
JJ
66482001-02-14 Jakub Jelinek <jakub@redhat.com>
6649
6650 * stor-layout.c (is_pending_size, put_pending_size): New functions.
6651 (variable_size): Call put_pending_size.
6652 * tree.h (is_pending_size, put_pending_size): Add prototypes.
6653 * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
6654 sizes list, put newly created SAVE_EXPR there as well.
6655
66562001-02-14 Jakub Jelinek <jakub@redhat.com>
6657
6658 * config/ia64/ia64.c (last_group): Only 2 entries are needed.
6659 (errata_find_address_regs): load_group has only 2 entries.
6660 (errata_emit_nops): Likewise. shladd is not problematic.
6661 Clear last_group if nop was emitted.
6662 (fixup_errata): load_group has only 2 entries.
6663 Optimize.
6664
7065e130
NB
66652001-02-14 Neil Booth <neil@daikokuya.demon.co.uk>
6666
fe375cf1
JJ
6667 * c-lex.c (lex_number): Only warn traditionally for U suffix
6668 outside system macros.
6669 * cppexp.c (parse_number): Similarly.
6670 * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
6671 * cppmacro.c (struct cpp_macro): New member node.
6672 (parse_args): Only warn about missing rest args if not
6673 a system macro.
6674 (funlike_invocation_p): Similarly for uninvoked funlike macros.
6675 (cpp_sys_objmacro_p): New.
6676 (_cpp_create_definition): Store the node with the macro defn.
6677 Remember if the macro is defined in a system header.
7065e130 6678
cbc59f01
DD
66792001-02-13 DJ Delorie <dj@redhat.com>
6680
6681 * configure.in (check_languages): determine languages to check
6682 * Makefile.in (check-c++): alias for check-g++
6683 (check-f77): alias for check-g77
6684 (CHECK_TARGETS): depend on configured languages
6685
ca9a9b12
JH
6686Wed Feb 14 01:13:59 CET 2001 Jan Hubicka <jh@suse.cz>
6687
6688 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
6689 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
6690 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
6691 (sqrtextendsfdf2): Disable for SSE2.
6692
6693Wed Feb 14 00:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
6694
6695 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
6696 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
6697 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
6698 (sqrtextendsfdf2): Disable for SSE2.
6699
7093c9ea
JH
6700Wed Feb 14 00:11:20 CET 2001 Jan Hubicka <jh@suse.cz>
6701
6702 * i386.md (movsfcc_1): Support integer cmove instruction.
6703 (movdfcc_1): Likewise; new splitter.
6704
0644b628
JH
6705Tue Feb 13 23:19:27 CET 2001 Jan Hubicka <jh@suse.cz>
6706
6707 * i386.c (output_fp_compare): Support SSE.
6708 (prepare_fp_compare_args): SSE comparisons always support memory.
6709 * i386.h (TARGET_CMOVE): SSE imply cmove.
6710 * i386.md (cmp?f2): Enable for SSE too.
6711 (cmpfp_i*): Support SSE.
6712 (cmpfp_i_sse): New.
6713 (cmpfp_i_sse_only): New.
6714 (s*, b* fp expanters): Enable for SSE too.
6715 (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
6716 New patterns.
6717
1464632b
JH
6718Tue Feb 13 23:05:42 CET 2001 Jan Hubicka <jh@suse.cz>
6719
a901fa64 6720 * regclass.c (init_reg_sets_1): Silence warning.
1464632b 6721
a8083431
JH
6722Tue Feb 13 22:03:07 CET 2001 Jan Hubicka <jh@suse.cz>
6723
6724 * i386.md (sqrt?f2): Change to expander.
6725 (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
6726
d9c695ff
RK
6727Tue Feb 13 15:42:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6728
6729 * rtlanal.c (find_reg_equal_equiv_note): New function.
6730 * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
6731 (simplify_gen_relational, simplify_replace_rtx): Likewise.
6732 * rtl.h: Add declarations for above functions.
6733
848e0190
JH
6734Tue Feb 13 21:09:11 CET 2001 Jan Hubicka <jh@suse.cz>
6735
6736 * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
6737 conditionals.
6738 * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
6739 * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
6740 * flow.c (mark_regs_live_at_end): Likewise.
6741 (calculate_global_regs_live): Likewise.
6742 * gcse.c (compute_hash_table): Likewise.
6743 (compute_kill_rd): Likewise.
6744 * resource.c (mark_target_live_regs): Likewise.
6745 * rtl.h (INVALID_REGNUM): New macro.
6746
b1675dbd
JH
6747Tue Feb 13 20:59:22 CET 2001 Jan Hubicka <jh@suse.cz>
6748
6749 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
6750
1698bba1
JH
6751Tue Feb 13 16:32:20 CET 2001 Jan Hubicka <jh@suse.cz>
6752
6753 * i386.md (fixsfsi2, fixdfdi2): Force operand to register
6754 for SSE.
6755
1deaa899
JH
6756Tue Feb 13 14:53:16 CET 2001 Jan Hubicka <jh@suse.cz>
6757
6758 * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
6759 too.
6760 (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
6761 (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
6762 (fop_sf_1_sse, fop_df_1_sse): New patterns
6763 (fop_*): Disable float_extend and float patterns for SSE compilation.
6764 * i386.c (output_387_binary_op): Support SSE.
6765
42a0aa6f
JH
6766Tue Feb 13 14:16:34 CET 2001 Jan Hubicka <jh@suse.cz>
6767
6768 * i386.md (dummy_extendsfdf2): Support SSE2
6769 (extendsfdf2): Enable if 80387 or SSE2.
6770 (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
6771 and no MIX_I387_SSE2
6772 (extendsfdf2_1_sse_only): New pattern.
6773 (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
6774 of SSE.
6775 (truncdfsf2_1): Support SSE.
6776 (truncdfsf2_2): Support SSE.
6777 (truncdfsf2_2_1_sse): New pattern.
6778 (fixtruncsfsi2): Always use SSE if available.
6779 (fix_truncsfsi_sse): New pattern.
6780 (fix_truncdfsi_sse): New pattern.
6781 (floatsis?f2): Support SSE.
6782 (floatsidf2_i387): New pattern.
6783 (floatsidf2_sse): Likewise.
6784
8a7199ad
RK
6785Tue Feb 13 07:52:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6786
1ffc5c6e
RK
6787 * configure.in: Use "have_gnat" variable, not "gnat".
6788 * configure: Regenerated.
6789
8a7199ad
RK
6790 * config/sparc/sparc.c (function_value): Treat all non-record
6791 aggregate types like used to treat UNION_TYPE.
6792
446988df
JH
6793Tue Feb 13 13:31:33 CET 2001 Jan Hubicka <jh@suse.cz>
6794
6795 * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
6796 * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
6797 (MASK_SSE2): New.
6798 (MASK_MIX_SSE_I387): New.
6799 (TARGET_SSE): SSE2 imply SSE.
6800 (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
6801 (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
6802 (enum reg_class): Add new classes.
6803 (REG_CLASS_NAMES): Likewise.
6804 (REG_CLASS_CONTENTS): Likewise.
6805 (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
6806 (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
6807 supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
6808 (CLASS_MAX_NREGS): Use new macros.
6809 (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
6810 * i386.md (pushsf, movsf): Support SSE.
6811 (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
6812 splitters to use ANY_FP_REGNO_P.
6813 (movdf_nointeger, movdf_integer): Likewise.
6814
42a6ff51
AO
68152001-02-13 Alexandre Oliva <aoliva@redhat.com>
6816
6817 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
6818 (try_combine): Use it.
6819
f84aa48a
JH
6820Tue Feb 13 11:37:06 CET 2001 Jan Hubicka <jh@suse.cz>
6821
6822 * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
6823 MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
6824 (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
6825 (REGISTER_MOVE_COST): Likewise.
6826 * i386-protos.h (ix86_secondary_memory_needed,
6827 ix86_preferred_reload_class, ix86_register_move_cost): Declare.
6828 * i386.c (ix86_secondary_memory_needed,
6829 ix86_preferred_reload_class, ix86_register_move_cost): New function.
6830
a946dd00
JH
6831Die Feb 13 11:04:25 CET 2001 Jan Hubicka <jh@suse.cz>
6832
6833 * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
6834 (HARD_REGNO_MODE_OK): Move offline to ....
6835 * i386.c (ix86_hard_regno_mode_ok) ... here;
6836 refuse all incorrect modes.
6837 * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
6838
1b9ea8eb
RH
68392001-02-13 Richard Henderson <rth@redhat.com>
6840
6841 * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
6842 entire operator; replicate that and match_dup the operands.
6843 (cmp_ccx_arith_op_set): Likewise.
6844 (cmp_cc_arith_op_not_set): Likewise.
6845 (cmp_ccx_arith_op_not_set): Likewise.
6846
5b0d91c3
AO
68472001-02-13 Alexandre Oliva <aoliva@redhat.com>
6848
6849 * explow.c (trunc_int_for_mode): Sign-extend value to mode.
6850
9a155f91
GK
68512001-02-12 Geoffrey Keating <geoffk@redhat.com>
6852
6853 * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
6854 (TARGET_NO_BITFIELD_WORD): New macro.
6855 (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
6856 (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
6857
fa49fd0f
RK
6858Mon Feb 12 18:13:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6859
6860 * cselib.c: New file, from simplify-rtx.c.
6861 * simplify-rtx.c: Remove cselib parts.
6862 * Makefile.in: Add cselib.o.
6863
c36ae96c
GK
68642001-02-12 Geoffrey Keating <geoffk@redhat.com>
6865
ca5adc63
GK
6866 * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
6867 (setup_incoming_varargs): Remove warning.
6868
6869 * config/rs6000/rs6000.c (validate_condition_mode): When
6870 flag_fast_math, allow floating-point conditionals to be reversed.
6871 (rs6000_generate_compare): When flag_fast_math, don't generate
6872 cror operations for FP conditionals.
6873
c36ae96c
GK
6874 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
6875 -mcall-i960.
6876 (ASM_SPEC): Likewise.
6877 (CC1_ENDIAN_LITTLE_SPEC): Likewise.
6878 (CC1_SPEC): Likewise.
6879 (LINK_TARGET_SPEC): Likewise.
6880 (CPP_ENDIAN_SPEC): Likewise.
6881 * Makefile.in (check-consistency): New target.
6882
f43b2795
JM
68832001-02-12 Joseph S. Myers <jsm28@cam.ac.uk>
6884
6885 * c-decl.c (grokdeclarator): In C99 mode, give the more specific
6886 "return type defaults" warning for functions with return type
6887 defaulting to int.
6888 * c-lang.c (c_init): In C99 mode, enable warnings for implicit
6889 function declarations by default rather than only when pedantic.
6890
7004b11b
JH
6891Mon Feb 12 17:28:48 CET 2001 Jan Hubicka <jh@suse.cz>
6892
6893 * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
6894 arrays.
6895
82c18d5c
NS
68962001-02-12 Nathan Sidwell <nathan@codesourcery.com>
6897
6898 * extend.texi (Deprecated): Deprecate new initializer lists.
6899
48ce6bbb
NS
69002001-02-12 Nathan Sidwell <nathan@codesourcery.com>
6901
6902 * mkdeps.c (deps_add_default_target): Robustify. Add
6903 basename component only.
6904 * cpp.texi (-M): Describe how default target is generated.
6905 * invoke.texi (-M): Likewise.
6906
823a9919
KH
69072001-02-12 Kazu Hirata <kazu@hxi.com>
6908
6909 * toplev.c (push_float_handler): Remove.
6910 (pop_float_handler): Remove.
6911 * toplev.h: Remove prototypes for the above functions.
6912
d02b54f6
JJ
69132001-02-12 Jakub Jelinek <jakub@redhat.com>
6914
6915 * c-common.c (constant_fits_type_p): New function.
6916 (convert_and_check): Use it.
6917
b1012f1b
MM
69182001-02-11 Mark Mitchell <mark@codesourcery.com>
6919
6920 * Makefile.in (GXX_ABI_FLAG): Don't define.
6921 * configure.in (--enable-new-gxx-abi): Remove option.
6922 * config.in: Regenerated.
6923 * configure: Likewise.
6924
e8eacc3f
AO
69252001-02-12 Alexandre Oliva <aoliva@redhat.com>
6926
6927 * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
6928 basic block.
6929 (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
6930 regular basic block, and arrange for all edges into it to switch
6931 to normal mode.
6932
e065341b
GP
69332001-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6934
6935 * Makefile.in (distclean): Do not remove .gdbinit.
6936
8c310e3f
MM
69372001-02-11 Mark Mitchell <mark@codesourcery.com>
6938
6939 * Makefile.in (gcc.o): Fix typos.
6940 (protize.o): Likewise.
6941 (unprotoize.o): Likewise.
6942
258835c7
RH
69432001-02-11 Richard Henderson <rth@redhat.com>
6944
6945 * tree.c (build1): Check for null operand in last change.
6946
1796dff4
RH
69472001-02-11 Richard Henderson <rth@redhat.com>
6948
6949 * fold-const.c (split_tree): Don't assume a constant isn't splittable.
6950 (fold): Don't assume a constant isn't foldable.
6951 * tree.c (build): Set TREE_CONSTANT for an expression with no
6952 side-effects and constant operands.
6953 (build1): Likewise.
6954
7f437481
RH
69552001-02-10 Richard Henderson <rth@redhat.com>
6956
6957 * jump.c (squeeze_notes): Revert 2000-05-12 change.
6958
3220116f
AG
69592001-02-10 Anthony Green <green@redhat.com>
6960
6961 * cpp.texi (Standard Predefined): Add documentation for
6962 __OPTIMIZE_SIZE__.
6963
6964 * c-common.c (combine_strings): Improve warning message.
6965
36b8ffbe
GK
69662001-02-10 Geoffrey Keating <geoffk@redhat.com>
6967
6968 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
6969 --oformat.
6970 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
6971
ce675456
CF
6972Fri Feb 9 15:05:27 2001 Christopher Faylor <cgf@cygnus.com>
6973
6974 * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
6975 CYGWIN_CROSS_DIR.
6976
cc0744d1
AO
69772001-02-09 Alexandre Oliva <aoliva@redhat.com>
6978
6979 * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
6980 fp_mode attribute.
6981
ab51eb25
NC
69822001-02-09 Nick Clifton <nickc@redhat.com>
6983
6984 * config/arm/arm.md: Change output contraint on post inc
6985 load/store multiple patterns to be a read/write contraint.
6986
58e31b83
NB
69872001-02-09 Neil Booth <neil@daikokuya.demon.co.uk>
6988
1b9ea8eb
RH
6989 * gcc.c (cpp_options): Delete .d files on error. Don't delete
6990 .o files when using the -M options.
58e31b83 6991
db9473af 69922001-02-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
02a4ec28
FS
6993 David Edelsohn <edelsohn@gnu.org>
6994
6995 * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
6996 handle DImode constants. Use one TOC entry for SImode and smaller
6997 constants, aligned properly.
6998
34ce3d7b
JM
69992001-02-08 Jason Merrill <jason@redhat.com>
7000
7001 * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
7002 about the SP adjustment for saving the static chain pointer.
7003 * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
7004 offset when setting a temporary CFA register.
7005
8da6d80e
CC
70062001-02-08 Chandrakala Chavva <cchavva@redhat.com>
7007
7008 * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
7009 powerpc-*-chorusos* .
7010 * config/rs6000/chorus.h : New file.
7011 * config/i386/chorus.h : New file.
7012 * config/sparc/chorus.h : New file.
7013 * config/sparc/t-chorus-elf : New file.
7014
7841642f
DE
70152001-02-08 David Edelsohn <edelsohn@gnu.org>
7016
7017 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
7018 * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
7019 * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
7020 (__WCHAR_TYPE__): Correct macro name.
3844cd2e 7021
6fca22eb
RH
70222001-02-08 Richard Henderson <rth@redhat.com>
7023
7024 * config/i386/i386.c (ix86_frame_pointer_required): New.
7025 (ix86_setup_frame_addresses): New.
7026 (struct machine_funciton): Add accesses_prev_frame.
7027 * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
7028 ix86_frame_pointer_required.
7029 (SUBTARGET_FRAME_POINTER_REQUIRED): New.
7030 (SETUP_FRAME_ADDRESSES): New.
7031 * config/i386/i386-protos.h: Update.
7032 * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
7033 from FRAME_POINTER_REQUIRED.
7034 * config/i386/svr3gas.h: Likewise.
7035 * config/i386/sysv3.h: Likewise.
7036 * config/i386/v3gas.h: Likewise.
7037
0020b823
RH
70382001-02-08 Richard Henderson <rth@redhat.com>
7039
7040 * config/sparc/sparc.c (function_arg_record_value_3): Fix
7041 calculation of the number of integer registers required.
7042 (function_arg_record_value): Likewise.
7043
00a42e21
JM
70442001-02-08 Jason Merrill <jason@redhat.com>
7045
33c4f174
JM
7046 * diagnostic.c (internal_error): Say "confused" after 1 error, not
7047 two. Print file and line with "confused" message.
7048
00a42e21
JM
7049 * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
7050
dd248abd
RK
7051Thu Feb 8 11:21:28 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7052
7053 * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
7054
04337620
BS
70552001-02-08 Bernd Schmidt <bernds@redhat.com>
7056
7057 * final.c (cleanup_subreg_operands): The address of a MEM can
7058 contain SUBREGs.
7059
0c1cf241
BS
7060 * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
7061 for asms, too.
7062
14baf6b5
JM
70632001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
7064
7065 * gcc.texi (Incompatibilities): Update documentation of
7066 preprocessing numbers.
7067
1ada4cd0
JJ
70682001-02-07 Jakub Jelinek <jakub@redhat.com>
7069
7070 * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
7071
a9374841
MM
70722001-02-07 Mark Mitchell <mark@codesourcery.com>
7073
830a95f8
MM
7074 * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
7075
a9374841
MM
7076 * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
7077 * gcc.c (struct compiler): Add cpp_spec field.
7078 (input_file_compiler): New variable.
3844cd2e 7079 (do_spec_1): Allow a particular compiler to handle `%C'
a9374841
MM
7080 specially.
7081 (main): Store the current compiler in input_file_compiler.
7082 * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
3844cd2e 7083
7d4918a2
ZW
70842001-02-07 Zack Weinberg <zack@wolery.stanford.edu>
7085
7086 * cpphash.h (struct spec_nodes): Add n_true and n_false.
7087 * cppinit.c (cpp_create_reader): Initialize them.
7088 (append_include_chain): cxx_aware arg might be unused.
7089 * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
7090 keywords and give them their phase 7 meaning. Pedwarn about
7091 this unless '__bool_true_false_are_defined' is defined.
7092
09d84e04
AO
70932001-02-07 Alexandre Oliva <aoliva@redhat.com>
7094
7095 * lcm.c (optimize_mode_switching): Emit mode_set before the
7096 JUMP_INSN of an abnormal edge.
7097
bcd7edfe
BS
70982001-02-07 Bernd Schmidt <bernds@redhat.com>
7099
7100 * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
7101 a scheduling barrier at the end.
7102
4a1d48f6
BS
7103 * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
7104
3dbd1134
AO
71052001-02-07 Alexandre Oliva <aoliva@redhat.com>
7106
c2d10707
AO
7107 * config/sh/sh.md (reload_outsf): Removed.
7108 (movsf_ie): Introduce constraints for FPUL loads and stores.
7109 (reload_insf): Broaden the output constraint.
7110
3dbd1134
AO
7111 * config/elfos.h (INT_ASM_OP): Don't define it if it's already
7112 defined.
7113 * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
7114 ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
7115
8480e480
CC
71162001-02-06 Chandrakala Chavva <cchavva@redhat.com>
7117
8da6d80e 7118 * final.c: Revert my previous changes.
8480e480
CC
7119 * output.h: Make profile_label_no extern.
7120 * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
7121 for generating label.
7122
df447210
LB
71232001-02-06 Laurynas Biveinis <lauras@softhome.net>
7124
7125 * config/i386/djgpp.h: Add comments about standard paths.
7126 (MD_EXEC_PREFIX): Undefine before defining.
7127 (MD_STARTFILE_PREFIX): New.
7128
ca21b4a5
BK
71292001-01-30 Bruce Korb <bkorb@gnu.org>
7130
6fca22eb
RH
7131 fixinc/fixincl.c(process): Emit error message only if appropriate :)
7132 (load_file): do not rely on load_file_data() to close file pointer
7133 fixinc/fixlib.c(load_file_data): do not close passed in file pointer
ca21b4a5
BK
7134 fixinc/inclhack.def(irix_limits_const): add test_text
7135
3c8465d0
NB
71362001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
7137
6fca22eb
RH
7138 * cppexp.c (parse_defined): Improve diagnostics for invalid
7139 syntax.
3c8465d0 7140
b7a0a5fa
NB
71412001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
7142
6fca22eb 7143 * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
b7a0a5fa 7144
28e510bd
MM
71452001-02-06 Mark Mitchell <mark@codesourcery.com>
7146
7147 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
7148 * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
7149 * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
7150 (rs6000_output_symbol_ref): New function.
7151 (output_toc): Use VTABLE_NAME_P.
3844cd2e 7152
05bd3d41
RK
7153Tue Feb 6 07:54:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7154
df10e9ec
RK
7155 * print-tree.c (print_node, case PARM_DECL):
7156 Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
7157
b5d6a2ff
RK
7158 * stor-layout.c (reference_types_internal): New variable.
7159 (internal_reference_types): New function.
7160 (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
7161 * tree.h (internal_reference_types): New declaration.
7162
05bd3d41
RK
7163 * cse.c (find_best_addr): Fix typo in computing cost.
7164
d1405722
RK
7165Mon Feb 5 21:56:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7166
7167 * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
7168 and this is the sum of a pointer and a constant, we know the result
7169 did not overflow.
7170 (num_sign_bit_copies, case PLUS): Likewise.
7171 * explow.c (convert_memory_address): Remove opposite SUBREG.
7172 * function.c (instantiate_new_reg): New function (from common code).
7173 (instantiate_virtual_regs_1): Call it.
7174 For PLUS, handle if (plus (subreg (virt-reg) (const_int))
7175 if pointers sign- or zero-extend.
7176 * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
7177 If pointers extend unsigned, use inside of SUBREG.
7178 (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
7179
3e897b66
BK
71802001-02-05 Benjamin Kosnik <bkoz@redhat.com>
7181
7182 * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
7183 subdir of gcc_gxx_include_dir.
7184 (gcc_gxx_target_include_dir): Remove.
7185
a401107d
JO
71862001-02-05 Jeffrey Oldham <oldham@codesourcery.com>
7187
7188 * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
7189 (dwarf2out_frame_debug_expr): Revise introductory comments to add
7190 a high-level description.
7191
411707f4
CC
71922001-02-05 Chandrakala Chavva <cchavva@redhat.com>
7193
d6706c51 7194 * final.c: Move the declaration of profile_label_no to ...
6fca22eb
RH
7195 * output.h: ... here.
7196 * function.c (expand_function_start): Call PROFILE_HOOK.
7197 * config/rs6000/aix.h: Define PROFILE_HOOK.
7198 * config/rs6000/rs6000-protos.h: output_profile_hook new.
7199 * config/rs6000/rs6000.c (output_profile_hook): Define.
7200 (output_prolog): Do nothing for ABI_AIX as it is taken care by
7201 output_profile_hook.
411707f4
CC
7202 tm.texi : Explain new macro PROFILE_HOOK.
7203
8720914b
HPN
72042001-02-06 Hans-Peter Nilsson <hp@axis.com>
7205
7206 * extend.texi (Extended Asm): Do not say that semicolon is always
7207 a valid line-breaking character for GNU assemblers. Use
7208 newline-tab as the most commonly supported syntax. Use
7209 newline-tab rather than semicolon in multi-insn examples.
7210
56cf87e7
FS
72112001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7212
7213 * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
7214
9638617e 72152001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6fca22eb 7216 David Edelsohn <edelsohn@gnu.org>
9638617e 7217
3844cd2e 7218 * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9638617e
FS
7219 code for AIX, even without flag_pic.
7220
2f4e8f2b
JJ
72212001-02-05 Jakub Jelinek <jakub@redhat.com>
7222
7223 * c-typeck.c (common_type): push and pop binding level around
7224 calling common_type on function parameters.
7225
45677496
CF
7226Mon Feb 5 14:30:37 2001 Christopher Faylor <cgf@cygnus.com>
7227
7228 * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
7229
789c026d
RK
7230Mon Feb 5 11:23:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7231
7232 * config/mips/mips.c (override_options): Fix typo in last change.
e2bbb660
RK
7233 (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
7234 (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
789c026d 7235
9965d119
NS
72362001-02-05 Nathan Sidwell <nathan@codesourcery.com>
7237
7238 * invoke.texi (-fdump-class-layout): Document.
7239 (-fdump-translation-unit): Use `=' as filename separator.
7240
39d6f2e8
MM
72412001-02-05 Mark Mitchell <mark@codesourcery.com>
7242
7243 * Makefile.in (s-mlib): Don't build multilibs if
7244 --disable-multilib.
7245 (DRIVER_DEFINES): Adjust accordingly.
7246 (gcc.o): Likewise.
7247 (protoize.o): Likewise.
7248 (unprotoize.o): Likewise.
7249 * configure.in: Recognize --enable-multilib.
3844cd2e 7250
22fdd65e
MM
72512001-02-04 Mark Mitchell <mark@codesourcery.com>
7252
9f8bf073
MM
7253 * Makefile.in (DRIVER_DEFINES): Fix quoting.
7254
22fdd65e
MM
7255 * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
7256 * configure.in: Remove --enable-libstdcxx_v3 support.
7257 * configure: Regenerated.
7258
400500c4
RK
7259Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7260
c4636dd1
RK
7261 * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7262 Call abort instead of fatal.
7263 (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
7264 * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
7265 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
7266 (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
7267 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
7268 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
7269
400500c4
RK
7270 * diagnostic.h (set_internal_error_function): Renamed.
7271 * toplev.h (internal_error): Renamed from fatal.
7272 (pfatal_with_name): Deleted.
7273 (fatal_io_error): Now has printf-style arguments.
7274 * diagnostic.c (pfatal_with_name): Deleted.
7275 (fatal_io_error): Rework to have args in printf-style.
7276 (set_internal_error_function): Renamed from set_fatal_function.
7277 (internal_error): Renamed from fatal.
7278 (error_recursion, fancy_abort): Call internal_error instead of fatal.
7279 * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
7280 * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
7281 * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
7282 * flow.c (verify_flow_info): Likewise.
7283 * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
7284 * config/mips/mips.c (save_restore_insns): Likewise.
7285
7286 * except.c (duplicate_eh_handlers): Call abort instead of fatal.
3844cd2e 7287 * flow.c (verify_flow_info): Likewise.
400500c4
RK
7288 * config/arm/arm.c (thumb_load_double_from_address): Likewise.
7289 * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
7290 (avr_normalize_condition): Likewise.
7291 * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
7292 * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
7293 (limit_reload_class, double_reg_to_memory): Likewise.
7294 (print_operand_address, emit_1600_code_shift): Likewise.
7295 (gen_tst_reg, gen_compare_reg): Likewise.
7296 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
7297 * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
7298 Deleted.
7299 * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
7300
7301 * c-parse.in (methoddef): Call fatal_error instead of fatal.
7302 * objc/objc-act.c (build_ivar_chain): Likewise.
7303 * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
7304 pfatal_with_name.
7305 * graph.c (clean_graph_dump_file): Likewise.
7306 * profile.c (init_branch_prob): Likewise.
7307 * objc/objc-act.c (objc_init): Likewise.
3844cd2e 7308
400500c4 7309 * config/arm/arm.c (arm_override_options): Make errors non-fatal.
3844cd2e 7310 * config/avr/avr.c (avr_override_options): Likewise.
400500c4
RK
7311 * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
7312 * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
7313 * config/h8300/h8300.c (h8300_init_once): Likewise.
7314 * config/mips/mips.c (override_options): Likewise.
7315 * config/i386/i386.c (override_options): Likewise, rework.
7316 * config/m68k/m68k.c (override_options): Likewise.
7317
7318 * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
7319 instead of fatal.
7320 * config/mips/mips.c (print_operand): Likewise.
7321 * hash.c (hash_allocate): Don't check for failure returns from
7322 obstack functions that can't fail.
7323 (hash_table_init_n, hash_table_init): Likewise; also now return void.
7324 * hash.h (hash_table_init_n, hash_table_init): Now return void.
7325 * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
7326 (get_object_reference): Likewise.
7327
eab4abeb
NC
73282001-02-04 Nick Clifton <nickc@redhat.com>
7329
7330 * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
7331 StrongARM1110, 10TDMI, and 1020T.
7332
7ce2fcb9
KG
73332001-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7334
7335 * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
7336
b6c02328
AO
73372001-02-04 Alexandre Oliva <aoliva@redhat.com>
7338
7339 * config/sh/sh.md (movdf load split): Pass register number to
7340 FP_OR_XD_REGISTER_P.
7341
1ca894a0
MM
73422001-02-04 Mark Mitchell <mark@codesourcery.com>
7343
7344 * cppinit.c (BC): New macro.
7345 (builtin_array): Add __GXX_WEAK__.
7346 * cpplib.h (builtin_type): Add BT_WEAK.
7347 * cppmacro.c (builtin_macro): Handle BT_WEAK.
7348 * defaults.h (SUPPORTS_ONE_ONLY): Define.
7349 * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
7350
52b357ea
JJ
73512001-02-03 Jakub Jelinek <jakub@redhat.com>
7352
7353 * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
7354
269592a8
NB
73552001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
7356
6fca22eb 7357 * cpphash.h: Rename _ALIGN POOL_ALIGN.
3844cd2e 7358 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
269592a8 7359
2da6090f
NB
73602001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
7361
6fca22eb 7362 * cpphash.h: Rename ALIGN _ALIGN.
3844cd2e 7363 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
2da6090f 7364
4e190cf3
CF
7365Fri Feb 2 23:15:29 2001 Christopher Faylor <cgf@cygnus.com>
7366
7367 * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
7368 compilation environment.
7369 * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
7370 control over location of cygwin includes and libs.
7371
c98f0cdb
MH
73722001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
7373
7374 * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
7375
39ed8974
LB
73762001-02-02 lars brinkhoff <lars@nocrew.org>
7377
7378 * md.texi (Standard Names): remove reference to spur.md.
7379
0b53f039
MH
73802001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
7381
7382 * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
7383 (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
7384 (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
7385 * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
7386 (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
7387
d001969e
HB
73882001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7389
7390 * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
7391 c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
7392 number before reload.
7393 (c4x_adjust_cost): Return zero before reload.
7394 * c4x.md (load_immed_address+1, load_immed_address+2): Do not
7395 split before reload.
7396
40eef757
HB
73972001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7398
7399 * c4x.c (c4x_hard_regno_rename_ok): New.
7400 * c4x-protos.h (c4x_hard_regno_rename_ok): New.
7401 * c4x.h (HARD_REGNO_RENAME_OK): Define.
7402
0d6882a0
RK
7403Fri Feb 2 20:03:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7404
7405 * diagnostic.h: Add missing "extern" in all declarations.
7406
362f2295
AS
74072001-02-02 Alex Samuel <samuel@codesourcery.com>
7408
7409 * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
7410 as for gcc_gxx_include_dir.
7411
da312b55
NB
74122001-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
7413
7414 * cpp.texi, invoke.texi: Update -Wtraditional documentation.
7415
38df95a4
AO
74162001-02-02 Alexandre Oliva <aoliva@redhat.com>
7417
e6dfd05f
AO
7418 * config/sh/sh.c (output_far_jump): Don't use braf on SH1. Emit
7419 label before alignment to be used as the braf base address.
7420 * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
7421 branches.
7422 (casesi_jump_2): Require at least TARGET_SH2.
7423
38df95a4
AO
7424 * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
7425 truncation to 32-bit doubles on -m3e and -m4-single-only.
7426
049f6ec9
MM
74272001-02-02 Mark Mitchell <mark@codesourcery.com>
7428
3844cd2e 7429 * gcc.c (init_gcc_specs): New function. Make -shared-libgcc
049f6ec9
MM
7430 the default when building a shared object.
7431 (init_spec): Use it.
7432 * testsuite/lib/g++.exp: Include the directory where libgcc
7433 is located to the LD_LIBRARY_PATH list.
1ca894a0 7434 * invoke.texi (-shared-libgcc): Document the cases in which
049f6ec9 7435 GCC defaults to using the shared libgcc.
3844cd2e 7436
483b9fd0
AO
74372001-02-02 Alexandre Oliva <aoliva@redhat.com>
7438
7439 * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
7440 unsigned is wide enough.
7441 (BITS_PER_SI): New.
7442 * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
7443 (si_to_float): Likewise.
7444 (float_to_si, float_to_usi): Use BITS_PER_SI.
7445
770ca8c6
JO
74462001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
7447
7448 * dwarf2out.c: Added explanation of abbreviations.
7449 (def_cfa_1): Added comments listing DWARF2 instructions.
7450 (cfa_temp_reg): Removed in favor of cfa_temp.
7451 (cfa_temp_value): Removed in favor of cfa_temp.
7452 (cfa_temp): New global variable.
7453 (dwarf2out_frame_debug_expr): Added extensive introductory
7454 comments explaining the function's transformations. Revised to
7455 use cfa_temp. Added some rtx checking. Generalize IOR case.
7456 (dwarf2out_frame_debug): Revised to use cfa_temp.
7457 (output_aranges): Cast as "unsigned" to avoid warning.
7458 * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
7459 explain which instructions must be marked.
7460
cad33336
RH
74612001-02-01 Richard Henderson <rth@redhat.com>
7462
7463 * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
7464 new instruction.
7465
8a5d897f
AO
74662001-02-01 Alexandre Oliva <aoliva@redhat.com>
7467
7468 * config/sh/crt1.asm (main_k): Modified so that start calls
7469 ___setup_argv_and_call_main.
7470
bd969772
NB
74712001-02-01 Neil Booth <neil@daikokuya.demon.co.uk>
7472
6fca22eb
RH
7473 * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
7474 * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
7475 and AVOID_LPASTE is cleared on meeting an unescaped newline.
7476 * cppmacro.c (builtin_macro): Set builtin flags here.
7477 (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
7478 (replace_args): Clarify intent.
7479 (cpp_get_token): Macro expansion tokens get the saved flags.
7480 Update.
7481 * cppmain.c (scan_buffer): Remove now-redundant print.printed
7482 check.
bd969772 7483
8c0abc88
JO
74842001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
7485
7486 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
7487 2001-Jan-29.
7488
fcbfaa65
RK
7489Thu Feb 1 07:22:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7490
d5457140
RK
7491 * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
7492 returns Pmode pseudo, but we need ptr_mode.
7493 * explow.c (allocate_dynamic_stack_space): Use plus_constant.
7494 Remove bogus conversions; use HOST_WIDE_INT for size.
7495 Don't use TARGET if wrong mode.
7496
fcbfaa65
RK
7497 * config/i386/i386.c (ix86_compute_frame_size): Allow
7498 stack_alignment_needed to be non-default even if size is zero.
7499
10d17cb7
AM
75002001-01-31 Alan Modra <alan@linuxcare.com.au>
7501
824e7605
AM
7502 * pa.c (hppa_init_pic_save): New function.
7503 * pa.h (hppa_init_pic_save): Declare.
7504 * pa.md (call, call_value, sibcall, sibcall_value): Use
7505 the above instead of duplicated code.
7506
10d17cb7
AM
7507 * pa.c (hppa_encode_label): Correct size of alloca buffer
7508 so we don't overrun it. Correct leading `*' case.
7509 * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
7510 need to handle `*@'.
7511 (FUNCTION_NAME_P): Likewise.
7512
b9e6ebe9
RH
75132001-01-31 Richard Henderson <rth@redhat.com>
7514
c3e5f9fa
RH
7515 * config.gcc (alpha-osf5): Use float-i128.h.
7516
b9e6ebe9
RH
7517 * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
7518 * config/float-i32.h: Likewise.
7519 * config/float-i64.h: Likewise.
7520 * config/float-sh.h: Likewise.
7521 * config/float-sparc.h: Likewise.
7522
dbac5d0d 75232001-01-31 DJ Delorie <dj@redhat.com>
aac280fb
DD
7524
7525 * expmed.c (extract_bit_field): allow non-integral modes if we
7526 want to extract a whole register from itself.
7527
ce662d4c
JJ
75282001-01-31 Jakub Jelinek <jakub@redhat.com>
7529
7530 * c-typeck.c (set_init_index): If first is equal to last, assume as
7531 if it was not a range at all.
7532
8b1065f1
AO
75332001-01-31 Alexandre Oliva <aoliva@redhat.com>
7534
3cb95a7d 7535 * config/fp-bit.c: Include tm.h.
8b1065f1
AO
7536 (float_to_si): Don't assume SImode is 32-bits wide.
7537 (float_to_usi): Likewise.
7538
0aca1a4f
JM
75392001-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
7540
7541 * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
7542 incomplete type.
7543 (typename): Call pending_xref_error after parsing typed_typespecs.
7544 * c-decl.c (lookup_tag): Give error immediately rather than
7545 leaving it pending if the tag of the wrong type is in the same
7546 binding level.
7547 (xref_tag): Don't pedwarn for forward declarations of enum types
7548 here.
7549 * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
7550 and enum tags.
7551
92fa350a
AO
75522001-01-31 Alexandre Oliva <aoliva@redhat.com>
7553
7554 * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
7555
f000294d
NB
75562001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
7557
6fca22eb
RH
7558 * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
7559 (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
f000294d 7560
ec1a23e6
NB
75612001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
7562
6fca22eb
RH
7563 * cpphash.h (struct cpp_reader): New saved_flags.
7564 * cppmacro.c (cpp_get_token): Use saved_flags to remember
7565 to avoid a paste after a pasted token.
3844cd2e 7566
5d0e6486
AO
75672001-01-31 Alexandre Oliva <aoliva@redhat.com>
7568
7569 * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
7570 * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
7571 Wtype_MIN instead of LONG_MIN.
7572
b2321b26
JO
75732001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
7574
7575 * fixinc/fixincl.tpl: Add 2001 to copyright. Change name of
7576 README file.
7577 * fixinc/fixincl.x: Regenerated.
7578 * fixinc/inclhack.def (irix_limits_const): New definition to
7579 convert "const" to "__const" in limits.h.
7580
4989b020
JO
75812001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
7582
7583 * fixinc/genfixes (AG): Fix "autogen4" thinko.
7584
2f33c635
HB
75852001-01-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7586
7587 * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
7588 when register dies in the insn.
7589
bdda3325
NB
75902001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
7591
7592 * diagnostic.c (fatal): Fix word wrap.
7593
48b4d901
AO
75942001-01-30 Alexandre Oliva <aoliva@redhat.com>
7595
7596 * combine.c (try_combine): Fix SUBREG setting for
7597 HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
7598
1e738f74
FS
75992001-01-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7600
7601 * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
7602 comparison codes.
7603
e9770d51
NB
76042001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
7605
6fca22eb
RH
7606 * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
7607 is not NULL.
7608 * toplev.c (decode_W_option): Update warn_larger_than
7609 unconditionally for each processed switch.
e9770d51 7610
d966ae60
JDA
76112001-01-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
7612
7613 * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
7614 to NULL_RTX.
7615 (hppa_expand_prologue): Delete code to save pic offset table register
7616 in the function prologue.
7617 * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
7618 * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
7619 table register at the beginning of the function after the prologue.
7620
f25561bb
LB
76212001-01-29 lars brinkhoff <lars@nocrew.org>
7622
6fca22eb 7623 * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
f25561bb 7624
7ea9fcc6
JDA
76252001-01-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
7626 Jeff Law <law@redhat.com>
7627
7628 * pa.md (return): Revise comment for trivial return.
7629 (return_internal): Non-trivial return pattern for non-PIC code.
7630 (return_internal_pic): Non-trivial return pattern for PIC code.
7631 It uses the PIC register to ensure it is restored after
7632 function calls.
7633 (epilogue): Generate appropriate return for PIC and non-PIC code.
7634
05d9f8b0
CF
7635Mon Jan 29 23:53:14 2001 Christopher Faylor <cgf@cygnus.com>
7636
7637 * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
7638
80c8b1aa
DD
76392001-01-29 DJ Delorie <dj@redhat.com>
7640
7641 * combine.c (if_then_else_cond): Pass the correct mode to
7642 operand_subword() for constants.
7643
f6fc3552
CF
7644Mon Jan 29 20:38:19 2001 Christopher Faylor <cgf@cygnus.com>
7645
7646 * config/i386/cygwin.h: Add w32api to include search. Search different
7647 directories in a cross-build environment.
7648
2b5f2501
RH
76492001-11-29 Tim Josling <tej@melbpc.org.au>
7650
7651 * tree.h (TYPE_STUB_DECL): Add documentation.
7652
76532001-11-29 Laurynas Biveinis <lauras@softhome.net>
1270a9b3
LB
7654
7655 * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
7656 (sdbout_field_types): Likwise. Fix use of host_integerp.
7657
9c7c6e6c
TP
76582001-01-29 Thomas Pfaff <tpfaff@gmx.net>
7659
7660 * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
7661 cygwin.h.
7662
f1e9980a
JO
76632001-01-29 Jeffrey Oldham <oldham@codesourcery.com>
7664
7665 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
7666 to use flag_gnu_linker.
7667
766ee681
NB
76682001-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
7669
6fca22eb
RH
7670 * cpplib.c (T_BAD_DIRECTIVE): Remove.
7671 (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
766ee681 7672
718b8ea5
JM
76732001-01-29 Joseph S. Myers <jsm28@cam.ac.uk>
7674
7675 * tree.c, tree.h (build_parse_node): Remove; was identical to
7676 build_nt.
7677 * c-lang.c (start_cdtor), objc/objc-act.c
7678 (build_module_descriptor): Use build_nt instead of
7679 build_parse_node.
7680
adc88131
JJ
76812001-01-29 Jakub Jelinek <jakub@redhat.com>
7682
7683 * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
7684 (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
7685 not have any upper bits set.
7686
42c0c80a
PE
76872001-01-29 Phil Edwards <pme@sources.redhat.com>
7688
7689 * COPYING.LIB: Update to LGPL 2.1 from the FSF.
7690
f2d1f0ba
KG
76912001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7692
7693 * stmt.c (estimate_case_costs): Use integer_minus_one_node.
7694
7695 * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
7696
7697 * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
7698 (integer_minus_one_node): Define.
7699
4f92461a
AO
77002001-01-28 Alexandre Oliva <aoliva@redhat.com>
7701
7702 * Makefile.in (bootstrap2-lean): Fix typo.
7703
26ec42ee
NB
77042001-01-28 Neil Booth <neil@daikokuya.demon.co.uk>
7705
6fca22eb
RH
7706 * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
7707 : Don't set fe_value.
3844cd2e 7708 * cpplib.h (AVOID_LPASTE): New flag.
6fca22eb
RH
7709 (struct cpp_hashnode): Remove fe_value.
7710 * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
7711 * cppmacro.c (builtin_macro): Don't set flags here.
7712 (replace_args): Set AVOID_LPASTE flag on first token of an
7713 argument, and the token following it.
7714 (cpp_get_token): Set AVOID_LPASTE flag on first token of a
7715 macro expansion, and on the token following it. Do it for
7716 builtins too.
7717 * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
26ec42ee 7718
0be25992
RH
77192001-01-27 Richard Henderson <rth@redhat.com>
7720
7721 * config/alpha/t-ieee: Remove multilibbing.
7722 (TARGET_LIBGCC2_CFLAGS): Add -mieee.
7723
c913b6f1
KG
77242001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7725
7726 * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
7727
7728 * Makefile.in: Remove all dependencies on defaults.h.
7729 * builtins.c: Don't include defaults.h.
7730 * c-common.c: Likewise.
7731 * c-decl.c: Likewise.
7732 * c-pragma.c: Likewise.
7733 * c-typeck.c: Likewise.
7734 * combine.c: Likewise.
7735 * i386.c: Likewise.
7736 * frame-ia64.c: Likewise.
7737 * cppexp.c: Likewise.
7738 * crtstuff.c: Likewise.
7739 * dbxout.c: Likewise.
7740 * dwarf2out.c: Likewise.
7741 * dwarfout.c: Likewise.
7742 * emit-rtl.c: Likewise.
7743 * except.c: Likewise.
7744 * expr.c: Likewise.
7745 * final.c: Likewise.
7746 * frame-dwarf2.c: Likewise.
7747 * libgcc2.c: Likewise.
7748 * optabs.c: Likewise.
7749 * profile.c: Likewise.
7750 * sdbout.c: Likewise.
7751 * toplev.c: Likewise.
7752 * tradcif.y: Likewise.
7753 * tree.c: Likewise.
7754 * varasm.c: Likewise.
7755
013dea40
KG
77562001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7757
7758 * builtins.c (expand_builtin_fputs): Use size_one_node when
7759 transforming into fwrite.
7760
2c5e91d2
JM
77612001-01-27 Joseph S. Myers <jsm28@cam.ac.uk>
7762
7763 * extend.texi (Attribute Syntax): New section.
7764
825ac704
MS
77652001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG>
7766
7767 * fixproto: Correctly install synthesised unistd.h and stdlib.h when
7768 they didn't need fixing.
7769
70305f2b
RH
77702001-01-27 Janis Johnson <janis@us.ibm.com>
7771
7772 * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
7773 if appropriate.
7774 * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
7775 to remove macro definitions that are duplicated from elfos.h.
7776
77772001-01-27 Richard Henderson <rth@redhat.com>
7778
7779 * config/i386/sco5gas.h: Move ...
7780 * config/usegas.h: ... here.
7781 * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
7782
940ff66d
JJ
77832001-01-27 Jakub Jelinek <jakub@redhat.com>
7784
7785 * c-typeck.c (struct constructor_stack): Add range_stack member.
7786 (really_start_incremental_init): Clear it.
7787 (push_init_level): Save constructor_range_stack and clear it if
7788 pushing explicit braces.
7789 (pop_init_level): abort if constructor_range_stack is non-zero at
7790 explicit closing brace. Restore saved constructor_range_stack if
7791 not implicit.
7792
de1b33dd
AO
77932001-01-27 Alexandre Oliva <aoliva@redhat.com>
7794
7795 * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
7796 into register was forced into memory.
7797
3d84f80f
AO
77982001-01-27 Alexandre Oliva <aoliva@redhat.com>
7799
7800 * Makefile.in: Remove uses of + before $(MAKE).
7801
2a2137c4
RH
78022001-01-26 Richard Henderson <rth@redhat.com>
7803
7804 * stmt.c (cost_table): Remove.
7805 (COST_TABLE, cost_table_initialized): New.
7806 (estimate_case_costs): Use the later instead of the former.
7807 (balance_case_nodes): Likewise.
7808
66cce54d
RH
78092001-01-26 Richard Henderson <rth@redhat.com>
7810
7811 * alias.c (objects_must_conflict_p): Read-only slots may not
7812 conflict despite having the same type.
7813
616fde53
MH
78142001-01-27 Michael Hayes <mhayes@redhat.com>
7815
7816 * loop.c (loop_giv_reduce_benefit): Copy mode size into
7817 int variable.
7818 (check_ext_dependant_givs): Initialise u_start_val and
7819 u_end_val.
7820 (load_mems): Make last_max_reg unsigned.
7821 (try_swap_copy_prop): Use INSN_P and initialise set.
7822
b63471e9
DC
7823Fri Jan 26 23:22:58 2001 Denis Chertykov <denisc@overta.ru>
7824
7825 * README.AVR : Removed.
7826
d1ebd58d
JL
7827Fri Jan 26 11:37:26 2001 Jeffrey A Law (law@cygnus.com)
7828
7829 * pa-64.h (text_section): Remove declaration.
7830
7831 * pa.md (return_internal): Remove mode on PIC register use.
7832
a8d1550a
LB
78332001-01-25 lars brinkhoff <lars@nocrew.org>
7834
7835 * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
7836 ASM_CLOSE_PAREN): fix typos.
7837
78e0ba39
MM
78382001-01-25 Mark Mitchell <mark@codesourcery.com>
7839
7840 * acconfig.h: Define `const' to the empty string if neither
7841 __STDC__ nor __cplusplus is defined.
7842 * config.in: Regenerated.
7843
05dba9ee
DE
78442001-01-25 David Edelsohn <edelsohn@gnu.org>
7845
7846 * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
7847 * collect2.c (main): Delete importf. Add ".obj" file extension.
7848 (GCC_CHECK_HDR): Handle AIX V5 new magic number.
7849 (aix_std_libs): Add additional AIX libraries to skip.
7850 * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
7851 * config/rs6000/aix51.h: New file.
7852
86e21212
MH
78532001-01-25 Michael Hayes <mhayes@redhat.com>
7854
7855 * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
7856 (loop_insn_emit_before): No longer static.
7857 (move_movables): Replace emit_insn_after with loop_insn_emit_after.
7858 (loop_givs_rescan, load_mems): Likewise.
7859 (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
7860 (maybe_eliminate_biv_1):
7861 (move_movables): Replace emit_call_insn_before with
7862 loop_call_insn_hoist.
7863 * loop.h (loop_insn_emit_before): Add.
3844cd2e 7864 * unroll.c (copy_loop_body): Replace emit_insn_before with
86e21212
MH
7865 loop_insn_emit_before.
7866
7fa531a6
NB
78672001-01-25 Neil Booth <neil@daikokuya.demon.co.uk>
7868
70305f2b 7869 * diagnostic.c (fatal): Request preprocessed source.
7fa531a6 7870
91239b93
R
7871Thu Jan 25 02:01:16 2001 J"orn Rennecke <amylaar@redhat.com>
7872
7873 * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
7874 olddecl has argument types and newdecl has none, use the argument
7875 types from olddecl.
7876
e57cabac
UD
78772001-01-24 Ulrich Drepper <drepper@redhat.com>
7878
7879 * dwarf2out.c (prefix_of): New function. Determine longest common
7880 prefix of the two arguments. The units are whole path components.
7881 (output_file_names): When adding a new directory find the one entry
7882 with the longest common prefix already in the list. Artificially
7883 generate entry if there is none for this prefix.
7884 Fix test to check whether the zeroth directory entry is used.
7885
304a22dd
R
7886Wed Jan 24 23:51:55 2001 J"orn Rennecke <amylaar@redhat.com>
7887
7888 * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
7889 Changed all callers. Take it into account when deciding if a
7890 previously loaded value matches.
7891
0a28aef9
RH
78922001-01-24 Richard Henderson <rth@redhat.com>
7893
7894 * reload.c (find_reloads_subreg_address): Fail the substitution
7895 if the resulting address is insufficiently aligned.
7896
1cac8785
DD
78972001-01-24 DJ Delorie <dj@redhat.com>
7898
7899 * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
7900 check the original operand's mode also.
7901 * simplify-rtx.c (simplify_ternary_operation): Ditto.
7902
cedd825f
JM
79032001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
7904
7905 * c-parse.in (cast_expr): Move compound literals from here ...
7906 (primary): ... to here. Use standard terminology "compound
7907 literal" instead of "constructor expression".
7908
445c435a
JM
79092001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
7910
7911 * gcc.1, cpp.1: Regenerate.
7912
4cfc6042
AO
79132001-01-24 Alexandre Oliva <aoliva@redhat.com>
7914
7915 * calls.c (emit_library_call_value_1): Memory slot for
7916 pass-by-reference argument should have the mode of the argument,
7917 not of the pointer to it.
7918
597dba19
TT
79192001-01-24 Tom Tromey <tromey@redhat.com>
7920
7921 * gcc.texi (G++ and GCC): Mention gcj manual.
7922 (Standards): Link to section of manual mentioning gcj/Java
7923 compatibility.
7924
7855db7c
JJ
79252001-01-24 Jakub Jelinek <jakub@redhat.com>
7926
7927 * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
7928 * cppinit.c (cpp_start_read): Remove deps_add_dep call.
7929 * tradcpp.c (main): Add -imacros or -include'd dependencies
7930 for -M*.
7931 * cpp.texi (-M, -MM): Document -M -include behaviour.
7932
6a40fc2b 79332001-01-24 Roger Collins <roger@ProProject.com>
e57cabac 7934
70305f2b 7935 * config/i386/xm-i386.h: Make __i386__ a boolean macro.
6a40fc2b 7936
2f3fdc52
WC
79372001-01-24 Will Cohen <wcohen@redhat.com>
7938
7939 * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
7940 whether registers are 32 bits or 64 bits in size.
7941
a941b588
BE
79422001-01-24 Ben Elliston <bje@redhat.com>
7943
7944 * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
7945
64b4ab5a
RH
79462001-01-24 Richard Henderson <rth@redhat.com>
7947
7948 * config/alpha/alpha.md (builtin_longjmp_internal): New.
7949 (builtin_longjmp): Use it instead of emit_indirect_jump.
7950
b0cc7919
JDA
79512001-01-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
7952
7953 * bb-reorder.c (make_reorder_chain_1): Handle case where
7954 jump edge goes to the same block as the fallthru edge.
e57cabac 7955
0024a804
JW
79562001-01-23 Jim Wilson <wilson@redhat.com>
7957
7958 * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
7959 * frame.h (__ia64_personality_v1): Add prototype.
7960 * libgcc2.c (ia64_throw_helper): Change personality declaration to
7961 prototype form. Add void * cast to first argument to personality
7962 call.
7963 * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
7964 (asctoe113): Likewise.
7965 * config/ia64/frame-ia64.c: Include eh-common.h.
7966 * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
7967 prototypes.
7968 * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
7969 to dump parameter.
7970 (itanium_split_issue): Add prototype.
7971 (gen_nop_type): Ifdef out.
7972 (find_best_packet): Initialize best_packet.
7973 (ia64_encode_section_info): New local string. Use for ggc_alloc_string
7974 result.
7975 * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
7976 * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
7977 (flushrs): Add explicit stop bit at end.
7978 * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
7979 trailing \ to >.
e57cabac 7980
8a1894ac
CD
79812001-01-23 Chris Demetriou <cgd@broadcom.com>
7982
7983 * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
7984 of EH symbols.
7985 * libgcc2.c (__terminate_func): Make variable static.
7986 (__terminate_set_func): New function to set __terminate_func.
7987 * libgcc2.h (__terminate_func_ptr): New typedef.
7988 (__terminate_set_func): New function.
7989
240f9c2b
RH
79902001-01-23 Richard Henderson <rth@redhat.com>
7991
7992 * flow.c (init_propagate_block_info): Don't consider unchanging
7993 memories for dead frame store elimination.
7994
fc9f395a
RH
79952001-01-23 Richard Henderson <rth@redhat.com>
7996
7997 * varasm.c (UNIQUE_SECTION): Move default implementation ...
7998 * defaults.h: ... here.
7999
860b3499
MH
80002001-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8001
8002 * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
8003
955dc84a
NB
80042001-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
8005
70305f2b 8006 * c-lex.c (lex_charconst): Fix typo: s/p/str.
955dc84a 8007
608ab802
FS
80082001-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8009
8010 * rs6000.h (rs6000_return_addr): Move prototype from here...
8011 * rs6000-protos.h (rs6000_return_addr): ...to here.
8012 (rs6000_init_expanders): Delete prototype.
8013
371e300b
NC
80142001-01-23 Nick Clifton <nickc@redhat.com>
8015
8016 * invoke.texi: Replace , with \, inside @gccoptlist macros.
8017 (Spec Files): Document %B and %j and %. and %v3 and %M and
8018 %{S*&T} spec switches.
8019
4a1f52a8
HB
80202001-01-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8021
8022 * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
8023
c933c209
CD
80242001-01-23 Chris Demetriou <cgd@sibyte.com>
8025 Neil Booth <neil@daikokuya.demon.co.uk>
8026
70305f2b
RH
8027 * cpperror.c: Merge handlers of PEDWARN and WARNING.
8028 Have -Werror make pedantic warnings errors, like the
8029 rest of GCC.
c933c209 8030
3fb74b82
PE
80312001-01-23 Phil Edwards <pme@sources.redhat.com>
8032
8033 * c-tree.texi (IDENTIFIER_LENGTH): Fix typo.
8034
96e60f0c
JJ
80352001-01-23 Jakub Jelinek <jakub@redhat.com>
8036
8037 * integrate.h (struct inline_remap): Add compare_src, compare_mode.
8038 * integrate.c (expand_inline_function): Initialize them.
8039 (subst_constants): If changing COMPARE so that both its arguments
8040 will be VOIDmode and the comparison mode will be lost, note
8041 compare_mode. Use the recorded compare_mode to optimize
8042 IF_THEN_ELSE.
8043
3f4907a6
JM
80442001-01-23 Jason Merrill <jason@redhat.com>
8045
8046 * dwarf2out.c (new_die): Use xcalloc.
8047 (output_die): Abort rather than emit a local reference to offset 0.
8048
44f715c8
AH
80492001-01-17 Andrew Haley <aph@redhat.com>
8050
8051 * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
8052 of a saved register; return NULL instead.
8053 (copy_reg): Take a pointer to a source register rather than a
8054 frame_state.
8055 (next_stack_level): Remember the address in the stack frame of all
8056 saved registers.
8057 Use the saved register pointer array as the source of the CFA.
8058 (throw_helper): Rewrite. Unwind once rather than twice and keep
8059 track of saved registers as we go.
e57cabac 8060
eb253d90
HB
80612001-01-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8062
8063 * c4x-protos.h (c4x_legitimize_reload_address): Remove.
8064 * c4x.c (c4x_legitimize_reload_address): Remove.
8065 * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
8066 reload address for ldp(k) insn.
8067
2caa0ddf
JL
8068Mon Jan 22 20:53:47 2001 Jeffrey A Law (law@cygnus.com)
8069
8070 * pa.md (return_internal): Add a USE of the PIC register to ensure
8071 it is restored after each call.
8072 (return expander): Corresponding changes.
8073
71f123ca
FS
80742001-01-22 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8075
8076 * rs6000.h (INIT_EXPANDERS): Delete.
8077 (RETURN_ADDR_RTX): Call rs6000_return_addr().
8078 * rs6000.c (rs6000_override_options): Call *_machine_status from
8079 here...
8080 (rs6000_init_expanders): ...instead of here. Delete.
8081 (rs6000_mark_machine_status): New function.
8082 (rs6000_init_machine_status): Use xcalloc.
8083 (rs6000_return_addr): Generate RTX for the return address.
8084 (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
8085 (rs6000_stack_info): Use it.
8086
5dab7f92
TP
80872001-01-22 Thomas Pfaff <tpfaff@gmx.net>
8088
8089 * gthr-win32.h: Include errno.h to get a declaration for
8090 EINVAL and _mingw.h if the target is mingw32.
8091
586964a7
AFV
80922001-01-22 Andres Felipe Vargas <avargas@teletulua.com.co>
8093
8094 * cpp.texi: Correct typos.
8095
f5f5363f
RK
8096Mon Jan 22 13:59:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8097
8098 * explow.c (probe_stack_range): Ensure value passed to
8099 stack_check_libfunc is ptr_mode, not Pmode.
8100
44e4159d
R
8101Mon Jan 22 16:53:06 2001 J"orn Rennecke <amylaar@redhat.com>
8102
8103 * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
8104 case, don't use operand_subword to calculate a SUBREG that is
8105 wider than a word.
8106
8107 * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
8108
0bbcfbaf
HB
81092001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8110
8111 * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
8112 (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
8113 valid. If not replace it by equivalent insns.
8114
5078f5eb
HB
81152001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8116
8117 * c4x.c (c4x_check_legit_addr): Only check CONST. Not if CONST
8118 contains SYMBOL_REF, LABEL_REF and CONST_INT.
8119 (c4x_U_constraint, symbolic_address_operand): Likewise.
8120 (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
8121 memory.
8122 (c4x_r11_set_p, c4x_check_laj_p): New functions.
8123 * c4x-protos.h (c4x_check_laj_p): Add prototype.
e57cabac 8124 * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
5078f5eb
HB
8125 anulling slot because of silicon bug.
8126 (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
8127
6dc0d164
AM
81282001-01-22 Alan Modra <alan@linuxcare.com.au>
8129
70305f2b
RH
8130 * cppexp.c (parse_charconst): Change `mask' type to agree
8131 with parse_escape.
6dc0d164 8132
c7f0da1d
RH
81332001-01-21 Richard Henderson <rth@redhat.com>
8134
8135 * config/i386/i386.c (ix86_asm_file_end): Disable putting
8136 pic_label_name in a linkonce section.
8137
380a627a
PT
81382001-01-17 Philipp Thomas <pthomas@suse.de>
8139
8140 * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
8141 found in libintl.
8142 * configure: Regenerate.
8143
02a65aef
R
8144Sun Jan 21 02:38:56 2001 J"orn Rennecke <amylaar@redhat.com>
8145
8146 * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
8147 uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
8148
56b871c1
DC
8149Sun Jan 21 09:44:17 2001 Denis Chertykov <denisc@overta.ru>
8150
8151 * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
8152 If REVERSE nonzero then condition code in X must be reversed.
8153 (encode_section_info): Optimise if/else.
8154 (avr_function_value): Fix formatting.
8155
8156 * config/avr/avr.md (branch): Call to ret_cond_branch changed.
8157 (difficult_branch): Likewise.
8158 (rvbranch): Likewise.
8159 (difficult_rvbranch): Likewise.
8160
8161 * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
8162
8163 * config/avr/libgcc.S: Fix comment.
8164
04e91ffb
MS
81652001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
8166
8167 * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
8168
3943e756
MS
81692001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
8170
8171 * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
8172
b3e1e64f
MS
81732001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
8174
8175 * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
8176 * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
8177 * configure, config.in: Regenerate.
8178 * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
8179 (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
8180 (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
8181 (doprint.o): New rule.
8182
47f8b473
JM
81832001-01-20 Joseph S. Myers <jsm28@cam.ac.uk>
8184
8185 * c-typeck.c (digest_init): Handle boolean types as scalars.
8186
2954d7db
RK
8187Sat Jan 20 12:46:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8188
8189 * stmt.c (expand_return): Don't return anything if size is zero.
8190 Delete redundant assignment to BYTES.
8191 * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
8192
1d26ac96
MM
81932001-01-20 Marek Michalkiewicz <marekm@linux.org.pl>
8194
8195 * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
8196 the same as the default library function names.
8197 * config/avr/avr.md: Document special characters after '%'.
8198 (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
8199 knowing which of the call-used registers are really clobbered.
8200 (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
8201 New. Both quotient and remainder from one libgcc.S call.
8202 * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
8203 clobber as few registers as possible.
8204 * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
8205
673b13e2
NB
82062001-01-20 Neil Booth <neil@daikokuya.demon.co.uk>
8207
70305f2b
RH
8208 * cppmacro.c (funlike_invocation_p): Don't move back up to the
8209 context of the top of the stack.
673b13e2 8210
a42a5f59
ZW
82112001-01-20 Jakub Jelinek <jakub@redhat.com>
8212
8213 * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
8214 (fixup_var_refs_insns): ...here.
8215
a42a5f59
ZW
82162001-01-20 Zack Weinberg <zack@wolery.stanford.edu>
8217
8218 * function.c (fixup_var_refs_insns): Break up into
8219 fixup_var_refs_insn [body of loop], fixup_var_refs_insns
8220 [loop over entire insn list], and fixup_var_refs_insns_with_hash
8221 [loop over hash table entries].
8222 (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
8223 fixup_var_refs_insns_with_hash, to match above changes.
8224
03bbd83f
JDA
82252001-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
8226
8227 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
8228 (libgcc.a): Likewise.
8229 (stmp-multilib): Likewise.
8230 (STAGE2_FLAGS_TO_PASS): Likewise.
8231
68c37dc9
AO
82322001-01-19 Alexandre Oliva <aoliva@redhat.com>
8233
8234 * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
8235 temporary if no_new_pseudos.
8236
111e0469
NB
82372001-01-19 Neil Booth <neil@daikokuya.demon.co.uk>
8238
a42a5f59 8239 * cppinternals.texi: Update.
111e0469 8240
55cf7bb9
RE
82412001-01-19 Richard Earnshaw <rearnsha@arm.com>
8242
8243 * arm.c (arm_init_builtins): Re-enable builtins.
8244
831ecbd4
RK
8245Fri Jan 19 13:02:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8246
7193d1dc
RK
8247 * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
8248 * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
8249 element to be null, and always expect an EXPR_LIST.
8250 * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
8251 * sched-deps.c (sched_analyze_1): Likewise.
8252 * sched-rgn.c (check_live_1, update_live_1): Likewise.
8253
79b9ec0d
RK
8254 * regclass.c (max_set_parallel): New variable.
8255 (reg_scan): Take it into account in computation of max_parallel.
8256 (reg_scan_mark_refs, case SET): Compute it.
8257
831ecbd4
RK
8258 * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
8259 args are REG.
8260 * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
8261 * function.c (assign_parms): Use INTVAL for a CONST_INT.
8262
cb9e9d8d
JM
82632001-01-19 Jason Merrill <jason@redhat.com>
8264
8265 * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
8266 for the abstract instance of an inline function.
8267
831ecbd4
RK
8268Fri Jan 19 14:31:35 2001 Alexandre Oliva <aoliva@redhat.com>
8269 J"orn Rennecke <amylaar@redhat.com>
61f5625b 8270
20342a6b
AO
8271 * reload1.c (move2add_note_store): Treat all registers directly or
8272 indirectly derived from a base register as members of the same set
8273 of values.
8274 (reload_cse_move2add): Adjust accordingly. Take mode and offset
8275 of base register into account.
61f5625b 8276
61f0131c
R
8277Fri Jan 19 09:18:42 2001 J"orn Rennecke <amylaar@redhat.com>
8278
8279 * alias.c (find_base_value): Recognize TRUNCATE.
8280 (record_set): In PLUS case, invalidate if other summand is also a
8281 base value.
8282
8eeb855e
RK
8283Thu Jan 18 06:43:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8284
831ecbd4 8285 * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
90d036a0
RK
8286 entry to be EXPR_LIST.
8287 * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
8288 be an EXPR_LIST (but not null, which other code doesn't allow).
8289 (note_stores): Properly handle PARALLEL in SET.
8290 Recursively call for top-level PARALLEL.
8291 * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
8292 * sched-rgn.c (check_live_1, update_live_1): Likewise.
8293
8eeb855e
RK
8294 * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
8295
6fe349a9
NB
82962001-01-18 Neil Booth <neil@daikokuya.demon.co.uk>
8297
a42a5f59
ZW
8298 * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
8299 not pfile->skipping (== 0).
6fe349a9 8300
988144ce
NC
83012001-01-17 Nick Clifton <nickc@redhat.com>
8302
8303 * config/rs6000/rs6000.c: Add prototypes for {init|free}_
8304 machine_status.
8305
15d3a111
JW
83062001-01-17 Jim Wilson <wilson@redhat.com>
8307
8308 * invoke.texi (IA-64 options): Improve.
8309
2bab2366
TT
83102001-01-17 Tom Tromey <tromey@redhat.com>
8311
8312 * invoke.texi (Optimize Options): Use `{}' to around @samp
8313 argument.
8314
454d0cc7
AH
83152001-01-17 Aldy Hernandez <aldyh@redhat.com>
8316
a42a5f59 8317 * invoke.texi (-fno-guess-branch-probability): New option.
454d0cc7 8318
c7be4f66
RK
8319Wed Jan 17 13:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8320
8321 * combine.c (try_combine): Don't set i3_subst_into_i2 for
8322 case of making new double-word constant.
8323 Revert last change: instead just test i3_subst_into_i2.
8324
5efdd890
JJ
83252001-01-17 Jakub Jelinek <jakub@redhat.com>
8326
8327 * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
d70401eb 8328 Use q constraints instead of r.
5efdd890 8329
5dfcd8e1
AM
8330Tue Jan 16 22:23:04 2001 Alan Modra (alan@linuxcare.com.au)
8331
8332 * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
8333 (machine_function): Define.
8334 (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
8335 * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
8336 pa_free_machine_status): New functions.
8337 (override_options): Set {init,mark,free}_machine_status to above.
8338 (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
8339 PIC_OFFSET_TABLE_REGNUM_SAVED.
8340 * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
8341 PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
8342 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
8343 references to PIC_OFFSET_TABLE_REGNUM_SAVED.
8344 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8345
ce3b8848
DD
83462001-01-15 DJ Delorie <dj@redhat.com>
8347
8348 * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
8349 (cpp.1): Ditto.
8350 (gcc.1): Ditto.
8351
6953fdb4
RK
8352Tue Jan 16 17:20:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8353
50e9b3f1
RK
8354 * flow.c (propagate_on_insn): Make trying to delete a prologue
8355 or epilogue insn an ICE, not a warning. Allow doing this if
8356 the current function returns with stack pointer depressed.
8357
6953fdb4
RK
8358 * combine.c (try_combine): If i3_subst_into_i2, properly check for
8359 I3 having more than one SET.
8360
aebf2462
JW
83612001-01-16 Jim Wilson <wilson@redhat.com>
8362
df6194d4
JW
8363 * invoke.texi: Document IA-64 options.
8364
aebf2462
JW
8365 * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
8366 (fixup_errata): Delete TARGET_A_STEP use.
8367 * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
8368 (TARGET_SWITCHES): Delete -ma-step option.
8369 * config/ia64/ia64.md (all FP patterns): Delete %B0.
8370 (movqicc_astep, movqi_internal_astep, movhicc_astep,
8371 movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
8372 movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
8373 movdfcc_astep, movdf_internal_astep, movtfcc_astep,
8374 movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
8375 Delete.
8376 (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
8377 movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
8378 cmovsi_internal): Delete ! TARGET_A_STEP check.
a42a5f59 8379
aebb127a
GP
83802001-01-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8381
8382 * gcc.texi (Bug Lists): Do not mention newsgroups nor the
8383 possibility to report bugs via postal mail. Change a URL and
8384 merge in a nearly duplicate statement...
8385 (Bug Reporting): ...from here.
8386 (Service): Refer to the Bug Reporting section instead of
8387 duplicating an URL.
8388 (Contributing): Remove trivial explanations concerning snapshots.
8389
95f4ac8b
AM
83902001-01-16 Alan Modra <alan@linuxcare.com.au>
8391
a42a5f59 8392 * cppmain.c (general_init): Don't use ANSI prototype.
95f4ac8b 8393
c32ee81e
TT
83942001-01-16 Tom Tromey <tromey@redhat.com>
8395
8396 * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
8397
2c873473
RH
83982001-01-16 Richard Henderson <rth@redhat.com>
8399
8400 * config/i386/i386.h: Fix comment typo.
8401 * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
8402 (ashr+compare patterns): Match CCGOCmode not CCNOmode.
8403
76e5b312
PE
84042001-01-16 Phil Edwards <pme@sources.redhat.com>
8405
8406 * gcc.c: Revert previous -fsyntax-only-related change; move
20f9202d 8407 to cp/g++spec.c.
76e5b312 8408
b62d22a2
JJ
84092001-01-16 Jakub Jelinek <jakub@redhat.com>
8410
8411 * config/i386/i386.c (fcmov_comparison_operator): Only initialize
8412 inmode after checking GET_CODE (op).
8413
0875baa0
RH
84142001-01-16 Richard Henderson <rth@redhat.com>
8415
8416 * flow.c (struct propagate_block_info): Add mem_set_list_len.
8417 (MAX_MEM_SET_LIST_LEN): New.
8418 (propagate_one_insn): Update mem_set_list_len.
8419 (invalidate_mems_from_autoinc): Likewise.
8420 (invalidate_mems_from_set): Likewise.
8421 (mark_used_regs): Likewise.
8422 (init_propagate_block_info): Likewise. Stop collecting memories
8423 when we reach MAX_MEM_SET_LIST_LEN.
8424 (mark_set_1): Likewise.
8425
c55fa4d6
RH
84262001-01-16 Richard Henderson <rth@redhat.com>
8427
8428 * unroll.c (precondition_loop_p): Fail if no iteration
8429 variable found.
8430
6488ac06
PE
84312001-01-16 Phil Edwards <pme@sources.redhat.com>
8432
8433 * gcc.c: When -fsyntax-only is given, do not complain about
20f9202d 8434 unused libraries.
6488ac06 8435
4cf12e7e
RH
84362001-01-15 Richard Henderson <rth@redhat.com>
8437
8438 * config/i386/i386.c (asm_output_function_prefix): Remove.
8439 (ix86_asm_file_end): New.
8440 (load_pic_register): Generate pic_label_name into a
8441 staticly allocated buffer.
8442 * config/i386/i386-protos.h: Update.
8443 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
8444 (ASM_FILE_END): New.
8445 * config/i386/i386afe.h: New file.
8446 * config.gcc (i?86-*-elf) [tm_file]: Use it.
8447 (i?86-*-{freebsd,linux*,moss*}): Likewise.
8448 * config/elfos.h (ASM_FILE_END): Undef before redefinition.
8449 * config/i386/cygwin.h (ASM_FILE_END): Likewise.
8450 * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
8451 * config/i386/sco5.h (ASM_FILE_END): Likewise.
8452 * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
8453
3f896fc2
JM
84542001-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
8455
ad3b5aff
JM
8456 * Makefile.in (install-man): Remove explicit dependency on
8457 $(srcdir)/gcc.1.
8458
3f896fc2
JM
8459 * configure.in, configure: Revert previous patch requiring perl
8460 5.6.0.
8461
3ff51205
AH
84622001-01-12 Aldy Hernandez <aldyh@redhat.com>
8463
8464 * toplev.c (flag_guess_branch_prob): New.
8465 (f_options): Add guess-branch-probability option.
8466 (rest_of_decl_compilation): Only estimate branch probability if
8467 flag set.
8468 (main): set flag_guess_branch_prob.
8469
8470 * flags.h (flag_guess_branch_prob): New.
8471
b8dea7e0
DD
84722001-01-15 DJ Delorie <dj@redhat.com>
8473
8474 * gcc.texi (Makefile): Add documentation for Makefile targets.
8475
c1163e75
PB
84762001-01-15 Philip Blundell <philb@gnu.org>
8477
8478 * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
8479 (is_pic): Delete.
8480 * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
8481 (is_pic): Delete declaration.
3cf96b52 8482 * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
c1163e75 8483 (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
3cf96b52 8484 * config/arm/arm.md (builtin_setjmp_receiver): New.
c1163e75 8485
9b598fa0
RE
84862001-01-15 Richard Earnshaw <rearnsha@arm.com>
8487
8488 * arm.c (use_return_insn): Don't try to determine the function type
8489 until after reload has completed.
8490 (arm_output_epilogue): Don't adjust the sp value recovered from the
8491 stack.
8492 (emit_multi_reg_push): Don't record dwarf information for the pc.
8493 * arm.md (eh_epilogue): The function type may have changed, so it
8494 needs to be recalculated.
a42a5f59 8495 * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete. Can now use dwarf2
9b598fa0
RE
8496 unwind tables on arm/netbsd.
8497
6c98269c
RE
84982001-01-15 Richard Earnshaw <rearnsha@arm.com>
8499
8500 * arm.md (cbranchsi4): Correct calculation of branch ranges.
8501 (negated_cbranchsi4): Likewise.
8502
fa13446b
RE
85032001-01-15 Richard Earnshaw <rearnsha@arm.com>
8504
8505 * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
8506 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
b3c5b2be
RE
8507 (ASM_SPEC): Call subtarget_extra_asm_spec. Don't
8508 pass -mapcs-* options to assembler.
fa13446b
RE
8509 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
8510 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
8511 (ASM_SPEC): Call subtarget_extra_asm_spec.
8512
77ebd435
AJ
85132001-01-15 Andreas Jaeger <aj@suse.de>
8514
a42a5f59 8515 * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
fa13446b 8516 warnings.
77ebd435
AJ
8517 (ix86_expand_builtin): Likewise.
8518
8519 * gencodes.c (output_predicate_decls): Make i size_t to avoid
8520 warning about comparison between signed and unsigned.
8521
998a298e
GK
85222001-01-14 Geoffrey Keating <geoffk@redhat.com>
8523
8524 * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
8525
1b26cad7
RB
85262001-01-14 Ralf Baechle <ralf@gnu.org>
8527
a42a5f59
ZW
8528 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
8529 SUBTARGET_CPP_SPEC apropriatly.
1b26cad7 8530
e3406b2a
MM
85312001-01-12 Mark Mitchell <mark@codesourcery.com>
8532
8533 * varasm.c (make_decl_rtl): Fix typo in last change.
8534
ea4f1fce
JO
85352001-01-14 Jeffrey Oldham <oldham@codesourcery.com>
8536
8537 * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
8538 linker supports the init_priority C++ attribute.
8539 * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
8540 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
8541 linker does not support init_priority C++ attribute.
8542
3e854cf7
R
8543Sun Jan 14 22:31:30 2001 J"orn Rennecke <amylaar@redhat.com>
8544
8545 * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
8546
400023a3
NB
85472001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
8548
a42a5f59
ZW
8549 * c-parse.in (finish_parse): Add comment about cpp_destroy.
8550 * cp/lex.c (finish_parse): Similarly.
8551 * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
8552 Return the number of errors encountered.
8553 * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
8554 * cppmain.c (main): Don't call cpp_destroy.
400023a3 8555
150d3c00
JM
85562001-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
8557
8558 * configure.in: Require at least perl 5.6.0 to regenerate
8559 manpages.
8560 * configure: Regenerate.
8561
521b9224
RH
85622001-01-14 Richard Henderson <rth@redhat.com>
8563
8564 * genrecog.c (DT_veclen_ge): New.
8565 (add_to_sequence) [MATCH_PARALLEL]: Generate one.
8566 (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
8567 (nodes_identical_1): Handle DT_veclen_ge.
8568 (write_cond, debug_decision_2): Likewise.
8569
d6c5a763
RE
85702001-01-14 Richard Earnshaw <rearnsha@arm.com>
8571
8572 * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete. Replace
8573 with ...
8574 (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
8575
6de8f7fc
NB
85762001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
8577
a42a5f59
ZW
8578 * cppmain.c (do_preprocessing): New function; most of the old
8579 main.
8580 (main): Call it to do most of the work.
8581 (cb): Move from global scope to set_callbacks ().
8582 (setup_callbacks): Get the callback pointer.
8583 (general_init, printer_init): Clean up code and comments.
6de8f7fc 8584
17879734
RE
85852001-01-14 Richard Earnshaw <rearnsha@arm.com>
8586
1b26cad7 8587 * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
17879734
RE
8588 compiling PIC.
8589
c009a745
KH
85902001-01-14 Kazu Hirata <kazu@hxi.com>
8591
8592 * config/h8300/h8300.c (get_shift_alg): Update comments.
8593
bd0f0717
RK
8594Sun Jan 14 06:20:49 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8595
8596 * ggc-page.c (alloc_annon): Call perror and correctly call exit.
8597 (alloc_page, ggc_alloc): Add casts to remove warnings.
8598
aa6683f7
GK
85992001-01-14 Geoffrey Keating <geoffk@redhat.com>
8600
8601 * combine.c (simplify_comparison): Don't change `code' when
8602 can't reverse comparison.
8603
fce7e199
RH
86042001-01-14 Richard Henderson <rth@redhat.com>
8605
8606 * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
8607 update all call sites. Return true for all non-label constants.
8608
a1b8572c
JH
8609Sun Jan 14 10:09:48 MET 2001 Jan hubicka <jh@suse.cz>
8610
8611 * i386.c (ix86_expand_compare): Add bypass_test and second_test
8612 parameters.
8613 (ix86_expand_branch): Update.
8614 (ix86_expand_setcc): Update to handle multiple test conditions.
8615 (expand_int_movcc): Likewise.
8616 (expand_fp_movcc): Likewise.
8617 * i386-protos.h (ix86_expand_compare): New.
8618 * i386.md (andqi_?_slp, orqi_?_slp): New.
8619 (conditional trap expander): Update call to ix86_expand_compare.
8620
17ad4377
RH
86212001-01-14 Richard Henderson <rth@redhat.com>
8622
8623 * config/vax/vax.md: Use nonimmediate_operand instead of
8624 general_operand in destinations.
8625
5b9b177a
RH
8626 * config/vax/vax.md (indirect_jump): Use register_operand.
8627
264ddbaa
RH
8628 * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
8629 * config/vax/vax.md (call_pop): Turn into an expander.
8630 (call_value_pop): Likewise.
8631 (call, call_value): New.
8632
8752c357
AJ
86332001-01-14 Andreas Jaeger <aj@suse.de>
8634
8635 * config/i386/i386.c (ix86_split_fp_branch): Remove unused
8636 variables.
8637 (ix86_fp_compare_mode): Add unused attribute.
8638 (ix86_expand_fp_movcc): Remove unused variable.
8639 (ix86_expand_builtin): Make fcode unsigned.
8640
8641 * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
8642 (expand_expr): Add cast to avoid signed warning.
8643 (store_field): Likewise.
8644 (store_constructor_field): Likewise.
8645 (store_constructor): Likewise.
8646 (store_expr): Likewise.
8647 (clear_storage): Likewise.
8648 (emit_group_store): Likewise.
8649 (emit_group_load): Likewise.
8650
1312c143
JM
86512001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
8652
8653 * c-common.c: Move format checking code to ...
8654 * c-format.c: ... here. New file. Reorder some functions and
8655 declarations.
8656 (decl_handle_format_attribute, decl_handle_format_arg_attribute):
8657 New functions.
8658 * c-common.h (decl_handle_format_attribute,
8659 decl_handle_format_arg_attribute): Declare.
8660 * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
8661 (c-common.o): Adjust dependencies.
8662 (c-format.o): New list of dependencies.
8663
9e2adb2a
JJ
86642001-01-13 Jakub Jelinek <jakub@redhat.com>
8665
8666 * unroll.c (loop_iterations): If we cannot prove iteration variable
8667 is set once in each iteration, punt.
8668
63eaee71
DC
8669Sun Jan 14 00:23:15 2001 Denis Chertykov <denisc@overta.ru>
8670
8671 * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
8672 (*strlenhi): Remove clobber (which was buggy) of output address.
8673
4bc1997b
JM
86742001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
8675
8676 * Makefile.in (generated-manpages): Add gcc.1
8677 ($(srcdir)/gcc.1): New target.
8678 (maintainer-clean): Delete $(srcdir)/gcc.1.
8679 * gcc.texi: Add macros @gccoptlist and @gol.
8680 * invoke.texi: Include option summary in manpage. Mark up option
8681 summary with @gccoptlist and @gol. Use @r in one place where
8682 appropriate.
8683 * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
8684 * gcc.1: Generate from invoke.texi.
8685
130fadbb
RH
86862001-01-13 Richard Henderson <rth@redhat.com>
8687
8688 * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
8689 (struct page_entry): Add group member.
8690 (struct page_group): New.
8691 (struct globals): Add page_groups member.
8692 (alloc_anon): Only define for using mmap; remove valloc call.
8693 (page_group_index): New.
8694 (set_page_group_in_use): New.
8695 (clear_page_group_in_use): New.
8696 (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
8697 (free_page, release_pages): Likewise.
8698 * configure.in (with-gc): Default to ggc-page always.
8699
086fef9e
AO
87002001-01-13 Alexandre Oliva <aoliva@redhat.com>
8701
8702 * reload1.c (replace_pseudos_in_call_usage): Use
8703 reg_equiv_constant and reg_equiv_address, and don't try
8704 regno_reg_rtx first.
8705
ca79429a
RH
87062001-01-13 Richard Henderson <rth@redhat.com>
8707
8708 * ggc-page.c (alloc_page): Round up allocation size to one page.
8709 Set e->order on extra pages.
8710
2cec75a1
RH
87112001-01-13 Richard Henderson <rth@redhat.com>
8712
8713 * genrecog.c (nodes_identical): Expand commentary.
8714 (write_switch): Watch out for identical nodes.
8715
d6d52dd6
NB
87162001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
8717
a42a5f59
ZW
8718 * cppfiles.c (_cpp_fake_include): New function.
8719 * cpphash.h (_cpp_fake_include): New.
8720 * cpplib.c (do_line): Call _cpp_fake_include when entering
8721 header files in preprocessed input.
8722 * cppmain.c (cb_pragma_implementation): Remove handling.
d6d52dd6
NB
8723 (setup_callbacks): Don't register pragmas.
8724
ccd96f0a
NB
87252001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
8726
8727 * extend.texi: Udate for CPP.
8728
174fa2c4
AJ
87292001-01-13 Andreas Jaeger <aj@suse.de>
8730
8731 * reload1.c: Add prototype for replace_pseudos_in_call_usage.
8732
8733 * regmove.c: Add prototype for replace_in_call_usage.
8734
8121d2c3
NB
87352001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
8736
a42a5f59
ZW
8737 * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
8738 struct cpp_chunk, struct htab, struct toklist,
8739 struct cpp_context, CPP_STACK_MAX, struct lexer_state,
8740 struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
8741 CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
8742 ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
8743 (struct macro_args): Delete.
8744 * cpphash.h: See above.
8121d2c3 8745
620ef26c
NB
87462001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
8747
a42a5f59
ZW
8748 * cppmain.c (struct printer): Remove no_line_dirs.
8749 (options, cb): New.
8750 (main, setup_callbacks, scan_buffer, printer_init, cb_define)
8751 : Use options rather than CPP_OPTION.
8752 (setup_callbacks): Use cb rather than pfile->cb.
8753 (main): No need to check for a buffer. Use cpp_errors.
8754 (printer_init): Don't set no_line_dirs.
8755 (maybe_print_line): Use options not no_line_dirs.
8756 (cb_file_change): Don't call print_line if -P.
620ef26c 8757
b61c5ed0
NB
87582001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
8759
a42a5f59
ZW
8760 * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
8761 callbacks.
8762 * c-parse.in (finish_parse): Use cpp_errors.
8763 (__yylex): Use return value of cpp_pop_buffer.
8764 * cp/lex.c (finish_parse): Use cpp_errors.
8765 * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
b61c5ed0 8766
f14269a0
DC
8767Sat Jan 13 16:57:40 2001 Denis Chertykov <denisc@overta.ru>
8768
8769 * README.AVR: URLs corrected.
8770
757e6639
RK
8771Sat Jan 13 07:30:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8772
8773 * c-decl.c (start_function): Don't warn if old prototype is builtin
8774 that's not in C's namespace.
8775 * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
8776 (_bb): Add prototype for ctime.
8777 * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
8778
9e7adcb3
JH
8779Sat Jan 13 09:53:32 MET 2001 Jan Hubicka <jh@suse.cz>
8780
8781 * i386.c (ix86_fp_comparison_arithmetics_cost,
8782 ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
8783 ix86_fp_comparison_cost): New functions.
8784 (ix86_expand_fp_compare): Use the costs to choose best bethod; add
8785 two new parameters SECOND_TEST and BYPASS_TEST; allow generating
8786 two-branch sequences; make static.
8787 (ix86_use_fcomi_compare): Do decision according to the costs.
8788 (split_fp_branch): New.
8789 * i386.md (compare-and-branch patterns): Use split_fp_branch.
8790 * i386-protos.h (ix86_expand_fp_compare): Remove
8791 (ix86_split_fp_branch): Declare.
8792
8793 * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
8794 and ix86_comparison_operator.
8795
8796 * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
8797 to make it cheaper.
8798
8799 * i386.c (put_condition_code): Output properly the unordered/ordered
8800 compares in fp case.
8801 (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
8802
8803 * tm.texi (REVERSE_CONDITION): Document.
8804 * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
8805 in -ffast-math mode.
8806 * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
8807
35ef2880
AO
88082001-01-13 Alexandre Oliva <aoliva@redhat.com>
8809
89d4bc35
AO
8810 * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
8811
b90dbca6
AO
8812 * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
8813 optimized away.
8814
35ef2880
AO
8815 * config/sh/sh.c (mova_p): Fix test for mova_const.
8816
f85c14ee
NB
88172001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
8818
a42a5f59
ZW
8819 * fix-header.c (read_scan_file): Use cpp_get_callbacks and
8820 cpp_get_options rather than dereferencing pfile and using
8821 CPP_OPTION.
8822 * scan-decls.c (scan_decls): Use return value of
8823 cpp_pop_buffer rather than CPP_BUFFER.
174fa2c4 8824
7e96d768
NB
88252001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
8826
a42a5f59
ZW
8827 * cppinit.c (cpp_handle_option): help_only is now part of the
8828 cpp_options structure.
8829 * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
8830 cpp_set_callbacks): New functions.
8831 * cpplib.h (cpp_callbacks): Break out as a named structure.
8832 (cpp_options): Move help_only here from cpp_reader.
8833 (CPP_FATAL_ERRORS): Update to use cpp_errors.
8834 (cpp_errors, cpp_get_options, cpp_get_callbacks,
8835 cpp_set_callbacks): New prototypes.
8836 * cppmain.c (main): Update for help_only.
7e96d768 8837
23de1fbf
JM
88382001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
8839
8840 * Makefile.in (info, maintainer-clean, install-info, uninstall):
8841 Also build and remove and install and uninstall c-tree.info and
8842 cppinternals.info.
8843 ($(srcdir)/gcc.info): Add dependency on contrib.texi.
8844 ($(srcdir)/cppinternals.info): New target.
8845 * c-tree.texi: Change file name used when makeinfo used without -o
8846 from ir.info to c-tree.info. Add info directory entry.
8847 * cppinternals.texi: Add info directory entry.
8848 * .cvsignore: Update.
8849
8b6a5902
JJ
88502001-01-12 Jakub Jelinek <jakub@redhat.com>
8851
8852 * c-typeck.c (store_init_value): Don't require constant initializer
8853 elements with -pedantic -std=c99.
8854 (digest_init): Change error about non-constant initializer elements
8855 into pedwarn.
8856 (constructor_range_end): Remove.
8857 (constructor_incremental, designator_depth,
8858 designator_errorneous): New variables.
8859 (struct constructor_stack): Remove range_end, add incremental.
8860 (struct constructor_range_stack, constructor_range_stack): New.
8861 (struct initializer_stack): Add constructor_range_stack.
8862 (finish_init): Set it.
8863 (start_init): Likewise. require_constant_elements for non-static
8864 trees only if not flag_isoc99.
8865 (really_start_incremental_init): Remove constructor_range_end, add
8866 constructor_incremental.
8867 (pop_init_level): Likewise.
8868 (push_init_level): Likewise. If implicit and the subobject had some
8869 value set already, preinitialize the level with it.
8870 Warn about missing braces only if not pushing due to designators.
8871 (set_designator, push_range_stack): New functions.
8872 (set_init_label): Use them.
8873 (set_init_index): Likewise. Remove constructor_range_end.
8874 Error if designator index is outside of array bounds.
8875 (add_pending_init): Compare values of purpose index trees, not the
8876 trees themselves. Allow overwriting of already initialized element.
8877 Issue a warning if it had side-effects.
8878 (set_nonincremental_init, set_nonincremental_init_from_string): New
8879 functions.
8880 (pending_init_member): Rename to...
8881 (find_init_member): ...this function. Call set_nonincremental_init
8882 if necessary. Compare values of purpose index trees, not the trees
8883 themselves. Return the actual value, not just non-zero if something
8884 is found.
8885 (output_init_element): Remove checks for duplicates.
8886 If field has zero size, only check the initializer for correctness.
8887 Call set_nonincremental_init if necessary. Push RECORD/ARRAY into AVL
8888 if constructor_incremental is zero. Change error about initializers
8889 not computable at load time into pedwarn.
8890 (output_pending_init_elements): Compare bit positions, not
8891 FIELD_DECLs to take into account zero-sized fields.
8892 (process_init_element): Use constructor_range_stack to fill all
8893 ranges in the designator lists from current level up.
8894 * extend.texi: Update documentation for labeled elements.
8895
7dd232a8
AO
88962001-01-12 Alexandre Oliva <aoliva@redhat.com>
8897
f474c6f8
AO
8898 * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
8899 to function usage for arguments passed by reference. Optimize
8900 callee-copied arguments.
ec7c0481 8901 * regmove.c (replace_in_call_usage): New function.
f474c6f8
AO
8902 (fixup_match_1): Call it.
8903 * cse.c (cse_insn): Canonicalize registers in function usage.
8904 * reload1.c (replace_pseudos_in_call_usage): New function.
8905 (reload): Call it.
8906
7dd232a8
AO
8907 * Makefile.in: Reverted yesterday's wrong patch. Installed the
8908 right version.
8909
d0285326
JJ
89102001-01-12 Jakub Jelinek <jakub@redhat.com>
8911
8912 * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
8913 not XEXP (tmp, 0).
8914
770861f3
DD
89152001-01-12 DJ Delorie <dj@redhat.com>
8916
8917 * Makefile.in (bootstrap): rename stages to be mnemonic. Add
8918 restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
8919 targets.
8920
5490d604
JM
89212001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
8922
8923 * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
8924 tm.texi: Consistently refer to ISO C instead of ANSI C. Refer to
8925 -std options alongside references to -ansi. Update some
8926 documentation for C99.
8927 * cpp.1: Regenerate.
8928
d24b8f53
AJ
89292001-01-12 Andreas Jaeger <aj@suse.de>
8930
14052b68
AJ
8931 * haifa-sched.c (restore_line_notes): Remove argument block B
8932 since it's unused.
8933 * sched-ebb.c (schedule_ebb): Change caller.
8934 * sched-rgn.c (schedule_region): Likewise.
8935 * sched-int.h (restore_line_notes): Adjust prototype.
8936
d24b8f53
AJ
8937 * loop.h: Remove wrong declaration of doloop_condition_get.
8938
e6f3b89d
PE
89392001-01-12 Phil Edwards <pme@sources.redhat.com>
8940
8941 * extend.texi: Move C++-extension-related node from the C section
20f9202d 8942 into the C++ section.
e6f3b89d 8943
89aed483
JM
89442001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
8945
8946 * extend.texi: Refer to an array of pointers to functions instead
8947 of one of functions.
8948
c3ffea50
AJ
8949Fri Jan 12 12:08:12 MET 2001 Andreas Jaeger <aj@suse.de>
8950 Jan Hubicka <jh@suse.cz>
8951
d24b8f53 8952 * combine.c (reversed_comparison): Fix typo in last patch.
c3ffea50 8953 Check X for NULL.
d24b8f53
AJ
8954 (combine_reversed_comparison_code): Make static to follow
8955 prototype declaration.
c3ffea50 8956
159227d5
PE
89572001-01-12 Phil Edwards <pme@sources.redhat.com>
8958
8959 * install.texi: Remove misplaced duplicate entry.
8960
ac70ce21
UD
89612001-01-11 Ulrich Drepper <drepper@redhat.com>
8962
8963 * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
8964
b660f82f
JW
8965Thu Jan 11 17:06:30 EST 2001 John Wehle (john@feith.com)
8966
8967 * final.c: (leaf_function_p): Fix typo.
8968
825b6926
ZW
89692001-01-11 Zack Weinberg <zack@wolery.stanford.edu>
8970
8971 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
8972 Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
8973 which you have.
8974 (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
8975 * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
8976 mmap_anon, and valloc is available.
8977 * ggc-page.c: Restructure ifdef logic to match new autoconf
8978 spec. Don't throw away the test page in init_ggc.
8979
8980 * configure, config.in: Regenerate.
8981
099f0f3f
MH
89822001-01-12 Michael Hayes <mhayes@redhat.com>
8983
8984 * loop.h (total_biv_increment): Constify iv_class pointer.
8985 (struct induction): Replace `mem_mode' with `mem' rtx.
8986 * unroll.c (total_biv_increment): Constify iv_class pointer.
8987 * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
8988 (find_mem_givs, combine_givs_p): Likewise.
8989 (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
8990
69e905c8
TP
89912001-01-10 Thomas Pfaff <tpfaff@gmx.net>
8992
8993 * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
8994 LastError.
8995 (__gthread_getspecific): Ditto.
8996
9a915772
JH
8997Fri Jan 12 00:04:00 MET 2001 Jan Hubicka <jh@suse.cz>
8998
8999 * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
9000 put_condition_code): Convert fp comparison codes to integer
9001 before handling.
9002 (ix86_expand_fp_compare): Postnote the fp comparison code converison
9003 to final.
9004
9005 * i386.c (unsigned_comparison, no_comparison_operator): Kill.
9006 * i386-protos.h (no_comparison_operator): Kill.
9007
9008 * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
9009
9010 * combine.c (REVERSIBLE_CC_MODE): Remove.
9011 (reversible_comparison_p): Remove.
9012 (combine_reversed_comparison_code): New.
9013 (reversed_comparison): New.
9014 (combine_simplify_rtx): Use
9015 combine_reversed_comparison_code/reversed_comparison instead
9016 of reversible_comparison_p.
9017 (simplify_if_then_else): Likewise.
9018 (simplify_set): Likewise.
9019 (simplify_logical): Likewise.
9020 (if_then_else_cond): Likewise.
9021 (known_cond): Likewise.
9022 (simplify_comparison): Likewise.
9023
bbc7fda9
AL
90242001-01-11 Alan Lehotsky <lehotsky@tiac.net>
9025
9026 * builtins.c (std_expand_builtin_va_start): Handle varargs when
9027 sizeof (int) is larger than sizeof(__word__).
825b6926 9028
a4299d07
NB
90292001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
9030
825b6926 9031 * cppinit.c (do_includes): Fix typo.
a4299d07 9032
76028b1f
SC
90332001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9034
9035 * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
9036 in S_REGS does not occur because not all sources are possible
9037 when a S_REGS is a destination (sometimes needs a clobber).
9038 (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
9039 (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
9040 (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
9041 (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
9042 (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
9043 (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
9044 (lshrdi_const1, lshrsi3_const16): Likewise.
9045 (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
9046 (*movhi_68hc12, *movqi_68hc12): Likewise.
825b6926 9047 (movstrictqi): Make sure reloading in D_REGS as a destination
76028b1f
SC
9048 does not happen.
9049
d3956766
NB
90502001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
9051
825b6926 9052 * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
d3956766 9053
05e81724
NB
90542001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
9055
825b6926
ZW
9056 * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
9057 -D, -U and -A, and don't initialize the builtins.
a4299d07 9058 (do_includes): Error if -include or -imacros with -fpreprocessed.
825b6926
ZW
9059 * cppmain.c (cb_define, cb_undef): Unconditionally process
9060 the callback.
9061 * tradcpp.c (main): Fix typo.
05e81724
NB
9062
90632000-01-11 Mark Elbrecht <snowball3@bigfoot.com>
825b6926 9064
20f9202d
DB
9065 * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
9066 (read_name_map): Use IS_ABSOLUTE_PATH.
9067 * tradcpp.c (get_filename): Likewise.
05e81724 9068
76d06edc
SC
90692001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9070
9071 * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
9072 (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
9073 (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
9074 (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
9075 (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
9076 (cmphi_z_used): Don't use '@' for the output.
9077 (tstqi_z_used): Likewise.
9078 (cmpqi_z_used): Likewise.
9079 (one_cmplsi2): Likewise.
9080
1594c6bc
AO
90812001-01-11 Alexandre Oliva <aoliva@redhat.com>
9082
9083 * config/sh/sh.c (barrier_align): Recognize branch around far
9084 branch and redundant insn.
9085
7da723ef
NB
90862001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
9087
825b6926 9088 * invoke.texi: Restore documentation of the drivers' switches -MD
7da723ef
NB
9089 and -MMD.
9090
a738a85c
AO
90912001-01-11 Alexandre Oliva <aoliva@redhat.com>
9092
f6f1dc95
AO
9093 * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
9094
a738a85c
AO
9095 * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
9096 check-objc//%): Support parallel testing of multilibs.
9097 (TESTSUITEDIR): Set to testsuite by default, but override for
9098 parallel testing.
9099 (check-gcc, check-g++, check-g77, check-objc): Enter
9100 $(TESTSUITEDIR).
9101
fb6754f0
BS
91022001-01-11 Bernd Schmidt <bernds@redhat.com>
9103
9104 * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
9105 * sched-deps.c (deps_may_trap_p): Likewise.
9106 * basic-block.h: Remove a comment.
9107 * flow.c (PROP_POSTRELOAD): Remove.
9108 (update_life_info): Don't add it to prop_flags.
9109 (mark_set_1): Lose the code that was enabled by it.
9110
0ab409ed
MH
91112001-01-11 Michael Hayes <mhayes@redhat.com>
9112
9113 * flow.c (flow_call_edges_add): New.
9114 * basic_block.h (flow_call_edges_add): New.
9115
ada6635f
R
91162001-01-11 J"orn Rennecke <amylaar@redhat.com>
9117
9118 * reload1.c (move2add_note_store): Update reg_set_luid even if
9119 base reg remains the same.
9120
73d771f0
NC
91212001-01-10 Nick Clifton <nickc@redhat.com>
9122
9123 * config/d30v/d30v.c (d30v_init_machine_status): Initialise
9124 machine_function structure to zero.
9125 Add prototypes for machine_status functions.
9126
cbd5937a
MM
91272001-01-10 Mark Mitchell <mark@codesourcery.com>
9128
9129 * c-common.h (CTI_VOID_LIST): Remove.
9130 (void_list_node): Likewise.
9131 * tree.h (TI_VOID_LIST_NODE): New enumeral.
9132 (void_list_node): New macro.
9133 * config/arm/arm.c (arm_init_builtins): Use void_list_node.
9134 * config/i386/i386.c (ix86_init_builtins): Likewise.
9135 * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
9136
2f638f96
NB
91372001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
9138
825b6926
ZW
9139 * Makefile.in (tradcpp0): Depend on mkdeps.h. Link mkdeps.o
9140 * cppinit.c (cpp_start_read): Update comment, remove unneeded
9141 if statement.
9142 * tradcpp.c: Include mkdeps.h.
9143 (deps, print_deps_phony_targets, deps_append, output_deps,
9144 init_dependency_output, output_deps): New.
9145 (deps_buffer, deps_allocated_size, deps_size, deps_column,
9146 deps_output): Delete.
9147 (print_deps_missing_files): Rename deps_missing_files.
9148 (inhibit_output): Make global.
9149 (main): Delete inhibit_output, deps_stream, deps_target.
9150 Use mkdeps functionality in the same way as cpplib. Remove
9151 -g3 handling. Handle -MF, -MP, -MQ, -MT. Update handling of
9152 -M and -MM. Remove old handling of deps via deps_out, and
9153 old reading of environment variables.
9154 (get_filename): Update to use deps_add_dep.
2f638f96 9155
6c418184
MM
91562001-01-10 Mark Mitchell <mark@codesourcery.com>
9157
9158 * output.h (make_function_rtl): Remove prototype.
9159 (make_decl_rtl): Likewise.
9160 * varasm.c (make_function_rtl): Remove.
9161 (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
9162 than from a third parameter.
9163 * tree.h (make_decl_rtl): Remove last parameter.
9164 * c-decl.c (builtin_function): Remove last argument in call to
9165 make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
9166 (start_function): Likewise.
9167 * except.c (call_get_eh_context): Likewise.
9168 * expr.c (emit_block_move): Likewise.
9169 (clear_storage): Likewise.
9170 * profile.c (output_func_start_profiler): Likewise.
9171 * toplev.c (rest_of_decl_compilation): Likewise.
9172 * objc/objc-act.c (create_builtin_decl): Likewise.
9173 (synth_module_prologue): Likewise.
9174 (generate_static_reference): Likewise.
9175 (build_selector_reference_decl): Likewise.
9176 (build_class_reference_decl): Likewise.
9177 (build_objc_string_decl): Likewise.
9178 (build_protocol_reference): Likewise.
9179
4621c640
RH
91802001-01-10 Richard Henderson <rth@redhat.com>
9181
9182 * hwint.h: Revert yesterday's change.
9183
414c4dc4
NC
91842001-01-10 Nick Clifton <nickc@redhat.com>
9185
9186 * function.h (save_machine_status): Delete.
9187 (restore_machine_status): Delete.
9188 Amend comment describing {init|mark|free}_machine_status.
9189
9190 * function.c (save_machine_status): Delete.
9191 (restore_machine_status): Delete.
9192 Amend comment describing {init|mark|free}_machine_status.
9193 (push_function_context_to): Remove invocation of
9194 save_machine_status.
9195 (pop_function_context_from): Remove invocation of
9196 restore_machine_status.
9197
9198 * emit-rtl.c (init_emit_once): Amend comment describing
825b6926 9199 {init|mark|free}_machine_status.
414c4dc4
NC
9200
9201 * tm.texi (Per-Function Data): New node. Describe the
9202 INIT_EXPANDERS macro and the {init|mark|free}_machine_status
9203 function pointers.
9204
5c5d1ea0
NB
92052001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
9206
825b6926
ZW
9207 * cppinit.c (OPT_g): Remove.
9208 (cpp_handle_option): Update for removed -g3.
9209 (print_help): Update.
9210 * cpplib.h (struct cpp_options): Remove debug_output.
9211 * cppmain.c (setup_callbacks, cb_define): Update.
9212 * gcc.c (cpp_options): Translate -g3 to -dD.
5c5d1ea0 9213
d9271ccc
AH
92142001-01-10 Aldy Hernandez <aldyh@redhat.com>
9215
9216 * config/i960/i960.md: Change modifier to + on the zero_extract
825b6926 9217 pattern after the (rotate -2 reg) canonicalization pattern.
d9271ccc 9218
37b15744
RH
92192001-01-10 Richard Henderson <rth@redhat.com>
9220
9221 * config/alpha/alpha.c (alpha_free_machine_status): New.
9222 (override_options): Install it.
9223 (alpha_mark_machine_status): Verify machine non-null.
9224 * config/i386/i386.c (ix86_free_machine_status): New.
9225 (override_options): Install it.
9226 (ix86_init_machine_status): Use xcalloc.
9227 (ix86_mark_machine_status): Verify machine non-null.
9228 * config/ia64/ia64.c (ia64_free_machine_status): New.
9229 (ia64_override_options): Install it.
9230 (ia64_mark_machine_status): Verify machine non-null.
9231
87c61e2d
JL
9232Wed Jan 10 11:34:39 2001 Jeffrey A Law (law@cygnus.com)
9233
9234 * function.c (instantiate_virtual_regs): Instantiate virtual
9235 registers found in CALL_INSN_FUNCTION_USAGE.
9236
930bbdd2
JM
92372001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9238
9239 * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
9240 equivalent to -ansi in disabling -Di386.
9241
c0c102a9
JH
9242Wed Jan 10 16:38:31 MET 2001 Jan Hubicka <jh@suse.cz>
9243
9244 * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
9245 new functions.
9246 (ix86_expand_fp_compare): Make trivial use of new infrastructure.
9247
78053907
RE
92482001-01-10 Richard Earnshaw <rearnsha@arm.com>
9249
9250 * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
9251
a7537031
JM
92522001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9253
9254 * invoke.texi: Document that -fcond-mismatch isn't supported for
9255 C++.
9256
2642624b
JM
92572001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
9258
9259 * gcc.texi: Define macro gcctabopt.
9260 * invoke.texi: Add manpage sections BUGS and AUTHOR. Use
9261 @command, @env and @option in some places where appropriate. Use
9262 @gcctabopt where appropriate. Put URLs and email addresses inside
9263 @w.
9264
11972f66 92652001-01-10 Nathan Sidwell <nathan@codesourcery.com>
825b6926
ZW
9266
9267 * gcc.c (cpp_options): Set MD file name from output
9268 filename, if specified.
9269 (suffix_subst): New static variable.
9270 (do_spec): Clear it.
9271 (do_spec_1, case '.'): Handle new `%.suffix' spec.
9272 Clear it.
9273 (give_switch): Handle suffix_subst.
11972f66 9274
0a75e5c3
PE
92752001-01-10 Phil Edwards <pme@sources.redhat.com>
9276
9277 * invoke.texi: Fix another typo.
9278
9169269f
PE
92792001-01-10 Phil Edwards <pme@sources.redhat.com>
9280
9281 * invoke.texi: Fix typo.
9282
ee811cfd
NB
92832001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
9284
825b6926
ZW
9285 * c-lang.c (lang_hooks): Update.
9286 (lang_decode_option): Remove.
9287 (lang_init_options): Rename c_init_options.
9288 * toplev.c (main): Use lang_hooks for lang_init_options
9289 and lang_decode_option.
9290 * toplev.h (lang_hooks): Add 2 new hooks.
9291 * tree.h: Remove lang_init_options and lang_decode_option.
9292 * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
9293 * cp/decl2.c: Similarly.
9294 * cp/lex.c (lang_init_options): Rename cxx_init_options.
9295 (lang_hooks): Update.
9296 * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
9297 for consistency.
9298 (lang_init_options): Rename ffe_init_options.
9299 (lang_hooks): Update.
9300 (lang_decode_option): Remove.
9301 * java/lang.c (lang_init_options): Rename java_init_options.
9302 (lang_decode_option): Rename java_decode_option.
9303 (lang_hooks): Update.
9304 * objc/objc-act.c (lang_init_options): Rename objc_init_options.
9305 (lang_decode_option): Rename objc_decode_option.
9306 (lang_hooks): Update.
ee811cfd 9307
8541c24b
NC
93082001-01-09 Nick Clifton <nickc@redhat.com>
9309
9310 * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
9311 (d30v_return_addr_rtx): Delete.
9312 (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
9313 cfun->machine structure.
9314 (struct machine_function): Move to d30v.h
9315 (d30v_save_machine_status): Delete.
9316 (d30v_restore_machine_status): Delete.
9317 (d30v_init_machine_status): New Function.
9318 (d30v_mark_machine_status): New Function.
9319 (d30v_free_machine_status): New Function.
9320 (d30v_init_expanders): Use new functions.
9321 (d30v_return_addr): Use ra_rtx field in cfun->machine.
9322 (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
9323 d30v_return_addr_rtx.
9324
9325 * config/d30v/d30v.h (struct_machine): Move here.
9326 Add eh_epilogue_sp_ofs field.
9327
9328 *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
9329 field in cfun->machine structure.
9330
4d5a6f78
JDA
9331Tue Jan 9 21:34:57 2001 John David Anglin <dave@hiauly1.hia.nrc.ca>
9332
9333 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
9334 PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
9335 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
9336
ecb7e784
JL
9337Tue Jan 9 21:25:19 2001 Jeffrey A Law (law@cygnus.com)
9338
9339 * objc/lang-options.h: Remove bogus reference to
9340 Java trademark.
9341
35fb3d1f
KH
93422001-01-09 Kazu Hirata <kazu@hxi.com>
9343
9344 * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
9345 return the result.
9346
4971426b
AL
93472001-01-09 Alan Lehotsky <lehotsky@tiac.net>
9348
9349 * reload.c (find_reloads_address): Check for eliminable registers
20f9202d 9350 when substituting a constant expression for a pseudo.
825b6926 9351
10a4c7ac
JM
93522001-01-09 Joseph S. Myers <jsm28@cam.ac.uk>
9353
9354 * c-common.c (enum format_type): Add format_type_error.
9355 (decode_format_type): New function.
9356 (decl_attributes): Use it.
9357 (format_kind_info): Adjust comment.
9358
f6e0c56c
DB
93592001-01-09 David O'Brien <obrien@BSDi.com>
9360
9361 * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
9362 i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
9363 files in tm_file.
9364 * config/i386/gnu.h: Don't include required platform specific .h files,
9365 tm.h will do it instead.
9366 * config/i386/i386elf.h: Likewise.
9367 * config/i386/linux.h: Likewise.
9368 * config/i386/moss.h: Likewise.
9369 * config/mips/gnu.h: Likewise.
9370
e556ad19
FS
93712001-01-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9372
9373 * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
9374 (rs6000-ibm-aix3.[01]*): Likewise.
9375 (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
9376 (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
9377 (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
9378 (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
9379 (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
9380 (powerpc-*-eabiaix*): Likewise.
9381 (powerpc-*-eabisim*): Likewise.
9382 (powerpc-*-elf*): Likewise.
9383 (powerpc-*-eabi*): Likewise.
9384 (powerpc-*-rtems*): Likewise.
9385 (powerpc-*-linux*libc1): Likewise.
9386 (powerpc-*-linux*): Likewise.
9387 (powerpc-wrs-vxworks*): Likewise.
9388 (powerpcle-wrs-vxworks*): Likewise.
9389 (powerpcle-*-sysv*): Likewise.
9390 (powerpcle-*-elf*): Likewise.
9391 (powerpcle-*-eabisim*): Likewise.
9392 (powerpcle-*-eabi*): Likewise.
9393 (powerpcle-*-solaris2*): Likewise.
9394 * config/rs6000/aix31.h: Delete includes.
9395 * config/rs6000/aix3newas.h: Likewise.
9396 * config/rs6000/aix41.h: Likewise.
9397 * config/rs6000/aix43.h: Likewise.
9398 * config/rs6000/beos.h: Likewise.
9399 * config/rs6000/rtems.h: Likewise.
9400 * config/rs6000/sysv4.h: Likewise.
9401
9789584b
KH
94022001-01-09 Kazu Hirata <kazu@hxi.com>
9403
9404 * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
9405 Change an argument mode of machine_mode to shift_mode of
9406 shift_mode. Remove an extra error check.
9407 (emit_a_shift): Adopt to the new calling prototype of
9408 get_shift_alg.
46d00fef
KH
9409 (function_prologue): Fix code for a monitor
9410 function. Support H8/S.
9411 (function_epilogue): Do not output pop for a monitor function.
9789584b 9412
a2e11fd9
NC
94132001-01-09 Nick Clifton <nickc@redhat.com>
9414
9415 * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
9416 (setup_incoming_varargs): Use sysv_varargs_p field of the
9417 cfun->machine structure.
9418 (struct machine_function): Move to rs6000.h
9419 (rs6000_save_machine_status): Delete.
9420 (rs6000_restore_machine_status): Delete.
9421 (rs6000_init_machine_status): New Function.
9422 (rs6000_free_machine_status): New Function.
9423 (rs6000_init_expanders): Use new functions.
9424
9425 * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
9426 export.
9427 (struct machine_function): Move here.
9428
9429 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
9430 sysv_varargs_p field of the cfun->machine structure.
9431
9432 * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
9433 Remove prototype.
9434 (rs6000_restore_machine_status): Remove prototype.
9435
4ba478b8
RH
94362001-01-09 Richard Henderson <rth@redhat.com>
9437
9438 * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
9439 reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
9440 * sched-deps.c (sched_analyze_1): Update uses of struct deps.
9441 (sched_analyze_2, sched_analyze_insn): Likewise.
9442 (sched_analyze, init_deps): Likewise.
9443 (free_deps): Likewise. Iterate with EXECUTE_IF_SET_IN_REG_SET.
9444 * sched-rgn.c (propagate_deps): Likewise. Remove max_reg argument.
9445 (compute_block_backward_dependences): Update propagate_deps call.
9446
9c1fcbfb
ME
94472001-01-09 Mark Elbrecht <snowball3@bigfoot.com>
9448
9449 * gcc.c (process_command): Set switches[n_switches].ordering to 0.
9450
e582248c
NB
94512001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
9452
825b6926
ZW
9453 * cppinit.c (OPT_MD, OPT_MMD): Restore.
9454 (cpp_handle_option): Handle them.
9455 (cpp_post_options): Ensure one of -M or -MM is specified with
9456 any other -M? option.
9457 (init_dependency_output): Suppress output with -MG.
e582248c
NB
9458
94592001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
9460
825b6926
ZW
9461 * cpp.texi: Update.
9462 * invoke.texi: Update.
e582248c 9463
7894cb27
BS
94642001-01-09 Bernd Schmidt <bernds@redhat.com>
9465
9466 * sh.md (reload_outsf): Generate recognizable patterns for
9467 TARGET_SH3E.
9468
9f56ed15
NB
94692001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
9470
9471 * c-lang.c (lang_hooks): Update.
825b6926
ZW
9472 (lang_init): Rename c_init.
9473 (lang_finish): Remove.
9474 * toplev.c (compile_file): Use lang_hooks for lang_init ()
9475 and lang_finish ().
9476 * toplev.h (lang_hooks): Add init () and finish ().
9477 * tree.h (lang_init, lang_finish): Remove.
9478 * cp/tree.h (lang_init, lang_finish): Remove.
9479 * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
9480 * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
9481 lang_hooks): New.
9482 (lang_init, lang_finish): Remove.
9483 * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
9484 (lang_hooks): Update.
9485 * java/lang.c (lang_init): Rename java_init.
9486 (lang_finish): Remove.
9487 (lang_hooks): Update.
9488 * objc/objc-act.c (lang_init): Rename objc_init.
9489 (lang_finish): Remove.
9490 (lang_hoooks): Update.
9f56ed15 9491
fb83deef
GS
949220001-01-09 Graham Stott <grahams@redhat.com>
9493
9494 * cppfiles.c (_cpp_execute_include): Move `len` initialisation
9495 after `ptr` is initialised.
9496
ec4ad0f9
AO
94972001-01-09 Alexandre Oliva <aoliva@redhat.com>
9498
9499 * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
9500 (INITIALIZE_TRAMPOLINE): Adjust accordingly.
9501 * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
9502 stack adjusts, instead of r3.
9503
eab02feb
MH
95042001-01-09 Michael Hayes <mhayes@redhat.com>
9505
9506 * flow.c (flow_loop_scan): Break out of ...
9507 (flow_loops_find) ... here.
9508 * basic-block.h (flow_loop_scan): New.
9509 (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
9510 (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
9511
bad48d7e
AO
95122001-01-09 Alexandre Oliva <aoliva@redhat.com>
9513
4b49c365
AO
9514 * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
9515 macro_buffer_len.
9516 * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
9517 realloc()ing macro_buffer.
9518
bad48d7e
AO
9519 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
9520 if it's wider than long and the target's long is wider than the
9521 host's.
9522
34fa3e7d
MM
95232001-01-09 Mark Mitchell <mark@codesourcery.com>
9524
9525 Remove support for using UWIN as a host machine.
9526 * configure.in: Issue an error message.
9527 * configure: Regenerated.
9528 * config.gcc: Remove xm_* UWIN configury.
9529 * config/i386/xm-uwin.h: Remove.
9530
61db4608
NC
95312001-01-08 Nick Clifton <nickc@redhat.com>
9532
9533 * config/v850/v850.c (ra_rtx): Delete.
825b6926 9534 (v850_save_machine_status): Delete.
61db4608
NC
9535 (v850_restore_machine_status): Delete.
9536 (v850_init_machine_status): New function.
9537 (v850_mark_machine_status): New function.
9538 (v850_free_machine_status): New function.
9539 (v850_return_addr): Use ra_rtx field in machine structure.
9540 (v850_init_expanders): Use new functions.
9541
9542 * config/v850/v850-protos.h: Fix prototypes for v850_output_*
9543 * config/v850/v850.c: Change arguments to v850_output+* functions
9544 to take a const char *, to avoid compile time warning.
9545 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
9546 (USER_LABEL_PREFIX): Redefine.
825b6926 9547
9c8fad33
JW
95482000-01-08 Jim Wilson <wilson@redhat.com>
9549
9550 * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
9551 1 to unsigned HOST_WIDE_INT before left shift.
9552
f7a80099
NC
95532001-01-08 Nick Clifton <nickc@redhat.com>
9554
9555 * config/arm/arm.c (arm_mark_machine_status): Check to see if
9556 the machine structure has been allocated.
9557 (arm_free_machine_status): New function: Free the machine
9558 specific function structure.
9559
3c74f8f9
RH
95602001-01-08 Richard Henderson <rth@redhat.com>
9561
9562 * jump.c (simplejump_p): Revert last change.
9563
674c3b40
NB
95642001-01-08 Neil Booth <neil@daikokuya.demon.co.uk>
9565
825b6926
ZW
9566 * cppinit.c (init): Rename init_library.
9567 (cpp_create_reader): Update.
9568 * gcc.c (cpp_options): If -o given, use it as the target of
9569 any -M options.
674c3b40 9570
b15bca31
RE
95712001-01-08 Richard Earnshaw <rearnsha@arm.com>
9572
9573 * arm.c (arm_arch5e): New variable.
9574 (all_cores): XScale is a 5TE device.
9575 (arm_override_options): Set arm_arch5e.
9576 (arm_init_builtins): __builtin_prefetch is in arch5e.
9577 * arm.h (arm_arch5e): Declare it.
9578
9579 * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
9580
9581 * arm.md (define_constants): Add defines for UNSPEC and
9582 UNSPEC_VOLATILE insns. Update all users.
9583 (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
9584 * arm.c (multi_register_push, note_invalid_constants)
9585 (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
9586 * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
9587 (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
825b6926 9588
261efdef
JH
9589Mon Jan 8 16:14:56 MET 2001 Jan Hubicka <jh@suse.cz>
9590
9591 * jump.c (jump_optimize_1): Use reversed_comparison_code
9592 instead of can_reverse_comparison_p.
9593 (jump_back_p): Likewise.
9594 (invert_exp_1): Likewise.
9595 (thread_jumps): Likewise.
9596 * simplify-rtx.c (simplify_unary_operation): Likewise.
9597 (simplify_ternary_operation): Likewise.
9598 * cse.c (find_comparison_args): Convert to use
9599 can_reverse_comparison_p.
9600 (record_jump_equiv): Likewise.
9601
c7861455
RE
96022001-01-08 Richard Earnshaw <rearnsha@arm.com>
9603
9604 * arm.h (HARD_REGNO_RENAME_OK): Delete.
9605 (EPILOGUE_USES): Define.
825b6926 9606 (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
c7861455
RE
9607 automatically stack the LR if it isn't live.
9608
734dba19
JH
9609Mon Jan 8 13:46:02 MET 2001 Jan Hubicka <jh@suse.cz>
9610
9611 * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
9612 properly.
9613
b1095f9c
MM
9614Sun Jan 7 18:37:43 2001 Mark P Mitchell <mark@codesourcery.com>
9615
9616 * ggc-page.c (max_alignment): New structure.
9617 (MAX_ALIGNMENT): New macro.
9618 (init_ggc): Use it to round up the sizes in the
9619 extra_order_size_table.
9620
a701949a
FS
96212001-01-07 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9622
9623 * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
9624 after reload.
9625
18f988a0
KG
96262001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9627
9628 * builtins.def (BUILT_IN_FPRINTF): New entry.
9629
9630 * c-common.c (c_expand_builtin_fprintf): New function.
9631 (init_function_format_info): Handle __builtin_fprintf.
9632 (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
9633 (c_expand_builtin): Handle BUILT_IN_FPRINTF.
9634
9635 * c-decl.c (duplicate_decls): Adjust comment.
9636
9637 * extend.texi (fprintf): Document new builtin.
9638
8cd0792f
RH
96392001-01-07 Richard Henderson <rth@redhat.com>
9640
9641 * jump.c (simplejump_p): Recognize any single_set jump
9642 of the proper form.
9643
5b15f277
RH
96442001-01-07 Richard Henderson <rth@redhat.com>
9645
9646 * configure.in (slibdir): Accept an --with-slibdir option.
9647 Use "test" not "[" in configure. Default to $(libdir).
9648
9c2e06d9
RH
9649 * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
9650 fix typo in rm -f.
9651 * config/t-aix43 (SHLIB_INSTALL): Likewise.
9652 * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
9653 (SHLIB_LINK): Create links for the soname.
9654 * config/mips/t-iris6: Likewise.
9655 * config/sparc/t-slibgcc: Likewise.
9656 * config/sparc/t-slibgcc-sld: Likewise.
9657
eaf19aba
JJ
96582001-01-07 Jakub Jelinek <jakub@redhat.com>
9659
9660 * config/i386/i386.c (constant_call_address_operand): Accept
9661 (const (plus (symbol_ref) (const_int))).
9662 * config/i386/i386.h (PREDICATE_CODES): Add CONST for
9663 constant_call_address_operand.
9664
a8b462be
MH
96652001-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9666
9667 * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
9668 and LONG_LONG_TYPE_SIZE > 32.
9669
3799607a
GP
96702001-01-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9671
9672 * jump.c (reversed_comparison_code_parts): Fix typo introduced by
9673 the previous change.
9674
ab94bc48
JH
9675Sun Jan 7 19:37:48 MET 2001 Jan Hubicka <jh@suse.cz>
9676
9677 * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
9678 New.
9679 (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
9680 (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
9681 * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
9682 Declare.
9683
f6a13bff
NB
96842001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
9685
825b6926 9686 * fix-header.c (read_scan_file): s/pfile/scan_in/.
f6a13bff 9687
96302433
NB
96882001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
9689
825b6926 9690 * c-lang.c (c_post_options): Call cpp_post_options.
96302433
NB
9691 * objc/objc-act.c (objc_post_options): Similarly.
9692 * cppmain.c (main): Similarly.
825b6926
ZW
9693 * fix-header.c (read_scan_file): Similarly.
9694 * cppinit.c (cpp_start_read): Move option consistency checks
9695 to cpp_post_options. Don't call init_dependency_output.
9696 If needed, add default target and main file dependency.
9697 (OPT_MD, OPT_MMD): Remove.
9698 (OPT_MF): New.
9699 (cpp_handle_option): Update for OPT_* changes.
9700 (cpp_post_options): New.
9701 (init_dependency_output): Command line -MF overrides environment
9702 variables. Don't set default target etc. Suppress output
9703 if dependencies are going to stdout.
9704 (print_help): Update.
9705 * cpplib.h (cpp_post_options): New.
9706 * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
9707
b34878a3
JH
9708Sun Jan 7 14:44:19 MET 2001 Jan Hubicka <jh@suse.cz>
9709
9710 * jump.c (comparison_dominates_p): Support unordered compares.
9711
1f36a2dd
JH
9712Sun Jan 7 14:39:07 MET 2001 Jan Hubicka <jh@suse.cz>
9713
9714 * simplify-rtx.c (simplify_relational_operation): Always simplify
9715 ORDERED and UNORDERED when FLAG_FAST_MATH. Handle properly UNLE
9716 and UNGE.
9717
69bc0a1f
JH
9718Sun Jan 7 14:35:13 MET 2001 Jan Hubicka <jh@suse.cz>
9719
9720 * combine.c (combine_simplify_rtx): Recognize the unordered compares.
9721 (nonzero_bits): Likewise.
9722 (simplify_comparison): Likewise.
9723 (num_sign_bit_copies): Likewise; return more sane value depending
9724 on STORE_FLAG_VALUE.
9725 (known_cond): Do not assume EQ to be always true for equivalent
9726 operands.
9727
fd13313f
JH
9728Sun Jan 7 14:31:57 MET 2001 Jan Hubicka <jh@suse.cz>
9729
9730 * cse.c (fold_rtx): Handle unordered comparisons.
9731
91b2d119
JH
9732Sun Jan 7 13:49:19 MET 2001 Jan Hubicka <jh@suse.cz>
9733
9734 * rtlanal.c (set_of_1): New static function.
9735 (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
9736 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
9737 reg_set_last_last_regno): Remove.
9738 (set_of): New global function.
9739 (set_of_data): New structure.
9740 (reg_set_p, reg_set_last): Revamp for set_of.
9741 * rtl.h (set_of): New.
9742
796cdb65
JM
97432001-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
9744
9745 * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
9746 * extend.texi: Document _Exit builtin.
9747
7ca3d2b1
NB
97482001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
9749
825b6926
ZW
9750 * (initialize, initialize_builtins,
9751 initialize_dependency_output, initialize_standard_includes):
9752 Rename s/initialize/init. Update.
9753 (init_dependency_output): Move to after
9754 cpp_handle_options, the correct location temporally at least.
9755 (opt_comp): Move next to init (), its caller. Fix prototype.
9756 (init): Make "initialized" local scope.
9757 (cpp_create_reader): Always call init ().
9758 (cpp_start_read): Update.
9759 (output_deps): New function, broken out of cpp_finish.
9760 (cpp_finish): Break out output_deps.
7ca3d2b1 9761
34445094
RH
97622001-01-07 Richard Henderson <rth@redhat.com>
9763
9764 * collect2.c (COFF specific stuff): Revert 12-06 patch
9765 to prototype system functions.
9766
96a45535
MH
97672001-01-07 Michael Hayes <mhayes@redhat.com>
9768
9769 * hard-reg-set.h: Add multiple include guard.
9770 * basic-block.h (struct loop): Add `sink' field.
9771 * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
9772 (emit_iv_add_mult): Delete.
9773 (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
9774 (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
9775 (unroll_loop): Remove end_insert_before argument.
9776 * loop.c (loop_givs_rescan): Remove end_insert_before argument.
9777 (maybe_eliminate_biv_1): Likewise.
9778 (emit_iv_add_mult): Delete.
9779 (gen_add_mult, loop_regs_update): New.
9780 (loop_insn_emit_after, loop_insn_emit_before): New.
9781 (loop_insn_sink, loop_insn_sink_or_swim): New.
9782 (emit_iv_add_mult): Delete.
9783 (scan_loop): Set loop->sink.
9784 (loop_givs_reduce): Use loop_insn_sink and its ilk.
9785 (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
9786 (maybe_eliminate_biv_1): Likewise.
9787 (maybe_eliminate_biv_1): Add basic block argument.
9788 * unroll.c (unroll_loop): Remove end_insert_before argument.
9789 (find_splittable_regs): Likewise.
9790 (find_splittable_regs): Use loop_insn_sink and its ilk.
9791 (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
9792
804a718a
MH
97932001-01-07 Michael Hayes <mhayes@redhat.com>
9794
9795 * loop.h (loop_insn_hoist): New prototype.
9796 * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
9797 (move_movables, loop_givs_rescan): Use loop_insn_hoist.
9798 (check_dbra_loop, load_mems): Likewise.
9799 * unroll.c (unroll_loop, find_splittable_regs): Likewise.
9800 (find_splittable_givs): Likewise.
9801
30a1181a
MH
98022001-01-07 Michael Hayes <mhayes@redhat.com>
9803
9804 * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
9805
cabf3891
RH
98062001-01-07 Richard Henderson <rth@redhat.com>
9807
9808 * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
9809
9db0819e
RH
98102001-01-07 Richard Henderson <rth@redhat.com>
9811
9812 * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
9813 NO_SHARED_LIBGCC_MULTILIB as required for the target.
9814 * gcc.c (init_spec): Massage the existing libgcc_spec into a
9815 variant that handles a shared libgcc.
9816 (process_command): Always validate -{static,shared}-libgcc.
9817 (do_spec_1): New 'M' case.
9818 * invoke.text (Link Options): Document -{static,shared}-libgcc.
9819
2bbea3a6
RH
98202001-01-07 Richard Henderson <rth@redhat.com>
9821
9822 * Makefile.in (slibdir): New variable.
9823 (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
9824 (installdirs): Create slibdir.
9825 (install-libgcc, install-multilib): Defer to libgcc.mk.
9826 * configure.in (slibdir): Substitute.
9827 * mklibgcc.in (install): New target.
9828
9829 * config/t-linux (SHLIB_LINK): Create links for the soname.
9830 (SHLIB_INSTALL): New.
9831 * config/alpha/t-osf4 (SHLIB_INSTALL): New.
9832 * config/mips/t-iris6 (SHLIB_INSTALL): New.
9833 * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
9834 * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
9835 * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
9836
fc51424c
RH
98372001-01-07 Richard Henderson <rth@redhat.com>
9838
9839 * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
9840 * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
9841 * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
9842
1d7ae250
MH
98432001-01-07 Michael Hayes <mhayes@redhat.com>
9844
9845 * loop.c (count_loop_regs_set): Delete.
9846 (load_mems_and_recount_loop_regs_set): Delete.
9847 (loop_regs_scan): Merge common code from count_loop_regs_set,
9848 scan_loop, and load_mems_and_recount_loop_regs_set.
9849 (scan_loop): Call load_mems directly and loop_regs_scan
9850 again if new registers created.
9851
cd2a3ba2
NB
98522001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
9853
825b6926
ZW
9854 * toplev.c (main): Call the front-end specific post_options
9855 hook if one is given.
9856 * toplev.h (struct_lang_hooks, lang_hooks): New.
9857 * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
9858 for the C front end.
9859 * cp/decl2.c (cxx_post_options, lang_hooks): Implement
9860 lang_hooks for the C++ front end.
9861 * objc/objc-act.c (objc_post_options, lang_hooks): Implement
9862 lang_hooks for the ObjC front end.
9863 * f/com.c (lang_hooks): Hooks for the Fortran front end.
9864 * java/lang.c (lang_hooks): Hooks for the Java front end.
cd2a3ba2 9865
65289a3a
NB
98662001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
9867
825b6926
ZW
9868 * c-lex.c (init_c_lex): Request #define / #undef callbacks
9869 for verbose DWARF[2] debugging.
9870 (cb_define, cb_undef): The new callbacks.
9871 * toplev.h (debug_define, debug_undef): Make const correct.
9872 * toplev.c (debug_define, debug_undef): Similarly. Do not
9873 perform the verbosity tests here anymore.
65289a3a 9874
f759eb8b
AO
98752001-01-07 Alexandre Oliva <aoliva@redhat.com>
9876
9877 * reload.c (subst_reloads): Take INSN argument. When
9878 replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
9879 * reload.h (subst_reloads): Adjust prototype.
9880 * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
9881 * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
9882 present in JUMP_INSNs and copy them to JUMP_LABEL.
9883 * flow.c (find_label_refs, find_basic_blocks_1): Skip
9884 JUMP_INSNs and insns with REG_LABELs that are followed by
9885 JUMP_INSNs with the same REG_LABEL.
9886 * sched-rgn.c (is_cfg_nonregular): Likewise.
9887 * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
9888 note is available.
9889 * unroll.c (unroll_loop): Look for REG_LABEL notes in
9890 JUMP_INSNs too.
9891 * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
9892
587f56c2
RH
98932001-01-06 Richard Henderson <rth@redhat.com>
9894
9895 * loop.c (scan_loop): Use xcalloc for the regs array.
9896 (load_mems_and_recount_loop_regs_set): Zero the new memory
9897 received from xrealloc.
9898
fa6f74f6
NB
98992001-01-06 Neil Booth <neil@daikokuya.demon.co.uk>
9900
9901 * mkdeps.c (deps_add_dep): Fix vector re-allocation.
9902
ea55fa7a
R
9903Sat Jan 6 00:09:34 2001 J"orn Rennecke <amylaar@redhat.com>
9904
9905 * integrate.c (copy_rtx_and_substitute): When copying
9906 an ignored return value, strip REG_FUNCTION_VALUE_P.
9907
c804f3f8
MH
99082001-01-06 Michael Hayes <mhayes@redhat.com>
9909
9910 * loop.c (debug_biv, debug_giv): New.
9911 (loop_biv_dump): Break out from ...
9912 (record_biv): ... here.
9913 (loop_giv_dump): Break out from ...
9914 (record_giv): ... here.
9915 (loop_bivs_check): Use print_simple_rtl.
9916 * unroll.c (loop_iterations): Use print_simple_rtl.
9917
d492b096
JDA
99182000-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
9919
9920 * pa.md (return, return_internal): Modify patterns to prevent regrename
9921 mucking with the return pointer.
9922
f7d2b0ed
RH
99232001-01-05 Richard Henderson <rth@redhat.com>
9924
9925 * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
9926
0426e049
NC
9927Fri Jan 5 16:34:18 2001 Nick Clifton <nickc@redhat.com>
9928
9929 * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
9930 version supplied by Matteo Frigo.
9931
f7114e17
NB
99322001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
9933
825b6926
ZW
9934 * cpp.texi: Update for -MQ.
9935 * cppinit.c (cpp_create_reader): Always create pfile->deps.
9936 (cpp_cleanup): Always free pfile->deps.
9937 (initialize_dependency_output): Don't create pfile->deps.
9938 (cpp_handle_option): Similarly.
9939 (OPT_MQ): New.
9940 * gcc.c (cpp_options): Handle -MQ.
9941 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
9942 * mkdeps.c (base_name): Remove.
9943 (deps_init): Don't allocate vector space until it's needed.
9944 (deps_free): Only free vectors if allocated.
9945 (deps_add_target, deps_add_dep): Update for initial allocation.
9946 (deps_add_default_target): Don't strip to the base_name.
f7114e17 9947
a64761a3
DD
99482001-01-05 DJ Delorie <dj@redhat.com>
9949
9950 * config/v850/v850.h (RETURN_ADDR_RTX): Define.
9951 (INIT_EXPANDERS): Define.
9952
9953 * config/v850/v850.c (struct machine_function): Define.
9954 (v850_save_machine_status): New function.
9955 (v850_restore_machine_status): New function.
9956 (v850_return_addr): New function.
9957 (v850_init_expanders): New function.
9958
9959 * config/v850/v850-protos.h: Add prototypes for v850_return_addr
9960 and v850_init_expanders.
825b6926 9961
f4cdc368
ZW
99622001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
9963
9964 * cpplib.h (struct cpp_reader): Add help_only field.
9965 * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
9966 (cpp_handle_option): Set pfile->help_only if we see -h,
9967 --help, -target-help, or --version. Print version string but
9968 do not set help_only if we see -v or -version. Make text
9969 printed by -v match that printed by (-)-version.
9970
9971 * cppmain.c (main): Exit after option parsing if
9972 pfile->help_only is true.
9973
9974 * toplev.c (independent_decode_option): Call print_version,
9975 then exit, if we see --version (but not -version).
9976 (print_version): Split lengthy message into two lines.
9977
3326b760
NC
99782001-01-05 Nick Clifton <nickc@redhat.com>
9979
9980 * config/v850/v850.c (v850_encode_data_area): Use alloca to create
9981 temporary string for initialisation before calling ggc_alloc_string.
9982
75b7557d
MH
99832001-01-06 Michael Hayes <mhayes@redhat.com>
9984
9985 * rtl.h (print_simple_rtl): New.
9986 * print-rtl.c (print_simple_rtl): New.
9987 (flag_simple): New.
9988 (print_rtx): Disable printing of flags and modes, etc.,
825b6926 9989 if `flag_simple` nonzero.
75b7557d 9990
b05467dc
ZW
99912001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
9992
9993 * function.c (fixup_var_refs): Use push_to_full_sequence where
9994 possible.
9995
b883f801
MM
99962001-01-05 Michael Meissner <meissner@redhat.com>
9997
9998 * flags.h (flag_reorder_blocks): Add declaration.
9999 (flag_rename_block): Ditto.
10000
cc1fe44f
DD
100012001-01-05 DJ Delorie <dj@redhat.com>
10002
10003 * function.c (reorder_blocks): Make sure the flags are all reset
10004 before using them to mark blocks, else a second invocation will
10005 corrupt the block chain.
10006 (reorder_blocks_0): New, resets the flags.
10007
8b03b984
R
10008Fri Jan 5 20:34:06 2001 J"orn Rennecke <amylaar@redhat.com>
10009
10010 * cse.c (find_comparison_args): Stop if the argument is known to
10011 be constant.
10012
18a7c2a7
AO
100132001-01-05 Alexandre Oliva <aoliva@redhat.com>
10014
10015 * config/sh/sh.md (movdf): When splitting load into pair of
10016 registers, don't clobber the register used in the address too
10017 early.
10018
fcbd8ef2
JO
100192001-01-05 Jeffrey Oldham <oldham@codesourcery.com>
10020
10021 * varasm.c (mark_constant_pool): Improve initial comments.
10022 (mark_constants): Move marking of constants to mark_constant.
10023 (mark_constant): New function to recursively mark all constants
10024 referred to by a constant.
10025
ebb0cdf3
CM
100262001-01-05 Catherine Moore <clm@redhat.com>
10027
10028 * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
10029
3b4e6a16
PE
100302001-01-05 Phil Edwards <pme@sources.redhat.com>
10031
10032 * cp/lang-options.h: Bring comment in line with reality.
10033 * f/lang-options.h: Likewise.
10034 * java/lang-options.h: Likewise.
10035 * objc/lang-options.h: Likewise.
10036 * ch/lang-options.h: Likewise.
10037 * f/g77.texi: And update the manual.
10038
dcfb1a36
MM
100392001-01-05 Marek Michalkiewicz <marekm@linux.org.pl>
10040 Denis Chertykov <denisc@overta.ru>
10041
10042 * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
10043 * config/avr/avr.c (avr_peep2_scratch_safe): New function.
10044 * config/avr/avr.md (all peepholes that request a scratch register):
10045 Call it, FAIL the peephole if not safe (in interrupt functions).
10046
cef3d50c
MM
100472001-01-05 Mark Mitchell <mark@codesourcery.com>
10048
10049 * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
10050
341e3d11
JM
100512001-01-05 Joseph S. Myers <jsm28@cam.ac.uk>
10052
10053 * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
10054 Define.
10055 * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
10056 BUILT_IN_CREAL and BUILT_IN_CIMAG.
10057 * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
10058 conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
10059 (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
10060 BUILT_IN_CIMAG.
10061 * extend.texi: Document these builtins.
10062
604bb87d
DB
100632001-01-05 Daniel Berlin <dberlin@redhat.com>
10064
10065 * c-common.c (lang_get_alias_set): Say we know nothing of
825b6926 10066 VECTOR_TYPE aliasing.
604bb87d
DB
10067
10068 * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
10069
15fe1a7e
BK
100702001-01-05 Bruce Korb <bkorb@gnu.org>
10071
10072 * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
10073 their x* equivalent versions for atexit-less systems
10074 * fixinc/fixincl.c(main): do not return from main() on atexit-less
10075 systems (or any other system any more).
10076
b0888988
RE
100772001-01-05 Richard Earnshaw <rearnsha@arm.com>
10078
10079 * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
10080 output operands. Use arm_hard_register_operand for operand 4.
10081 (stmsi_postinc): Similarly.
10082 (ldmsi): Use arm_hard_register_operand for opernand 2.
10083 (stmsi): Similarly.
10084 * arm.c (arm_hard_register_operand): New function.
10085 * arm-protos.h (arm_hard_register_operand): Prototype it.
10086
10087 * arm.h (HARD_REGNO_RENAME_OK): Define.
10088
90a74703
JH
10089Fri Jan 5 16:29:49 MET 2001 Jan Hubicka <jh@suse.cz>
10090
10091 * simplify-rtx.c (cfc_args): add "unordered" field.
10092 (check_fold_consts): Set unordered field.
10093 (simplify_relational_operation): Simplify the unordered
10094 comparisons.
10095
10096 * reg-stack.c (swap_rtx_condition): Ensure that the transformation
10097 is valid.
10098
10099 * emit-rtl.c (try_split): Fix code to mark labels.
10100 * jump.c (mark_jump_label): Make global.
10101 * rtl.h (mark_jump_label): Declare.
10102
10103 * predict.c (estimate_probability): Handle unordred comparisons.
10104
a5a4ce3c
NB
101052001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
10106
825b6926
ZW
10107 * cpp.texi: Update for -MP. Clarify behaviour of -MT.
10108 * cppinit.c (initialize_dependency_output): Update.
10109 (cpp_finish): Output dummy targets for -MP.
10110 (OPT_MP): New.
10111 (cpp_handle_option): Handle -MP. Don't quote -MT options.
10112 * cpplib.h (struct cpp_options): Add deps_phony_targets.
10113 * gcc.c (cpp_options): Update to handle -MP.
10114 * mkdeps.c (deps_add_target, deps_add_default_target): Update
10115 to quote only the default target.
10116 (deps_phony_targets): Insert a preceding newline. Rename from
10117 deps_dummy_targets for consistency.
10118 * mkdeps.h: Update
a5a4ce3c 10119
97fc4caf
AO
101202001-01-05 Alexandre Oliva <aoliva@redhat.com>
10121
10122 * calls.c (emit_library_call_value_1): Support
10123 INIT_CUMULATIVE_LIBCALL_ARGS.
10124 * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
10125
ffc5c6a9
RH
101262001-01-04 Richard Henderson <rth@redhat.com>
10127
10128 * c-decl.c (finish_struct): Detect flexible array members
10129 used in an inappropriate context.
10130 * c-typeck.c (really_start_incremental_init): Special case
10131 constructor_max_index for zero length arrays.
10132 (pop_init_level): Allow initialization of flexible array
10133 members. Deprecate initialization of zero length arrays.
10134 Don't issue missing initializer warning for flexible array
10135 members or zero length arrays.
10136 (process_init_element): Don't dereference null DECL_SIZE.
10137 * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
10138 Don't abort for empty constructors. Use size_binop
825b6926 10139 (output_constructor): Add commentary regarding zero length
ffc5c6a9
RH
10140 array futures. Abort if we try to initialize an array of
10141 unspecified length with a non-empty constructor in the middle
10142 of a structure.
10143
10144 * extend.texi (Zero Length): Update and clarify documentation
10145 on static initialization.
10146
69f6e760
MH
101472001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10148
10149 * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
10150 with more than 32767 words of local storage.
10151
06dd70c6
MH
101522001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10153
10154 * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
10155 for 'abs', 'labs', and 'fabs'.
10156 (c4x_expand_builtin): Likewise.
10157 * config/c4x/c4x.h (enum c4x_builtins): Likewise.
10158
99e87c10
AO
101592001-01-05 Alexandre Oliva <aoliva@redhat.com>
10160
10161 * config/sh/sh.md (prget, prset): New insn types.
10162 (return delay slot): Dont' allow prset.
10163 (call, sfunc delay slot): Don't allow prget.
10164 (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
10165 for prset and prget.
10166
576d0b54 101672001-01-05 Michael Hayes <mhayes@redhat.com>
825b6926 10168
f1d4ac80
MH
10169 * loop.h (struct loop_reg): New.
10170 (struct loop_regs): Change to use array of `struct loop_reg'.
10171 * loop.c: Replace assortment of varrays with single regs array.
10172 (count_one_set): Delete may_not_move array argument
10173 and use regs array instead. All caller's changed.
10174 (count_loop_regs_set): Delete may_not_move and single_usage
10175 arguments and use regs array instead. All caller's changed.
10176 (find_single_use_in_loop): Replace usage array argument with pointer
10177 to regs structure. All caller's changed.
10178 (loop_optimize): Delete `moved_once' array.
10179
101802001-01-05 Michael Hayes <mhayes@redhat.com>
825b6926 10181
576d0b54
MH
10182 * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
10183 Use it instead of loop_info->has_call for scanning loop mems.
10184 (check_dbra_loop): Replace loop_info->has_call test with
10185 loop_info->has_nonconst_call.
10186
616af7ee
MH
101872000-01-04 Matthew Hiller <hiller@redhat.com>
10188
10189 * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
10190 for TARGET_SH3E.
10191
32812a40
JM
101922001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
10193
10194 * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
10195 use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
10196
eaa7c03f
JM
101972001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
10198
10199 * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
10200 (flag_short_double, flag_short_wchar): Define.
10201 (c_common_nodes_and_builtins): Create many tree nodes shared
10202 between C and C++ here instead of in cp/decl.c and ...
10203 * c-decl.c (init_decl_processing): ... here.
10204 (SIZE_TYPE, WCHAR_TYPE): Don't define.
10205 (flag_short_double, flag_short_wchar): Don't define.
10206 (record_builtin_type): New function.
10207 (build_void_list_node): New function.
10208 * c-common.h (flag_short_double, flag_short_wchar,
10209 record_builtin_type, build_void_list_node): Declare.
10210
e2a5f96b
R
10211Thu Jan 4 21:09:47 2001 J"orn Rennecke <amylaar@redhat.com>
10212
10213 * integrate.c (expand_inline_function): Don't put a virtual
10214 register into the reg map.
10215
10216 * function.c (fixup_var_refs_1): If force_operand didn't put
10217 the address into the target, move it there.
10218
2be510b8
MM
102192001-01-04 Mark Mitchell <mark@codesourcery.com>
10220
10221 Special-case tree_decl/tree_list allocations.
10222 * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
10223 (OBJECT_SIZE): New macro.
10224 (NUM_EXTRA_ORDER): Likewise.
10225 (extra_order_size_table): New variable.
10226 (NUM_ORDERS): New macro.
10227 (objects_per_page_table): New variable.
10228 (object_size_table): New variable.
10229 (G.pages): Use NUM_ORDERS to bound the array.
10230 (G.page_tails): Likewise.
10231 (DIV_ROUND_UP): Remove.
10232 (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
10233 (alloc_page): Use OBJECT_SIZE.
10234 (size_lookup): Don't make it const.
10235 (ggc_alloc): Use OBJECT_SIZE.
10236 (ggc_set_mark): Likewise.
10237 (ggc_get_size): Likewise.
10238 (init_ggc): Set up the object_size_table, objects_per_page_table,
10239 and adjust size_lookup.
10240 (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
10241 (ggc_pop_context): Use NUM_ORDERS.
10242 (clear_marks): Likewise.
10243 (sweep_pages): Likewise.
10244 (poison_pages): Likewise.
10245 (ggc_print_statistics): Use OBJECT_SIZE.
10246
bf1aaf0a
RK
10247Thu Jan 4 15:54:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10248
10249 * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
10250 Only call array_size_for_constructor if last field and array type
10251 with no upper bound.
10252
ceebdb09
PB
102532001-01-04 Philip Blundell <philb@gnu.org>
10254
10255 * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
10256 from bit 31 downwards, if this requires no more insns.
10257 (count_insns_for_constant): New helper function for above.
10258
1fd4f141
AO
102592001-01-04 Alexandre Oliva <aoliva@redhat.com>
10260
10261 * gencodes.c (output_predicate_decls): Remove empty initializer.
10262
3af4c257
MM
102632001-01-04 Mark Mitchell <mark@codesourcery.com>
10264
10265 * tree.c (copy_node): Remove documentation about obstacks.
10266 (buidl1): Check that nobody tries to build 2-argument nodes this
10267 way.
10268
30472f46
KG
102692001-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10270
a41d0855
KG
10271 * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
10272 fp_high_losum_p.
10273
30472f46
KG
10274 * gencodes.c (output_predicate_decls): Fill empty initializer
10275 braces.
10276
c3843cea
JJ
102772001-01-04 Jakub Jelinek <jakub@redhat.com>
10278
10279 * tradcpp.c (deps_file, print_deps_missing_files): New variables.
10280 (main): Handle -MG, -MD, -MMD. Bail out if -MG is given without -M
10281 or -MM.
10282 (do_include): Handle missing headers like cpp0.
10283 * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
10284 paths with first include pathname. Don't strcat to uninitialized
10285 string.
10286
f4d578da
BS
102872001-01-04 Bernd Schmidt <bernds@redhat.com>
10288
10289 * regrename.c (regrename_optimize): Don't rename from frame pointer
10290 if frame_pointer_needed.
10291 (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
10292 * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
10293 (ia64_reorg): Use it instead of scheduling if ! optimize.
10294 (errata_emit_nops): Properly call asm_noperands.
10295 (ia64_sched_reorder): Finish cycle if we see an asm.
10296 (ia64_variable_issue): Clear scheduling state after asms.
10297
03b9ab42
NB
102982001-01-04 Neil Booth <neil@daikokuya.demon.co.uk>
10299
825b6926
ZW
10300 * cpp.texi: Update for -MT.
10301 * cppinit.c (initialize_dependency_output): Add a default
10302 target if none has been given already.
10303 (no_tgt, OPT_MT): New.
10304 (cpp_handle_option): Handle -MT. Update -M etc.
10305 * cpplib.h (struct cpp_options): Remove deps_target.
10306 * gcc.c (cpp_options): Handle -MT.
10307 * mkdeps.c (struct deps): Move from mkdeps.h.
10308 (deps_calc_target): Rename deps_add_default_target. Add a
10309 default target if none has been specified already.
10310 * mkdeps.h (struct deps): Move to mkdeps.c.
10311 (deps_calc_target): Rename deps_add_default_target.
03b9ab42 10312
584ef5fe
RH
103132000-01-03 Richard Henderson <rth@redhat.com>
10314
10315 * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
10316 Remove dead code.
10317 * c-typeck.c (push_init_level): Move checks for flexible array
10318 members and zero length arrays ...
10319 (pop_init_level): ... here. Silently discard empty initializations.
10320 Remove dead code.
10321 * varasm.c (output_constructor): Update for sizeof change to
10322 zero-length arrays.
10323
10324 * extend.texi (Zero Length): Clarify semantics.
10325
04d430b8
AO
103262001-01-03 Alexandre Oliva <aoliva@redhat.com>
10327
10328 * configure.in (tm.h): Include isns-codes.h last.
10329 * configure: Rebuilt.
10330
e55a9a6e
RH
103312001-01-03 Richard Henderson <rth@redhat.com>
10332
10333 * config/alpha/alpha.md (addvsi3, addvdi3): New.
10334 (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
825b6926 10335
fa5db828
FS
103362001-01-03 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10337
10338 * tradcpp.c (main): Make sure finclude() is called with a valid
10339 indepth value while handling -include.
10340
975d393a
AO
103412001-01-03 Alexandre Oliva <aoliva@redhat.com>
10342
10343 * gencodes.c (output_predicate_decls): New function.
10344 (main): Call it.
10345 * machmode.h (GET_MODE_MASK): Arrange for it to be defined
10346 even if it is not the first time machmode.h is #included.
10347 * config/sh/sh.c (fpul_operand): Declare MODE argument.
10348 * tm.texi (PREDICATE_CODES): Document predicate declarations.
10349 * gcc.texi (Copyright): Added 2001.
10350
03dc0325
JM
103512001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
10352
10353 * c-common.c (c_common_lang_init): New function. Warn if format
10354 warning options which only have effects when used with -Wformat
10355 are used without -Wformat.
10356 * c-common.h (c_common_lang_init): Declare.
10357 * c-lang.c (lang_init): Call c_common_lang_init.
10358 * objc/objc-act.c (lang_init): Call c_common_lang_init.
10359
955be633
JM
103602001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
10361
10362 * configure.in: Check for the mktemp command.
10363 * configure: Regenerate.
10364 * gccbug.in: Use a separate temporary file $TEMP0 for one use of
10365 $TEMP. Create temporary files with mktemp, if available at
10366 configure time; otherwise use set -C. Remove temporary files
10367 before exit.
10368
fd939e46
JM
103692001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
10370
10371 * configure.in: Require at least texinfo 4.0. Check for whether
10372 Pod::Man is sufficiently recent to regenerate GCC manpages.
10373 * configure: Regenerate.
10374 * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
10375 on #!.
10376 (GENERATED_MANPAGES): Define.
10377 (generated-manpages): New target. Depend on cpp.1 as well as
10378 gcov.1.
10379 (install-man): Depend on $(GENERATED_MANPAGES) (defined by
10380 configure to generated-manpages or empty) rather than on the
10381 manpages directly. Remove execute permission from installed
10382 gcov.1 as well as cpp.1.
10383 * cpp.1, gcov.1: Regenerate.
10384
819c1488
KG
103852001-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10386
10387 * builtins.c (expand_builtin_strncmp): Use host_integerp and
10388 tree_low_cst. Allow using cmpstrsi in more cases.
10389
f07d22aa
RK
10390Wed Jan 3 10:48:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10391
10392 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
10393 sized types.
10394
7ccb4206
AO
10395Wed Jan 3 12:22:32 2001 Alexandre Oliva <aoliva@redhat.com>
10396
10397 * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
10398 * Makefile.in (HOST_CFLAGS): Mention build-make.
10399
a338321e
RK
10400Wed Jan 3 08:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10401
10402 * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
10403 as JUMP_INSN.
10404
432fd734
BS
104052001-01-01 Bernd Schmidt <bernds@redhat.com>
10406
10407 * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
10408 a REG rtx.
10409
2be28ee2
BS
10410 * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All
10411 callers changed.
10412
713f41f9
BS
10413 * alias.c (throughout): Use ORIGINAL_REGNO when accessing
10414 reg_base_value and reg_known_value arrays.
10415 (init_alias_analysis): Add more cases to detect known values.
10416 * sched-deps.c (deps_may_trap_p): New function.
10417 (sched_analyze_2): Use it.
10418
8f8d8d6e
AO
104192001-01-03 Alexandre Oliva <aoliva@redhat.com>
10420
10421 * combine.c (simplify_shift_const): Even if we're sign-extracting,
10422 don't discard an ASHIFTRT if we're shifting in a wider mode.
10423
232a132f
JDA
104242000-01-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
10425
10426 * toplev.c (rest_of_compilation): Don't print basic block information
10427 when CFG isn't up to date.
10428
19723541
ME
104292001-01-02 Mark Elbrecht <snowball3@bigfoot.com>
10430
10431 * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
10432 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
10433 (UNALIGNED_SHORT_ASM_OP): Define.
10434 (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
10435
55560b9d
MM
104362001-01-02 Mark Mitchell <mark@codesourcery.com>
10437
10438 * fold-const.c (fold_convert): Fix typo.
10439
4f78b9a8
RH
104402001-01-02 Richard Henderson <rth@redhat.com>
10441
10442 * c-common.h (ASM_INPUT_P): New.
10443 * c-parse.in (asm): Set it when needed.
825b6926 10444 * c-semantics.c (genrtl_asm_stmt): Test it instead of the
4f78b9a8
RH
10445 existance of an operand.
10446
e2134eea
JH
10447Tue Jan 2 20:27:07 MET 2001 Jan Hubicka <jh@suse.cz>
10448
10449 * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
10450 (dwarf2out_frame_debug_expr): Likewise.
10451 (mem_loc_descriptor): Handle PRE and POST_MODIFY.
10452
2b589241
JH
10453Tue Jan 2 20:21:31 MET 2001 Jan Hubicka <jh@suse.cz>
10454
10455 * i386.c (ix86_split_to_parts): Return number of part required;
10456 handle TFmodes.
10457 (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
10458 TFmodes.
10459 (ix86_split_long_move): Use number of part returned
10460 by ix86_split_to_parts
10461 * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
10462 New macros.
10463 (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
10464 (LONG_DOUBLE_TYPE_SIZE): Change from constant.
10465 (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
10466 (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
10467 (ALIGN_MODE_128): Add TFmode.
10468 (IS_STACK_MODE): Likewise.
10469 (HARD_REGNO_NREGS): TFmode needs 3 registers.
10470 (HARD_REGNO_OK): Support TFmodes.
10471 (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
10472 * i386.md (scheduler definitions): Use memory operand to determine
10473 fst/fld instructions; use mode attribute to determine real mode of
10474 the instruction.
10475 (*tf): New patterns, expanders and splitters; based on XFmode patterns.
10476 * invoke.texi (128bit-long-double, 96bit-long-double): Document.
10477
330aa9a3
MM
104782001-01-02 Mark Mitchell <mark@codesourcery.com>
10479
10480 * tree.def (TRUTH_NOT_EXPR): Improve documentation.
10481
e0339ef7
RK
10482Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
10483
10484 * expr.c (store_constructor_field): Update ALIGN before calling
10485 store_constructor.
10486
d07bec95
JO
104872001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
10488
10489 * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
10490 host_integerp.
10491
3719d27b
JO
104922001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
10493
10494 * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
10495 incomplete type.
10496
6d1c15cc
RK
10497Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
10498
10499 * c-decl.c (start_function): Don't warn on third parameter to main.
10500
16b97540
KG
105012001-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10502
10503 * tsystem.h: Define HAVE_DECL_GETOPT.
10504
8515dc81
PB
105052001-01-02 Philip Blundell <pb@futuretv.com>
10506
825b6926 10507 * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
8515dc81
PB
10508 of input operand.
10509
6f85e02b
RH
105102001-01-02 Richard Henderson <rth@redhat.com>
10511
10512 * alpha.md (*ze_and_ne): Duplicate insn condition to split.
10513
21c7361e
AJ
105142001-01-02 Andreas Jaeger <aj@suse.de>
10515
10516 * c-decl.c (c_decode_option): Remove support of
10517 -Wmissing-noreturn.
10518
10519 * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
10520 (W_options): Add -Wmissing-noreturn here.
10521
10522 * flow.c: Define lang_missing_noreturn_ok_p.
10523 (check_function_return_warnings): Use it.
10524
10525 * c-common.h: Declare lang_missing_noreturn_ok_p.
10526
10527 * c-lang.c (c_missing_noreturn_ok_p): New function.
10528 (lang_init): Set lang_missing_noreturn_ok_p.
10529
10530 * invoke.texi (Warning Options): Document this.
10531
5c25e11d
PE
105322000-12-27 Phil Edwards <pme@sources.redhat.com>
10533
10534 * extend.texi (C++ Extensions): New node for C++ attributes;
20f9202d 10535 describe init_priority and com_interface.
5c25e11d
PE
10536 * invoke.texi: Remove -finit-priority as it now has zero effect.
10537 * install.texi: Fix xref syntax.
10538 * md.texi: Likewise.
10539
d1608933
RK
10540Mon Jan 1 21:28:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10541
e428b937
RK
10542 * config.gcc (sparc64-wrs-vxworks*): New case.
10543 * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
10544
3276910d
RK
10545 * config/sparc/sparc.c (sparc_override_options): Do support different
10546 pointer and architecture size.
10547 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
10548 (POINTERS_EXTEND_UNSIGNED): Define.
10549 (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
10550 (FUNCTION_MODE): Define to be Pmode.
10551 * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
10552
d1608933
RK
10553 * function.c (expand_function_end): Properly handle DECL_RESULT
10554 and copy when ptr_mode != Pmode.
10555 * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
10556
c2e42aab
KG
105572001-01-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10558
10559 * c-common.c (c_common_nodes_and_builtins): Set prototype
10560 parameters for __builtin_fputs, __builtin_fputc and
10561 __builtin_fwrite. Don't declare plain fputc as a builtin.
10562
5b1ef594
JDA
105632001-01-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
10564
825b6926
ZW
10565 * loop.c (add_label_notes): Increment the label usage count when
10566 a note is added to an insn which refers to a CODE_LABEL.
10567 * gcse.c (add_label_notes): Likewise.
5b1ef594 10568
021d7b26
AJ
105692001-01-01 Andreas Jaeger <aj@suse.de>
10570
10571 * loop.c (scan_loop): Use xmalloc to allocate movables.
10572
cf011243
AO
105732001-01-01 Alexandre Oliva <aoliva@redhat.com>
10574
10575 * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
10576 * reload.c (REGISTER_MOVE_COST): Likewise. Adjust all callers.
10577 * reload1.c (REGISTER_MOVE_COST): Likewise.
10578 * regclass.c (REGISTER_MOVE_COST): Likewise.
10579 (move_cost, may_move_in_cost, may_move_out_cost): Add mode
10580 dimension. Adjust all users.
10581 (init_reg_sets_1): Iterate on all modes.
10582 * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
10583 * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
10584 * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
10585 * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
10586 * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
10587 * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
10588 * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
10589 * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
10590 * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
10591 * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
10592 * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
10593 * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
10594 * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
10595 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
10596 * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
10597 * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
10598 * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
10599 * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
10600 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
10601 * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
10602 * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
10603 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
10604 * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
10605 * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
10606 * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
10607 * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
10608 * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
10609
e38fe8e0
BS
106102001-01-01 Bernd Schmidt <bernds@redhat.com>
10611
10612 * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
10613 arg VARIES_P. Call it with extra arg.
10614 (true_dependence): Likewise.
10615 * rtl.h (rtx_addr_can_trap_p): Declare.
10616 (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
10617 prototypes.
10618 * rtlanal.c (rtx_addr_can_trap_p): No longer static.
10619 (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
10620 pic offset table register if it's zero. All callers changed.
10621 (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
10622
7a2bf7af
RK
10623Mon Jan 1 07:38:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10624
7d797311
RK
10625 * explow.c (convert_memory_address, case SYMBOL_REF): Copy
10626 STRING_POOL_ADDRESS_P.
10627
4746e0fe
RK
10628 * config/sparc/sparc.c (input_operand): Properly test for short op.
10629
fbd68e5d
RK
10630 * config.gcc (sparc-*-elf): Include sparc/sol2.h.
10631 (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
10632 (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
10633 * config/sparc/elf.h: No longer include sol2.h.
10634 * config/sparc/lifeelf.h: No longer include sparc/elf.h.
10635 * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
10636
7a2bf7af
RK
10637 * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
10638
14be28e5
MH
106392001-01-01 Michael Hayes <mhayes@redhat.com>
10640
86fee241
MH
10641 * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
10642 (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
10643 (record_initial): Likewise.
10644 * unroll.c (copy_loop_body, loop_iterations): Likewise.
10645 (remap_split_bivs): Likewise.
10646
21c7361e 106472001-01-01 Michael Hayes <mhayes@redhat.com>
86fee241 10648
b2735d9a
MH
10649 * loop.c (loop_ivs_free): New function.
10650 (strength_reduce): Break out from...
10651
106522001-01-01 Michael Hayes <mhayes@redhat.com>
21c7361e 10653
14be28e5
MH
10654 * loop.h (struct iv): New.
10655 (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
10656 (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
10657 'reg_biv_class' fields with 'regs' and 'n_regs'.
10658 (struct ivs): Rename 'loop_iv_list' field to 'list'.
10659 * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
10660 * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
10661
1d2215fe
AO
106622000-12-31 Alexandre Oliva <aoliva@redhat.com>
10663
10664 * resource.c (mark_referenced_resources): Abort() before
10665 attempting to mark a pseudo register.
10666 (mark_set_resources): Likewise.
10667
8b634749
MH
106682001-01-01 Michael Hayes <mhayes@redhat.com>
10669
10670 * loop.h (REG_IV_CLASS): New accessor macro.
10671 * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
10672 * unroll.c (REG_IV_CLASS): Likewise.
21c7361e 10673
38fd12ea 10674See ChangeLog.4 for earlier changes.
This page took 1.497833 seconds and 5 git commands to generate.