jump.c (jump_optimize_1): When we delete a conditional jump preceeding a non-conditio...
[gcc.git] / gcc / ChangeLog
1 2001-02-14 Richard Henderson <rth@redhat.com>
2 DJ Delorie <dj@redhat.com>
3
4 * jump.c (jump_optimize_1): When we delete a conditional jump
5 preceeding a non-conditional jump to effectively the same place,
6 make sure that the combined jump skips any clobber insns between
7 the two labels.
8
9 2001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
10
11 * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
12
13 2001-02-14 Mark Mitchell <mark@codesourcery.com>
14
15 * Makefile.in (toplev.o): Depend on params.h.
16 (intergate.o): Likewise.
17 (params.o): New target.
18 * flags.h (inline_max_insns): Remove.
19 * integrate.c: Include params.h.
20 Use MAX_INLINE_INSNS instead of inline_max_insns.
21 * params.c: New file.
22 * params.h: Likewise.
23 * params.def: Likewise.
24 * toplev.c: Include params.h.
25 (lang_independent_params): New variable.
26 (decode_f_option): Use the param machinery instead of setting
27 max_inline_insns.
28 (independent_decode_option): Handle "--param name=value".
29 (main): Register language-independent parameters.
30
31 Wed Feb 14 11:13:45 CET 2001 Jan Hubicka <jh@suse.cz>
32
33 * i386.md (pushsf, pushdf_nointeger): Fix constraint.
34
35 2001-02-14 Richard Henderson <rth@redhat.com>
36
37 * regclass.c (init_reg_sets_1): Revert last two changes.
38
39 2001-02-14 Jakub Jelinek <jakub@redhat.com>
40
41 * stor-layout.c (is_pending_size, put_pending_size): New functions.
42 (variable_size): Call put_pending_size.
43 * tree.h (is_pending_size, put_pending_size): Add prototypes.
44 * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
45 sizes list, put newly created SAVE_EXPR there as well.
46
47 2001-02-14 Jakub Jelinek <jakub@redhat.com>
48
49 * config/ia64/ia64.c (last_group): Only 2 entries are needed.
50 (errata_find_address_regs): load_group has only 2 entries.
51 (errata_emit_nops): Likewise. shladd is not problematic.
52 Clear last_group if nop was emitted.
53 (fixup_errata): load_group has only 2 entries.
54 Optimize.
55
56 2001-02-14 Neil Booth <neil@daikokuya.demon.co.uk>
57
58 * c-lex.c (lex_number): Only warn traditionally for U suffix
59 outside system macros.
60 * cppexp.c (parse_number): Similarly.
61 * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
62 * cppmacro.c (struct cpp_macro): New member node.
63 (parse_args): Only warn about missing rest args if not
64 a system macro.
65 (funlike_invocation_p): Similarly for uninvoked funlike macros.
66 (cpp_sys_objmacro_p): New.
67 (_cpp_create_definition): Store the node with the macro defn.
68 Remember if the macro is defined in a system header.
69
70 2001-02-13 DJ Delorie <dj@redhat.com>
71
72 * configure.in (check_languages): determine languages to check
73 * Makefile.in (check-c++): alias for check-g++
74 (check-f77): alias for check-g77
75 (CHECK_TARGETS): depend on configured languages
76
77 Wed Feb 14 01:13:59 CET 2001 Jan Hubicka <jh@suse.cz>
78
79 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
80 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
81 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
82 (sqrtextendsfdf2): Disable for SSE2.
83
84 Wed Feb 14 00:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
85
86 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
87 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
88 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
89 (sqrtextendsfdf2): Disable for SSE2.
90
91 Wed Feb 14 00:11:20 CET 2001 Jan Hubicka <jh@suse.cz>
92
93 * i386.md (movsfcc_1): Support integer cmove instruction.
94 (movdfcc_1): Likewise; new splitter.
95
96 Tue Feb 13 23:19:27 CET 2001 Jan Hubicka <jh@suse.cz>
97
98 * i386.c (output_fp_compare): Support SSE.
99 (prepare_fp_compare_args): SSE comparisons always support memory.
100 * i386.h (TARGET_CMOVE): SSE imply cmove.
101 * i386.md (cmp?f2): Enable for SSE too.
102 (cmpfp_i*): Support SSE.
103 (cmpfp_i_sse): New.
104 (cmpfp_i_sse_only): New.
105 (s*, b* fp expanters): Enable for SSE too.
106 (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
107 New patterns.
108
109 Tue Feb 13 23:05:42 CET 2001 Jan Hubicka <jh@suse.cz>
110
111 * regclass.c (init_reg_sets_1): Silence warning.
112
113 Tue Feb 13 22:03:07 CET 2001 Jan Hubicka <jh@suse.cz>
114
115 * i386.md (sqrt?f2): Change to expander.
116 (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
117
118 Tue Feb 13 15:42:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
119
120 * rtlanal.c (find_reg_equal_equiv_note): New function.
121 * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
122 (simplify_gen_relational, simplify_replace_rtx): Likewise.
123 * rtl.h: Add declarations for above functions.
124
125 Tue Feb 13 21:09:11 CET 2001 Jan Hubicka <jh@suse.cz>
126
127 * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
128 conditionals.
129 * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
130 * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
131 * flow.c (mark_regs_live_at_end): Likewise.
132 (calculate_global_regs_live): Likewise.
133 * gcse.c (compute_hash_table): Likewise.
134 (compute_kill_rd): Likewise.
135 * resource.c (mark_target_live_regs): Likewise.
136 * rtl.h (INVALID_REGNUM): New macro.
137
138 Tue Feb 13 20:59:22 CET 2001 Jan Hubicka <jh@suse.cz>
139
140 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
141
142 Tue Feb 13 16:32:20 CET 2001 Jan Hubicka <jh@suse.cz>
143
144 * i386.md (fixsfsi2, fixdfdi2): Force operand to register
145 for SSE.
146
147 Tue Feb 13 14:53:16 CET 2001 Jan Hubicka <jh@suse.cz>
148
149 * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
150 too.
151 (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
152 (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
153 (fop_sf_1_sse, fop_df_1_sse): New patterns
154 (fop_*): Disable float_extend and float patterns for SSE compilation.
155 * i386.c (output_387_binary_op): Support SSE.
156
157 Tue Feb 13 14:16:34 CET 2001 Jan Hubicka <jh@suse.cz>
158
159 * i386.md (dummy_extendsfdf2): Support SSE2
160 (extendsfdf2): Enable if 80387 or SSE2.
161 (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
162 and no MIX_I387_SSE2
163 (extendsfdf2_1_sse_only): New pattern.
164 (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
165 of SSE.
166 (truncdfsf2_1): Support SSE.
167 (truncdfsf2_2): Support SSE.
168 (truncdfsf2_2_1_sse): New pattern.
169 (fixtruncsfsi2): Always use SSE if available.
170 (fix_truncsfsi_sse): New pattern.
171 (fix_truncdfsi_sse): New pattern.
172 (floatsis?f2): Support SSE.
173 (floatsidf2_i387): New pattern.
174 (floatsidf2_sse): Likewise.
175
176 Tue Feb 13 07:52:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
177
178 * configure.in: Use "have_gnat" variable, not "gnat".
179 * configure: Regenerated.
180
181 * config/sparc/sparc.c (function_value): Treat all non-record
182 aggregate types like used to treat UNION_TYPE.
183
184 Tue Feb 13 13:31:33 CET 2001 Jan Hubicka <jh@suse.cz>
185
186 * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
187 * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
188 (MASK_SSE2): New.
189 (MASK_MIX_SSE_I387): New.
190 (TARGET_SSE): SSE2 imply SSE.
191 (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
192 (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
193 (enum reg_class): Add new classes.
194 (REG_CLASS_NAMES): Likewise.
195 (REG_CLASS_CONTENTS): Likewise.
196 (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
197 (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
198 supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
199 (CLASS_MAX_NREGS): Use new macros.
200 (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
201 * i386.md (pushsf, movsf): Support SSE.
202 (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
203 splitters to use ANY_FP_REGNO_P.
204 (movdf_nointeger, movdf_integer): Likewise.
205
206 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
207
208 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
209 (try_combine): Use it.
210
211 Tue Feb 13 11:37:06 CET 2001 Jan Hubicka <jh@suse.cz>
212
213 * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
214 MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
215 (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
216 (REGISTER_MOVE_COST): Likewise.
217 * i386-protos.h (ix86_secondary_memory_needed,
218 ix86_preferred_reload_class, ix86_register_move_cost): Declare.
219 * i386.c (ix86_secondary_memory_needed,
220 ix86_preferred_reload_class, ix86_register_move_cost): New function.
221
222 Die Feb 13 11:04:25 CET 2001 Jan Hubicka <jh@suse.cz>
223
224 * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
225 (HARD_REGNO_MODE_OK): Move offline to ....
226 * i386.c (ix86_hard_regno_mode_ok) ... here;
227 refuse all incorrect modes.
228 * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
229
230 2001-02-13 Richard Henderson <rth@redhat.com>
231
232 * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
233 entire operator; replicate that and match_dup the operands.
234 (cmp_ccx_arith_op_set): Likewise.
235 (cmp_cc_arith_op_not_set): Likewise.
236 (cmp_ccx_arith_op_not_set): Likewise.
237
238 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
239
240 * explow.c (trunc_int_for_mode): Sign-extend value to mode.
241
242 2001-02-12 Geoffrey Keating <geoffk@redhat.com>
243
244 * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
245 (TARGET_NO_BITFIELD_WORD): New macro.
246 (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
247 (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
248
249 Mon Feb 12 18:13:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
250
251 * cselib.c: New file, from simplify-rtx.c.
252 * simplify-rtx.c: Remove cselib parts.
253 * Makefile.in: Add cselib.o.
254
255 2001-02-12 Geoffrey Keating <geoffk@redhat.com>
256
257 * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
258 (setup_incoming_varargs): Remove warning.
259
260 * config/rs6000/rs6000.c (validate_condition_mode): When
261 flag_fast_math, allow floating-point conditionals to be reversed.
262 (rs6000_generate_compare): When flag_fast_math, don't generate
263 cror operations for FP conditionals.
264
265 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
266 -mcall-i960.
267 (ASM_SPEC): Likewise.
268 (CC1_ENDIAN_LITTLE_SPEC): Likewise.
269 (CC1_SPEC): Likewise.
270 (LINK_TARGET_SPEC): Likewise.
271 (CPP_ENDIAN_SPEC): Likewise.
272 * Makefile.in (check-consistency): New target.
273
274 2001-02-12 Joseph S. Myers <jsm28@cam.ac.uk>
275
276 * c-decl.c (grokdeclarator): In C99 mode, give the more specific
277 "return type defaults" warning for functions with return type
278 defaulting to int.
279 * c-lang.c (c_init): In C99 mode, enable warnings for implicit
280 function declarations by default rather than only when pedantic.
281
282 Mon Feb 12 17:28:48 CET 2001 Jan Hubicka <jh@suse.cz>
283
284 * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
285 arrays.
286
287 2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
288
289 * extend.texi (Deprecated): Deprecate new initializer lists.
290
291 2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
292
293 * mkdeps.c (deps_add_default_target): Robustify. Add
294 basename component only.
295 * cpp.texi (-M): Describe how default target is generated.
296 * invoke.texi (-M): Likewise.
297
298 2001-02-12 Kazu Hirata <kazu@hxi.com>
299
300 * toplev.c (push_float_handler): Remove.
301 (pop_float_handler): Remove.
302 * toplev.h: Remove prototypes for the above functions.
303
304 2001-02-12 Jakub Jelinek <jakub@redhat.com>
305
306 * c-common.c (constant_fits_type_p): New function.
307 (convert_and_check): Use it.
308
309 2001-02-11 Mark Mitchell <mark@codesourcery.com>
310
311 * Makefile.in (GXX_ABI_FLAG): Don't define.
312 * configure.in (--enable-new-gxx-abi): Remove option.
313 * config.in: Regenerated.
314 * configure: Likewise.
315
316 2001-02-12 Alexandre Oliva <aoliva@redhat.com>
317
318 * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
319 basic block.
320 (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
321 regular basic block, and arrange for all edges into it to switch
322 to normal mode.
323
324 2001-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
325
326 * Makefile.in (distclean): Do not remove .gdbinit.
327
328 2001-02-11 Mark Mitchell <mark@codesourcery.com>
329
330 * Makefile.in (gcc.o): Fix typos.
331 (protize.o): Likewise.
332 (unprotoize.o): Likewise.
333
334 2001-02-11 Richard Henderson <rth@redhat.com>
335
336 * tree.c (build1): Check for null operand in last change.
337
338 2001-02-11 Richard Henderson <rth@redhat.com>
339
340 * fold-const.c (split_tree): Don't assume a constant isn't splittable.
341 (fold): Don't assume a constant isn't foldable.
342 * tree.c (build): Set TREE_CONSTANT for an expression with no
343 side-effects and constant operands.
344 (build1): Likewise.
345
346 2001-02-10 Richard Henderson <rth@redhat.com>
347
348 * jump.c (squeeze_notes): Revert 2000-05-12 change.
349
350 2001-02-10 Anthony Green <green@redhat.com>
351
352 * cpp.texi (Standard Predefined): Add documentation for
353 __OPTIMIZE_SIZE__.
354
355 * c-common.c (combine_strings): Improve warning message.
356
357 2001-02-10 Geoffrey Keating <geoffk@redhat.com>
358
359 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
360 --oformat.
361 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
362
363 Fri Feb 9 15:05:27 2001 Christopher Faylor <cgf@cygnus.com>
364
365 * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
366 CYGWIN_CROSS_DIR.
367
368 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
369
370 * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
371 fp_mode attribute.
372
373 2001-02-09 Nick Clifton <nickc@redhat.com>
374
375 * config/arm/arm.md: Change output contraint on post inc
376 load/store multiple patterns to be a read/write contraint.
377
378 2001-02-09 Neil Booth <neil@daikokuya.demon.co.uk>
379
380 * gcc.c (cpp_options): Delete .d files on error. Don't delete
381 .o files when using the -M options.
382
383 2001-02-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
384 David Edelsohn <edelsohn@gnu.org>
385
386 * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
387 handle DImode constants. Use one TOC entry for SImode and smaller
388 constants, aligned properly.
389
390 2001-02-08 Jason Merrill <jason@redhat.com>
391
392 * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
393 about the SP adjustment for saving the static chain pointer.
394 * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
395 offset when setting a temporary CFA register.
396
397 2001-02-08 Chandrakala Chavva <cchavva@redhat.com>
398
399 * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
400 powerpc-*-chorusos* .
401 * config/rs6000/chorus.h : New file.
402 * config/i386/chorus.h : New file.
403 * config/sparc/chorus.h : New file.
404 * config/sparc/t-chorus-elf : New file.
405
406 2001-02-08 David Edelsohn <edelsohn@gnu.org>
407
408 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
409 * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
410 * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
411 (__WCHAR_TYPE__): Correct macro name.
412
413 2001-02-08 Richard Henderson <rth@redhat.com>
414
415 * config/i386/i386.c (ix86_frame_pointer_required): New.
416 (ix86_setup_frame_addresses): New.
417 (struct machine_funciton): Add accesses_prev_frame.
418 * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
419 ix86_frame_pointer_required.
420 (SUBTARGET_FRAME_POINTER_REQUIRED): New.
421 (SETUP_FRAME_ADDRESSES): New.
422 * config/i386/i386-protos.h: Update.
423 * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
424 from FRAME_POINTER_REQUIRED.
425 * config/i386/svr3gas.h: Likewise.
426 * config/i386/sysv3.h: Likewise.
427 * config/i386/v3gas.h: Likewise.
428
429 2001-02-08 Richard Henderson <rth@redhat.com>
430
431 * config/sparc/sparc.c (function_arg_record_value_3): Fix
432 calculation of the number of integer registers required.
433 (function_arg_record_value): Likewise.
434
435 2001-02-08 Jason Merrill <jason@redhat.com>
436
437 * diagnostic.c (internal_error): Say "confused" after 1 error, not
438 two. Print file and line with "confused" message.
439
440 * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
441
442 Thu Feb 8 11:21:28 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
443
444 * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
445
446 2001-02-08 Bernd Schmidt <bernds@redhat.com>
447
448 * final.c (cleanup_subreg_operands): The address of a MEM can
449 contain SUBREGs.
450
451 * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
452 for asms, too.
453
454 2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
455
456 * gcc.texi (Incompatibilities): Update documentation of
457 preprocessing numbers.
458
459 2001-02-07 Jakub Jelinek <jakub@redhat.com>
460
461 * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
462
463 2001-02-07 Mark Mitchell <mark@codesourcery.com>
464
465 * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
466
467 * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
468 * gcc.c (struct compiler): Add cpp_spec field.
469 (input_file_compiler): New variable.
470 (do_spec_1): Allow a particular compiler to handle `%C'
471 specially.
472 (main): Store the current compiler in input_file_compiler.
473 * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
474
475 2001-02-07 Zack Weinberg <zack@wolery.stanford.edu>
476
477 * cpphash.h (struct spec_nodes): Add n_true and n_false.
478 * cppinit.c (cpp_create_reader): Initialize them.
479 (append_include_chain): cxx_aware arg might be unused.
480 * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
481 keywords and give them their phase 7 meaning. Pedwarn about
482 this unless '__bool_true_false_are_defined' is defined.
483
484 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
485
486 * lcm.c (optimize_mode_switching): Emit mode_set before the
487 JUMP_INSN of an abnormal edge.
488
489 2001-02-07 Bernd Schmidt <bernds@redhat.com>
490
491 * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
492 a scheduling barrier at the end.
493
494 * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
495
496 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
497
498 * config/sh/sh.md (reload_outsf): Removed.
499 (movsf_ie): Introduce constraints for FPUL loads and stores.
500 (reload_insf): Broaden the output constraint.
501
502 * config/elfos.h (INT_ASM_OP): Don't define it if it's already
503 defined.
504 * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
505 ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
506
507 2001-02-06 Chandrakala Chavva <cchavva@redhat.com>
508
509 * final.c: Revert my previous changes.
510 * output.h: Make profile_label_no extern.
511 * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
512 for generating label.
513
514 2001-02-06 Laurynas Biveinis <lauras@softhome.net>
515
516 * config/i386/djgpp.h: Add comments about standard paths.
517 (MD_EXEC_PREFIX): Undefine before defining.
518 (MD_STARTFILE_PREFIX): New.
519
520 2001-01-30 Bruce Korb <bkorb@gnu.org>
521
522 fixinc/fixincl.c(process): Emit error message only if appropriate :)
523 (load_file): do not rely on load_file_data() to close file pointer
524 fixinc/fixlib.c(load_file_data): do not close passed in file pointer
525 fixinc/inclhack.def(irix_limits_const): add test_text
526
527 2001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
528
529 * cppexp.c (parse_defined): Improve diagnostics for invalid
530 syntax.
531
532 2001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
533
534 * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
535
536 2001-02-06 Mark Mitchell <mark@codesourcery.com>
537
538 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
539 * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
540 * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
541 (rs6000_output_symbol_ref): New function.
542 (output_toc): Use VTABLE_NAME_P.
543
544 Tue Feb 6 07:54:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
545
546 * print-tree.c (print_node, case PARM_DECL):
547 Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
548
549 * stor-layout.c (reference_types_internal): New variable.
550 (internal_reference_types): New function.
551 (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
552 * tree.h (internal_reference_types): New declaration.
553
554 * cse.c (find_best_addr): Fix typo in computing cost.
555
556 Mon Feb 5 21:56:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
557
558 * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
559 and this is the sum of a pointer and a constant, we know the result
560 did not overflow.
561 (num_sign_bit_copies, case PLUS): Likewise.
562 * explow.c (convert_memory_address): Remove opposite SUBREG.
563 * function.c (instantiate_new_reg): New function (from common code).
564 (instantiate_virtual_regs_1): Call it.
565 For PLUS, handle if (plus (subreg (virt-reg) (const_int))
566 if pointers sign- or zero-extend.
567 * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
568 If pointers extend unsigned, use inside of SUBREG.
569 (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
570
571 2001-02-05 Benjamin Kosnik <bkoz@redhat.com>
572
573 * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
574 subdir of gcc_gxx_include_dir.
575 (gcc_gxx_target_include_dir): Remove.
576
577 2001-02-05 Jeffrey Oldham <oldham@codesourcery.com>
578
579 * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
580 (dwarf2out_frame_debug_expr): Revise introductory comments to add
581 a high-level description.
582
583 2001-02-05 Chandrakala Chavva <cchavva@redhat.com>
584
585 * final.c: Move the declaration of profile_label_no to ...
586 * output.h: ... here.
587 * function.c (expand_function_start): Call PROFILE_HOOK.
588 * config/rs6000/aix.h: Define PROFILE_HOOK.
589 * config/rs6000/rs6000-protos.h: output_profile_hook new.
590 * config/rs6000/rs6000.c (output_profile_hook): Define.
591 (output_prolog): Do nothing for ABI_AIX as it is taken care by
592 output_profile_hook.
593 tm.texi : Explain new macro PROFILE_HOOK.
594
595 2001-02-06 Hans-Peter Nilsson <hp@axis.com>
596
597 * extend.texi (Extended Asm): Do not say that semicolon is always
598 a valid line-breaking character for GNU assemblers. Use
599 newline-tab as the most commonly supported syntax. Use
600 newline-tab rather than semicolon in multi-insn examples.
601
602 2001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
603
604 * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
605
606 2001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
607 David Edelsohn <edelsohn@gnu.org>
608
609 * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
610 code for AIX, even without flag_pic.
611
612 2001-02-05 Jakub Jelinek <jakub@redhat.com>
613
614 * c-typeck.c (common_type): push and pop binding level around
615 calling common_type on function parameters.
616
617 Mon Feb 5 14:30:37 2001 Christopher Faylor <cgf@cygnus.com>
618
619 * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
620
621 Mon Feb 5 11:23:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
622
623 * config/mips/mips.c (override_options): Fix typo in last change.
624 (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
625 (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
626
627 2001-02-05 Nathan Sidwell <nathan@codesourcery.com>
628
629 * invoke.texi (-fdump-class-layout): Document.
630 (-fdump-translation-unit): Use `=' as filename separator.
631
632 2001-02-05 Mark Mitchell <mark@codesourcery.com>
633
634 * Makefile.in (s-mlib): Don't build multilibs if
635 --disable-multilib.
636 (DRIVER_DEFINES): Adjust accordingly.
637 (gcc.o): Likewise.
638 (protoize.o): Likewise.
639 (unprotoize.o): Likewise.
640 * configure.in: Recognize --enable-multilib.
641
642 2001-02-04 Mark Mitchell <mark@codesourcery.com>
643
644 * Makefile.in (DRIVER_DEFINES): Fix quoting.
645
646 * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
647 * configure.in: Remove --enable-libstdcxx_v3 support.
648 * configure: Regenerated.
649
650 Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
651
652 * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
653 Call abort instead of fatal.
654 (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
655 * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
656 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
657 (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
658 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
659 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
660
661 * diagnostic.h (set_internal_error_function): Renamed.
662 * toplev.h (internal_error): Renamed from fatal.
663 (pfatal_with_name): Deleted.
664 (fatal_io_error): Now has printf-style arguments.
665 * diagnostic.c (pfatal_with_name): Deleted.
666 (fatal_io_error): Rework to have args in printf-style.
667 (set_internal_error_function): Renamed from set_fatal_function.
668 (internal_error): Renamed from fatal.
669 (error_recursion, fancy_abort): Call internal_error instead of fatal.
670 * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
671 * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
672 * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
673 * flow.c (verify_flow_info): Likewise.
674 * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
675 * config/mips/mips.c (save_restore_insns): Likewise.
676
677 * except.c (duplicate_eh_handlers): Call abort instead of fatal.
678 * flow.c (verify_flow_info): Likewise.
679 * config/arm/arm.c (thumb_load_double_from_address): Likewise.
680 * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
681 (avr_normalize_condition): Likewise.
682 * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
683 * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
684 (limit_reload_class, double_reg_to_memory): Likewise.
685 (print_operand_address, emit_1600_code_shift): Likewise.
686 (gen_tst_reg, gen_compare_reg): Likewise.
687 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
688 * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
689 Deleted.
690 * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
691
692 * c-parse.in (methoddef): Call fatal_error instead of fatal.
693 * objc/objc-act.c (build_ivar_chain): Likewise.
694 * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
695 pfatal_with_name.
696 * graph.c (clean_graph_dump_file): Likewise.
697 * profile.c (init_branch_prob): Likewise.
698 * objc/objc-act.c (objc_init): Likewise.
699
700 * config/arm/arm.c (arm_override_options): Make errors non-fatal.
701 * config/avr/avr.c (avr_override_options): Likewise.
702 * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
703 * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
704 * config/h8300/h8300.c (h8300_init_once): Likewise.
705 * config/mips/mips.c (override_options): Likewise.
706 * config/i386/i386.c (override_options): Likewise, rework.
707 * config/m68k/m68k.c (override_options): Likewise.
708
709 * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
710 instead of fatal.
711 * config/mips/mips.c (print_operand): Likewise.
712 * hash.c (hash_allocate): Don't check for failure returns from
713 obstack functions that can't fail.
714 (hash_table_init_n, hash_table_init): Likewise; also now return void.
715 * hash.h (hash_table_init_n, hash_table_init): Now return void.
716 * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
717 (get_object_reference): Likewise.
718
719 2001-02-04 Nick Clifton <nickc@redhat.com>
720
721 * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
722 StrongARM1110, 10TDMI, and 1020T.
723
724 2001-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
725
726 * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
727
728 2001-02-04 Alexandre Oliva <aoliva@redhat.com>
729
730 * config/sh/sh.md (movdf load split): Pass register number to
731 FP_OR_XD_REGISTER_P.
732
733 2001-02-04 Mark Mitchell <mark@codesourcery.com>
734
735 * cppinit.c (BC): New macro.
736 (builtin_array): Add __GXX_WEAK__.
737 * cpplib.h (builtin_type): Add BT_WEAK.
738 * cppmacro.c (builtin_macro): Handle BT_WEAK.
739 * defaults.h (SUPPORTS_ONE_ONLY): Define.
740 * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
741
742 2001-02-03 Jakub Jelinek <jakub@redhat.com>
743
744 * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
745
746 2001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
747
748 * cpphash.h: Rename _ALIGN POOL_ALIGN.
749 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
750
751 2001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
752
753 * cpphash.h: Rename ALIGN _ALIGN.
754 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
755
756 Fri Feb 2 23:15:29 2001 Christopher Faylor <cgf@cygnus.com>
757
758 * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
759 compilation environment.
760 * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
761 control over location of cygwin includes and libs.
762
763 2001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
764
765 * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
766
767 2001-02-02 lars brinkhoff <lars@nocrew.org>
768
769 * md.texi (Standard Names): remove reference to spur.md.
770
771 2001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
772
773 * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
774 (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
775 (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
776 * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
777 (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
778
779 2001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
780
781 * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
782 c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
783 number before reload.
784 (c4x_adjust_cost): Return zero before reload.
785 * c4x.md (load_immed_address+1, load_immed_address+2): Do not
786 split before reload.
787
788 2001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
789
790 * c4x.c (c4x_hard_regno_rename_ok): New.
791 * c4x-protos.h (c4x_hard_regno_rename_ok): New.
792 * c4x.h (HARD_REGNO_RENAME_OK): Define.
793
794 Fri Feb 2 20:03:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
795
796 * diagnostic.h: Add missing "extern" in all declarations.
797
798 2001-02-02 Alex Samuel <samuel@codesourcery.com>
799
800 * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
801 as for gcc_gxx_include_dir.
802
803 2001-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
804
805 * cpp.texi, invoke.texi: Update -Wtraditional documentation.
806
807 2001-02-02 Alexandre Oliva <aoliva@redhat.com>
808
809 * config/sh/sh.c (output_far_jump): Don't use braf on SH1. Emit
810 label before alignment to be used as the braf base address.
811 * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
812 branches.
813 (casesi_jump_2): Require at least TARGET_SH2.
814
815 * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
816 truncation to 32-bit doubles on -m3e and -m4-single-only.
817
818 2001-02-02 Mark Mitchell <mark@codesourcery.com>
819
820 * gcc.c (init_gcc_specs): New function. Make -shared-libgcc
821 the default when building a shared object.
822 (init_spec): Use it.
823 * testsuite/lib/g++.exp: Include the directory where libgcc
824 is located to the LD_LIBRARY_PATH list.
825 * invoke.texi (-shared-libgcc): Document the cases in which
826 GCC defaults to using the shared libgcc.
827
828 2001-02-02 Alexandre Oliva <aoliva@redhat.com>
829
830 * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
831 unsigned is wide enough.
832 (BITS_PER_SI): New.
833 * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
834 (si_to_float): Likewise.
835 (float_to_si, float_to_usi): Use BITS_PER_SI.
836
837 2001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
838
839 * dwarf2out.c: Added explanation of abbreviations.
840 (def_cfa_1): Added comments listing DWARF2 instructions.
841 (cfa_temp_reg): Removed in favor of cfa_temp.
842 (cfa_temp_value): Removed in favor of cfa_temp.
843 (cfa_temp): New global variable.
844 (dwarf2out_frame_debug_expr): Added extensive introductory
845 comments explaining the function's transformations. Revised to
846 use cfa_temp. Added some rtx checking. Generalize IOR case.
847 (dwarf2out_frame_debug): Revised to use cfa_temp.
848 (output_aranges): Cast as "unsigned" to avoid warning.
849 * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
850 explain which instructions must be marked.
851
852 2001-02-01 Richard Henderson <rth@redhat.com>
853
854 * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
855 new instruction.
856
857 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
858
859 * config/sh/crt1.asm (main_k): Modified so that start calls
860 ___setup_argv_and_call_main.
861
862 2001-02-01 Neil Booth <neil@daikokuya.demon.co.uk>
863
864 * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
865 * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
866 and AVOID_LPASTE is cleared on meeting an unescaped newline.
867 * cppmacro.c (builtin_macro): Set builtin flags here.
868 (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
869 (replace_args): Clarify intent.
870 (cpp_get_token): Macro expansion tokens get the saved flags.
871 Update.
872 * cppmain.c (scan_buffer): Remove now-redundant print.printed
873 check.
874
875 2001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
876
877 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
878 2001-Jan-29.
879
880 Thu Feb 1 07:22:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
881
882 * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
883 returns Pmode pseudo, but we need ptr_mode.
884 * explow.c (allocate_dynamic_stack_space): Use plus_constant.
885 Remove bogus conversions; use HOST_WIDE_INT for size.
886 Don't use TARGET if wrong mode.
887
888 * config/i386/i386.c (ix86_compute_frame_size): Allow
889 stack_alignment_needed to be non-default even if size is zero.
890
891 2001-01-31 Alan Modra <alan@linuxcare.com.au>
892
893 * (hppa_init_pic_save): Emit the pic offset table
894 reg save after last_parm_insn.
895 * pa.c (hppa_init_pic_save): New function.
896 * pa.h (hppa_init_pic_save): Declare.
897 * pa.md (call, call_value, sibcall, sibcall_value): Use
898 the above instead of duplicated code.
899
900 * pa.c (hppa_encode_label): Correct size of alloca buffer
901 so we don't overrun it. Correct leading `*' case.
902 * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
903 need to handle `*@'.
904 (FUNCTION_NAME_P): Likewise.
905
906 2001-01-31 Richard Henderson <rth@redhat.com>
907
908 * config.gcc (alpha-osf5): Use float-i128.h.
909
910 * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
911 * config/float-i32.h: Likewise.
912 * config/float-i64.h: Likewise.
913 * config/float-sh.h: Likewise.
914 * config/float-sparc.h: Likewise.
915
916 2001-01-31 DJ Delorie <dj@redhat.com>
917
918 * expmed.c (extract_bit_field): allow non-integral modes if we
919 want to extract a whole register from itself.
920
921 2001-01-31 Jakub Jelinek <jakub@redhat.com>
922
923 * c-typeck.c (set_init_index): If first is equal to last, assume as
924 if it was not a range at all.
925
926 2001-01-31 Alexandre Oliva <aoliva@redhat.com>
927
928 * config/fp-bit.c: Include tm.h.
929 (float_to_si): Don't assume SImode is 32-bits wide.
930 (float_to_usi): Likewise.
931
932 2001-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
933
934 * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
935 incomplete type.
936 (typename): Call pending_xref_error after parsing typed_typespecs.
937 * c-decl.c (lookup_tag): Give error immediately rather than
938 leaving it pending if the tag of the wrong type is in the same
939 binding level.
940 (xref_tag): Don't pedwarn for forward declarations of enum types
941 here.
942 * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
943 and enum tags.
944
945 2001-01-31 Alexandre Oliva <aoliva@redhat.com>
946
947 * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
948
949 2001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
950
951 * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
952 (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
953
954 2001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
955
956 * cpphash.h (struct cpp_reader): New saved_flags.
957 * cppmacro.c (cpp_get_token): Use saved_flags to remember
958 to avoid a paste after a pasted token.
959
960 2001-01-31 Alexandre Oliva <aoliva@redhat.com>
961
962 * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
963 * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
964 Wtype_MIN instead of LONG_MIN.
965
966 2001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
967
968 * fixinc/fixincl.tpl: Add 2001 to copyright. Change name of
969 README file.
970 * fixinc/fixincl.x: Regenerated.
971 * fixinc/inclhack.def (irix_limits_const): New definition to
972 convert "const" to "__const" in limits.h.
973
974 2001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
975
976 * fixinc/genfixes (AG): Fix "autogen4" thinko.
977
978 2001-01-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
979
980 * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
981 when register dies in the insn.
982
983 2001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
984
985 * diagnostic.c (fatal): Fix word wrap.
986
987 2001-01-30 Alexandre Oliva <aoliva@redhat.com>
988
989 * combine.c (try_combine): Fix SUBREG setting for
990 HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
991
992 2001-01-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
993
994 * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
995 comparison codes.
996
997 2001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
998
999 * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
1000 is not NULL.
1001 * toplev.c (decode_W_option): Update warn_larger_than
1002 unconditionally for each processed switch.
1003
1004 2001-01-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
1005
1006 * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
1007 to NULL_RTX.
1008 (hppa_expand_prologue): Delete code to save pic offset table register
1009 in the function prologue.
1010 * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
1011 * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
1012 table register at the beginning of the function after the prologue.
1013
1014 2001-01-29 lars brinkhoff <lars@nocrew.org>
1015
1016 * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
1017
1018 2001-01-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
1019 Jeff Law <law@redhat.com>
1020
1021 * pa.md (return): Revise comment for trivial return.
1022 (return_internal): Non-trivial return pattern for non-PIC code.
1023 (return_internal_pic): Non-trivial return pattern for PIC code.
1024 It uses the PIC register to ensure it is restored after
1025 function calls.
1026 (epilogue): Generate appropriate return for PIC and non-PIC code.
1027
1028 Mon Jan 29 23:53:14 2001 Christopher Faylor <cgf@cygnus.com>
1029
1030 * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
1031
1032 2001-01-29 DJ Delorie <dj@redhat.com>
1033
1034 * combine.c (if_then_else_cond): Pass the correct mode to
1035 operand_subword() for constants.
1036
1037 Mon Jan 29 20:38:19 2001 Christopher Faylor <cgf@cygnus.com>
1038
1039 * config/i386/cygwin.h: Add w32api to include search. Search different
1040 directories in a cross-build environment.
1041
1042 2001-11-29 Tim Josling <tej@melbpc.org.au>
1043
1044 * tree.h (TYPE_STUB_DECL): Add documentation.
1045
1046 2001-11-29 Laurynas Biveinis <lauras@softhome.net>
1047
1048 * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
1049 (sdbout_field_types): Likwise. Fix use of host_integerp.
1050
1051 2001-01-29 Thomas Pfaff <tpfaff@gmx.net>
1052
1053 * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
1054 cygwin.h.
1055
1056 2001-01-29 Jeffrey Oldham <oldham@codesourcery.com>
1057
1058 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
1059 to use flag_gnu_linker.
1060
1061 2001-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
1062
1063 * cpplib.c (T_BAD_DIRECTIVE): Remove.
1064 (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
1065
1066 2001-01-29 Joseph S. Myers <jsm28@cam.ac.uk>
1067
1068 * tree.c, tree.h (build_parse_node): Remove; was identical to
1069 build_nt.
1070 * c-lang.c (start_cdtor), objc/objc-act.c
1071 (build_module_descriptor): Use build_nt instead of
1072 build_parse_node.
1073
1074 2001-01-29 Jakub Jelinek <jakub@redhat.com>
1075
1076 * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
1077 (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
1078 not have any upper bits set.
1079
1080 2001-01-29 Phil Edwards <pme@sources.redhat.com>
1081
1082 * COPYING.LIB: Update to LGPL 2.1 from the FSF.
1083
1084 2001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1085
1086 * stmt.c (estimate_case_costs): Use integer_minus_one_node.
1087
1088 * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
1089
1090 * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
1091 (integer_minus_one_node): Define.
1092
1093 2001-01-28 Alexandre Oliva <aoliva@redhat.com>
1094
1095 * Makefile.in (bootstrap2-lean): Fix typo.
1096
1097 2001-01-28 Neil Booth <neil@daikokuya.demon.co.uk>
1098
1099 * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
1100 : Don't set fe_value.
1101 * cpplib.h (AVOID_LPASTE): New flag.
1102 (struct cpp_hashnode): Remove fe_value.
1103 * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
1104 * cppmacro.c (builtin_macro): Don't set flags here.
1105 (replace_args): Set AVOID_LPASTE flag on first token of an
1106 argument, and the token following it.
1107 (cpp_get_token): Set AVOID_LPASTE flag on first token of a
1108 macro expansion, and on the token following it. Do it for
1109 builtins too.
1110 * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
1111
1112 2001-01-27 Richard Henderson <rth@redhat.com>
1113
1114 * config/alpha/t-ieee: Remove multilibbing.
1115 (TARGET_LIBGCC2_CFLAGS): Add -mieee.
1116
1117 2001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1118
1119 * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
1120
1121 * Makefile.in: Remove all dependencies on defaults.h.
1122 * builtins.c: Don't include defaults.h.
1123 * c-common.c: Likewise.
1124 * c-decl.c: Likewise.
1125 * c-pragma.c: Likewise.
1126 * c-typeck.c: Likewise.
1127 * combine.c: Likewise.
1128 * i386.c: Likewise.
1129 * frame-ia64.c: Likewise.
1130 * cppexp.c: Likewise.
1131 * crtstuff.c: Likewise.
1132 * dbxout.c: Likewise.
1133 * dwarf2out.c: Likewise.
1134 * dwarfout.c: Likewise.
1135 * emit-rtl.c: Likewise.
1136 * except.c: Likewise.
1137 * expr.c: Likewise.
1138 * final.c: Likewise.
1139 * frame-dwarf2.c: Likewise.
1140 * libgcc2.c: Likewise.
1141 * optabs.c: Likewise.
1142 * profile.c: Likewise.
1143 * sdbout.c: Likewise.
1144 * toplev.c: Likewise.
1145 * tradcif.y: Likewise.
1146 * tree.c: Likewise.
1147 * varasm.c: Likewise.
1148
1149 2001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1150
1151 * builtins.c (expand_builtin_fputs): Use size_one_node when
1152 transforming into fwrite.
1153
1154 2001-01-27 Joseph S. Myers <jsm28@cam.ac.uk>
1155
1156 * extend.texi (Attribute Syntax): New section.
1157
1158 2001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG>
1159
1160 * fixproto: Correctly install synthesised unistd.h and stdlib.h when
1161 they didn't need fixing.
1162
1163 2001-01-27 Janis Johnson <janis@us.ibm.com>
1164
1165 * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
1166 if appropriate.
1167 * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
1168 to remove macro definitions that are duplicated from elfos.h.
1169
1170 2001-01-27 Richard Henderson <rth@redhat.com>
1171
1172 * config/i386/sco5gas.h: Move ...
1173 * config/usegas.h: ... here.
1174 * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
1175
1176 2001-01-27 Jakub Jelinek <jakub@redhat.com>
1177
1178 * c-typeck.c (struct constructor_stack): Add range_stack member.
1179 (really_start_incremental_init): Clear it.
1180 (push_init_level): Save constructor_range_stack and clear it if
1181 pushing explicit braces.
1182 (pop_init_level): abort if constructor_range_stack is non-zero at
1183 explicit closing brace. Restore saved constructor_range_stack if
1184 not implicit.
1185
1186 2001-01-27 Alexandre Oliva <aoliva@redhat.com>
1187
1188 * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
1189 into register was forced into memory.
1190
1191 2001-01-27 Alexandre Oliva <aoliva@redhat.com>
1192
1193 * Makefile.in: Remove uses of + before $(MAKE).
1194
1195 2001-01-26 Richard Henderson <rth@redhat.com>
1196
1197 * stmt.c (cost_table): Remove.
1198 (COST_TABLE, cost_table_initialized): New.
1199 (estimate_case_costs): Use the later instead of the former.
1200 (balance_case_nodes): Likewise.
1201
1202 2001-01-26 Richard Henderson <rth@redhat.com>
1203
1204 * alias.c (objects_must_conflict_p): Read-only slots may not
1205 conflict despite having the same type.
1206
1207 2001-01-27 Michael Hayes <mhayes@redhat.com>
1208
1209 * loop.c (loop_giv_reduce_benefit): Copy mode size into
1210 int variable.
1211 (check_ext_dependant_givs): Initialise u_start_val and
1212 u_end_val.
1213 (load_mems): Make last_max_reg unsigned.
1214 (try_swap_copy_prop): Use INSN_P and initialise set.
1215
1216 Fri Jan 26 23:22:58 2001 Denis Chertykov <denisc@overta.ru>
1217
1218 * README.AVR : Removed.
1219
1220 Fri Jan 26 11:37:26 2001 Jeffrey A Law (law@cygnus.com)
1221
1222 * pa-64.h (text_section): Remove declaration.
1223
1224 * pa.md (return_internal): Remove mode on PIC register use.
1225
1226 2001-01-25 lars brinkhoff <lars@nocrew.org>
1227
1228 * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
1229 ASM_CLOSE_PAREN): fix typos.
1230
1231 2001-01-25 Mark Mitchell <mark@codesourcery.com>
1232
1233 * acconfig.h: Define `const' to the empty string if neither
1234 __STDC__ nor __cplusplus is defined.
1235 * config.in: Regenerated.
1236
1237 2001-01-25 David Edelsohn <edelsohn@gnu.org>
1238
1239 * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
1240 * collect2.c (main): Delete importf. Add ".obj" file extension.
1241 (GCC_CHECK_HDR): Handle AIX V5 new magic number.
1242 (aix_std_libs): Add additional AIX libraries to skip.
1243 * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
1244 * config/rs6000/aix51.h: New file.
1245
1246 2001-01-25 Michael Hayes <mhayes@redhat.com>
1247
1248 * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
1249 (loop_insn_emit_before): No longer static.
1250 (move_movables): Replace emit_insn_after with loop_insn_emit_after.
1251 (loop_givs_rescan, load_mems): Likewise.
1252 (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
1253 (maybe_eliminate_biv_1):
1254 (move_movables): Replace emit_call_insn_before with
1255 loop_call_insn_hoist.
1256 * loop.h (loop_insn_emit_before): Add.
1257 * unroll.c (copy_loop_body): Replace emit_insn_before with
1258 loop_insn_emit_before.
1259
1260 2001-01-25 Neil Booth <neil@daikokuya.demon.co.uk>
1261
1262 * diagnostic.c (fatal): Request preprocessed source.
1263
1264 Thu Jan 25 02:01:16 2001 J"orn Rennecke <amylaar@redhat.com>
1265
1266 * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
1267 olddecl has argument types and newdecl has none, use the argument
1268 types from olddecl.
1269
1270 2001-01-24 Ulrich Drepper <drepper@redhat.com>
1271
1272 * dwarf2out.c (prefix_of): New function. Determine longest common
1273 prefix of the two arguments. The units are whole path components.
1274 (output_file_names): When adding a new directory find the one entry
1275 with the longest common prefix already in the list. Artificially
1276 generate entry if there is none for this prefix.
1277 Fix test to check whether the zeroth directory entry is used.
1278
1279 Wed Jan 24 23:51:55 2001 J"orn Rennecke <amylaar@redhat.com>
1280
1281 * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
1282 Changed all callers. Take it into account when deciding if a
1283 previously loaded value matches.
1284
1285 2001-01-24 Richard Henderson <rth@redhat.com>
1286
1287 * reload.c (find_reloads_subreg_address): Fail the substitution
1288 if the resulting address is insufficiently aligned.
1289
1290 2001-01-24 DJ Delorie <dj@redhat.com>
1291
1292 * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
1293 check the original operand's mode also.
1294 * simplify-rtx.c (simplify_ternary_operation): Ditto.
1295
1296 2001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
1297
1298 * c-parse.in (cast_expr): Move compound literals from here ...
1299 (primary): ... to here. Use standard terminology "compound
1300 literal" instead of "constructor expression".
1301
1302 2001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
1303
1304 * gcc.1, cpp.1: Regenerate.
1305
1306 2001-01-24 Alexandre Oliva <aoliva@redhat.com>
1307
1308 * calls.c (emit_library_call_value_1): Memory slot for
1309 pass-by-reference argument should have the mode of the argument,
1310 not of the pointer to it.
1311
1312 2001-01-24 Tom Tromey <tromey@redhat.com>
1313
1314 * gcc.texi (G++ and GCC): Mention gcj manual.
1315 (Standards): Link to section of manual mentioning gcj/Java
1316 compatibility.
1317
1318 2001-01-24 Jakub Jelinek <jakub@redhat.com>
1319
1320 * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
1321 * cppinit.c (cpp_start_read): Remove deps_add_dep call.
1322 * tradcpp.c (main): Add -imacros or -include'd dependencies
1323 for -M*.
1324 * cpp.texi (-M, -MM): Document -M -include behaviour.
1325
1326 2001-01-24 Roger Collins <roger@ProProject.com>
1327
1328 * config/i386/xm-i386.h: Make __i386__ a boolean macro.
1329
1330 2001-01-24 Will Cohen <wcohen@redhat.com>
1331
1332 * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
1333 whether registers are 32 bits or 64 bits in size.
1334
1335 2001-01-24 Ben Elliston <bje@redhat.com>
1336
1337 * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
1338
1339 2001-01-24 Richard Henderson <rth@redhat.com>
1340
1341 * config/alpha/alpha.md (builtin_longjmp_internal): New.
1342 (builtin_longjmp): Use it instead of emit_indirect_jump.
1343
1344 2001-01-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
1345
1346 * bb-reorder.c (make_reorder_chain_1): Handle case where
1347 jump edge goes to the same block as the fallthru edge.
1348
1349 2001-01-23 Jim Wilson <wilson@redhat.com>
1350
1351 * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
1352 * frame.h (__ia64_personality_v1): Add prototype.
1353 * libgcc2.c (ia64_throw_helper): Change personality declaration to
1354 prototype form. Add void * cast to first argument to personality
1355 call.
1356 * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
1357 (asctoe113): Likewise.
1358 * config/ia64/frame-ia64.c: Include eh-common.h.
1359 * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
1360 prototypes.
1361 * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
1362 to dump parameter.
1363 (itanium_split_issue): Add prototype.
1364 (gen_nop_type): Ifdef out.
1365 (find_best_packet): Initialize best_packet.
1366 (ia64_encode_section_info): New local string. Use for ggc_alloc_string
1367 result.
1368 * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
1369 * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
1370 (flushrs): Add explicit stop bit at end.
1371 * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
1372 trailing \ to >.
1373
1374 2001-01-23 Chris Demetriou <cgd@broadcom.com>
1375
1376 * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
1377 of EH symbols.
1378 * libgcc2.c (__terminate_func): Make variable static.
1379 (__terminate_set_func): New function to set __terminate_func.
1380 * libgcc2.h (__terminate_func_ptr): New typedef.
1381 (__terminate_set_func): New function.
1382
1383 2001-01-23 Richard Henderson <rth@redhat.com>
1384
1385 * flow.c (init_propagate_block_info): Don't consider unchanging
1386 memories for dead frame store elimination.
1387
1388 2001-01-23 Richard Henderson <rth@redhat.com>
1389
1390 * varasm.c (UNIQUE_SECTION): Move default implementation ...
1391 * defaults.h: ... here.
1392
1393 2001-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1394
1395 * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
1396
1397 2001-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
1398
1399 * c-lex.c (lex_charconst): Fix typo: s/p/str.
1400
1401 2001-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1402
1403 * rs6000.h (rs6000_return_addr): Move prototype from here...
1404 * rs6000-protos.h (rs6000_return_addr): ...to here.
1405 (rs6000_init_expanders): Delete prototype.
1406
1407 2001-01-23 Nick Clifton <nickc@redhat.com>
1408
1409 * invoke.texi: Replace , with \, inside @gccoptlist macros.
1410 (Spec Files): Document %B and %j and %. and %v3 and %M and
1411 %{S*&T} spec switches.
1412
1413 2001-01-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1414
1415 * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
1416
1417 2001-01-23 Chris Demetriou <cgd@sibyte.com>
1418 Neil Booth <neil@daikokuya.demon.co.uk>
1419
1420 * cpperror.c: Merge handlers of PEDWARN and WARNING.
1421 Have -Werror make pedantic warnings errors, like the
1422 rest of GCC.
1423
1424 2001-01-23 Phil Edwards <pme@sources.redhat.com>
1425
1426 * c-tree.texi (IDENTIFIER_LENGTH): Fix typo.
1427
1428 2001-01-23 Jakub Jelinek <jakub@redhat.com>
1429
1430 * integrate.h (struct inline_remap): Add compare_src, compare_mode.
1431 * integrate.c (expand_inline_function): Initialize them.
1432 (subst_constants): If changing COMPARE so that both its arguments
1433 will be VOIDmode and the comparison mode will be lost, note
1434 compare_mode. Use the recorded compare_mode to optimize
1435 IF_THEN_ELSE.
1436
1437 2001-01-23 Jason Merrill <jason@redhat.com>
1438
1439 * dwarf2out.c (new_die): Use xcalloc.
1440 (output_die): Abort rather than emit a local reference to offset 0.
1441
1442 2001-01-17 Andrew Haley <aph@redhat.com>
1443
1444 * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
1445 of a saved register; return NULL instead.
1446 (copy_reg): Take a pointer to a source register rather than a
1447 frame_state.
1448 (next_stack_level): Remember the address in the stack frame of all
1449 saved registers.
1450 Use the saved register pointer array as the source of the CFA.
1451 (throw_helper): Rewrite. Unwind once rather than twice and keep
1452 track of saved registers as we go.
1453
1454 2001-01-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1455
1456 * c4x-protos.h (c4x_legitimize_reload_address): Remove.
1457 * c4x.c (c4x_legitimize_reload_address): Remove.
1458 * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
1459 reload address for ldp(k) insn.
1460
1461 Mon Jan 22 20:53:47 2001 Jeffrey A Law (law@cygnus.com)
1462
1463 * pa.md (return_internal): Add a USE of the PIC register to ensure
1464 it is restored after each call.
1465 (return expander): Corresponding changes.
1466
1467 2001-01-22 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1468
1469 * rs6000.h (INIT_EXPANDERS): Delete.
1470 (RETURN_ADDR_RTX): Call rs6000_return_addr().
1471 * rs6000.c (rs6000_override_options): Call *_machine_status from
1472 here...
1473 (rs6000_init_expanders): ...instead of here. Delete.
1474 (rs6000_mark_machine_status): New function.
1475 (rs6000_init_machine_status): Use xcalloc.
1476 (rs6000_return_addr): Generate RTX for the return address.
1477 (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
1478 (rs6000_stack_info): Use it.
1479
1480 2001-01-22 Thomas Pfaff <tpfaff@gmx.net>
1481
1482 * gthr-win32.h: Include errno.h to get a declaration for
1483 EINVAL and _mingw.h if the target is mingw32.
1484
1485 2001-01-22 Andres Felipe Vargas <avargas@teletulua.com.co>
1486
1487 * cpp.texi: Correct typos.
1488
1489 Mon Jan 22 13:59:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1490
1491 * explow.c (probe_stack_range): Ensure value passed to
1492 stack_check_libfunc is ptr_mode, not Pmode.
1493
1494 Mon Jan 22 16:53:06 2001 J"orn Rennecke <amylaar@redhat.com>
1495
1496 * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
1497 case, don't use operand_subword to calculate a SUBREG that is
1498 wider than a word.
1499
1500 * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
1501
1502 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1503
1504 * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
1505 (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
1506 valid. If not replace it by equivalent insns.
1507
1508 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1509
1510 * c4x.c (c4x_check_legit_addr): Only check CONST. Not if CONST
1511 contains SYMBOL_REF, LABEL_REF and CONST_INT.
1512 (c4x_U_constraint, symbolic_address_operand): Likewise.
1513 (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
1514 memory.
1515 (c4x_r11_set_p, c4x_check_laj_p): New functions.
1516 * c4x-protos.h (c4x_check_laj_p): Add prototype.
1517 * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
1518 anulling slot because of silicon bug.
1519 (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
1520
1521 2001-01-22 Alan Modra <alan@linuxcare.com.au>
1522
1523 * cppexp.c (parse_charconst): Change `mask' type to agree
1524 with parse_escape.
1525
1526 2001-01-21 Richard Henderson <rth@redhat.com>
1527
1528 * config/i386/i386.c (ix86_asm_file_end): Disable putting
1529 pic_label_name in a linkonce section.
1530
1531 2001-01-17 Philipp Thomas <pthomas@suse.de>
1532
1533 * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
1534 found in libintl.
1535 * configure: Regenerate.
1536
1537 Sun Jan 21 02:38:56 2001 J"orn Rennecke <amylaar@redhat.com>
1538
1539 * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
1540 uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
1541
1542 Sun Jan 21 09:44:17 2001 Denis Chertykov <denisc@overta.ru>
1543
1544 * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
1545 If REVERSE nonzero then condition code in X must be reversed.
1546 (encode_section_info): Optimise if/else.
1547 (avr_function_value): Fix formatting.
1548
1549 * config/avr/avr.md (branch): Call to ret_cond_branch changed.
1550 (difficult_branch): Likewise.
1551 (rvbranch): Likewise.
1552 (difficult_rvbranch): Likewise.
1553
1554 * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
1555
1556 * config/avr/libgcc.S: Fix comment.
1557
1558 2001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
1559
1560 * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
1561
1562 2001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
1563
1564 * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
1565
1566 2001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
1567
1568 * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
1569 * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
1570 * configure, config.in: Regenerate.
1571 * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
1572 (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
1573 (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
1574 (doprint.o): New rule.
1575
1576 2001-01-20 Joseph S. Myers <jsm28@cam.ac.uk>
1577
1578 * c-typeck.c (digest_init): Handle boolean types as scalars.
1579
1580 Sat Jan 20 12:46:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1581
1582 * stmt.c (expand_return): Don't return anything if size is zero.
1583 Delete redundant assignment to BYTES.
1584 * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
1585
1586 2001-01-20 Marek Michalkiewicz <marekm@linux.org.pl>
1587
1588 * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
1589 the same as the default library function names.
1590 * config/avr/avr.md: Document special characters after '%'.
1591 (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
1592 knowing which of the call-used registers are really clobbered.
1593 (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
1594 New. Both quotient and remainder from one libgcc.S call.
1595 * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
1596 clobber as few registers as possible.
1597 * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
1598
1599 2001-01-20 Neil Booth <neil@daikokuya.demon.co.uk>
1600
1601 * cppmacro.c (funlike_invocation_p): Don't move back up to the
1602 context of the top of the stack.
1603
1604 2001-01-20 Jakub Jelinek <jakub@redhat.com>
1605
1606 * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
1607 (fixup_var_refs_insns): ...here.
1608
1609 2001-01-20 Zack Weinberg <zack@wolery.stanford.edu>
1610
1611 * function.c (fixup_var_refs_insns): Break up into
1612 fixup_var_refs_insn [body of loop], fixup_var_refs_insns
1613 [loop over entire insn list], and fixup_var_refs_insns_with_hash
1614 [loop over hash table entries].
1615 (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
1616 fixup_var_refs_insns_with_hash, to match above changes.
1617
1618 2001-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
1619
1620 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
1621 (libgcc.a): Likewise.
1622 (stmp-multilib): Likewise.
1623 (STAGE2_FLAGS_TO_PASS): Likewise.
1624
1625 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
1626
1627 * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
1628 temporary if no_new_pseudos.
1629
1630 2001-01-19 Neil Booth <neil@daikokuya.demon.co.uk>
1631
1632 * cppinternals.texi: Update.
1633
1634 2001-01-19 Richard Earnshaw <rearnsha@arm.com>
1635
1636 * arm.c (arm_init_builtins): Re-enable builtins.
1637
1638 Fri Jan 19 13:02:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1639
1640 * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
1641 * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
1642 element to be null, and always expect an EXPR_LIST.
1643 * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
1644 * sched-deps.c (sched_analyze_1): Likewise.
1645 * sched-rgn.c (check_live_1, update_live_1): Likewise.
1646
1647 * regclass.c (max_set_parallel): New variable.
1648 (reg_scan): Take it into account in computation of max_parallel.
1649 (reg_scan_mark_refs, case SET): Compute it.
1650
1651 * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
1652 args are REG.
1653 * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
1654 * function.c (assign_parms): Use INTVAL for a CONST_INT.
1655
1656 2001-01-19 Jason Merrill <jason@redhat.com>
1657
1658 * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
1659 for the abstract instance of an inline function.
1660
1661 Fri Jan 19 14:31:35 2001 Alexandre Oliva <aoliva@redhat.com>
1662 J"orn Rennecke <amylaar@redhat.com>
1663
1664 * reload1.c (move2add_note_store): Treat all registers directly or
1665 indirectly derived from a base register as members of the same set
1666 of values.
1667 (reload_cse_move2add): Adjust accordingly. Take mode and offset
1668 of base register into account.
1669
1670 Fri Jan 19 09:18:42 2001 J"orn Rennecke <amylaar@redhat.com>
1671
1672 * alias.c (find_base_value): Recognize TRUNCATE.
1673 (record_set): In PLUS case, invalidate if other summand is also a
1674 base value.
1675
1676 Thu Jan 18 06:43:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1677
1678 * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
1679 entry to be EXPR_LIST.
1680 * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
1681 be an EXPR_LIST (but not null, which other code doesn't allow).
1682 (note_stores): Properly handle PARALLEL in SET.
1683 Recursively call for top-level PARALLEL.
1684 * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
1685 * sched-rgn.c (check_live_1, update_live_1): Likewise.
1686
1687 * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
1688
1689 2001-01-18 Neil Booth <neil@daikokuya.demon.co.uk>
1690
1691 * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
1692 not pfile->skipping (== 0).
1693
1694 2001-01-17 Nick Clifton <nickc@redhat.com>
1695
1696 * config/rs6000/rs6000.c: Add prototypes for {init|free}_
1697 machine_status.
1698
1699 2001-01-17 Jim Wilson <wilson@redhat.com>
1700
1701 * invoke.texi (IA-64 options): Improve.
1702
1703 2001-01-17 Tom Tromey <tromey@redhat.com>
1704
1705 * invoke.texi (Optimize Options): Use `{}' to around @samp
1706 argument.
1707
1708 2001-01-17 Aldy Hernandez <aldyh@redhat.com>
1709
1710 * invoke.texi (-fno-guess-branch-probability): New option.
1711
1712 Wed Jan 17 13:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1713
1714 * combine.c (try_combine): Don't set i3_subst_into_i2 for
1715 case of making new double-word constant.
1716 Revert last change: instead just test i3_subst_into_i2.
1717
1718 2001-01-17 Jakub Jelinek <jakub@redhat.com>
1719
1720 * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
1721 Use q constraints instead of r.
1722
1723 Tue Jan 16 22:23:04 2001 Alan Modra (alan@linuxcare.com.au)
1724
1725 * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
1726 (machine_function): Define.
1727 (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
1728 * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
1729 pa_free_machine_status): New functions.
1730 (override_options): Set {init,mark,free}_machine_status to above.
1731 (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
1732 PIC_OFFSET_TABLE_REGNUM_SAVED.
1733 * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
1734 PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
1735 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
1736 references to PIC_OFFSET_TABLE_REGNUM_SAVED.
1737 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
1738
1739 2001-01-15 DJ Delorie <dj@redhat.com>
1740
1741 * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
1742 (cpp.1): Ditto.
1743 (gcc.1): Ditto.
1744
1745 Tue Jan 16 17:20:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1746
1747 * flow.c (propagate_on_insn): Make trying to delete a prologue
1748 or epilogue insn an ICE, not a warning. Allow doing this if
1749 the current function returns with stack pointer depressed.
1750
1751 * combine.c (try_combine): If i3_subst_into_i2, properly check for
1752 I3 having more than one SET.
1753
1754 2001-01-16 Jim Wilson <wilson@redhat.com>
1755
1756 * invoke.texi: Document IA-64 options.
1757
1758 * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
1759 (fixup_errata): Delete TARGET_A_STEP use.
1760 * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
1761 (TARGET_SWITCHES): Delete -ma-step option.
1762 * config/ia64/ia64.md (all FP patterns): Delete %B0.
1763 (movqicc_astep, movqi_internal_astep, movhicc_astep,
1764 movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
1765 movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
1766 movdfcc_astep, movdf_internal_astep, movtfcc_astep,
1767 movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
1768 Delete.
1769 (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
1770 movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
1771 cmovsi_internal): Delete ! TARGET_A_STEP check.
1772
1773 2001-01-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1774
1775 * gcc.texi (Bug Lists): Do not mention newsgroups nor the
1776 possibility to report bugs via postal mail. Change a URL and
1777 merge in a nearly duplicate statement...
1778 (Bug Reporting): ...from here.
1779 (Service): Refer to the Bug Reporting section instead of
1780 duplicating an URL.
1781 (Contributing): Remove trivial explanations concerning snapshots.
1782
1783 2001-01-16 Alan Modra <alan@linuxcare.com.au>
1784
1785 * cppmain.c (general_init): Don't use ANSI prototype.
1786
1787 2001-01-16 Tom Tromey <tromey@redhat.com>
1788
1789 * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
1790
1791 2001-01-16 Richard Henderson <rth@redhat.com>
1792
1793 * config/i386/i386.h: Fix comment typo.
1794 * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
1795 (ashr+compare patterns): Match CCGOCmode not CCNOmode.
1796
1797 2001-01-16 Phil Edwards <pme@sources.redhat.com>
1798
1799 * gcc.c: Revert previous -fsyntax-only-related change; move
1800 to cp/g++spec.c.
1801
1802 2001-01-16 Jakub Jelinek <jakub@redhat.com>
1803
1804 * config/i386/i386.c (fcmov_comparison_operator): Only initialize
1805 inmode after checking GET_CODE (op).
1806
1807 2001-01-16 Richard Henderson <rth@redhat.com>
1808
1809 * flow.c (struct propagate_block_info): Add mem_set_list_len.
1810 (MAX_MEM_SET_LIST_LEN): New.
1811 (propagate_one_insn): Update mem_set_list_len.
1812 (invalidate_mems_from_autoinc): Likewise.
1813 (invalidate_mems_from_set): Likewise.
1814 (mark_used_regs): Likewise.
1815 (init_propagate_block_info): Likewise. Stop collecting memories
1816 when we reach MAX_MEM_SET_LIST_LEN.
1817 (mark_set_1): Likewise.
1818
1819 2001-01-16 Richard Henderson <rth@redhat.com>
1820
1821 * unroll.c (precondition_loop_p): Fail if no iteration
1822 variable found.
1823
1824 2001-01-16 Phil Edwards <pme@sources.redhat.com>
1825
1826 * gcc.c: When -fsyntax-only is given, do not complain about
1827 unused libraries.
1828
1829 2001-01-15 Richard Henderson <rth@redhat.com>
1830
1831 * config/i386/i386.c (asm_output_function_prefix): Remove.
1832 (ix86_asm_file_end): New.
1833 (load_pic_register): Generate pic_label_name into a
1834 staticly allocated buffer.
1835 * config/i386/i386-protos.h: Update.
1836 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
1837 (ASM_FILE_END): New.
1838 * config/i386/i386afe.h: New file.
1839 * config.gcc (i?86-*-elf) [tm_file]: Use it.
1840 (i?86-*-{freebsd,linux*,moss*}): Likewise.
1841 * config/elfos.h (ASM_FILE_END): Undef before redefinition.
1842 * config/i386/cygwin.h (ASM_FILE_END): Likewise.
1843 * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
1844 * config/i386/sco5.h (ASM_FILE_END): Likewise.
1845 * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
1846
1847 2001-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
1848
1849 * Makefile.in (install-man): Remove explicit dependency on
1850 $(srcdir)/gcc.1.
1851
1852 * configure.in, configure: Revert previous patch requiring perl
1853 5.6.0.
1854
1855 2001-01-12 Aldy Hernandez <aldyh@redhat.com>
1856
1857 * toplev.c (flag_guess_branch_prob): New.
1858 (f_options): Add guess-branch-probability option.
1859 (rest_of_decl_compilation): Only estimate branch probability if
1860 flag set.
1861 (main): set flag_guess_branch_prob.
1862
1863 * flags.h (flag_guess_branch_prob): New.
1864
1865 2001-01-15 DJ Delorie <dj@redhat.com>
1866
1867 * gcc.texi (Makefile): Add documentation for Makefile targets.
1868
1869 2001-01-15 Philip Blundell <philb@gnu.org>
1870
1871 * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
1872 (is_pic): Delete.
1873 * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
1874 (is_pic): Delete declaration.
1875 * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
1876 (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
1877 * config/arm/arm.md (builtin_setjmp_receiver): New.
1878
1879 2001-01-15 Richard Earnshaw <rearnsha@arm.com>
1880
1881 * arm.c (use_return_insn): Don't try to determine the function type
1882 until after reload has completed.
1883 (arm_output_epilogue): Don't adjust the sp value recovered from the
1884 stack.
1885 (emit_multi_reg_push): Don't record dwarf information for the pc.
1886 * arm.md (eh_epilogue): The function type may have changed, so it
1887 needs to be recalculated.
1888 * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete. Can now use dwarf2
1889 unwind tables on arm/netbsd.
1890
1891 2001-01-15 Richard Earnshaw <rearnsha@arm.com>
1892
1893 * arm.md (cbranchsi4): Correct calculation of branch ranges.
1894 (negated_cbranchsi4): Likewise.
1895
1896 2001-01-15 Richard Earnshaw <rearnsha@arm.com>
1897
1898 * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
1899 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
1900 (ASM_SPEC): Call subtarget_extra_asm_spec. Don't
1901 pass -mapcs-* options to assembler.
1902 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
1903 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
1904 (ASM_SPEC): Call subtarget_extra_asm_spec.
1905
1906 2001-01-15 Andreas Jaeger <aj@suse.de>
1907
1908 * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
1909 warnings.
1910 (ix86_expand_builtin): Likewise.
1911
1912 * gencodes.c (output_predicate_decls): Make i size_t to avoid
1913 warning about comparison between signed and unsigned.
1914
1915 2001-01-14 Geoffrey Keating <geoffk@redhat.com>
1916
1917 * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
1918
1919 2001-01-14 Ralf Baechle <ralf@gnu.org>
1920
1921 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
1922 SUBTARGET_CPP_SPEC apropriatly.
1923
1924 2001-01-12 Mark Mitchell <mark@codesourcery.com>
1925
1926 * varasm.c (make_decl_rtl): Fix typo in last change.
1927
1928 2001-01-14 Jeffrey Oldham <oldham@codesourcery.com>
1929
1930 * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
1931 linker supports the init_priority C++ attribute.
1932 * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
1933 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
1934 linker does not support init_priority C++ attribute.
1935
1936 Sun Jan 14 22:31:30 2001 J"orn Rennecke <amylaar@redhat.com>
1937
1938 * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
1939
1940 2001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
1941
1942 * c-parse.in (finish_parse): Add comment about cpp_destroy.
1943 * cp/lex.c (finish_parse): Similarly.
1944 * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
1945 Return the number of errors encountered.
1946 * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
1947 * cppmain.c (main): Don't call cpp_destroy.
1948
1949 2001-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
1950
1951 * configure.in: Require at least perl 5.6.0 to regenerate
1952 manpages.
1953 * configure: Regenerate.
1954
1955 2001-01-14 Richard Henderson <rth@redhat.com>
1956
1957 * genrecog.c (DT_veclen_ge): New.
1958 (add_to_sequence) [MATCH_PARALLEL]: Generate one.
1959 (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
1960 (nodes_identical_1): Handle DT_veclen_ge.
1961 (write_cond, debug_decision_2): Likewise.
1962
1963 2001-01-14 Richard Earnshaw <rearnsha@arm.com>
1964
1965 * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete. Replace
1966 with ...
1967 (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
1968
1969 2001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
1970
1971 * cppmain.c (do_preprocessing): New function; most of the old
1972 main.
1973 (main): Call it to do most of the work.
1974 (cb): Move from global scope to set_callbacks ().
1975 (setup_callbacks): Get the callback pointer.
1976 (general_init, printer_init): Clean up code and comments.
1977
1978 2001-01-14 Richard Earnshaw <rearnsha@arm.com>
1979
1980 * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
1981 compiling PIC.
1982
1983 2001-01-14 Kazu Hirata <kazu@hxi.com>
1984
1985 * config/h8300/h8300.c (get_shift_alg): Update comments.
1986
1987 Sun Jan 14 06:20:49 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1988
1989 * ggc-page.c (alloc_annon): Call perror and correctly call exit.
1990 (alloc_page, ggc_alloc): Add casts to remove warnings.
1991
1992 2001-01-14 Geoffrey Keating <geoffk@redhat.com>
1993
1994 * combine.c (simplify_comparison): Don't change `code' when
1995 can't reverse comparison.
1996
1997 2001-01-14 Richard Henderson <rth@redhat.com>
1998
1999 * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
2000 update all call sites. Return true for all non-label constants.
2001
2002 Sun Jan 14 10:09:48 MET 2001 Jan hubicka <jh@suse.cz>
2003
2004 * i386.c (ix86_expand_compare): Add bypass_test and second_test
2005 parameters.
2006 (ix86_expand_branch): Update.
2007 (ix86_expand_setcc): Update to handle multiple test conditions.
2008 (expand_int_movcc): Likewise.
2009 (expand_fp_movcc): Likewise.
2010 * i386-protos.h (ix86_expand_compare): New.
2011 * i386.md (andqi_?_slp, orqi_?_slp): New.
2012 (conditional trap expander): Update call to ix86_expand_compare.
2013
2014 2001-01-14 Richard Henderson <rth@redhat.com>
2015
2016 * config/vax/vax.md: Use nonimmediate_operand instead of
2017 general_operand in destinations.
2018
2019 * config/vax/vax.md (indirect_jump): Use register_operand.
2020
2021 * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
2022 * config/vax/vax.md (call_pop): Turn into an expander.
2023 (call_value_pop): Likewise.
2024 (call, call_value): New.
2025
2026 2001-01-14 Andreas Jaeger <aj@suse.de>
2027
2028 * config/i386/i386.c (ix86_split_fp_branch): Remove unused
2029 variables.
2030 (ix86_fp_compare_mode): Add unused attribute.
2031 (ix86_expand_fp_movcc): Remove unused variable.
2032 (ix86_expand_builtin): Make fcode unsigned.
2033
2034 * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
2035 (expand_expr): Add cast to avoid signed warning.
2036 (store_field): Likewise.
2037 (store_constructor_field): Likewise.
2038 (store_constructor): Likewise.
2039 (store_expr): Likewise.
2040 (clear_storage): Likewise.
2041 (emit_group_store): Likewise.
2042 (emit_group_load): Likewise.
2043
2044 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
2045
2046 * c-common.c: Move format checking code to ...
2047 * c-format.c: ... here. New file. Reorder some functions and
2048 declarations.
2049 (decl_handle_format_attribute, decl_handle_format_arg_attribute):
2050 New functions.
2051 * c-common.h (decl_handle_format_attribute,
2052 decl_handle_format_arg_attribute): Declare.
2053 * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
2054 (c-common.o): Adjust dependencies.
2055 (c-format.o): New list of dependencies.
2056
2057 2001-01-13 Jakub Jelinek <jakub@redhat.com>
2058
2059 * unroll.c (loop_iterations): If we cannot prove iteration variable
2060 is set once in each iteration, punt.
2061
2062 Sun Jan 14 00:23:15 2001 Denis Chertykov <denisc@overta.ru>
2063
2064 * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
2065 (*strlenhi): Remove clobber (which was buggy) of output address.
2066
2067 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
2068
2069 * Makefile.in (generated-manpages): Add gcc.1
2070 ($(srcdir)/gcc.1): New target.
2071 (maintainer-clean): Delete $(srcdir)/gcc.1.
2072 * gcc.texi: Add macros @gccoptlist and @gol.
2073 * invoke.texi: Include option summary in manpage. Mark up option
2074 summary with @gccoptlist and @gol. Use @r in one place where
2075 appropriate.
2076 * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
2077 * gcc.1: Generate from invoke.texi.
2078
2079 2001-01-13 Richard Henderson <rth@redhat.com>
2080
2081 * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
2082 (struct page_entry): Add group member.
2083 (struct page_group): New.
2084 (struct globals): Add page_groups member.
2085 (alloc_anon): Only define for using mmap; remove valloc call.
2086 (page_group_index): New.
2087 (set_page_group_in_use): New.
2088 (clear_page_group_in_use): New.
2089 (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
2090 (free_page, release_pages): Likewise.
2091 * configure.in (with-gc): Default to ggc-page always.
2092
2093 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
2094
2095 * reload1.c (replace_pseudos_in_call_usage): Use
2096 reg_equiv_constant and reg_equiv_address, and don't try
2097 regno_reg_rtx first.
2098
2099 2001-01-13 Richard Henderson <rth@redhat.com>
2100
2101 * ggc-page.c (alloc_page): Round up allocation size to one page.
2102 Set e->order on extra pages.
2103
2104 2001-01-13 Richard Henderson <rth@redhat.com>
2105
2106 * genrecog.c (nodes_identical): Expand commentary.
2107 (write_switch): Watch out for identical nodes.
2108
2109 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
2110
2111 * cppfiles.c (_cpp_fake_include): New function.
2112 * cpphash.h (_cpp_fake_include): New.
2113 * cpplib.c (do_line): Call _cpp_fake_include when entering
2114 header files in preprocessed input.
2115 * cppmain.c (cb_pragma_implementation): Remove handling.
2116 (setup_callbacks): Don't register pragmas.
2117
2118 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
2119
2120 * extend.texi: Udate for CPP.
2121
2122 2001-01-13 Andreas Jaeger <aj@suse.de>
2123
2124 * reload1.c: Add prototype for replace_pseudos_in_call_usage.
2125
2126 * regmove.c: Add prototype for replace_in_call_usage.
2127
2128 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
2129
2130 * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
2131 struct cpp_chunk, struct htab, struct toklist,
2132 struct cpp_context, CPP_STACK_MAX, struct lexer_state,
2133 struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
2134 CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
2135 ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
2136 (struct macro_args): Delete.
2137 * cpphash.h: See above.
2138
2139 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
2140
2141 * cppmain.c (struct printer): Remove no_line_dirs.
2142 (options, cb): New.
2143 (main, setup_callbacks, scan_buffer, printer_init, cb_define)
2144 : Use options rather than CPP_OPTION.
2145 (setup_callbacks): Use cb rather than pfile->cb.
2146 (main): No need to check for a buffer. Use cpp_errors.
2147 (printer_init): Don't set no_line_dirs.
2148 (maybe_print_line): Use options not no_line_dirs.
2149 (cb_file_change): Don't call print_line if -P.
2150
2151 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
2152
2153 * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
2154 callbacks.
2155 * c-parse.in (finish_parse): Use cpp_errors.
2156 (__yylex): Use return value of cpp_pop_buffer.
2157 * cp/lex.c (finish_parse): Use cpp_errors.
2158 * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
2159
2160 Sat Jan 13 16:57:40 2001 Denis Chertykov <denisc@overta.ru>
2161
2162 * README.AVR: URLs corrected.
2163
2164 Sat Jan 13 07:30:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2165
2166 * c-decl.c (start_function): Don't warn if old prototype is builtin
2167 that's not in C's namespace.
2168 * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
2169 (_bb): Add prototype for ctime.
2170 * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
2171
2172 Sat Jan 13 09:53:32 MET 2001 Jan Hubicka <jh@suse.cz>
2173
2174 * i386.c (ix86_fp_comparison_arithmetics_cost,
2175 ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
2176 ix86_fp_comparison_cost): New functions.
2177 (ix86_expand_fp_compare): Use the costs to choose best bethod; add
2178 two new parameters SECOND_TEST and BYPASS_TEST; allow generating
2179 two-branch sequences; make static.
2180 (ix86_use_fcomi_compare): Do decision according to the costs.
2181 (split_fp_branch): New.
2182 * i386.md (compare-and-branch patterns): Use split_fp_branch.
2183 * i386-protos.h (ix86_expand_fp_compare): Remove
2184 (ix86_split_fp_branch): Declare.
2185
2186 * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
2187 and ix86_comparison_operator.
2188
2189 * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
2190 to make it cheaper.
2191
2192 * i386.c (put_condition_code): Output properly the unordered/ordered
2193 compares in fp case.
2194 (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
2195
2196 * tm.texi (REVERSE_CONDITION): Document.
2197 * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
2198 in -ffast-math mode.
2199 * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
2200
2201 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
2202
2203 * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
2204
2205 * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
2206 optimized away.
2207
2208 * config/sh/sh.c (mova_p): Fix test for mova_const.
2209
2210 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
2211
2212 * fix-header.c (read_scan_file): Use cpp_get_callbacks and
2213 cpp_get_options rather than dereferencing pfile and using
2214 CPP_OPTION.
2215 * scan-decls.c (scan_decls): Use return value of
2216 cpp_pop_buffer rather than CPP_BUFFER.
2217
2218 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
2219
2220 * cppinit.c (cpp_handle_option): help_only is now part of the
2221 cpp_options structure.
2222 * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
2223 cpp_set_callbacks): New functions.
2224 * cpplib.h (cpp_callbacks): Break out as a named structure.
2225 (cpp_options): Move help_only here from cpp_reader.
2226 (CPP_FATAL_ERRORS): Update to use cpp_errors.
2227 (cpp_errors, cpp_get_options, cpp_get_callbacks,
2228 cpp_set_callbacks): New prototypes.
2229 * cppmain.c (main): Update for help_only.
2230
2231 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
2232
2233 * Makefile.in (info, maintainer-clean, install-info, uninstall):
2234 Also build and remove and install and uninstall c-tree.info and
2235 cppinternals.info.
2236 ($(srcdir)/gcc.info): Add dependency on contrib.texi.
2237 ($(srcdir)/cppinternals.info): New target.
2238 * c-tree.texi: Change file name used when makeinfo used without -o
2239 from ir.info to c-tree.info. Add info directory entry.
2240 * cppinternals.texi: Add info directory entry.
2241 * .cvsignore: Update.
2242
2243 2001-01-12 Jakub Jelinek <jakub@redhat.com>
2244
2245 * c-typeck.c (store_init_value): Don't require constant initializer
2246 elements with -pedantic -std=c99.
2247 (digest_init): Change error about non-constant initializer elements
2248 into pedwarn.
2249 (constructor_range_end): Remove.
2250 (constructor_incremental, designator_depth,
2251 designator_errorneous): New variables.
2252 (struct constructor_stack): Remove range_end, add incremental.
2253 (struct constructor_range_stack, constructor_range_stack): New.
2254 (struct initializer_stack): Add constructor_range_stack.
2255 (finish_init): Set it.
2256 (start_init): Likewise. require_constant_elements for non-static
2257 trees only if not flag_isoc99.
2258 (really_start_incremental_init): Remove constructor_range_end, add
2259 constructor_incremental.
2260 (pop_init_level): Likewise.
2261 (push_init_level): Likewise. If implicit and the subobject had some
2262 value set already, preinitialize the level with it.
2263 Warn about missing braces only if not pushing due to designators.
2264 (set_designator, push_range_stack): New functions.
2265 (set_init_label): Use them.
2266 (set_init_index): Likewise. Remove constructor_range_end.
2267 Error if designator index is outside of array bounds.
2268 (add_pending_init): Compare values of purpose index trees, not the
2269 trees themselves. Allow overwriting of already initialized element.
2270 Issue a warning if it had side-effects.
2271 (set_nonincremental_init, set_nonincremental_init_from_string): New
2272 functions.
2273 (pending_init_member): Rename to...
2274 (find_init_member): ...this function. Call set_nonincremental_init
2275 if necessary. Compare values of purpose index trees, not the trees
2276 themselves. Return the actual value, not just non-zero if something
2277 is found.
2278 (output_init_element): Remove checks for duplicates.
2279 If field has zero size, only check the initializer for correctness.
2280 Call set_nonincremental_init if necessary. Push RECORD/ARRAY into AVL
2281 if constructor_incremental is zero. Change error about initializers
2282 not computable at load time into pedwarn.
2283 (output_pending_init_elements): Compare bit positions, not
2284 FIELD_DECLs to take into account zero-sized fields.
2285 (process_init_element): Use constructor_range_stack to fill all
2286 ranges in the designator lists from current level up.
2287 * extend.texi: Update documentation for labeled elements.
2288
2289 2001-01-12 Alexandre Oliva <aoliva@redhat.com>
2290
2291 * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
2292 to function usage for arguments passed by reference. Optimize
2293 callee-copied arguments.
2294 * regmove.c (replace_in_call_usage): New function.
2295 (fixup_match_1): Call it.
2296 * cse.c (cse_insn): Canonicalize registers in function usage.
2297 * reload1.c (replace_pseudos_in_call_usage): New function.
2298 (reload): Call it.
2299
2300 * Makefile.in: Reverted yesterday's wrong patch. Installed the
2301 right version.
2302
2303 2001-01-12 Jakub Jelinek <jakub@redhat.com>
2304
2305 * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
2306 not XEXP (tmp, 0).
2307
2308 2001-01-12 DJ Delorie <dj@redhat.com>
2309
2310 * Makefile.in (bootstrap): rename stages to be mnemonic. Add
2311 restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
2312 targets.
2313
2314 2001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
2315
2316 * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
2317 tm.texi: Consistently refer to ISO C instead of ANSI C. Refer to
2318 -std options alongside references to -ansi. Update some
2319 documentation for C99.
2320 * cpp.1: Regenerate.
2321
2322 2001-01-12 Andreas Jaeger <aj@suse.de>
2323
2324 * haifa-sched.c (restore_line_notes): Remove argument block B
2325 since it's unused.
2326 * sched-ebb.c (schedule_ebb): Change caller.
2327 * sched-rgn.c (schedule_region): Likewise.
2328 * sched-int.h (restore_line_notes): Adjust prototype.
2329
2330 * loop.h: Remove wrong declaration of doloop_condition_get.
2331
2332 2001-01-12 Phil Edwards <pme@sources.redhat.com>
2333
2334 * extend.texi: Move C++-extension-related node from the C section
2335 into the C++ section.
2336
2337 2001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
2338
2339 * extend.texi: Refer to an array of pointers to functions instead
2340 of one of functions.
2341
2342 Fri Jan 12 12:08:12 MET 2001 Andreas Jaeger <aj@suse.de>
2343 Jan Hubicka <jh@suse.cz>
2344
2345 * combine.c (reversed_comparison): Fix typo in last patch.
2346 Check X for NULL.
2347 (combine_reversed_comparison_code): Make static to follow
2348 prototype declaration.
2349
2350 2001-01-12 Phil Edwards <pme@sources.redhat.com>
2351
2352 * install.texi: Remove misplaced duplicate entry.
2353
2354 2001-01-11 Ulrich Drepper <drepper@redhat.com>
2355
2356 * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
2357
2358 Thu Jan 11 17:06:30 EST 2001 John Wehle (john@feith.com)
2359
2360 * final.c: (leaf_function_p): Fix typo.
2361
2362 2001-01-11 Zack Weinberg <zack@wolery.stanford.edu>
2363
2364 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
2365 Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
2366 which you have.
2367 (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
2368 * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
2369 mmap_anon, and valloc is available.
2370 * ggc-page.c: Restructure ifdef logic to match new autoconf
2371 spec. Don't throw away the test page in init_ggc.
2372
2373 * configure, config.in: Regenerate.
2374
2375 2001-01-12 Michael Hayes <mhayes@redhat.com>
2376
2377 * loop.h (total_biv_increment): Constify iv_class pointer.
2378 (struct induction): Replace `mem_mode' with `mem' rtx.
2379 * unroll.c (total_biv_increment): Constify iv_class pointer.
2380 * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
2381 (find_mem_givs, combine_givs_p): Likewise.
2382 (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
2383
2384 2001-01-10 Thomas Pfaff <tpfaff@gmx.net>
2385
2386 * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
2387 LastError.
2388 (__gthread_getspecific): Ditto.
2389
2390 Fri Jan 12 00:04:00 MET 2001 Jan Hubicka <jh@suse.cz>
2391
2392 * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
2393 put_condition_code): Convert fp comparison codes to integer
2394 before handling.
2395 (ix86_expand_fp_compare): Postnote the fp comparison code converison
2396 to final.
2397
2398 * i386.c (unsigned_comparison, no_comparison_operator): Kill.
2399 * i386-protos.h (no_comparison_operator): Kill.
2400
2401 * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
2402
2403 * combine.c (REVERSIBLE_CC_MODE): Remove.
2404 (reversible_comparison_p): Remove.
2405 (combine_reversed_comparison_code): New.
2406 (reversed_comparison): New.
2407 (combine_simplify_rtx): Use
2408 combine_reversed_comparison_code/reversed_comparison instead
2409 of reversible_comparison_p.
2410 (simplify_if_then_else): Likewise.
2411 (simplify_set): Likewise.
2412 (simplify_logical): Likewise.
2413 (if_then_else_cond): Likewise.
2414 (known_cond): Likewise.
2415 (simplify_comparison): Likewise.
2416
2417 2001-01-11 Alan Lehotsky <lehotsky@tiac.net>
2418
2419 * builtins.c (std_expand_builtin_va_start): Handle varargs when
2420 sizeof (int) is larger than sizeof(__word__).
2421
2422 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
2423
2424 * cppinit.c (do_includes): Fix typo.
2425
2426 2001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2427
2428 * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
2429 in S_REGS does not occur because not all sources are possible
2430 when a S_REGS is a destination (sometimes needs a clobber).
2431 (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
2432 (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
2433 (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
2434 (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
2435 (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
2436 (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
2437 (lshrdi_const1, lshrsi3_const16): Likewise.
2438 (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
2439 (*movhi_68hc12, *movqi_68hc12): Likewise.
2440 (movstrictqi): Make sure reloading in D_REGS as a destination
2441 does not happen.
2442
2443 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
2444
2445 * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
2446
2447 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
2448
2449 * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
2450 -D, -U and -A, and don't initialize the builtins.
2451 (do_includes): Error if -include or -imacros with -fpreprocessed.
2452 * cppmain.c (cb_define, cb_undef): Unconditionally process
2453 the callback.
2454 * tradcpp.c (main): Fix typo.
2455
2456 2000-01-11 Mark Elbrecht <snowball3@bigfoot.com>
2457
2458 * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
2459 (read_name_map): Use IS_ABSOLUTE_PATH.
2460 * tradcpp.c (get_filename): Likewise.
2461
2462 2001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2463
2464 * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
2465 (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
2466 (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
2467 (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
2468 (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
2469 (cmphi_z_used): Don't use '@' for the output.
2470 (tstqi_z_used): Likewise.
2471 (cmpqi_z_used): Likewise.
2472 (one_cmplsi2): Likewise.
2473
2474 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
2475
2476 * config/sh/sh.c (barrier_align): Recognize branch around far
2477 branch and redundant insn.
2478
2479 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
2480
2481 * invoke.texi: Restore documentation of the drivers' switches -MD
2482 and -MMD.
2483
2484 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
2485
2486 * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
2487
2488 * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
2489 check-objc//%): Support parallel testing of multilibs.
2490 (TESTSUITEDIR): Set to testsuite by default, but override for
2491 parallel testing.
2492 (check-gcc, check-g++, check-g77, check-objc): Enter
2493 $(TESTSUITEDIR).
2494
2495 2001-01-11 Bernd Schmidt <bernds@redhat.com>
2496
2497 * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
2498 * sched-deps.c (deps_may_trap_p): Likewise.
2499 * basic-block.h: Remove a comment.
2500 * flow.c (PROP_POSTRELOAD): Remove.
2501 (update_life_info): Don't add it to prop_flags.
2502 (mark_set_1): Lose the code that was enabled by it.
2503
2504 2001-01-11 Michael Hayes <mhayes@redhat.com>
2505
2506 * flow.c (flow_call_edges_add): New.
2507 * basic_block.h (flow_call_edges_add): New.
2508
2509 2001-01-11 J"orn Rennecke <amylaar@redhat.com>
2510
2511 * reload1.c (move2add_note_store): Update reg_set_luid even if
2512 base reg remains the same.
2513
2514 2001-01-10 Nick Clifton <nickc@redhat.com>
2515
2516 * config/d30v/d30v.c (d30v_init_machine_status): Initialise
2517 machine_function structure to zero.
2518 Add prototypes for machine_status functions.
2519
2520 2001-01-10 Mark Mitchell <mark@codesourcery.com>
2521
2522 * c-common.h (CTI_VOID_LIST): Remove.
2523 (void_list_node): Likewise.
2524 * tree.h (TI_VOID_LIST_NODE): New enumeral.
2525 (void_list_node): New macro.
2526 * config/arm/arm.c (arm_init_builtins): Use void_list_node.
2527 * config/i386/i386.c (ix86_init_builtins): Likewise.
2528 * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
2529
2530 2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
2531
2532 * Makefile.in (tradcpp0): Depend on mkdeps.h. Link mkdeps.o
2533 * cppinit.c (cpp_start_read): Update comment, remove unneeded
2534 if statement.
2535 * tradcpp.c: Include mkdeps.h.
2536 (deps, print_deps_phony_targets, deps_append, output_deps,
2537 init_dependency_output, output_deps): New.
2538 (deps_buffer, deps_allocated_size, deps_size, deps_column,
2539 deps_output): Delete.
2540 (print_deps_missing_files): Rename deps_missing_files.
2541 (inhibit_output): Make global.
2542 (main): Delete inhibit_output, deps_stream, deps_target.
2543 Use mkdeps functionality in the same way as cpplib. Remove
2544 -g3 handling. Handle -MF, -MP, -MQ, -MT. Update handling of
2545 -M and -MM. Remove old handling of deps via deps_out, and
2546 old reading of environment variables.
2547 (get_filename): Update to use deps_add_dep.
2548
2549 2001-01-10 Mark Mitchell <mark@codesourcery.com>
2550
2551 * output.h (make_function_rtl): Remove prototype.
2552 (make_decl_rtl): Likewise.
2553 * varasm.c (make_function_rtl): Remove.
2554 (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
2555 than from a third parameter.
2556 * tree.h (make_decl_rtl): Remove last parameter.
2557 * c-decl.c (builtin_function): Remove last argument in call to
2558 make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
2559 (start_function): Likewise.
2560 * except.c (call_get_eh_context): Likewise.
2561 * expr.c (emit_block_move): Likewise.
2562 (clear_storage): Likewise.
2563 * profile.c (output_func_start_profiler): Likewise.
2564 * toplev.c (rest_of_decl_compilation): Likewise.
2565 * objc/objc-act.c (create_builtin_decl): Likewise.
2566 (synth_module_prologue): Likewise.
2567 (generate_static_reference): Likewise.
2568 (build_selector_reference_decl): Likewise.
2569 (build_class_reference_decl): Likewise.
2570 (build_objc_string_decl): Likewise.
2571 (build_protocol_reference): Likewise.
2572
2573 2001-01-10 Richard Henderson <rth@redhat.com>
2574
2575 * hwint.h: Revert yesterday's change.
2576
2577 2001-01-10 Nick Clifton <nickc@redhat.com>
2578
2579 * function.h (save_machine_status): Delete.
2580 (restore_machine_status): Delete.
2581 Amend comment describing {init|mark|free}_machine_status.
2582
2583 * function.c (save_machine_status): Delete.
2584 (restore_machine_status): Delete.
2585 Amend comment describing {init|mark|free}_machine_status.
2586 (push_function_context_to): Remove invocation of
2587 save_machine_status.
2588 (pop_function_context_from): Remove invocation of
2589 restore_machine_status.
2590
2591 * emit-rtl.c (init_emit_once): Amend comment describing
2592 {init|mark|free}_machine_status.
2593
2594 * tm.texi (Per-Function Data): New node. Describe the
2595 INIT_EXPANDERS macro and the {init|mark|free}_machine_status
2596 function pointers.
2597
2598 2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
2599
2600 * cppinit.c (OPT_g): Remove.
2601 (cpp_handle_option): Update for removed -g3.
2602 (print_help): Update.
2603 * cpplib.h (struct cpp_options): Remove debug_output.
2604 * cppmain.c (setup_callbacks, cb_define): Update.
2605 * gcc.c (cpp_options): Translate -g3 to -dD.
2606
2607 2001-01-10 Aldy Hernandez <aldyh@redhat.com>
2608
2609 * config/i960/i960.md: Change modifier to + on the zero_extract
2610 pattern after the (rotate -2 reg) canonicalization pattern.
2611
2612 2001-01-10 Richard Henderson <rth@redhat.com>
2613
2614 * config/alpha/alpha.c (alpha_free_machine_status): New.
2615 (override_options): Install it.
2616 (alpha_mark_machine_status): Verify machine non-null.
2617 * config/i386/i386.c (ix86_free_machine_status): New.
2618 (override_options): Install it.
2619 (ix86_init_machine_status): Use xcalloc.
2620 (ix86_mark_machine_status): Verify machine non-null.
2621 * config/ia64/ia64.c (ia64_free_machine_status): New.
2622 (ia64_override_options): Install it.
2623 (ia64_mark_machine_status): Verify machine non-null.
2624
2625 Wed Jan 10 11:34:39 2001 Jeffrey A Law (law@cygnus.com)
2626
2627 * function.c (instantiate_virtual_regs): Instantiate virtual
2628 registers found in CALL_INSN_FUNCTION_USAGE.
2629
2630 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
2631
2632 * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
2633 equivalent to -ansi in disabling -Di386.
2634
2635 Wed Jan 10 16:38:31 MET 2001 Jan Hubicka <jh@suse.cz>
2636
2637 * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
2638 new functions.
2639 (ix86_expand_fp_compare): Make trivial use of new infrastructure.
2640
2641 2001-01-10 Richard Earnshaw <rearnsha@arm.com>
2642
2643 * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
2644
2645 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
2646
2647 * invoke.texi: Document that -fcond-mismatch isn't supported for
2648 C++.
2649
2650 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
2651
2652 * gcc.texi: Define macro gcctabopt.
2653 * invoke.texi: Add manpage sections BUGS and AUTHOR. Use
2654 @command, @env and @option in some places where appropriate. Use
2655 @gcctabopt where appropriate. Put URLs and email addresses inside
2656 @w.
2657
2658 2001-01-10 Nathan Sidwell <nathan@codesourcery.com>
2659
2660 * gcc.c (cpp_options): Set MD file name from output
2661 filename, if specified.
2662 (suffix_subst): New static variable.
2663 (do_spec): Clear it.
2664 (do_spec_1, case '.'): Handle new `%.suffix' spec.
2665 Clear it.
2666 (give_switch): Handle suffix_subst.
2667
2668 2001-01-10 Phil Edwards <pme@sources.redhat.com>
2669
2670 * invoke.texi: Fix another typo.
2671
2672 2001-01-10 Phil Edwards <pme@sources.redhat.com>
2673
2674 * invoke.texi: Fix typo.
2675
2676 2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
2677
2678 * c-lang.c (lang_hooks): Update.
2679 (lang_decode_option): Remove.
2680 (lang_init_options): Rename c_init_options.
2681 * toplev.c (main): Use lang_hooks for lang_init_options
2682 and lang_decode_option.
2683 * toplev.h (lang_hooks): Add 2 new hooks.
2684 * tree.h: Remove lang_init_options and lang_decode_option.
2685 * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
2686 * cp/decl2.c: Similarly.
2687 * cp/lex.c (lang_init_options): Rename cxx_init_options.
2688 (lang_hooks): Update.
2689 * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
2690 for consistency.
2691 (lang_init_options): Rename ffe_init_options.
2692 (lang_hooks): Update.
2693 (lang_decode_option): Remove.
2694 * java/lang.c (lang_init_options): Rename java_init_options.
2695 (lang_decode_option): Rename java_decode_option.
2696 (lang_hooks): Update.
2697 * objc/objc-act.c (lang_init_options): Rename objc_init_options.
2698 (lang_decode_option): Rename objc_decode_option.
2699 (lang_hooks): Update.
2700
2701 2001-01-09 Nick Clifton <nickc@redhat.com>
2702
2703 * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
2704 (d30v_return_addr_rtx): Delete.
2705 (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
2706 cfun->machine structure.
2707 (struct machine_function): Move to d30v.h
2708 (d30v_save_machine_status): Delete.
2709 (d30v_restore_machine_status): Delete.
2710 (d30v_init_machine_status): New Function.
2711 (d30v_mark_machine_status): New Function.
2712 (d30v_free_machine_status): New Function.
2713 (d30v_init_expanders): Use new functions.
2714 (d30v_return_addr): Use ra_rtx field in cfun->machine.
2715 (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
2716 d30v_return_addr_rtx.
2717
2718 * config/d30v/d30v.h (struct_machine): Move here.
2719 Add eh_epilogue_sp_ofs field.
2720
2721 *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
2722 field in cfun->machine structure.
2723
2724 Tue Jan 9 21:34:57 2001 John David Anglin <dave@hiauly1.hia.nrc.ca>
2725
2726 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
2727 PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
2728 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
2729
2730 Tue Jan 9 21:25:19 2001 Jeffrey A Law (law@cygnus.com)
2731
2732 * objc/lang-options.h: Remove bogus reference to
2733 Java trademark.
2734
2735 2001-01-09 Kazu Hirata <kazu@hxi.com>
2736
2737 * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
2738 return the result.
2739
2740 2001-01-09 Alan Lehotsky <lehotsky@tiac.net>
2741
2742 * reload.c (find_reloads_address): Check for eliminable registers
2743 when substituting a constant expression for a pseudo.
2744
2745 2001-01-09 Joseph S. Myers <jsm28@cam.ac.uk>
2746
2747 * c-common.c (enum format_type): Add format_type_error.
2748 (decode_format_type): New function.
2749 (decl_attributes): Use it.
2750 (format_kind_info): Adjust comment.
2751
2752 2001-01-09 David O'Brien <obrien@BSDi.com>
2753
2754 * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
2755 i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
2756 files in tm_file.
2757 * config/i386/gnu.h: Don't include required platform specific .h files,
2758 tm.h will do it instead.
2759 * config/i386/i386elf.h: Likewise.
2760 * config/i386/linux.h: Likewise.
2761 * config/i386/moss.h: Likewise.
2762 * config/mips/gnu.h: Likewise.
2763
2764 2001-01-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2765
2766 * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
2767 (rs6000-ibm-aix3.[01]*): Likewise.
2768 (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
2769 (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
2770 (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
2771 (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
2772 (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
2773 (powerpc-*-eabiaix*): Likewise.
2774 (powerpc-*-eabisim*): Likewise.
2775 (powerpc-*-elf*): Likewise.
2776 (powerpc-*-eabi*): Likewise.
2777 (powerpc-*-rtems*): Likewise.
2778 (powerpc-*-linux*libc1): Likewise.
2779 (powerpc-*-linux*): Likewise.
2780 (powerpc-wrs-vxworks*): Likewise.
2781 (powerpcle-wrs-vxworks*): Likewise.
2782 (powerpcle-*-sysv*): Likewise.
2783 (powerpcle-*-elf*): Likewise.
2784 (powerpcle-*-eabisim*): Likewise.
2785 (powerpcle-*-eabi*): Likewise.
2786 (powerpcle-*-solaris2*): Likewise.
2787 * config/rs6000/aix31.h: Delete includes.
2788 * config/rs6000/aix3newas.h: Likewise.
2789 * config/rs6000/aix41.h: Likewise.
2790 * config/rs6000/aix43.h: Likewise.
2791 * config/rs6000/beos.h: Likewise.
2792 * config/rs6000/rtems.h: Likewise.
2793 * config/rs6000/sysv4.h: Likewise.
2794
2795 2001-01-09 Kazu Hirata <kazu@hxi.com>
2796
2797 * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
2798 Change an argument mode of machine_mode to shift_mode of
2799 shift_mode. Remove an extra error check.
2800 (emit_a_shift): Adopt to the new calling prototype of
2801 get_shift_alg.
2802 (function_prologue): Fix code for a monitor
2803 function. Support H8/S.
2804 (function_epilogue): Do not output pop for a monitor function.
2805
2806 2001-01-09 Nick Clifton <nickc@redhat.com>
2807
2808 * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
2809 (setup_incoming_varargs): Use sysv_varargs_p field of the
2810 cfun->machine structure.
2811 (struct machine_function): Move to rs6000.h
2812 (rs6000_save_machine_status): Delete.
2813 (rs6000_restore_machine_status): Delete.
2814 (rs6000_init_machine_status): New Function.
2815 (rs6000_free_machine_status): New Function.
2816 (rs6000_init_expanders): Use new functions.
2817
2818 * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
2819 export.
2820 (struct machine_function): Move here.
2821
2822 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
2823 sysv_varargs_p field of the cfun->machine structure.
2824
2825 * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
2826 Remove prototype.
2827 (rs6000_restore_machine_status): Remove prototype.
2828
2829 2001-01-09 Richard Henderson <rth@redhat.com>
2830
2831 * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
2832 reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
2833 * sched-deps.c (sched_analyze_1): Update uses of struct deps.
2834 (sched_analyze_2, sched_analyze_insn): Likewise.
2835 (sched_analyze, init_deps): Likewise.
2836 (free_deps): Likewise. Iterate with EXECUTE_IF_SET_IN_REG_SET.
2837 * sched-rgn.c (propagate_deps): Likewise. Remove max_reg argument.
2838 (compute_block_backward_dependences): Update propagate_deps call.
2839
2840 2001-01-09 Mark Elbrecht <snowball3@bigfoot.com>
2841
2842 * gcc.c (process_command): Set switches[n_switches].ordering to 0.
2843
2844 2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
2845
2846 * cppinit.c (OPT_MD, OPT_MMD): Restore.
2847 (cpp_handle_option): Handle them.
2848 (cpp_post_options): Ensure one of -M or -MM is specified with
2849 any other -M? option.
2850 (init_dependency_output): Suppress output with -MG.
2851
2852 2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
2853
2854 * cpp.texi: Update.
2855 * invoke.texi: Update.
2856
2857 2001-01-09 Bernd Schmidt <bernds@redhat.com>
2858
2859 * sh.md (reload_outsf): Generate recognizable patterns for
2860 TARGET_SH3E.
2861
2862 2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
2863
2864 * c-lang.c (lang_hooks): Update.
2865 (lang_init): Rename c_init.
2866 (lang_finish): Remove.
2867 * toplev.c (compile_file): Use lang_hooks for lang_init ()
2868 and lang_finish ().
2869 * toplev.h (lang_hooks): Add init () and finish ().
2870 * tree.h (lang_init, lang_finish): Remove.
2871 * cp/tree.h (lang_init, lang_finish): Remove.
2872 * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
2873 * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
2874 lang_hooks): New.
2875 (lang_init, lang_finish): Remove.
2876 * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
2877 (lang_hooks): Update.
2878 * java/lang.c (lang_init): Rename java_init.
2879 (lang_finish): Remove.
2880 (lang_hooks): Update.
2881 * objc/objc-act.c (lang_init): Rename objc_init.
2882 (lang_finish): Remove.
2883 (lang_hoooks): Update.
2884
2885 20001-01-09 Graham Stott <grahams@redhat.com>
2886
2887 * cppfiles.c (_cpp_execute_include): Move `len` initialisation
2888 after `ptr` is initialised.
2889
2890 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
2891
2892 * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
2893 (INITIALIZE_TRAMPOLINE): Adjust accordingly.
2894 * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
2895 stack adjusts, instead of r3.
2896
2897 2001-01-09 Michael Hayes <mhayes@redhat.com>
2898
2899 * flow.c (flow_loop_scan): Break out of ...
2900 (flow_loops_find) ... here.
2901 * basic-block.h (flow_loop_scan): New.
2902 (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
2903 (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
2904
2905 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
2906
2907 * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
2908 macro_buffer_len.
2909 * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
2910 realloc()ing macro_buffer.
2911
2912 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
2913 if it's wider than long and the target's long is wider than the
2914 host's.
2915
2916 2001-01-09 Mark Mitchell <mark@codesourcery.com>
2917
2918 Remove support for using UWIN as a host machine.
2919 * configure.in: Issue an error message.
2920 * configure: Regenerated.
2921 * config.gcc: Remove xm_* UWIN configury.
2922 * config/i386/xm-uwin.h: Remove.
2923
2924 2001-01-08 Nick Clifton <nickc@redhat.com>
2925
2926 * config/v850/v850.c (ra_rtx): Delete.
2927 (v850_save_machine_status): Delete.
2928 (v850_restore_machine_status): Delete.
2929 (v850_init_machine_status): New function.
2930 (v850_mark_machine_status): New function.
2931 (v850_free_machine_status): New function.
2932 (v850_return_addr): Use ra_rtx field in machine structure.
2933 (v850_init_expanders): Use new functions.
2934
2935 * config/v850/v850-protos.h: Fix prototypes for v850_output_*
2936 * config/v850/v850.c: Change arguments to v850_output+* functions
2937 to take a const char *, to avoid compile time warning.
2938 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
2939 (USER_LABEL_PREFIX): Redefine.
2940
2941 2000-01-08 Jim Wilson <wilson@redhat.com>
2942
2943 * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
2944 1 to unsigned HOST_WIDE_INT before left shift.
2945
2946 2001-01-08 Nick Clifton <nickc@redhat.com>
2947
2948 * config/arm/arm.c (arm_mark_machine_status): Check to see if
2949 the machine structure has been allocated.
2950 (arm_free_machine_status): New function: Free the machine
2951 specific function structure.
2952
2953 2001-01-08 Richard Henderson <rth@redhat.com>
2954
2955 * jump.c (simplejump_p): Revert last change.
2956
2957 2001-01-08 Neil Booth <neil@daikokuya.demon.co.uk>
2958
2959 * cppinit.c (init): Rename init_library.
2960 (cpp_create_reader): Update.
2961 * gcc.c (cpp_options): If -o given, use it as the target of
2962 any -M options.
2963
2964 2001-01-08 Richard Earnshaw <rearnsha@arm.com>
2965
2966 * arm.c (arm_arch5e): New variable.
2967 (all_cores): XScale is a 5TE device.
2968 (arm_override_options): Set arm_arch5e.
2969 (arm_init_builtins): __builtin_prefetch is in arch5e.
2970 * arm.h (arm_arch5e): Declare it.
2971
2972 * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
2973
2974 * arm.md (define_constants): Add defines for UNSPEC and
2975 UNSPEC_VOLATILE insns. Update all users.
2976 (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
2977 * arm.c (multi_register_push, note_invalid_constants)
2978 (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
2979 * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
2980 (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
2981
2982 Mon Jan 8 16:14:56 MET 2001 Jan Hubicka <jh@suse.cz>
2983
2984 * jump.c (jump_optimize_1): Use reversed_comparison_code
2985 instead of can_reverse_comparison_p.
2986 (jump_back_p): Likewise.
2987 (invert_exp_1): Likewise.
2988 (thread_jumps): Likewise.
2989 * simplify-rtx.c (simplify_unary_operation): Likewise.
2990 (simplify_ternary_operation): Likewise.
2991 * cse.c (find_comparison_args): Convert to use
2992 can_reverse_comparison_p.
2993 (record_jump_equiv): Likewise.
2994
2995 2001-01-08 Richard Earnshaw <rearnsha@arm.com>
2996
2997 * arm.h (HARD_REGNO_RENAME_OK): Delete.
2998 (EPILOGUE_USES): Define.
2999 (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
3000 automatically stack the LR if it isn't live.
3001
3002 Mon Jan 8 13:46:02 MET 2001 Jan Hubicka <jh@suse.cz>
3003
3004 * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
3005 properly.
3006
3007 Sun Jan 7 18:37:43 2001 Mark P Mitchell <mark@codesourcery.com>
3008
3009 * ggc-page.c (max_alignment): New structure.
3010 (MAX_ALIGNMENT): New macro.
3011 (init_ggc): Use it to round up the sizes in the
3012 extra_order_size_table.
3013
3014 2001-01-07 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3015
3016 * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
3017 after reload.
3018
3019 2001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3020
3021 * builtins.def (BUILT_IN_FPRINTF): New entry.
3022
3023 * c-common.c (c_expand_builtin_fprintf): New function.
3024 (init_function_format_info): Handle __builtin_fprintf.
3025 (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
3026 (c_expand_builtin): Handle BUILT_IN_FPRINTF.
3027
3028 * c-decl.c (duplicate_decls): Adjust comment.
3029
3030 * extend.texi (fprintf): Document new builtin.
3031
3032 2001-01-07 Richard Henderson <rth@redhat.com>
3033
3034 * jump.c (simplejump_p): Recognize any single_set jump
3035 of the proper form.
3036
3037 2001-01-07 Richard Henderson <rth@redhat.com>
3038
3039 * configure.in (slibdir): Accept an --with-slibdir option.
3040 Use "test" not "[" in configure. Default to $(libdir).
3041
3042 * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
3043 fix typo in rm -f.
3044 * config/t-aix43 (SHLIB_INSTALL): Likewise.
3045 * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
3046 (SHLIB_LINK): Create links for the soname.
3047 * config/mips/t-iris6: Likewise.
3048 * config/sparc/t-slibgcc: Likewise.
3049 * config/sparc/t-slibgcc-sld: Likewise.
3050
3051 2001-01-07 Jakub Jelinek <jakub@redhat.com>
3052
3053 * config/i386/i386.c (constant_call_address_operand): Accept
3054 (const (plus (symbol_ref) (const_int))).
3055 * config/i386/i386.h (PREDICATE_CODES): Add CONST for
3056 constant_call_address_operand.
3057
3058 2001-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3059
3060 * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
3061 and LONG_LONG_TYPE_SIZE > 32.
3062
3063 2001-01-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3064
3065 * jump.c (reversed_comparison_code_parts): Fix typo introduced by
3066 the previous change.
3067
3068 Sun Jan 7 19:37:48 MET 2001 Jan Hubicka <jh@suse.cz>
3069
3070 * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
3071 New.
3072 (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
3073 (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
3074 * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
3075 Declare.
3076
3077 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
3078
3079 * fix-header.c (read_scan_file): s/pfile/scan_in/.
3080
3081 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
3082
3083 * c-lang.c (c_post_options): Call cpp_post_options.
3084 * objc/objc-act.c (objc_post_options): Similarly.
3085 * cppmain.c (main): Similarly.
3086 * fix-header.c (read_scan_file): Similarly.
3087 * cppinit.c (cpp_start_read): Move option consistency checks
3088 to cpp_post_options. Don't call init_dependency_output.
3089 If needed, add default target and main file dependency.
3090 (OPT_MD, OPT_MMD): Remove.
3091 (OPT_MF): New.
3092 (cpp_handle_option): Update for OPT_* changes.
3093 (cpp_post_options): New.
3094 (init_dependency_output): Command line -MF overrides environment
3095 variables. Don't set default target etc. Suppress output
3096 if dependencies are going to stdout.
3097 (print_help): Update.
3098 * cpplib.h (cpp_post_options): New.
3099 * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
3100
3101 Sun Jan 7 14:44:19 MET 2001 Jan Hubicka <jh@suse.cz>
3102
3103 * jump.c (comparison_dominates_p): Support unordered compares.
3104
3105 Sun Jan 7 14:39:07 MET 2001 Jan Hubicka <jh@suse.cz>
3106
3107 * simplify-rtx.c (simplify_relational_operation): Always simplify
3108 ORDERED and UNORDERED when FLAG_FAST_MATH. Handle properly UNLE
3109 and UNGE.
3110
3111 Sun Jan 7 14:35:13 MET 2001 Jan Hubicka <jh@suse.cz>
3112
3113 * combine.c (combine_simplify_rtx): Recognize the unordered compares.
3114 (nonzero_bits): Likewise.
3115 (simplify_comparison): Likewise.
3116 (num_sign_bit_copies): Likewise; return more sane value depending
3117 on STORE_FLAG_VALUE.
3118 (known_cond): Do not assume EQ to be always true for equivalent
3119 operands.
3120
3121 Sun Jan 7 14:31:57 MET 2001 Jan Hubicka <jh@suse.cz>
3122
3123 * cse.c (fold_rtx): Handle unordered comparisons.
3124
3125 Sun Jan 7 13:49:19 MET 2001 Jan Hubicka <jh@suse.cz>
3126
3127 * rtlanal.c (set_of_1): New static function.
3128 (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
3129 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
3130 reg_set_last_last_regno): Remove.
3131 (set_of): New global function.
3132 (set_of_data): New structure.
3133 (reg_set_p, reg_set_last): Revamp for set_of.
3134 * rtl.h (set_of): New.
3135
3136 2001-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
3137
3138 * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
3139 * extend.texi: Document _Exit builtin.
3140
3141 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
3142
3143 * (initialize, initialize_builtins,
3144 initialize_dependency_output, initialize_standard_includes):
3145 Rename s/initialize/init. Update.
3146 (init_dependency_output): Move to after
3147 cpp_handle_options, the correct location temporally at least.
3148 (opt_comp): Move next to init (), its caller. Fix prototype.
3149 (init): Make "initialized" local scope.
3150 (cpp_create_reader): Always call init ().
3151 (cpp_start_read): Update.
3152 (output_deps): New function, broken out of cpp_finish.
3153 (cpp_finish): Break out output_deps.
3154
3155 2001-01-07 Richard Henderson <rth@redhat.com>
3156
3157 * collect2.c (COFF specific stuff): Revert 12-06 patch
3158 to prototype system functions.
3159
3160 2001-01-07 Michael Hayes <mhayes@redhat.com>
3161
3162 * hard-reg-set.h: Add multiple include guard.
3163 * basic-block.h (struct loop): Add `sink' field.
3164 * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
3165 (emit_iv_add_mult): Delete.
3166 (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
3167 (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
3168 (unroll_loop): Remove end_insert_before argument.
3169 * loop.c (loop_givs_rescan): Remove end_insert_before argument.
3170 (maybe_eliminate_biv_1): Likewise.
3171 (emit_iv_add_mult): Delete.
3172 (gen_add_mult, loop_regs_update): New.
3173 (loop_insn_emit_after, loop_insn_emit_before): New.
3174 (loop_insn_sink, loop_insn_sink_or_swim): New.
3175 (emit_iv_add_mult): Delete.
3176 (scan_loop): Set loop->sink.
3177 (loop_givs_reduce): Use loop_insn_sink and its ilk.
3178 (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
3179 (maybe_eliminate_biv_1): Likewise.
3180 (maybe_eliminate_biv_1): Add basic block argument.
3181 * unroll.c (unroll_loop): Remove end_insert_before argument.
3182 (find_splittable_regs): Likewise.
3183 (find_splittable_regs): Use loop_insn_sink and its ilk.
3184 (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
3185
3186 2001-01-07 Michael Hayes <mhayes@redhat.com>
3187
3188 * loop.h (loop_insn_hoist): New prototype.
3189 * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
3190 (move_movables, loop_givs_rescan): Use loop_insn_hoist.
3191 (check_dbra_loop, load_mems): Likewise.
3192 * unroll.c (unroll_loop, find_splittable_regs): Likewise.
3193 (find_splittable_givs): Likewise.
3194
3195 2001-01-07 Michael Hayes <mhayes@redhat.com>
3196
3197 * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
3198
3199 2001-01-07 Richard Henderson <rth@redhat.com>
3200
3201 * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
3202
3203 2001-01-07 Richard Henderson <rth@redhat.com>
3204
3205 * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
3206 NO_SHARED_LIBGCC_MULTILIB as required for the target.
3207 * gcc.c (init_spec): Massage the existing libgcc_spec into a
3208 variant that handles a shared libgcc.
3209 (process_command): Always validate -{static,shared}-libgcc.
3210 (do_spec_1): New 'M' case.
3211 * invoke.text (Link Options): Document -{static,shared}-libgcc.
3212
3213 2001-01-07 Richard Henderson <rth@redhat.com>
3214
3215 * Makefile.in (slibdir): New variable.
3216 (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
3217 (installdirs): Create slibdir.
3218 (install-libgcc, install-multilib): Defer to libgcc.mk.
3219 * configure.in (slibdir): Substitute.
3220 * mklibgcc.in (install): New target.
3221
3222 * config/t-linux (SHLIB_LINK): Create links for the soname.
3223 (SHLIB_INSTALL): New.
3224 * config/alpha/t-osf4 (SHLIB_INSTALL): New.
3225 * config/mips/t-iris6 (SHLIB_INSTALL): New.
3226 * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
3227 * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
3228 * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
3229
3230 2001-01-07 Richard Henderson <rth@redhat.com>
3231
3232 * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
3233 * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
3234 * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
3235
3236 2001-01-07 Michael Hayes <mhayes@redhat.com>
3237
3238 * loop.c (count_loop_regs_set): Delete.
3239 (load_mems_and_recount_loop_regs_set): Delete.
3240 (loop_regs_scan): Merge common code from count_loop_regs_set,
3241 scan_loop, and load_mems_and_recount_loop_regs_set.
3242 (scan_loop): Call load_mems directly and loop_regs_scan
3243 again if new registers created.
3244
3245 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
3246
3247 * toplev.c (main): Call the front-end specific post_options
3248 hook if one is given.
3249 * toplev.h (struct_lang_hooks, lang_hooks): New.
3250 * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
3251 for the C front end.
3252 * cp/decl2.c (cxx_post_options, lang_hooks): Implement
3253 lang_hooks for the C++ front end.
3254 * objc/objc-act.c (objc_post_options, lang_hooks): Implement
3255 lang_hooks for the ObjC front end.
3256 * f/com.c (lang_hooks): Hooks for the Fortran front end.
3257 * java/lang.c (lang_hooks): Hooks for the Java front end.
3258
3259 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
3260
3261 * c-lex.c (init_c_lex): Request #define / #undef callbacks
3262 for verbose DWARF[2] debugging.
3263 (cb_define, cb_undef): The new callbacks.
3264 * toplev.h (debug_define, debug_undef): Make const correct.
3265 * toplev.c (debug_define, debug_undef): Similarly. Do not
3266 perform the verbosity tests here anymore.
3267
3268 2001-01-07 Alexandre Oliva <aoliva@redhat.com>
3269
3270 * reload.c (subst_reloads): Take INSN argument. When
3271 replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
3272 * reload.h (subst_reloads): Adjust prototype.
3273 * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
3274 * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
3275 present in JUMP_INSNs and copy them to JUMP_LABEL.
3276 * flow.c (find_label_refs, find_basic_blocks_1): Skip
3277 JUMP_INSNs and insns with REG_LABELs that are followed by
3278 JUMP_INSNs with the same REG_LABEL.
3279 * sched-rgn.c (is_cfg_nonregular): Likewise.
3280 * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
3281 note is available.
3282 * unroll.c (unroll_loop): Look for REG_LABEL notes in
3283 JUMP_INSNs too.
3284 * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
3285
3286 2001-01-06 Richard Henderson <rth@redhat.com>
3287
3288 * loop.c (scan_loop): Use xcalloc for the regs array.
3289 (load_mems_and_recount_loop_regs_set): Zero the new memory
3290 received from xrealloc.
3291
3292 2001-01-06 Neil Booth <neil@daikokuya.demon.co.uk>
3293
3294 * mkdeps.c (deps_add_dep): Fix vector re-allocation.
3295
3296 Sat Jan 6 00:09:34 2001 J"orn Rennecke <amylaar@redhat.com>
3297
3298 * integrate.c (copy_rtx_and_substitute): When copying
3299 an ignored return value, strip REG_FUNCTION_VALUE_P.
3300
3301 2001-01-06 Michael Hayes <mhayes@redhat.com>
3302
3303 * loop.c (debug_biv, debug_giv): New.
3304 (loop_biv_dump): Break out from ...
3305 (record_biv): ... here.
3306 (loop_giv_dump): Break out from ...
3307 (record_giv): ... here.
3308 (loop_bivs_check): Use print_simple_rtl.
3309 * unroll.c (loop_iterations): Use print_simple_rtl.
3310
3311 2000-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
3312
3313 * pa.md (return, return_internal): Modify patterns to prevent regrename
3314 mucking with the return pointer.
3315
3316 2001-01-05 Richard Henderson <rth@redhat.com>
3317
3318 * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
3319
3320 Fri Jan 5 16:34:18 2001 Nick Clifton <nickc@redhat.com>
3321
3322 * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
3323 version supplied by Matteo Frigo.
3324
3325 2001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
3326
3327 * cpp.texi: Update for -MQ.
3328 * cppinit.c (cpp_create_reader): Always create pfile->deps.
3329 (cpp_cleanup): Always free pfile->deps.
3330 (initialize_dependency_output): Don't create pfile->deps.
3331 (cpp_handle_option): Similarly.
3332 (OPT_MQ): New.
3333 * gcc.c (cpp_options): Handle -MQ.
3334 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
3335 * mkdeps.c (base_name): Remove.
3336 (deps_init): Don't allocate vector space until it's needed.
3337 (deps_free): Only free vectors if allocated.
3338 (deps_add_target, deps_add_dep): Update for initial allocation.
3339 (deps_add_default_target): Don't strip to the base_name.
3340
3341 2001-01-05 DJ Delorie <dj@redhat.com>
3342
3343 * config/v850/v850.h (RETURN_ADDR_RTX): Define.
3344 (INIT_EXPANDERS): Define.
3345
3346 * config/v850/v850.c (struct machine_function): Define.
3347 (v850_save_machine_status): New function.
3348 (v850_restore_machine_status): New function.
3349 (v850_return_addr): New function.
3350 (v850_init_expanders): New function.
3351
3352 * config/v850/v850-protos.h: Add prototypes for v850_return_addr
3353 and v850_init_expanders.
3354
3355 2001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
3356
3357 * cpplib.h (struct cpp_reader): Add help_only field.
3358 * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
3359 (cpp_handle_option): Set pfile->help_only if we see -h,
3360 --help, -target-help, or --version. Print version string but
3361 do not set help_only if we see -v or -version. Make text
3362 printed by -v match that printed by (-)-version.
3363
3364 * cppmain.c (main): Exit after option parsing if
3365 pfile->help_only is true.
3366
3367 * toplev.c (independent_decode_option): Call print_version,
3368 then exit, if we see --version (but not -version).
3369 (print_version): Split lengthy message into two lines.
3370
3371 2001-01-05 Nick Clifton <nickc@redhat.com>
3372
3373 * config/v850/v850.c (v850_encode_data_area): Use alloca to create
3374 temporary string for initialisation before calling ggc_alloc_string.
3375
3376 2001-01-06 Michael Hayes <mhayes@redhat.com>
3377
3378 * rtl.h (print_simple_rtl): New.
3379 * print-rtl.c (print_simple_rtl): New.
3380 (flag_simple): New.
3381 (print_rtx): Disable printing of flags and modes, etc.,
3382 if `flag_simple` nonzero.
3383
3384 2001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
3385
3386 * function.c (fixup_var_refs): Use push_to_full_sequence where
3387 possible.
3388
3389 2001-01-05 Michael Meissner <meissner@redhat.com>
3390
3391 * flags.h (flag_reorder_blocks): Add declaration.
3392 (flag_rename_block): Ditto.
3393
3394 2001-01-05 DJ Delorie <dj@redhat.com>
3395
3396 * function.c (reorder_blocks): Make sure the flags are all reset
3397 before using them to mark blocks, else a second invocation will
3398 corrupt the block chain.
3399 (reorder_blocks_0): New, resets the flags.
3400
3401 Fri Jan 5 20:34:06 2001 J"orn Rennecke <amylaar@redhat.com>
3402
3403 * cse.c (find_comparison_args): Stop if the argument is known to
3404 be constant.
3405
3406 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
3407
3408 * config/sh/sh.md (movdf): When splitting load into pair of
3409 registers, don't clobber the register used in the address too
3410 early.
3411
3412 2001-01-05 Jeffrey Oldham <oldham@codesourcery.com>
3413
3414 * varasm.c (mark_constant_pool): Improve initial comments.
3415 (mark_constants): Move marking of constants to mark_constant.
3416 (mark_constant): New function to recursively mark all constants
3417 referred to by a constant.
3418
3419 2001-01-05 Catherine Moore <clm@redhat.com>
3420
3421 * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
3422
3423 2001-01-05 Phil Edwards <pme@sources.redhat.com>
3424
3425 * cp/lang-options.h: Bring comment in line with reality.
3426 * f/lang-options.h: Likewise.
3427 * java/lang-options.h: Likewise.
3428 * objc/lang-options.h: Likewise.
3429 * ch/lang-options.h: Likewise.
3430 * f/g77.texi: And update the manual.
3431
3432 2001-01-05 Marek Michalkiewicz <marekm@linux.org.pl>
3433 Denis Chertykov <denisc@overta.ru>
3434
3435 * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
3436 * config/avr/avr.c (avr_peep2_scratch_safe): New function.
3437 * config/avr/avr.md (all peepholes that request a scratch register):
3438 Call it, FAIL the peephole if not safe (in interrupt functions).
3439
3440 2001-01-05 Mark Mitchell <mark@codesourcery.com>
3441
3442 * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
3443
3444 2001-01-05 Joseph S. Myers <jsm28@cam.ac.uk>
3445
3446 * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
3447 Define.
3448 * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
3449 BUILT_IN_CREAL and BUILT_IN_CIMAG.
3450 * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
3451 conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
3452 (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
3453 BUILT_IN_CIMAG.
3454 * extend.texi: Document these builtins.
3455
3456 2001-01-05 Daniel Berlin <dberlin@redhat.com>
3457
3458 * c-common.c (lang_get_alias_set): Say we know nothing of
3459 VECTOR_TYPE aliasing.
3460
3461 * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
3462
3463 2001-01-05 Bruce Korb <bkorb@gnu.org>
3464
3465 * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
3466 their x* equivalent versions for atexit-less systems
3467 * fixinc/fixincl.c(main): do not return from main() on atexit-less
3468 systems (or any other system any more).
3469
3470 2001-01-05 Richard Earnshaw <rearnsha@arm.com>
3471
3472 * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
3473 output operands. Use arm_hard_register_operand for operand 4.
3474 (stmsi_postinc): Similarly.
3475 (ldmsi): Use arm_hard_register_operand for opernand 2.
3476 (stmsi): Similarly.
3477 * arm.c (arm_hard_register_operand): New function.
3478 * arm-protos.h (arm_hard_register_operand): Prototype it.
3479
3480 * arm.h (HARD_REGNO_RENAME_OK): Define.
3481
3482 Fri Jan 5 16:29:49 MET 2001 Jan Hubicka <jh@suse.cz>
3483
3484 * simplify-rtx.c (cfc_args): add "unordered" field.
3485 (check_fold_consts): Set unordered field.
3486 (simplify_relational_operation): Simplify the unordered
3487 comparisons.
3488
3489 * reg-stack.c (swap_rtx_condition): Ensure that the transformation
3490 is valid.
3491
3492 * emit-rtl.c (try_split): Fix code to mark labels.
3493 * jump.c (mark_jump_label): Make global.
3494 * rtl.h (mark_jump_label): Declare.
3495
3496 * predict.c (estimate_probability): Handle unordred comparisons.
3497
3498 2001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
3499
3500 * cpp.texi: Update for -MP. Clarify behaviour of -MT.
3501 * cppinit.c (initialize_dependency_output): Update.
3502 (cpp_finish): Output dummy targets for -MP.
3503 (OPT_MP): New.
3504 (cpp_handle_option): Handle -MP. Don't quote -MT options.
3505 * cpplib.h (struct cpp_options): Add deps_phony_targets.
3506 * gcc.c (cpp_options): Update to handle -MP.
3507 * mkdeps.c (deps_add_target, deps_add_default_target): Update
3508 to quote only the default target.
3509 (deps_phony_targets): Insert a preceding newline. Rename from
3510 deps_dummy_targets for consistency.
3511 * mkdeps.h: Update
3512
3513 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
3514
3515 * calls.c (emit_library_call_value_1): Support
3516 INIT_CUMULATIVE_LIBCALL_ARGS.
3517 * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
3518
3519 2001-01-04 Richard Henderson <rth@redhat.com>
3520
3521 * c-decl.c (finish_struct): Detect flexible array members
3522 used in an inappropriate context.
3523 * c-typeck.c (really_start_incremental_init): Special case
3524 constructor_max_index for zero length arrays.
3525 (pop_init_level): Allow initialization of flexible array
3526 members. Deprecate initialization of zero length arrays.
3527 Don't issue missing initializer warning for flexible array
3528 members or zero length arrays.
3529 (process_init_element): Don't dereference null DECL_SIZE.
3530 * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
3531 Don't abort for empty constructors. Use size_binop
3532 (output_constructor): Add commentary regarding zero length
3533 array futures. Abort if we try to initialize an array of
3534 unspecified length with a non-empty constructor in the middle
3535 of a structure.
3536
3537 * extend.texi (Zero Length): Update and clarify documentation
3538 on static initialization.
3539
3540 2001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3541
3542 * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
3543 with more than 32767 words of local storage.
3544
3545 2001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3546
3547 * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
3548 for 'abs', 'labs', and 'fabs'.
3549 (c4x_expand_builtin): Likewise.
3550 * config/c4x/c4x.h (enum c4x_builtins): Likewise.
3551
3552 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
3553
3554 * config/sh/sh.md (prget, prset): New insn types.
3555 (return delay slot): Dont' allow prset.
3556 (call, sfunc delay slot): Don't allow prget.
3557 (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
3558 for prset and prget.
3559
3560 2001-01-05 Michael Hayes <mhayes@redhat.com>
3561
3562 * loop.h (struct loop_reg): New.
3563 (struct loop_regs): Change to use array of `struct loop_reg'.
3564 * loop.c: Replace assortment of varrays with single regs array.
3565 (count_one_set): Delete may_not_move array argument
3566 and use regs array instead. All caller's changed.
3567 (count_loop_regs_set): Delete may_not_move and single_usage
3568 arguments and use regs array instead. All caller's changed.
3569 (find_single_use_in_loop): Replace usage array argument with pointer
3570 to regs structure. All caller's changed.
3571 (loop_optimize): Delete `moved_once' array.
3572
3573 2001-01-05 Michael Hayes <mhayes@redhat.com>
3574
3575 * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
3576 Use it instead of loop_info->has_call for scanning loop mems.
3577 (check_dbra_loop): Replace loop_info->has_call test with
3578 loop_info->has_nonconst_call.
3579
3580 2000-01-04 Matthew Hiller <hiller@redhat.com>
3581
3582 * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
3583 for TARGET_SH3E.
3584
3585 2001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
3586
3587 * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
3588 use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
3589
3590 2001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
3591
3592 * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
3593 (flag_short_double, flag_short_wchar): Define.
3594 (c_common_nodes_and_builtins): Create many tree nodes shared
3595 between C and C++ here instead of in cp/decl.c and ...
3596 * c-decl.c (init_decl_processing): ... here.
3597 (SIZE_TYPE, WCHAR_TYPE): Don't define.
3598 (flag_short_double, flag_short_wchar): Don't define.
3599 (record_builtin_type): New function.
3600 (build_void_list_node): New function.
3601 * c-common.h (flag_short_double, flag_short_wchar,
3602 record_builtin_type, build_void_list_node): Declare.
3603
3604 Thu Jan 4 21:09:47 2001 J"orn Rennecke <amylaar@redhat.com>
3605
3606 * integrate.c (expand_inline_function): Don't put a virtual
3607 register into the reg map.
3608
3609 * function.c (fixup_var_refs_1): If force_operand didn't put
3610 the address into the target, move it there.
3611
3612 2001-01-04 Mark Mitchell <mark@codesourcery.com>
3613
3614 Special-case tree_decl/tree_list allocations.
3615 * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
3616 (OBJECT_SIZE): New macro.
3617 (NUM_EXTRA_ORDER): Likewise.
3618 (extra_order_size_table): New variable.
3619 (NUM_ORDERS): New macro.
3620 (objects_per_page_table): New variable.
3621 (object_size_table): New variable.
3622 (G.pages): Use NUM_ORDERS to bound the array.
3623 (G.page_tails): Likewise.
3624 (DIV_ROUND_UP): Remove.
3625 (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
3626 (alloc_page): Use OBJECT_SIZE.
3627 (size_lookup): Don't make it const.
3628 (ggc_alloc): Use OBJECT_SIZE.
3629 (ggc_set_mark): Likewise.
3630 (ggc_get_size): Likewise.
3631 (init_ggc): Set up the object_size_table, objects_per_page_table,
3632 and adjust size_lookup.
3633 (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
3634 (ggc_pop_context): Use NUM_ORDERS.
3635 (clear_marks): Likewise.
3636 (sweep_pages): Likewise.
3637 (poison_pages): Likewise.
3638 (ggc_print_statistics): Use OBJECT_SIZE.
3639
3640 Thu Jan 4 15:54:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3641
3642 * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
3643 Only call array_size_for_constructor if last field and array type
3644 with no upper bound.
3645
3646 2001-01-04 Philip Blundell <philb@gnu.org>
3647
3648 * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
3649 from bit 31 downwards, if this requires no more insns.
3650 (count_insns_for_constant): New helper function for above.
3651
3652 2001-01-04 Alexandre Oliva <aoliva@redhat.com>
3653
3654 * gencodes.c (output_predicate_decls): Remove empty initializer.
3655
3656 2001-01-04 Mark Mitchell <mark@codesourcery.com>
3657
3658 * tree.c (copy_node): Remove documentation about obstacks.
3659 (buidl1): Check that nobody tries to build 2-argument nodes this
3660 way.
3661
3662 2001-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3663
3664 * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
3665 fp_high_losum_p.
3666
3667 * gencodes.c (output_predicate_decls): Fill empty initializer
3668 braces.
3669
3670 2001-01-04 Jakub Jelinek <jakub@redhat.com>
3671
3672 * tradcpp.c (deps_file, print_deps_missing_files): New variables.
3673 (main): Handle -MG, -MD, -MMD. Bail out if -MG is given without -M
3674 or -MM.
3675 (do_include): Handle missing headers like cpp0.
3676 * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
3677 paths with first include pathname. Don't strcat to uninitialized
3678 string.
3679
3680 2001-01-04 Bernd Schmidt <bernds@redhat.com>
3681
3682 * regrename.c (regrename_optimize): Don't rename from frame pointer
3683 if frame_pointer_needed.
3684 (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
3685 * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
3686 (ia64_reorg): Use it instead of scheduling if ! optimize.
3687 (errata_emit_nops): Properly call asm_noperands.
3688 (ia64_sched_reorder): Finish cycle if we see an asm.
3689 (ia64_variable_issue): Clear scheduling state after asms.
3690
3691 2001-01-04 Neil Booth <neil@daikokuya.demon.co.uk>
3692
3693 * cpp.texi: Update for -MT.
3694 * cppinit.c (initialize_dependency_output): Add a default
3695 target if none has been given already.
3696 (no_tgt, OPT_MT): New.
3697 (cpp_handle_option): Handle -MT. Update -M etc.
3698 * cpplib.h (struct cpp_options): Remove deps_target.
3699 * gcc.c (cpp_options): Handle -MT.
3700 * mkdeps.c (struct deps): Move from mkdeps.h.
3701 (deps_calc_target): Rename deps_add_default_target. Add a
3702 default target if none has been specified already.
3703 * mkdeps.h (struct deps): Move to mkdeps.c.
3704 (deps_calc_target): Rename deps_add_default_target.
3705
3706 2000-01-03 Richard Henderson <rth@redhat.com>
3707
3708 * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
3709 Remove dead code.
3710 * c-typeck.c (push_init_level): Move checks for flexible array
3711 members and zero length arrays ...
3712 (pop_init_level): ... here. Silently discard empty initializations.
3713 Remove dead code.
3714 * varasm.c (output_constructor): Update for sizeof change to
3715 zero-length arrays.
3716
3717 * extend.texi (Zero Length): Clarify semantics.
3718
3719 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
3720
3721 * configure.in (tm.h): Include isns-codes.h last.
3722 * configure: Rebuilt.
3723
3724 2001-01-03 Richard Henderson <rth@redhat.com>
3725
3726 * config/alpha/alpha.md (addvsi3, addvdi3): New.
3727 (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
3728
3729 2001-01-03 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3730
3731 * tradcpp.c (main): Make sure finclude() is called with a valid
3732 indepth value while handling -include.
3733
3734 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
3735
3736 * gencodes.c (output_predicate_decls): New function.
3737 (main): Call it.
3738 * machmode.h (GET_MODE_MASK): Arrange for it to be defined
3739 even if it is not the first time machmode.h is #included.
3740 * config/sh/sh.c (fpul_operand): Declare MODE argument.
3741 * tm.texi (PREDICATE_CODES): Document predicate declarations.
3742 * gcc.texi (Copyright): Added 2001.
3743
3744 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
3745
3746 * c-common.c (c_common_lang_init): New function. Warn if format
3747 warning options which only have effects when used with -Wformat
3748 are used without -Wformat.
3749 * c-common.h (c_common_lang_init): Declare.
3750 * c-lang.c (lang_init): Call c_common_lang_init.
3751 * objc/objc-act.c (lang_init): Call c_common_lang_init.
3752
3753 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
3754
3755 * configure.in: Check for the mktemp command.
3756 * configure: Regenerate.
3757 * gccbug.in: Use a separate temporary file $TEMP0 for one use of
3758 $TEMP. Create temporary files with mktemp, if available at
3759 configure time; otherwise use set -C. Remove temporary files
3760 before exit.
3761
3762 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
3763
3764 * configure.in: Require at least texinfo 4.0. Check for whether
3765 Pod::Man is sufficiently recent to regenerate GCC manpages.
3766 * configure: Regenerate.
3767 * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
3768 on #!.
3769 (GENERATED_MANPAGES): Define.
3770 (generated-manpages): New target. Depend on cpp.1 as well as
3771 gcov.1.
3772 (install-man): Depend on $(GENERATED_MANPAGES) (defined by
3773 configure to generated-manpages or empty) rather than on the
3774 manpages directly. Remove execute permission from installed
3775 gcov.1 as well as cpp.1.
3776 * cpp.1, gcov.1: Regenerate.
3777
3778 2001-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3779
3780 * builtins.c (expand_builtin_strncmp): Use host_integerp and
3781 tree_low_cst. Allow using cmpstrsi in more cases.
3782
3783 Wed Jan 3 10:48:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3784
3785 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
3786 sized types.
3787
3788 Wed Jan 3 12:22:32 2001 Alexandre Oliva <aoliva@redhat.com>
3789
3790 * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
3791 * Makefile.in (HOST_CFLAGS): Mention build-make.
3792
3793 Wed Jan 3 08:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3794
3795 * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
3796 as JUMP_INSN.
3797
3798 2001-01-01 Bernd Schmidt <bernds@redhat.com>
3799
3800 * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
3801 a REG rtx.
3802
3803 * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All
3804 callers changed.
3805
3806 * alias.c (throughout): Use ORIGINAL_REGNO when accessing
3807 reg_base_value and reg_known_value arrays.
3808 (init_alias_analysis): Add more cases to detect known values.
3809 * sched-deps.c (deps_may_trap_p): New function.
3810 (sched_analyze_2): Use it.
3811
3812 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
3813
3814 * combine.c (simplify_shift_const): Even if we're sign-extracting,
3815 don't discard an ASHIFTRT if we're shifting in a wider mode.
3816
3817 2000-01-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
3818
3819 * toplev.c (rest_of_compilation): Don't print basic block information
3820 when CFG isn't up to date.
3821
3822 2001-01-02 Mark Elbrecht <snowball3@bigfoot.com>
3823
3824 * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
3825 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
3826 (UNALIGNED_SHORT_ASM_OP): Define.
3827 (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
3828
3829 2001-01-02 Mark Mitchell <mark@codesourcery.com>
3830
3831 * fold-const.c (fold_convert): Fix typo.
3832
3833 2001-01-02 Richard Henderson <rth@redhat.com>
3834
3835 * c-common.h (ASM_INPUT_P): New.
3836 * c-parse.in (asm): Set it when needed.
3837 * c-semantics.c (genrtl_asm_stmt): Test it instead of the
3838 existance of an operand.
3839
3840 Tue Jan 2 20:27:07 MET 2001 Jan Hubicka <jh@suse.cz>
3841
3842 * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
3843 (dwarf2out_frame_debug_expr): Likewise.
3844 (mem_loc_descriptor): Handle PRE and POST_MODIFY.
3845
3846 Tue Jan 2 20:21:31 MET 2001 Jan Hubicka <jh@suse.cz>
3847
3848 * i386.c (ix86_split_to_parts): Return number of part required;
3849 handle TFmodes.
3850 (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
3851 TFmodes.
3852 (ix86_split_long_move): Use number of part returned
3853 by ix86_split_to_parts
3854 * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
3855 New macros.
3856 (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
3857 (LONG_DOUBLE_TYPE_SIZE): Change from constant.
3858 (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
3859 (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
3860 (ALIGN_MODE_128): Add TFmode.
3861 (IS_STACK_MODE): Likewise.
3862 (HARD_REGNO_NREGS): TFmode needs 3 registers.
3863 (HARD_REGNO_OK): Support TFmodes.
3864 (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
3865 * i386.md (scheduler definitions): Use memory operand to determine
3866 fst/fld instructions; use mode attribute to determine real mode of
3867 the instruction.
3868 (*tf): New patterns, expanders and splitters; based on XFmode patterns.
3869 * invoke.texi (128bit-long-double, 96bit-long-double): Document.
3870
3871 2001-01-02 Mark Mitchell <mark@codesourcery.com>
3872
3873 * tree.def (TRUTH_NOT_EXPR): Improve documentation.
3874
3875 Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
3876
3877 * expr.c (store_constructor_field): Update ALIGN before calling
3878 store_constructor.
3879
3880 2001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
3881
3882 * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
3883 host_integerp.
3884
3885 2001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
3886
3887 * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
3888 incomplete type.
3889
3890 Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
3891
3892 * c-decl.c (start_function): Don't warn on third parameter to main.
3893
3894 2001-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3895
3896 * tsystem.h: Define HAVE_DECL_GETOPT.
3897
3898 2001-01-02 Philip Blundell <pb@futuretv.com>
3899
3900 * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
3901 of input operand.
3902
3903 2001-01-02 Richard Henderson <rth@redhat.com>
3904
3905 * alpha.md (*ze_and_ne): Duplicate insn condition to split.
3906
3907 2001-01-02 Andreas Jaeger <aj@suse.de>
3908
3909 * c-decl.c (c_decode_option): Remove support of
3910 -Wmissing-noreturn.
3911
3912 * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
3913 (W_options): Add -Wmissing-noreturn here.
3914
3915 * flow.c: Define lang_missing_noreturn_ok_p.
3916 (check_function_return_warnings): Use it.
3917
3918 * c-common.h: Declare lang_missing_noreturn_ok_p.
3919
3920 * c-lang.c (c_missing_noreturn_ok_p): New function.
3921 (lang_init): Set lang_missing_noreturn_ok_p.
3922
3923 * invoke.texi (Warning Options): Document this.
3924
3925 2000-12-27 Phil Edwards <pme@sources.redhat.com>
3926
3927 * extend.texi (C++ Extensions): New node for C++ attributes;
3928 describe init_priority and com_interface.
3929 * invoke.texi: Remove -finit-priority as it now has zero effect.
3930 * install.texi: Fix xref syntax.
3931 * md.texi: Likewise.
3932
3933 Mon Jan 1 21:28:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3934
3935 * config.gcc (sparc64-wrs-vxworks*): New case.
3936 * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
3937
3938 * config/sparc/sparc.c (sparc_override_options): Do support different
3939 pointer and architecture size.
3940 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
3941 (POINTERS_EXTEND_UNSIGNED): Define.
3942 (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
3943 (FUNCTION_MODE): Define to be Pmode.
3944 * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
3945
3946 * function.c (expand_function_end): Properly handle DECL_RESULT
3947 and copy when ptr_mode != Pmode.
3948 * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
3949
3950 2001-01-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3951
3952 * c-common.c (c_common_nodes_and_builtins): Set prototype
3953 parameters for __builtin_fputs, __builtin_fputc and
3954 __builtin_fwrite. Don't declare plain fputc as a builtin.
3955
3956 2001-01-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
3957
3958 * loop.c (add_label_notes): Increment the label usage count when
3959 a note is added to an insn which refers to a CODE_LABEL.
3960 * gcse.c (add_label_notes): Likewise.
3961
3962 2001-01-01 Andreas Jaeger <aj@suse.de>
3963
3964 * loop.c (scan_loop): Use xmalloc to allocate movables.
3965
3966 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
3967
3968 * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
3969 * reload.c (REGISTER_MOVE_COST): Likewise. Adjust all callers.
3970 * reload1.c (REGISTER_MOVE_COST): Likewise.
3971 * regclass.c (REGISTER_MOVE_COST): Likewise.
3972 (move_cost, may_move_in_cost, may_move_out_cost): Add mode
3973 dimension. Adjust all users.
3974 (init_reg_sets_1): Iterate on all modes.
3975 * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
3976 * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
3977 * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
3978 * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
3979 * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
3980 * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
3981 * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
3982 * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
3983 * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
3984 * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
3985 * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
3986 * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
3987 * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
3988 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
3989 * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
3990 * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
3991 * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
3992 * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
3993 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
3994 * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
3995 * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
3996 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
3997 * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
3998 * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
3999 * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
4000 * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
4001 * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
4002
4003 2001-01-01 Bernd Schmidt <bernds@redhat.com>
4004
4005 * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
4006 arg VARIES_P. Call it with extra arg.
4007 (true_dependence): Likewise.
4008 * rtl.h (rtx_addr_can_trap_p): Declare.
4009 (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
4010 prototypes.
4011 * rtlanal.c (rtx_addr_can_trap_p): No longer static.
4012 (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
4013 pic offset table register if it's zero. All callers changed.
4014 (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
4015
4016 Mon Jan 1 07:38:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4017
4018 * explow.c (convert_memory_address, case SYMBOL_REF): Copy
4019 STRING_POOL_ADDRESS_P.
4020
4021 * config/sparc/sparc.c (input_operand): Properly test for short op.
4022
4023 * config.gcc (sparc-*-elf): Include sparc/sol2.h.
4024 (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
4025 (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
4026 * config/sparc/elf.h: No longer include sol2.h.
4027 * config/sparc/lifeelf.h: No longer include sparc/elf.h.
4028 * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
4029
4030 * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
4031
4032 2001-01-01 Michael Hayes <mhayes@redhat.com>
4033
4034 * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
4035 (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
4036 (record_initial): Likewise.
4037 * unroll.c (copy_loop_body, loop_iterations): Likewise.
4038 (remap_split_bivs): Likewise.
4039
4040 2001-01-01 Michael Hayes <mhayes@redhat.com>
4041
4042 * loop.c (loop_ivs_free): New function.
4043 (strength_reduce): Break out from...
4044
4045 2001-01-01 Michael Hayes <mhayes@redhat.com>
4046
4047 * loop.h (struct iv): New.
4048 (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
4049 (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
4050 'reg_biv_class' fields with 'regs' and 'n_regs'.
4051 (struct ivs): Rename 'loop_iv_list' field to 'list'.
4052 * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
4053 * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
4054
4055 2000-12-31 Alexandre Oliva <aoliva@redhat.com>
4056
4057 * resource.c (mark_referenced_resources): Abort() before
4058 attempting to mark a pseudo register.
4059 (mark_set_resources): Likewise.
4060
4061 2001-01-01 Michael Hayes <mhayes@redhat.com>
4062
4063 * loop.h (REG_IV_CLASS): New accessor macro.
4064 * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
4065 * unroll.c (REG_IV_CLASS): Likewise.
4066
4067 See ChangeLog.4 for earlier changes.