]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
BADNAMES: Remove EGCS reference.
[gcc.git] / gcc / ChangeLog
CommitLineData
52a661a6
JH
1Thu Apr 26 20:28:21 CEST 2001 Jan Hubicka <jh@suse.cz>
2
3 * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
4
b3298882
JH
5Thu Apr 26 19:20:28 CEST 2001 Jan Hubicka <jh@suse.cz>
6
7 * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
8 (pushqi2_rex64, pushhi2_rex64): Add.
9
c10f3adf
AH
102001-04-26 Andrew Haley <aph@cambridge.redhat.com>
11
12 * except.c (expand_eh_region_end_cleanup): Force pending stack
13 adjust before emitting label that branches around cleanup code.
14
44404b8b
L
152001-04-26 H.J. Lu (hjl@gnu.org)
16
17 * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
18
19 * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
20 define.
21 * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
22 (ASM_OUTPUT_SECTION_NAME): Likewise.
23 (ASM_WEAKEN_LABEL): Likewise.
24 (UNIQUE_SECTION): Likewise.
25 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
26 (ASM_OUTPUT_DESTRUCTOR): Likewise.
27 * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
28 (ASM_OUTPUT_SECTION_NAME): Likewise.
29 (ASM_WEAKEN_LABEL): Likewise.
30 (UNIQUE_SECTION): Likewise.
31 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
32 (ASM_OUTPUT_DESTRUCTOR): Likewise.
33 * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
34 * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
35 (ASM_FILE_START): Likewise.
36 (ASM_OUTPUT_SOURCE_LINE): Likewise.
37 (ASM_DECLARE_OBJECT_NAME): Likewise.
38 (ASM_FILE_END): Likewise.
39 (ASM_DECLARE_FUNCTION_NAME): Likewise.
40 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
41 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
42 (ASM_OUTPUT_CASE_LABEL): Likewise.
43 (ASM_OUTPUT_SKIP): Likewise.
44 (ASM_OUTPUT_ASCII): Likewise.
45 (ASM_OUTPUT_IDENT): Likewise.
46 (READONLY_DATA_SECTION): Likewise.
47 (EXTRA_SECTIONS): Likewise.
48 (EXTRA_SECTION_FUNCTIONS): Likewise.
49 (SELECT_RTX_SECTION): Likewise.
50 (SELECT_SECTION): Likewise.
51
52 * config/mips/linux.h (INVOKE__main): Undefine.
53 (CTOR_LIST_BEGIN): Likewise.
54 (CTOR_LIST_END): Likewise.
55 (DTOR_LIST_BEGIN): Likewise.
56 (DTOR_LIST_END): Likewise.
57 (SET_ASM_OP): Defined it to ".dummy".
58 (ASM_OUTPUT_DEF): Defined.
59 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
60
fdc2d3b0
NC
612001-04-26 Nick Clifton <nickc@cambridge.redhat.com>
62
63 * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
64 assembler supports .p2align.
65
5677efb0
NS
662001-04-26 Nathan Sidwell <nathan@codesourcery.com>
67
68 * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
69
3b07c79b
JJ
702001-04-26 Jakub Jelinek <jakub@redhat.com>
71
72 * integrate.c (expand_inline_function): Check for error_mark_node
73 in actual argument.
74
e9070e7b
JJ
752001-04-26 Jakub Jelinek <jakub@redhat.com>
76
77 * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
78 -m386 and -m486.
79
a6687d2b
AO
802001-04-26 Alexandre Oliva <aoliva@redhat.com>
81
82 * configure.in (configargs.h): Define thread_model.
83 * configure: Rebuilt.
84 * gcc.c (main): Print it with -v.
85
1f0c3120
JM
862001-04-25 Joseph S. Myers <jsm28@cam.ac.uk>
87
88 * invoke.texi: Document -Wmissing-braces, -dumpspecs,
89 -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
90 * gcc.1: Regenerate.
91
66cc965c
RO
922001-04-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
93
94 * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
95 is_redundant_typedef): Use static inline instead of inline static.
96
2baa5453
CF
97Wed Apr 25 18:21:01 2001 Christopher Faylor <cgf@cygnus.com>
98
99 * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
100 this directory is always searched.
101
84e306b4
RH
1022001-04-25 Richard Henderson <rth@redhat.com>
103
104 * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
105 of registers to restore along non eh_return path.
106
b5cd6849
JJ
1072001-04-25 Jakub Jelinek <jakub@redhat.com>
108
109 * c-format.c (check_format_info_recurse): Handle
110 PLUS_EXPR for format string.
111
ad5042df
JJ
1122001-04-25 Jakub Jelinek <jakub@redhat.com>
113
114 * config/ia64/ia64.h (CC1_SPEC): Define.
115 * config/ia64/linux.h (CC1_SPEC): Define.
116
73de376f
R
117Wed Apr 25 17:09:50 2001 J"orn Rennecke <amylaar@redhat.com>
118
119 * emit-rtl.c (constant_subword): Also do sign extension in
120 BITS_PER_WORD == 16 case.
121
0ef52662
JM
1222001-04-25 Jason Merrill <jason_merrill@redhat.com>
123
124 * loop.c (try_swap_copy_prop): Go back to checking insn.
125
0607953c
JJ
1262001-04-25 Jakub Jelinek <jakub@redhat.com>
127
128 * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
129 if check_mode is non-zero.
130
e99af66b
JJ
1312001-04-25 Jakub Jelinek <jakub@redhat.com>
132
133 * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
134 out and comparison sequence has been detected, put result into
135 proper temporary pseudo.
136
0f976b45
ZW
1372001-04-24 Zack Weinberg <zackw@stanford.edu>
138
139 * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
140 * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
141 * libgcc2.c: Remove __dummy and __builtin_saveregs.
142 * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
143 * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
144 for future reference.
145
47c84870
JM
1462001-04-24 Jason Merrill <jason_merrill@redhat.com>
147
148 * except.c (reachable_handlers): Step out one level from a RESX.
149
150 * except.c (struct eh_region): Rename 'last' to 'resume'.
151 (mark_eh_region, duplicate_eh_region_1): Adjust.
152 (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
153 (build_post_landing_pads): Likewise.
154 (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
155 (expand_eh_region_end_must_not_throw): Likewise.
156 (connect_post_landing_pads): Thread (only) regions with non-deleted
157 resume insns.
158
159 * except.c (expand_eh_region_end_cleanup): Save the EH return data
160 registers around the cleanup.
161 (get_exception_filter): New fn.
162 (finish_eh_generation): Use it.
163
de8e49f3
NS
1642001-04-24 Nathan Sidwell <nathan@codesourcery.com>
165
166 * c-semantics.c (add_scope_stmt): Don't call
167 current_scope_stmt_stack multiple times.
168
0ba8a114
NS
1692001-04-24 Zack Weinberg <zackw@stanford.edu>
170 Nathan Sidwell <nathan@codesourcery.com>
171
172 Lazy __FUNCTION__ generation.
173 * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
174 RID_C99_FUNCTION_NAME): New _RIDs.
175 (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
176 (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
177 CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
178 global tree slots.
179 (function_id_node, pretty_function_id_node, func_id_node): Remove.
180 (c99_function_name_decl_node, function_name_decl_node,
181 pretty_function_name_decl_node, saved_function_name_decls):
182 Declare.
183 (struct language_function): Remove x_function_name_declared_p.
184 (make_fname_decl): Remove a parameter.
185 (declare_function_names): Remove prototype.
186 (start_fname_decls, finish_fname_decls): Prototype.
187 (fname_as_string): Likewise.
188 (fname_string, fname_decl): Likewise.
189 * c-common.c (make_fname_decl): Adjust.
190 (struct fname_var_t): New struct.
191 (fname_vars): New static array.
192 (declare_function_name): Remove.
193 (start_fname_decls, finish_fname_decls): New functions.
194 (fname_as_string): New function from remnants of
195 declare_function_name.
196 (fname_string, fname_decl): New functions.
197
198 * c-decl.c (c_function_name_declared_p): Remove.
199 (init_decl_processing): Don't generate __FUNCTION__ et al ids,
200 don't call declare_function_name. Call start_fname_decls.
201 (c_make_fname_decl): Adjust parameters. Generate the name. Don't
202 clobber the line number. Call finish_decl.
203 (start_function): Call start_fname_decls.
204 (finish_function): Call finish_fname_decls.
205 Remove c_function_name_declared_p.
206 (push_c_function_context): Don't push c_function_name_declared_p.
207 (pop_c_function_context): Don't pop c_function_name_declared_p.
208 (c_begin_compound_stmt): Don't check c_function_name_declared_p.
209 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
210 (program): Call finish_fname_decls for C.
211 (primary): Add VAR_FUNC_NAME.
212 (reswords): Add slots for __FUNCTION__ et al.
213 (rid_to_yy): Add mappings for __FUNCTION__ et al.
214 (yylexname): If it's a STRING_FUNC_NAME generate the function name
215 now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
216 * c-semantics.c (prune_unused_decls): Remove.
217 (finish_stmt_tree): Don't call prune_unused_decls.
218 (genrtl_decl_stmt): Don't prune unused decls here.
219
b201442f
NC
2202001-04-24 Nick Clifton <nickc@cambridge.redhat.com>
221
c6f9b9a1
NC
222 * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
223 constant pool, use the pool's SYMBOL_REF instead.
224
b201442f
NC
225 * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
226 v850e.
227
c3cd9c8b
JM
2282001-04-23 Joseph S. Myers <jsm28@cam.ac.uk>
229
230 * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
231 passing nested NOP_EXPRs to fold.
232
35433587
JH
233Mon Apr 23 14:32:12 CEST 2001 Jan Hubicka <jh@suse.cz>
234
235 * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
236
e6217dcd
MM
2372001-04-22 Mark Mitchell <mark@codesourcery.com>
238
239 * loop.c (loop_delete_insns): Add prototype.
240
e2584c52
PE
2412001-04-23 Phil Edwards <pme@sources.redhat.com>
242
243 * configure.in: Remove ENABLE_STD_NAMESPACE.
244 * config.in: Regenerated.
245 * configure: Regenerated.
246
a3b1a352
SS
2472001-04-22 Stan Shebs <shebs@apple.com>
248
249 * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
250 into xm_defines.
251 * config/rs6000/xm-darwin.h: Remove file.
252
d4c3ec27
KG
2532001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
254
255 * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
256 (write_c_file_stat): Likewise.
257
258 * dbxout.c (dbxout_init): Likewise.
259
260 * profile.c (output_func_start_profiler): Likewise.
261
146ef880
PT
2622001-04-22 Philipp Thomas <pthomas@suse.de>
263
264 * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
265 require it instead of the CVS version.
266 * cpperror.c (v_message): Put a blank before the macro
267 body to not confuse exgettext.
268
e8c8470b
MM
2692001-04-21 Mark Mitchell <mark@codesourcery.com>
270
271 * flow.c (proagate_one_insn): Remove useless assignment.
272 * jump.c (delete_insn): Tidy.
273 * loop.c (try_copy_prop): When deleting an instruction with a
274 REG_RETVAL note, delete the entire libcall sequence.
275 (loop_delete_insns): New function.
276 * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
277 we're not substituting into them yet.
278
68560db3
KH
2792001-04-21 Kazu Hirata <kazu@hxi.com>
280
281 * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
282
51f26c45
KH
283 * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
284 Fix a comment typo.
285 * config/i960/i960.c (signed_arith_operand): Likewise.
286
d80d2d2a
KH
287 * calls.c (expand_call): Fix a comment typo.
288
c1800ec8
ZW
2892001-04-20 Zack Weinberg <zackw@stanford.edu>
290
291 * configure.in: Probe for times, clock, struct tms, and clock_t.
292 * configure, config.in: Regenerate.
293 * timevar.c: Replace ifdef forest in get_time with (relatively)
294 straightforward series of checks based on autoconf's probes.
295
2c2ef4b9
JL
296Fri Apr 20 12:24:50 2001 Jeffrey A Law (law@cygnus.com)
297
298 * config/pa/som.h (NM_FLAGS): Define.
299
a0a7b566
BS
3002001-04-20 Bernd Schmidt <bernds@redhat.com>
301
302 * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
303 function.
304 * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
305 * ia64.c (nop_cycles_until): New function.
306 (prev_cycle, prev_first, last_issued): New static variables.
307 (ia64_sched_reorder): Additional arg for clock.
308 On final scheduling pass, emit extra NOPs as needed.
309 Set prev_first and prev_cycle.
310 (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
311 (ia64_variable_issue): Set last_issued.
312
7471a1f0
AO
3132001-04-20 Alexandre Oliva <aoliva@redhat.com>
314
315 * config/i386/i386.c (ix86_expand_int_movcc,
316 ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
317
856a6884
GK
3182001-04-20 Geoff Keating <geoffk@redhat.com>
319
320 * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
321 ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
322 ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
323 ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
324 ctrdi_internal6): In the short-branch case, this insn is only 4
325 bytes long. Reported by Reza Yazdani <reza@apple.com>.
326
d40cd80a
JJ
3272001-04-20 Jakub Jelinek <jakub@redhat.com>
328
329 * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
330 "=u" is used together with "st" resp. "st(1)" clobber.
331
43e72072
JJ
3322001-04-20 Jakub Jelinek <jakub@redhat.com>
333
334 * gcse.c (gcse_main): Fix comment typo.
335 (delete_null_pointer_check): Likewise.
336 (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
337 * cse.c (cse_insn): Likewise.
338 * function.c (fixup_var_refs_insns_with_hash): The sequence is
339 toplevel.
340
4000fada
ZW
3412001-04-19 Zack Weinberg <zackw@stanford.edu>
342
343 * toplev.c: Excise all code for the undocumented -dm option.
344 (float_signal): Call signal just once, unconditionally.
345
dea8be3e
GK
3462001-04-19 Geoff Keating <geoffk@redhat.com>
347
348 * fold-const.c (fold): Use first_rtl_op rather than
349 TREE_CODE_LENGTH when looping over parameters of a tree.
350 Correct strange grouping in test for evaluated SAVE_EXPR.
351
fe6adb3e
JL
352Thu Apr 19 19:15:26 2001 Jeffrey A Law (law@cygnus.com)
353
354 * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
355 * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
356
357 * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
358 name at 32 total characters.
359 (ASM_OUTPUT_SECTION_NAME): Similarly. Also, only support placing
360 functions in named sections -- data items can still go into unique
361 sections, but they have normal names (ie $LIT$ and $DATA$).
362
363 * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
364 INIT_PRIORITY.
365
45936a85
DD
3662001-04-19 DJ Delorie <dj@redhat.com>
367
368 * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
369 to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
370 * config/i386/cygwin.h: Likewise.
371 * config/i386/mingw32.h: Likewise.
372 * config/vax/vms.h: Likewise.
373 * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
374
375 * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
376 to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
377 * config/i386/xm-cygwin.h: Likewise.
378 * config/i386/xm-djgpp.h: Likewise.
379 * config/i386/xm-mingw32.h: Likewise.
380 * config/vax/xm-vms.h: Likewise.
381
382 * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
383 instead of OBJECT_SUFFIX.
384 * collect2.c (find_a_file): Look for files matching the extension
385 HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
386 * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
387 TARGET_EXECUTABLE_SUFFIX.
388 (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
389 (make_relative_prefix): Likewise.
390 (convert_filename): Use TARGET_ suffixes throughout. Remove
391 NO_AUTO_EXE_SUFFIX.
392 (process_command): Likewise.
393 (do_spec_1): Likewise.
394 * java/lang.c (init_parse): Likewise.
395
396 * gcc.texi : Document four new options matching the pattern
397 (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX. Remove documentation
398 for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX. Remove
399 documentation for NO_AUTO_EXE_SUFFIX.
400
3dcaf6e0
MM
4012001-04-19 Mark Mitchell <mark@codesourcery.com>
402
57883c53
MM
403 * toplev.h (struct lang_hooks): Allow decode_option to indicate
404 that language-independent processing should not be done.
405 * toplev.c (main): Adjust accordingly.
406
13c502cd
MM
407 * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
408 * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
409
3dcaf6e0
MM
410 * mips.md (reload_outputdi): Require that operand0 be a
411 general_operand.
412
d773df5a
DB
4132001-04-19 Jakub Jelinek <jakub@redhat.com>
414
415 * invoke.texi (-Wshadow): Clarify.
416
17e2b3cb
MM
4172001-04-18 Mark Mitchell <mark@codesourcery.com>
418
419 * loop.c (load_mems): Examine all the instructions in the loop
420 before concluding that all jumps branch to the first instruction
421 after the loop.
422
9e24b950
CF
423Wed Apr 18 20:32:03 2001 Christopher Faylor <cgf@cygnus.com>
424
425 * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
426
0d692355
JJ
4272001-04-18 Jakub Jelinek <jakub@redhat.com>
428
429 * cpp.texi (-Wwhite-space): Remove.
430 (-Wall): -Wall does not imply -Wwhite-space.
431
ad087b92
ZW
4322001-04-17 Zack Weinberg <zackw@stanford.edu>
433
434 * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
435 use it instead of blindly generating a .stabs.
436 * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
437 in the right place.
438 * xcoffout.c: Don't bother defining default for N_CATCH.
439 (UNKNOWN_STAB): Use internal_error.
440 (stab_to_sclass): Remove now-unnecessary aborts.
441 Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block.
442
b9c81bcb
JL
443Tue Apr 17 21:41:11 2001 Jeffrey A Law (law@cygnus.com)
444
445 * jump.c (mark_all_labels): Canonicalize the tail recursion
446 label attached to CALL_PLACEHOLDER insns.
447
2f4e671d
KG
4482001-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
449
450 * output.h (dump_flow_info, free_basic_block_vars,
451 which_alternative): Delete redundant prototypes.
452
453 * rtl.h (bss_section): Likewise.
454
7848c238
LR
4552001-04-17 Loren J. Rittle <ljrittle@acm.org>
456
457 * dbxout.c (N_OPT): Define if not available from <stab.h>
458
5854680c
JDA
4592001-04-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
460
461 * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
462 libraries and native K&R compilers.
463
3ed56f8a
KG
4642001-04-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
465
466 * c-typeck.c (convert_arguments): Don't check for width changes
467 with -Wtraditional.
468
469 * invoke.texi (-Wtraditional): Update documentation.
470
acb0db7b
ZW
4712001-04-16 Zack Weinberg <zackw@stanford.edu>
472
473 * toplev.c (output_lang_identify): Delete.
474 (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
475 Don't generate gcc2_compiled. label. Don't emit a nop if profiling.
476 If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
477 after calling ASM_FILE_END.
478
479 * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
480 Instead, unconditionally emit an N_OPT stab with string equal
481 to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
482
483 * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
484
485 * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
486 config/psos.h, config/ptx4.h, config/1750a/1750a.h,
487 config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
488 config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
489 config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
490 config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
491 config/i370/i370.h, config/i386/beos-elf.h,
492 config/i386/osf1elf.h, config/i386/osfrose.h,
493 config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
494 config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
495 config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
496 config/m68k/tower-as.h, config/mcore/mcore-elf.h,
497 config/mips/iris6.h, config/mips/osfrose.h,
498 config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
499 config/sparc/sp64-elf.h:
500 Delete definitions of any or all of: ASM_IDENTIFY_GCC,
501 ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
502
503 * config/elfos.h, config/freebsd.h, config/linux.h,
504 config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
505 config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
506 config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
507 of ASM_FILE_START which merely emit a .version directive. Delete
508 definitions of ASM_FILE_END which merely emit an .ident directive.
509
510 * config/avr/avr.h, config/vax/vax.h: Delete definition of
511 ASM_IDENTIFY_GCC and move part of its logic into
512 ASM_FILE_START.
513
514 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
515 config/sparc/linux-aout.h: Don't emit .version directive in
516 ASM_FILE_START.
517
518 * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
519 (output_file_start): Correct comment.
520
521 * config/i386/osfrose.h: Don't emit trailing .ident directive.
522 * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
523 to match gdb.
524 * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
525 * config/rs6000/aix.h: Correct comment.
526
527 * config/i386/i386afe.h: Delete.
528 * config.gcc: Remove references to i386afe.h.
529
530 * tm.texi: Delete documentation of ASM_IDENTIFY_GCC. The
531 other macros deleted by this patch were undocumented.
532
3bcd50fe
JL
533Mon Apr 16 08:03:48 2001 Jeffrey A Law (law@cygnus.com)
534
75d71b2f
JL
535 * pa.md (reload_outdi): Operand 0 must be a non hard register.
536
ad087b92 537 * pa.c (secondary_reload_class): SAR<->FP copies require a
26ee120d
JL
538 secondary register.
539
3bcd50fe
JL
540 * install.texi (mips-mips-bsd): Update list of functions
541 required to include memmove.
542 * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
543 used functions to include memmove.
544
2406cfed
TM
5452001-04-15 Toon Moene <toon@moene.indiv.nluug.nl>
546
547 * i386.md (sqrtdf2): SFmode should be DFmode.
548
f54104df
AO
5492001-04-15 Alexandre Oliva <aoliva@redhat.com>
550
551 * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
552 (find_moveable_store): Likewise.
553
aa570f54
JW
5542001-04-15 Jim Wilson <wilson@redhat.com>
555
556 * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
557
7c17f553
JH
558Sat Apr 14 16:24:19 CEST 2001 Jan Hubicka <jh@suse.cz>
559
560 * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
561 (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
562
81df85c4
AO
5632001-04-14 Alexandre Oliva <aoliva@redhat.com>
564
565 * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
566 first alternative.
567
6619e96c
AM
5682001-04-14 Alan Modra <amodra@one.net.au>
569
570 * pa.c (force_mode): New function.
571 (emit_move_sequence): Use it instead of generating new rtx_REGs.
572
25250265
JW
5732001-04-13 Jim Wilson <wilson@redhat.com>
574
575 * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
576 (first_instruction): New static variable.
577 (rtx_needs_barrier): Return 1 for alloc.
578 (init_insn_group_barriers): Set first_instruction.
579 (rws_sum): Delete duplicate definition.
580 (group_barrier_needed_p): Return 0 when first_instruction true.
581 (safe_group_barrier_needed_p): Save and restore first_instruction
582 around group_barrier_needed_p call.
583
b215b52e
LR
584Fri Apr 13 21:40:28 2001 Loren J. Rittle <ljrittle@acm.org>
585
586 * expr.h (enum libfunc_index): Add LTI_memmove.
587 (memmove_libfunc): Define macro.
588 * optabs.c (init_optabs): Initialize memmove_libfunc.
589 * expr.c (expand_assignment): Use memmove_libfunc instead of
590 memcpy_libfunc.
591
7eb07bdb
AM
5922001-04-13 Alan Modra <alan@linuxcare.com.au>
593
ad087b92
ZW
594 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
595 fp mode addresses.
7eb07bdb 596
2840aebf
KG
5972001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
598
599 * Makefile.in (reg-stack.o): Depend on reload.h.
600 (insn-attrtab.o): Depend on flags.h.
601
602 * genattrtab (main): Include flags.h in insn-attrtab.c.
603
604 * reg-stack.c: Include reload.h.
605
606 * sparc.h (flag_pic): Delete redundant declaration.
607
608 * output.h (flag_pic): Likewise.
609
610 * tree.h (pedantic): Likewise.
611
8461e984
KG
6122001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
613
614 * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
615
616 * jump.c, regmove.c, toplev.c: Include reload.h.
617
618 * reload.h (reload_cse_regs): Declare.
619
620 * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
621 reload_cse_regs, init_reload, mark_home_live, reload,
622 init_caller_save): Delete redundant prototypes.
623
0829d244
KG
6242001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
625
626 * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
627
628 * regclass.c, ssa.c: Include expr.h.
629
630 * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
631 gen_move_insn): Delete redundant declarations.
632
38010927
AM
6332001-04-13 Alan Modra <amodra@one.net.au>
634
fbdd633b
AM
635 * pa.c (hppa_init_pic_save): Set rtx_unchanging for
636 PIC_OFFSET_TABLE_SAVE_RTX.
831c1763
AM
637 (zdepi_cint_p): Describe zdepi insn.
638 Formatting and white space fixes throughout file.
fbdd633b 639
e0c556d3
AM
640 * pa.c (uint32_operand): Don't use long constant >= 2^32.
641 (emit_move_sequence): Use HOST_WIDE_INT constants. Don't worry
642 about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
643 (compute_movstrsi_length): Make `align' unsigned to avoid warning.
644 (output_64bit_and): Use plain `int's for shift counts.
645 (output_64bit_ior): Likewise.
646 (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
647 * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
648 `N', and simplify.
649
8d913d99
AM
650 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
651 * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
652 * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
653 NEW_HP_ASSEMBLER into one. Kill warnings.
654
c21a2372
AM
655 * pa-gas.h: Delete file.
656 * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
657 Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*. Update
658 hppa*-*-linux*. For all pa targets, remove pa/gas.h from tm_file,
659 instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
660
48bd7758
AM
661 * config/pa/mill32.S: New file.
662 * config/pa/mill64.S: New file.
663 * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
664 LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
665 * config/pa/t-linux64: New file.
666 * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
667 (LIB1ASMFUNCS, LIB1ASMSRC): Define.
668 (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
669
e25724d8
AM
670 * elfos.h (SELECT_SECTION): Undef before defining.
671 * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
672 (LIB_SPEC): Remove -lmilli.
673 (DBX_REGISTER_NUMBER): Remove.
674 (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
675 (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
676 NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
677 DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
678 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
679 ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
680 ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
681 TARGET_GAS): Define.
682 * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
683 (function_arg): If TARGET_ELF32, pass fp args in both general and fp
684 regs if we don't have a prototype.
685 * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
686 * pa.h (TARGET_ELF32): Default to 0 if undefined.
687 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
688 EH_RETURN_HANDLER_RTX): Define.
689 * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
690 (DWARF_FRAME_REGNUM): Define.
691 * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
692 * pa32-linux.h: New file.
693 * pa64-linux.h: New file.
694
38010927
AM
695 * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
696 (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
697 (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
698 NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
699 DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
700 DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
701 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
702 FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
703 READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
704 DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
705 UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
706 ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
707 TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
708 * pa64-hpux.h: New file.
709 (ASM_FILE_START): Correct typo.
710 (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
711 * config.gcc: Modify for above.
712
35bb0780
JW
713Fri Apr 13 00:09:22 EDT 2001 John Wehle (john@feith.com)
714
715 * jump.c (jump_optimize_1): Don't delete dead stores here.
716 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
717 prior to running jump optimize before cse2.
718
754fd218
RH
7192001-04-12 Richard Henderson <rth@redhat.com>
720
721 * Makefile.in (regmove.o): Depend on except.h.
722 * regmove.c: Include it.
723
4bd34c39
SS
7242001-04-12 Stan Shebs <shebs@apple.com>
725
726 * objc/objc-act.c: Remove all code ifdefed with the never-used
727 macro OBJC_INT_SELECTORS.
728 * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
729 * tm.texi: Remove doc for OBJC_INT_SELECTORS.
730
3b7da9c5
RB
731Thu Apr 12 18:13:37 2001 Rodney Brown <RodneyBrown@mynd.com>
732
733 * config/pa/quadlib.c: Add prototypes.
734
44c4c11d
KG
7352001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
736
737 * bitmap.h (debug_bitmap): Delete redundant prototype.
738
739 * rtl.h (get_frame_size): Likewise.
740
640cea5f
JW
7412001-04-12 Jim Wilson <wilson@redhat.com>
742
743 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
744 to just emit an fnorm.
745
20e50c62
KG
7462001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
747
748 * c-common.h (truthvalue_conversion, type_for_mode,
749 type_for_size): Delete redundant declarations.
750
751 * c-lex.h (is_class_name): Likewise.
752
753 * c-tree.h (pedantic, convert, getdecls, gettags,
754 global_bindings_p, init_decl_processing, insert_block,
755 maybe_build_cleanup, poplevel, print_lang_decl,
756 print_lang_identifier, print_lang_type, pushdecl, pushlevel,
757 set_block, incomplete_type_error, build_function_call,
758 lvalue_or_else, mark_addressable): Likewise.
759
760 * expr.h (expand_tree_builtin): Likewise.
761
33d3b05b
MM
7622001-04-12 Mark Mitchell <mark@codesourcery.com>
763
764 * invoke.texi: Document --param max-gcse-memory.
765
6c889b67
KG
7662001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
767
768 * configure.in (errno): Check for declaration.
769 * configure, config.in: Regenerated.
770
771 * system.h (errno): Only declare if not already done.
772
c033e268
AO
7732001-04-12 Alexandre Oliva <aoliva@redhat.com>
774
775 * recog.c (general_operand, immediate_operand,
776 nonmemory_operand): Require CONST_INTs to be sign-extended
777 values for their modes.
778
69107307
AO
7792001-04-12 Alexandre Oliva <aoliva@redhat.com>
780
781 * expmed.c (store_bit_field): Truncate CONST_INTs.
782 (expand_mult_highpart, expand_divmod): Likewise.
783 * expr.c (convert_modes, store_field): Likewise.
784 * integrate.c (expand_inline_function): Use promote_mode() to
785 determine whether to convert_modes() an argument as signed
786 or unsigned.
787 * optabs.c (expand_binop): Get CONST_INT operands
788 sign-extended for their appropriate modes.
789 * stmt.c (emit_case_nodes): Convert node values to the
790 appropriate mode.
791 (expand_end_case): Convert minval and range to the appropriate
792 mode.
793 * unroll.c (loop_iterations): Truncate abs_diff to the mode of
794 the iteration variable.
795 * varasm.c (immed_double_const): Don't require words to be
796 narrower than host wide ints to properly sign-extend
797 CONST_INTs.
798
001643af
KK
7992001-04-12 kaz Kojima <kkojima@rr.iij4u.or.jp>
800
801 * sh.md (builtin_setjmp_receiver): New expander.
802
38886f37
AO
8032001-04-12 David Edelsohn <dje@watson.ibm.com>
804
805 * config/rs6000/rs6000.c (rs6000_emit_move): Do not
806 special-case HOST_BITS_PER_WIDE_INT != 32. Use same criteria
807 for generating CONST_INT and CONST_DOUBLE.
808
8092001-04-12 Alexandre Oliva <aoliva@redhat.com>
810
811 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
812 already sign-extended.
813 (rs6000_emit_prologue): Make register iterator signed.
814 (rs6000_emit_epilogue): Likewise.
815 * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
816 and low.
817 (movsf split, movdf split): Sign-extend CONST_INTs.
818 (movdi splits): Likewise.
819
ccc27eab
KC
8202001-04-12 Kelley Cook <kelley.cook@home.com>
821
822 * config-lang.in (lang_dirs): Add in zlib.
823
383252a7
AO
8242001-04-11 Alexandre Oliva <aoliva@redhat.com>
825
826 * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
827 operands that make it to RTL.
828
ee890fe2
SS
8292001-04-11 Stan Shebs <shebs@apple.com>
830
831 Add Darwin (Mac OS X kernel) native support.
832 * config.gcc (powerpc-*-darwin*): Add native bits.
833 * config/darwin.c: New file, generic Darwin support functions.
834 * config/darwin.h: New file, generic Darwin definitions.
835 * config/darwin-protos.h: New file, generic Darwin prototypes.
836 * rs6000/darwin.h: New file, Darwin for PowerPC.
837 * rs6000/t-darwin: New file, Darwin makefile fragment.
838 * rs6000/rs6000.h (OBJECT_MACHO): New macro.
839 (TARGET_MACHO): Ditto.
840 (rs6000_abi): Add ABI_DARWIN.
841 (RS6000_REG_SAVE): Add ABI_DARWIN case.
842 (RS6000_SAVE_AREA): Ditto.
843 (FP_ARG_MAX_REG): Ditto.
844 (RETURN_ADDRESS_OFFSET): Ditto.
845 * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
846 cases.
847 (rs6000_emit_move): Add ABI_DARWIN cases.
848 (print_operand): Ditto.
849 (first_reg_to_save): Ditto.
850 (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
851 (debug_stack_info): Ditto.
852 (rs6000_emit_prologue): Ditto.
853 (rs6000_emit_epilogue): Ditto.
854 (output_profiler_hook): Ditto.
855 (output_function_profiler): Ditto.
856 (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
857 (output_mi_thunk): Add TARGET_MACHO case.
858 (add_compiler_stub): Ditto.
859 (output_compiler_stub): Ditto.
860 (no_previous_def): Ditto.
861 (output_call): Ditto.
862 (machopic_output_stub): Ditto.
863 (rs6000_machopic_legitimize_pic_address): Ditto.
864 (toc_section): Ditto.
865 * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
866 (macho_high): Ditto.
867 (macho_low): Ditto.
868 (movsi_low): Ditto.
869 (load_macho_picbase): Ditto.
870 (call): Add TARGET_MACHO case to modify function.
871 (call_value): Ditto.
872 (call_nonlocal_sysv): Add ABI_DARWIN case.
873 (call_value_nonlocal_sysv): Ditto.
874 * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
875 Add prototype.
876 (machopic_output_stub): Ditto.
877 * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
878
5101b304
MM
8792001-04-11 Mark Mitchell <mark@codesourcery.com>
880
881 * dwarf2out.c (modified_type_die): Don't create new types here.
882 * tree.h (get_qualified_type): New function.
883 (build_qualified_type): Adjust comment.
884 * tree.c (get_qualified_type): New function.
885 (build_qualified_type): Use it.
886
c8abc684
KG
8872001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
888
889 * cpp.texi (-Wtraditional): Update description.
890
891 * invoke.texi (-Wtraditional): Likewise.
892
93dd6255
JW
8932001-04-11 Jim Wilson <wilson@redhat.com>
894
895 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
896 requires more than 64 bits of alignment.
897
2f5bf149
NB
8982001-04-11 Neil Booth <neil@daikokuya.demon.co.uk>
899
900 * cpplib.c (do_line): Sanity check iff enable checking.
901
04f378ce
RH
9022001-04-11 Richard Henderson <rth@redhat.com>
903
904 * Makefile.in (insn-recog.o): Depend on toplev.h.
905 (insn-emit.o, doloop.o): Likewise.
906 * genrecog.c, genemit.c: Include toplev.h in generated file.
907 * doloop.c: Include toplev.h.
908
f1fa37ff
MM
9092001-04-11 Mark Mitchell <mark@codesourcery.com>
910
911 * Makefile.in (gcse.o): Depend on params.h.
912 * gcse.c: Include params.h.
913 (gcse_main): Don't do GCSE if doing so will take inordinate
914 amounts of memory.
915 * params.def (PARAM_MAX_GCSE_MEMORY): New parameter.
916 * params.h (MAX_GCSE_MEMORY): New macro.
917
f3a8030a
KG
9182001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
919
920 * Makefile.in (insn-output.o): Depend on $(EXPR_H).
921
922 * genoutput.c (output_prologue): Include expr.h in insn-output.c.
923
2ef56a41
KG
9242001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
925
68896bf9
KG
926 * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
927
928 * real.h (ereal_atof, real_value_truncate, target_isnan,
929 target_isinf, target_negative, assemble_real, debug_real): Delete
930 redundant prototypes.
931
d6684bc8
KG
932 * Makefile.in (ifcvt.o): Depend on toplev.h.
933
934 * c-semantics.c: Include expr.h.
935
936 * ifcvt.c: Include toplev.h.
937
938 * expr.h (rtx_equal_p): Delete prototype.
939
940 * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
941 protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
942 eliminate_constant_term, expand_complex_abs, find_single_use,
943 make_tree, init_expr_once, init_optabs, supports_one_only):
944 Likewise.
ad087b92 945
d6684bc8
KG
946 * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
947 rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
948 expand_assignment, store_expr, emit_line_note_after,
949 emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
ad087b92 950
d6684bc8
KG
951 * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
952
2ef56a41
KG
953 * sparc-protos.h: Delete redundant prototypes.
954
550d7942
VM
9552001-04-11 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
956
957 * reload.c (push_reload): Add condition missed in SUBREG byte
958 offset patch.
959
8fe879c7
RO
960Wed Apr 4 00:28:23 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
961
962 * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
963
037f20f1
JH
964Wed Apr 11 14:06:10 CEST 2001 Jan Hubicka <jh@suse.cz>
965
966 * i386.md (floatsisf_sse): Fix output template
967 * i386.c (ix86_expand_fp_movcc)
968
969 * reg-stack.c (emit_pop_insn): Handle complex modes.
970 (move_for_stack_reg): Emit proper move mode.
971 (subst_stack_regs_pat): Handle complex modes.
972
01ef6563
JJ
9732001-04-11 Jakub Jelinek <jakub@redhat.com>
974
975 * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
976
706701af
RH
9772001-04-10 Richard Henderson <rth@redhat.com>
978
979 * libgcc2.h (__terminate_func_ptr): Remove typedef.
980 (__pure_virtual, __terminate, __terminate_set_func,
981 __default_terminate, __throw_type_match, __empty,
982 __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
983 __eh_rtime_match, __unwinding_cleanup, __rethrow,
984 __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
985 Remove prototypes of deleted functions.
986
03829ad2
KG
9872001-04-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
988
989 * c-typeck.c (convert_arguments): -Wtraditional now activates
990 -Wconversion warnings, except for changes in signed-ness.
991 Detect complex<->int & int<->complex conversions as well.
992
993 * invoke.texi (-Wtraditional): Document it.
994
c57718d3
RK
995Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
996
997 * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
998 * flow.c (set_block_for_new_insns): Remove needless cast and
999 properly check for unset block number.
1000
55107ee3
AM
10012001-04-10 Andrew MacLeod <amacleod@redhat.com>
1002
ad087b92 1003 * function.c (purge_single_hard_subreg_set): Only check REGNO if
55107ee3
AM
1004 the subreg was a hard register. Pseudos are left as subregs.
1005
fa9518de
FS
10062001-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1007
1008 * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
1009 (LIB2ADD_ST): New macro, pass it to mklibgcc.
1010 * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
ad087b92 1011 (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
fa9518de
FS
1012 * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
1013
d4f33f6c
BT
10142001-04-09 Bo Thorsen <bo@suse.co.uk>
1015
1016 * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
1017
5b3ad99f
AM
10182001-04-09 Andrew MacLeod <amacleod@redhat.com>
1019
ad087b92 1020 * output.h (set_block_num): Missed it earlier, remove deprecated
5b3ad99f
AM
1021 prototype.
1022
e2d2ed72
AM
10232001-04-09 Andrew MacLeod <amacleod@redhat.com>
1024
1025 * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
1026 (load_killed_in_block_p): Change bb parameter from int to basic_block.
1027 (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
1028 (handle_rd_kill_set): Change bb parameter from int to basic_block.
1029 (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
ad087b92 1030 (expr_killed_p): Change bb parameter from int to basic_block, pass
e2d2ed72
AM
1031 basic_blocks instead of ints as parameters.
1032 (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
ad087b92 1033 (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
e2d2ed72 1034 from int to basic_block, pass basic_blocks instead of ints as parms.
ad087b92 1035 (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
e2d2ed72
AM
1036 parameter from int to basic_block, pass basic_blocks instead of ints.
1037 (process_insert_insn): Pass basic_blocks instead of ints as parameters.
ad087b92 1038 (insert_insn_end_bb): Change bb parameter from int to basic_block,
e2d2ed72 1039 pass basic_blocks instead of ints.
ad087b92 1040 (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
e2d2ed72
AM
1041 basic_blocks instead of ints as parameters.
1042 (pre_delete): Pass basic_blocks instead of ints as parameters.
ad087b92 1043 (hoist_expr_reaches_here_p): Change bb parameter from int to
e2d2ed72
AM
1044 basic_block, pass basic_blocks instead of ints.
1045 (hoist_code): Pass basic_blocks instead of ints as parameters.
ad087b92 1046 (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
e2d2ed72
AM
1047 Change bb parameter from int to basic_block.
1048 (build_store_vectors): Pass basic_blocks instead of ints as parameters.
ad087b92 1049 (insert_insn_start_bb): Change bb parameter from int to basic_block,
e2d2ed72
AM
1050 pass basic_blocks instead of ints.
1051 (insert_store): Pass basic_blocks instead of ints as parameters.
ad087b92 1052 (replace_store_insn, delete_store): Change bb parameter from int to
e2d2ed72
AM
1053 basic_block, pass basic_blocks instead of ints.
1054 (store_motion): Pass basic_blocks instead of ints as parameters.
1055
ccbaf064
AM
10562001-04-09 Andrew MacLeod <amacleod@redhat.com>
1057
1058 * basic-block.h (set_new_block_for_insns): New Prototype.
1059 (set_block_num): Delete prototype.
1060 * flow.c (set_block_num): Remove obsolete function.
1061 (set_block_for_new_insns): Set BB for single or multiple insns.
1062 * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
ad087b92 1063 (process_insn_end_bb): Use set_block_for_new_insns or
ccbaf064
AM
1064 set_block_for_insn instead of set_block_num.
1065 (pre_insert_copy_insn): Use set_block_for_new_insns.
1066 (update_ld_motion_stores): Use set_block_for_new_insns.
1067 (insert_insn_start_bb): Use set_block_for_new_insns.
1068 (replace_store_insn): Use set_block_for_new_insns.
1069
a13d4ebf
AM
10702001-04-09 Andrew MacLeod <amacleod@redhat.com>
1071 Jeff Law <law@redhat.com>
1072
1073 * alias.c (get_addr): Externalize.
1074 (canon_true_dependence): New function. Behaves like true_dependance
1075 except it already assumes a MEM has been canonicalized.
1076 * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
1077 * gcse.c (struct ls_expr): Add load/store expressions structure.
1078 (modify_mem_list, canon_modify_mem_list): New variable.
ad087b92 1079 (gcse_main): Initialize & finalize alias analysis. Use enhanced
a13d4ebf
AM
1080 load motion and store motion if requested.
1081 (alloc_gcse_mem): Allocate space for modify_mem_list array.
1082 (free_gcse_mem): Free the modify_mem_list array.
1083 (oprs_unchanged_p): Use load_killed_in_block_p.
1084 (gcse_mems_conflict_p, gcse_mem_operand): New variables.
ad087b92 1085 (mems_conflict_for_gcse_p): New function. Don't kill loads
a13d4ebf
AM
1086 with stores to themselves if its in the load/store expression list.
1087 (load_killed_in_block_p): New function.
1088 (canon_list_insert): New Function.
1089 (record_last_mem_set_info): Keep a list of all instructions which
1090 can modify memory for each basic block.
1091 (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
1092 (oprs_not_set_p): Use load_killed_in_block_p.
1093 (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
1094 (expr_killed_p): Use load_killed_in_block_p.
1095 (compute_transp): Do not pessimize memory references.
1096 (pre_edge_insert): Update stores for a load motion expression.
1097 (one_pre_gcse_pass): Check loads/stores for extra load motion.
1098 (ldst_entry): Find or create a ldst_expr structure.
1099 (free_ldst_entry): Free memory for an individual item.
1100 (free_ldst_mems): Free entire load/store expression list.
1101 (print_ldst_list): Print debug info.
1102 (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
1103 (enumerate_ldsts): Assign integer values to each entry in list.
1104 (first_ls_expr): First expression in the list.
1105 (next_ls_expr): Next expression in the list.
1106 (simple_mem): Check if expression qualifies for ld/st expression list.
1107 (invalidate_any_buried_refs): Remove from expression list if its
1108 used in some other way we dont understand.
1109 (compute_ld_motion_mems): Find all potential enhanced load motion
1110 expression.
1111 (trim_ld_motion_mems): Remove any expressions which are invalid.
1112 (update_ld_motion_stores): Copy store values to registers for loads
1113 which have been moved.
1114 (regvec, st_antloc, num_store): New global statics.
1115 (reg_set_info): Marks registers as set.
1116 (store_ops_ok): Verfies registers expressions are valid in a block.
1117 (find_moveable_store): Look for moveable stores in a pattern.
1118 (compute_store_table): Find stores in a function worth moving, maybe.
1119 (load_kills_store): Check dependance of a load and store.
1120 (find_loads): Find any loads in a pattern.
1121 (store_killed_in_insn): Check if a store is killed in an insn.
1122 (store_killed_after): Check is store killed after an insn in a block.
1123 (store_killed_before): Check is store killed before an insn in a block.
1124 (build_store_vectors): Generate the antic and avail vectors.
1125 (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
1126 (insert_store): Add a store to an edge.
1127 (replace_store_insn): Replace a store with a SET insn.
1128 (delete_store): Delete a store insn.
1129 (free_store_memory): Free memory.
1130 (store_motion): Perform store motion.
1131 * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
1132 * rtl.h (get_addr, canon_true_dependence): Add prototypes.
1133 * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
1134 (f_options): Add gcse-lm and gcse-sm.
1135
92d0fb09
JH
1136Mon Apr 9 16:18:03 CEST 2001 Jan Hubicka <jh@suse.cz>
1137
1138 * i386.c (expand_fp_movcc): Fix condition reversal code.
1139
1140 * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
1141 * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
1142 (CLASS_MAX_NREGS): Use it.
1143
1144 * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
1145 handle properly complex values.
1146 (CLASS_MAX_NREGS): Likewise; update comment.
1147
68340ae9
BS
11482001-04-05 Bernd Schmidt <bernds@redhat.com>
1149
1150 * ia64.c (ia64_flag_schedule_insns2): New variable.
1151 (ia64_override_options): Initialize it. Clear
1152 flag_schedule_insns_after_reload.
1153 (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
1154
46ed7963
JH
1155Mon Apr 9 15:09:13 CEST 2001 Jan Hubicka <jh@suse.cz>
1156
1157 * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
1158 Do not require source to match destination anymore;
1159 Add abort to the nontrivial cases that should be handled by split.
1160 (fix_trunc?fdi): Add SSE case for x86_64.
1161 (floatdi?f): Likewise.
1162 (floatdi?f_sse): New.
1163 (fix_trunc?fdi_sse): New.
1164
04448128
RS
11652001-04-09 Richard Sandiford <rsandifo@redhat.com>
1166
1167 * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
1168 (DEBUG_ARANGES_END_LABEL): Ditto.
1169 (dwarfout_init): Generate length and version fields at the start
1170 of the .debug_aranges info. Insert DEBUG_ARANGES_BEGIN_LABEL
1171 after the length field.
1172 (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
1173 the .debug_aranges info.
1174
39d04363
JH
1175Sun Apr 8 00:43:27 CEST 2001 Jan Hubicka <jh@suse.cz>
1176
1177 * i386.c (call, call_value): Make sure that resulting call_insn
1178 does have proper second operand.
1179
ab762be5
CF
1180Sun Apr 8 22:50:49 2001 Christopher Faylor <cgf@cygnus.com>
1181
1182 * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
1183 function. Remove include of sys/cygwin.h.
1184
9a33d505
CF
1185Sun Apr 8 22:20:27 2001 Christopher Faylor <cgf@cygnus.com>
1186
1187 * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
1188 (CPP_SPEC): Always search */include/w32api for header files.
1189 (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
1190 (LINK_SPEC): Add "cyg" to the library search prefixes.
1191
d4206a10
PB
11922001-04-08 Philip Blundell <philb@gnu.org>
1193
1194 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
1195
2f878973
NB
11962001-04-08 Neil Booth <neil@daikokuya.demon.co.uk>
1197
1198 * cpperror.c (print_location): Don't special case <stdin>.
1199 (_cpp_begin_message): Handle WARNING_SYSHDR the same as
1200 WARNING, but we don't check if we're in system headers.
1201 * cpplib.h (enum error_type): WARNING_SYSHDR: New.
1202 * cpplib.c (do_warning): Warn in system headers.
1203
f0225099
MK
12042001-04-07 Mumit Khan <khan@NanoTech.Wisc.EDU>
1205
1206 * mbchar.c: Include config.h first.
1207
b6d7afec
ZW
12082001-04-07 Zack Weinberg <zackw@stanford.edu>
1209
1210 * config.gcc: Set default for xmake_file at top, not bottom.
1211 Change places that set xmake_file to "none" to set to the
1212 empty string instead, or remove them entirely if there is no
1213 default xmake_file for this cpu_type. Remove references to
1214 deleted files.
1215
1216 * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
1217 config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
1218 config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
1219 config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
1220 config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
1221 config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
1222 config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
1223 config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
1224 config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
1225 config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
1226 Delete.
1227
1228 * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
1229 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
1230 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
1231 config/mips/x-sysv, config/rs6000/x-aix31:
1232 Just set CLIB to -lld or -lmld, as appropriate.
1233
1234 * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
1235 config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
1236 config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
1237 config/mips/x-iris, config/pa/x-pa:
1238 Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
1239 OTHER_FIXINCLUDES_DIRS.
1240
1241 * config/i386/x-djgpp: Don't set LN or LN_S.
1242 * config/m88k/x-dolph: Don't define __m88k__.
1243 * config/m88k/x-tekXD88: Don't set AR_FLAGS.
1244 * config/pa/x-pa-mpeix: Just set up quadlib.asm.
1245 * config/i860/fx2800.h: No need to #undef SVR4.
1246
1247 38 x-host fragments remain, 2 x-cpu.
1248
d0550d07
HB
12492001-04-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1250
1251 * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
1252
62fce11f
NB
12532001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
1254
1255 * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
1256
f9200da2
NB
12572001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
1258
1259 * configure.in: Add check for lstat.
1260 * configure, config.in: Regenerate.
1261 * cppinit.c (append_include_chain): Make empty path ".".
b6d7afec
ZW
1262 * cpplib.c (do_line): Don't simplify #line paths.
1263 * cppfiles.c (remove_component_p): New function.
f9200da2
NB
1264 (find_or_create_entry): Acknowledge stat () errors during
1265 path simplification.
1266 (handle_missing_header): Don't simplify paths.
b6d7afec
ZW
1267 (_cpp_simplify_pathname): Don't simplify VMS paths. Return
1268 the empty path untouched. Don't leave a trailing '/'.
f9200da2 1269
98c2359b 12702001-04-06 Benjamin Kosnik <bkoz@redhat.com>
b6d7afec 1271
98c2359b
BK
1272 * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
1273 * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
1274
7c092714
NB
12752001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
1276
1277 * cppfiles.c (open_file): Fail directories silently, but
1278 with an errno of NOENT set.
1279 (read_include_file): Move the common exit code to the sole
1280 caller. Return an int indicating success or failure. Let
1281 open_file handle directories.
1282 (stack_include_file): If read_include_file fails,
1283 push a "null" buffer.
1284
c39ada04
DD
12852001-04-05 DJ Delorie <dj@redhat.com>
1286
1287 * function.h (virtuals_instantiated): Declare.
1288 * function.c: (virtuals_instantiated): Make global.
1289 * calls.c (emit_library_call_value_1): Use
1290 virtual_outgoing_args_rtx only if it hasn't been instantiated.
1291 Otherwise, use the stack pointer directly.
1292
0ed08620
JH
1293Thu Apr 5 19:13:33 CEST 2001 Jan Hubicka <jh@suse.cz>
1294
1295 * i386.c (x86_initialize_trampoline): New global function.
1296 * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
1297 (INITIALIZE_TRAMPOLINE): Move offline.
1298 * i386-protos.h (x86_initialize_trampoline): Declare.
1299
ac62a60e
JH
1300Thu Apr 5 19:02:15 CEST 2001 Jan Hubicka <jh@suse.cz>
1301
1302 * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
1303 (lea_0): Rename to lea_1.
1304 (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
1305 (lea_general_?): Allow SImodes on TARGET_64BIT
1306 (lea_general_?_zext): New patterns.
1307 (call_1, call_1_rex64): Fix.
1308
b47b4f21
JH
1309Thu Apr 5 19:00:15 CEST 2001 Jan Hubicka <jh@suse.cz>
1310
1311 * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
1312
32ee7d1d
JH
1313Thu Apr 5 18:25:56 CEST 2001 Jan Hubicka <jh@suse.cz>
1314
1315 * i386.c (function_arg): Return constm1_rtx for last argument.
1316 (ix86_expand_prologue): Update gen_call calls.
1317 * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
1318 * i386.md (call_pop): Likewise.
1319 (call): Second operand is VOIDmode.
1320 (call_0): Likewise; Support 64bits.
1321 (call_exp): New expander.
1322 (call_1): Get to the sync.
1323 (call_1_exp): New pattern.
1324 (call_value): Support 64bit.
1325 (call_value_exp): New pattern.
1326 (untyped_call): Update gen_call call.
1327 (call_value_pop): Disable for 64bit.
1328 (call_value_0_rex64): New pattern.
1329 (call_value_1_rex64): Likewise.
1330
60e589ef
BT
13312001-04-05 Bo Thorsen <bo@suse.de>
1332
1333 * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
1334
93b23859
R
1335Thu Apr 5 13:44:17 2001 J"orn Rennecke <amylaar@redhat.com>
1336
b6d7afec 1337 * i386.md (*andsi_1+3): If used after reload, make sure the operand
93b23859
R
1338 satisfies ANY_QI_REG_P.
1339
0c23cca3
BS
13402001-04-05 Bernd Schmidt <bernds@redhat.com>
1341
1032c357
BS
1342 * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
1343 ASM_OPERAND.
1344
0c23cca3
BS
1345 * sched-deps.c (sched_analyze_insn): Revert more of the March 27
1346 change.
1347
4dc0535b
ZW
13482001-04-04 Zack Weinberg <zackw@stanford.edu>
1349
1350 * config.gcc: Remove default for xm_file. Clean up local
1351 machine type handling. Remove settings of xm_file to
1352 something that doesn't exist. In the big switch, set xm_file,
1353 don't append to it (the value before the big switch is always
1354 null). Don't force build_xm_file or host_xm_file to have a value.
60e589ef
BT
1355 * configure.in: Remove default for xm_file. Do not special
1356 case $cpu/xm-$cpu.h not existing.
4dc0535b
ZW
1357 * configure: Regenerate.
1358
b0835578
DN
13592001-04-04 Diego Novillo <dnovillo@redhat.com>
1360
1361 * simplify-rtx.c (simplify_binary_operation): Check for overflow
1362 when folding integer division and modulo operations.
1363
12f0b96b
AM
13642001-04-04 Andrew MacLeod <amacleod@redhat.com>
1365
60e589ef 1366 * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
12f0b96b 1367 instead of DWARF2_ADDR_SIZE for EH addresses.
60e589ef 1368 (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
12f0b96b
AM
1369 EH addresses.
1370
1b4356ed
RH
13712001-04-04 Richard Henderson <rth@redhat.com>
1372
1373 * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
1374 * config/ia64/t-glibc (LIB2ADDEH): Disable.
1375 * config/ia64/t-ia64 (LIB2ADDEH): Disable.
1376
3d399d67
RH
13772001-04-04 Richard Henderson <rth@redhat.com>
1378
1379 * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
1380 * configure: Rebuilt.
1381
8e184d9c
JJ
13822001-04-04 Jakub Jelinek <jakub@redhat.com>
1383
1384 * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
1385 push insns to delete to it instead of deleting them.
1386 (delete_null_pointer_checks): Delete insns from delete_list after
1387 all delete_null_pointer_checks_1 passes are done.
1388
dd7fc59c
RH
13892001-04-04 Richard Henderson <rth@redhat.com>
1390
1391 * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
1392 * configure: Rebuilt.
1393
c3fa1afd
ZW
13942001-04-04 Zack Weinberg <zackw@stanford.edu>
1395
1396 * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
1397 * config/romp/xm-romp.h: Delete.
1398
79ba58ef
BS
13992001-04-04 Bernd Schmidt <bernds@redhat.com>
1400
1401 * sched-deps.c (sched_analyze_insn): Partially revert March 27
1402 change.
1403
e5bef2e4
HB
14042001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1405
1406 * emit-rtl.c (mark_label_nuses) Increment the label uses for
1407 all labels present in rtx.
1408 (try_split) Call new function for all split insns.
1409
347f3440
JJ
14102001-04-04 Jakub Jelinek <jakub@redhat.com>
1411
1412 * recog.c (validate_replace_rtx_1): Instead of aborting just make
1413 sure the change won't be validated.
1414
7142e318
JW
1415Wed Apr 4 00:45:38 EDT 2001 John Wehle (john@feith.com)
1416
1417 * rtl.h (set_noop_p): Declare.
1418 * flow.c (set_noop_p): Move from here ...
1419 * rtlanal.c (set_noop_p): ... to here and enhance.
1420 * cse.c (delete_trivially_dead_insns): Use it.
1421 * gcse.c (hash_scan_set): Likewise.
1422 * jump.c (delete_noop_moves): Likewise.
1423 * recog.c (split_all_insns): Likewise.
1424
19ec6a36
AM
14252001-04-04 Alan Modra <alan@linuxcare.com.au>
1426
1427 * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
1428 stack pointer via a LO_SUM. Ditto for setting a temp register
1429 used to save to the stack. Set cfa_temp when setting fp, and
1430 allow matches to cfa_temp in addition to cfa_store when saving
1431 regs. Handle POST_INC and LO_SUM register stores. Document the
1432 changes and errors in rule 12 doco.
1433
1434 * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
1435 (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
1436 (load_reg): Move closer to epilogue code.
1437 (DO_FRAME_NOTES): Define to control the following..
1438 (FRP): Define to set RTX_FRAME_RELATED_P on insns.
1439 (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
1440 notes as necessary.
1441 (hppa_expand_epilogue): Likewise.
1442
78e766a0
RH
14432001-04-03 Richard Henderson <rth@redhat.com>
1444
1445 * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
1446 * configure: Rebuild.
1447
9555a122
RH
14482001-04-03 Richard Henderson <rth@redhat.com>
1449
1450 * rtl.h (LCT_THROW): New.
1451 * calls.c (emit_library_call_value_1): Handle it.
1452 * except.c (connect_post_landing_pads): Use it.
1453
d02af173
ZW
14542001-04-03 Zack Weinberg <zackw@stanford.edu>
1455
1456 * gansidecl.h: Delete file.
1457 * configure.in: Change all refs to gansidecl.h to use
1458 ansidecl.h. Adjust *_file_list so they know where ansidecl.h
1459 lives.
1460 * configure: Regenerate.
1461
1462 * Makefile.in (intl.o): Don't depend on gansidecl.h.
1463 * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
1464 * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
1465 Don't include gansidecl.h.
1466 * intl.c, main.c, version.c, fixinc/fixlib.h,
1467 fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
1468 gansidecl.h.
1469
898d374d
JH
1470Tue Apr 3 19:41:21 CEST 2001 Jan Hubicka <jh@suse.cz>
1471
1472 * i386.c (ix86_force_to_memory, ix86_free_from_memory):
1473 Update for 64bit.
1474
547a559d
ZW
14752001-04-03 Zack Weinberg <zackw@stanford.edu>
1476
1477 * config/i386/xm-beos.h, config/i386/xm-isc.h,
1478 config/i386/xm-next.h, config/i386/xm-sco.h,
1479 config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
1480 config/m88k/xm-m88k.h: Delete.
1481
1482 * config/i386/xm-djgpp.h: Don't define __MSDOS__.
1483 * config/romp/xm-romp.h: Don't define bcopy.
1484 * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
1485 HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
1486
1487 * config.gcc: Remove references to deleted files.
1488
1489 14 xm-host.h remain, 1 xm-cpu.h.
1490
ddef6bc7
JJ
14912001-04-03 Jakub Jelinek <jakub@redhat.com>
1492 David S. Miller <davem@pierdol.cobaltmicro.com>
d02af173 1493 Andrew MacLeod <amacleod@redhat.com>
ddef6bc7
JJ
1494
1495 Use byte offsets in SUBREGs instead of words.
1496
1497 * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
1498 * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
1499 to pass new argument.
1500 (add_stored_regs): Use subreg_regno_offset function.
1501 * calls.c (expand_call): For non-paradoxical SUBREG take endianess
1502 into account.
1503 (precompute_arguments): Use gen_lowpart_SUBREG.
1504 * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
1505 (combine_simplify_rtx): Rework to use SUBREG_BYTE.
1506 (simplify_set): Rework to use SUBREG_BYTE.
1507 (expand_field_assignment): Use SUBREG_BYTE.
1508 (make_extraction): Use SUBREG_BYTE.
1509 (if_then_else_cond): Use SUBREG_BYTE.
1510 (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
1511 (gen_lowpart_for_combine): Compute full byte offset.
1512 * cse.c (mention_regs): Use SUBREG_BYTE.
1513 (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
1514 (canon_hash): Use SUBREG_BYTE.
1515 (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
1516 (gen_lowpart_if_possible): Formatting.
1517 * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
1518 correctly.
1519 * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
1520 (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
1521 (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
1522 * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
1523 (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
1524 (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
1525 * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
1526 certain invariants about SUBREGs the compiler creates.
1527 (gen_lowpart_SUBREG): New function.
1528 (subreg_hard_regno): New function to get the final register number.
1529 (gen_lowpart_common): Use SUBREG_BYTE.
1530 (gen_imagpart): Spacing nits.
1531 (subreg_realpart_p): Use SUBREG_BYTE.
1532 (gen_highpart): Use SUBREG_BYTE.
1533 (subreg_lowpart_p): Always compute endian corrected goal offset,
1534 even at the byte level, then compare against that.
1535 (constant_subword): New function, pulled out all constant cases
1536 from operand_subword and changed second argument name to offset.
1537 (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
d02af173 1538 and call constant_subword to do the work. Return const0_rtx if
ddef6bc7
JJ
1539 looking for a word outside of OP.
1540 (operand_subword_force): Change second arg name to offset.
1541 * expmed.c (store_bit_field): Use SUBREG_BYTE.
1542 (store_split_bit_field): Use SUBREG_BYTE.
1543 (extract_bit_field): Use SUBREG_BYTE.
1544 (extract_split_bit_field): Use SUBREG_BYTE.
1545 (expand_shift): Use SUBREG_BYTE.
d02af173 1546 * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
ddef6bc7
JJ
1547 * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
1548 * flow.c (set_noop_p): Use SUBREG_BYTE.
1549 (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
1550 * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
1551 (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
1552 correction code.
1553 (optimize_bit_field): Use SUBREG_BYTE.
1554 (purge_addressof_1): Use SUBREG_BYTE.
1555 (purge_single_hard_subreg_set): Use subreg_regno_offset function.
d02af173 1556 (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
ddef6bc7
JJ
1557 actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
1558 * gengenrtl.c (special_rtx): Add SUBREG.
1559 * global.c (mark_reg_store): Use SUBREG_BYTE.
1560 (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
1561 * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
1562 * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
1563 final byte offset is congruent to subreg's mode size.
1564 (subst_constants): Use SUBREG_BYTE.
1565 (mark_stores): Use subreg_regno_offset function.
1566 * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
1567 function and SUBREG_BYTE.
1568 * local-alloc.c (combine_regs): Use subreg_regno_offset function.
1569 (reg_is_born): Use subreg_hard_regno.
1570 * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
d02af173 1571 endian correction code. Don't combine subregs unless resulting
ddef6bc7
JJ
1572 offset aligns with type. Fix subreg constant extraction for DImode.
1573 Simplify SUBREG of VOIDmode CONST_DOUBLE.
1574 (general_operand): Remove dead mode_altering_drug code.
1575 (indirect_operand): Use SUBREG_BYTE.
1576 (constrain_operands): Use subreg_regno_offset function.
1577 * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
1578 * regmove.c (regmove_optimize): Use SUBREG_BYTE.
1579 (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
1580 * regs.h (REG_SIZE): Allow target to override.
1581 (REGMODE_NATURAL_SIZE): New macro which target can override.
d02af173 1582 * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
ddef6bc7
JJ
1583 on the entire subreg rtx.
1584 (push_reload): Use SUBREG_BYTE in comments and code.
1585 (find_dummy_reload): Use subreg_regno_offset. Only adjust offsets
1586 for hard registers inside subregs.
1587 (operands_match_p): Use subreg_regno_offset.
d02af173 1588 (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
ddef6bc7
JJ
1589 containing hard regs.
1590 (find_reload_toplev): Use SUBREG_BYTE. Remove byte endian
1591 corrections when fixing up MEM subregs.
1592 (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
1593 subreg_regno_offset where appropriate.
1594 (find_reloads_subreg_address): Use SUBREG_BYTE. Remove
1595 byte endian corrections when fixing up MEM subregs.
1596 (subst_reloads): When combining two subregs, make sure final
1597 offset is congruent to subreg's mode size.
1598 (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
1599 (refers_to_regno_for_reload_p): Use subreg_regno.
1600 (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
1601 * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
1602 correction code for memory subreg fixups.
1603 (forget_old_reload_1): Use subreg_regno_offset.
1604 (choose_reload_regs): Use subreg_regno.
1605 (emit_input_reload_insns): Use SUBREG_BYTE.
1606 (reload_combine_note_store): Use subreg_regno_offset.
1607 (move2add_note_store): Use subreg_regno_offset.
d02af173 1608 * resource.c (update_live_status, mark_referenced_resources): Use
ddef6bc7
JJ
1609 subreg_regno function.
1610 (mark_set_resources): Use subreg_regno function.
1611 * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
1612 (subreg_regno_offset, subreg_regno): Define prototypes.
1613 (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
1614 (gen_lowpart_SUBREG): Add prototype.
1615 * rtl.texi (subreg): Update to reflect new byte offset representation.
1616 Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
1617 * rtlanal.c (refers_to_regno_p): Use subreg_regno.
1618 (reg_overlap_mentioned_p): Use subreg_regno.
1619 (replace_regs); Make sure final offset of combined subreg is
1620 congruent to size of subreg's mode.
1621 (subreg_regno_offset): New function.
1622 (subreg_regno): New function.
1623 * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
1624 * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
1625 * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
1626 * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
1627 (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
1628 * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
1629 (a29k_get_reloaded_address): Use SUBREG_BYTE.
1630 (print_operand): Use SUBREG_BYTE.
1631 * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
1632 * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
1633 (arm_reload_out_hi): Use SUBREG_BYTE.
1634 * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
1635 instead of SUBREG_WORD.
1636 (d30v_print_operand_memory_reference): Use subreg_regno_offset.
1637 * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
1638 SUBREG creation to use byte offset.
1639 * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
1640 inverted load insns): Fix explicit rtl subregs to use byte
1641 offsets.
1642 * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
1643 udivsi3, umodsi3): Generate SUBREGs with byte offsets.
1644 * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
1645 * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
1646 to use byte offsets.
1647 (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
1648 * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
1649 offsets, also make sure it is congruent to SUBREG's mode size.
1650 (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
1651 unnamed ldob insn): Generate SUBREGs with byte offset.
1652 (zero_extendqihi2): SUBREG's are byte offsets.
1653 * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
1654 (m68hc11_gen_highpart): Use SUBREG_BYTE.
1655 * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
1656 zero-extendqisi2): Generate SUBREGs with byte offset.
1657 (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
1658 subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
1659 subregs in rtl to use byte offsets.
1660 * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
1661 * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
1662 (mips_move_2words): Use subreg_regno_offset.
1663 (mips_secondary_reload_class): Use subreg_regno_offset.
1664 * config/mips/mips.md (DImode plus, minus, move, and logical op
1665 splits): Fixup explicit subregs in rtl to use byte offsets.
1666 * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
1667 * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
1668 * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
1669 rtl to use byte offsets.
1670 * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
1671 * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
1672 subregs to use byte offsets.
1673 * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
1674 Fixup explicit subregs in rtl to use byte offsets.
1675 * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
1676 and remove byte endian correction code.
1677 * config/sh/sh.c (output_movedouble): Use subreg_regno.
1678 (gen_ashift_hi): Use SUBREG_BYTE.
1679 (regs_used): Use subreg_regno_offset.
1680 (machine_dependent_reorg): Use subreg_regno_offset.
1681 * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
1682 * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
1683 (movdf_i4): Subregs are byte offsets now.
1684 * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
1685 * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
1686 (REGMODE_NATURAL_SIZE): Override.
1687 (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
1688 * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
1689 with byte offsets.
1690 (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
1691 extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
1692 extendqidi2): Generate SUBREGs with byte offsets, also make sure
1693 it is congruent to SUBREG's mode size.
1694 (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
1695 offsets.
d02af173
ZW
1696 (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
1697 cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
ddef6bc7
JJ
1698 lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
1699 SUBREG_BYTE offset for non-paradoxical subregs in patterns.
d02af173 1700 * config/v850/v850.c (print_operand, output_move_double): Use
ddef6bc7
JJ
1701 subreg_regno function.
1702
ef14c259
AO
17032001-04-03 Alexandre Oliva <aoliva@redhat.com>
1704
924c96eb
AO
1705 * configure.in (target_subdir): Use target_alias, not target.
1706 * configure: Rebuilt.
1707
ef14c259
AO
1708 * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
1709 other way round.
1710 * config/sh/crti.asm: Fix typos in comments.
1711
a7721dc0
AM
17122001-04-03 Alan Modra <alan@linuxcare.com.au>
1713
1714 * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
1715 TARGET_FAST_INDIRECT_CALLS.
1716 * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
1717 -fPIC. Don't warn.
1718 (return_addr_rtx): Short circuit export stub matching when
1719 TARGET_NO_SPACE_REGS.
1720 (output_millicode_call): For out of range calls, make -fPIC
1721 take precedence, then TARGET_PORTABLE_RUNTIME, then ble. Don't
1722 return before delay slot checks when TARGET_PORTABLE_RUNTIME.
1723 * pa.md: Modify length attr calculation of all millicode insns to
1724 match above.
1725
fbe42b1b
GK
17262001-04-02 Geoffrey Keating <geoffk@redhat.com>
1727
1728 * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
1729 Require at least 2.11 in the version test. Specifically check
1730 for and reject GAS version 2.10.90.
1731 * configure: regenerate.
1732
1c7a8112
AM
17332001-04-03 Alan Modra <alan@linuxcare.com.au>
1734
a7721dc0 1735 * pa.c (override_options): Remove PIC profiling warning.
1c7a8112
AM
1736 (hp_profile_labelno): Delete.
1737 (hp_profile_label_rtx): Delete.
1738 (hp_profile_label_name): Delete.
1739 (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
1740 (output_function_prologue): Remove profiling code and all tests on
1741 profile_flag. Move store of PIC_OFFSET_TABLE_REGNUM now that
1742 merge_sp_adjust_with_store can work for PIC and profiling.
1743 (hppa_expand_epilogue): Remove profile_flag test.
1744 (hppa_can_use_return_insn_p): Likewise.
1745 (hppa_init_pic_save): Emit before tail_recursion_reentry, and
1746 cater for PROFILE_HOOK.
1747 (hppa_profile_hook): New function.
a7721dc0 1748 * pa.h (FUNCTION_PROFILER): Now does nothing.
1c7a8112
AM
1749 (PROFILE_HOOK): Define.
1750 (hppa_profile_hook): Declare.
1751 (PROFILE_BEFORE_PROLOGUE): Delete.
1752 (ASM_OUTPUT_REG_PUSH): Delete.
1753 (ASM_OUTPUT_REG_POP): Delete.
a7721dc0
AM
1754 * pa.md (call_profiler): Turn it into a call insn, and don't `use'
1755 r24. Accept function name operand, and use this and a locally
1756 generated label to calculate pc-rel offset to func start.
1c7a8112 1757
2a3e8203
KG
17582001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1759
1760 * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
1761 ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
1762 $(SYSTEM_H).
1763
9ae21d2a
AM
17642001-04-03 Alan Modra <alan@linuxcare.com.au>
1765
1766 * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
1767 LO_SUM cases to where they belong.
1768
847abd1f
RH
17692001-04-02 Richard Henderson <rth@redhat.com>
1770
1771 * except.h (lang_eh_type_covers): Mark extern.
1772 (lang_eh_runtime_type): Likewise.
1773
0313e85b
ZW
17742001-04-02 Zack Weinberg <zackw@stanford.edu>
1775
1776 * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
1777 gengenrtl.c: Wrap generated header in multiple-include guard.
1778 Improve error checking.
1779
79cb7361
KG
17802001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1781
1782 * configure.in: Don't check for putenv.
1783 * configure: Regenerate.
1784 * gcc.c (putenv): Don't define.
1785 * vax/xm-vms.h: Handle putenv.
1786
32ff70d2
JJ
17872001-04-02 Jakub Jelinek <jakub@redhat.com>
1788
1789 * ifcvt.c (noce_emit_move_insn): New.
1790 (noce_try_store_flag, noce_try_store_flag_constants,
1791 noce_try_store_flag_inc, noce_try_store_flag_mask,
1792 noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
1793 noce_try_abs): Use it.
1794 (noce_process_if_block): Likewise.
1795 For STRICT_LOW_PART, take mode from its SUBREG.
1796
d791ea1e
JJ
17972001-04-02 Jakub Jelinek <jakub@redhat.com>
1798
1799 * fold-const.c (fold): Before optimizing unsigned comparison with
1800 0x7fffffffU, make sure arg0 is integral type.
1801
c6955d85
JM
18022001-04-02 Joseph S. Myers <jsm28@cam.ac.uk>
1803
1804 * c-tree.texi: Document representation of wide strings.
1805
efc45658
RH
18062001-04-01 Richard Henderson <rth@redhat.com>
1807
1808 * except.h (expand_builtin_dwarf_fp_regnum): Declare.
1809
e74061a9
JH
1810Sun Apr 1 11:49:05 CEST 2001 Jan Hubicka <jH@suse.cz>
1811
1812 * i386.md: remove obsoleted comments.
1813 (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
1814 (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
1815 fix output template.
1816
7656d28a
MM
18172001-03-31 Marek Michalkiewicz <marekm@linux.org.pl>
1818
1819 * config/avr/libgcc.S (__mulhi3): Optimize previous change.
1820
1757e774
BS
18212001-03-30 Bernd Schmidt <bernds@redhat.com>
1822
1823 * loop.c (load_mems): When generating a load from a pseudo, update
1824 REGNO_LAST_UID.
1825
886cbb88
JH
1826Fri Mar 30 17:36:43 CEST 2001 Jan Hubicka <jh@suse.cz>
1827
1828 * i386.c (ix86_split_long_move): Use change address to compensate
1829 stack pointer change in push instruction.
1830
f021d6fc
JH
1831Fri Mar 30 00:31:00 CEST 2001 Jan Hubicka <jh@suse.cz>
1832
1833 * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
1834 instead of rtx_equal_p; fix the output template.
1835
885a70fd
JH
1836Fri Mar 30 00:21:41 CEST 2001 Jan Hubicka <jh@suse.cz>
1837
1838 * i386.c (ix86_expand_setcc): Support 64bit.
1839 (ix86_expand_int_movcc): Likewise.
1840 * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
1841 New patterns.
1842
1843 * i386.md (allocate_stack_worker): Turn to expander.
1844 (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
1845
1846 * i386.c (print_reg): Do not print x86_64 style regs on IA-32
1847
e4b776a6
RH
18482001-03-29 Richard Henderson <rth@redhat.com>
1849
1850 * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
1851
498cf3d0
MH
18522001-03-28 Matthew Hiller <hiller@redhat.com>
1853
1854 * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
1855 output template.
1856
1857 * MAINTAINERS: Added self.
d02af173 1858
2bb9b75d
RH
18592001-03-28 Richard Henderson <rth@redhat.com>
1860
1861 * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
1862 Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
1863
2bf47a10
JW
18642001-03-28 Jim Wilson <wilson@redhat.com>
1865
1866 * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
1867 operand_subword.
1868
3fdefbcc
KG
18692001-03-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1870
1871 * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
1872
1873 * tradcif.y (yyerror): Likewise. Add format specifier in call to
1874 `error'.
d02af173 1875
3fdefbcc
KG
1876 * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
1877
0ac19cfa
DD
18782001-03-28 DJ Delorie <dj@redhat.com>
1879
1880 * Makefile.in (stage1_build): Revert CFLAGS patch.
1881
500164d2
MM
18822001-03-28 Marek Michalkiewicz <marekm@linux.org.pl>
1883
1884 * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
1885 when multiplier or multiplicand is zero.
1886
669ff14e
BS
18872001-03-28 Bernd Schmidt <bernds@redhat.com>
1888
1889 * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
1890
112333d3
BS
1891 * config/ia64/ia64.c (update_set_flags): New function, broken out of
1892 rtx_needs_barrier.
1893 (set_src_needs_barrier): Likewise.
1894 (rtx_needs_barrier): For SET case, use these two functions. Rework
1895 PARALLEL case to handle all inputs before all outputs.
1896 (emit_insn_group_barriers): Call init_insn_group_barriers only if we
1897 saw a label and no stop bit since then.
1898 (maybe_rotate, process_epilogue): Add prototypes.
1899
3553b09d
RH
19002001-03-28 Richard Henderson <rth@redhat.com>
1901
1902 * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
1903 not TARGET_TOC for special toc restore handling.
1904 * config/rs6000/rs6000.md (eh_return): Likewise.
1905
4573b4de
RH
19062001-03-28 Richard Henderson <rth@redhat.com>
1907
1150a841
RH
1908 * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
1909 current_function_calls_eh_return.
1910 (output_function_epilogue): Handle eh_return.
1911 * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
1912 (EH_RETURN_DATA_REGNO): New.
1913 (EH_RETURN_STACKADJ_RTX): New.
1914 (EH_RETURN_HANDLER_RTX): New.
1915 * config/sparc/sparc.md (call/short branch peepholes): Check
1916 can_throw_internal instead of in_same_eh_region.
1917
83720594
RH
1918 * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
1919 for eh_return data registers.
1920 (rs6000_emit_prologue): Save eh_return data registers.
1921 (rs6000_emit_epilogue): Force inline restores if eh_return.
1922 Restore eh_return data registers. Mind EH_RETURN_STACKADJ_RTX.
1923 * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
1924 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
1925 (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
1926 the target uses one.
1927 * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
1928 (return_eh_si, return_eh_di): Remove.
1929 (eh_return): New, from corpse of eh_epilogue.
1930 (eh_set_lr_si, eh_set_lr_di): New.
1931
1020a5ab
RH
1932 * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
1933 (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
1934 True for pic register if current_function_calls_eh_return.
1935 (ix86_expand_epilogue): Change "emit_return" argument into "style".
1936 Handle eh_return requirements.
1937 * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
1938 (EH_RETURN_STACKADJ_RTX): New.
1939 * config/i386/i386.md (exception_receiver): Remove.
1940 (eh_return, eh_return_1): New.
1941 * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1942
1943 * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
1944 (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
1945 (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
1946 * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
1947 (EH_RETURN_DATA_REGNO): New.
1948 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
1949 * config/alpha/alpha.md (eh_epilogue): Remove.
1950 (exception_receiver): Use $26 for ldgp input.
4573b4de
RH
1951 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1952
52a11cbf
RH
19532001-03-28 Richard Henderson <rth@redhat.com>
1954
1955 * except.c: Rewrite entirely for IA-64 ABI exception handling.
1956 * except.h: Likewise.
1957
1958 * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
1959 (LIB2ADDEHDEP): New.
1960 (LIB2FUNCS_EH): Remove.
1961 (LIB2ADD): Remove LIB2ADDEH.
1962 (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
1963 (LIBGCC_DEPS): Use LIB2ADDEHDEP.
1964 (crt{begin,end}[S].o): Likewise.
1965 (except.o): Update includes.
1966 * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
1967 (libgcc2_c_dep): Use LIB2ADDEHDEP.
1968
1969 * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
1970 * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
1971 * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
1972 * builtins.c (expand_builtin): Implement it.
1973 [BUILT_IN_EH_RETURN]: Update for nr arguments change.
1974 * c-common.c (c_common_nodes_and_builtins): Declare it.
1975 * c-decl.c (init_decl_processing): Update __builtin_eh_return.
1976 * calls.c (libfunc_nothrow): Remove.
1977 (emit_library_call_value_1): Don't call it.
1978 * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
1979 * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
1980 (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
1981 * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
1982 (current_funcdef_number): Globalize.
1983 (output_call_frame_info): Emit frame data if an lsda is needed.
1984 Generate augmentation for personality routine. Don't play with
1985 difference symbols.
1986 (dwarf2out_begin_prologue): Record funcdef_number.
1987 * dwarf2out.h (current_funcdef_number): Declare.
1988 * expr.c (expand_expr): Update for except.h name changes.
1989 Remove POPDCC_EXPR, POPDHC_EXPR. Add EXC_PTR_EXPR.
1990 * expr.h (LTI_throw, LTI_rethrow): Remove.
1991 (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
1992 (LTI_eh_rtime_match): Remove.
1993 (LTI_unwind_resume, LTI_eh_personality): Add.
1994 (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
1995 * final.c (final): Don't call check_exception_handler_labels,
1996 init_insn_eh_region, or free_insn_eh_region.
d02af173 1997 (final_scan_insn): Always emit debug labels for
52a11cbf
RH
1998 NOTE_INSN_EH_REGION notes.
1999 * flags.h (flag_new_exceptions): Remove.
2000 * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
2001 (record_active_eh_regions): Remove.
2002 (count_basic_blocks): Check all instructions for REG_EH_REGION.
2003 Use can_throw_internal.
2004 (find_basic_blocks_1): Likewise.
2005 (move_stray_eh_region_notes): Remove.
2006 (find_label_refs): No eh_return_stub_label.
2007 (make_edges): Likewise. No init/free_eh_nesting_info. Handle RESX.
2008 (make_eh_edge): No eh_nest_info. Update for reachable_handlers
2009 changes.
2010 (delete_unreachable_blocks): Don't track deleted handlers.
2011 (flow_delete_block): Use maybe_remove_eh_handler.
2012 (delete_eh_regions): Remove.
2013 (merge_blocks): Don't check for eh region match.
d02af173 2014 (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
52a11cbf
RH
2015 EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
2016 (init_propagate_block_info): Disable dead frame store optimization
2017 when current_function_calls_eh_return.
2018 (dump_bb): Don't print eh_beg, eh_end.
2019 * function.c (fixup_var_refs): No catch_clauses.
2020 (expand_function_end): Likewise. Call expand_eh_return before
2021 the return register use. Call sjlj_emit_function_exit_after.
2022 (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
2023 * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
2024 * ifcvt.c (dead_or_predicable): Remove eh region check.
2025 * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
2026 Don't check for EH vs parameters.
2027 (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
2028 (expand_inline_function): Call duplicate_eh_regions.
2029 (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
2030 (copy_insn_notes): Remap REG_EH_REGION notes.
2031 (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
2032 * integrate.h (struct inline_remap): Add local_return_label.
2033 * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
2034 check_exception_handler_labels, nor exception_optimize.
2035 (find_cross_jump): No EH region check.
2036 * optabs.c (init_optabs): Update for changed eh libfuncs.
2037 * rtl.def (RESX): New.
2038 * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
2039 * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
2040 checks. Update for except.h name changes.
2041 (expand_cleanups): Likewise.
2042 (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
2043 * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
2044 (compile_file): Call init_eh before init_optabs. Don't
2045 output_exception_table here.
2046 (rest_of_compilation): Call convert_from_eh_region_ranges,
2047 convert_to_eh_region_ranges, output_function_exception_table.
2048 Don't emit_eh_context.
2049 * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
2050 (EXC_PTR_EXPR): New.
2051
2052 * md.texi (eh_epilogue): Remove.
2053 (eh_return): Document.
2054 * tm.texi (EH_RETURN_DATA_REGNO): Document.
2055 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
2056
2057 * eh-common.h: Remove file.
2058 * frame-dwarf2.c, frame.c, frame.h: Remove files.
2059 * libgcc2.c (L_eh): Remove.
2060
2061 * unwind-dw2-fde.c: New file, largely copied from frame.c.
2062 * unwind-dw2-fde.h: New file.
2063 * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
2064 * unwind-sjlj.c, unwind.h, unwind.inc: New files.
2065 * libgcc-std.ver: Update for eh symbols.
2066
c1e9f663
RH
20672001-03-27 Richard Henderson <rth@redhat.com>
2068
a614d82e
RH
2069 * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
2070 reduce false positives.
2071 (regmove_optimize): Disable if flag_non_call_exceptions.
2072
7cc8342c
RH
2073 * stmt.c (expand_return): Remove always true predicate.
2074 (expand_decl_cleanup_no_eh): Remove dead code.
2075
ca3c1028
RH
2076 * sched-deps.c (sched_analyze_insn): Consolidate scheduling
2077 barrier code. Add a scheduling barrier if a non-call insn
2078 can throw internally.
2079
4f73495e
RH
2080 * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
2081 Auto-inc addresses trap only if their base register does.
2082
54590688
RH
2083 * except.c (can_throw_internal): Rename from can_throw.
2084 * except.h, resource.c: Update references.
2085
8cd44271
RH
2086 * integrate.c (copy_insn_list): Use returnjump_p.
2087 (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
2088
89996b6e
RH
2089 * function.h (struct function): Move all boolean valued fields
2090 to single bit fields at the end of the struct.
2091
c1e9f663
RH
2092 * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
2093 jump.c, toplev.c:
2094 Rename asynchronous_exceptions to flag_non_call_exceptions.
2095
d02af173 2096 * gthr-single.h (UNUSED): New. Distinguish between how C
e64a6541
RH
2097 and C++ mark unused function arguments. Use throughout.
2098
531073e7
RH
2099 * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
2100 value to target configuration header.
2101 * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
2102 * config.in, configure: Rebuild.
2103 * except.h (USING_SJLJ_EXCEPTIONS): New. Define based on
2104 configuration and target defines.
2105 (exceptions_via_longjmp): Remove.
2106 * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
2107 Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
2108
894d0e39
RH
2109 * except.h (flag_non_call_exceptions): Move ...
2110 * flags.h: ... here.
2111
662795a8
RH
2112 * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
2113 exceptions, put the note on the trapping instruction.
2114
461fc4de
RH
2115 * flags.h (flag_new_exceptions): Remove.
2116 * toplev.c: Don't set it.
2117 * final.c: Don't check it.
2118 * except.c: Provide stub definition.
2119
ad73b558
RH
2120 * flow.c (tidy_fallthru_edges): Don't combine complex edges.
2121 (calculate_global_regs_live): Kill call-clobbered registers
2122 across exception edges.
2123 * reg-stack.c (convert_regs_1): Kill the entire target stack
2124 across non-call exception edges.
2125
2f2ee4bb
RH
2126 * flow.c (cleanup_cfg): Take no argument.
2127 * output.h, sibcall.c, toplev.c: Update all calls.
2128
8e944909
KG
21292001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2130
2131 * configure.in: Don't check for bcopy.
2132 * configure, config.in: Regenerate.
2133
2134 * system.h: Don't define or prototype bcopy, instead poison it.
2135
3d74dad8
RH
21362001-03-27 Richard Henderson <rth@redhat.com>
2137
2138 * function.c (expand_function_start): Set DECL_REGISTER on
2139 a pseudo used for DECL_RESULT.
2140
695ee791
RH
2141 * rtl.h (LCT_NORETURN): New.
2142 * calls.c (emit_library_call_value_1): Handle it.
2143
e804281e
SS
21442001-03-27 Stan Shebs <shebs@apple.com>
2145
2146 * objc/objc-act.c (objc_init): Use dump_base_name.
2147 (gen_declaration): Clear the buffer arg.
2148 (gen_declaration_1): New function, body of gen_declaration.
2149 (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
2150 (gen_method_decl): Ditto, plus always clear buffer arg.
2151 (error_with_ivar): Simplify.
2152 (warn_with_method): Ditto.
2153 (build_message_expr): Don't clear buffers.
2154 (dump_interface): Ditto.
2155 (objc_debug): Ditto.
2156 (build_keyword_selector): Clear the buffer by only zeroing
2157 the first element.
2158 (objc_implementation_context): Declare.
2159 (start_class): Warn about missing @end.
2160 (finish_objc): Ditto.
2161
055c7759
JDA
21622001-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
2163
2164 * reload1.c (eliminate_regs): Don't abort on MEM USEs.
2165
911e6107
KG
21662001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2167
2168 * Makefile.in (SYSTEM_H): Define.
2169 Depend on $(SYSTEM_H), not system.h.
2170
2171 * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
2172
685af3af
JW
21732001-03-27 Jim Wilson <wilson@redhat.com>
2174
ad0fc698
JW
2175 * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
2176 IA64_UNWIND_EMIT.
2177 * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
2178 (process_epilogue): New static function.
2179 (process_set): Call process_epilogue instead of emitting .restore
2180 directly.
2181 (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
2182
685af3af
JW
2183 * flow.c (struct reg_cond_life_info): New fields orig_condition
2184 and stores.
2185 (init_propagate_block_info): Set new fields.
2186 (mark_regno_cond_dead): Set and use new fields.
2187 (flush_reg_cond_reg_1): Likewise.
2188 (and_reg_cond, case AND): Check for redundant AND conditions.
2189 (mark_used_reg): Delete unnecessary clears before freeing splay trees.
2190 Set new fields.
2191
b044e9d5
NB
21922001-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
2193
2194 * cppmacro.c (stringify_arg): Null terminate strings.
2195
0b29309a
ZW
21962001-03-27 Zack Weinberg <zackw@stanford.edu>
2197
2198 * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
2199 inclusion style. xm-m68hc11.h no longer exists.
2200 * config/m68hc11/xm-m68hc11.h: Delete file.
2201 * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
2202
2203 * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
2204 Don't define GCC_VERSION, N_, or PARAMS; don't include
2205 gansidecl.h or stdio.h. Define inhibit_libc here.
2206 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
2207 Delete code conditioned on #if GCC_VERSION == 2095.
2208
2209 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
2210 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
2211 Delete code conditioned on #if GCC_VERSION == 2095.
2212
4bc5fbd4
KG
22132001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2214
2215 * system.h: Include symcat.h.
2216 (STRINGIFY): Don't define.
2217
2218 * configure.in: Adjust comment.
2219
2220 * builtins.c: Use STRINGX, not STRINGIFY.
2221 * gencheck.c: Likewise.
2222 * gengenrtl.c: Likewise.
2223 * protoize.c: Likewise.
2224
2225 * cpplex.c: Don't include symcat.h.
2226 * cpplib.c: Likewise.
2227
2228 * gansidecl.h (HAVE_STRINGIZE): Don't define.
2229
b13aca19
AM
22302001-03-27 Alan Modra <alan@linuxcare.com.au>
2231
2232 * c-typeck.c (digest_init): Fold init expression.
2233
7c5b92c4
KG
22342001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2235
2236 * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
2237
5b5c2734
AM
22382001-03-27 Alan Modra <alan@linuxcare.com.au>
2239
2240 * except.c (eh_regs): Save results of build_pointer_type to a temp
2241 as FUNCTION_VALUE macro may evaluate its args multiple times.
2242
b850de4f
MM
22432001-03-26 Mark Mitchell <mark@codesourcery.com>
2244
2245 * c-common.h (DECL_NUM_STMTS): New macro.
2246 * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
2247 DECL_FRAME_SIZE.
2248 (pushdecl): Likewise.
2249 * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
2250 * integrate.c (expand_inline_function): Don't check
2251 DECL_FRAME_SIZE.
2252 * print-tree.c (print_node): Don't print it.
2253 * toplev.c (rest_of_compilation): Don't try to inline when
2254 flag_no_inline is on.
2255 * tree.h (DECL_FRAME_SIZE): Remove.
2256 (tree_decl): Adjust accordingly.
0b29309a 2257
d38a30c9
KG
22582001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2259
2260 * combine.c (try_combine): Use memcpy, not bcopy.
2261
2262 * genattrtab.c (expand_units): Likewise.
2263
cc2e591b
JH
2264Mon Mar 26 15:55:08 CEST 2001 Jan Hubicka <jh@suse.cz>
2265
2266 * i386.md (push mem DI peep2): New.
2267 (mov 0, mov -1 peep2): Handle 64bit.
2268 (lea to arithmetics peep2): Handle 64bit leas.
2269 (rsp arithmetics to push/pop peep2s): New.
2270
2271 * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
2272
8362f420
JH
2273Mon Mar 26 14:35:18 CEST 2001 Jan Hubicka <jh@suse.cz>
2274
2275 * i386.c (struct machine_function): Add save_varrargs_registers.
2276 (ix86_save_varrargs_registers): New macro.
2277 (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
2278 (ix86_expand_prologue): Likewise.
2279 (ix86_emit_epilogue_esp_adjustement): Likewise.
2280 (ix86_expand_epilogue): Likewise.
2281 * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
2282 (pro_epilogue_adjust_stack_1): New insn.
2283 (pro_epilogue_adjust_stack_rex64): Likewise.
2284 * i386.h (MASK_NO_RED_ZONE): New constant.
2285 (TARGET_RED_ZONE): New macro.
2286 (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
2287 (RED_ZONE_SIZE): New constant.
2288 (RED_ZONE_RESERVE): New constant.
2289
56b89084
KG
22902001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2291
2292 * toplev.c (set_float_handler): Use memcpy, not bcopy.
2293
273c3244
KH
22942001-03-25 Kazu Hirata <kazu@hxi.com>
2295
2296 * config/h8300/h8300.md (umodqi3): Output a tab instead of a
2297 space.
2298 (modqi3): Likewise.
2299 (umodhi3): Likewise.
2300 (modhi3): Likewise.
2301
d2a2648c
KG
23022001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2303
2304 * mkconfig.sh (DEFINES): Handle entries with '='.
2305
2306 * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
2307 Set xm_defines to MACRO=value instead.
2308
2309 * i370/xm-mvs.h: Delete.
0b29309a 2310
d2a2648c
KG
2311 * ns32k/xm-pc532-min.h: Likewise.
2312
371bc54b
JH
2313Sun Mar 25 15:01:40 CEST 2001 Jan Hubicka <jh@suse.cz>
2314
2315 * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
2316 shiftdi_operand;
2317 use ix86_expand_binary_operator
2318 (?sh??i_?): Disable for 64bit.
2319 * i386.h (PREDICATE_CODES): Add shiftdi_operand.
2320 * i386.c (shiftdi_operand): New predicate.
2321
2322 * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
2323 ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
2324 ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
2325 ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
2326 ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
2327 lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
2328 lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
2329 rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
2330 rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
2331 rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
2332 (rotldi3, rotrdi3): New expanders.
2333
0945b39d
JH
2334Sun Mar 25 14:25:33 CEST 2001 Jan Hubicka <jh@suse.cz>
2335
2336 * i386.md (movstrsi): Move offline.
2337 (movstrdi): New.
2338 (strmovdi_rex64): New.
2339 (strmov?i): Accept 64bit.
2340 (strmov?i_rex64): New.
2341 (strmov?i_rex_1): New.
2342 (strmov?i_1): Disable for 64bit.
2343 (rep_mov?i_rex64): New.
2344 (rep_mov?i): Disable for 64bit.
2345 (clrstrsi): Move offline.
2346 (strset?i_rex64): New.
2347 (strset?i: Accept 64bit.
2348 (rep_stos?i): Disable for 64bit.
2349 (rep_stos?i_rex64): New.
2350 (strset?i_rex_1): New.
2351 (strset?i_1): Disable for 64bit.
2352 (cmpstrsi): Accept 64bit.
2353 (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
2354 (cmpstrqi_nz_rex_1): New.
2355 (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
2356 (strlensi): Move offline.
2357 (strlendi): New.
2358 (strlenqi_1): Disable for 64bit; fix constraints.
2359 (strlenqi_rex_1): New.
2360 * i386.c (ix86_adjust_counter): New static function.
2361 (ix86_zero_extend_to_Pmode): Likewise.
2362 (ix86_expand_aligntest): Likweise.
2363 (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
2364 (ix86_expand_movstr): New global function.
2365 (ix86_expand_clrstr): New global function.
2366 (ix86_expand_strlen): New global function.
2367 * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
2368 ix86_expand_strlen): Declare.
2369 (ix86_expand_strlensi_unroll_1): Delete.
2370
9b70259d
JH
2371Sat Mar 24 23:15:19 CET 2001 Jan Hubicka <jh@suse.cz>
2372
2373 * i386.md (cmpdi): Fix operand predicates.
2374 (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
2375 cmpdi_1_insn_rex64): New patterns.
2376 (adddi3): Turn to expander.
2377 (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
2378 (addsi3_carry_zext): New pattern.
2379 (adddi_?_rex64): New patterns and splitters.
2380 (addsi_?_zext): New patterns.
2381 (subsi3_carry_zext): New pattern.
2382 (subdi_?_rex64): New patterns and splitters.
2383 (iorsi_?_zext): New patterns.
2384 (iordi_?_rex64): New patterns and splitters.
2385 (iorsi_?_zext): New patterns.
2386 (iorsi_?_zext_imm): New patterns.
2387 (xorsi_?_zext): New patterns.
2388 (xordi_?_rex64): New patterns and splitters.
2389 (xorsi_?_zext): New patterns.
2390 (negdi*): New patterns.
2391 (one_cmpldi*): Likewise.
2392 (one_cmplsi*_zext, negsi*_zext): Likewise.
2393 (testqi_ext_3_rex64): New pattern.
2394
26e5b205
JH
2395Sat Mar 24 21:13:28 CET 2001 Jan Hubicka <jh@suse.cz>
2396
2397 * i386-protos.h (ix86_split_long_move): Return void.
2398 * i386.c (ix86_split_to_parts): Handle 64bit target.
2399 (ix86_split_long_move): Likewise.
2400 * i386.md (all calls to ix86_split_long_move): Update.
2401
75e0407e
RH
24022001-03-23 Richard Henderson <rth@redhat.com>
2403
2404 * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
2405 to avoid shadowing arguments.
2406
60080880
JJ
24072001-03-23 Jakub Jelinek <jakub@redhat.com>
2408
2409 * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
2410 to variable names where DECL_NAME is different from
2411 DECL_ASSEMBLER_NAME.
2412
9ea07fd0
JW
24132001-03-23 Jim Wilson <wilson@redhat.com>
2414
2415 * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
2416 (assemble_alias): Call make_decl_rtl.
0b29309a 2417
25caaba8
R
2418Fri Mar 23 16:59:08 2001 J"orn Rennecke <amylaar@redhat.com>
2419
2420 * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
2421
60c87482
BM
24222001-03-23 Bryce McKinlay <bryce@albatross.co.nz>
2423
2424 * extend.texi: Document the "java_interface" attribute.
2425
1b0ae0f9
ZW
24262001-03-22 Zack Weinberg <zackw@stanford.edu>
2427
2428 * mkconfig.sh: Use a subshell with redirected stdout,
2429 instead of closing stdout and confusing commands that run
2430 afterward. Throw away output of cmp.
2431
b937498e
GS
24322001-03-22 Gordon Sadler <gbsadler1@lcisp.com>
2433
2434 * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
2435
123bf9e3
JH
2436Thu Mar 22 22:15:59 CET 2001 Jan Hubicka <jh@suse.cz>
2437
2438 * i386.md (zero_extendsidi2_32): Break out from ...
2439 (zero_extendsidi2): ... here ; turn to expander.
2440 (zero_extendsidi2_rex64): New.
2441 (extendsidi2_32): Break out from ...
2442 (extendsidi2): ... here ; turn to expander.
2443 (extendsidi2_rex64): New.
2444 (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
2445 (trunc?f?f splitters): Add 64bit versions.
2446
0ec259ed
JH
2447Thu Mar 22 21:41:16 CET 2001 Jan Hubicka <jh@suse.cz>
2448
2449 * i386.md (pushsi, pushsi2_prologue): Disable.
2450 (pushsi2_rex64): New.
2451 (movabs?i_1_rex64, movabs?i_2_rex64): New.
2452 (movqi_ext_1): Disable for 64bit.
2453 (movqi_ext_1_rex64): New.
2454 (pushdi2_rex64): New pattern, peep2s and splitter.
2455 (pushdi2_prologue_rex64): New pattern.
2456 (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
2457 Likewise.
2458 (movdi splitters): Disable for 64bit.
2459 (movdi_1_rex64): New pattern, peep2s and splitters.
2460 (swapdi): New pattern.
2461 (pushsf): Disable for 64bit.
2462 (pushsf_rex64): New pattern and splitter.
2463 (pushdf_nointeger): Disable for 64bit.
2464 (pushdf_integer): Handle the 64bit case.
2465 (pushtf): Likewise; update splitters.
2466
5e7f4a4a
RH
24672001-03-22 Richard Henderson <rth@redhat.com>
2468
2469 * mkconfig.sh: Include insn-flags.h.
2470 * Makefile.in (CONFIG_H): Include insn-flags.h.
2471 (lots of objects): Remove insn-codes.h and insn-flags.h.
2472
2473 * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
2474 integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
2475 regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
2476 avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
2477 dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
2478 i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
2479 m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
2480 mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
2481 pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
2482 v850/v850.c, vax/vax.c:
2483 Don't include insn-flags.h.
2484
2485 * diagnostic.c, expr.h, reload.c, toplev.c:
2486 Don't include insn-codes.h.
2487
2488 * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
2489 final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
2490 c4x/c4x.c, i960/i960.c, mips/mips.c:
2491 Don't include insn-codes.h or insn-flags.h.
2492
2493 * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
2494 or insn-flags.h in the generated code.
2495 * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
2496 (main): Forward declare struct rtx_def.
2497
52a11d15
JM
24982001-03-22 Joseph S. Myers <jsm28@cam.ac.uk>
2499
8b87acb8
JM
2500 * invoke.texi (-ffast-math): Remove duplicate line about
2501 __FAST_MATH__.
2502
52a11d15
JM
2503 * gcc.texi: Remove more obsolete documentation of bugs and
2504 installation problems.
2505
b5f1747c
KH
25062001-03-21 Kazu Hirata <kazu@hxi.com>
2507
2508 * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
2509 into two parts.
2510
64d9c3fe
JM
25112001-03-20 Jason Merrill <jason@redhat.com>
2512
2513 * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
2514 not '.' or '$'.
2515 * tree.c (FILE_FUNCTION_FORMAT): Likewise.
2516 * varasm.c (CHKR_PREFIX): Likewise.
2517
4eadbbd5
RK
2518Wed Mar 21 14:27:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2519
52d76e11
RK
2520 * gcse.c (hash_scan_set): An expression is not anticipatible if it
2521 is part of a multi-SET insn.
2522
bca05d20
RK
2523 * cse.c (find_comparison_args): Remove previous change.
2524 * ifcvt.c (noce_process_if_block): When moving an insn, remove any
2525 REG_EQUAL notes.
2526
37c7da7b
RK
2527 * config/i386/i386.md (conditional_trap): Remove warning.
2528
a8d19608
RK
2529 * recog.c (push_operand): Fix error in last change that caused
2530 undefined symbol on many targets.
2531
4eadbbd5 2532 * sdbout.c: #include ggc.h.
60e589ef 2533 (sdbout_init): Move to end of file.
4eadbbd5
RK
2534 Call ggc_add_tree_root for anonymous_types.
2535 (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
2536 (sdbout_one_type): Use DECL_NAME for field name.
2537 * Makefile.in (sdbout.o): Show includes ggc.h.
2538
0d7d98ee
JH
2539Wed Mar 21 20:33:26 CET 2001 Jan Hubicka <jh@suse.cz>
2540
2541 * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
2542 (override_options): Use properlimits for preferred_stack_boundary.
2543 (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
2544 on x86_64.
2545 (ext_register_operand): Accept DImode.
2546 (load_pic_register): Abort on 64bit.
2547 (gen_push): Use Pmode instead of SImode.
2548 (ix86_save_reg): Pic reg is never used on 64bit.
2549 (ix86_expand_prologue): Likewise.
2550 (ix86_emit_save_regs): Use Pmode instead of SImode.
2551 (legitimate_address_p): Check displacement for 64bit.
2552 (print_operand): Avoid outputting of (%rip) on 64bit.
2553 (print_operand_address): Output (%rip) where possible.
2554 (split_di): Abort on 64bit registers.
2555 (ix86_expand_branch): DImode comparison is simple for x86_64.
4eadbbd5
RK
2556 (memory_address_length): Recognize memory addresses formed using
2557 PRE/POST modify.
0b29309a 2558 (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
4eadbbd5 2559 for x86_64.
0d7d98ee
JH
2560 * i386.h (TARGET_USE_SAHF): Disable for 64bit.
2561
70a32495
JH
2562Wed Mar 21 18:51:19 CET 2001 Jan Hubicka <jh@suse.cz>
2563
2564 * recog.c (push_operand): Recognize new format of push instructions.
2565
7dd4b4a3
JH
2566Wed Mar 21 10:53:57 CET 2001 Jan Hubicka <jh@suse.cz>
2567
2568 * i386.md (pushqi1): New.
2569 * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
2570 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
2571 x86_64_immediate_operand, x86_64_immediate_operand,
2572 x86_64_zext_immediate_operand): Declare.
2573 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
2574 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
2575 x86_64_immediate_operand, x86_64_immediate_operand,
2576 x86_64_zext_immediate_operand): define.
2577 * i386.h (PREDICATE_CODES): Add new predicates.
2578
2579Wed Mar 21 10:25:13 CET 2001 Jan Hubicka <jh@suse.cz>
566aa174
JH
2580
2581 * i386.md (pophi1, popqi1, pushqi1): Remove.
2582
2583 * expr.c (emit_single_push_insn): New function.
2584 (move_by_pieces): Accept NULL as destination for push instructions.
2585 (gen_push_operand): Kill.
2586 (emit_push_insn): Pass NULL when pushing; avoid updating of
2587 stack_pointer_delta.
2588 * expr.h (gen_push_operand): Kill.
2589
e26b8996
RK
2590Tue Mar 20 20:15:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2591
2592 * rtl.texi (COMPARE): Clarify documentation and reference section
2593 on comparisons.
2594
e44949e9
SS
25952001-03-20 Stan Shebs <shebs@apple.com>
2596
2597 * objc/objc-act.c (get_static_reference): Use NULL_TREE.
2598 (get_object_reference): Ditto.
2599 (error_with_ivar): Use error_with_file_and_line.
2600 (warn_with_method): Use warning_with_file_and_line.
2601
2ba5f9b1
TT
26022001-03-20 Tom Tromey <tromey@redhat.com>
2603
2604 * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
2605
116b39e0
MM
26062001-03-20 Mark Mitchell <mark@codesourcery.com>
2607
2608 * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
2609 variables that are TREE_PUBLIC, even if not TREE_STATIC.
2610
17da603c 26112001-03-20 DJ Delorie <dj@redhat.com>
67680154
DD
2612
2613 * Makefile.in (install-libgcc): Pass complete list of variables.
2614 (install-multilib): Ditto.
2615
79f96374
DB
26162001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
2617
2618 * config/i386/cygwin.h: Declare ctor_section, dtor_section
2619 drectve_section, switch_to_section.
2620
2621 * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
2622 i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
2623 i386_pe_mark_dllimport.
2624
26252001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
0b29309a 2626
79f96374
DB
2627 * config/i386/cygwin.h: Include <stdio.h> Declare and constify
2628 functions i386_pe_*.
2629
2630 * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
2631 i386_pe_* functions with char * arguments.
2632
a92facbb
AO
26332001-03-20 Alexandre Oliva <aoliva@redhat.com>
2634
2635 * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
2636 and store.
2637 (movsi_ie): Introduce fpul store.
2638
78f8fa86
AM
26392001-03-20 Alan Modra <alan@linuxcare.com.au>
2640
2641 * Makefile.in (OBJS): Remove hashtab.o.
2642
ced5bce7
SS
26432001-03-19 Stan Shebs <shebs@apple.com>
2644
2645 * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
2646 * c-lang.c (maybe_objc_method_name): Ditto.
2647 * c-tree.h (maybe_objc_method_name): Remove decl.
2648
d60726da
TT
26492001-03-19 Tom Tromey <tromey@redhat.com>
2650
2651 * gcc.c (init_gcc_specs): Fix comment.
2652
68e568c2
MM
26532001-03-19 Mark Mitchell <mark@codesourcery.com>
2654
92643fea
MM
2655 Compute DECL_ASSEMBLER_NAME lazily.
2656 * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
2657 (DECL_ASSEMBLER_NAME_SET_P): New macro.
2658 (SET_DECL_ASSEMBLER_NAME): Likewise.
2659 (COPY_DECL_ASSEMBLER_NAME): Likewise.
2660 (set_decl_assembler_name): Declare.
2661 (lang_set_decl_assembler_name): Likewise.
2662 * tree.c (lang_set_decl_assembler_name): New variab.e
2663 (set_decl_assembler_name): New function.
2664 (init_obstacks): Set lang_set_decl_assembler_name.
2665 (build_decl): Don't set DECL_ASSEMBLER_NAME.
2666 * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
2667 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
2668 where it's not necessary.
2669 (builtin_function): Likewise.
2670 (finish_decl): Likewise.
2671 * dbxout.c (dbxout_type_methods): Likewise.
2672 * ggc-common.c (ggc_mark_trees): Likewise.
2673 * profile.c (output_func_start_profiler): Likewise.
2674 * varasm.c (make_decl_rtl): Likewise.
2675
68e568c2
MM
2676 * cse.c (find_comparison_args): Update documentation. Fix
2677 mishandling of COMPARE operations.
2678
2679 * tree.def (ABS_EXPR): Add documentation.
2680 * fold-const.c (fold): Improve folding of ABS_EXPRs.
2681
d4b6faf6
ZW
26822001-03-19 Zack Weinberg <zackw@stanford.edu>
2683
2684 * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
2685
373368fd
JJ
26862001-03-19 Jakub Jelinek <jakub@redhat.com>
2687
2688 * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
2689 Remove ia32 linux PIC kludge and move it...
2690 * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
2691
7343a5a9
JH
2692Mon Mar 19 18:53:54 CET 2001 Jan Hubicka <jh@suse.cz>
2693
2694 * i386.md (absdf2 expander): Fix 64bit case.
2695
a8e5b5d9
BL
26962001-03-19 Brad Lucier <lucier@math.purdue.edu>
2697
2698 * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
2699
e7aadbbb
AH
27002001-03-16 Andrew Haley <aph@cambridge.redhat.com>
2701
0b29309a 2702 * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
e7aadbbb 2703
5df3dc23
GP
27042001-03-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2705
2706 * README.X11: Remove obsolete file.
2707
ff9b0a49
AG
27082001-03-18 Anthony Green <green@redhat.com>
2709
2710 * config/pj/pj.h: Remove some trailing commas.
2711 (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
2712
bf501a65
RH
27132001-03-18 Richard Henderson <rth@redhat.com>
2714
2715 * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
2716 * calls.c: ... here.
2717 * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
2718 defaults for them here.
2719
488744fa
AG
27202001-03-17 Anthony Green <green@redhat.com>
2721
2722 * config/pj/lib1funcs.S: Fix broken comment.
2723 * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
2724 labels with '.'.
2725
1f618c58
JM
27262001-03-18 Joseph S. Myers <jsm28@cam.ac.uk>
2727
2728 * gcc.texi: Remove obsolete information relating to build and
2729 installation problems with enquire or the Pyramid C compiler.
2730
fbfa55b0
RH
27312001-03-17 Richard Henderson <rth@redhat.com>
2732
2733 * dwarf2out.c (queue_reg_save): New.
2734 (flush_queued_reg_saves, clobbers_queued_reg_save): New.
2735 (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
2736 dwarf2out_reg_save.
2737 (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
2738 (cfa, cfa_store, cfa_temp): Make static.
2739 * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
2740
464186fb
RH
27412001-03-17 Richard Henderson <rth@redhat.com>
2742
2743 * integrate.h (struct inline_remap): Add local_return_label.
2744 * integrate.c (expand_inline_function): Initialize it and emit
2745 it after copy_insn_notes.
2746 (copy_insn_list): Don't store local_return_label here.
2747 (copy_insn_notes): New function split out from copy_insn_list.
2748
acc187f5
RH
27492001-03-17 Richard Henderson <rth@redhat.com>
2750
2751 * dwarf2out.c (lookup_filename): Emit .file if the assembler
2752 is generating .debug_line.
2753 (dwarf2out_init): Add main_input_filename to the file table first.
2754 * configure.in (as_dwarf2_debug_line): Test with file number 1
2755 instead of file number 0.
2756
6732576c
RK
2757Sat Mar 17 11:52:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2758
f1c6ba8b
RK
2759 * combine.c (undobuf): Remove field previous_undos; all refs deleted.
2760 (gen_rtx_combine): Deleted; all references changed as appropriate.
2761 (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
2762
6732576c
RK
2763 * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
2764
3b92de06
DB
27652001-03-17 David Billinghurst <David.Billinghurst@riotinto.com>
2766
2767 * config/i386/xm-cygwin.h: Include <sys/cygwin.h. Remove unused
2768 variable.
2769
0c35f902
JW
27702001-03-16 Jim Wilson <wilson@redhat.com>
2771
2772 * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
2773 then set it to LOC_REG (79) instead of aborting.
2774
cf440c3c
PE
27752001-03-16 Phil Edwards <pme@sources.redhat.com>
2776
2777 * gccbug.in: Remove high priority.
2778
e48cd290
RH
27792001-03-16 Richard Henerson <rth@redhat.com>
2780
2781 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
2782 output with a space instead of deleting it.
2783 * configure: Regenerate.
2784
2d6eb5bf
ZW
27852001-03-16 Zack Weinberg <zackw@stanford.edu>
2786
2787 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
2788 handles the gory details of converting an object file into
2789 something that's safe to grep.
2790 (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
2791 gcc_AC_C_COMPILE_ENDIAN. Use gcc_AC_EXAMINE_OBJECT. Put
2792 newlines at either end of the string we're looking for.
2793 Make 'checking ...' message less stilted.
2794 (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT. Handle
2795 ARM in-memory layout and its hypothetical converse. Don't
2796 define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
2797 HOST_WORDS_BIG_ENDIAN.
2798
2799 * configure.in: Adjust for renamed macro. Move
2800 gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
2801 * configure, config.in: Regenerate.
2802
d577781c
LB
28032001-03-16 Laurynas Biveinis <lauras@softhome.net>
2804
2805 * fixinc/Makefile.in: Set SHELL.
2806
28072001-03-16 Laurynas Biveinis <lauras@softhome.net>
2808
2809 * fixinc/fixincl.c (fix_with_system): Quote file names before
2810 passing them to shell.
2d6eb5bf 2811
d577781c
LB
28122001-03-16 Laurynas Biveinis <lauras@softhome.net>
2813
2814 * Makefile.in: Use fix-header$(build_exeext) instead
2815 of fix-header.
2d6eb5bf 2816
981975b6
RH
28172001-03-16 Richard Henderson <rth@redhat.com>
2818
2819 * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
2820 (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
2821 (size_of_line_prolog): Remove.
2822 (output_line_info): Compute prologue size via label difference.
2823 (lookup_filename): Return "unspecified" for <internal> and <built-in>.
2824
2825 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
2826 assembler error when redefining file numbers.
2827 * config.in, configure: Rebuild.
2828
da6af203
RH
2829 * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
2830 (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
2831 (dw2_asm_output_delta_uleb128): Likewise.
2832 (dw2_asm_output_delta_sleb128): Similarly.
2833 (dw2_asm_output_data_sleb128): Similarly. Print number in decimal.
2834
3a6ee9f4
MM
28352001-03-16 Michael Meissner <meissner@redhat.com>
2836
2837 * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
2838 warnings.
2839 (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
2840 warnings.
2841 (BITMASK_LOWER16): Replacement for 0x0000ffff.
2842
2843 * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
2844 instead of 0xffff0000/0x0000ffff to avoid warnings about constants
2845 being unsigned in ISO C and signed in traditional.
2846 (expand_prologue): Ditto.
2847 (RA_MASK): Use BITMASK_HIGH to avoid warnings.
2848
2849 * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
2850 warnings.
2851 (divsi3,divdi3): Ditto.
2852 (modsi3,moddi3): Ditto.
2853 (fix_truncdfsi2,fix_truncdfdi2): Ditto.
2854 (fix_truncsfsi2,fix_truncsfdi2): Ditto.
2855 (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
2856 warnings.
2857
fa9f36a1
JH
2858Fri Mar 16 14:47:57 CET 2001 Jan Hubicka <jh@suse.cz>
2859
2860 * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
2861 SSE based conditional moves on LTGT/UNEQ conditions;
2862 Canonicalize EQ to NE.
2863 * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
2864 (sse_mov?fcc_ne): New.
2865
2866 * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
2867
fd969c7c
AO
28682001-03-16 Alexandre Oliva <aoliva@redhat.com>
2869
2870 * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
2871 register may be dead.
2872
91c251fd
BL
28732001-03-16 Brad Lucier <lucier@math.purdue.edu>
2874
2875 * Makefile.in (hash.o): Depend on CONFIG_H.
2876
110c3568
MM
28772001-03-15 Mark Mitchell <mark@codesourcery.com>
2878
2879 * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
2880
7426e9a2
RH
28812001-03-15 Richard Henderson <rth@redhat.com>
2882
2883 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
2884 (ASM_OUTPUT_DWARF_PCREL): New.
2885 * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
2886
11bca309
AO
28872001-03-16 Alexandre Oliva <aoliva@redhat.com>
2888
2889 * cppfiles.c (stack_include_file): Use MAX of sysp.
2890
7e5b9908
SE
28912001-03-15 Steve Ellcey <sje@cup.hp.com>
2892
2d6eb5bf
ZW
2893 * config.gcc (ia64*-*-hpux*): New case.
2894 * config/ia64/hpux.h: New file for HP-UX support.
2895 * config/ia64/t-hpux: New file for HP-UX support.
7e5b9908 2896
3b3a1054
BK
28972001-03-16 Bruce Korb <bkorb@gnu.org>, Alexandre Oliva <aoliva@redhat.com>
2898
2899 * fixinc/inclhack.def (irix_stdio_va_list): New.
2900 * fixinc/fixincl.x: Rebuilt.
2901
8e7fa2c8
RH
29022001-03-15 Richard Henderson <rth@redhat.com>
2903
2904 * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
2905 if provided by the target.
2906 (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
2907 (dw2_asm_output_addr): New.
2908 * dwarf2asm.h (dw2_asm_output_addr): Declare.
2909 * dwarf2out.c (output_cfi): Use it for program addresses.
2910 (output_call_frame_info, output_die): Likewise.
2911 (output_aranges, output_line_info): Likewise.
2912
798bdf70
BK
29132001-03-15 Bruce Korb <bkorb@gnu.org>
2914
2915 * gcc.c(main): make more rigorous
2916 * collect2.c(main): guard against ignoring SIGCHLD
2917 * protoize.c(main): ditto
2918 * gcc/fixinc/fixincl.c(initialize): ditto
2919
d975d8c3
MM
29202001-03-15 Mark Mitchell <mark@codesourcery.com>
2921
2922 * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
2923 (sdbout_parms): Likewise.
2924
b216e516
JL
2925Thu Mar 15 12:57:14 2001 Jeffrey A Law (law@cygnus.com)
2926
2927 * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
2928 "widen" a destination that is already wider than a word. Also do
2929 not widen if LOAD_EXTEND_OP is NIL for the given mode.
2930
e06736f4
BS
29312001-03-15 Bernd Schmidt <bernds@redhat.com>
2932
2933 * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
2934
42edbfa1
JW
2935Thu Mar 15 11:30:31 EST 2001 John Wehle (john@feith.com)
2936
2937 * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
2938
43fabf7d
JW
2939Thu Mar 15 11:24:29 EST 2001 John Wehle (john@feith.com)
2940
2941 * i960.h (i960_maxbitalignment,
2942 i960_last_maxbitalignment): Declare.
2943 * i960.c (i960_maxbitalignment,
2944 i960_last_maxbitalignment): Make global.
2945 (process_pragma): Delete.
2946 (i960_pr_align, i960_pr_noalign): Move from here ...
2947 * i960-c.c: ... to this new file.
2948 * t-960bare (i960-c.o): New rule.
2949 * t-vxworks960 (i960-c.o): Likewise.
2950 * config.gcc (i960-*-*): Define c_target_objs and
2951 cxx_target_objs.
2952
e4027dab
BS
29532001-03-15 Bernd Schmidt <bernds@redhat.com>
2954
a4f4333a
BS
2955 * cselib.c (hash_rtx): For REG and MEM, just use value of expression
2956 without adding in rtx code and mode.
2957
bb2cf916
BS
2958 * alias.c (init_alias_analysis): Don't use any rtx whose value
2959 varies as a known value.
2960 Delete a superfluous test.
2961
e4027dab
BS
2962 * config/ia64/ia64.c (maybe_rotate): New function, broken out of
2963 ia64_sched_reorder.
2964 (ia64_sched_reorder): Call maybe_rotate; also rotate after
2965 scheduling a stop bit.
2966 (ia64_emit_nops): Correctly handle ASMs.
2967
d1d61788
MM
29682001-03-15 Mark Mitchell <mark@codesourcery.com>
2969
2970 * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
2971
ba133c96
NB
29722001-03-15 Neil Booth <neil@daikokuya.demon.co.uk>
2973
2974 * cpp.texi: Update documentation for -include and -imacros.
2975 * cppfiles.c (struct include_file): Remove "defined" memeber.
2976 (find_or_create_entry): Make a copy of the file name, and
2977 simplify it.
2978 (open_file): Update to ensure we use the simplified filename.
2979 (stack_include_file): Don't set search_from.
2980 (cpp_included): Don't simplify the path name here.
2981 (find_include_file): New prototype. Call search_from to
2982 get the start of the "" include chain. Don't simplify the
2983 filenames here.
2984 (_cpp_execute_include): New prototype. Move diagnostics to
2985 do_include_common. Update.
2986 (_cpp_pop_file_buffer): Don't set defined.
2987 (search_from): New prototype. Use the preprocessor's cwd
2988 for files included from the command line.
2989 (read_name_map): Don't simplify the pathname here.
2990 * cpphash.h (enum include_type): New.
2991 (struct buffer): Delete search from. New search_cached.
2992 (_cpp_execute_include): Update prototype.
2993 * cppinit.c (do_includes): Use _cpp_execute_include.
2994 * cpplib.c (do_include_common): New function.
2995 (do_include, do_include_next, do_import): Use it.
2996
19e7881c
MM
29972001-03-14 Mark Mitchell <mark@codesourcery.com>
2998
2999 * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
3000 contents of the RTL, to determine the name of the object.
3001
30022001-03-14 Mark Mitchell <mark@codesourcery.com>
3003
3004 * tree.h (DECL_RTL): Allocate RTL lazily.
3005 (SET_DECL_RTL): New macro.
3006 (DECL_RTL_SET_P): Likewise.
3007 (COPY_DECL_RTL): Likewise.
3008 (DECL_RTL_IF_SET): Likewise.
3009 * varasm.c (make_decl_rtl): Add assertions about the kind of
3010 declaration we are processing.
3011 * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
3012 (start_decl): Likewise.
3013 (finish_decl): Likewise.
3014 * c-semantics.c (emit_local_var): Likewise.
3015 * calls.c (expand_call): Likewise.
3016 * dbxout.c (dbxout_symbol): Likewise.
3017 * emit-rtl.c (unshare_all_rtl): Likewise.
3018 (unshare_all_decls): Likewise.
3019 (reset_used_decls): Likewise.
3020 * expr.c (store_constructor): Likewise.
3021 (safe_from_p): Likewise.
3022 (expand_expr): Likewise.
3023 * function.c (put_var_into_stack): Likewise.
3024 (instantiate_decls_1): Likewise.
3025 (assign_parms): Likewise.
3026 (expand_function_start): Likewise.
3027 (expand_function_end): Likewise.
3028 * ggc-common.c (gcc_mark_trees): Likewise.
3029 * integrate.c (function_cannot_inline_p): Likewise.
3030 (copy_decl_for_inlining): Likewise.
3031 (expand_inline_function): Likewise.
3032 (integrate_parm_decls): Likewise.
3033 (integrate_decl_tree): Likewise.
3034 * print-tree.c (print_node): Likewise.
3035 * reg-stack.c (stack_result): Likewise.
3036 * stmt.c (label_rtx): Likewise.
3037 (expand_return): Likewise.
3038 (expand_decl): Likewise.
3039 (expand_decl_cleanup): Likewise.
3040 (expand_anon_union_decl): Likewise.
3041 * toplev.c (check_global_declarations): Likewise.
3042 (rest_of_decl_compilation): Likewise.
3043 * tree.c (simple_cst_equal): Likewise.
3044 * objc/objc-act.c (generate_static_references): Likewise.
2d6eb5bf 3045
84c041a1
ZW
30462001-03-14 Zack Weinberg <zackw@stanford.edu>
3047
3048 * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
3049 gcc_AC_C_FLOAT_FORMAT): New macros.
3050 * configure.in: Add AC_PROG_CPP after CC tests;
3051 gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
3052 tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
3053 * configure, config.in: Regenerate.
3054
3055 * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
3056 config/arm/xm-arm.h, config/c4x/xm-c4x.h,
3057 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
3058 config/i370/xm-linux.h, config/i370/xm-oe.h,
3059 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
3060 config/m68k/xm-m68k.h, config/mips/xm-mips.h,
3061 config/pa/xm-linux.h, config/pa/xm-pa.h,
3062 config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
3063 config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
3064 config/sparc/xm-sparc.h, config/vax/xm-vax.h,
3065 config/we32k/xm-we32k.h: Delete.
3066
3067 * config/i370/xm-mvs.h, config/m88k/m88k.h,
3068 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
3069 config/vax/xm-vms.h: Don't define any of:
3070 HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
3071
3072 * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
3073
3074 * config.gcc: Remove references to deleted files.
3075 (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
3076 FATAL_EXIT_CODE, which is the same between oe and mvs).
3077
fca097e7
DD
30782001-03-14 DJ Delorie <dj@redhat.com>
3079 Vladimir Makarov <vmakarov@redhat.com>
3080
3081 * config/i960/i960.c (i960_function_prologue): Compute size of
3082 frame according to number of registers actually saved there.
3083
e9c0bd54
RH
30842001-03-14 Richard Henderson <rth@redhat.com>
3085
3086 * expr.c (emit_move_insn_1): Fix else if around #endif.
3087
0c56474e
JH
3088Wed Mar 14 22:39:12 CET 2001 Jan Hubicka <jh@suse.cz>
3089 Vojtech Pavlik
3090
3091 * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
3092 constraints.
3093
6189a572
JH
3094Wed Mar 14 22:26:10 CET 2001 Jan Hubicka <jh@suse.cz>
3095
3096 * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
3097 (override_options): Parse cmodel string.
3098 (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
3099 * i386.h (TARGET_OPTIONS): Add "cmodel".
3100 (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
3101 (enum cmodel): New.
3102 (ix86_cmodel_string, ix86_cmodel): Declare.
3103
3104Wed Mar 14 22:26:54 CET 2001 Jan Hubicka <jh@suse.cz>
3105
3106 Spot by Matt Kraai:
3107 * i386.h (GENERAL_REG_P): Add missing REG_P.
3108
16a0fe50
LB
31092001-03-14 Laurynas Biveinis <lauras@softhome.net>
3110
3111 * configure.in: Use $gcc_cv_as instead of $as.
3112 * configure: Regenerated.
3113
e7182666
NB
31142001-03-14 Neil Booth <neil@daikokuya.demon.co.uk>
3115
84c041a1 3116 * cppfiles.c (stack_include_file): Only increase the include
e7182666
NB
3117 count if we actually process the file properly, as opposed
3118 to treating it as length zero. Only call read_include_file
3119 if not DO_NOT_REREAD. Handle the -H include file output
3120 here.
3121 (read_include_file): Remove now redundant DO_NOT_REREAD check.
3122 (cpp_included, find_include_file): Simplify pathnames after
3123 remapping them. If remapping, don't use the remapped file
3124 name's buffer as our scratch buffer.
3125 (cpp_pop_file_buffer): Replace the multiple include macro
3126 only if it isn't yet set.
3127 (read_name_map): Simplify remapped names when reading in.
3128 (remap_filename): Move code to code path that uses it.
3129 (_cpp_simplify_pathname): Return the input pointer.
3130 * cpphash.h (_cpp_simplify_pathname): Update prototype.
3131
f80022ff
MM
31322001-03-14 Mark Mitchell <mark@codesourcery.com>
3133
3134 * expr.c (expand_expr): Revove bogus conditional.
3135
79ce92d7
JH
3136Wed Mar 14 19:29:50 CET 2001 Jan Hubicka <jh@suse.cz>
3137
3138 * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
3139
9cf218a3
JJ
31402001-03-14 Jakub Jelinek <jakub@redhat.com>
3141
3142 * reg-stack.c (stack_result): Unconditionally use
3143 FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
3144
1a06f5fe
JH
3145Wed Mar 14 16:36:25 CET 2001 Jan Hubicka <jh@suse.cz>
3146
3147 * expr.c (emit_move_insn_1): Split push of complex value when
3148 no suitable push instruction exist.
3149
3150 * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
3151 instead of QI_REG_P.
3152
6e24b709
RK
3153Tue Mar 13 22:22:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3154
3155 * alias.c (handled_component_p, can_address_p): New functions.
3156 (get_alias_set): Use them.
3157
9502c558
JW
31582001-03-13 Jim Wilson <wilson@redhat.com>
3159
3160 * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
3161 from 80 in try_locals code.
3162 (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
3163
75e93faa
ZW
31642001-03-13 Zack Weinberg <zackw@stanford.edu>
3165
3166 * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
3167 gcc_AC_C_LONG_LONG): New.
3168 * configure.in: Use them. Probe the size of short, int, long,
3169 and long long/__int64 if we have them. Move all the AC_C_*
3170 checks together, except gcc_AC_C_CHAR_BIT which has to go
3171 after AC_CHECK_HEADERS(limits.h).
3172 Take hwint.h out of host_xm_file and build_xm_file.
3173
3174 * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
3175 HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
3176 and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
3177 Move the HOST_WIDEST_INT setup logic here from system.h.
3178 Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
3179 defined.
3180 * system.h: Include hwint.h after limits.h. HOST_WIDEST_INT
3181 is now handled by hwint.h.
3182
3183 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
3184 config/c4x/xm-c4x.h, config/i370/xm-oe.h,
3185 config/ia64/xm-ia64.h: Don't define any of:
3186 HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
3187 HOST_BITS_PER_LONGLONG.
3188
3189 * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
3190 config/h8300/xm-h8300.h, config/mips/iris6.h,
3191 config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
3192 config/sparc/xm-sp64.h: Delete.
3193 * config.gcc: Remove references to deleted files.
3194
3195 * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
3196 HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
3197 * config/i370/xm-linux.h: Clarify floating-point situation in
3198 a comment.
3199
41947a54
NB
32002001-03-13 Neil Booth <neil@daikokuya.demon.co.uk>
3201
3202 * cppfiles.c (NO_INCLUDE_PATH): New macro.
3203 (find_include_file): Decide here which part of the include
3204 chain to start the search. Complain about an empty include
3205 chain in all cases apart from an abolsute file name.
3206 (_cpp_execute_include): Don't choose the search chain here.
3207 Don't call handle_missing_include in the case of an empty
3208 include chain.
3209 (_cpp_compare_file_date): Don't choose the search chain here.
3210 * cpplib.c (do_include_next): Move the in-main-file diagnostic
3211 here from _cpp_execute_include. Behave like #include if
3212 we're in the main file.
3213
77b84559
KG
32142001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3215
3216 * system.h (malloc, realloc, calloc, strdup): Only poison these
3217 tokens when IN_GCC is defined.
3218
ca29d1dc
JH
3219Tue Mar 13 14:38:44 CET 2001 Jan Hubicka <jh@suse.cz>
3220
3221 * i386.md (abs?f expander): Support SSE case.
3222 (abd?f_if): Add new "USE"; add splitters.
3223
bf4ab281
KG
32242001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3225
3226 * cpp.texi (poison): Explain the macro expansion exception.
3227
e5408e52
JJ
32282001-03-13 Jakub Jelinek <jakub@redhat.com>
3229
3230 * expr.c (store_expr): Add dont_store_target. If temp is already in
3231 target before copying to reg, don't store it into target again.
3232
1198142b
NB
32332001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
3234
3235 * cppinternals.texi: Update for file handling.
3236
a84efb51
JO
32372001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
3238
3239 * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
3240 2001-02-24 which broke building the Java library.
3241 * function.c (identify_blocks): Likewise.
3242 (all_blocks): Likewise.
3243 * integrate.c (integrate_decl_tree): Likewise.
3244 * print-tree.c (print_node): Likewise.
3245 * tree.h (BLOCK_NUMBER): Likewise.
3246 (struct tree_block): Likewise.
3247
ba8afff6
DE
32482001-03-12 David Edelsohn <edelsohn@gnu.org>
3249
3250 * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
3251 __WCHAR_TYPE__ definition.
3252 (WCHAR_TYPE_SIZE): #undef before #define.
3253
a36c54fa
NB
32542001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
3255
75e93faa 3256 * cppfiles.c: Update comments.
a36c54fa
NB
3257 (destroy_include_file_node): Rename destroy_node.
3258 (find_or_create_entry): New function.
3259 (open_file, _cpp_fake_include): Use it.
3260 (handle_missing_header): New function, broken out of
3261 _cpp_execute include. Don't segfault if there is no
3262 system or quoted path.
3263 (_cpp_execute_include): Use handle_missing_header.
3264
23712c11
JO
32652001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
3266
3267 * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
3268 2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
3269
e8ea2809
RK
3270Mon Mar 12 14:05:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3271
3272 * flow.c (insn_dead_p): Don't consider two memrefs equivalent
3273 unless anti_dependence says they are.
3274 * alias.c (objects_must_conflict): If neither has a type specified,
3275 they must conflict.
3276
89c9653e
NB
32772001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
3278 David Billinghurst <David.Billinghurst@riotinto.com>
3279
3280 * config/mips/iris5.h: Change WCHAR_TYPE to int.
3281
99560e26
JH
3282Mon Mar 12 16:32:21 CET 2001 Jan Hubicka <jh@suse.cz>
3283
3284 * i386.md (trunctfdf2_2): Rename missnamed pattern.
3285 (*_one_bit): Remove type on the match_operand in attributes.
3286
3d117b30
JH
3287Mon Mar 12 16:27:56 CET 2001 Jan Hubicka <jh@suse.cz>
3288
3289 * i386.c: Commit forgotten hunk in previous patch.
3290 (regclass_map): Add extended registers.
3291 (dbx_register_map): Add missing frame register.
3292
1e07edd3
JH
3293Mon Mar 12 15:41:08 CET 2001 Jan Hubicka <jh@suse.cz>
3294
3295 * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
3296
3297 * i386.md (x86_sahf_1): Disable for 64bit.
3298 (popsi*, pophi*): Likewise.
3299 (pushqi, pushhi): Likewise.
3300 (movdi, pushdi): Likewise.
3301 (zero extend DImode splitter): Likewise.
3302 (adddi, minusdi splitter): Likewise.
3303 (umulsidi): Likewise.
3304 (umulsi): New.
3305 (mulsidi): Disable for 64bit
3306 (lshift:DI/ashift:DI): Disable for 64bit.
3307 (loop patterns): Likewise.
3308 (call_pop, call_value_pop expanders and patterns): Likewise.
3309 (prologue_get_pc): Likewise.
3310 (leave): Likewise.
3311 (fcmovDI pattern and splitter): Likewise.
3312 (movdfcc_1_rex64): New.
3313
d2836273
JH
3314Mon Mar 12 15:16:36 CET 2001 Jan Hubicka <jh@suse.cz>
3315
3316 * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
3317 (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
3318 (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
3319 (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
3320 (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
3321 (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
3322 (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
3323 (PUSH_ROUNDING): x86_64 rounds to 64bits.
3324 (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
3325 (REGPARM_MAX): Set to 6 for x86_64.
3326 (SSE_REGPARM_MAX): Set to 16 for x86_64.
3327 * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
3328 registers.
3329
3330 * (patterns that does use upper halves): Update constraints
3331 'q' to 'Q' and 'r' to 'R'.
3332 (cmpqi_ext_1): Disable for 64bit.
3333 (cmpqi_ext_3_insn): Likewise.
3334 (movqi_extzv_1): Likewsie.
3335 (addqi_ext_1): Liekwsie
3336 (testqi_ext_1): Liekwsie
3337 (andqi_ext_1): Liekwsie
3338 (xorqi_ext_1): Liekwsie
3339 (cmpqi_ext_1_rex64): New.
3340 (cmpqi_ext_3_insn_rex64): Likewise.
3341 (movqi_extzv_1_rex64): Likewsie.
3342 (addqi_ext_1_rex64): Liekwsie
3343 (testqi_ext_1_rex64): Liekwsie
3344 (andqi_ext_1_rex64): Liekwsie
3345 (xorqi_ext_1_rex64): Liekwsie
3346
9612ab65
ZW
33472001-03-11 Zack Weinberg <zackw@stanford.edu>
3348
75e93faa 3349 * configure.in: Move check for unsigned enumerated bitfields
9612ab65
ZW
3350 to macro in aclocal.m4. Disable it for now.
3351 * configure, config.in: Regenerate.
3352 * system.h: Don't do anything with ONLY_INT_FIELDS. Use the
3353 unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
3354 * varasm.c (struct rtx_const): Use ENUM_BITFIELD(). Move enum
3355 kind above its first use.
3356
3357 * config/xm-interix.h, config/alpha/xm-alpha.h,
3358 config/i370/xm-linux.h, config/i386/xm-beos.h,
3359 config/i386/xm-mingw32.h, config/mips/xm-mips.h,
3360 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
75e93faa 3361 config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
9612ab65
ZW
3362 Don't define ONLY_INT_FIELDS under any circumstances.
3363
3364 * config/pa/xm-pa.h: Don't define __BSD_NET2__.
3365
3366 * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
3367 config/sparc/xm-sysv4.h: Delete - now identical with some
3368 other xm header.
3369 * config.gcc (hppa targets): Replace xm-pahpux.h and
3370 xm-papro.h with implicit xm-pa.h.
3371 (sparc targets): Replace xm-sysv4.h with implicit or explicit
75e93faa 3372 xm-sparc.h.
9612ab65 3373
d5ae21aa
AH
33742001-03-12 Aldy Hernandez <aldyh@redhat.com>
3375
75e93faa
ZW
3376 * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
3377 before reload_cse_noop_set_p.
d5ae21aa 3378
190c4cb4
ZW
33792001-03-11 Zack Weinberg <zackw@stanford.edu>
3380
3381 * config.gcc: Where xm-host.h used to include another
3382 xm-host.h, list the nested header directly in xm_file. Remove
3383 references to deleted files. Can now use sparc/xm-sp64.h for
3384 sparcv9-*-solaris*.
3385
3386 * config/xm-linux.h, config/arm/xm-linux.h,
3387 config/i386/xm-dos.h, config/i386/xm-gnu.h,
3388 config/i386/xm-linux.h, config/i386/xm-openbsd.h,
3389 config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
3390 config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
3391 config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
3392 Delete.
3393
3394 * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
3395 * config/mips/xm-iris5.h: Don't include mips/xm-mips.h. Don't
3396 bother to wrap #undef in #ifdef.
3397 * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
3398 Don't include xm-linux.h.
3399 * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
3400
3401 * configure.in: Wrap regexps using [] in changequote block.
3402 Use expr : not echo | grep. Simplify regexps.
3403 * configure: Regenerate.
3404
3405 56 xm-files remain, 22 xm-arch.
3406
45a647be
KG
34072001-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3408
3409 * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
3410 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
3411 (local_index, local_rindex): Delete, use strchr/strrchr instead.
3412 (copy_object): Fix format specifier vs argument mismatch.
3413
3414 * mips-tdump.c: Make local functions static.
3415 (rindex): Don't #undef.
3416 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
3417 (fatal, fancy_abort): Delete.
3418 (read_seek): Avoid signed/unsigned compare.
3419
c7ca5912
RK
3420Sun Mar 11 17:01:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3421
3422 * combine.c (try_combine): Fix error in change to try original
3423 register.
3424 (gen_rtx_combine): Do same as gen_rtx for now.
3425
3d9d2476
ZW
34262001-03-11 Zack Weinberg <zackw@stanford.edu>
3427
3428 * configure.in: AC_SUBST xm_defines.
3429 * configure: Regenerate.
3430 * Makefile.in: Set DEFINES=$(xm_defines) when building
3431 tconfig.h.
3432
b6464a73
NB
34332001-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
3434
75e93faa 3435 * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
b6464a73
NB
3436 (cpp_included, find_include_file): Update.
3437 (_cpp_compare_file_date): Make else unconditional.
3438
2cef831c
KK
34392001-03-10 kaz Kojima <kkojima@rr.iij4u.or.jp>
3440
3441 * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
3442
e9a9e960
TM
34432001-03-10 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
3444
75e93faa 3445 * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
e9a9e960
TM
3446 * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
3447
066c84df
AO
3448Sat Mar 10 22:42:05 2001 Alexandre Oliva <aoliva@redhat.com>
3449
3450 * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
3451 if it's a record type.
3452
936ee790
CF
3453Sat Mar 10 17:52:54 2001 Christopher Faylor <cgf@cygnus.com>
3454
3455 * config/i386/cygwin.h: Make ../w32api a system directory. Reorganize
3456 mingw includes slightly.
3457
8a0e5115
KG
34582001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3459
3460 * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
3461 #undef token before poisoning it.
3462
6439a1f2
KG
34632001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3464
3465 * alpha.c (check_float_value): Use memcpy, not bcopy.
3466
3467 * m32r.c (m32r_sched_reorder): Likewise.
3468
3469 * vax.c (check_float_value): Likewise.
3470
b3e68a79
NB
34712001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
3472
3473 * toplev.c (file_name_nondirectory): Remove.
3474 * toplev.h: Similarly.
3475 * dwarf2out.c (compute_section_prefix): Use lbasename instead
3476 of file_name_nondirectory.
3477
ea23d540
RK
3478Sat Mar 10 10:36:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3479
3480 * mips-tdump.c (read_seek): Call xmalloc, not malloc.
3481 * mips-tfile.c: Don't #undef rindex; not used.
3482
0f7fa3d0
JH
3483Sat Mar 10 14:34:59 CET 2001 Jan Hubicka <jh@suse.cz>
3484
3485 * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
3486 (dbx64_register_map): Declare.
3487 (RETURN_ADDR_RTX): Fix for 64bit.
3488 (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
3489 (INCOMING_FRAME_SP_OFFSET): Set to 8.
3490 * i386.c (dbx64_register_map): New global array.
3491 * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
3492 linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
3493 for 64bits.
3494
2251fd78
NB
34952001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
3496
3497 * cppfiles.c (search_from): Use lbasename.
3498 * mkdeps.c (deps_add_default_target): Use lbasename.
3499
f4ce9d90
KG
35002001-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3501
3502 * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
3503 xcalloc in lieu of malloc, realloc & calloc.
190c4cb4 3504
f4ce9d90
KG
3505 * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
3506
3507 * gengenrtl.c (xmalloc): Likewise.
3508
3509 * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
3510 really_call_* memory allocation routines.
3511
3512 * stmt.c (check_for_full_enumeration_handling): Use
3513 really_call_calloc, not calloc.
3514
3515 * system.h (really_call_malloc, really_call_calloc,
3516 really_call_realloc): Define.
3517 (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
3518
0eac2984
JL
3519Fri Mar 9 18:39:19 2001 Jeffrey A Law (law@cygnus.com)
3520
3521 * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
3522
1bf17cc4
NP
35232001-03-09 Nicola Pero <n.pero@mi.flashnet.it>
3524
3525 * configure: Rebuilt.
3526 * configure.in: Only use `lang_requires' for languages athat are
3527 actually enabled.
3528
6ca3ad1b
JM
35292001-03-09 Joseph S. Myers <jsm28@cam.ac.uk>
3530
3531 * invoke.texi: Fix typo.
3532 * gcc.1: Regenerate.
3533
11642c3a
ZW
35342001-03-09 Zack Weinberg <zackw@stanford.edu>
3535
3536 * configure.in: Prune nonexistent files from build_xm_file,
3537 xm_file, and host_xm_file lists. Warn unless they're
3538 $cpu/xm-$cpu.h.
3539 Don't generate *config.h here.
3540 AC_SUBST all variables needed to generate *config.h.
3541 * configure: Regenerate.
3542 * mkconfig.sh: New helper script, from code removed from
3543 configure.in.
3544 * Makefile.in: Zap all MALLOC variables - no longer used
3545 anywhere, and malloc.c doesn't exist.
3546 Substitute in variables needed to generate *config.h.
3547 Stop lying about the dependencies contained in CONFIG_H and
3548 GCONFIG_H.
3549 (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
3550 (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
3551 cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
3552 (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
3553 $(TM_P_H), etc. as appropriate.
3554
3555 * config.gcc: Zap references to deleted files.
3556 * ggc-none.c: Don't include rtl.h or tm_p.h.
3557
3558 * config/i386/xm-beos.h, config/i386/xm-dgux.h,
3559 config/i386/xm-djgpp.h, config/i386/xm-dos.h,
3560 config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
3561 config/i386/xm-linux.h, config/i386/xm-linux.h,
3562 config/i386/xm-next.h, config/i386/xm-openbsd.h,
3563 config/i386/xm-sun.h, config/i386/xm-sysv3.h:
3564 Don't include i386/xm-i386.h.
3565
3566 * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
3567 config/i386/xm-i386.h, config/i860/xm-i860.h,
3568 config/i960/xm-i960.h, config/mcore/xm-mcore.h,
3569 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
3570 config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
3571 Delete (empty except comments, #includes of other deleted
3572 files, and macros used nowhere).
3573
2faf6b96
JH
3574Fri Mar 9 20:05:27 CET 2001 Jan Hubicka <jh@suse.cz>
3575
3576 * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
3577 independent on TARGET_FLAGS.
3578
3f3f2124
JH
3579Fri Mar 9 19:52:52 CET 2001 Jan Hubicka <jh@suse.cz>
3580
3581 * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
11642c3a
ZW
3582
3583 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
3584 extended ones.
3585 (CONDITIONAL_REGISTER_USAGE): Set proper values according to
3586 TARGET_64BIT.
3587 (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
3588 LAST_REX_SSE_REG): define.
3f3f2124
JH
3589 (enum reg_class): Add 'LEGACY_REGS'
3590 (REG_CLASS_CONTENTS): Likewise; add extended registers.
3591 (SSE_REGNO_P): Recognize extended registers.
3592 (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
3593 (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
11642c3a
ZW
3594 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
3595 REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
3f3f2124
JH
3596 (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
3597 REG_OK_FOR_STRREG_P): Remove.
3598 (HI_REGISTER_NAMES): Add extended registers.
3599 (ADDITIONAL_REGISTER_NAMES): Likewise.
3600 (QI_REGISTER_NAMES): Add 8bit extended registers.
3601 (DEBUG_REG): Support extended registers.
3602 * i386.c (regclass_map): Add extended registers.
3603 (dbx_register-map): Likewise.
3604 (svr4_dbx_register_map): Likewise.
3605 (print_reg): Support extended registers.
3606 (print_operand): Support 64bit operands.
3607
65d9c0ab
JH
3608Fri Mar 9 19:37:46 CET 2001 Jan Hubicka <jh@suse.cz>
3609
3610 * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
3611 (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
3612 FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
3613 DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
3614 (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
3615 STACK_BOUNDARY): Set properly for 64bits.
3616 (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
3617 (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
3618 (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
3619 (MOVE_MAX): Set to 16.
3620 (MOVE_MAX_PIECES): 8 for 64bit.
3621 (Pmode): Set to SImode.
3622
dc647e99
MS
3623Fri Mar 9 09:00:36 2001 Mike Stump <mrs@wrs.com>
3624
3625 * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
3626
25f94bb5
JH
3627Fri Mar 9 17:38:08 CET 2001 Jan Hubicka <jh@suse.cz>
3628
3629 * i386.h (mask_64bit): New constant.
3630 (target_64bit): New macro.
3631 (target_options): Add '64'/'32'
3632 (target_default): Define.
3633 * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
3634 isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
3635 unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
3636
8b737c83
JL
3637Thu Mar 8 23:36:56 2001 Jeffrey A Law (law@cygnus.com)
3638
3639 * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
3640
e7d96a83
JW
3641Thu Mar 8 23:29:37 2001 John Wehle (john@feith.com)
3642
3643 * rtlanal.c (rtx_varies_p): Check operand 0 of a
3644 LO_SUM unless for_alias is set.
3645
4ce693cd
SS
36462001-03-08 Stan Shebs <shebs@apple.com>
3647
3648 * objc/objc-act.c: Fix old typos in comments, add comments for
3649 various functions.
3650 (hash_init): Fix file name in error message.
3651 (hash_enter): Ditto.
3652 (hash_add_attr): Ditto.
3653 (continue_class): Ditto.
3654
0bf679a3
BK
36552001-03-08 Bruce Korb <bkorb@gnu.org>
3656
3657 gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
11642c3a 3658 wait4() can receive the signal.
0bf679a3 3659
786b0d35
RO
3660Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3661
3662 * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
3663 entities.
3664 * fixinc/fixincl.x: Regenerate.
3665
3666Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3667
3668 * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
3669 on Tru64 UNIX.
3670 * fixinc/fixincl.x: Regenerate.
3671
b7460f24
RH
36722001-03-08 Richard Henderson <rth@redhat.com>
3673
3674 * configure.in (HAVE_AS_LEB128): New assembler check.
3675 * configure, config.in: Rebuilt.
3676
cadcffb3
JH
3677Thu Mar 8 19:54:04 CET 2001 Jan Hubicka <jh@suse.cz>
3678
3679 * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
3680 TFmode too.
3681
b19a539e
KG
36822001-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3683
3684 * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
3685 references to the MAXPATHLEN macro.
3686
3687 * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
3688 config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
3689 the POSIX macro.
3690
3691 * config/i386/xm-gnu.h, config/xm-gnu.h,
3692 config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
3693 config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
3694 config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
3695 and/or unused files.
3696
3697 * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
3698 doing so in various xm-*.h files.
3699
4082ab0f
RK
3700Thu Mar 8 06:32:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3701
3702 * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
3703
c785e0fa
AO
37042001-03-08 Alexandre Oliva <aoliva@redhat.com>
3705
3706 * configure.in (enable_shared): Support per-package shared-library
3707 enabling.
3708 * configure: Rebuilt.
3709
251b3667
DE
37102001-03-07 David Edelsohn <edelsohn@gnu.org>
3711
3712 * rs6000.md (cr logic): Add original POWER mnemonic alternative
3713 for crnot. Set operands[5] in splitter.
3714
cf30ef80
KG
37152001-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3716
3717 * config/i370/xm-mvs.h, config/i370/xm-oe.h,
3718 config/i386/xm-beos.h, config/i386/xm-mingw32.h,
3719 config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
3720 config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
3721 config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
3722 config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
3723 config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
3724 to the USG macro.
3725
3726 * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
3727 config/i370/xm-i370.h, config/i386/xm-dgux.h,
3728 config/i386/xm-sun.h, config/i386/xm-sysv3.h,
3729 config/m68k/xm-tower.h, config/m68k/xm-aux.h,
3730 config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
3731 config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
3732 config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
3733 config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
3734 config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
3735 config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
3736 Delete unused and/or empty files.
3737
3738 * config.gcc: Define USG in xm_defines as appropriate. Define
3739 POSIX in lieu of xm-svr4.h. Delete all references to the SVR3
3740 macro. Remove deleted xm-* files from $xm_files variable.
3741
75382c6d
TT
37422001-03-07 Tom Tromey <tromey@redhat.com>
3743
3744 * configure: Rebuilt.
3745 * configure.in: Allow config-lang.in to set `lang_requires' to list
3746 of other required languages.
3747
c874ab11
AM
37482001-03-07 Andrew MacLeod <amacleod@redhat.com>
3749
3750 * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
3751 after its emitted.
3752 (output_prologue): Use xmalloc not oballoc.
3753 (output_epilog): Free a29k_first_epilogue_insn when finished.
3754 * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
3755
de6c5979
BL
37562001-03-07 Brad Lucier <lucier@math.purdue.edu>
3757
3758 * builtins.c (expand_builtin_mathfn): Check
3759 flag_unsafe_math_optimizations, not flag_fast_math.
3760 (expand_builtin): Likewise
3761 * combine.c (combine_simplify_rtx): Likewise.
3762 (simplify_if_then_else): Likewise.
3763 * cse.c (fold_rtx): Likewise.
11642c3a 3764 * flags.h: Remove flag_fast_math. Add
de6c5979
BL
3765 flag_unsafe_math_optimizations and flag_trapping_math.
3766 * fold-const.c (negate_expr): Check
3767 flag_unsafe_math_optimizations, not flag_fast_math.
3768 (invert_truthvalue): Likewise.
3769 (fold): Likewise. Before associating operands, check that
3770 code == MULT_EXPR, not code != MULT_EXPR.
3771 * ifcvt.c (noce_try_minmax): Check
3772 flag_unsafe_math_optimizations, not flag_fast_math.
3773 (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
3774 * invoke.texi: Document -funsafe-math-optimizations and
3775 -fno-trapping-math. Change documentation for -ffast-math.
3776 * jump.c (reversed_comparison_code_parts): Likewise.
3777 (rtx_equal_for_thread_p): Likewise.
3778 * optabs.c (emit_conditional_move): Likewise.
3779 * simplify-rtx.c (simplify_binary_operation): Likewise.
3780 (simplify_relational_operation): Likewise.
3781 (simplify_ternary_operation): Likewise.
3782 * toplev.c: Remove flag_fast_math. Add flag_trapping_math and
3783 flag_unsafe_math_optimizations. Remove fast-math entry from f_options.
3784 Add trapping-math and unsafe-math-optimizations entries to f_options.
3785 (set_fast_math_flags): New, sets flags for -ffast-math.
3786 (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
3787 (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
3788 * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
3789
3790 * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
3791 (alpha_emit_conditional_move): Initialize local_fast_math to
3792 flag_unsafe_math_optimizations, not flat_fast_math.
3793 * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
3794 instead of setting flag_fast_math to 1.
3795 * config/convex/convex.md: Check flag_unsafe_math_optimizations,
3796 not flag_fast_math.
3797 * config/i386/i386.c (override_options): Likewise
3798 * config/i386/i386.md: Likewise.
3799 * config/m68k/m68k.md: Likewise.
3800 * config/mips/mips.md: Likewise.
3801 * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
3802 (rs6000_generate_compare): Likewise.
3803
6822468a
LB
38042001-03-07 Laurynas Biveinis <lauras@softhome.net>
3805
11642c3a
ZW
3806 * Makefile.in: Set RANLIB to @RANLIB@.
3807 Remove RANLIB_TEST.
6822468a
LB
3808
38092001-03-07 Laurynas Biveinis <lauras@softhome.net>
11642c3a 3810
6822468a
LB
3811 * fixinc/inclhack.def (djgpp_wchar_h): New test.
3812 * fixinc/fixincl.x: Regenerated.
3813
6e487492
RH
38142001-03-07 Richard Henderson <rth@redhat.com>
3815
3816 * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
3817
542d73ae
RH
38182001-03-07 Richard Henderson <rth@redhat.com>
3819
3820 * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
3821 of block notes and exception handling notes.
3822
232f749b
RH
3823 * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
3824 * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
3825 (compile_file): ... here.
3826
ed173cc9
KG
38272001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3828
3829 * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
3830
3831 * fixinc/gnu-regex.c: Don't include auto-host.h since we get
3832 config.h now. Include libiberty.h to handle alloca.
3833
cc937581
ZW
38342001-03-06 Zack Weinberg <zackw@stanford.edu>
3835
3836 * c-parse.in (yylexname): New function, split out of _yylex.
3837 (objc_rid_sans_at): New table.
3838 (init_reswords): Initialize it.
3839 (_yylex): Give labels clearer names. Handle CPP_ATSIGN by
3840 retrieving the next token and checking it for significance as
3841 an ObjC keyword or string constant.
3842
3843 * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
3844 * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
3845
3846 * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
3847 to CPP_OSTRING.
3848
07ed7ecf
SM
38492001-03-06 Stephen L Moshier <moshier@mediaone.net>
3850
3851 * config/m68k/m68k.c (const_uint32_operand): Accept any
3852 const_int on a 32-bit host.
3853
805c6c57
NP
38542001-03-06 Nicola Pero <n.pero@mi.flashnet.it>
3855
3856 * objc/objc-act.c (init_objc): Set save_lang_status,
3857 restore_lang_status, and mark_lang_status.
3858
d2f65b7b
KW
38592001-03-06 Krister Walfridsson <cato@df.lth.se>
3860
3861 * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
3862
a867b80c
NB
38632001-03-06 Neil Booth <neil@daikokuya.demon.co.uk>
3864
3865 * cppinternals.texi: Update.
3866
68527d81
KG
38672001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3868
3869 * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
3870 config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
3871 config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
3872 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
3873 config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
3874 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
3875 config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
3876 config/i386/xm-i386.h, config/i860/xm-i860.h,
3877 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
3878 config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
3879 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
3880 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
3881 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
3882 config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
3883 config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
3884 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
3885 config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
3886 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
3887 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
3888 config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
3889 config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
3890 match the defaults provided in hwint.h.
3891
3892 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
3893 config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
3894
3895 * config.gcc (xm_file): Don't set to files which are deleted.
3896
3897 * hwint.h: Provide default values for HOST_BITS_PER_*. No longer
3898 guard this file against these macros being undefined.
3899
69f8cbfa
ZW
39002001-03-06 Zack Weinberg <zackw@stanford.edu>
3901
3902 * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
3903 and DECL_DEFER_OUTPUT on the decl we create, before calling
3904 rest_of_decl_compilation.
3905
1f50aafb
ZW
39062001-03-06 Zack Weinberg <zackw@stanford.edu>
3907
3908 * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
3909 AC_FUNC_ALLOCA.
3910 * configure, config.in: Regenerate.
3911 * config.gcc: Remove references to deleted files.
3912
3913 * genattr.c, genattrtab.c, genextract.c, genoutput.c,
3914 genrecog.c, rtl.c: Do not use alloca anywhere.
3915
3916 * Makefile.in, build-make, system.h, config/x-interix,
3917 config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
3918 config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
3919 config/arc/xm-arc.h, config/arm/xm-arm.h,
3920 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
3921 config/h8300/xm-h8300.h, config/i370/x-oe,
3922 config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
3923 config/i386/x-ncr3000, config/i386/x-sco5,
3924 config/i386/xm-dgux.h, config/i860/x-sysv4,
3925 config/i960/xm-i960.h, config/m32r/xm-m32r.h,
3926 config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
3927 config/m68k/x-hp320g, config/m69k/x-mot3300,
3928 config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
3929 config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
3930 config/m68k/xm-mot3300.h, config/m88k/x-dolph,
3931 config/m88k/x-sysv4, config/m88k/x-tekXD88,
3932 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
3933 config/mips/x-iris, config/mips/x-iris3,
3934 config/mips/x-sni-svr4, config/mips/x-sysv,
3935 config/mips/xm-iris6.h, config/mips/xm-mips.h,
3936 config/mips/xm-nws3250v4.h, config/pa/x-hpux,
3937 config/pa/x-pa-mpeix, config/pa/xm-pa.h,
3938 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
3939 config/pa/xm-papro.h, config/romp/xm-romp.h,
3940 config/rs6000/x-aix31, config/rs6000/x-aix41,
3941 config/rs6000/x-beos, config/rs6000/x-lynx,
3942 config/rs6000/x-mach, config/rs6000/x-rs6000,
3943 config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
3944 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
3945 config/sparc/x-sysv4, config/sparc/xm-linux.h,
3946 config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
3947 config/vax/xm-vms.h: Eradicate all references to alloca and
3948 related stuff.
3949
3950 * config/xm-alloca.h, config/clipper/x-clix,
3951 config/i386/xm-sysv4.h, config/i860/x-fx2800,
3952 config/i860/x-sysv3, config/m88k/x-sysv3,
3953 config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
3954 (contained only alloca related hacks).
3955
3956 * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
3957 USE_C_ALLOCA.
3958
d97b75be
BL
39592001-03-05 Brad Lucier <lucier@math.purdue.edu>
3960
3961 * invoke.texi: Document __FAST_MATH__.
3962
1b5640cd
KG
39632001-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3964
3965 * crtstuff.c: Restore include of auto-host.h.
3966
aa5b94de
FH
39672001-03-05 Fergus Henderson <fjh@cs.mu.oz.au>
3968
3969 Put main() in a separate file, so that the language
3970 front-end can use a different main().
3971
3972 * main.c: New.
3973 * toplev.c: (main): Rename as toplev_main.
3974 * toplev.h: Declare toplev_main.
3975 * Makefile.in (OBJS): add toplev.o.
3976 (BACKEND): remove toplev.o, add main.o.
3977
04c8d9b9
NB
39782001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
3979
3980 * cppfiles.c (search_from): Special case the empty string.
3981
7868b4a2
NB
39822001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
3983
3984 * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
3985 copy of the filename. Don't use CPP_PREV_BUFFER. Don't call
3986 strlen or strcpy; we already know the length.
3987 (_cpp_compare_file_date): Similarly.
3988 * cpphash.h (struct cpp_reader): Delete done_initialising.
3989 (CPP_PREV_BUFFER): Delete.
3990 * cppinit.c (cpp_start_read): Don't set done_initialising.
3991 * cpplex.c (parse_string): Guarantee null-termination.
3992 (_cpp_equiv_toklists): Remove.
3993 * cpplib.c (glue_header_name): Null-terminate.
3994 (do_line): Don't leak memory.
3995 * cpplib.h (BT_WEAK): Delete.
3996 * cppmain.c (cb_ident): Strings are now null-terminated.
3997
39982001-03-04 Laurynas Biveinis <lauras@softhome.net>
3999
4000 * gcc.c (convert_filename): Append executable suffix
4001 if NO_AUTO_EXE_SUFFIX is not defined.
4002 * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
4003 * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
91c704c4 4004
7e7be827 40052001-03-03 David O'Brien <obrien@FreeBSD.org>
1f50aafb 4006
7e7be827
DB
4007 from 2000-09-06 Zack Weinberg <zack@wolery.cumb.org>
4008 * c-parse.gperf, c-gperf.h: Delete.
69f8cbfa
ZW
4009 (c-gperf.h was accidently re-added to the CVS repo in the rev
4010 1.16 commit by tromey)
7e7be827 4011
e8408f25
NB
40122001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
4013
4014 * cpplex.c (_cpp_lex_token): Don't warn about directives in
4015 macro arguments when looking for the '('.
4016 * cppmacro.c (funlike_invocation_p): Set parsing_args to
4017 2 when really parsing arguments; 1 when looking for '('.
4018 Always restore the lexer position.
4019
1d67c69a
NB
40202001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
4021
4022 * longlong.h (umul_ppmm): Don't use a multiline string.
4023
f6242907
JDA
40242001-03-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
4025
4026 * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
4027 * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
4028 t_bool in declaration because pcc can't combine volatile with typedef
4029 types.
4030
bf71a4f8
JH
4031Sat Mar 3 19:47:13 CET 2001 Jan Hubicka <jh@suse.cz>
4032
4033 * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
4034 until when it is really needed.
4035 (ix86_expand_compare): Update call of ix86_expand_fp_compare.
4036 * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
4037 * i386.md (float?i?f splitter): Don't force source operand to memory
4038 for SSE.
4039 (sse_movdfcc): Fix constraint.
4040 (sse_movdfcc splitter): Handle properly the second alternative.
4041
795a25f4
NB
40422001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
4043
20f9202d 4044 * cpplex.c (parse_string): Unconditionally pedwarn.
795a25f4 4045
c691145a
NB
40462001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
4047
20f9202d 4048 * cpp.texi: Update.
1f50aafb 4049 * cppexp.c (parse_number): Update.
20f9202d
DB
4050 * cpplex.c (parse_string): Pedwarn if multiline string does not
4051 result from a system header's macro.
4052 * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
4053 * cppmacro.c (sys_objmacro_p): Rename sys_macro_p. Return true
4054 for function-like macros too.
c691145a
NB
4055 * c-lex.c (lex_number): Update.
4056
e7f4d38a
RH
40572001-03-03 Richard Henderson <rth@redhat.com>
4058
4059 * dwarf2out.c (output_call_frame_info): Fix augmentation length.
4060
5dd3e650
R
4061Sat Mar 3 04:17:17 2001 J"orn Rennecke <amylaar@redhat.com>
4062
4063 * combine.c (try_combine): If split with mode-changed scratch
4064 register didn't work, try the original mode.
4065
31a02448
R
4066Sat Mar 3 03:46:47 2001 J"orn Rennecke <amylaar@redhat.com>
4067
4068 * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
4069 * config/c4x/c4x.h: Likewise.
4070 * stor-layout.c (compute_record_mode): Likewise.
4071 (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
4072
eaf4e618
ZW
40732001-03-02 Zack Weinberg <zackw@stanford.edu>
4074
4075 * configure.in: Kill tm.h. Include the files in the $tm_file
4076 list in all three of config.h, hconfig.h, tconfig.h, after the
4077 relevant set of xm_files. Put TARGET_CPU_DEFAULT in all
4078 three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
4079 * configure: Regenerate.
4080 * Makefile.in (clean): Don't delete tm.h.
4081
4082 * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
4083 defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If
4084 those are not defined, set SEC and FEC to 0 and 1.
4085 * gcc.texi: Update to match.
4086
4087 * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
4088 * config/fp-bit.c, config/m68k/aux-crt2.asm,
4089 config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
4090 Include tconfig.h, not tm.h.
4091
4092 * config/xm-lynx.h, config/xm-std32.h,
4093 config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
4094 config/alpha/xm-alpha.h, config/arc/xm-arc.h,
4095 config/avr/xm-avr.h, config/c4x/xm-c4x.h,
4096 config/clipper/xm-clix.h, config/convex/xm-convex.h,
4097 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
4098 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
4099 config/h8300/xm-h8300.h, config/i370/xm-linux.h,
4100 config/i386/xm-i386.h, config/i860/xm-i860.h,
4101 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
4102 config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
4103 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
4104 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
4105 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
4106 config/pa/xm-linux.h, config/pa/xm-pa.h,
4107 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
4108 config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
4109 config/pj/xm-pj.h, config/romp/xm-romp.h,
4110 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
4111 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
4112 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
4113 config/v850/xm-v850.h, config/vax/xm-vax.h,
4114 config/we32k/xm-we32k.h:
4115 Don't include tm.h.
4116 Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
4117
4118 * config/i370/xm-i370.h, config/i370/xm-mvs.h,
4119 config/i370/xm-oe.h: Don't include tm.h. Don't define
4120 SUCCESS_EXIT_CODE.
4121 * config/vax/xm-vms.h: Don't include tm.h.
4122
4123 * config/xm-lynx.h, config/avr/xm-avr.h,
4124 config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
4125 Delete; made empty by above changes.
4126 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
4127 config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
4128 Don't include config/xm-lynx.h or tm.h.
4129
4130 * config/xm-gnu.h: Don't include fcntl.h.
4131 * config/sparc/xm-lynx.h: Don't include sys/types.h and
4132 sys/wait.h.
4133 * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
4134
1a7519ff
RH
41352001-03-02 Richard Henderson <rth@redhat.com>
4136
4137 * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
4138 UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
4139
2e4b9b8c
RH
41402001-03-02 Richard Henderson <rth@redhat.com>
4141
4142 * Makefile.in (OBJS): Add dwarf2asm.o.
4143 * dwarf2asm.c, dwarf2asm.h: New files.
4144 * dwarf2out.c (*): Use them.
4145 (size_of_uleb128, size_of_sleb128): Remove.
4146 (output_uleb128, output_sleb128): Remove.
4147 (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
4148 (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
4149 (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
4150 (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
4151 (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
4152 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
4153 (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
4154 (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
4155 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
4156 (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
4157 (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
4158 (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
4159 (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
4160 (dwarf2out_frame_debug): Remove unused variables.
4161 (output_loc_operands): Don't abort on 8 byte constants if
4162 host integers are wide enough.
4163 (output_symbolic_ref): Remove.
4164 (size_of_die): Don't assume 4 byte host integers.
4165 (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
4166 and end labels.
4167 (add_const_value_attribute) [CONST_INT]: Verify we're not doing
4168 something stupid with HOST_WIDE_INT to long truncation.
4169 [CONST_DOUBLE]: Likewise.
4170
4171 * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
4172 (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
4173 * config/arm/unknown-elf.h: Likewise.
4174 * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
4175 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
4176 (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
4177 (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
4178 (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
4179 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
4180 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
4181 (ASM_OUTPUT_DWARF_OFFSET): Remove.
4182 * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
4183 * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4184 (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
4185 (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
4186
dc76f41c
JDA
41872001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
4188
4189 * cselib.c (hash_rtx): Cast enums to unsigned int.
4190
dbbbbf3b
JDA
41912001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
4192
4193 * print-rtl.c (print_rtx): Cast enums to int for comparison.
4194 * c-decl.c (grokdeclarator): Cast enums to int for comparison and
4195 shifts.
4196 * c-format.c (C_STD_VER): Cast to int for comparisons.
4197 (check_function_format): Cast various enums to int for &.
4198 (maybe_read_dollar_number): Likewise.
4199 (check_format_info): Likewise.
4200 (check_format_info_main): Likewise.
4201 * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
4202 (safe_from_p): Likewise.
4203 * varasm.c (const_hash): Cast enum to int for %.
4204 * emit-rtl.c (init_emit_once): Use int loop variable to work around
4205 pcc enum problems with < and ++ operators.
4206 * regclass.c (init_reg_sets_1): Cast enums for comparison.
4207 (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
4208 (regclass_init): Change enum class to int to iterate over reg_classes.
4209 * genrecog.c (merge_trees): Cast enums for comparison.
4210 * rtl.h (GET_CODE): Cast to enum rtx_code.
4211 (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
4212 (GET_MODE): Cast to enum machine_mode.
4213 (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
4214 (GET_NOTE_INSN_NAME): Cast enum to int.
4215 * tree.h (TREE_CODE): Cast to enum tree_code.
4216 (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
eaf4e618 4217 * timevar.c (timevar_print): Change loop variable id from enum to
dbbbbf3b
JDA
4218 unsigned int.
4219 * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
4220 * config/i386/i386.md: Use PUT_MODE for mode assignment.
4221 * toplev.c (compile_file): Cast enum DFI to int.
4222 (decode_d_option): Likewise.
4223
4737b274
CF
4224Fri Mar 2 12:18:13 2001 Christopher Faylor <cgf@cygnus.com>
4225
4226 * cppinit.c (append_include_chain): Mark "after" include file name list
4227 as a system directory.
4228 * cpp.texi: Document new behavior.
4229
68af29ce
JH
4230Fri Mar 2 11:59:43 CET 2001 Jan Hubicka <jh@suse.cz>
4231
4232 * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
4233
591e15a1
NB
42342001-03-02 Neil Booth <neil@daikokuya.demon.co.uk>
4235
eaf4e618
ZW
4236 * cppfiles.c (struct include_file): Update.
4237 (stack_include_file): Use search_from.
4238 (cpp_included, find_include_file): Update.
4239 (cpp_execute_include): Update. ptr->name may not be
4240 null terminated. Use the new search_from member variable
4241 of cpp_buffer.
4242 (_cpp_compare_file_date): Similarly.
4243 (search_from): New function, similiar to actual_directory.
4244 (actual_directory): Delete.
4245 (remap_filename): Update. loc->name may not be null terminated.
4246 (struct file_name_list): Rename search_path. Update.
4247 * cpphash.h (struct cpp_buffer): Delete actual_dir. New members
4248 search_from and dir.
4249 (struct cpp_reader): Remove actual_dirs.
4250 * cppinit.c (struct cpp_pending): Update for renamed objects.
4251 (append_include_chain, remove_dup_dir, remove_dup_dirs,
4252 merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
4253 * cpplib.h (struct cpp_options): Similarly.
591e15a1 4254
d6edb99e
ZW
42552001-03-01 Zack Weinberg <zackw@stanford.edu>
4256
4257 * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
4258 config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
4259 config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
4260 config/clipper/xm-clix.h, config/convex/xm-convex.h,
4261 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
4262 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
4263 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
4264 config/i370/xm-linux.h, config/i370/xm-mvs.h,
4265 config/i370/xm-oe.h, config/i386/xm-aix.h,
4266 config/i386/xm-i386.h, config/i386/xm-osf.h,
4267 config/i860/xm-i860.h, config/i960/xm-i960.h,
4268 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
4269 config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
4270 config/mcore/xm-mcore.h, config/mips/xm-mips.h,
4271 config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
4272 config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
4273 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
4274 config/pa/xm-pahpux.h, config/pa/xm-papro.h,
4275 config/pj/xm-pj.h, config/romp/xm-romp.h,
4276 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
4277 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
4278 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
4279 config/v850/xm-v850.h, config/vax/xm-vax.h,
4280 config/vax/xm-vms.h, config/we32k/xm-we32k.h:
4281 Do not define TRUE or FALSE.
4282
4283 * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
4284 empty by above change.
4285 * config.gcc: Remove references to these files.
4286
4287 * configure.in: Detect stdbool.h.
4288 * configure, config.in: Regenerate.
eaf4e618 4289 * system.h: Include stddef.h here if available.
d6edb99e
ZW
4290 Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
4291 Then set up a sensible boolean type at the very end.
4292
4293 * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
4294 config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
4295
4296 * hash.h: Delete 'boolean' typedef and related #undefs.
4297
4298 * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
4299 all uses of 'boolean' with 'bool'.
4300
37b8524c
JDA
43012001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
4302
4303 * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
4304 * cppexp.c (lex): Cast enums for comparison.
4305 * cppinit.c (parse_option): Cast enum for comparison.
4306 * cpplex.c (cpp_spell_token): Cast enums to int for minus.
4307 (cpp_output_token): Likewise.
4308 (cpp_can_paste): Cast enums for comparsion and plus/minus.
4309 (cpp_avoid_paste): Cast enums for minus and comparison.
4310
f7143427
ZW
43112001-03-01 Zack Weinberg <zackw@stanford.edu>
4312
4313 * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
4314 field to all array elements.
4315
cb773845
ZW
43162001-03-01 Zack Weinberg <zackw@stanford.edu>
4317
4318 * cpphash.h (struct cpp_reader): Add print_version field.
4319 * cppinit.c (cpp_handle_option): For -v, -version, and --version,
4320 just set print_version and other flags as appropriate.
4321 (cpp_post_options): Print version here if print_version is set.
4322
4323 * toplev.c (exit_after_options): New flag.
4324 (independent_decode_option): Don't exit here; just set
4325 exit_after_options.
4326 (main): Exit after calling lang_hooks.post_options if
4327 exit_after_options is true.
4328
4329 * cppinit.c (append_include_chain): Drop never-used case QUOTE.
4330 (merge_include_chains): Adjust comment to match code.
4331
71b7be38
ZW
43322001-03-01 Zack Weinberg <zackw@stanford.edu>
4333
4334 * stringpool.c (set_identifier): New function.
4335 * tree.h: Prototype it.
4336
4337 * c-parse.in: Kill D_YES. If compiled for objc, call
4338 save_and_forget_protocol_qualifiers from init_reswords.
4339 * objc/objc-act.c (remember_protocol_qualifiers,
4340 forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
4341 Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
4342 vice versa.
4343 (save_and_forget_protocol_qualifiers): New function.
4344 * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
4345
5aa709ad
DN
43462001-03-01 Diego Novillo <dnovillo@redhat.com>
4347
4348 * c-semantics.c (prune_unused_decls): Return error_mark_node
4349 instead of (tree) 1 to stop traversing the tree chain.
4350
791f5e8d
BS
43512001-03-01 Bernd Schmidt <bernds@redhat.com>
4352
4353 Fix a problem introduced by Kenner's Feb 18 change.
4354 * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
4355 flag_cse_skip_blocks only temporarily, not for ever.
4356
9c1eed37
JL
4357Thu Mar 1 09:49:58 2001 Jeffrey A Law (law@cygnus.com)
4358
913553ce
JL
4359 * config/pa/som.h (ASM_IDENTIFY_GCC): Define.
4360 (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
4361
9c1eed37
JL
4362 * pa.c (emit_move_sequence): Verify operand0 is a hard register
4363 before determining its register class.
4364
21e4c9a8
BS
43652001-03-01 Bernd Schmidt <bernds@redhat.com>
4366
8cb71435
BS
4367 * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
4368 from reg 4 if current_function_calls_setjmp.
7a87c39c
BS
4369 (gen_nop_type): New function.
4370 (ia64_emit_nops): New function.
4371 (ia64_reorg): Call it.
2d1b811d 4372 (ia64_sched_reorder): Move code that rotates bundles up a bit.
8cb71435 4373
1abdf5e7
BS
4374 * reload1.c (eliminate_regs_in_insn): Restrict the special case
4375 code not to try to optimize adds with anything but a REG destination.
4376
21e4c9a8
BS
4377 * sched-int.h (struct haifa_insn_data): Add new member priority_known.
4378 (INSN_PRIORITY_KNOWN): New accessor macro.
4379 * haifa-sched.c (priority): Use it instead of testing priority against
4380 zero.
4381
d676911f
DD
43822001-02-28 DJ Delorie <dj@redhat.com>
4383
4384 * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
4385 since that doesn't work the way gcc wants on a generic m68k.
4386
d448e3e9
RH
43872001-02-28 Richard Henderson <rth@redhat.com>
4388
4389 * caller-save.c (save_call_clobbered_regs): Fix typo in
4390 comparison last change.
4391
b4e89e2d
JH
4392Wed Feb 28 19:31:42 CET 2001 Jan Hubicka <jh@suse.cz>
4393
4394 * i386.c (pentium4_cost): New.
4395 (m_PENT4): New macro.
4396 (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
4397 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
4398 x86_integer_DFmode_moves, x86_partial_reg_dependency,
4399 x86_memory_mismatch_stall): Add Pentium4
4400 (x86_use_q_reg, x86_use_any_reg): Kill.
4401 (override_options): Add pentium4.
4402 (incdec_operand): Return 0 for pentium4.
4403 (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
4404 * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
4405 (TARGET_PENTIUM4): Define.
4406 (enum processor_type): Add PROCESSOR_PENTIUM4.
4407 (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
4408 * i386.md (attribute "cpu"): Add pentium4.
4409 * invoke.texi (march): Add pentium4.
4410
0073023d
JH
4411Wed Feb 28 19:28:06 CET 2001 Jan Hubicka <jh@suse.cz>
4412
4413 * i386.md (sse_mov?fcc*): New patterns and splitters.
4414 * i386.c (ix86_expand_movcc): Work post-reload; recognize
4415 the SSE based conditional moves.
4416
2b04e52b
JH
4417Wed Feb 28 19:18:23 CET 2001 Jan Hubicka <jh@suse.cz>
4418
4419 * i386.md (attribute mode): Add "TI".
4420 (movsf_1): Add pxor support; remove constant propagation splitter.
4421 (movdf_integer): Likewise.
4422 (movdf_nointeger): Likewise.
4423 (movxf constant prop splitter): Handle all modes; update for SSE.
4424 * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
4425 * i386.c (standard_80387_constant_p): Rewrite.
4426 (standard_sse_constant_p): New.
4427 * i386-protos.h (standard_sse_constant_p): New.
4428
a46d1d38
JH
4429Wed Feb 28 19:05:37 CET 2001 Jan Hubicka <jh@suse.cz>
4430
4431 * i386.md (sse_setccsf, sse_setccdf): New.
4432 (sse_cmp* patterns): Use '%D' instead of outputtting condition
4433 flag directly.
4434 * i386.c (sse_comparison_operator): Accept the supported unordered
4435 comparses; be ready for fast_math.
4436 (print_operand): Support 'D'.
4437
91afe941
JH
4438Wed Feb 28 18:54:51 CET 2001 Jan Hubicka <jh@suse.cz>
4439
4440 * jump.c (reversed_comparison_code): Kill.
4441
6f45f005
JH
4442Wed Feb 28 18:50:15 CET 2001 Jan Hubicka <jh@suse.cz>
4443
4444 * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
4445 for STACK_REGS
4446
c679d048
JH
4447Wed Feb 28 18:47:37 CET 2001 Jan Hubicka <jh@suse.cz>
4448
4449 * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
4450 add missing '%' in constraints.
4451
4ae31003
JH
4452Wed Feb 28 17:24:24 CET 2001 Jan Hubicka <jh@suse.cz>
4453
4454 * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
4455 for HOST_BITS_PER_WIDE_INT == 32 too.
4456
787dc842
JH
4457Wed Feb 28 17:22:35 CET 2001 Jan Hubicka <jh@suse.cz>
4458
4459 * caller-save.c (reg_save_code, reg_restore_code): Index by mode, not
4460 NREGS.
4461 (insert_save, insert_restore): New parameter save_mode.
4462 (init_caller_save): Update initialization of reg_save_code
4463 and reg_restore_code.
4464 (save_call_clobbered_regs): Compute save_modes and update calls to
4465 reg_save_code and reg_restore_code.
4466 (insert_restore): Unsignetize numbers; use save_modes to choose mode
4467 of spill; update use of reg_restore_code.
4468 (insert_save): Likewise.
4469 * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
4470 * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
4471 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
4472
4473Wed Feb 28 17:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
dc2698bc
JH
4474
4475 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
4476 noce_try_store_flag_inc, noce_try_store_flag_mask,
4477 noce_try_cmove_arith):
4478 Use reversed_comparison_code instead of reverse_comparison and
4479 can_reverse_comparison_p.
4480
2450703c
JH
4481Wed Feb 28 17:17:29 CET 2001 Jan Hubicka <jh@suse.cz>
4482
4483 * jump.c (reversed_comparison_code_parts): Allow reversal of
4484 unordered compares in -ffast-math mode; reverse ordered compares
4485 for FP even w/o -ffast-math.
4486
25cff714
RH
44872001-02-27 Richard Henderson <rth@redhat.com>
4488
4489 * print-rtl.c (print_rtx) [i]: Don't print field five on
4490 NOTEs other than NOTE_INSN_DELETED_LABEL.
4491
26029fe2
ZW
44922001-02-27 Zack Weinberg <zackw@stanford.edu>
4493
4494 * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
4495 * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
4496
87aee676
DN
44972001-02-27 Diego Novillo <dnovillo@redhat.com>
4498
4499 * c-common.c (walk_stmt_tree): Visit the chain of the current tree
4500 even if walk_subtrees is 0.
4501 * c-semantics.c (prune_unused_decls): Return a non-null value to
4502 stop traversing the tree chain.
4503
67935d3f
DD
45042001-02-27 DJ Delorie <dj@redhat.com>
4505
4506 * config/m68k/m68k.c (output_function_prologue): Save the new CFA
4507 register, *then* define it as the new CFA.
4508
7ee72796
JL
4509Tue Feb 27 16:49:13 2001 Jeffrey A Law (law@cygnus.com)
4510
4511 * pa.c (override_options): Promote -fpic to -fPIC.
4512 (legitimize_pic_address): Simplify due to removal of
4513 small PIC as a code generation option.
4514 (secondary_reload_class): Similarly.
4515 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
4516 (PRINT_OPERAND_ADDRESS): Similarly.
4517 * pa.md (various patterns): Similarly.
4518 (small pic lo_sum pattern): Remove.
4519
b71b019a
JH
4520Tue Feb 27 16:01:13 CET 2001 Jan Hubicka <jh@suse.cz>
4521 Fergus Henderson
4522
4523 * md.texi (min, max): Document
d6edb99e 4524
79005df5
JH
4525Tue Feb 27 15:51:35 CET 2001 Jan Hubicka <jh@suse.cz>
4526
4527 * i386.md (movsf, movdf): Use movaps for reg-reg moves if
4528 TARGET_PARTIAL_REG_DEPENDENCY.
4529 (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
4530
7ada6625
JH
4531Tue Feb 27 15:36:48 CET 2001 Jan Hubicka <jh@suse.cz>
4532
4533 * i386.md (mins*, maxs*): New patterns, expanders and splitters.
4534
8bb3dc77
JO
45352001-02-26 Jeffrey Oldham <oldham@codesourcery.com>
4536
4537 * mips.c (mips_make_temp_file): Fix thinko in last change.
4538
ac4cdf40
JE
45392001-02-26 Jason Eckhardt <jle@redhat.com>
4540
4541 * combine.c (known_cond): Do not reverse the condition when
d6edb99e 4542 SMAX/UMAX is being considered and the condition is for equality
ac4cdf40
JE
4543 or inequality.
4544
4545 * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
4546
14879e76
PB
45472001-02-26 Philip Blundell <philb@gnu.org>
4548
4549 * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
4550 "armv2-*-linux".
4551 * config/arm/linux-elf.h: Remove historical relics related to
4552 above configurations.
4553 * config/arm/linux-oldld.h: Delete.
4554 * config/arm/linux-elf26.h: Delete.
4555
8cf8d8a2
JM
45562001-02-26 Jason Merrill <jason@redhat.com>
4557
4558 * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
4559 definitions.
4560 * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
4561 recognize a tentative definition. Lose obsolete code.
4562
4563 * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
4564 variables unless necessary, either.
4565
05cc23e8
RH
45662001-02-25 Richard Henderson <rth@redhat.com>
4567
4568 * ifcvt.c (struct noce_if_info): Add test_bb.
4569 (noce_get_alt_condition): New.
4570 (noce_try_minmax, noce_try_abs): New.
4571 (noce_operand_ok): New.
4572 (noce_process_if_block): Use them.
4573 * rtlanal.c (may_trap_p): NEG and ABS can never trap.
4574
052d4b6c
CF
4575Sun Feb 25 14:26:17 2001 Christopher Faylor <cgf@cygnus.com>
4576
4577 * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
4578 include.
4579
e1b71de9
ZW
45802001-02-25 Zack Weinberg <zackw@stanford.edu>
4581
4582 * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
4583 * config/mips/mips.c (mips_make_temp_file): Set temp_filename
4584 properly.
4585 (mips_asm_file_end): Free temp_filename here.
4586
4ddb47b3
RK
4587Sun Feb 25 08:34:23 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4588
397be6cf
RK
4589 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
4590 * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
4591
4ddb47b3
RK
4592 * config/i386/i386.md (movstrsi): Handle FAIL case.
4593
618cdda7
NB
45942001-02-25 Neil Booth <neil@daikokuya.demon.co.uk>
4595
05cc23e8
RH
4596 * cppinit.c (builtin_array): Update.
4597 (init_builtins): Flag builtins to warn if redefined or
4598 undefined. Define __GXX_WEAK as a normal macro.
4599 * cpplib.c (do_undef): Warn if flagged NODE_WARN.
4600 * cpplib.h (NODE_WARN): New flag.
4601 * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
4602 Handle __STDC__ as a builtin only on Solaris.
4603 (warn_of_redefinition): Renamed from check_macro_definition.
4604 Reverse sense of test. Always warn if NODE_WARN.
4605 (_cpp_create_definition): Use warn_of_redefinition. Flag
4606 any macro beginning with "__STDC_" to require a mandatory
4607 warning if redefined or undefined.
618cdda7 4608
000b5f54
ZW
46092001-02-24 Zack Weinberg <zackw@stanford.edu>
4610
4611 * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
4612 i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
4613 i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
4614 i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
4615 m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
4616 mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
4617 Don't define any of:
4618 USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
4619 P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
4620 NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
4621 index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
4622 STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
4623
4624 * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
4625 fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
4626 definitions.
4627
4628 * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
4629 Delete now-empty file.
4630
4631 * alpha/vms.h: Define NEED_ATEXIT here...
4632 * alpha/xm-vms.h: ...not here.
4633
4634 * i386/cygwin.h: Don't define PARAMS.
4635 * mips/mips.c: Don't prototype mktemp. Don't define
4636 P_tmpdir. Use make_temp_file to create temporary files.
4637 Don't be clever and delete temporary files early.
4638 * config.gcc: Drop references to deleted files. Don't define
4639 FULL_PROTOTYPES.
4640 * gcc.texi: Don't mention USE_PROTOTYPES.
4641
0e4970d7
RK
4642Sat Feb 24 20:25:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4643
4644 * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
4645 (ix86_set_move_mem_attrs_1): Likewise.
4646 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
4647 * config/i386/i386.md (movstrsi): Call it.
4648
a59b81be
ZW
46492001-02-24 Zack Weinberg <zackw@stanford.edu>
4650
4651 * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
4652 x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
4653 ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
4654 rs6000/x-aix41-gld. These are nonexistent, empty, or obsolete.
4655
4656 (i750a-*-*): Error here if hosting on i750a.
4657 (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
4658
4659 * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
4660 Remove (empty modulo comments).
4661
4662 * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
4663 alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
4664 i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
4665 i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
4666 mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
4667 rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
4668
4669 * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
4670 Remove reference to winnt.h in comment.
4671 * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
4672
c7b30677
FS
46732001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4674
4675 * loop.c (check_dbra_loop): A biv has uses besides counting if it is
4676 used to set another biv.
4677
f900ecd8
RK
4678Sat Feb 24 06:45:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4679
bd015d37
RK
4680 * tree.h (BLOCK_DEAD): New macro.
4681 (struct tree_block): New flag, dead_flag.
4682 * print-tree.c (print_node, case 'b'): Print missing fields.
4683 * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
4684 * function.c (identify_blocks): Enable test for misplaced notes.
4685 (all_blocks): Skip BLOCK_DEAD blocks.
4686 * integrate.c (integrate_decl_tree): Likewise.
4687
f900ecd8
RK
4688 * errors.c (internal_error, trim_filename): New functions.
4689 (fancy_abort): Call internal_error.
4690 * errors.h (internal_error, trim_filename): New declarations.
4691
0651fbc0
AO
46922001-02-24 Alexandre Oliva <aoliva@redhat.com>
4693
4694 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
4695 2000-08-26's patch.
4696 (EXTRA_CONSTRAINT): Formatting changes.
4697
5ea1bc0e
KG
46982001-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4699
4700 * rtl.c (rtl_check_failed_code2): Fix typo in last change.
4701
1aed31b6
PB
47022001-02-23 Per Bothner <per@bothner.com>
4703
4704 * gcc.c (record_temp_file, pfatal_with_name, error): Make non-static,
4705 so they can be called from java/jvspec.c.
4706 * gcc.h (record_temp_file, pfatal_with_name, error): Declare.
4707
4dd2ac2c
JH
4708Sat Feb 24 03:32:50 CET 2001 Jan Hubicka <jh@suse.cz>
4709
4710 * i386.c (ix86_frame): New structure.
4711 (ix86_compute_frame_size): Kill.
4712 (ix86_compute_frame_layout): New.
4713 (ix86_save_reg): New.
4714 (ix86_can_use_return_insn_p): Use frame layout stuff.
4715 (ix86_expand_prologue): Likewise.
4716 (ix86_expand_epilogue): Likewise.
4717 (ix86_initial_elimination_offset): Likewise.
4718 (ix86_nsaved_regs): Use ix86_save_reg.
4719 (ix86_emit_save_regs): Likewise.
4720
a686dbf8
JH
4721Sat Feb 24 03:30:38 CET 2001 Jan Hubicka <jh@suse.cz>
4722
4723 * flow.c (find_sub_basic_blocks): New function.
4724 (split_block): Be ready for basic block introduced by CODE_LABEL.
4725 (commit_one_edge_insertion): Call find_sub_basic_block.
4726
4727 * flow.c (make_edges): Add edge from entry for blocks starting with
4728 label having ALTERNATE_NAME
4729
016030fe
JH
4730Sat Feb 24 03:19:42 CET 2001 Jan Hubicka <jh@suse.cz>
4731
4732 * function.c (epilogue_done): Be ready for first basic block not
4733 containing PROLOGUE_END note.
4734 (reposition_prologue_and_epilogue_notes): Avoid placing
4735 PROLOGUE_END note between BASIC_BLOCK.
4736
c9212f33
JH
4737Sat Feb 24 03:17:09 CET 2001 Jan Hubicka <jh@suse.cz>
4738
4739 * loop.c (canonicalize_condition): Move to reversed_comparison_code.
4740
4f0a3098
DD
47412001-02-21 DJ Delorie <dj@redhat.com>
4742
4743 * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
4744 check for current_function_has_nonlocal_goto from 1999-11-12.
4745
e82a84c4
RK
4746Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4747
fce687f8
RK
4748 * diagnostic.c (trim_filename): No longer static.
4749 * toplev.h (trim_filename): Declare.
4750 * rtl.c (rtl_check_failed_bounds): Call internal_error.
4751 (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
4752 (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
4753 (rtvec_check_failed_bounds): Likewise.
4754 * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
4755
3cc247a8
RK
4756 * convert.c (convert_to_integer): Don't do unsigned unless result or
4757 both inputs are unsigned.
4758
ac50176d
RK
4759 * fold-const.c (fold_convert): Don't call size_int_type_wide if
4760 input overflows.
4761
9b58f739
RK
4762 * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
4763
e82a84c4
RK
4764 * varasm.c (output_constant): Recompute CODE after lang-specific fn.
4765
d5d063d7
JO
47662001-02-23 Jeffrey Oldham <oldham@codesourcery.com>
4767
4768 * Makefile.in (resource.o): Add params.h dependence.
4769 * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
4770 * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
4771 * resource.c: Add dependence on params.h.
4772 (current_live_regs): Fix explanatory comment.
4773 (find_basic_block): Add new parameter to permit limiting search
4774 for a BARRIER.
4775 (mark_target_live_regs): Add new argument to find_basic_block call.
4776 (incr_ticks_for_insn): Likewise.
4777
3d7c9b7e
GDR
47782001-02-23 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
4779
4780 * diagnostic.c (output_to_stream): Rename to
4781 output_buffer_to_stream. Loses the stream parameter.
4782 (init_output_buffer): Set diagnosic_buffer's stream.
4783 (flush_diagnostic_buffer): Adjust.
4784 (default_print_error_function): Likewise.
4785 (finish_diagnostic): Likewise.
4786 (verbatim): Likewise.
4787
4788 * diagnostic.h (struct output_buffer): Add `stream' field.
4789 (output_buffer_attached_stream): New macro.
4790
fba2c0cd
JJ
47912001-02-23 Jakub Jelinek <jakub@redhat.com>
4792
4793 * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
4794 check if either operand is divisible by C.
4795 (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
4796 If type is signed, consider negative numbers as well.
4797
515edc9b
RH
47982001-02-22 Richard Henderson <rth@redhat.com>
4799
4800 * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
4801 reach .text instead of gp-relative relocs.
4802 * config/ia64/crtend.asm (.init): Likewise.
4803
3844cd2e
AJ
48042001-02-22 Andreas Jaeger <aj@suse.de>
4805
4806 * extend.texi (C++ Attributes): Fix typo.
4807
3f67ac08
DM
48082001-02-21 David Mosberger <davidm@hpl.hp.com>
4809
4810 * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
4811 functions, drop current_function_args_info.words test.
4812 (ia64_compute_frame_size): Mark syscall_linkage functions as
4813 using eight input registers.
4814
89647e8a
LR
48152001-02-21 Loren J. Rittle <ljrittle@acm.org>
4816 Bruce Korb <bkorb@gnu.org>
4817
4818 * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
4819 * fixinc/README: Document how to convert sed substitutions
4820 to format style c_fix-es.
4821 * fixinc/fixincl.x: regen
4822
e889f41a
JO
48232001-02-21 Jeffrey D. Oldham <oldham@codesourcery.com>
4824
4825 * gcc.c: Add comment explaining how to add a command-line option.
4826 Add title to specs language comment.
4827
7521b913
JO
48282001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
4829
4830 * gcc.c (cc1_options): Add "-param".
4831 (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
4832 (option_map): Likewise.
4833 * toplev.c (display_help): Add entry for "--param".
4834 (independent_decode_option): Fix typographical error.
4835
82a127a9
CM
4836Wed Feb 21 18:57:28 CET 2001 Catherine Moore <clm@redhat.com>
4837 Bernd Schmidt <bernds@redhat.com>
4838 Jan Hubicka <jh@suse.cz>
4839
a59b81be 4840 * i386.c (function_arg_advance): Pass SSE arguments in registers.
82a127a9
CM
4841 (function_arg): Likewise.
4842
2b71bf37
JH
4843Wed Feb 21 18:12:41 CET 2001 Jan Hubicka <jh@suse.cz>
4844
4845 * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
4846
eb57ffec
KH
48472001-02-21 Kazu Hirata <kazu@hxi.com>
4848
4849 * config/h8300/h8300.md (iorsi3): Do not output an extra newline
4850 character.
4851 (xorsi3): Likewise.
4852
ccfce8d2
JH
4853Wed Feb 21 17:35:24 CET 2001 Jan Hubicka <jh@suse.cz>
4854
4855 * flow.c (init_propagate_block_info): Canon address and use single_set
4856 for killing dead memory stores.
4857
0443f602
JO
48582001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
4859
4860 * Makefile.in (reorg.o): Add params.h dependence.
4861 * params.def: Fix typographical error in comment.
4862 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
4863 * params.h: Modify introductory comment.
4864 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
4865 * reorg.c: Add dependence on params.h.
4866 (redundant_insn): Add parameterized throttle for search.
4867 (fill_simple_delay_slots): Add a comment explaining a variable.
4868 Move conditional out of loop, simplifying code.
4869 (fill_eager_delay_slots): Fix typographical error in comment.
4870
7e6d8ba1
AH
48712001-02-20 Aldy Hernandez <aldyh@redhat.com>
4872
a59b81be 4873 * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
7e6d8ba1 4874
a59b81be
ZW
4875 * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
4876 (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
7e6d8ba1 4877
5daf7c0a
JM
48782001-02-21 Jason Merrill <jason@redhat.com>
4879
4880 * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
4881 (struct tree_decl): Add uninlinable bitfield.
4882 * c-decl.c (duplicate_decls): Set it.
4883 * integrate.c (function_cannot_inline_p): Check it.
4884
3844cd2e 4885 * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
5daf7c0a
JM
4886 DW_AT_MIPS_linkage_name to abstract methods.
4887 (dwarf2out_abstract_function): Emit class context before calling
4888 set_decl_abstract_flags. Don't clear DECL_ABSTRACT.
4889 (gen_subprogram_die): Remove obsolete code.
4890 (gen_member_die): Don't include clones in the member list.
4891 (gen_decl_die): Emit abstract info for clone origin.
4892 * dwarfout.c (output_type): Don't include clones in the member list.
4893 * dbxout.c (dbxout_type_methods): Ignore abstract methods.
4894 * toplev.c (note_deferral_of_defined_inline_function): Don't clear
4895 DECL_ABSTRACT on a function that already has it set.
4896
4897 * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
4898 (get_subprogram_die): Pass it in.
4899
3c88f366
RE
49002001-02-21 Richard Earnshaw <rearnsha@arm.com>
4901
4902 * flow.c (mark_set_1): Make not_dead unsigned long. For
3844cd2e 4903 non-pseudos, use it as a bitmask of the hard regs that
3c88f366
RE
4904 don't die.
4905
373e2177
NB
49062001-02-21 Neil Booth <neil@daikokuya.demon.co.uk>
4907
a59b81be
ZW
4908 * cppfiles.c: Update comments.
4909 (_cpp_read_file): Don't check for NULL filenames any more.
4910 * cppinit.c (cpp_start_read): Don't do canonicalization of
4911 in_fname and out_fname. Use the passed file name exclusively.
4912 (_cpp_handle_options): Don't treat "-" as a command line option,
4913 but as a normal filename.
4914 (_cpp_post_options): Canonicalize in_fname and out_fname.
4915 * cppmain.c (printer_init): Don't check out_fname for NULL.
4916 * c-lex.c (orig_filename): Rename cpp_filename for clarity.
4917 (init_c_lex): Update, and use "" to represent stdin to CPP.
4918 (yyparse): Update.
373e2177 4919
75beacf8 49202001-02-20 Will Cohen <wcohen@redhat.com>
3844cd2e 4921
75beacf8
WC
4922 * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
4923 * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
4924 (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
4925 fixunstfsi_libfunc.
4926
33011c35
SS
49272001-02-20 Stan Shebs <shebs@apple.com>
4928
4929 * config/rs6000/rs6000.c (output_cbranch): Output branches
4930 on separate lines instead of using ';' to separate.
4931
c740cee2
NB
49322001-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
4933
a59b81be 4934 * cppinit.c (set_lang): Move builtin handling to...
c740cee2
NB
4935 (init_builtins): ...here.
4936 (_cpp_create_reader): Move call to set_lang.
4937
c9407e4c
MM
49382001-02-20 Mark Mitchell <mark@codesourcery.com>
4939
4940 * stmt.c (expand_return): If an attempt is made to return the
4941 error_mar_node, treat the return like a return without a value.
4942
cd5a58e5
ZW
49432001-02-19 Zack Weinberg <zackw@stanford.edu>
4944
4945 * sibcall.c (skip_copy_to_return_value): Call
4946 identify_call_return_value here, and return orig_insn if it
4947 returns zero. Hardret and softret arguments now unnecessary.
4948 (call_ends_block_p): Don't call identify_call_return_value here.
4949
4950 * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
4951 's' slots in RTXen.
4952 * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
4953 * ggc.h (ggc_mark_if_gcable): Delete prototype.
4954
f8eb41cc
JL
4955Mon Feb 19 20:30:16 2001 Jeffrey A Law (law@cygnus.com)
4956
4957 * pa.c (move_operand): Accept code to load the address of a
4958 symbol out of the DLT as a valid move operand.
4959 (print_operand, case 'A'): New to handle generating a DLT
4960 reference for a LO_SUM expression.
4961 * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
4962 * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
4963
75393169
JM
49642001-02-19 Joseph S. Myers <jsm28@cam.ac.uk>
4965
4966 * README, cpp.texi, gcc.texi, version.c: Update version number to
4967 3.1.
4968 * cpp.1, gcov.1, gcc.1: Regenerate.
4969
51d0f328
NB
49702001-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
4971
a59b81be
ZW
4972 * cppfiles.c (stack_include_file): Generate dependencies
4973 here, and manage include_count here too.
4974 (PRINT_THIS_DEP): Delete.
4975 (_cpp_execute_include): Do not generate dependencies here,
4976 apart from the case of a missing header. Do not manage
4977 include_count.
4978 (_cpp_read_file): Leave dependency generation to
4979 stack_include_file.
51d0f328 4980
c81460e4
JL
4981Mon Feb 19 10:17:47 2001 Jeffrey A Law (law@cygnus.com)
4982
4983 * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
4984 target_cpu_default. Remove dead assignment to
4985 target_cpu_default.
4986
6df26b8f
JH
4987Mon Feb 19 16:47:39 CET 2001 Jan Hubicka <jh@suse.cz>
4988
4989 * regclass.c (contains_reg_of_mode): Make global.
4990 (init_reg_sets): Remove contains_reg_of_mode; take into account
4991 CLASS_MAX_NREGS when looking for the proper mode.
4992 (dump_regclass): Dump only classes considered for the pseudo.
4993 (regclass): Use contains_reg_of_mode.
4994
4a88a060
JH
4995Mon Feb 19 16:45:42 CET 2001 Jan Hubicka <jh@suse.cz>
4996
4997 * gcc.c (do_spec_1): 'n' for printing notices.
4998 * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
4999
0eac0e81
JH
5000Mon Feb 19 15:51:30 CET 2001 Jan Hubicka <jh@suse.cz>
5001
5002 * reg-stack.c (next_flags_user): Use current_block->end
5003 (swap_rtx_condition): Look for next user if flags don't die;
5004 give up on CALL_INSNs; use current_block->end.
5005
e5c617ff
RK
5006Mon Feb 19 08:27:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5007
5008 * sibcall.c (call_ends_block_p): New function.
5009 (optimize_sibling_and_tail_recursive_call): Use it.
5010
55de49e3
KH
50112001-02-18 Kazu Hirata <kazu@hxi.com>
5012
63a262f1
KH
5013 * config/h8300/h8300.md: Update copyright.
5014 (andsi3): Do not output an extra newline character.
55de49e3 5015
48aba75b
RK
5016Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5017
5018 * toplev.c (note_deferral_of_defined_inlined_function): Argument
5019 FNDECL may be unused.
5020
5021 * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
5022 follow jumps after first run.
5023 If -fexpensive-optimizations rerun CSE after GCSE and iterate until
5024 it doesn't change any jumps.
5025
3335f1d9
JL
5026Sun Feb 18 17:05:50 2001 Jeffrey A Law (law@cygnus.com)
5027
5028 * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
5029 ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
5030 (mostlyclean): Corresponding changes.
5031 * rtlanal.c (hard-reg-set.h): Include.
5032 (rtx_unstable_p): Do not treat the argument pointer specially
5033 if it is not a fixed register.
5034 (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
5035
651a788e
RK
5036Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5037
021921d0
RK
5038 * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
5039 against last real insn in basic block.
5040 Rework to avoid gotos.
5041
fb0c0a12
RK
5042 * Makefile.in (gcse.o): Now includes ggc.h.
5043 * gcse.c: Include ggc.h.
5044 (want_to_gcse_p): Verify expression can be in SET as valid insn.
5045 (try_replace_reg): Remove warning of uninitialize variable.
5046 (process_insert_insn): Call invalid_insn_p to validate insn.
5047 * recog.c (insn_invalid_p): Now global.
5048 See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
5049 * recog.h (insn_invalid_p): New declaration.
5050
d659de97
RK
5051 * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
5052
3ec6f1a9 5053 * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
20636516 5054 assignments from FP constants since 'Y' output code can't handle it.
3ec6f1a9
RK
5055 (eligible_for_sibcall_delay): Likewise.
5056
63c499dc
RK
5057 * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
5058 Call fancy_abort directly, passing args.
5059 (print_rtl_and_abort): Now a macro, like fancy_abort.
5060
651a788e
RK
5061 * final.c (output_operand_lossage): Use internal_error, not error.
5062
71641c15
RH
50632001-02-18 Shane Nay <shane@agendacomputing.com>
5064
3844cd2e 5065 * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
71641c15
RH
5066 structure shift insns.
5067
50682001-02-18 Mark Mitchell <mark@codesourcery.com>
8fa33dfa
MM
5069
5070 * invoke.texi (-fsquangle): Remove documentation.
5071 (-fname-mangling-version): Likewise.
5072
e1078cfc
LB
50732001-02-18 Lars Brinkhoff <lars@nocrew.org>
5074
5075 * optabs.c (expand_abs): Remove reference to
5076 HAVE_contitional_arithmetic.
5077 * combine.c (simplify_set): Likewise.
5078
3bd24117
RH
50792001-02-18 Richard Henderson <rth@redhat.com>
5080
5081 * ifcvt.c (dead_or_predicable): Don't move code if eh regions
5082 would be disrupted.
5083
5cada064
RH
50842001-02-18 Richard Henderson <rth@redhat.com>
5085
31189758
RH
5086 * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
5087
e491fe9a
RH
5088 * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
5089
5cada064
RH
5090 * reload1.c (reload_cse_simplify_set): Fix typo.
5091
751aa7cc
RK
5092Sun Feb 18 09:30:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5093
e28a09a4
RK
5094 * diagnostic.c (_fatal_insn): Decrement errorcount.
5095
d0a5eb32
RK
5096 * invoke.texi (-I): Add note avoiding use for system header files.
5097
751aa7cc
RK
5098 * rtl.h (add_clobbers): Remove duplicate declaration.
5099 * recog.h (added_clobbers_hard_reg_p): New declaration.
5100 * genemit.c (struct clobber_pat): New field has_hard_reg.
5101 (gen_insn): Record if added clobbers clobber hard reg.
5102 (gen_split): Avoid unused warning if number of operands is 0.
5103 (output_added_clobbers_hard_reg_p): New function.
5104 (main): Call it.
5105
4096479e
AM
51062001-02-18 Alan Modra <alan@linuxcare.com.au>
5107
3844cd2e
AJ
5108 * pa.c (hppa_expand_prologue): Simplify code storing return
5109 pointer. For large (>=8k) frames with a post_store, adjust stack
5110 pointer by 8k-64 first rather than by 64. When testing with
5111 VAL_14_BITS_P, always use the actual value rather than the value
5112 negated. Add blockage to prevent scheduling of spills before
5113 stack frame has been created.
5114 (hppa_expand_epilogue): Simplify code loading return pointer.
5115 Allow a slightly larger range for merge_sp_adjust_with_load case.
5116 When testing with VAL_14_BITS_P, always use the actual value.
31d68947 5117
4096479e
AM
5118 * pa.c (pa_adjust_insn_length): Check that block move
5119 pattern is a set before looking at operands.
5120
9c2c54dc
MM
51212001-02-17 Mark Mitchell <mark@codesourcery.com>
5122
68626d4f
MM
5123 * fold-const.c (fold_binary_op_with_conditional_arg): New
5124 function, split out from ...
5125 (fold): ... here.
5126 * tree.def (COND_EXPR): Document the use of VOID_TYPE for
5127 conditional arms that throw exceptions.
5128
9c2c54dc
MM
5129 * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
5130 looking at a BLOCK.
5131
7afe8c41
KG
51322001-02-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5133
5134 * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
5135 define HAVE_DECL_* to 1 to mask potential backup declarations.
5136 * configure: Regenerated.
5137
3747f3dc
MM
51382001-02-17 Mark Mitchell <mark@codesourcery.com>
5139
5140 * invoke.texi (-Woverloaded-virtual): Clarify documentation.
5141
78adc5a0
RH
51422001-02-17 Richard Henderson <rth@redhat.com>
5143
5144 * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
5145 when replacing a memory load with a register.
5146
e2373f95
RK
5147Sat Feb 17 14:48:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5148 Jan Hubicka <jh@suse.cz>
5149
5150 * recog.c (validate_replace_src_1): New.
5151 (validate_replace_src_data): Likewise.
5152 (validate_replace_src): Use note_uses.
5153 * rtl.h (note_uses): Declare.
5154 * rtlanal.c (note_uses): New.
5155
b00b2cc2
JH
5156Sat Feb 17 10:52:34 CET 2001 Jan Hubicka <jh@suse.cz>
5157
5158 * reg-stack.c (stack_def): Make field reg unsigned.
5159 (remove_regno_note): Unsignetize parameter.
5160
f5bbdc0c
JS
51612001-02-16 Jes Sorensen <jes@linuxcare.com>
5162
5163 * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
5164 shladd_operand() call.
5165
6ee71e49 51662001-02-16 Bruce Korb <bkorb@gnu.org>
a59b81be 5167 Rodney Brown <RodneyBrown@mynd.com>
6ee71e49
BK
5168
5169 * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
5170 * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
5171 machine restrictions
5172 * fixinc/fixincl.x: regen
5173
f85cc4cb
RK
5174Fri Feb 16 12:41:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5175
172890a2
RK
5176 * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
5177 Don't CSE a nop.
5178 (hash_scan_insn): Clean up calls to hash_scan_set.
5179 (compute_kill_rd): REGNO now unsigned.
5180 (try_replace_reg): Rework to use simplify_replace_rtx.
5181 (cprop_jump, cprop_cc0_jump): Likewise.
5182 (cprop_insn): Call find_reg_equal_equiv_note.
5183 Reflect changes to cprop_jump and cprop_cc0_jump.
5184
d6447708 5185 * recog.c (validate_replace_src): Replace in operands of
b71e8e84
RK
5186 ZERO_EXTRACT in SET_DEST.
5187
f85cc4cb
RK
5188 * cse.c (new_label_ref): New variable.
5189 (insert): Set it instead of recorded_label_ref.
5190 (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
5191 CODE_LABEL for this function, and not already in REG_LABEL note.
5192
f5df2e8c
JO
51932001-02-16 Jeffrey Oldham <oldham@codesourcery.com>
5194
5195 * resource.c (mark_referenced_resources): Fix typo in introductory
5196 comment.
5197 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
5198 string constant.
5199
a901fa64
JM
52002001-02-16 Jason Merrill <jason@redhat.com>
5201
1edf43d6
JM
5202 * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
5203 NULL.
3844cd2e 5204 (gen_subprogram_die): Don't abort on seeing a second definition if
1edf43d6
JM
5205 the previous one was abstract. Don't replace an abstract instance
5206 in the lookup table.
5207
5208 * dwarf2out.c (dwarf2out_abstract_function): Rename from
5209 gen_abstract_function.
5210 * dwarf2out.h: Declare it.
5211 * toplev.c (note_outlining_of_inline_function): New fn.
5212 * toplev.h: Declare it.
5213 * integrate.c (output_inline_function): Call it.
5214 * c-decl.c (duplicate_decls): Call it when redefining an extern
5215 inline. Don't inline the new defn.
5216
a901fa64
JM
5217 * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
5218
cc06d68c
GP
52192001-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5220
5221 * .gdbinit: Rename to gdbinit.in.
3844cd2e 5222 * gdbinit.in: New file,
cc06d68c
GP
5223 * configure.in: Generate .gdbinit from gdbinit.in.
5224 * configure: Regenerated.
5225 * Makefile.in (distclean): Always remove .gdbinit.
5226
4f6bcad0
JJ
52272001-02-16 Jakub Jelinek <jakub@redhat.com>
5228
5229 * objc/objc-act.c (start_class): Register implemented_classes with
5230 GC.
5231
e4a345f8
NB
52322001-02-16 Neil Booth <neil@daikokuya.demon.co.uk>
5233
a59b81be
ZW
5234 * cppfiles.c (_cpp_make_system_header): Generate a file
5235 change callback.
e4a345f8 5236
fd48c9b5 52372001-02-15 Jim Meyering <meyering@lucent.com>
e658449e 5238
fd48c9b5
DD
5239 * Makefile.in (install-common): Don't depend on installdirs here.
5240 Instead, make each of the lang.install-common targets (e.g.,
5241 c++.install-common in cp/Make-lang.in) depend on it.
e658449e
JM
5242 (install-driver): Depend on installdirs.
5243
d64236b4
RK
5244Thu Feb 15 21:30:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5245
a8b94b40
RK
5246 * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
5247
d64236b4
RK
5248 * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
5249 do in memory.
5250
3af64fd6
MM
52512001-02-15 Mark Mitchell <mark@codesourcery.com>
5252
5253 * invoke.texi (--param): Document.
5254
ba21a8a8
AO
5255Thu Feb 15 15:16:38 2001 Alexandre Oliva <aoliva@redhat.com>
5256
5257 * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
5258
ff78d082
JH
5259Thu Feb 15 10:52:31 CET 2001 Jan Hubicka <jh@suse.cz>
5260
5261 * i386.md (extendsfdf2_2): Fix constraints.
5262
2b66da3c
JH
5263Thu Feb 15 09:46:21 CET 2001 Jan Hubicka <jh@suse.cz>
5264
5265 * i386.md (fop_df_3 splitter): Fix operand number.
5266
266da7a2
JH
5267Wed Feb 14 12:37:37 CET 2001 Jan Hubicka <jh@suse.cz>
5268
5269 * invoke.texi (-mreg-alloc): Nuke.
5270 * i386.c (ix86_reg_alloc_order, regs_allocated,
5271 order_regs_for_local_alloc): Nuke.
5272 (override_options): Kill reg_alloc code.
5273 * i386.h (TARGET_OPTIONS): Kill reg-alloc.
5274 (REG_ALLOC_ORDER): SSE goes before I387.
5275 (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
5276 (ix86_reg_alloc_order): Likewise.
5277 * i386-protos.h (ix86_reg_alloc_order): Kill.
5278
121bc96b
RH
52792001-02-14 Richard Henderson <rth@redhat.com>
5280
5281 * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
5282
04b1a223
JH
5283Wed Feb 14 11:59:58 CET 2001 Jan Hubicka <jh@suse.cz>
5284
5285 * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
5286
fa79946e
JH
5287Wed Feb 14 11:12:38 CET 2001 Jan Hubicka <jh@suse.cz>
5288
5289 * i386-protos.h (ix86_memory_move_cost): Move offline.
5290 * i386.c (ix86_register_move_cost): Compute properly cost of
5291 SSE, MMX and i387 instructions.
5292 (*_cost): Add costs of SSE/MMX moves.
5293 (ix86_memory_move_cost): Move offline from ....; Likewise.
5294 * i386.h (MEMORY_MOVE_COST): .... here;
5295 (struct processor costs): Add new fields to represent costs
5296 of SSE/MMX moves.
5297
6836e024
JH
5298Wed Feb 14 10:08:26 CET 2001 Jan Hubicka <jh@suse.cz>
5299
5300 * regclass.c (init_reg_sets_1): Reinstall the optimization of
5301 move_cost together with Matt Kraai's fix.
5302
d3fb92b8
JO
53032001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
5304
5305 * Makefile.in (OBJS): Add params.o.
5306
8e0b124e
RH
53072001-02-14 Richard Henderson <rth@redhat.com>
5308 DJ Delorie <dj@redhat.com>
5309
5310 * jump.c (jump_optimize_1): When we delete a conditional jump
5311 preceeding a non-conditional jump to effectively the same place,
5312 make sure that the combined jump skips any clobber insns between
5313 the two labels.
5314
55bd9f24
JO
53152001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
5316
5317 * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
5318
c6d9a88c
MM
53192001-02-14 Mark Mitchell <mark@codesourcery.com>
5320
5321 * Makefile.in (toplev.o): Depend on params.h.
5322 (intergate.o): Likewise.
5323 (params.o): New target.
5324 * flags.h (inline_max_insns): Remove.
5325 * integrate.c: Include params.h.
5326 Use MAX_INLINE_INSNS instead of inline_max_insns.
5327 * params.c: New file.
5328 * params.h: Likewise.
5329 * params.def: Likewise.
5330 * toplev.c: Include params.h.
5331 (lang_independent_params): New variable.
3844cd2e 5332 (decode_f_option): Use the param machinery instead of setting
c6d9a88c
MM
5333 max_inline_insns.
5334 (independent_decode_option): Handle "--param name=value".
5335 (main): Register language-independent parameters.
5336
c6e95f34
JH
5337Wed Feb 14 11:13:45 CET 2001 Jan Hubicka <jh@suse.cz>
5338
5339 * i386.md (pushsf, pushdf_nointeger): Fix constraint.
5340
c7c0ae3d
RH
53412001-02-14 Richard Henderson <rth@redhat.com>
5342
5343 * regclass.c (init_reg_sets_1): Revert last two changes.
5344
fe375cf1
JJ
53452001-02-14 Jakub Jelinek <jakub@redhat.com>
5346
5347 * stor-layout.c (is_pending_size, put_pending_size): New functions.
5348 (variable_size): Call put_pending_size.
5349 * tree.h (is_pending_size, put_pending_size): Add prototypes.
5350 * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
5351 sizes list, put newly created SAVE_EXPR there as well.
5352
53532001-02-14 Jakub Jelinek <jakub@redhat.com>
5354
5355 * config/ia64/ia64.c (last_group): Only 2 entries are needed.
5356 (errata_find_address_regs): load_group has only 2 entries.
5357 (errata_emit_nops): Likewise. shladd is not problematic.
5358 Clear last_group if nop was emitted.
5359 (fixup_errata): load_group has only 2 entries.
5360 Optimize.
5361
7065e130
NB
53622001-02-14 Neil Booth <neil@daikokuya.demon.co.uk>
5363
fe375cf1
JJ
5364 * c-lex.c (lex_number): Only warn traditionally for U suffix
5365 outside system macros.
5366 * cppexp.c (parse_number): Similarly.
5367 * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
5368 * cppmacro.c (struct cpp_macro): New member node.
5369 (parse_args): Only warn about missing rest args if not
5370 a system macro.
5371 (funlike_invocation_p): Similarly for uninvoked funlike macros.
5372 (cpp_sys_objmacro_p): New.
5373 (_cpp_create_definition): Store the node with the macro defn.
5374 Remember if the macro is defined in a system header.
7065e130 5375
cbc59f01
DD
53762001-02-13 DJ Delorie <dj@redhat.com>
5377
5378 * configure.in (check_languages): determine languages to check
5379 * Makefile.in (check-c++): alias for check-g++
5380 (check-f77): alias for check-g77
5381 (CHECK_TARGETS): depend on configured languages
5382
ca9a9b12
JH
5383Wed Feb 14 01:13:59 CET 2001 Jan Hubicka <jh@suse.cz>
5384
5385 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
5386 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
5387 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
5388 (sqrtextendsfdf2): Disable for SSE2.
5389
5390Wed Feb 14 00:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
5391
5392 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
5393 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
5394 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
5395 (sqrtextendsfdf2): Disable for SSE2.
5396
7093c9ea
JH
5397Wed Feb 14 00:11:20 CET 2001 Jan Hubicka <jh@suse.cz>
5398
5399 * i386.md (movsfcc_1): Support integer cmove instruction.
5400 (movdfcc_1): Likewise; new splitter.
5401
0644b628
JH
5402Tue Feb 13 23:19:27 CET 2001 Jan Hubicka <jh@suse.cz>
5403
5404 * i386.c (output_fp_compare): Support SSE.
5405 (prepare_fp_compare_args): SSE comparisons always support memory.
5406 * i386.h (TARGET_CMOVE): SSE imply cmove.
5407 * i386.md (cmp?f2): Enable for SSE too.
5408 (cmpfp_i*): Support SSE.
5409 (cmpfp_i_sse): New.
5410 (cmpfp_i_sse_only): New.
5411 (s*, b* fp expanters): Enable for SSE too.
5412 (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
5413 New patterns.
5414
1464632b
JH
5415Tue Feb 13 23:05:42 CET 2001 Jan Hubicka <jh@suse.cz>
5416
a901fa64 5417 * regclass.c (init_reg_sets_1): Silence warning.
1464632b 5418
a8083431
JH
5419Tue Feb 13 22:03:07 CET 2001 Jan Hubicka <jh@suse.cz>
5420
5421 * i386.md (sqrt?f2): Change to expander.
5422 (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
5423
d9c695ff
RK
5424Tue Feb 13 15:42:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5425
5426 * rtlanal.c (find_reg_equal_equiv_note): New function.
5427 * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
5428 (simplify_gen_relational, simplify_replace_rtx): Likewise.
5429 * rtl.h: Add declarations for above functions.
5430
848e0190
JH
5431Tue Feb 13 21:09:11 CET 2001 Jan Hubicka <jh@suse.cz>
5432
5433 * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
5434 conditionals.
5435 * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
5436 * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
5437 * flow.c (mark_regs_live_at_end): Likewise.
5438 (calculate_global_regs_live): Likewise.
5439 * gcse.c (compute_hash_table): Likewise.
5440 (compute_kill_rd): Likewise.
5441 * resource.c (mark_target_live_regs): Likewise.
5442 * rtl.h (INVALID_REGNUM): New macro.
5443
b1675dbd
JH
5444Tue Feb 13 20:59:22 CET 2001 Jan Hubicka <jh@suse.cz>
5445
5446 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
5447
1698bba1
JH
5448Tue Feb 13 16:32:20 CET 2001 Jan Hubicka <jh@suse.cz>
5449
5450 * i386.md (fixsfsi2, fixdfdi2): Force operand to register
5451 for SSE.
5452
1deaa899
JH
5453Tue Feb 13 14:53:16 CET 2001 Jan Hubicka <jh@suse.cz>
5454
5455 * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
5456 too.
5457 (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
5458 (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
5459 (fop_sf_1_sse, fop_df_1_sse): New patterns
5460 (fop_*): Disable float_extend and float patterns for SSE compilation.
5461 * i386.c (output_387_binary_op): Support SSE.
5462
42a0aa6f
JH
5463Tue Feb 13 14:16:34 CET 2001 Jan Hubicka <jh@suse.cz>
5464
5465 * i386.md (dummy_extendsfdf2): Support SSE2
5466 (extendsfdf2): Enable if 80387 or SSE2.
5467 (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
5468 and no MIX_I387_SSE2
5469 (extendsfdf2_1_sse_only): New pattern.
5470 (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
5471 of SSE.
5472 (truncdfsf2_1): Support SSE.
5473 (truncdfsf2_2): Support SSE.
5474 (truncdfsf2_2_1_sse): New pattern.
5475 (fixtruncsfsi2): Always use SSE if available.
5476 (fix_truncsfsi_sse): New pattern.
5477 (fix_truncdfsi_sse): New pattern.
5478 (floatsis?f2): Support SSE.
5479 (floatsidf2_i387): New pattern.
5480 (floatsidf2_sse): Likewise.
5481
8a7199ad
RK
5482Tue Feb 13 07:52:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5483
1ffc5c6e
RK
5484 * configure.in: Use "have_gnat" variable, not "gnat".
5485 * configure: Regenerated.
5486
8a7199ad
RK
5487 * config/sparc/sparc.c (function_value): Treat all non-record
5488 aggregate types like used to treat UNION_TYPE.
5489
446988df
JH
5490Tue Feb 13 13:31:33 CET 2001 Jan Hubicka <jh@suse.cz>
5491
5492 * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
5493 * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
5494 (MASK_SSE2): New.
5495 (MASK_MIX_SSE_I387): New.
5496 (TARGET_SSE): SSE2 imply SSE.
5497 (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
5498 (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
5499 (enum reg_class): Add new classes.
5500 (REG_CLASS_NAMES): Likewise.
5501 (REG_CLASS_CONTENTS): Likewise.
5502 (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
5503 (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
5504 supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
5505 (CLASS_MAX_NREGS): Use new macros.
5506 (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
5507 * i386.md (pushsf, movsf): Support SSE.
5508 (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
5509 splitters to use ANY_FP_REGNO_P.
5510 (movdf_nointeger, movdf_integer): Likewise.
5511
42a6ff51
AO
55122001-02-13 Alexandre Oliva <aoliva@redhat.com>
5513
5514 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
5515 (try_combine): Use it.
5516
f84aa48a
JH
5517Tue Feb 13 11:37:06 CET 2001 Jan Hubicka <jh@suse.cz>
5518
5519 * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
5520 MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
5521 (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
5522 (REGISTER_MOVE_COST): Likewise.
5523 * i386-protos.h (ix86_secondary_memory_needed,
5524 ix86_preferred_reload_class, ix86_register_move_cost): Declare.
5525 * i386.c (ix86_secondary_memory_needed,
5526 ix86_preferred_reload_class, ix86_register_move_cost): New function.
5527
a946dd00
JH
5528Die Feb 13 11:04:25 CET 2001 Jan Hubicka <jh@suse.cz>
5529
5530 * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
5531 (HARD_REGNO_MODE_OK): Move offline to ....
5532 * i386.c (ix86_hard_regno_mode_ok) ... here;
5533 refuse all incorrect modes.
5534 * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
5535
1b9ea8eb
RH
55362001-02-13 Richard Henderson <rth@redhat.com>
5537
5538 * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
5539 entire operator; replicate that and match_dup the operands.
5540 (cmp_ccx_arith_op_set): Likewise.
5541 (cmp_cc_arith_op_not_set): Likewise.
5542 (cmp_ccx_arith_op_not_set): Likewise.
5543
5b0d91c3
AO
55442001-02-13 Alexandre Oliva <aoliva@redhat.com>
5545
5546 * explow.c (trunc_int_for_mode): Sign-extend value to mode.
5547
9a155f91
GK
55482001-02-12 Geoffrey Keating <geoffk@redhat.com>
5549
5550 * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
5551 (TARGET_NO_BITFIELD_WORD): New macro.
5552 (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
5553 (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
5554
fa49fd0f
RK
5555Mon Feb 12 18:13:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5556
5557 * cselib.c: New file, from simplify-rtx.c.
5558 * simplify-rtx.c: Remove cselib parts.
5559 * Makefile.in: Add cselib.o.
5560
c36ae96c
GK
55612001-02-12 Geoffrey Keating <geoffk@redhat.com>
5562
ca5adc63
GK
5563 * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
5564 (setup_incoming_varargs): Remove warning.
5565
5566 * config/rs6000/rs6000.c (validate_condition_mode): When
5567 flag_fast_math, allow floating-point conditionals to be reversed.
5568 (rs6000_generate_compare): When flag_fast_math, don't generate
5569 cror operations for FP conditionals.
5570
c36ae96c
GK
5571 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
5572 -mcall-i960.
5573 (ASM_SPEC): Likewise.
5574 (CC1_ENDIAN_LITTLE_SPEC): Likewise.
5575 (CC1_SPEC): Likewise.
5576 (LINK_TARGET_SPEC): Likewise.
5577 (CPP_ENDIAN_SPEC): Likewise.
5578 * Makefile.in (check-consistency): New target.
5579
f43b2795
JM
55802001-02-12 Joseph S. Myers <jsm28@cam.ac.uk>
5581
5582 * c-decl.c (grokdeclarator): In C99 mode, give the more specific
5583 "return type defaults" warning for functions with return type
5584 defaulting to int.
5585 * c-lang.c (c_init): In C99 mode, enable warnings for implicit
5586 function declarations by default rather than only when pedantic.
5587
7004b11b
JH
5588Mon Feb 12 17:28:48 CET 2001 Jan Hubicka <jh@suse.cz>
5589
5590 * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
5591 arrays.
5592
82c18d5c
NS
55932001-02-12 Nathan Sidwell <nathan@codesourcery.com>
5594
5595 * extend.texi (Deprecated): Deprecate new initializer lists.
5596
48ce6bbb
NS
55972001-02-12 Nathan Sidwell <nathan@codesourcery.com>
5598
5599 * mkdeps.c (deps_add_default_target): Robustify. Add
5600 basename component only.
5601 * cpp.texi (-M): Describe how default target is generated.
5602 * invoke.texi (-M): Likewise.
5603
823a9919
KH
56042001-02-12 Kazu Hirata <kazu@hxi.com>
5605
5606 * toplev.c (push_float_handler): Remove.
5607 (pop_float_handler): Remove.
5608 * toplev.h: Remove prototypes for the above functions.
5609
d02b54f6
JJ
56102001-02-12 Jakub Jelinek <jakub@redhat.com>
5611
5612 * c-common.c (constant_fits_type_p): New function.
5613 (convert_and_check): Use it.
5614
b1012f1b
MM
56152001-02-11 Mark Mitchell <mark@codesourcery.com>
5616
5617 * Makefile.in (GXX_ABI_FLAG): Don't define.
5618 * configure.in (--enable-new-gxx-abi): Remove option.
5619 * config.in: Regenerated.
5620 * configure: Likewise.
5621
e8eacc3f
AO
56222001-02-12 Alexandre Oliva <aoliva@redhat.com>
5623
5624 * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
5625 basic block.
5626 (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
5627 regular basic block, and arrange for all edges into it to switch
5628 to normal mode.
5629
e065341b
GP
56302001-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5631
5632 * Makefile.in (distclean): Do not remove .gdbinit.
5633
8c310e3f
MM
56342001-02-11 Mark Mitchell <mark@codesourcery.com>
5635
5636 * Makefile.in (gcc.o): Fix typos.
5637 (protize.o): Likewise.
5638 (unprotoize.o): Likewise.
5639
258835c7
RH
56402001-02-11 Richard Henderson <rth@redhat.com>
5641
5642 * tree.c (build1): Check for null operand in last change.
5643
1796dff4
RH
56442001-02-11 Richard Henderson <rth@redhat.com>
5645
5646 * fold-const.c (split_tree): Don't assume a constant isn't splittable.
5647 (fold): Don't assume a constant isn't foldable.
5648 * tree.c (build): Set TREE_CONSTANT for an expression with no
5649 side-effects and constant operands.
5650 (build1): Likewise.
5651
7f437481
RH
56522001-02-10 Richard Henderson <rth@redhat.com>
5653
5654 * jump.c (squeeze_notes): Revert 2000-05-12 change.
5655
3220116f
AG
56562001-02-10 Anthony Green <green@redhat.com>
5657
5658 * cpp.texi (Standard Predefined): Add documentation for
5659 __OPTIMIZE_SIZE__.
5660
5661 * c-common.c (combine_strings): Improve warning message.
5662
36b8ffbe
GK
56632001-02-10 Geoffrey Keating <geoffk@redhat.com>
5664
5665 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
5666 --oformat.
5667 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
5668
ce675456
CF
5669Fri Feb 9 15:05:27 2001 Christopher Faylor <cgf@cygnus.com>
5670
5671 * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
5672 CYGWIN_CROSS_DIR.
5673
cc0744d1
AO
56742001-02-09 Alexandre Oliva <aoliva@redhat.com>
5675
5676 * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
5677 fp_mode attribute.
5678
ab51eb25
NC
56792001-02-09 Nick Clifton <nickc@redhat.com>
5680
5681 * config/arm/arm.md: Change output contraint on post inc
5682 load/store multiple patterns to be a read/write contraint.
5683
58e31b83
NB
56842001-02-09 Neil Booth <neil@daikokuya.demon.co.uk>
5685
1b9ea8eb
RH
5686 * gcc.c (cpp_options): Delete .d files on error. Don't delete
5687 .o files when using the -M options.
58e31b83 5688
db9473af 56892001-02-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
02a4ec28
FS
5690 David Edelsohn <edelsohn@gnu.org>
5691
5692 * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
5693 handle DImode constants. Use one TOC entry for SImode and smaller
5694 constants, aligned properly.
5695
34ce3d7b
JM
56962001-02-08 Jason Merrill <jason@redhat.com>
5697
5698 * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
5699 about the SP adjustment for saving the static chain pointer.
5700 * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
5701 offset when setting a temporary CFA register.
5702
8da6d80e
CC
57032001-02-08 Chandrakala Chavva <cchavva@redhat.com>
5704
5705 * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
5706 powerpc-*-chorusos* .
5707 * config/rs6000/chorus.h : New file.
5708 * config/i386/chorus.h : New file.
5709 * config/sparc/chorus.h : New file.
5710 * config/sparc/t-chorus-elf : New file.
5711
7841642f
DE
57122001-02-08 David Edelsohn <edelsohn@gnu.org>
5713
5714 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
5715 * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
5716 * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
5717 (__WCHAR_TYPE__): Correct macro name.
3844cd2e 5718
6fca22eb
RH
57192001-02-08 Richard Henderson <rth@redhat.com>
5720
5721 * config/i386/i386.c (ix86_frame_pointer_required): New.
5722 (ix86_setup_frame_addresses): New.
5723 (struct machine_funciton): Add accesses_prev_frame.
5724 * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
5725 ix86_frame_pointer_required.
5726 (SUBTARGET_FRAME_POINTER_REQUIRED): New.
5727 (SETUP_FRAME_ADDRESSES): New.
5728 * config/i386/i386-protos.h: Update.
5729 * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
5730 from FRAME_POINTER_REQUIRED.
5731 * config/i386/svr3gas.h: Likewise.
5732 * config/i386/sysv3.h: Likewise.
5733 * config/i386/v3gas.h: Likewise.
5734
0020b823
RH
57352001-02-08 Richard Henderson <rth@redhat.com>
5736
5737 * config/sparc/sparc.c (function_arg_record_value_3): Fix
5738 calculation of the number of integer registers required.
5739 (function_arg_record_value): Likewise.
5740
00a42e21
JM
57412001-02-08 Jason Merrill <jason@redhat.com>
5742
33c4f174
JM
5743 * diagnostic.c (internal_error): Say "confused" after 1 error, not
5744 two. Print file and line with "confused" message.
5745
00a42e21
JM
5746 * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
5747
dd248abd
RK
5748Thu Feb 8 11:21:28 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5749
5750 * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
5751
04337620
BS
57522001-02-08 Bernd Schmidt <bernds@redhat.com>
5753
5754 * final.c (cleanup_subreg_operands): The address of a MEM can
5755 contain SUBREGs.
5756
0c1cf241
BS
5757 * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
5758 for asms, too.
5759
14baf6b5
JM
57602001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
5761
5762 * gcc.texi (Incompatibilities): Update documentation of
5763 preprocessing numbers.
5764
1ada4cd0
JJ
57652001-02-07 Jakub Jelinek <jakub@redhat.com>
5766
5767 * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
5768
a9374841
MM
57692001-02-07 Mark Mitchell <mark@codesourcery.com>
5770
830a95f8
MM
5771 * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
5772
a9374841
MM
5773 * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
5774 * gcc.c (struct compiler): Add cpp_spec field.
5775 (input_file_compiler): New variable.
3844cd2e 5776 (do_spec_1): Allow a particular compiler to handle `%C'
a9374841
MM
5777 specially.
5778 (main): Store the current compiler in input_file_compiler.
5779 * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
3844cd2e 5780
7d4918a2
ZW
57812001-02-07 Zack Weinberg <zack@wolery.stanford.edu>
5782
5783 * cpphash.h (struct spec_nodes): Add n_true and n_false.
5784 * cppinit.c (cpp_create_reader): Initialize them.
5785 (append_include_chain): cxx_aware arg might be unused.
5786 * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
5787 keywords and give them their phase 7 meaning. Pedwarn about
5788 this unless '__bool_true_false_are_defined' is defined.
5789
09d84e04
AO
57902001-02-07 Alexandre Oliva <aoliva@redhat.com>
5791
5792 * lcm.c (optimize_mode_switching): Emit mode_set before the
5793 JUMP_INSN of an abnormal edge.
5794
bcd7edfe
BS
57952001-02-07 Bernd Schmidt <bernds@redhat.com>
5796
5797 * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
5798 a scheduling barrier at the end.
5799
4a1d48f6
BS
5800 * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
5801
3dbd1134
AO
58022001-02-07 Alexandre Oliva <aoliva@redhat.com>
5803
c2d10707
AO
5804 * config/sh/sh.md (reload_outsf): Removed.
5805 (movsf_ie): Introduce constraints for FPUL loads and stores.
5806 (reload_insf): Broaden the output constraint.
5807
3dbd1134
AO
5808 * config/elfos.h (INT_ASM_OP): Don't define it if it's already
5809 defined.
5810 * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
5811 ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
5812
8480e480
CC
58132001-02-06 Chandrakala Chavva <cchavva@redhat.com>
5814
8da6d80e 5815 * final.c: Revert my previous changes.
8480e480
CC
5816 * output.h: Make profile_label_no extern.
5817 * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
5818 for generating label.
5819
df447210
LB
58202001-02-06 Laurynas Biveinis <lauras@softhome.net>
5821
5822 * config/i386/djgpp.h: Add comments about standard paths.
5823 (MD_EXEC_PREFIX): Undefine before defining.
5824 (MD_STARTFILE_PREFIX): New.
5825
ca21b4a5
BK
58262001-01-30 Bruce Korb <bkorb@gnu.org>
5827
6fca22eb
RH
5828 fixinc/fixincl.c(process): Emit error message only if appropriate :)
5829 (load_file): do not rely on load_file_data() to close file pointer
5830 fixinc/fixlib.c(load_file_data): do not close passed in file pointer
ca21b4a5
BK
5831 fixinc/inclhack.def(irix_limits_const): add test_text
5832
3c8465d0
NB
58332001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
5834
6fca22eb
RH
5835 * cppexp.c (parse_defined): Improve diagnostics for invalid
5836 syntax.
3c8465d0 5837
b7a0a5fa
NB
58382001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
5839
6fca22eb 5840 * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
b7a0a5fa 5841
28e510bd
MM
58422001-02-06 Mark Mitchell <mark@codesourcery.com>
5843
5844 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
5845 * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
5846 * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
5847 (rs6000_output_symbol_ref): New function.
5848 (output_toc): Use VTABLE_NAME_P.
3844cd2e 5849
05bd3d41
RK
5850Tue Feb 6 07:54:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5851
df10e9ec
RK
5852 * print-tree.c (print_node, case PARM_DECL):
5853 Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
5854
b5d6a2ff
RK
5855 * stor-layout.c (reference_types_internal): New variable.
5856 (internal_reference_types): New function.
5857 (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
5858 * tree.h (internal_reference_types): New declaration.
5859
05bd3d41
RK
5860 * cse.c (find_best_addr): Fix typo in computing cost.
5861
d1405722
RK
5862Mon Feb 5 21:56:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5863
5864 * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
5865 and this is the sum of a pointer and a constant, we know the result
5866 did not overflow.
5867 (num_sign_bit_copies, case PLUS): Likewise.
5868 * explow.c (convert_memory_address): Remove opposite SUBREG.
5869 * function.c (instantiate_new_reg): New function (from common code).
5870 (instantiate_virtual_regs_1): Call it.
5871 For PLUS, handle if (plus (subreg (virt-reg) (const_int))
5872 if pointers sign- or zero-extend.
5873 * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
5874 If pointers extend unsigned, use inside of SUBREG.
5875 (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
5876
3e897b66
BK
58772001-02-05 Benjamin Kosnik <bkoz@redhat.com>
5878
5879 * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
5880 subdir of gcc_gxx_include_dir.
5881 (gcc_gxx_target_include_dir): Remove.
5882
a401107d
JO
58832001-02-05 Jeffrey Oldham <oldham@codesourcery.com>
5884
5885 * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
5886 (dwarf2out_frame_debug_expr): Revise introductory comments to add
5887 a high-level description.
5888
411707f4
CC
58892001-02-05 Chandrakala Chavva <cchavva@redhat.com>
5890
d6706c51 5891 * final.c: Move the declaration of profile_label_no to ...
6fca22eb
RH
5892 * output.h: ... here.
5893 * function.c (expand_function_start): Call PROFILE_HOOK.
5894 * config/rs6000/aix.h: Define PROFILE_HOOK.
5895 * config/rs6000/rs6000-protos.h: output_profile_hook new.
5896 * config/rs6000/rs6000.c (output_profile_hook): Define.
5897 (output_prolog): Do nothing for ABI_AIX as it is taken care by
5898 output_profile_hook.
411707f4
CC
5899 tm.texi : Explain new macro PROFILE_HOOK.
5900
8720914b
HPN
59012001-02-06 Hans-Peter Nilsson <hp@axis.com>
5902
5903 * extend.texi (Extended Asm): Do not say that semicolon is always
5904 a valid line-breaking character for GNU assemblers. Use
5905 newline-tab as the most commonly supported syntax. Use
5906 newline-tab rather than semicolon in multi-insn examples.
5907
56cf87e7
FS
59082001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5909
5910 * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
5911
9638617e 59122001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6fca22eb 5913 David Edelsohn <edelsohn@gnu.org>
9638617e 5914
3844cd2e 5915 * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9638617e
FS
5916 code for AIX, even without flag_pic.
5917
2f4e8f2b
JJ
59182001-02-05 Jakub Jelinek <jakub@redhat.com>
5919
5920 * c-typeck.c (common_type): push and pop binding level around
5921 calling common_type on function parameters.
5922
45677496
CF
5923Mon Feb 5 14:30:37 2001 Christopher Faylor <cgf@cygnus.com>
5924
5925 * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
5926
789c026d
RK
5927Mon Feb 5 11:23:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5928
5929 * config/mips/mips.c (override_options): Fix typo in last change.
e2bbb660
RK
5930 (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
5931 (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
789c026d 5932
9965d119
NS
59332001-02-05 Nathan Sidwell <nathan@codesourcery.com>
5934
5935 * invoke.texi (-fdump-class-layout): Document.
5936 (-fdump-translation-unit): Use `=' as filename separator.
5937
39d6f2e8
MM
59382001-02-05 Mark Mitchell <mark@codesourcery.com>
5939
5940 * Makefile.in (s-mlib): Don't build multilibs if
5941 --disable-multilib.
5942 (DRIVER_DEFINES): Adjust accordingly.
5943 (gcc.o): Likewise.
5944 (protoize.o): Likewise.
5945 (unprotoize.o): Likewise.
5946 * configure.in: Recognize --enable-multilib.
3844cd2e 5947
22fdd65e
MM
59482001-02-04 Mark Mitchell <mark@codesourcery.com>
5949
9f8bf073
MM
5950 * Makefile.in (DRIVER_DEFINES): Fix quoting.
5951
22fdd65e
MM
5952 * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
5953 * configure.in: Remove --enable-libstdcxx_v3 support.
5954 * configure: Regenerated.
5955
400500c4
RK
5956Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5957
c4636dd1
RK
5958 * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
5959 Call abort instead of fatal.
5960 (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
5961 * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
5962 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
5963 (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
5964 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
5965 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
5966
400500c4
RK
5967 * diagnostic.h (set_internal_error_function): Renamed.
5968 * toplev.h (internal_error): Renamed from fatal.
5969 (pfatal_with_name): Deleted.
5970 (fatal_io_error): Now has printf-style arguments.
5971 * diagnostic.c (pfatal_with_name): Deleted.
5972 (fatal_io_error): Rework to have args in printf-style.
5973 (set_internal_error_function): Renamed from set_fatal_function.
5974 (internal_error): Renamed from fatal.
5975 (error_recursion, fancy_abort): Call internal_error instead of fatal.
5976 * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
5977 * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
5978 * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
5979 * flow.c (verify_flow_info): Likewise.
5980 * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
5981 * config/mips/mips.c (save_restore_insns): Likewise.
5982
5983 * except.c (duplicate_eh_handlers): Call abort instead of fatal.
3844cd2e 5984 * flow.c (verify_flow_info): Likewise.
400500c4
RK
5985 * config/arm/arm.c (thumb_load_double_from_address): Likewise.
5986 * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
5987 (avr_normalize_condition): Likewise.
5988 * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
5989 * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
5990 (limit_reload_class, double_reg_to_memory): Likewise.
5991 (print_operand_address, emit_1600_code_shift): Likewise.
5992 (gen_tst_reg, gen_compare_reg): Likewise.
5993 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
5994 * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
5995 Deleted.
5996 * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
5997
5998 * c-parse.in (methoddef): Call fatal_error instead of fatal.
5999 * objc/objc-act.c (build_ivar_chain): Likewise.
6000 * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
6001 pfatal_with_name.
6002 * graph.c (clean_graph_dump_file): Likewise.
6003 * profile.c (init_branch_prob): Likewise.
6004 * objc/objc-act.c (objc_init): Likewise.
3844cd2e 6005
400500c4 6006 * config/arm/arm.c (arm_override_options): Make errors non-fatal.
3844cd2e 6007 * config/avr/avr.c (avr_override_options): Likewise.
400500c4
RK
6008 * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
6009 * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
6010 * config/h8300/h8300.c (h8300_init_once): Likewise.
6011 * config/mips/mips.c (override_options): Likewise.
6012 * config/i386/i386.c (override_options): Likewise, rework.
6013 * config/m68k/m68k.c (override_options): Likewise.
6014
6015 * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
6016 instead of fatal.
6017 * config/mips/mips.c (print_operand): Likewise.
6018 * hash.c (hash_allocate): Don't check for failure returns from
6019 obstack functions that can't fail.
6020 (hash_table_init_n, hash_table_init): Likewise; also now return void.
6021 * hash.h (hash_table_init_n, hash_table_init): Now return void.
6022 * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
6023 (get_object_reference): Likewise.
6024
eab4abeb
NC
60252001-02-04 Nick Clifton <nickc@redhat.com>
6026
6027 * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
6028 StrongARM1110, 10TDMI, and 1020T.
6029
7ce2fcb9
KG
60302001-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6031
6032 * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
6033
b6c02328
AO
60342001-02-04 Alexandre Oliva <aoliva@redhat.com>
6035
6036 * config/sh/sh.md (movdf load split): Pass register number to
6037 FP_OR_XD_REGISTER_P.
6038
1ca894a0
MM
60392001-02-04 Mark Mitchell <mark@codesourcery.com>
6040
6041 * cppinit.c (BC): New macro.
6042 (builtin_array): Add __GXX_WEAK__.
6043 * cpplib.h (builtin_type): Add BT_WEAK.
6044 * cppmacro.c (builtin_macro): Handle BT_WEAK.
6045 * defaults.h (SUPPORTS_ONE_ONLY): Define.
6046 * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
6047
52b357ea
JJ
60482001-02-03 Jakub Jelinek <jakub@redhat.com>
6049
6050 * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
6051
269592a8
NB
60522001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
6053
6fca22eb 6054 * cpphash.h: Rename _ALIGN POOL_ALIGN.
3844cd2e 6055 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
269592a8 6056
2da6090f
NB
60572001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
6058
6fca22eb 6059 * cpphash.h: Rename ALIGN _ALIGN.
3844cd2e 6060 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
2da6090f 6061
4e190cf3
CF
6062Fri Feb 2 23:15:29 2001 Christopher Faylor <cgf@cygnus.com>
6063
6064 * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
6065 compilation environment.
6066 * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
6067 control over location of cygwin includes and libs.
6068
c98f0cdb
MH
60692001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
6070
6071 * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
6072
39ed8974
LB
60732001-02-02 lars brinkhoff <lars@nocrew.org>
6074
6075 * md.texi (Standard Names): remove reference to spur.md.
6076
0b53f039
MH
60772001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
6078
6079 * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
6080 (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
6081 (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
6082 * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
6083 (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
6084
d001969e
HB
60852001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6086
6087 * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
6088 c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
6089 number before reload.
6090 (c4x_adjust_cost): Return zero before reload.
6091 * c4x.md (load_immed_address+1, load_immed_address+2): Do not
6092 split before reload.
6093
40eef757
HB
60942001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6095
6096 * c4x.c (c4x_hard_regno_rename_ok): New.
6097 * c4x-protos.h (c4x_hard_regno_rename_ok): New.
6098 * c4x.h (HARD_REGNO_RENAME_OK): Define.
6099
0d6882a0
RK
6100Fri Feb 2 20:03:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6101
6102 * diagnostic.h: Add missing "extern" in all declarations.
6103
362f2295
AS
61042001-02-02 Alex Samuel <samuel@codesourcery.com>
6105
6106 * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
6107 as for gcc_gxx_include_dir.
6108
da312b55
NB
61092001-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
6110
6111 * cpp.texi, invoke.texi: Update -Wtraditional documentation.
6112
38df95a4
AO
61132001-02-02 Alexandre Oliva <aoliva@redhat.com>
6114
e6dfd05f
AO
6115 * config/sh/sh.c (output_far_jump): Don't use braf on SH1. Emit
6116 label before alignment to be used as the braf base address.
6117 * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
6118 branches.
6119 (casesi_jump_2): Require at least TARGET_SH2.
6120
38df95a4
AO
6121 * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
6122 truncation to 32-bit doubles on -m3e and -m4-single-only.
6123
049f6ec9
MM
61242001-02-02 Mark Mitchell <mark@codesourcery.com>
6125
3844cd2e 6126 * gcc.c (init_gcc_specs): New function. Make -shared-libgcc
049f6ec9
MM
6127 the default when building a shared object.
6128 (init_spec): Use it.
6129 * testsuite/lib/g++.exp: Include the directory where libgcc
6130 is located to the LD_LIBRARY_PATH list.
1ca894a0 6131 * invoke.texi (-shared-libgcc): Document the cases in which
049f6ec9 6132 GCC defaults to using the shared libgcc.
3844cd2e 6133
483b9fd0
AO
61342001-02-02 Alexandre Oliva <aoliva@redhat.com>
6135
6136 * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
6137 unsigned is wide enough.
6138 (BITS_PER_SI): New.
6139 * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
6140 (si_to_float): Likewise.
6141 (float_to_si, float_to_usi): Use BITS_PER_SI.
6142
770ca8c6
JO
61432001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
6144
6145 * dwarf2out.c: Added explanation of abbreviations.
6146 (def_cfa_1): Added comments listing DWARF2 instructions.
6147 (cfa_temp_reg): Removed in favor of cfa_temp.
6148 (cfa_temp_value): Removed in favor of cfa_temp.
6149 (cfa_temp): New global variable.
6150 (dwarf2out_frame_debug_expr): Added extensive introductory
6151 comments explaining the function's transformations. Revised to
6152 use cfa_temp. Added some rtx checking. Generalize IOR case.
6153 (dwarf2out_frame_debug): Revised to use cfa_temp.
6154 (output_aranges): Cast as "unsigned" to avoid warning.
6155 * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
6156 explain which instructions must be marked.
6157
cad33336
RH
61582001-02-01 Richard Henderson <rth@redhat.com>
6159
6160 * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
6161 new instruction.
6162
8a5d897f
AO
61632001-02-01 Alexandre Oliva <aoliva@redhat.com>
6164
6165 * config/sh/crt1.asm (main_k): Modified so that start calls
6166 ___setup_argv_and_call_main.
6167
bd969772
NB
61682001-02-01 Neil Booth <neil@daikokuya.demon.co.uk>
6169
6fca22eb
RH
6170 * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
6171 * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
6172 and AVOID_LPASTE is cleared on meeting an unescaped newline.
6173 * cppmacro.c (builtin_macro): Set builtin flags here.
6174 (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
6175 (replace_args): Clarify intent.
6176 (cpp_get_token): Macro expansion tokens get the saved flags.
6177 Update.
6178 * cppmain.c (scan_buffer): Remove now-redundant print.printed
6179 check.
bd969772 6180
8c0abc88
JO
61812001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
6182
6183 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
6184 2001-Jan-29.
6185
fcbfaa65
RK
6186Thu Feb 1 07:22:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6187
d5457140
RK
6188 * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
6189 returns Pmode pseudo, but we need ptr_mode.
6190 * explow.c (allocate_dynamic_stack_space): Use plus_constant.
6191 Remove bogus conversions; use HOST_WIDE_INT for size.
6192 Don't use TARGET if wrong mode.
6193
fcbfaa65
RK
6194 * config/i386/i386.c (ix86_compute_frame_size): Allow
6195 stack_alignment_needed to be non-default even if size is zero.
6196
10d17cb7
AM
61972001-01-31 Alan Modra <alan@linuxcare.com.au>
6198
824e7605
AM
6199 * pa.c (hppa_init_pic_save): New function.
6200 * pa.h (hppa_init_pic_save): Declare.
6201 * pa.md (call, call_value, sibcall, sibcall_value): Use
6202 the above instead of duplicated code.
6203
10d17cb7
AM
6204 * pa.c (hppa_encode_label): Correct size of alloca buffer
6205 so we don't overrun it. Correct leading `*' case.
6206 * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
6207 need to handle `*@'.
6208 (FUNCTION_NAME_P): Likewise.
6209
b9e6ebe9
RH
62102001-01-31 Richard Henderson <rth@redhat.com>
6211
c3e5f9fa
RH
6212 * config.gcc (alpha-osf5): Use float-i128.h.
6213
b9e6ebe9
RH
6214 * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
6215 * config/float-i32.h: Likewise.
6216 * config/float-i64.h: Likewise.
6217 * config/float-sh.h: Likewise.
6218 * config/float-sparc.h: Likewise.
6219
dbac5d0d 62202001-01-31 DJ Delorie <dj@redhat.com>
aac280fb
DD
6221
6222 * expmed.c (extract_bit_field): allow non-integral modes if we
6223 want to extract a whole register from itself.
6224
ce662d4c
JJ
62252001-01-31 Jakub Jelinek <jakub@redhat.com>
6226
6227 * c-typeck.c (set_init_index): If first is equal to last, assume as
6228 if it was not a range at all.
6229
8b1065f1
AO
62302001-01-31 Alexandre Oliva <aoliva@redhat.com>
6231
3cb95a7d 6232 * config/fp-bit.c: Include tm.h.
8b1065f1
AO
6233 (float_to_si): Don't assume SImode is 32-bits wide.
6234 (float_to_usi): Likewise.
6235
0aca1a4f
JM
62362001-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
6237
6238 * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
6239 incomplete type.
6240 (typename): Call pending_xref_error after parsing typed_typespecs.
6241 * c-decl.c (lookup_tag): Give error immediately rather than
6242 leaving it pending if the tag of the wrong type is in the same
6243 binding level.
6244 (xref_tag): Don't pedwarn for forward declarations of enum types
6245 here.
6246 * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
6247 and enum tags.
6248
92fa350a
AO
62492001-01-31 Alexandre Oliva <aoliva@redhat.com>
6250
6251 * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
6252
f000294d
NB
62532001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
6254
6fca22eb
RH
6255 * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
6256 (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
f000294d 6257
ec1a23e6
NB
62582001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
6259
6fca22eb
RH
6260 * cpphash.h (struct cpp_reader): New saved_flags.
6261 * cppmacro.c (cpp_get_token): Use saved_flags to remember
6262 to avoid a paste after a pasted token.
3844cd2e 6263
5d0e6486
AO
62642001-01-31 Alexandre Oliva <aoliva@redhat.com>
6265
6266 * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
6267 * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
6268 Wtype_MIN instead of LONG_MIN.
6269
b2321b26
JO
62702001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
6271
6272 * fixinc/fixincl.tpl: Add 2001 to copyright. Change name of
6273 README file.
6274 * fixinc/fixincl.x: Regenerated.
6275 * fixinc/inclhack.def (irix_limits_const): New definition to
6276 convert "const" to "__const" in limits.h.
6277
4989b020
JO
62782001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
6279
6280 * fixinc/genfixes (AG): Fix "autogen4" thinko.
6281
2f33c635
HB
62822001-01-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6283
6284 * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
6285 when register dies in the insn.
6286
bdda3325
NB
62872001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
6288
6289 * diagnostic.c (fatal): Fix word wrap.
6290
48b4d901
AO
62912001-01-30 Alexandre Oliva <aoliva@redhat.com>
6292
6293 * combine.c (try_combine): Fix SUBREG setting for
6294 HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
6295
1e738f74
FS
62962001-01-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6297
6298 * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
6299 comparison codes.
6300
e9770d51
NB
63012001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
6302
6fca22eb
RH
6303 * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
6304 is not NULL.
6305 * toplev.c (decode_W_option): Update warn_larger_than
6306 unconditionally for each processed switch.
e9770d51 6307
d966ae60
JDA
63082001-01-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
6309
6310 * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
6311 to NULL_RTX.
6312 (hppa_expand_prologue): Delete code to save pic offset table register
6313 in the function prologue.
6314 * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
6315 * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
6316 table register at the beginning of the function after the prologue.
6317
f25561bb
LB
63182001-01-29 lars brinkhoff <lars@nocrew.org>
6319
6fca22eb 6320 * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
f25561bb 6321
7ea9fcc6
JDA
63222001-01-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
6323 Jeff Law <law@redhat.com>
6324
6325 * pa.md (return): Revise comment for trivial return.
6326 (return_internal): Non-trivial return pattern for non-PIC code.
6327 (return_internal_pic): Non-trivial return pattern for PIC code.
6328 It uses the PIC register to ensure it is restored after
6329 function calls.
6330 (epilogue): Generate appropriate return for PIC and non-PIC code.
6331
05d9f8b0
CF
6332Mon Jan 29 23:53:14 2001 Christopher Faylor <cgf@cygnus.com>
6333
6334 * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
6335
80c8b1aa
DD
63362001-01-29 DJ Delorie <dj@redhat.com>
6337
6338 * combine.c (if_then_else_cond): Pass the correct mode to
6339 operand_subword() for constants.
6340
f6fc3552
CF
6341Mon Jan 29 20:38:19 2001 Christopher Faylor <cgf@cygnus.com>
6342
6343 * config/i386/cygwin.h: Add w32api to include search. Search different
6344 directories in a cross-build environment.
6345
2b5f2501
RH
63462001-11-29 Tim Josling <tej@melbpc.org.au>
6347
6348 * tree.h (TYPE_STUB_DECL): Add documentation.
6349
63502001-11-29 Laurynas Biveinis <lauras@softhome.net>
1270a9b3
LB
6351
6352 * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
6353 (sdbout_field_types): Likwise. Fix use of host_integerp.
6354
9c7c6e6c
TP
63552001-01-29 Thomas Pfaff <tpfaff@gmx.net>
6356
6357 * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
6358 cygwin.h.
6359
f1e9980a
JO
63602001-01-29 Jeffrey Oldham <oldham@codesourcery.com>
6361
6362 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
6363 to use flag_gnu_linker.
6364
766ee681
NB
63652001-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
6366
6fca22eb
RH
6367 * cpplib.c (T_BAD_DIRECTIVE): Remove.
6368 (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
766ee681 6369
718b8ea5
JM
63702001-01-29 Joseph S. Myers <jsm28@cam.ac.uk>
6371
6372 * tree.c, tree.h (build_parse_node): Remove; was identical to
6373 build_nt.
6374 * c-lang.c (start_cdtor), objc/objc-act.c
6375 (build_module_descriptor): Use build_nt instead of
6376 build_parse_node.
6377
adc88131
JJ
63782001-01-29 Jakub Jelinek <jakub@redhat.com>
6379
6380 * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
6381 (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
6382 not have any upper bits set.
6383
42c0c80a
PE
63842001-01-29 Phil Edwards <pme@sources.redhat.com>
6385
6386 * COPYING.LIB: Update to LGPL 2.1 from the FSF.
6387
f2d1f0ba
KG
63882001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6389
6390 * stmt.c (estimate_case_costs): Use integer_minus_one_node.
6391
6392 * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
6393
6394 * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
6395 (integer_minus_one_node): Define.
6396
4f92461a
AO
63972001-01-28 Alexandre Oliva <aoliva@redhat.com>
6398
6399 * Makefile.in (bootstrap2-lean): Fix typo.
6400
26ec42ee
NB
64012001-01-28 Neil Booth <neil@daikokuya.demon.co.uk>
6402
6fca22eb
RH
6403 * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
6404 : Don't set fe_value.
3844cd2e 6405 * cpplib.h (AVOID_LPASTE): New flag.
6fca22eb
RH
6406 (struct cpp_hashnode): Remove fe_value.
6407 * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
6408 * cppmacro.c (builtin_macro): Don't set flags here.
6409 (replace_args): Set AVOID_LPASTE flag on first token of an
6410 argument, and the token following it.
6411 (cpp_get_token): Set AVOID_LPASTE flag on first token of a
6412 macro expansion, and on the token following it. Do it for
6413 builtins too.
6414 * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
26ec42ee 6415
0be25992
RH
64162001-01-27 Richard Henderson <rth@redhat.com>
6417
6418 * config/alpha/t-ieee: Remove multilibbing.
6419 (TARGET_LIBGCC2_CFLAGS): Add -mieee.
6420
c913b6f1
KG
64212001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6422
6423 * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
6424
6425 * Makefile.in: Remove all dependencies on defaults.h.
6426 * builtins.c: Don't include defaults.h.
6427 * c-common.c: Likewise.
6428 * c-decl.c: Likewise.
6429 * c-pragma.c: Likewise.
6430 * c-typeck.c: Likewise.
6431 * combine.c: Likewise.
6432 * i386.c: Likewise.
6433 * frame-ia64.c: Likewise.
6434 * cppexp.c: Likewise.
6435 * crtstuff.c: Likewise.
6436 * dbxout.c: Likewise.
6437 * dwarf2out.c: Likewise.
6438 * dwarfout.c: Likewise.
6439 * emit-rtl.c: Likewise.
6440 * except.c: Likewise.
6441 * expr.c: Likewise.
6442 * final.c: Likewise.
6443 * frame-dwarf2.c: Likewise.
6444 * libgcc2.c: Likewise.
6445 * optabs.c: Likewise.
6446 * profile.c: Likewise.
6447 * sdbout.c: Likewise.
6448 * toplev.c: Likewise.
6449 * tradcif.y: Likewise.
6450 * tree.c: Likewise.
6451 * varasm.c: Likewise.
6452
013dea40
KG
64532001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6454
6455 * builtins.c (expand_builtin_fputs): Use size_one_node when
6456 transforming into fwrite.
6457
2c5e91d2
JM
64582001-01-27 Joseph S. Myers <jsm28@cam.ac.uk>
6459
6460 * extend.texi (Attribute Syntax): New section.
6461
825ac704
MS
64622001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG>
6463
6464 * fixproto: Correctly install synthesised unistd.h and stdlib.h when
6465 they didn't need fixing.
6466
70305f2b
RH
64672001-01-27 Janis Johnson <janis@us.ibm.com>
6468
6469 * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
6470 if appropriate.
6471 * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
6472 to remove macro definitions that are duplicated from elfos.h.
6473
64742001-01-27 Richard Henderson <rth@redhat.com>
6475
6476 * config/i386/sco5gas.h: Move ...
6477 * config/usegas.h: ... here.
6478 * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
6479
940ff66d
JJ
64802001-01-27 Jakub Jelinek <jakub@redhat.com>
6481
6482 * c-typeck.c (struct constructor_stack): Add range_stack member.
6483 (really_start_incremental_init): Clear it.
6484 (push_init_level): Save constructor_range_stack and clear it if
6485 pushing explicit braces.
6486 (pop_init_level): abort if constructor_range_stack is non-zero at
6487 explicit closing brace. Restore saved constructor_range_stack if
6488 not implicit.
6489
de1b33dd
AO
64902001-01-27 Alexandre Oliva <aoliva@redhat.com>
6491
6492 * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
6493 into register was forced into memory.
6494
3d84f80f
AO
64952001-01-27 Alexandre Oliva <aoliva@redhat.com>
6496
6497 * Makefile.in: Remove uses of + before $(MAKE).
6498
2a2137c4
RH
64992001-01-26 Richard Henderson <rth@redhat.com>
6500
6501 * stmt.c (cost_table): Remove.
6502 (COST_TABLE, cost_table_initialized): New.
6503 (estimate_case_costs): Use the later instead of the former.
6504 (balance_case_nodes): Likewise.
6505
66cce54d
RH
65062001-01-26 Richard Henderson <rth@redhat.com>
6507
6508 * alias.c (objects_must_conflict_p): Read-only slots may not
6509 conflict despite having the same type.
6510
616fde53
MH
65112001-01-27 Michael Hayes <mhayes@redhat.com>
6512
6513 * loop.c (loop_giv_reduce_benefit): Copy mode size into
6514 int variable.
6515 (check_ext_dependant_givs): Initialise u_start_val and
6516 u_end_val.
6517 (load_mems): Make last_max_reg unsigned.
6518 (try_swap_copy_prop): Use INSN_P and initialise set.
6519
b63471e9
DC
6520Fri Jan 26 23:22:58 2001 Denis Chertykov <denisc@overta.ru>
6521
6522 * README.AVR : Removed.
6523
d1ebd58d
JL
6524Fri Jan 26 11:37:26 2001 Jeffrey A Law (law@cygnus.com)
6525
6526 * pa-64.h (text_section): Remove declaration.
6527
6528 * pa.md (return_internal): Remove mode on PIC register use.
6529
a8d1550a
LB
65302001-01-25 lars brinkhoff <lars@nocrew.org>
6531
6532 * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
6533 ASM_CLOSE_PAREN): fix typos.
6534
78e0ba39
MM
65352001-01-25 Mark Mitchell <mark@codesourcery.com>
6536
6537 * acconfig.h: Define `const' to the empty string if neither
6538 __STDC__ nor __cplusplus is defined.
6539 * config.in: Regenerated.
6540
05dba9ee
DE
65412001-01-25 David Edelsohn <edelsohn@gnu.org>
6542
6543 * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
6544 * collect2.c (main): Delete importf. Add ".obj" file extension.
6545 (GCC_CHECK_HDR): Handle AIX V5 new magic number.
6546 (aix_std_libs): Add additional AIX libraries to skip.
6547 * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
6548 * config/rs6000/aix51.h: New file.
6549
86e21212
MH
65502001-01-25 Michael Hayes <mhayes@redhat.com>
6551
6552 * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
6553 (loop_insn_emit_before): No longer static.
6554 (move_movables): Replace emit_insn_after with loop_insn_emit_after.
6555 (loop_givs_rescan, load_mems): Likewise.
6556 (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
6557 (maybe_eliminate_biv_1):
6558 (move_movables): Replace emit_call_insn_before with
6559 loop_call_insn_hoist.
6560 * loop.h (loop_insn_emit_before): Add.
3844cd2e 6561 * unroll.c (copy_loop_body): Replace emit_insn_before with
86e21212
MH
6562 loop_insn_emit_before.
6563
7fa531a6
NB
65642001-01-25 Neil Booth <neil@daikokuya.demon.co.uk>
6565
70305f2b 6566 * diagnostic.c (fatal): Request preprocessed source.
7fa531a6 6567
91239b93
R
6568Thu Jan 25 02:01:16 2001 J"orn Rennecke <amylaar@redhat.com>
6569
6570 * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
6571 olddecl has argument types and newdecl has none, use the argument
6572 types from olddecl.
6573
e57cabac
UD
65742001-01-24 Ulrich Drepper <drepper@redhat.com>
6575
6576 * dwarf2out.c (prefix_of): New function. Determine longest common
6577 prefix of the two arguments. The units are whole path components.
6578 (output_file_names): When adding a new directory find the one entry
6579 with the longest common prefix already in the list. Artificially
6580 generate entry if there is none for this prefix.
6581 Fix test to check whether the zeroth directory entry is used.
6582
304a22dd
R
6583Wed Jan 24 23:51:55 2001 J"orn Rennecke <amylaar@redhat.com>
6584
6585 * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
6586 Changed all callers. Take it into account when deciding if a
6587 previously loaded value matches.
6588
0a28aef9
RH
65892001-01-24 Richard Henderson <rth@redhat.com>
6590
6591 * reload.c (find_reloads_subreg_address): Fail the substitution
6592 if the resulting address is insufficiently aligned.
6593
1cac8785
DD
65942001-01-24 DJ Delorie <dj@redhat.com>
6595
6596 * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
6597 check the original operand's mode also.
6598 * simplify-rtx.c (simplify_ternary_operation): Ditto.
6599
cedd825f
JM
66002001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
6601
6602 * c-parse.in (cast_expr): Move compound literals from here ...
6603 (primary): ... to here. Use standard terminology "compound
6604 literal" instead of "constructor expression".
6605
445c435a
JM
66062001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
6607
6608 * gcc.1, cpp.1: Regenerate.
6609
4cfc6042
AO
66102001-01-24 Alexandre Oliva <aoliva@redhat.com>
6611
6612 * calls.c (emit_library_call_value_1): Memory slot for
6613 pass-by-reference argument should have the mode of the argument,
6614 not of the pointer to it.
6615
597dba19
TT
66162001-01-24 Tom Tromey <tromey@redhat.com>
6617
6618 * gcc.texi (G++ and GCC): Mention gcj manual.
6619 (Standards): Link to section of manual mentioning gcj/Java
6620 compatibility.
6621
7855db7c
JJ
66222001-01-24 Jakub Jelinek <jakub@redhat.com>
6623
6624 * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
6625 * cppinit.c (cpp_start_read): Remove deps_add_dep call.
6626 * tradcpp.c (main): Add -imacros or -include'd dependencies
6627 for -M*.
6628 * cpp.texi (-M, -MM): Document -M -include behaviour.
6629
6a40fc2b 66302001-01-24 Roger Collins <roger@ProProject.com>
e57cabac 6631
70305f2b 6632 * config/i386/xm-i386.h: Make __i386__ a boolean macro.
6a40fc2b 6633
2f3fdc52
WC
66342001-01-24 Will Cohen <wcohen@redhat.com>
6635
6636 * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
6637 whether registers are 32 bits or 64 bits in size.
6638
a941b588
BE
66392001-01-24 Ben Elliston <bje@redhat.com>
6640
6641 * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
6642
64b4ab5a
RH
66432001-01-24 Richard Henderson <rth@redhat.com>
6644
6645 * config/alpha/alpha.md (builtin_longjmp_internal): New.
6646 (builtin_longjmp): Use it instead of emit_indirect_jump.
6647
b0cc7919
JDA
66482001-01-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
6649
6650 * bb-reorder.c (make_reorder_chain_1): Handle case where
6651 jump edge goes to the same block as the fallthru edge.
e57cabac 6652
0024a804
JW
66532001-01-23 Jim Wilson <wilson@redhat.com>
6654
6655 * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
6656 * frame.h (__ia64_personality_v1): Add prototype.
6657 * libgcc2.c (ia64_throw_helper): Change personality declaration to
6658 prototype form. Add void * cast to first argument to personality
6659 call.
6660 * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
6661 (asctoe113): Likewise.
6662 * config/ia64/frame-ia64.c: Include eh-common.h.
6663 * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
6664 prototypes.
6665 * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
6666 to dump parameter.
6667 (itanium_split_issue): Add prototype.
6668 (gen_nop_type): Ifdef out.
6669 (find_best_packet): Initialize best_packet.
6670 (ia64_encode_section_info): New local string. Use for ggc_alloc_string
6671 result.
6672 * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
6673 * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
6674 (flushrs): Add explicit stop bit at end.
6675 * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
6676 trailing \ to >.
e57cabac 6677
8a1894ac
CD
66782001-01-23 Chris Demetriou <cgd@broadcom.com>
6679
6680 * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
6681 of EH symbols.
6682 * libgcc2.c (__terminate_func): Make variable static.
6683 (__terminate_set_func): New function to set __terminate_func.
6684 * libgcc2.h (__terminate_func_ptr): New typedef.
6685 (__terminate_set_func): New function.
6686
240f9c2b
RH
66872001-01-23 Richard Henderson <rth@redhat.com>
6688
6689 * flow.c (init_propagate_block_info): Don't consider unchanging
6690 memories for dead frame store elimination.
6691
fc9f395a
RH
66922001-01-23 Richard Henderson <rth@redhat.com>
6693
6694 * varasm.c (UNIQUE_SECTION): Move default implementation ...
6695 * defaults.h: ... here.
6696
860b3499
MH
66972001-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6698
6699 * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
6700
955dc84a
NB
67012001-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
6702
70305f2b 6703 * c-lex.c (lex_charconst): Fix typo: s/p/str.
955dc84a 6704
608ab802
FS
67052001-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6706
6707 * rs6000.h (rs6000_return_addr): Move prototype from here...
6708 * rs6000-protos.h (rs6000_return_addr): ...to here.
6709 (rs6000_init_expanders): Delete prototype.
6710
371e300b
NC
67112001-01-23 Nick Clifton <nickc@redhat.com>
6712
6713 * invoke.texi: Replace , with \, inside @gccoptlist macros.
6714 (Spec Files): Document %B and %j and %. and %v3 and %M and
6715 %{S*&T} spec switches.
6716
4a1f52a8
HB
67172001-01-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6718
6719 * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
6720
c933c209
CD
67212001-01-23 Chris Demetriou <cgd@sibyte.com>
6722 Neil Booth <neil@daikokuya.demon.co.uk>
6723
70305f2b
RH
6724 * cpperror.c: Merge handlers of PEDWARN and WARNING.
6725 Have -Werror make pedantic warnings errors, like the
6726 rest of GCC.
c933c209 6727
3fb74b82
PE
67282001-01-23 Phil Edwards <pme@sources.redhat.com>
6729
6730 * c-tree.texi (IDENTIFIER_LENGTH): Fix typo.
6731
96e60f0c
JJ
67322001-01-23 Jakub Jelinek <jakub@redhat.com>
6733
6734 * integrate.h (struct inline_remap): Add compare_src, compare_mode.
6735 * integrate.c (expand_inline_function): Initialize them.
6736 (subst_constants): If changing COMPARE so that both its arguments
6737 will be VOIDmode and the comparison mode will be lost, note
6738 compare_mode. Use the recorded compare_mode to optimize
6739 IF_THEN_ELSE.
6740
3f4907a6
JM
67412001-01-23 Jason Merrill <jason@redhat.com>
6742
6743 * dwarf2out.c (new_die): Use xcalloc.
6744 (output_die): Abort rather than emit a local reference to offset 0.
6745
44f715c8
AH
67462001-01-17 Andrew Haley <aph@redhat.com>
6747
6748 * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
6749 of a saved register; return NULL instead.
6750 (copy_reg): Take a pointer to a source register rather than a
6751 frame_state.
6752 (next_stack_level): Remember the address in the stack frame of all
6753 saved registers.
6754 Use the saved register pointer array as the source of the CFA.
6755 (throw_helper): Rewrite. Unwind once rather than twice and keep
6756 track of saved registers as we go.
e57cabac 6757
eb253d90
HB
67582001-01-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6759
6760 * c4x-protos.h (c4x_legitimize_reload_address): Remove.
6761 * c4x.c (c4x_legitimize_reload_address): Remove.
6762 * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
6763 reload address for ldp(k) insn.
6764
2caa0ddf
JL
6765Mon Jan 22 20:53:47 2001 Jeffrey A Law (law@cygnus.com)
6766
6767 * pa.md (return_internal): Add a USE of the PIC register to ensure
6768 it is restored after each call.
6769 (return expander): Corresponding changes.
6770
71f123ca
FS
67712001-01-22 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6772
6773 * rs6000.h (INIT_EXPANDERS): Delete.
6774 (RETURN_ADDR_RTX): Call rs6000_return_addr().
6775 * rs6000.c (rs6000_override_options): Call *_machine_status from
6776 here...
6777 (rs6000_init_expanders): ...instead of here. Delete.
6778 (rs6000_mark_machine_status): New function.
6779 (rs6000_init_machine_status): Use xcalloc.
6780 (rs6000_return_addr): Generate RTX for the return address.
6781 (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
6782 (rs6000_stack_info): Use it.
6783
5dab7f92
TP
67842001-01-22 Thomas Pfaff <tpfaff@gmx.net>
6785
6786 * gthr-win32.h: Include errno.h to get a declaration for
6787 EINVAL and _mingw.h if the target is mingw32.
6788
586964a7
AFV
67892001-01-22 Andres Felipe Vargas <avargas@teletulua.com.co>
6790
6791 * cpp.texi: Correct typos.
6792
f5f5363f
RK
6793Mon Jan 22 13:59:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6794
6795 * explow.c (probe_stack_range): Ensure value passed to
6796 stack_check_libfunc is ptr_mode, not Pmode.
6797
44e4159d
R
6798Mon Jan 22 16:53:06 2001 J"orn Rennecke <amylaar@redhat.com>
6799
6800 * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
6801 case, don't use operand_subword to calculate a SUBREG that is
6802 wider than a word.
6803
6804 * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
6805
0bbcfbaf
HB
68062001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6807
6808 * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
6809 (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
6810 valid. If not replace it by equivalent insns.
6811
5078f5eb
HB
68122001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6813
6814 * c4x.c (c4x_check_legit_addr): Only check CONST. Not if CONST
6815 contains SYMBOL_REF, LABEL_REF and CONST_INT.
6816 (c4x_U_constraint, symbolic_address_operand): Likewise.
6817 (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
6818 memory.
6819 (c4x_r11_set_p, c4x_check_laj_p): New functions.
6820 * c4x-protos.h (c4x_check_laj_p): Add prototype.
e57cabac 6821 * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
5078f5eb
HB
6822 anulling slot because of silicon bug.
6823 (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
6824
6dc0d164
AM
68252001-01-22 Alan Modra <alan@linuxcare.com.au>
6826
70305f2b
RH
6827 * cppexp.c (parse_charconst): Change `mask' type to agree
6828 with parse_escape.
6dc0d164 6829
c7f0da1d
RH
68302001-01-21 Richard Henderson <rth@redhat.com>
6831
6832 * config/i386/i386.c (ix86_asm_file_end): Disable putting
6833 pic_label_name in a linkonce section.
6834
380a627a
PT
68352001-01-17 Philipp Thomas <pthomas@suse.de>
6836
6837 * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
6838 found in libintl.
6839 * configure: Regenerate.
6840
02a65aef
R
6841Sun Jan 21 02:38:56 2001 J"orn Rennecke <amylaar@redhat.com>
6842
6843 * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
6844 uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
6845
56b871c1
DC
6846Sun Jan 21 09:44:17 2001 Denis Chertykov <denisc@overta.ru>
6847
6848 * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
6849 If REVERSE nonzero then condition code in X must be reversed.
6850 (encode_section_info): Optimise if/else.
6851 (avr_function_value): Fix formatting.
6852
6853 * config/avr/avr.md (branch): Call to ret_cond_branch changed.
6854 (difficult_branch): Likewise.
6855 (rvbranch): Likewise.
6856 (difficult_rvbranch): Likewise.
6857
6858 * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
6859
6860 * config/avr/libgcc.S: Fix comment.
6861
04e91ffb
MS
68622001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
6863
6864 * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
6865
3943e756
MS
68662001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
6867
6868 * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
6869
b3e1e64f
MS
68702001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
6871
6872 * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
6873 * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
6874 * configure, config.in: Regenerate.
6875 * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
6876 (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
6877 (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
6878 (doprint.o): New rule.
6879
47f8b473
JM
68802001-01-20 Joseph S. Myers <jsm28@cam.ac.uk>
6881
6882 * c-typeck.c (digest_init): Handle boolean types as scalars.
6883
2954d7db
RK
6884Sat Jan 20 12:46:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6885
6886 * stmt.c (expand_return): Don't return anything if size is zero.
6887 Delete redundant assignment to BYTES.
6888 * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
6889
1d26ac96
MM
68902001-01-20 Marek Michalkiewicz <marekm@linux.org.pl>
6891
6892 * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
6893 the same as the default library function names.
6894 * config/avr/avr.md: Document special characters after '%'.
6895 (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
6896 knowing which of the call-used registers are really clobbered.
6897 (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
6898 New. Both quotient and remainder from one libgcc.S call.
6899 * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
6900 clobber as few registers as possible.
6901 * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
6902
673b13e2
NB
69032001-01-20 Neil Booth <neil@daikokuya.demon.co.uk>
6904
70305f2b
RH
6905 * cppmacro.c (funlike_invocation_p): Don't move back up to the
6906 context of the top of the stack.
673b13e2 6907
a42a5f59
ZW
69082001-01-20 Jakub Jelinek <jakub@redhat.com>
6909
6910 * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
6911 (fixup_var_refs_insns): ...here.
6912
a42a5f59
ZW
69132001-01-20 Zack Weinberg <zack@wolery.stanford.edu>
6914
6915 * function.c (fixup_var_refs_insns): Break up into
6916 fixup_var_refs_insn [body of loop], fixup_var_refs_insns
6917 [loop over entire insn list], and fixup_var_refs_insns_with_hash
6918 [loop over hash table entries].
6919 (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
6920 fixup_var_refs_insns_with_hash, to match above changes.
6921
03bbd83f
JDA
69222001-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
6923
6924 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
6925 (libgcc.a): Likewise.
6926 (stmp-multilib): Likewise.
6927 (STAGE2_FLAGS_TO_PASS): Likewise.
6928
68c37dc9
AO
69292001-01-19 Alexandre Oliva <aoliva@redhat.com>
6930
6931 * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
6932 temporary if no_new_pseudos.
6933
111e0469
NB
69342001-01-19 Neil Booth <neil@daikokuya.demon.co.uk>
6935
a42a5f59 6936 * cppinternals.texi: Update.
111e0469 6937
55cf7bb9
RE
69382001-01-19 Richard Earnshaw <rearnsha@arm.com>
6939
6940 * arm.c (arm_init_builtins): Re-enable builtins.
6941
831ecbd4
RK
6942Fri Jan 19 13:02:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6943
7193d1dc
RK
6944 * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
6945 * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
6946 element to be null, and always expect an EXPR_LIST.
6947 * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
6948 * sched-deps.c (sched_analyze_1): Likewise.
6949 * sched-rgn.c (check_live_1, update_live_1): Likewise.
6950
79b9ec0d
RK
6951 * regclass.c (max_set_parallel): New variable.
6952 (reg_scan): Take it into account in computation of max_parallel.
6953 (reg_scan_mark_refs, case SET): Compute it.
6954
831ecbd4
RK
6955 * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
6956 args are REG.
6957 * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
6958 * function.c (assign_parms): Use INTVAL for a CONST_INT.
6959
cb9e9d8d
JM
69602001-01-19 Jason Merrill <jason@redhat.com>
6961
6962 * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
6963 for the abstract instance of an inline function.
6964
831ecbd4
RK
6965Fri Jan 19 14:31:35 2001 Alexandre Oliva <aoliva@redhat.com>
6966 J"orn Rennecke <amylaar@redhat.com>
61f5625b 6967
20342a6b
AO
6968 * reload1.c (move2add_note_store): Treat all registers directly or
6969 indirectly derived from a base register as members of the same set
6970 of values.
6971 (reload_cse_move2add): Adjust accordingly. Take mode and offset
6972 of base register into account.
61f5625b 6973
61f0131c
R
6974Fri Jan 19 09:18:42 2001 J"orn Rennecke <amylaar@redhat.com>
6975
6976 * alias.c (find_base_value): Recognize TRUNCATE.
6977 (record_set): In PLUS case, invalidate if other summand is also a
6978 base value.
6979
8eeb855e
RK
6980Thu Jan 18 06:43:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6981
831ecbd4 6982 * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
90d036a0
RK
6983 entry to be EXPR_LIST.
6984 * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
6985 be an EXPR_LIST (but not null, which other code doesn't allow).
6986 (note_stores): Properly handle PARALLEL in SET.
6987 Recursively call for top-level PARALLEL.
6988 * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
6989 * sched-rgn.c (check_live_1, update_live_1): Likewise.
6990
8eeb855e
RK
6991 * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
6992
6fe349a9
NB
69932001-01-18 Neil Booth <neil@daikokuya.demon.co.uk>
6994
a42a5f59
ZW
6995 * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
6996 not pfile->skipping (== 0).
6fe349a9 6997
988144ce
NC
69982001-01-17 Nick Clifton <nickc@redhat.com>
6999
7000 * config/rs6000/rs6000.c: Add prototypes for {init|free}_
7001 machine_status.
7002
15d3a111
JW
70032001-01-17 Jim Wilson <wilson@redhat.com>
7004
7005 * invoke.texi (IA-64 options): Improve.
7006
2bab2366
TT
70072001-01-17 Tom Tromey <tromey@redhat.com>
7008
7009 * invoke.texi (Optimize Options): Use `{}' to around @samp
7010 argument.
7011
454d0cc7
AH
70122001-01-17 Aldy Hernandez <aldyh@redhat.com>
7013
a42a5f59 7014 * invoke.texi (-fno-guess-branch-probability): New option.
454d0cc7 7015
c7be4f66
RK
7016Wed Jan 17 13:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7017
7018 * combine.c (try_combine): Don't set i3_subst_into_i2 for
7019 case of making new double-word constant.
7020 Revert last change: instead just test i3_subst_into_i2.
7021
5efdd890
JJ
70222001-01-17 Jakub Jelinek <jakub@redhat.com>
7023
7024 * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
d70401eb 7025 Use q constraints instead of r.
5efdd890 7026
5dfcd8e1
AM
7027Tue Jan 16 22:23:04 2001 Alan Modra (alan@linuxcare.com.au)
7028
7029 * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
7030 (machine_function): Define.
7031 (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
7032 * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
7033 pa_free_machine_status): New functions.
7034 (override_options): Set {init,mark,free}_machine_status to above.
7035 (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
7036 PIC_OFFSET_TABLE_REGNUM_SAVED.
7037 * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
7038 PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
7039 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
7040 references to PIC_OFFSET_TABLE_REGNUM_SAVED.
7041 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
7042
ce3b8848
DD
70432001-01-15 DJ Delorie <dj@redhat.com>
7044
7045 * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
7046 (cpp.1): Ditto.
7047 (gcc.1): Ditto.
7048
6953fdb4
RK
7049Tue Jan 16 17:20:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7050
50e9b3f1
RK
7051 * flow.c (propagate_on_insn): Make trying to delete a prologue
7052 or epilogue insn an ICE, not a warning. Allow doing this if
7053 the current function returns with stack pointer depressed.
7054
6953fdb4
RK
7055 * combine.c (try_combine): If i3_subst_into_i2, properly check for
7056 I3 having more than one SET.
7057
aebf2462
JW
70582001-01-16 Jim Wilson <wilson@redhat.com>
7059
df6194d4
JW
7060 * invoke.texi: Document IA-64 options.
7061
aebf2462
JW
7062 * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
7063 (fixup_errata): Delete TARGET_A_STEP use.
7064 * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
7065 (TARGET_SWITCHES): Delete -ma-step option.
7066 * config/ia64/ia64.md (all FP patterns): Delete %B0.
7067 (movqicc_astep, movqi_internal_astep, movhicc_astep,
7068 movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
7069 movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
7070 movdfcc_astep, movdf_internal_astep, movtfcc_astep,
7071 movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
7072 Delete.
7073 (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
7074 movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
7075 cmovsi_internal): Delete ! TARGET_A_STEP check.
a42a5f59 7076
aebb127a
GP
70772001-01-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7078
7079 * gcc.texi (Bug Lists): Do not mention newsgroups nor the
7080 possibility to report bugs via postal mail. Change a URL and
7081 merge in a nearly duplicate statement...
7082 (Bug Reporting): ...from here.
7083 (Service): Refer to the Bug Reporting section instead of
7084 duplicating an URL.
7085 (Contributing): Remove trivial explanations concerning snapshots.
7086
95f4ac8b
AM
70872001-01-16 Alan Modra <alan@linuxcare.com.au>
7088
a42a5f59 7089 * cppmain.c (general_init): Don't use ANSI prototype.
95f4ac8b 7090
c32ee81e
TT
70912001-01-16 Tom Tromey <tromey@redhat.com>
7092
7093 * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
7094
2c873473
RH
70952001-01-16 Richard Henderson <rth@redhat.com>
7096
7097 * config/i386/i386.h: Fix comment typo.
7098 * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
7099 (ashr+compare patterns): Match CCGOCmode not CCNOmode.
7100
76e5b312
PE
71012001-01-16 Phil Edwards <pme@sources.redhat.com>
7102
7103 * gcc.c: Revert previous -fsyntax-only-related change; move
20f9202d 7104 to cp/g++spec.c.
76e5b312 7105
b62d22a2
JJ
71062001-01-16 Jakub Jelinek <jakub@redhat.com>
7107
7108 * config/i386/i386.c (fcmov_comparison_operator): Only initialize
7109 inmode after checking GET_CODE (op).
7110
0875baa0
RH
71112001-01-16 Richard Henderson <rth@redhat.com>
7112
7113 * flow.c (struct propagate_block_info): Add mem_set_list_len.
7114 (MAX_MEM_SET_LIST_LEN): New.
7115 (propagate_one_insn): Update mem_set_list_len.
7116 (invalidate_mems_from_autoinc): Likewise.
7117 (invalidate_mems_from_set): Likewise.
7118 (mark_used_regs): Likewise.
7119 (init_propagate_block_info): Likewise. Stop collecting memories
7120 when we reach MAX_MEM_SET_LIST_LEN.
7121 (mark_set_1): Likewise.
7122
c55fa4d6
RH
71232001-01-16 Richard Henderson <rth@redhat.com>
7124
7125 * unroll.c (precondition_loop_p): Fail if no iteration
7126 variable found.
7127
6488ac06
PE
71282001-01-16 Phil Edwards <pme@sources.redhat.com>
7129
7130 * gcc.c: When -fsyntax-only is given, do not complain about
20f9202d 7131 unused libraries.
6488ac06 7132
4cf12e7e
RH
71332001-01-15 Richard Henderson <rth@redhat.com>
7134
7135 * config/i386/i386.c (asm_output_function_prefix): Remove.
7136 (ix86_asm_file_end): New.
7137 (load_pic_register): Generate pic_label_name into a
7138 staticly allocated buffer.
7139 * config/i386/i386-protos.h: Update.
7140 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
7141 (ASM_FILE_END): New.
7142 * config/i386/i386afe.h: New file.
7143 * config.gcc (i?86-*-elf) [tm_file]: Use it.
7144 (i?86-*-{freebsd,linux*,moss*}): Likewise.
7145 * config/elfos.h (ASM_FILE_END): Undef before redefinition.
7146 * config/i386/cygwin.h (ASM_FILE_END): Likewise.
7147 * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
7148 * config/i386/sco5.h (ASM_FILE_END): Likewise.
7149 * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
7150
3f896fc2
JM
71512001-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
7152
ad3b5aff
JM
7153 * Makefile.in (install-man): Remove explicit dependency on
7154 $(srcdir)/gcc.1.
7155
3f896fc2
JM
7156 * configure.in, configure: Revert previous patch requiring perl
7157 5.6.0.
7158
3ff51205
AH
71592001-01-12 Aldy Hernandez <aldyh@redhat.com>
7160
7161 * toplev.c (flag_guess_branch_prob): New.
7162 (f_options): Add guess-branch-probability option.
7163 (rest_of_decl_compilation): Only estimate branch probability if
7164 flag set.
7165 (main): set flag_guess_branch_prob.
7166
7167 * flags.h (flag_guess_branch_prob): New.
7168
b8dea7e0
DD
71692001-01-15 DJ Delorie <dj@redhat.com>
7170
7171 * gcc.texi (Makefile): Add documentation for Makefile targets.
7172
c1163e75
PB
71732001-01-15 Philip Blundell <philb@gnu.org>
7174
7175 * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
7176 (is_pic): Delete.
7177 * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
7178 (is_pic): Delete declaration.
3cf96b52 7179 * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
c1163e75 7180 (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
3cf96b52 7181 * config/arm/arm.md (builtin_setjmp_receiver): New.
c1163e75 7182
9b598fa0
RE
71832001-01-15 Richard Earnshaw <rearnsha@arm.com>
7184
7185 * arm.c (use_return_insn): Don't try to determine the function type
7186 until after reload has completed.
7187 (arm_output_epilogue): Don't adjust the sp value recovered from the
7188 stack.
7189 (emit_multi_reg_push): Don't record dwarf information for the pc.
7190 * arm.md (eh_epilogue): The function type may have changed, so it
7191 needs to be recalculated.
a42a5f59 7192 * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete. Can now use dwarf2
9b598fa0
RE
7193 unwind tables on arm/netbsd.
7194
6c98269c
RE
71952001-01-15 Richard Earnshaw <rearnsha@arm.com>
7196
7197 * arm.md (cbranchsi4): Correct calculation of branch ranges.
7198 (negated_cbranchsi4): Likewise.
7199
fa13446b
RE
72002001-01-15 Richard Earnshaw <rearnsha@arm.com>
7201
7202 * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
7203 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
b3c5b2be
RE
7204 (ASM_SPEC): Call subtarget_extra_asm_spec. Don't
7205 pass -mapcs-* options to assembler.
fa13446b
RE
7206 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
7207 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
7208 (ASM_SPEC): Call subtarget_extra_asm_spec.
7209
77ebd435
AJ
72102001-01-15 Andreas Jaeger <aj@suse.de>
7211
a42a5f59 7212 * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
fa13446b 7213 warnings.
77ebd435
AJ
7214 (ix86_expand_builtin): Likewise.
7215
7216 * gencodes.c (output_predicate_decls): Make i size_t to avoid
7217 warning about comparison between signed and unsigned.
7218
998a298e
GK
72192001-01-14 Geoffrey Keating <geoffk@redhat.com>
7220
7221 * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
7222
1b26cad7
RB
72232001-01-14 Ralf Baechle <ralf@gnu.org>
7224
a42a5f59
ZW
7225 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
7226 SUBTARGET_CPP_SPEC apropriatly.
1b26cad7 7227
e3406b2a
MM
72282001-01-12 Mark Mitchell <mark@codesourcery.com>
7229
7230 * varasm.c (make_decl_rtl): Fix typo in last change.
7231
ea4f1fce
JO
72322001-01-14 Jeffrey Oldham <oldham@codesourcery.com>
7233
7234 * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
7235 linker supports the init_priority C++ attribute.
7236 * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
7237 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
7238 linker does not support init_priority C++ attribute.
7239
3e854cf7
R
7240Sun Jan 14 22:31:30 2001 J"orn Rennecke <amylaar@redhat.com>
7241
7242 * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
7243
400023a3
NB
72442001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
7245
a42a5f59
ZW
7246 * c-parse.in (finish_parse): Add comment about cpp_destroy.
7247 * cp/lex.c (finish_parse): Similarly.
7248 * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
7249 Return the number of errors encountered.
7250 * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
7251 * cppmain.c (main): Don't call cpp_destroy.
400023a3 7252
150d3c00
JM
72532001-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
7254
7255 * configure.in: Require at least perl 5.6.0 to regenerate
7256 manpages.
7257 * configure: Regenerate.
7258
521b9224
RH
72592001-01-14 Richard Henderson <rth@redhat.com>
7260
7261 * genrecog.c (DT_veclen_ge): New.
7262 (add_to_sequence) [MATCH_PARALLEL]: Generate one.
7263 (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
7264 (nodes_identical_1): Handle DT_veclen_ge.
7265 (write_cond, debug_decision_2): Likewise.
7266
d6c5a763
RE
72672001-01-14 Richard Earnshaw <rearnsha@arm.com>
7268
7269 * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete. Replace
7270 with ...
7271 (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
7272
6de8f7fc
NB
72732001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
7274
a42a5f59
ZW
7275 * cppmain.c (do_preprocessing): New function; most of the old
7276 main.
7277 (main): Call it to do most of the work.
7278 (cb): Move from global scope to set_callbacks ().
7279 (setup_callbacks): Get the callback pointer.
7280 (general_init, printer_init): Clean up code and comments.
6de8f7fc 7281
17879734
RE
72822001-01-14 Richard Earnshaw <rearnsha@arm.com>
7283
1b26cad7 7284 * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
17879734
RE
7285 compiling PIC.
7286
c009a745
KH
72872001-01-14 Kazu Hirata <kazu@hxi.com>
7288
7289 * config/h8300/h8300.c (get_shift_alg): Update comments.
7290
bd0f0717
RK
7291Sun Jan 14 06:20:49 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7292
7293 * ggc-page.c (alloc_annon): Call perror and correctly call exit.
7294 (alloc_page, ggc_alloc): Add casts to remove warnings.
7295
aa6683f7
GK
72962001-01-14 Geoffrey Keating <geoffk@redhat.com>
7297
7298 * combine.c (simplify_comparison): Don't change `code' when
7299 can't reverse comparison.
7300
fce7e199
RH
73012001-01-14 Richard Henderson <rth@redhat.com>
7302
7303 * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
7304 update all call sites. Return true for all non-label constants.
7305
a1b8572c
JH
7306Sun Jan 14 10:09:48 MET 2001 Jan hubicka <jh@suse.cz>
7307
7308 * i386.c (ix86_expand_compare): Add bypass_test and second_test
7309 parameters.
7310 (ix86_expand_branch): Update.
7311 (ix86_expand_setcc): Update to handle multiple test conditions.
7312 (expand_int_movcc): Likewise.
7313 (expand_fp_movcc): Likewise.
7314 * i386-protos.h (ix86_expand_compare): New.
7315 * i386.md (andqi_?_slp, orqi_?_slp): New.
7316 (conditional trap expander): Update call to ix86_expand_compare.
7317
17ad4377
RH
73182001-01-14 Richard Henderson <rth@redhat.com>
7319
7320 * config/vax/vax.md: Use nonimmediate_operand instead of
7321 general_operand in destinations.
7322
5b9b177a
RH
7323 * config/vax/vax.md (indirect_jump): Use register_operand.
7324
264ddbaa
RH
7325 * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
7326 * config/vax/vax.md (call_pop): Turn into an expander.
7327 (call_value_pop): Likewise.
7328 (call, call_value): New.
7329
8752c357
AJ
73302001-01-14 Andreas Jaeger <aj@suse.de>
7331
7332 * config/i386/i386.c (ix86_split_fp_branch): Remove unused
7333 variables.
7334 (ix86_fp_compare_mode): Add unused attribute.
7335 (ix86_expand_fp_movcc): Remove unused variable.
7336 (ix86_expand_builtin): Make fcode unsigned.
7337
7338 * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
7339 (expand_expr): Add cast to avoid signed warning.
7340 (store_field): Likewise.
7341 (store_constructor_field): Likewise.
7342 (store_constructor): Likewise.
7343 (store_expr): Likewise.
7344 (clear_storage): Likewise.
7345 (emit_group_store): Likewise.
7346 (emit_group_load): Likewise.
7347
1312c143
JM
73482001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
7349
7350 * c-common.c: Move format checking code to ...
7351 * c-format.c: ... here. New file. Reorder some functions and
7352 declarations.
7353 (decl_handle_format_attribute, decl_handle_format_arg_attribute):
7354 New functions.
7355 * c-common.h (decl_handle_format_attribute,
7356 decl_handle_format_arg_attribute): Declare.
7357 * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
7358 (c-common.o): Adjust dependencies.
7359 (c-format.o): New list of dependencies.
7360
9e2adb2a
JJ
73612001-01-13 Jakub Jelinek <jakub@redhat.com>
7362
7363 * unroll.c (loop_iterations): If we cannot prove iteration variable
7364 is set once in each iteration, punt.
7365
63eaee71
DC
7366Sun Jan 14 00:23:15 2001 Denis Chertykov <denisc@overta.ru>
7367
7368 * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
7369 (*strlenhi): Remove clobber (which was buggy) of output address.
7370
4bc1997b
JM
73712001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
7372
7373 * Makefile.in (generated-manpages): Add gcc.1
7374 ($(srcdir)/gcc.1): New target.
7375 (maintainer-clean): Delete $(srcdir)/gcc.1.
7376 * gcc.texi: Add macros @gccoptlist and @gol.
7377 * invoke.texi: Include option summary in manpage. Mark up option
7378 summary with @gccoptlist and @gol. Use @r in one place where
7379 appropriate.
7380 * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
7381 * gcc.1: Generate from invoke.texi.
7382
130fadbb
RH
73832001-01-13 Richard Henderson <rth@redhat.com>
7384
7385 * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
7386 (struct page_entry): Add group member.
7387 (struct page_group): New.
7388 (struct globals): Add page_groups member.
7389 (alloc_anon): Only define for using mmap; remove valloc call.
7390 (page_group_index): New.
7391 (set_page_group_in_use): New.
7392 (clear_page_group_in_use): New.
7393 (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
7394 (free_page, release_pages): Likewise.
7395 * configure.in (with-gc): Default to ggc-page always.
7396
086fef9e
AO
73972001-01-13 Alexandre Oliva <aoliva@redhat.com>
7398
7399 * reload1.c (replace_pseudos_in_call_usage): Use
7400 reg_equiv_constant and reg_equiv_address, and don't try
7401 regno_reg_rtx first.
7402
ca79429a
RH
74032001-01-13 Richard Henderson <rth@redhat.com>
7404
7405 * ggc-page.c (alloc_page): Round up allocation size to one page.
7406 Set e->order on extra pages.
7407
2cec75a1
RH
74082001-01-13 Richard Henderson <rth@redhat.com>
7409
7410 * genrecog.c (nodes_identical): Expand commentary.
7411 (write_switch): Watch out for identical nodes.
7412
d6d52dd6
NB
74132001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
7414
a42a5f59
ZW
7415 * cppfiles.c (_cpp_fake_include): New function.
7416 * cpphash.h (_cpp_fake_include): New.
7417 * cpplib.c (do_line): Call _cpp_fake_include when entering
7418 header files in preprocessed input.
7419 * cppmain.c (cb_pragma_implementation): Remove handling.
d6d52dd6
NB
7420 (setup_callbacks): Don't register pragmas.
7421
ccd96f0a
NB
74222001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
7423
7424 * extend.texi: Udate for CPP.
7425
174fa2c4
AJ
74262001-01-13 Andreas Jaeger <aj@suse.de>
7427
7428 * reload1.c: Add prototype for replace_pseudos_in_call_usage.
7429
7430 * regmove.c: Add prototype for replace_in_call_usage.
7431
8121d2c3
NB
74322001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
7433
a42a5f59
ZW
7434 * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
7435 struct cpp_chunk, struct htab, struct toklist,
7436 struct cpp_context, CPP_STACK_MAX, struct lexer_state,
7437 struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
7438 CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
7439 ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
7440 (struct macro_args): Delete.
7441 * cpphash.h: See above.
8121d2c3 7442
620ef26c
NB
74432001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
7444
a42a5f59
ZW
7445 * cppmain.c (struct printer): Remove no_line_dirs.
7446 (options, cb): New.
7447 (main, setup_callbacks, scan_buffer, printer_init, cb_define)
7448 : Use options rather than CPP_OPTION.
7449 (setup_callbacks): Use cb rather than pfile->cb.
7450 (main): No need to check for a buffer. Use cpp_errors.
7451 (printer_init): Don't set no_line_dirs.
7452 (maybe_print_line): Use options not no_line_dirs.
7453 (cb_file_change): Don't call print_line if -P.
620ef26c 7454
b61c5ed0
NB
74552001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
7456
a42a5f59
ZW
7457 * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
7458 callbacks.
7459 * c-parse.in (finish_parse): Use cpp_errors.
7460 (__yylex): Use return value of cpp_pop_buffer.
7461 * cp/lex.c (finish_parse): Use cpp_errors.
7462 * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
b61c5ed0 7463
f14269a0
DC
7464Sat Jan 13 16:57:40 2001 Denis Chertykov <denisc@overta.ru>
7465
7466 * README.AVR: URLs corrected.
7467
757e6639
RK
7468Sat Jan 13 07:30:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7469
7470 * c-decl.c (start_function): Don't warn if old prototype is builtin
7471 that's not in C's namespace.
7472 * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
7473 (_bb): Add prototype for ctime.
7474 * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
7475
9e7adcb3
JH
7476Sat Jan 13 09:53:32 MET 2001 Jan Hubicka <jh@suse.cz>
7477
7478 * i386.c (ix86_fp_comparison_arithmetics_cost,
7479 ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
7480 ix86_fp_comparison_cost): New functions.
7481 (ix86_expand_fp_compare): Use the costs to choose best bethod; add
7482 two new parameters SECOND_TEST and BYPASS_TEST; allow generating
7483 two-branch sequences; make static.
7484 (ix86_use_fcomi_compare): Do decision according to the costs.
7485 (split_fp_branch): New.
7486 * i386.md (compare-and-branch patterns): Use split_fp_branch.
7487 * i386-protos.h (ix86_expand_fp_compare): Remove
7488 (ix86_split_fp_branch): Declare.
7489
7490 * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
7491 and ix86_comparison_operator.
7492
7493 * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
7494 to make it cheaper.
7495
7496 * i386.c (put_condition_code): Output properly the unordered/ordered
7497 compares in fp case.
7498 (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
7499
7500 * tm.texi (REVERSE_CONDITION): Document.
7501 * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
7502 in -ffast-math mode.
7503 * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
7504
35ef2880
AO
75052001-01-13 Alexandre Oliva <aoliva@redhat.com>
7506
89d4bc35
AO
7507 * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
7508
b90dbca6
AO
7509 * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
7510 optimized away.
7511
35ef2880
AO
7512 * config/sh/sh.c (mova_p): Fix test for mova_const.
7513
f85c14ee
NB
75142001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
7515
a42a5f59
ZW
7516 * fix-header.c (read_scan_file): Use cpp_get_callbacks and
7517 cpp_get_options rather than dereferencing pfile and using
7518 CPP_OPTION.
7519 * scan-decls.c (scan_decls): Use return value of
7520 cpp_pop_buffer rather than CPP_BUFFER.
174fa2c4 7521
7e96d768
NB
75222001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
7523
a42a5f59
ZW
7524 * cppinit.c (cpp_handle_option): help_only is now part of the
7525 cpp_options structure.
7526 * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
7527 cpp_set_callbacks): New functions.
7528 * cpplib.h (cpp_callbacks): Break out as a named structure.
7529 (cpp_options): Move help_only here from cpp_reader.
7530 (CPP_FATAL_ERRORS): Update to use cpp_errors.
7531 (cpp_errors, cpp_get_options, cpp_get_callbacks,
7532 cpp_set_callbacks): New prototypes.
7533 * cppmain.c (main): Update for help_only.
7e96d768 7534
23de1fbf
JM
75352001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
7536
7537 * Makefile.in (info, maintainer-clean, install-info, uninstall):
7538 Also build and remove and install and uninstall c-tree.info and
7539 cppinternals.info.
7540 ($(srcdir)/gcc.info): Add dependency on contrib.texi.
7541 ($(srcdir)/cppinternals.info): New target.
7542 * c-tree.texi: Change file name used when makeinfo used without -o
7543 from ir.info to c-tree.info. Add info directory entry.
7544 * cppinternals.texi: Add info directory entry.
7545 * .cvsignore: Update.
7546
8b6a5902
JJ
75472001-01-12 Jakub Jelinek <jakub@redhat.com>
7548
7549 * c-typeck.c (store_init_value): Don't require constant initializer
7550 elements with -pedantic -std=c99.
7551 (digest_init): Change error about non-constant initializer elements
7552 into pedwarn.
7553 (constructor_range_end): Remove.
7554 (constructor_incremental, designator_depth,
7555 designator_errorneous): New variables.
7556 (struct constructor_stack): Remove range_end, add incremental.
7557 (struct constructor_range_stack, constructor_range_stack): New.
7558 (struct initializer_stack): Add constructor_range_stack.
7559 (finish_init): Set it.
7560 (start_init): Likewise. require_constant_elements for non-static
7561 trees only if not flag_isoc99.
7562 (really_start_incremental_init): Remove constructor_range_end, add
7563 constructor_incremental.
7564 (pop_init_level): Likewise.
7565 (push_init_level): Likewise. If implicit and the subobject had some
7566 value set already, preinitialize the level with it.
7567 Warn about missing braces only if not pushing due to designators.
7568 (set_designator, push_range_stack): New functions.
7569 (set_init_label): Use them.
7570 (set_init_index): Likewise. Remove constructor_range_end.
7571 Error if designator index is outside of array bounds.
7572 (add_pending_init): Compare values of purpose index trees, not the
7573 trees themselves. Allow overwriting of already initialized element.
7574 Issue a warning if it had side-effects.
7575 (set_nonincremental_init, set_nonincremental_init_from_string): New
7576 functions.
7577 (pending_init_member): Rename to...
7578 (find_init_member): ...this function. Call set_nonincremental_init
7579 if necessary. Compare values of purpose index trees, not the trees
7580 themselves. Return the actual value, not just non-zero if something
7581 is found.
7582 (output_init_element): Remove checks for duplicates.
7583 If field has zero size, only check the initializer for correctness.
7584 Call set_nonincremental_init if necessary. Push RECORD/ARRAY into AVL
7585 if constructor_incremental is zero. Change error about initializers
7586 not computable at load time into pedwarn.
7587 (output_pending_init_elements): Compare bit positions, not
7588 FIELD_DECLs to take into account zero-sized fields.
7589 (process_init_element): Use constructor_range_stack to fill all
7590 ranges in the designator lists from current level up.
7591 * extend.texi: Update documentation for labeled elements.
7592
7dd232a8
AO
75932001-01-12 Alexandre Oliva <aoliva@redhat.com>
7594
f474c6f8
AO
7595 * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
7596 to function usage for arguments passed by reference. Optimize
7597 callee-copied arguments.
ec7c0481 7598 * regmove.c (replace_in_call_usage): New function.
f474c6f8
AO
7599 (fixup_match_1): Call it.
7600 * cse.c (cse_insn): Canonicalize registers in function usage.
7601 * reload1.c (replace_pseudos_in_call_usage): New function.
7602 (reload): Call it.
7603
7dd232a8
AO
7604 * Makefile.in: Reverted yesterday's wrong patch. Installed the
7605 right version.
7606
d0285326
JJ
76072001-01-12 Jakub Jelinek <jakub@redhat.com>
7608
7609 * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
7610 not XEXP (tmp, 0).
7611
770861f3
DD
76122001-01-12 DJ Delorie <dj@redhat.com>
7613
7614 * Makefile.in (bootstrap): rename stages to be mnemonic. Add
7615 restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
7616 targets.
7617
5490d604
JM
76182001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
7619
7620 * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
7621 tm.texi: Consistently refer to ISO C instead of ANSI C. Refer to
7622 -std options alongside references to -ansi. Update some
7623 documentation for C99.
7624 * cpp.1: Regenerate.
7625
d24b8f53
AJ
76262001-01-12 Andreas Jaeger <aj@suse.de>
7627
14052b68
AJ
7628 * haifa-sched.c (restore_line_notes): Remove argument block B
7629 since it's unused.
7630 * sched-ebb.c (schedule_ebb): Change caller.
7631 * sched-rgn.c (schedule_region): Likewise.
7632 * sched-int.h (restore_line_notes): Adjust prototype.
7633
d24b8f53
AJ
7634 * loop.h: Remove wrong declaration of doloop_condition_get.
7635
e6f3b89d
PE
76362001-01-12 Phil Edwards <pme@sources.redhat.com>
7637
7638 * extend.texi: Move C++-extension-related node from the C section
20f9202d 7639 into the C++ section.
e6f3b89d 7640
89aed483
JM
76412001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
7642
7643 * extend.texi: Refer to an array of pointers to functions instead
7644 of one of functions.
7645
c3ffea50
AJ
7646Fri Jan 12 12:08:12 MET 2001 Andreas Jaeger <aj@suse.de>
7647 Jan Hubicka <jh@suse.cz>
7648
d24b8f53 7649 * combine.c (reversed_comparison): Fix typo in last patch.
c3ffea50 7650 Check X for NULL.
d24b8f53
AJ
7651 (combine_reversed_comparison_code): Make static to follow
7652 prototype declaration.
c3ffea50 7653
159227d5
PE
76542001-01-12 Phil Edwards <pme@sources.redhat.com>
7655
7656 * install.texi: Remove misplaced duplicate entry.
7657
ac70ce21
UD
76582001-01-11 Ulrich Drepper <drepper@redhat.com>
7659
7660 * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
7661
b660f82f
JW
7662Thu Jan 11 17:06:30 EST 2001 John Wehle (john@feith.com)
7663
7664 * final.c: (leaf_function_p): Fix typo.
7665
825b6926
ZW
76662001-01-11 Zack Weinberg <zack@wolery.stanford.edu>
7667
7668 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
7669 Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
7670 which you have.
7671 (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
7672 * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
7673 mmap_anon, and valloc is available.
7674 * ggc-page.c: Restructure ifdef logic to match new autoconf
7675 spec. Don't throw away the test page in init_ggc.
7676
7677 * configure, config.in: Regenerate.
7678
099f0f3f
MH
76792001-01-12 Michael Hayes <mhayes@redhat.com>
7680
7681 * loop.h (total_biv_increment): Constify iv_class pointer.
7682 (struct induction): Replace `mem_mode' with `mem' rtx.
7683 * unroll.c (total_biv_increment): Constify iv_class pointer.
7684 * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
7685 (find_mem_givs, combine_givs_p): Likewise.
7686 (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
7687
69e905c8
TP
76882001-01-10 Thomas Pfaff <tpfaff@gmx.net>
7689
7690 * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
7691 LastError.
7692 (__gthread_getspecific): Ditto.
7693
9a915772
JH
7694Fri Jan 12 00:04:00 MET 2001 Jan Hubicka <jh@suse.cz>
7695
7696 * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
7697 put_condition_code): Convert fp comparison codes to integer
7698 before handling.
7699 (ix86_expand_fp_compare): Postnote the fp comparison code converison
7700 to final.
7701
7702 * i386.c (unsigned_comparison, no_comparison_operator): Kill.
7703 * i386-protos.h (no_comparison_operator): Kill.
7704
7705 * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
7706
7707 * combine.c (REVERSIBLE_CC_MODE): Remove.
7708 (reversible_comparison_p): Remove.
7709 (combine_reversed_comparison_code): New.
7710 (reversed_comparison): New.
7711 (combine_simplify_rtx): Use
7712 combine_reversed_comparison_code/reversed_comparison instead
7713 of reversible_comparison_p.
7714 (simplify_if_then_else): Likewise.
7715 (simplify_set): Likewise.
7716 (simplify_logical): Likewise.
7717 (if_then_else_cond): Likewise.
7718 (known_cond): Likewise.
7719 (simplify_comparison): Likewise.
7720
bbc7fda9
AL
77212001-01-11 Alan Lehotsky <lehotsky@tiac.net>
7722
7723 * builtins.c (std_expand_builtin_va_start): Handle varargs when
7724 sizeof (int) is larger than sizeof(__word__).
825b6926 7725
a4299d07
NB
77262001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
7727
825b6926 7728 * cppinit.c (do_includes): Fix typo.
a4299d07 7729
76028b1f
SC
77302001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7731
7732 * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
7733 in S_REGS does not occur because not all sources are possible
7734 when a S_REGS is a destination (sometimes needs a clobber).
7735 (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
7736 (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
7737 (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
7738 (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
7739 (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
7740 (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
7741 (lshrdi_const1, lshrsi3_const16): Likewise.
7742 (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
7743 (*movhi_68hc12, *movqi_68hc12): Likewise.
825b6926 7744 (movstrictqi): Make sure reloading in D_REGS as a destination
76028b1f
SC
7745 does not happen.
7746
d3956766
NB
77472001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
7748
825b6926 7749 * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
d3956766 7750
05e81724
NB
77512001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
7752
825b6926
ZW
7753 * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
7754 -D, -U and -A, and don't initialize the builtins.
a4299d07 7755 (do_includes): Error if -include or -imacros with -fpreprocessed.
825b6926
ZW
7756 * cppmain.c (cb_define, cb_undef): Unconditionally process
7757 the callback.
7758 * tradcpp.c (main): Fix typo.
05e81724
NB
7759
77602000-01-11 Mark Elbrecht <snowball3@bigfoot.com>
825b6926 7761
20f9202d
DB
7762 * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
7763 (read_name_map): Use IS_ABSOLUTE_PATH.
7764 * tradcpp.c (get_filename): Likewise.
05e81724 7765
76d06edc
SC
77662001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7767
7768 * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
7769 (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
7770 (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
7771 (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
7772 (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
7773 (cmphi_z_used): Don't use '@' for the output.
7774 (tstqi_z_used): Likewise.
7775 (cmpqi_z_used): Likewise.
7776 (one_cmplsi2): Likewise.
7777
1594c6bc
AO
77782001-01-11 Alexandre Oliva <aoliva@redhat.com>
7779
7780 * config/sh/sh.c (barrier_align): Recognize branch around far
7781 branch and redundant insn.
7782
7da723ef
NB
77832001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
7784
825b6926 7785 * invoke.texi: Restore documentation of the drivers' switches -MD
7da723ef
NB
7786 and -MMD.
7787
a738a85c
AO
77882001-01-11 Alexandre Oliva <aoliva@redhat.com>
7789
f6f1dc95
AO
7790 * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
7791
a738a85c
AO
7792 * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
7793 check-objc//%): Support parallel testing of multilibs.
7794 (TESTSUITEDIR): Set to testsuite by default, but override for
7795 parallel testing.
7796 (check-gcc, check-g++, check-g77, check-objc): Enter
7797 $(TESTSUITEDIR).
7798
fb6754f0
BS
77992001-01-11 Bernd Schmidt <bernds@redhat.com>
7800
7801 * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
7802 * sched-deps.c (deps_may_trap_p): Likewise.
7803 * basic-block.h: Remove a comment.
7804 * flow.c (PROP_POSTRELOAD): Remove.
7805 (update_life_info): Don't add it to prop_flags.
7806 (mark_set_1): Lose the code that was enabled by it.
7807
0ab409ed
MH
78082001-01-11 Michael Hayes <mhayes@redhat.com>
7809
7810 * flow.c (flow_call_edges_add): New.
7811 * basic_block.h (flow_call_edges_add): New.
7812
ada6635f
R
78132001-01-11 J"orn Rennecke <amylaar@redhat.com>
7814
7815 * reload1.c (move2add_note_store): Update reg_set_luid even if
7816 base reg remains the same.
7817
73d771f0
NC
78182001-01-10 Nick Clifton <nickc@redhat.com>
7819
7820 * config/d30v/d30v.c (d30v_init_machine_status): Initialise
7821 machine_function structure to zero.
7822 Add prototypes for machine_status functions.
7823
cbd5937a
MM
78242001-01-10 Mark Mitchell <mark@codesourcery.com>
7825
7826 * c-common.h (CTI_VOID_LIST): Remove.
7827 (void_list_node): Likewise.
7828 * tree.h (TI_VOID_LIST_NODE): New enumeral.
7829 (void_list_node): New macro.
7830 * config/arm/arm.c (arm_init_builtins): Use void_list_node.
7831 * config/i386/i386.c (ix86_init_builtins): Likewise.
7832 * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
7833
2f638f96
NB
78342001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
7835
825b6926
ZW
7836 * Makefile.in (tradcpp0): Depend on mkdeps.h. Link mkdeps.o
7837 * cppinit.c (cpp_start_read): Update comment, remove unneeded
7838 if statement.
7839 * tradcpp.c: Include mkdeps.h.
7840 (deps, print_deps_phony_targets, deps_append, output_deps,
7841 init_dependency_output, output_deps): New.
7842 (deps_buffer, deps_allocated_size, deps_size, deps_column,
7843 deps_output): Delete.
7844 (print_deps_missing_files): Rename deps_missing_files.
7845 (inhibit_output): Make global.
7846 (main): Delete inhibit_output, deps_stream, deps_target.
7847 Use mkdeps functionality in the same way as cpplib. Remove
7848 -g3 handling. Handle -MF, -MP, -MQ, -MT. Update handling of
7849 -M and -MM. Remove old handling of deps via deps_out, and
7850 old reading of environment variables.
7851 (get_filename): Update to use deps_add_dep.
2f638f96 7852
6c418184
MM
78532001-01-10 Mark Mitchell <mark@codesourcery.com>
7854
7855 * output.h (make_function_rtl): Remove prototype.
7856 (make_decl_rtl): Likewise.
7857 * varasm.c (make_function_rtl): Remove.
7858 (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
7859 than from a third parameter.
7860 * tree.h (make_decl_rtl): Remove last parameter.
7861 * c-decl.c (builtin_function): Remove last argument in call to
7862 make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
7863 (start_function): Likewise.
7864 * except.c (call_get_eh_context): Likewise.
7865 * expr.c (emit_block_move): Likewise.
7866 (clear_storage): Likewise.
7867 * profile.c (output_func_start_profiler): Likewise.
7868 * toplev.c (rest_of_decl_compilation): Likewise.
7869 * objc/objc-act.c (create_builtin_decl): Likewise.
7870 (synth_module_prologue): Likewise.
7871 (generate_static_reference): Likewise.
7872 (build_selector_reference_decl): Likewise.
7873 (build_class_reference_decl): Likewise.
7874 (build_objc_string_decl): Likewise.
7875 (build_protocol_reference): Likewise.
7876
4621c640
RH
78772001-01-10 Richard Henderson <rth@redhat.com>
7878
7879 * hwint.h: Revert yesterday's change.
7880
414c4dc4
NC
78812001-01-10 Nick Clifton <nickc@redhat.com>
7882
7883 * function.h (save_machine_status): Delete.
7884 (restore_machine_status): Delete.
7885 Amend comment describing {init|mark|free}_machine_status.
7886
7887 * function.c (save_machine_status): Delete.
7888 (restore_machine_status): Delete.
7889 Amend comment describing {init|mark|free}_machine_status.
7890 (push_function_context_to): Remove invocation of
7891 save_machine_status.
7892 (pop_function_context_from): Remove invocation of
7893 restore_machine_status.
7894
7895 * emit-rtl.c (init_emit_once): Amend comment describing
825b6926 7896 {init|mark|free}_machine_status.
414c4dc4
NC
7897
7898 * tm.texi (Per-Function Data): New node. Describe the
7899 INIT_EXPANDERS macro and the {init|mark|free}_machine_status
7900 function pointers.
7901
5c5d1ea0
NB
79022001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
7903
825b6926
ZW
7904 * cppinit.c (OPT_g): Remove.
7905 (cpp_handle_option): Update for removed -g3.
7906 (print_help): Update.
7907 * cpplib.h (struct cpp_options): Remove debug_output.
7908 * cppmain.c (setup_callbacks, cb_define): Update.
7909 * gcc.c (cpp_options): Translate -g3 to -dD.
5c5d1ea0 7910
d9271ccc
AH
79112001-01-10 Aldy Hernandez <aldyh@redhat.com>
7912
7913 * config/i960/i960.md: Change modifier to + on the zero_extract
825b6926 7914 pattern after the (rotate -2 reg) canonicalization pattern.
d9271ccc 7915
37b15744
RH
79162001-01-10 Richard Henderson <rth@redhat.com>
7917
7918 * config/alpha/alpha.c (alpha_free_machine_status): New.
7919 (override_options): Install it.
7920 (alpha_mark_machine_status): Verify machine non-null.
7921 * config/i386/i386.c (ix86_free_machine_status): New.
7922 (override_options): Install it.
7923 (ix86_init_machine_status): Use xcalloc.
7924 (ix86_mark_machine_status): Verify machine non-null.
7925 * config/ia64/ia64.c (ia64_free_machine_status): New.
7926 (ia64_override_options): Install it.
7927 (ia64_mark_machine_status): Verify machine non-null.
7928
87c61e2d
JL
7929Wed Jan 10 11:34:39 2001 Jeffrey A Law (law@cygnus.com)
7930
7931 * function.c (instantiate_virtual_regs): Instantiate virtual
7932 registers found in CALL_INSN_FUNCTION_USAGE.
7933
930bbdd2
JM
79342001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
7935
7936 * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
7937 equivalent to -ansi in disabling -Di386.
7938
c0c102a9
JH
7939Wed Jan 10 16:38:31 MET 2001 Jan Hubicka <jh@suse.cz>
7940
7941 * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
7942 new functions.
7943 (ix86_expand_fp_compare): Make trivial use of new infrastructure.
7944
78053907
RE
79452001-01-10 Richard Earnshaw <rearnsha@arm.com>
7946
7947 * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
7948
a7537031
JM
79492001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
7950
7951 * invoke.texi: Document that -fcond-mismatch isn't supported for
7952 C++.
7953
2642624b
JM
79542001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
7955
7956 * gcc.texi: Define macro gcctabopt.
7957 * invoke.texi: Add manpage sections BUGS and AUTHOR. Use
7958 @command, @env and @option in some places where appropriate. Use
7959 @gcctabopt where appropriate. Put URLs and email addresses inside
7960 @w.
7961
11972f66 79622001-01-10 Nathan Sidwell <nathan@codesourcery.com>
825b6926
ZW
7963
7964 * gcc.c (cpp_options): Set MD file name from output
7965 filename, if specified.
7966 (suffix_subst): New static variable.
7967 (do_spec): Clear it.
7968 (do_spec_1, case '.'): Handle new `%.suffix' spec.
7969 Clear it.
7970 (give_switch): Handle suffix_subst.
11972f66 7971
0a75e5c3
PE
79722001-01-10 Phil Edwards <pme@sources.redhat.com>
7973
7974 * invoke.texi: Fix another typo.
7975
9169269f
PE
79762001-01-10 Phil Edwards <pme@sources.redhat.com>
7977
7978 * invoke.texi: Fix typo.
7979
ee811cfd
NB
79802001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
7981
825b6926
ZW
7982 * c-lang.c (lang_hooks): Update.
7983 (lang_decode_option): Remove.
7984 (lang_init_options): Rename c_init_options.
7985 * toplev.c (main): Use lang_hooks for lang_init_options
7986 and lang_decode_option.
7987 * toplev.h (lang_hooks): Add 2 new hooks.
7988 * tree.h: Remove lang_init_options and lang_decode_option.
7989 * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
7990 * cp/decl2.c: Similarly.
7991 * cp/lex.c (lang_init_options): Rename cxx_init_options.
7992 (lang_hooks): Update.
7993 * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
7994 for consistency.
7995 (lang_init_options): Rename ffe_init_options.
7996 (lang_hooks): Update.
7997 (lang_decode_option): Remove.
7998 * java/lang.c (lang_init_options): Rename java_init_options.
7999 (lang_decode_option): Rename java_decode_option.
8000 (lang_hooks): Update.
8001 * objc/objc-act.c (lang_init_options): Rename objc_init_options.
8002 (lang_decode_option): Rename objc_decode_option.
8003 (lang_hooks): Update.
ee811cfd 8004
8541c24b
NC
80052001-01-09 Nick Clifton <nickc@redhat.com>
8006
8007 * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
8008 (d30v_return_addr_rtx): Delete.
8009 (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
8010 cfun->machine structure.
8011 (struct machine_function): Move to d30v.h
8012 (d30v_save_machine_status): Delete.
8013 (d30v_restore_machine_status): Delete.
8014 (d30v_init_machine_status): New Function.
8015 (d30v_mark_machine_status): New Function.
8016 (d30v_free_machine_status): New Function.
8017 (d30v_init_expanders): Use new functions.
8018 (d30v_return_addr): Use ra_rtx field in cfun->machine.
8019 (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
8020 d30v_return_addr_rtx.
8021
8022 * config/d30v/d30v.h (struct_machine): Move here.
8023 Add eh_epilogue_sp_ofs field.
8024
8025 *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
8026 field in cfun->machine structure.
8027
4d5a6f78
JDA
8028Tue Jan 9 21:34:57 2001 John David Anglin <dave@hiauly1.hia.nrc.ca>
8029
8030 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
8031 PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
8032 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8033
ecb7e784
JL
8034Tue Jan 9 21:25:19 2001 Jeffrey A Law (law@cygnus.com)
8035
8036 * objc/lang-options.h: Remove bogus reference to
8037 Java trademark.
8038
35fb3d1f
KH
80392001-01-09 Kazu Hirata <kazu@hxi.com>
8040
8041 * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
8042 return the result.
8043
4971426b
AL
80442001-01-09 Alan Lehotsky <lehotsky@tiac.net>
8045
8046 * reload.c (find_reloads_address): Check for eliminable registers
20f9202d 8047 when substituting a constant expression for a pseudo.
825b6926 8048
10a4c7ac
JM
80492001-01-09 Joseph S. Myers <jsm28@cam.ac.uk>
8050
8051 * c-common.c (enum format_type): Add format_type_error.
8052 (decode_format_type): New function.
8053 (decl_attributes): Use it.
8054 (format_kind_info): Adjust comment.
8055
f6e0c56c
DB
80562001-01-09 David O'Brien <obrien@BSDi.com>
8057
8058 * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
8059 i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
8060 files in tm_file.
8061 * config/i386/gnu.h: Don't include required platform specific .h files,
8062 tm.h will do it instead.
8063 * config/i386/i386elf.h: Likewise.
8064 * config/i386/linux.h: Likewise.
8065 * config/i386/moss.h: Likewise.
8066 * config/mips/gnu.h: Likewise.
8067
e556ad19
FS
80682001-01-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8069
8070 * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
8071 (rs6000-ibm-aix3.[01]*): Likewise.
8072 (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
8073 (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
8074 (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
8075 (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
8076 (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
8077 (powerpc-*-eabiaix*): Likewise.
8078 (powerpc-*-eabisim*): Likewise.
8079 (powerpc-*-elf*): Likewise.
8080 (powerpc-*-eabi*): Likewise.
8081 (powerpc-*-rtems*): Likewise.
8082 (powerpc-*-linux*libc1): Likewise.
8083 (powerpc-*-linux*): Likewise.
8084 (powerpc-wrs-vxworks*): Likewise.
8085 (powerpcle-wrs-vxworks*): Likewise.
8086 (powerpcle-*-sysv*): Likewise.
8087 (powerpcle-*-elf*): Likewise.
8088 (powerpcle-*-eabisim*): Likewise.
8089 (powerpcle-*-eabi*): Likewise.
8090 (powerpcle-*-solaris2*): Likewise.
8091 * config/rs6000/aix31.h: Delete includes.
8092 * config/rs6000/aix3newas.h: Likewise.
8093 * config/rs6000/aix41.h: Likewise.
8094 * config/rs6000/aix43.h: Likewise.
8095 * config/rs6000/beos.h: Likewise.
8096 * config/rs6000/rtems.h: Likewise.
8097 * config/rs6000/sysv4.h: Likewise.
8098
9789584b
KH
80992001-01-09 Kazu Hirata <kazu@hxi.com>
8100
8101 * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
8102 Change an argument mode of machine_mode to shift_mode of
8103 shift_mode. Remove an extra error check.
8104 (emit_a_shift): Adopt to the new calling prototype of
8105 get_shift_alg.
46d00fef
KH
8106 (function_prologue): Fix code for a monitor
8107 function. Support H8/S.
8108 (function_epilogue): Do not output pop for a monitor function.
9789584b 8109
a2e11fd9
NC
81102001-01-09 Nick Clifton <nickc@redhat.com>
8111
8112 * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
8113 (setup_incoming_varargs): Use sysv_varargs_p field of the
8114 cfun->machine structure.
8115 (struct machine_function): Move to rs6000.h
8116 (rs6000_save_machine_status): Delete.
8117 (rs6000_restore_machine_status): Delete.
8118 (rs6000_init_machine_status): New Function.
8119 (rs6000_free_machine_status): New Function.
8120 (rs6000_init_expanders): Use new functions.
8121
8122 * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
8123 export.
8124 (struct machine_function): Move here.
8125
8126 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
8127 sysv_varargs_p field of the cfun->machine structure.
8128
8129 * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
8130 Remove prototype.
8131 (rs6000_restore_machine_status): Remove prototype.
8132
4ba478b8
RH
81332001-01-09 Richard Henderson <rth@redhat.com>
8134
8135 * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
8136 reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
8137 * sched-deps.c (sched_analyze_1): Update uses of struct deps.
8138 (sched_analyze_2, sched_analyze_insn): Likewise.
8139 (sched_analyze, init_deps): Likewise.
8140 (free_deps): Likewise. Iterate with EXECUTE_IF_SET_IN_REG_SET.
8141 * sched-rgn.c (propagate_deps): Likewise. Remove max_reg argument.
8142 (compute_block_backward_dependences): Update propagate_deps call.
8143
9c1fcbfb
ME
81442001-01-09 Mark Elbrecht <snowball3@bigfoot.com>
8145
8146 * gcc.c (process_command): Set switches[n_switches].ordering to 0.
8147
e582248c
NB
81482001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
8149
825b6926
ZW
8150 * cppinit.c (OPT_MD, OPT_MMD): Restore.
8151 (cpp_handle_option): Handle them.
8152 (cpp_post_options): Ensure one of -M or -MM is specified with
8153 any other -M? option.
8154 (init_dependency_output): Suppress output with -MG.
e582248c
NB
8155
81562001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
8157
825b6926
ZW
8158 * cpp.texi: Update.
8159 * invoke.texi: Update.
e582248c 8160
7894cb27
BS
81612001-01-09 Bernd Schmidt <bernds@redhat.com>
8162
8163 * sh.md (reload_outsf): Generate recognizable patterns for
8164 TARGET_SH3E.
8165
9f56ed15
NB
81662001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
8167
8168 * c-lang.c (lang_hooks): Update.
825b6926
ZW
8169 (lang_init): Rename c_init.
8170 (lang_finish): Remove.
8171 * toplev.c (compile_file): Use lang_hooks for lang_init ()
8172 and lang_finish ().
8173 * toplev.h (lang_hooks): Add init () and finish ().
8174 * tree.h (lang_init, lang_finish): Remove.
8175 * cp/tree.h (lang_init, lang_finish): Remove.
8176 * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
8177 * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
8178 lang_hooks): New.
8179 (lang_init, lang_finish): Remove.
8180 * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
8181 (lang_hooks): Update.
8182 * java/lang.c (lang_init): Rename java_init.
8183 (lang_finish): Remove.
8184 (lang_hooks): Update.
8185 * objc/objc-act.c (lang_init): Rename objc_init.
8186 (lang_finish): Remove.
8187 (lang_hoooks): Update.
9f56ed15 8188
fb83deef
GS
818920001-01-09 Graham Stott <grahams@redhat.com>
8190
8191 * cppfiles.c (_cpp_execute_include): Move `len` initialisation
8192 after `ptr` is initialised.
8193
ec4ad0f9
AO
81942001-01-09 Alexandre Oliva <aoliva@redhat.com>
8195
8196 * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
8197 (INITIALIZE_TRAMPOLINE): Adjust accordingly.
8198 * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
8199 stack adjusts, instead of r3.
8200
eab02feb
MH
82012001-01-09 Michael Hayes <mhayes@redhat.com>
8202
8203 * flow.c (flow_loop_scan): Break out of ...
8204 (flow_loops_find) ... here.
8205 * basic-block.h (flow_loop_scan): New.
8206 (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
8207 (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
8208
bad48d7e
AO
82092001-01-09 Alexandre Oliva <aoliva@redhat.com>
8210
4b49c365
AO
8211 * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
8212 macro_buffer_len.
8213 * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
8214 realloc()ing macro_buffer.
8215
bad48d7e
AO
8216 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
8217 if it's wider than long and the target's long is wider than the
8218 host's.
8219
34fa3e7d
MM
82202001-01-09 Mark Mitchell <mark@codesourcery.com>
8221
8222 Remove support for using UWIN as a host machine.
8223 * configure.in: Issue an error message.
8224 * configure: Regenerated.
8225 * config.gcc: Remove xm_* UWIN configury.
8226 * config/i386/xm-uwin.h: Remove.
8227
61db4608
NC
82282001-01-08 Nick Clifton <nickc@redhat.com>
8229
8230 * config/v850/v850.c (ra_rtx): Delete.
825b6926 8231 (v850_save_machine_status): Delete.
61db4608
NC
8232 (v850_restore_machine_status): Delete.
8233 (v850_init_machine_status): New function.
8234 (v850_mark_machine_status): New function.
8235 (v850_free_machine_status): New function.
8236 (v850_return_addr): Use ra_rtx field in machine structure.
8237 (v850_init_expanders): Use new functions.
8238
8239 * config/v850/v850-protos.h: Fix prototypes for v850_output_*
8240 * config/v850/v850.c: Change arguments to v850_output+* functions
8241 to take a const char *, to avoid compile time warning.
8242 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
8243 (USER_LABEL_PREFIX): Redefine.
825b6926 8244
9c8fad33
JW
82452000-01-08 Jim Wilson <wilson@redhat.com>
8246
8247 * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
8248 1 to unsigned HOST_WIDE_INT before left shift.
8249
f7a80099
NC
82502001-01-08 Nick Clifton <nickc@redhat.com>
8251
8252 * config/arm/arm.c (arm_mark_machine_status): Check to see if
8253 the machine structure has been allocated.
8254 (arm_free_machine_status): New function: Free the machine
8255 specific function structure.
8256
3c74f8f9
RH
82572001-01-08 Richard Henderson <rth@redhat.com>
8258
8259 * jump.c (simplejump_p): Revert last change.
8260
674c3b40
NB
82612001-01-08 Neil Booth <neil@daikokuya.demon.co.uk>
8262
825b6926
ZW
8263 * cppinit.c (init): Rename init_library.
8264 (cpp_create_reader): Update.
8265 * gcc.c (cpp_options): If -o given, use it as the target of
8266 any -M options.
674c3b40 8267
b15bca31
RE
82682001-01-08 Richard Earnshaw <rearnsha@arm.com>
8269
8270 * arm.c (arm_arch5e): New variable.
8271 (all_cores): XScale is a 5TE device.
8272 (arm_override_options): Set arm_arch5e.
8273 (arm_init_builtins): __builtin_prefetch is in arch5e.
8274 * arm.h (arm_arch5e): Declare it.
8275
8276 * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
8277
8278 * arm.md (define_constants): Add defines for UNSPEC and
8279 UNSPEC_VOLATILE insns. Update all users.
8280 (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
8281 * arm.c (multi_register_push, note_invalid_constants)
8282 (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
8283 * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
8284 (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
825b6926 8285
261efdef
JH
8286Mon Jan 8 16:14:56 MET 2001 Jan Hubicka <jh@suse.cz>
8287
8288 * jump.c (jump_optimize_1): Use reversed_comparison_code
8289 instead of can_reverse_comparison_p.
8290 (jump_back_p): Likewise.
8291 (invert_exp_1): Likewise.
8292 (thread_jumps): Likewise.
8293 * simplify-rtx.c (simplify_unary_operation): Likewise.
8294 (simplify_ternary_operation): Likewise.
8295 * cse.c (find_comparison_args): Convert to use
8296 can_reverse_comparison_p.
8297 (record_jump_equiv): Likewise.
8298
c7861455
RE
82992001-01-08 Richard Earnshaw <rearnsha@arm.com>
8300
8301 * arm.h (HARD_REGNO_RENAME_OK): Delete.
8302 (EPILOGUE_USES): Define.
825b6926 8303 (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
c7861455
RE
8304 automatically stack the LR if it isn't live.
8305
734dba19
JH
8306Mon Jan 8 13:46:02 MET 2001 Jan Hubicka <jh@suse.cz>
8307
8308 * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
8309 properly.
8310
b1095f9c
MM
8311Sun Jan 7 18:37:43 2001 Mark P Mitchell <mark@codesourcery.com>
8312
8313 * ggc-page.c (max_alignment): New structure.
8314 (MAX_ALIGNMENT): New macro.
8315 (init_ggc): Use it to round up the sizes in the
8316 extra_order_size_table.
8317
a701949a
FS
83182001-01-07 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8319
8320 * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
8321 after reload.
8322
18f988a0
KG
83232001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8324
8325 * builtins.def (BUILT_IN_FPRINTF): New entry.
8326
8327 * c-common.c (c_expand_builtin_fprintf): New function.
8328 (init_function_format_info): Handle __builtin_fprintf.
8329 (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
8330 (c_expand_builtin): Handle BUILT_IN_FPRINTF.
8331
8332 * c-decl.c (duplicate_decls): Adjust comment.
8333
8334 * extend.texi (fprintf): Document new builtin.
8335
8cd0792f
RH
83362001-01-07 Richard Henderson <rth@redhat.com>
8337
8338 * jump.c (simplejump_p): Recognize any single_set jump
8339 of the proper form.
8340
5b15f277
RH
83412001-01-07 Richard Henderson <rth@redhat.com>
8342
8343 * configure.in (slibdir): Accept an --with-slibdir option.
8344 Use "test" not "[" in configure. Default to $(libdir).
8345
9c2e06d9
RH
8346 * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
8347 fix typo in rm -f.
8348 * config/t-aix43 (SHLIB_INSTALL): Likewise.
8349 * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
8350 (SHLIB_LINK): Create links for the soname.
8351 * config/mips/t-iris6: Likewise.
8352 * config/sparc/t-slibgcc: Likewise.
8353 * config/sparc/t-slibgcc-sld: Likewise.
8354
eaf19aba
JJ
83552001-01-07 Jakub Jelinek <jakub@redhat.com>
8356
8357 * config/i386/i386.c (constant_call_address_operand): Accept
8358 (const (plus (symbol_ref) (const_int))).
8359 * config/i386/i386.h (PREDICATE_CODES): Add CONST for
8360 constant_call_address_operand.
8361
a8b462be
MH
83622001-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8363
8364 * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
8365 and LONG_LONG_TYPE_SIZE > 32.
8366
3799607a
GP
83672001-01-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8368
8369 * jump.c (reversed_comparison_code_parts): Fix typo introduced by
8370 the previous change.
8371
ab94bc48
JH
8372Sun Jan 7 19:37:48 MET 2001 Jan Hubicka <jh@suse.cz>
8373
8374 * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
8375 New.
8376 (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
8377 (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
8378 * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
8379 Declare.
8380
f6a13bff
NB
83812001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
8382
825b6926 8383 * fix-header.c (read_scan_file): s/pfile/scan_in/.
f6a13bff 8384
96302433
NB
83852001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
8386
825b6926 8387 * c-lang.c (c_post_options): Call cpp_post_options.
96302433
NB
8388 * objc/objc-act.c (objc_post_options): Similarly.
8389 * cppmain.c (main): Similarly.
825b6926
ZW
8390 * fix-header.c (read_scan_file): Similarly.
8391 * cppinit.c (cpp_start_read): Move option consistency checks
8392 to cpp_post_options. Don't call init_dependency_output.
8393 If needed, add default target and main file dependency.
8394 (OPT_MD, OPT_MMD): Remove.
8395 (OPT_MF): New.
8396 (cpp_handle_option): Update for OPT_* changes.
8397 (cpp_post_options): New.
8398 (init_dependency_output): Command line -MF overrides environment
8399 variables. Don't set default target etc. Suppress output
8400 if dependencies are going to stdout.
8401 (print_help): Update.
8402 * cpplib.h (cpp_post_options): New.
8403 * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
8404
b34878a3
JH
8405Sun Jan 7 14:44:19 MET 2001 Jan Hubicka <jh@suse.cz>
8406
8407 * jump.c (comparison_dominates_p): Support unordered compares.
8408
1f36a2dd
JH
8409Sun Jan 7 14:39:07 MET 2001 Jan Hubicka <jh@suse.cz>
8410
8411 * simplify-rtx.c (simplify_relational_operation): Always simplify
8412 ORDERED and UNORDERED when FLAG_FAST_MATH. Handle properly UNLE
8413 and UNGE.
8414
69bc0a1f
JH
8415Sun Jan 7 14:35:13 MET 2001 Jan Hubicka <jh@suse.cz>
8416
8417 * combine.c (combine_simplify_rtx): Recognize the unordered compares.
8418 (nonzero_bits): Likewise.
8419 (simplify_comparison): Likewise.
8420 (num_sign_bit_copies): Likewise; return more sane value depending
8421 on STORE_FLAG_VALUE.
8422 (known_cond): Do not assume EQ to be always true for equivalent
8423 operands.
8424
fd13313f
JH
8425Sun Jan 7 14:31:57 MET 2001 Jan Hubicka <jh@suse.cz>
8426
8427 * cse.c (fold_rtx): Handle unordered comparisons.
8428
91b2d119
JH
8429Sun Jan 7 13:49:19 MET 2001 Jan Hubicka <jh@suse.cz>
8430
8431 * rtlanal.c (set_of_1): New static function.
8432 (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
8433 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
8434 reg_set_last_last_regno): Remove.
8435 (set_of): New global function.
8436 (set_of_data): New structure.
8437 (reg_set_p, reg_set_last): Revamp for set_of.
8438 * rtl.h (set_of): New.
8439
796cdb65
JM
84402001-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
8441
8442 * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
8443 * extend.texi: Document _Exit builtin.
8444
7ca3d2b1
NB
84452001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
8446
825b6926
ZW
8447 * (initialize, initialize_builtins,
8448 initialize_dependency_output, initialize_standard_includes):
8449 Rename s/initialize/init. Update.
8450 (init_dependency_output): Move to after
8451 cpp_handle_options, the correct location temporally at least.
8452 (opt_comp): Move next to init (), its caller. Fix prototype.
8453 (init): Make "initialized" local scope.
8454 (cpp_create_reader): Always call init ().
8455 (cpp_start_read): Update.
8456 (output_deps): New function, broken out of cpp_finish.
8457 (cpp_finish): Break out output_deps.
7ca3d2b1 8458
34445094
RH
84592001-01-07 Richard Henderson <rth@redhat.com>
8460
8461 * collect2.c (COFF specific stuff): Revert 12-06 patch
8462 to prototype system functions.
8463
96a45535
MH
84642001-01-07 Michael Hayes <mhayes@redhat.com>
8465
8466 * hard-reg-set.h: Add multiple include guard.
8467 * basic-block.h (struct loop): Add `sink' field.
8468 * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
8469 (emit_iv_add_mult): Delete.
8470 (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
8471 (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
8472 (unroll_loop): Remove end_insert_before argument.
8473 * loop.c (loop_givs_rescan): Remove end_insert_before argument.
8474 (maybe_eliminate_biv_1): Likewise.
8475 (emit_iv_add_mult): Delete.
8476 (gen_add_mult, loop_regs_update): New.
8477 (loop_insn_emit_after, loop_insn_emit_before): New.
8478 (loop_insn_sink, loop_insn_sink_or_swim): New.
8479 (emit_iv_add_mult): Delete.
8480 (scan_loop): Set loop->sink.
8481 (loop_givs_reduce): Use loop_insn_sink and its ilk.
8482 (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
8483 (maybe_eliminate_biv_1): Likewise.
8484 (maybe_eliminate_biv_1): Add basic block argument.
8485 * unroll.c (unroll_loop): Remove end_insert_before argument.
8486 (find_splittable_regs): Likewise.
8487 (find_splittable_regs): Use loop_insn_sink and its ilk.
8488 (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
8489
804a718a
MH
84902001-01-07 Michael Hayes <mhayes@redhat.com>
8491
8492 * loop.h (loop_insn_hoist): New prototype.
8493 * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
8494 (move_movables, loop_givs_rescan): Use loop_insn_hoist.
8495 (check_dbra_loop, load_mems): Likewise.
8496 * unroll.c (unroll_loop, find_splittable_regs): Likewise.
8497 (find_splittable_givs): Likewise.
8498
30a1181a
MH
84992001-01-07 Michael Hayes <mhayes@redhat.com>
8500
8501 * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
8502
cabf3891
RH
85032001-01-07 Richard Henderson <rth@redhat.com>
8504
8505 * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
8506
9db0819e
RH
85072001-01-07 Richard Henderson <rth@redhat.com>
8508
8509 * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
8510 NO_SHARED_LIBGCC_MULTILIB as required for the target.
8511 * gcc.c (init_spec): Massage the existing libgcc_spec into a
8512 variant that handles a shared libgcc.
8513 (process_command): Always validate -{static,shared}-libgcc.
8514 (do_spec_1): New 'M' case.
8515 * invoke.text (Link Options): Document -{static,shared}-libgcc.
8516
2bbea3a6
RH
85172001-01-07 Richard Henderson <rth@redhat.com>
8518
8519 * Makefile.in (slibdir): New variable.
8520 (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
8521 (installdirs): Create slibdir.
8522 (install-libgcc, install-multilib): Defer to libgcc.mk.
8523 * configure.in (slibdir): Substitute.
8524 * mklibgcc.in (install): New target.
8525
8526 * config/t-linux (SHLIB_LINK): Create links for the soname.
8527 (SHLIB_INSTALL): New.
8528 * config/alpha/t-osf4 (SHLIB_INSTALL): New.
8529 * config/mips/t-iris6 (SHLIB_INSTALL): New.
8530 * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
8531 * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
8532 * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
8533
fc51424c
RH
85342001-01-07 Richard Henderson <rth@redhat.com>
8535
8536 * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
8537 * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
8538 * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
8539
1d7ae250
MH
85402001-01-07 Michael Hayes <mhayes@redhat.com>
8541
8542 * loop.c (count_loop_regs_set): Delete.
8543 (load_mems_and_recount_loop_regs_set): Delete.
8544 (loop_regs_scan): Merge common code from count_loop_regs_set,
8545 scan_loop, and load_mems_and_recount_loop_regs_set.
8546 (scan_loop): Call load_mems directly and loop_regs_scan
8547 again if new registers created.
8548
cd2a3ba2
NB
85492001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
8550
825b6926
ZW
8551 * toplev.c (main): Call the front-end specific post_options
8552 hook if one is given.
8553 * toplev.h (struct_lang_hooks, lang_hooks): New.
8554 * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
8555 for the C front end.
8556 * cp/decl2.c (cxx_post_options, lang_hooks): Implement
8557 lang_hooks for the C++ front end.
8558 * objc/objc-act.c (objc_post_options, lang_hooks): Implement
8559 lang_hooks for the ObjC front end.
8560 * f/com.c (lang_hooks): Hooks for the Fortran front end.
8561 * java/lang.c (lang_hooks): Hooks for the Java front end.
cd2a3ba2 8562
65289a3a
NB
85632001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
8564
825b6926
ZW
8565 * c-lex.c (init_c_lex): Request #define / #undef callbacks
8566 for verbose DWARF[2] debugging.
8567 (cb_define, cb_undef): The new callbacks.
8568 * toplev.h (debug_define, debug_undef): Make const correct.
8569 * toplev.c (debug_define, debug_undef): Similarly. Do not
8570 perform the verbosity tests here anymore.
65289a3a 8571
f759eb8b
AO
85722001-01-07 Alexandre Oliva <aoliva@redhat.com>
8573
8574 * reload.c (subst_reloads): Take INSN argument. When
8575 replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
8576 * reload.h (subst_reloads): Adjust prototype.
8577 * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
8578 * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
8579 present in JUMP_INSNs and copy them to JUMP_LABEL.
8580 * flow.c (find_label_refs, find_basic_blocks_1): Skip
8581 JUMP_INSNs and insns with REG_LABELs that are followed by
8582 JUMP_INSNs with the same REG_LABEL.
8583 * sched-rgn.c (is_cfg_nonregular): Likewise.
8584 * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
8585 note is available.
8586 * unroll.c (unroll_loop): Look for REG_LABEL notes in
8587 JUMP_INSNs too.
8588 * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
8589
587f56c2
RH
85902001-01-06 Richard Henderson <rth@redhat.com>
8591
8592 * loop.c (scan_loop): Use xcalloc for the regs array.
8593 (load_mems_and_recount_loop_regs_set): Zero the new memory
8594 received from xrealloc.
8595
fa6f74f6
NB
85962001-01-06 Neil Booth <neil@daikokuya.demon.co.uk>
8597
8598 * mkdeps.c (deps_add_dep): Fix vector re-allocation.
8599
ea55fa7a
R
8600Sat Jan 6 00:09:34 2001 J"orn Rennecke <amylaar@redhat.com>
8601
8602 * integrate.c (copy_rtx_and_substitute): When copying
8603 an ignored return value, strip REG_FUNCTION_VALUE_P.
8604
c804f3f8
MH
86052001-01-06 Michael Hayes <mhayes@redhat.com>
8606
8607 * loop.c (debug_biv, debug_giv): New.
8608 (loop_biv_dump): Break out from ...
8609 (record_biv): ... here.
8610 (loop_giv_dump): Break out from ...
8611 (record_giv): ... here.
8612 (loop_bivs_check): Use print_simple_rtl.
8613 * unroll.c (loop_iterations): Use print_simple_rtl.
8614
d492b096
JDA
86152000-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
8616
8617 * pa.md (return, return_internal): Modify patterns to prevent regrename
8618 mucking with the return pointer.
8619
f7d2b0ed
RH
86202001-01-05 Richard Henderson <rth@redhat.com>
8621
8622 * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
8623
0426e049
NC
8624Fri Jan 5 16:34:18 2001 Nick Clifton <nickc@redhat.com>
8625
8626 * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
8627 version supplied by Matteo Frigo.
8628
f7114e17
NB
86292001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
8630
825b6926
ZW
8631 * cpp.texi: Update for -MQ.
8632 * cppinit.c (cpp_create_reader): Always create pfile->deps.
8633 (cpp_cleanup): Always free pfile->deps.
8634 (initialize_dependency_output): Don't create pfile->deps.
8635 (cpp_handle_option): Similarly.
8636 (OPT_MQ): New.
8637 * gcc.c (cpp_options): Handle -MQ.
8638 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
8639 * mkdeps.c (base_name): Remove.
8640 (deps_init): Don't allocate vector space until it's needed.
8641 (deps_free): Only free vectors if allocated.
8642 (deps_add_target, deps_add_dep): Update for initial allocation.
8643 (deps_add_default_target): Don't strip to the base_name.
f7114e17 8644
a64761a3
DD
86452001-01-05 DJ Delorie <dj@redhat.com>
8646
8647 * config/v850/v850.h (RETURN_ADDR_RTX): Define.
8648 (INIT_EXPANDERS): Define.
8649
8650 * config/v850/v850.c (struct machine_function): Define.
8651 (v850_save_machine_status): New function.
8652 (v850_restore_machine_status): New function.
8653 (v850_return_addr): New function.
8654 (v850_init_expanders): New function.
8655
8656 * config/v850/v850-protos.h: Add prototypes for v850_return_addr
8657 and v850_init_expanders.
825b6926 8658
f4cdc368
ZW
86592001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
8660
8661 * cpplib.h (struct cpp_reader): Add help_only field.
8662 * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
8663 (cpp_handle_option): Set pfile->help_only if we see -h,
8664 --help, -target-help, or --version. Print version string but
8665 do not set help_only if we see -v or -version. Make text
8666 printed by -v match that printed by (-)-version.
8667
8668 * cppmain.c (main): Exit after option parsing if
8669 pfile->help_only is true.
8670
8671 * toplev.c (independent_decode_option): Call print_version,
8672 then exit, if we see --version (but not -version).
8673 (print_version): Split lengthy message into two lines.
8674
3326b760
NC
86752001-01-05 Nick Clifton <nickc@redhat.com>
8676
8677 * config/v850/v850.c (v850_encode_data_area): Use alloca to create
8678 temporary string for initialisation before calling ggc_alloc_string.
8679
75b7557d
MH
86802001-01-06 Michael Hayes <mhayes@redhat.com>
8681
8682 * rtl.h (print_simple_rtl): New.
8683 * print-rtl.c (print_simple_rtl): New.
8684 (flag_simple): New.
8685 (print_rtx): Disable printing of flags and modes, etc.,
825b6926 8686 if `flag_simple` nonzero.
75b7557d 8687
b05467dc
ZW
86882001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
8689
8690 * function.c (fixup_var_refs): Use push_to_full_sequence where
8691 possible.
8692
b883f801
MM
86932001-01-05 Michael Meissner <meissner@redhat.com>
8694
8695 * flags.h (flag_reorder_blocks): Add declaration.
8696 (flag_rename_block): Ditto.
8697
cc1fe44f
DD
86982001-01-05 DJ Delorie <dj@redhat.com>
8699
8700 * function.c (reorder_blocks): Make sure the flags are all reset
8701 before using them to mark blocks, else a second invocation will
8702 corrupt the block chain.
8703 (reorder_blocks_0): New, resets the flags.
8704
8b03b984
R
8705Fri Jan 5 20:34:06 2001 J"orn Rennecke <amylaar@redhat.com>
8706
8707 * cse.c (find_comparison_args): Stop if the argument is known to
8708 be constant.
8709
18a7c2a7
AO
87102001-01-05 Alexandre Oliva <aoliva@redhat.com>
8711
8712 * config/sh/sh.md (movdf): When splitting load into pair of
8713 registers, don't clobber the register used in the address too
8714 early.
8715
fcbd8ef2
JO
87162001-01-05 Jeffrey Oldham <oldham@codesourcery.com>
8717
8718 * varasm.c (mark_constant_pool): Improve initial comments.
8719 (mark_constants): Move marking of constants to mark_constant.
8720 (mark_constant): New function to recursively mark all constants
8721 referred to by a constant.
8722
ebb0cdf3
CM
87232001-01-05 Catherine Moore <clm@redhat.com>
8724
8725 * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
8726
3b4e6a16
PE
87272001-01-05 Phil Edwards <pme@sources.redhat.com>
8728
8729 * cp/lang-options.h: Bring comment in line with reality.
8730 * f/lang-options.h: Likewise.
8731 * java/lang-options.h: Likewise.
8732 * objc/lang-options.h: Likewise.
8733 * ch/lang-options.h: Likewise.
8734 * f/g77.texi: And update the manual.
8735
dcfb1a36
MM
87362001-01-05 Marek Michalkiewicz <marekm@linux.org.pl>
8737 Denis Chertykov <denisc@overta.ru>
8738
8739 * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
8740 * config/avr/avr.c (avr_peep2_scratch_safe): New function.
8741 * config/avr/avr.md (all peepholes that request a scratch register):
8742 Call it, FAIL the peephole if not safe (in interrupt functions).
8743
cef3d50c
MM
87442001-01-05 Mark Mitchell <mark@codesourcery.com>
8745
8746 * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
8747
341e3d11
JM
87482001-01-05 Joseph S. Myers <jsm28@cam.ac.uk>
8749
8750 * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
8751 Define.
8752 * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
8753 BUILT_IN_CREAL and BUILT_IN_CIMAG.
8754 * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
8755 conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
8756 (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
8757 BUILT_IN_CIMAG.
8758 * extend.texi: Document these builtins.
8759
604bb87d
DB
87602001-01-05 Daniel Berlin <dberlin@redhat.com>
8761
8762 * c-common.c (lang_get_alias_set): Say we know nothing of
825b6926 8763 VECTOR_TYPE aliasing.
604bb87d
DB
8764
8765 * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
8766
15fe1a7e
BK
87672001-01-05 Bruce Korb <bkorb@gnu.org>
8768
8769 * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
8770 their x* equivalent versions for atexit-less systems
8771 * fixinc/fixincl.c(main): do not return from main() on atexit-less
8772 systems (or any other system any more).
8773
b0888988
RE
87742001-01-05 Richard Earnshaw <rearnsha@arm.com>
8775
8776 * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
8777 output operands. Use arm_hard_register_operand for operand 4.
8778 (stmsi_postinc): Similarly.
8779 (ldmsi): Use arm_hard_register_operand for opernand 2.
8780 (stmsi): Similarly.
8781 * arm.c (arm_hard_register_operand): New function.
8782 * arm-protos.h (arm_hard_register_operand): Prototype it.
8783
8784 * arm.h (HARD_REGNO_RENAME_OK): Define.
8785
90a74703
JH
8786Fri Jan 5 16:29:49 MET 2001 Jan Hubicka <jh@suse.cz>
8787
8788 * simplify-rtx.c (cfc_args): add "unordered" field.
8789 (check_fold_consts): Set unordered field.
8790 (simplify_relational_operation): Simplify the unordered
8791 comparisons.
8792
8793 * reg-stack.c (swap_rtx_condition): Ensure that the transformation
8794 is valid.
8795
8796 * emit-rtl.c (try_split): Fix code to mark labels.
8797 * jump.c (mark_jump_label): Make global.
8798 * rtl.h (mark_jump_label): Declare.
8799
8800 * predict.c (estimate_probability): Handle unordred comparisons.
8801
a5a4ce3c
NB
88022001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
8803
825b6926
ZW
8804 * cpp.texi: Update for -MP. Clarify behaviour of -MT.
8805 * cppinit.c (initialize_dependency_output): Update.
8806 (cpp_finish): Output dummy targets for -MP.
8807 (OPT_MP): New.
8808 (cpp_handle_option): Handle -MP. Don't quote -MT options.
8809 * cpplib.h (struct cpp_options): Add deps_phony_targets.
8810 * gcc.c (cpp_options): Update to handle -MP.
8811 * mkdeps.c (deps_add_target, deps_add_default_target): Update
8812 to quote only the default target.
8813 (deps_phony_targets): Insert a preceding newline. Rename from
8814 deps_dummy_targets for consistency.
8815 * mkdeps.h: Update
a5a4ce3c 8816
97fc4caf
AO
88172001-01-05 Alexandre Oliva <aoliva@redhat.com>
8818
8819 * calls.c (emit_library_call_value_1): Support
8820 INIT_CUMULATIVE_LIBCALL_ARGS.
8821 * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
8822
ffc5c6a9
RH
88232001-01-04 Richard Henderson <rth@redhat.com>
8824
8825 * c-decl.c (finish_struct): Detect flexible array members
8826 used in an inappropriate context.
8827 * c-typeck.c (really_start_incremental_init): Special case
8828 constructor_max_index for zero length arrays.
8829 (pop_init_level): Allow initialization of flexible array
8830 members. Deprecate initialization of zero length arrays.
8831 Don't issue missing initializer warning for flexible array
8832 members or zero length arrays.
8833 (process_init_element): Don't dereference null DECL_SIZE.
8834 * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
8835 Don't abort for empty constructors. Use size_binop
825b6926 8836 (output_constructor): Add commentary regarding zero length
ffc5c6a9
RH
8837 array futures. Abort if we try to initialize an array of
8838 unspecified length with a non-empty constructor in the middle
8839 of a structure.
8840
8841 * extend.texi (Zero Length): Update and clarify documentation
8842 on static initialization.
8843
69f6e760
MH
88442001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8845
8846 * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
8847 with more than 32767 words of local storage.
8848
06dd70c6
MH
88492001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8850
8851 * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
8852 for 'abs', 'labs', and 'fabs'.
8853 (c4x_expand_builtin): Likewise.
8854 * config/c4x/c4x.h (enum c4x_builtins): Likewise.
8855
99e87c10
AO
88562001-01-05 Alexandre Oliva <aoliva@redhat.com>
8857
8858 * config/sh/sh.md (prget, prset): New insn types.
8859 (return delay slot): Dont' allow prset.
8860 (call, sfunc delay slot): Don't allow prget.
8861 (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
8862 for prset and prget.
8863
576d0b54 88642001-01-05 Michael Hayes <mhayes@redhat.com>
825b6926 8865
f1d4ac80
MH
8866 * loop.h (struct loop_reg): New.
8867 (struct loop_regs): Change to use array of `struct loop_reg'.
8868 * loop.c: Replace assortment of varrays with single regs array.
8869 (count_one_set): Delete may_not_move array argument
8870 and use regs array instead. All caller's changed.
8871 (count_loop_regs_set): Delete may_not_move and single_usage
8872 arguments and use regs array instead. All caller's changed.
8873 (find_single_use_in_loop): Replace usage array argument with pointer
8874 to regs structure. All caller's changed.
8875 (loop_optimize): Delete `moved_once' array.
8876
88772001-01-05 Michael Hayes <mhayes@redhat.com>
825b6926 8878
576d0b54
MH
8879 * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
8880 Use it instead of loop_info->has_call for scanning loop mems.
8881 (check_dbra_loop): Replace loop_info->has_call test with
8882 loop_info->has_nonconst_call.
8883
616af7ee
MH
88842000-01-04 Matthew Hiller <hiller@redhat.com>
8885
8886 * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
8887 for TARGET_SH3E.
8888
32812a40
JM
88892001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
8890
8891 * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
8892 use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
8893
eaa7c03f
JM
88942001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
8895
8896 * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
8897 (flag_short_double, flag_short_wchar): Define.
8898 (c_common_nodes_and_builtins): Create many tree nodes shared
8899 between C and C++ here instead of in cp/decl.c and ...
8900 * c-decl.c (init_decl_processing): ... here.
8901 (SIZE_TYPE, WCHAR_TYPE): Don't define.
8902 (flag_short_double, flag_short_wchar): Don't define.
8903 (record_builtin_type): New function.
8904 (build_void_list_node): New function.
8905 * c-common.h (flag_short_double, flag_short_wchar,
8906 record_builtin_type, build_void_list_node): Declare.
8907
e2a5f96b
R
8908Thu Jan 4 21:09:47 2001 J"orn Rennecke <amylaar@redhat.com>
8909
8910 * integrate.c (expand_inline_function): Don't put a virtual
8911 register into the reg map.
8912
8913 * function.c (fixup_var_refs_1): If force_operand didn't put
8914 the address into the target, move it there.
8915
2be510b8
MM
89162001-01-04 Mark Mitchell <mark@codesourcery.com>
8917
8918 Special-case tree_decl/tree_list allocations.
8919 * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
8920 (OBJECT_SIZE): New macro.
8921 (NUM_EXTRA_ORDER): Likewise.
8922 (extra_order_size_table): New variable.
8923 (NUM_ORDERS): New macro.
8924 (objects_per_page_table): New variable.
8925 (object_size_table): New variable.
8926 (G.pages): Use NUM_ORDERS to bound the array.
8927 (G.page_tails): Likewise.
8928 (DIV_ROUND_UP): Remove.
8929 (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
8930 (alloc_page): Use OBJECT_SIZE.
8931 (size_lookup): Don't make it const.
8932 (ggc_alloc): Use OBJECT_SIZE.
8933 (ggc_set_mark): Likewise.
8934 (ggc_get_size): Likewise.
8935 (init_ggc): Set up the object_size_table, objects_per_page_table,
8936 and adjust size_lookup.
8937 (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
8938 (ggc_pop_context): Use NUM_ORDERS.
8939 (clear_marks): Likewise.
8940 (sweep_pages): Likewise.
8941 (poison_pages): Likewise.
8942 (ggc_print_statistics): Use OBJECT_SIZE.
8943
bf1aaf0a
RK
8944Thu Jan 4 15:54:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8945
8946 * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
8947 Only call array_size_for_constructor if last field and array type
8948 with no upper bound.
8949
ceebdb09
PB
89502001-01-04 Philip Blundell <philb@gnu.org>
8951
8952 * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
8953 from bit 31 downwards, if this requires no more insns.
8954 (count_insns_for_constant): New helper function for above.
8955
1fd4f141
AO
89562001-01-04 Alexandre Oliva <aoliva@redhat.com>
8957
8958 * gencodes.c (output_predicate_decls): Remove empty initializer.
8959
3af4c257
MM
89602001-01-04 Mark Mitchell <mark@codesourcery.com>
8961
8962 * tree.c (copy_node): Remove documentation about obstacks.
8963 (buidl1): Check that nobody tries to build 2-argument nodes this
8964 way.
8965
30472f46
KG
89662001-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8967
a41d0855
KG
8968 * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
8969 fp_high_losum_p.
8970
30472f46
KG
8971 * gencodes.c (output_predicate_decls): Fill empty initializer
8972 braces.
8973
c3843cea
JJ
89742001-01-04 Jakub Jelinek <jakub@redhat.com>
8975
8976 * tradcpp.c (deps_file, print_deps_missing_files): New variables.
8977 (main): Handle -MG, -MD, -MMD. Bail out if -MG is given without -M
8978 or -MM.
8979 (do_include): Handle missing headers like cpp0.
8980 * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
8981 paths with first include pathname. Don't strcat to uninitialized
8982 string.
8983
f4d578da
BS
89842001-01-04 Bernd Schmidt <bernds@redhat.com>
8985
8986 * regrename.c (regrename_optimize): Don't rename from frame pointer
8987 if frame_pointer_needed.
8988 (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
8989 * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
8990 (ia64_reorg): Use it instead of scheduling if ! optimize.
8991 (errata_emit_nops): Properly call asm_noperands.
8992 (ia64_sched_reorder): Finish cycle if we see an asm.
8993 (ia64_variable_issue): Clear scheduling state after asms.
8994
03b9ab42
NB
89952001-01-04 Neil Booth <neil@daikokuya.demon.co.uk>
8996
825b6926
ZW
8997 * cpp.texi: Update for -MT.
8998 * cppinit.c (initialize_dependency_output): Add a default
8999 target if none has been given already.
9000 (no_tgt, OPT_MT): New.
9001 (cpp_handle_option): Handle -MT. Update -M etc.
9002 * cpplib.h (struct cpp_options): Remove deps_target.
9003 * gcc.c (cpp_options): Handle -MT.
9004 * mkdeps.c (struct deps): Move from mkdeps.h.
9005 (deps_calc_target): Rename deps_add_default_target. Add a
9006 default target if none has been specified already.
9007 * mkdeps.h (struct deps): Move to mkdeps.c.
9008 (deps_calc_target): Rename deps_add_default_target.
03b9ab42 9009
584ef5fe
RH
90102000-01-03 Richard Henderson <rth@redhat.com>
9011
9012 * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
9013 Remove dead code.
9014 * c-typeck.c (push_init_level): Move checks for flexible array
9015 members and zero length arrays ...
9016 (pop_init_level): ... here. Silently discard empty initializations.
9017 Remove dead code.
9018 * varasm.c (output_constructor): Update for sizeof change to
9019 zero-length arrays.
9020
9021 * extend.texi (Zero Length): Clarify semantics.
9022
04d430b8
AO
90232001-01-03 Alexandre Oliva <aoliva@redhat.com>
9024
9025 * configure.in (tm.h): Include isns-codes.h last.
9026 * configure: Rebuilt.
9027
e55a9a6e
RH
90282001-01-03 Richard Henderson <rth@redhat.com>
9029
9030 * config/alpha/alpha.md (addvsi3, addvdi3): New.
9031 (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
825b6926 9032
fa5db828
FS
90332001-01-03 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9034
9035 * tradcpp.c (main): Make sure finclude() is called with a valid
9036 indepth value while handling -include.
9037
975d393a
AO
90382001-01-03 Alexandre Oliva <aoliva@redhat.com>
9039
9040 * gencodes.c (output_predicate_decls): New function.
9041 (main): Call it.
9042 * machmode.h (GET_MODE_MASK): Arrange for it to be defined
9043 even if it is not the first time machmode.h is #included.
9044 * config/sh/sh.c (fpul_operand): Declare MODE argument.
9045 * tm.texi (PREDICATE_CODES): Document predicate declarations.
9046 * gcc.texi (Copyright): Added 2001.
9047
03dc0325
JM
90482001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
9049
9050 * c-common.c (c_common_lang_init): New function. Warn if format
9051 warning options which only have effects when used with -Wformat
9052 are used without -Wformat.
9053 * c-common.h (c_common_lang_init): Declare.
9054 * c-lang.c (lang_init): Call c_common_lang_init.
9055 * objc/objc-act.c (lang_init): Call c_common_lang_init.
9056
955be633
JM
90572001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
9058
9059 * configure.in: Check for the mktemp command.
9060 * configure: Regenerate.
9061 * gccbug.in: Use a separate temporary file $TEMP0 for one use of
9062 $TEMP. Create temporary files with mktemp, if available at
9063 configure time; otherwise use set -C. Remove temporary files
9064 before exit.
9065
fd939e46
JM
90662001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
9067
9068 * configure.in: Require at least texinfo 4.0. Check for whether
9069 Pod::Man is sufficiently recent to regenerate GCC manpages.
9070 * configure: Regenerate.
9071 * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
9072 on #!.
9073 (GENERATED_MANPAGES): Define.
9074 (generated-manpages): New target. Depend on cpp.1 as well as
9075 gcov.1.
9076 (install-man): Depend on $(GENERATED_MANPAGES) (defined by
9077 configure to generated-manpages or empty) rather than on the
9078 manpages directly. Remove execute permission from installed
9079 gcov.1 as well as cpp.1.
9080 * cpp.1, gcov.1: Regenerate.
9081
819c1488
KG
90822001-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9083
9084 * builtins.c (expand_builtin_strncmp): Use host_integerp and
9085 tree_low_cst. Allow using cmpstrsi in more cases.
9086
f07d22aa
RK
9087Wed Jan 3 10:48:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9088
9089 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
9090 sized types.
9091
7ccb4206
AO
9092Wed Jan 3 12:22:32 2001 Alexandre Oliva <aoliva@redhat.com>
9093
9094 * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
9095 * Makefile.in (HOST_CFLAGS): Mention build-make.
9096
a338321e
RK
9097Wed Jan 3 08:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9098
9099 * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
9100 as JUMP_INSN.
9101
432fd734
BS
91022001-01-01 Bernd Schmidt <bernds@redhat.com>
9103
9104 * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
9105 a REG rtx.
9106
2be28ee2
BS
9107 * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All
9108 callers changed.
9109
713f41f9
BS
9110 * alias.c (throughout): Use ORIGINAL_REGNO when accessing
9111 reg_base_value and reg_known_value arrays.
9112 (init_alias_analysis): Add more cases to detect known values.
9113 * sched-deps.c (deps_may_trap_p): New function.
9114 (sched_analyze_2): Use it.
9115
8f8d8d6e
AO
91162001-01-03 Alexandre Oliva <aoliva@redhat.com>
9117
9118 * combine.c (simplify_shift_const): Even if we're sign-extracting,
9119 don't discard an ASHIFTRT if we're shifting in a wider mode.
9120
232a132f
JDA
91212000-01-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
9122
9123 * toplev.c (rest_of_compilation): Don't print basic block information
9124 when CFG isn't up to date.
9125
19723541
ME
91262001-01-02 Mark Elbrecht <snowball3@bigfoot.com>
9127
9128 * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
9129 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
9130 (UNALIGNED_SHORT_ASM_OP): Define.
9131 (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
9132
55560b9d
MM
91332001-01-02 Mark Mitchell <mark@codesourcery.com>
9134
9135 * fold-const.c (fold_convert): Fix typo.
9136
4f78b9a8
RH
91372001-01-02 Richard Henderson <rth@redhat.com>
9138
9139 * c-common.h (ASM_INPUT_P): New.
9140 * c-parse.in (asm): Set it when needed.
825b6926 9141 * c-semantics.c (genrtl_asm_stmt): Test it instead of the
4f78b9a8
RH
9142 existance of an operand.
9143
e2134eea
JH
9144Tue Jan 2 20:27:07 MET 2001 Jan Hubicka <jh@suse.cz>
9145
9146 * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
9147 (dwarf2out_frame_debug_expr): Likewise.
9148 (mem_loc_descriptor): Handle PRE and POST_MODIFY.
9149
2b589241
JH
9150Tue Jan 2 20:21:31 MET 2001 Jan Hubicka <jh@suse.cz>
9151
9152 * i386.c (ix86_split_to_parts): Return number of part required;
9153 handle TFmodes.
9154 (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
9155 TFmodes.
9156 (ix86_split_long_move): Use number of part returned
9157 by ix86_split_to_parts
9158 * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
9159 New macros.
9160 (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
9161 (LONG_DOUBLE_TYPE_SIZE): Change from constant.
9162 (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
9163 (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
9164 (ALIGN_MODE_128): Add TFmode.
9165 (IS_STACK_MODE): Likewise.
9166 (HARD_REGNO_NREGS): TFmode needs 3 registers.
9167 (HARD_REGNO_OK): Support TFmodes.
9168 (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
9169 * i386.md (scheduler definitions): Use memory operand to determine
9170 fst/fld instructions; use mode attribute to determine real mode of
9171 the instruction.
9172 (*tf): New patterns, expanders and splitters; based on XFmode patterns.
9173 * invoke.texi (128bit-long-double, 96bit-long-double): Document.
9174
330aa9a3
MM
91752001-01-02 Mark Mitchell <mark@codesourcery.com>
9176
9177 * tree.def (TRUTH_NOT_EXPR): Improve documentation.
9178
e0339ef7
RK
9179Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
9180
9181 * expr.c (store_constructor_field): Update ALIGN before calling
9182 store_constructor.
9183
d07bec95
JO
91842001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
9185
9186 * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
9187 host_integerp.
9188
3719d27b
JO
91892001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
9190
9191 * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
9192 incomplete type.
9193
6d1c15cc
RK
9194Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
9195
9196 * c-decl.c (start_function): Don't warn on third parameter to main.
9197
16b97540
KG
91982001-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9199
9200 * tsystem.h: Define HAVE_DECL_GETOPT.
9201
8515dc81
PB
92022001-01-02 Philip Blundell <pb@futuretv.com>
9203
825b6926 9204 * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
8515dc81
PB
9205 of input operand.
9206
6f85e02b
RH
92072001-01-02 Richard Henderson <rth@redhat.com>
9208
9209 * alpha.md (*ze_and_ne): Duplicate insn condition to split.
9210
21c7361e
AJ
92112001-01-02 Andreas Jaeger <aj@suse.de>
9212
9213 * c-decl.c (c_decode_option): Remove support of
9214 -Wmissing-noreturn.
9215
9216 * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
9217 (W_options): Add -Wmissing-noreturn here.
9218
9219 * flow.c: Define lang_missing_noreturn_ok_p.
9220 (check_function_return_warnings): Use it.
9221
9222 * c-common.h: Declare lang_missing_noreturn_ok_p.
9223
9224 * c-lang.c (c_missing_noreturn_ok_p): New function.
9225 (lang_init): Set lang_missing_noreturn_ok_p.
9226
9227 * invoke.texi (Warning Options): Document this.
9228
5c25e11d
PE
92292000-12-27 Phil Edwards <pme@sources.redhat.com>
9230
9231 * extend.texi (C++ Extensions): New node for C++ attributes;
20f9202d 9232 describe init_priority and com_interface.
5c25e11d
PE
9233 * invoke.texi: Remove -finit-priority as it now has zero effect.
9234 * install.texi: Fix xref syntax.
9235 * md.texi: Likewise.
9236
d1608933
RK
9237Mon Jan 1 21:28:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9238
e428b937
RK
9239 * config.gcc (sparc64-wrs-vxworks*): New case.
9240 * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
9241
3276910d
RK
9242 * config/sparc/sparc.c (sparc_override_options): Do support different
9243 pointer and architecture size.
9244 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
9245 (POINTERS_EXTEND_UNSIGNED): Define.
9246 (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
9247 (FUNCTION_MODE): Define to be Pmode.
9248 * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
9249
d1608933
RK
9250 * function.c (expand_function_end): Properly handle DECL_RESULT
9251 and copy when ptr_mode != Pmode.
9252 * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
9253
c2e42aab
KG
92542001-01-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9255
9256 * c-common.c (c_common_nodes_and_builtins): Set prototype
9257 parameters for __builtin_fputs, __builtin_fputc and
9258 __builtin_fwrite. Don't declare plain fputc as a builtin.
9259
5b1ef594
JDA
92602001-01-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
9261
825b6926
ZW
9262 * loop.c (add_label_notes): Increment the label usage count when
9263 a note is added to an insn which refers to a CODE_LABEL.
9264 * gcse.c (add_label_notes): Likewise.
5b1ef594 9265
021d7b26
AJ
92662001-01-01 Andreas Jaeger <aj@suse.de>
9267
9268 * loop.c (scan_loop): Use xmalloc to allocate movables.
9269
cf011243
AO
92702001-01-01 Alexandre Oliva <aoliva@redhat.com>
9271
9272 * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
9273 * reload.c (REGISTER_MOVE_COST): Likewise. Adjust all callers.
9274 * reload1.c (REGISTER_MOVE_COST): Likewise.
9275 * regclass.c (REGISTER_MOVE_COST): Likewise.
9276 (move_cost, may_move_in_cost, may_move_out_cost): Add mode
9277 dimension. Adjust all users.
9278 (init_reg_sets_1): Iterate on all modes.
9279 * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
9280 * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
9281 * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
9282 * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
9283 * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
9284 * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
9285 * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
9286 * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
9287 * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
9288 * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
9289 * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
9290 * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
9291 * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
9292 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
9293 * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
9294 * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
9295 * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
9296 * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
9297 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
9298 * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
9299 * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
9300 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
9301 * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
9302 * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
9303 * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
9304 * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
9305 * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
9306
e38fe8e0
BS
93072001-01-01 Bernd Schmidt <bernds@redhat.com>
9308
9309 * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
9310 arg VARIES_P. Call it with extra arg.
9311 (true_dependence): Likewise.
9312 * rtl.h (rtx_addr_can_trap_p): Declare.
9313 (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
9314 prototypes.
9315 * rtlanal.c (rtx_addr_can_trap_p): No longer static.
9316 (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
9317 pic offset table register if it's zero. All callers changed.
9318 (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
9319
7a2bf7af
RK
9320Mon Jan 1 07:38:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9321
7d797311
RK
9322 * explow.c (convert_memory_address, case SYMBOL_REF): Copy
9323 STRING_POOL_ADDRESS_P.
9324
4746e0fe
RK
9325 * config/sparc/sparc.c (input_operand): Properly test for short op.
9326
fbd68e5d
RK
9327 * config.gcc (sparc-*-elf): Include sparc/sol2.h.
9328 (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
9329 (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
9330 * config/sparc/elf.h: No longer include sol2.h.
9331 * config/sparc/lifeelf.h: No longer include sparc/elf.h.
9332 * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
9333
7a2bf7af
RK
9334 * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
9335
14be28e5
MH
93362001-01-01 Michael Hayes <mhayes@redhat.com>
9337
86fee241
MH
9338 * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
9339 (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
9340 (record_initial): Likewise.
9341 * unroll.c (copy_loop_body, loop_iterations): Likewise.
9342 (remap_split_bivs): Likewise.
9343
21c7361e 93442001-01-01 Michael Hayes <mhayes@redhat.com>
86fee241 9345
b2735d9a
MH
9346 * loop.c (loop_ivs_free): New function.
9347 (strength_reduce): Break out from...
9348
93492001-01-01 Michael Hayes <mhayes@redhat.com>
21c7361e 9350
14be28e5
MH
9351 * loop.h (struct iv): New.
9352 (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
9353 (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
9354 'reg_biv_class' fields with 'regs' and 'n_regs'.
9355 (struct ivs): Rename 'loop_iv_list' field to 'list'.
9356 * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
9357 * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
9358
1d2215fe
AO
93592000-12-31 Alexandre Oliva <aoliva@redhat.com>
9360
9361 * resource.c (mark_referenced_resources): Abort() before
9362 attempting to mark a pseudo register.
9363 (mark_set_resources): Likewise.
9364
8b634749
MH
93652001-01-01 Michael Hayes <mhayes@redhat.com>
9366
9367 * loop.h (REG_IV_CLASS): New accessor macro.
9368 * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
9369 * unroll.c (REG_IV_CLASS): Likewise.
21c7361e 9370
38fd12ea 9371See ChangeLog.4 for earlier changes.
This page took 1.269676 seconds and 5 git commands to generate.