]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
dwarf2out.c (add_data_member_location_attribute): Do the right thing for virtual...
[gcc.git] / gcc / ChangeLog
CommitLineData
649ce3f2
JM
12001-11-30 Jason Merrill <jason@redhat.com>
2
3 * dwarf2out.c (add_data_member_location_attribute): Do the
4 right thing for virtual bases.
5 * dbxout.c (dbxout_type): For a virtual base, print the offset
6 within the vtable.
7
c7c73736
ZH
82001-11-29 Zoltan Hidvegi <hzoli@hzoli.2y.net>
9
10 * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
11
20c29ebe
AH
122001-11-29 Aldy Hernandez <aldyh@redhat.com>
13
14 * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
15 go in memory.
16 Remove unused attribute for named.
17
0d35f155
KG
182001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19
20 * genattrtab.c (attr_rtx_1): New function containing the
21 majority of `attr_rtx'. Move variable declarations into the
22 scope where they are used. Eliminate unnecessary gotos.
23 (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
24 VA_FIXEDARG, and VA_CLOSE.
25
d3295e25
HPN
262001-11-30 Hans-Peter Nilsson <hp@axis.com>
27
28 * config/cris/cris.c (cris_notice_update_cc): Check first
29 destination also against overlap with cc_status.value2 and second
30 destination against overlap with cc_status.value1. For overlaps,
31 clear overlapped value, don't just CC_STATUS_INIT.
32
33 * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
45b677bc 34 Fix typo in comment.
d3295e25
HPN
35 (LINK_SPEC): Remove whitespace at end of line.
36
c65fd410
JJ
372001-11-29 Jakub Jelinek <jakub@redhat.com>
38
39 * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
40
b2ace8a4
JJ
412001-11-29 Jakub Jelinek <jakub@redhat.com>
42
43 * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
44 macros for the supported debugging types.
45
c1d5afc4
CR
462001-11-29 Craig Rodrigues <rodrigc@gcc.gnu.org>
47
48 PR other/4932
49 * config/i386/i386.c (print_operand): Verify that the
50 argument to %c is a constant and not a conditional which
51 needs to be reversed.
52
8125704b
GK
53Thu Nov 29 11:12:59 2001 Geoffrey Keating (geoffk@redhat.com)
54
55 * emit-rtl.c (gen_lowpart_common): Fix conversion of
56 REAL_VALUE_TYPEs to an array of target integers. Fix extraction
57 of low part of those arrays for 32bit and 64bit hosts.
58
298d914f
KG
592001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
60
61 * Makefile.in (insn-output.o): Depend on insn-codes.h.
62
d3945f0a
JM
632001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
64
65 * configure.in (target_list): Add generated-manpages.
66 * configure: Regenerate.
67 * Makefile.in (generated-manpages): Depend on
68 lang.generated-manpages.
69 * objc/Make-lang.in (objc.generated-manpages): New dummy target.
70
38f90bec
NC
712001-11-29 Nick Clifton <nickc@cambridge.redhat.com>
72
73 * config/arm/crti.asm (_init): Add .thumb_func if compiled
74 with -mthumb.
75 (_fini): Add .thumb_func if compiled with -mthumb.
76
4e0a5dc2
EC
772001-11-28 Eric Christopher <echristo@redhat.com>
78
79 * config/mips/mips.c (override_options): Fix thinko in mips_tune
80 for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
81
a1fa5544
JW
82Thu Nov 29 00:24:15 EST 2001 John Wehle (john@feith.com)
83
84 * alpha.md (tablejump): Use pic_offset_table_rtx
85 instead of gen_rtx_REG.
86
35a53991
JL
87Wed Nov 28 15:36:13 2001 Jeffrey A Law (law@cygnus.com)
88
89 * expr.c (store_expr): When copying a string constant into an
90 array, reset the known alignment of the MEM for the section to
91 be cleared to BITS_PER_UNIT.
92
117b0c0a
HPN
932001-11-28 Hans-Peter Nilsson <hp@axis.com>
94
95 * config/cris/cris.c: Remove whitespace at end of line.
96
04cec1a7
DR
97Wed Nov 28 14:51:23 2001 Douglas B. Rupp <rupp@gnat.com>
98
99 * config.gcc (i[34567]86-*-interix3*): New case.
100 * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
101 New files.
4e0a5dc2 102
391f61d9
RH
1032001-11-28 Richard Henderson <rth@redhat.com>
104
105 * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
106 symbolic_operand as the predicate.
107
e6dc3aa0
RH
1082001-11-28 Richard Henderson <rth@redhat.com>
109
110 * doloop.c (doloop_modify_runtime): Properly select induction
111 variable; skip late entry test if biv initializer created by loop.
112
5e74f966
RK
113Wed Nov 28 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
114
f724a9d2
RK
115 * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
116 EXPR_WITH_FILE_LOCATION, so change checks and documentation.
117
3e87ad4d
RK
118 * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
119
c46080ab
RK
120 * tree.h: Add missing checks on some macros; make formatting more
121 consistent.
122
3874585e
RK
123 * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
124 level; only add to pending_sizes if find it.
125
f80230c1
RK
126 * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
127
36221fc4
RK
128 * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
129 Add casts to remove warnings.
130
033265ba
RK
131 * Makefile.in (OBJS): Sort alphabetically.
132
5e74f966
RK
133 * print-rtl.c (print_rtx): If RTX code is bad, just say so.
134 Also minor cleanups.
135
f80230c1
RK
136Wed Nov 28 06:52:27 2001 Arnaud Charlet <charlet@ACT-Europe.FR>
137
138 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
139 (FLAGS_TO_PASS): Add STAGE_PREFIX.
140 (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
141 to STAGE_PREFIX.
142
db4a8254
JH
143Wed Nov 28 10:42:19 CET 2001 Jan Hubicka <jh@suse.cz>
144
145 * cse.c (true_dependence_in_rtx): New function.
146 (invalidate): Use it.
147
148 * c-common.h (GOTO_FAKE_P): New macro.
149 * tree-inline.c (GOTO_FAKE_P): Set.
150 * c-tree.texi (GOTO_FAKE_P): Document.
151
152 * varasm.c (assemble_variable): Set reloc to 3 for error_mark
153 containing pointers.
154 (output_addressed_constants): Check for local/external relocations.
155 * elfos.h (SELECT_SECTION): Classify data section.
156 * tm.texi (SELECT_SECTION): Update documentation.
157
158 * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
159 (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
160
59a64a46
KG
1612001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
162
163 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
164 UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
165 OBJECT_FORMAT_ROSE.
166
3d556836
HPN
1672001-11-28 Hans-Peter Nilsson <hp@axis.com>
168
169 * config/cris/cris.c: Tweak spacing for prototypes.
170 (LOSE_AND_RETURN): New macro.
171 (cris_operand_lossage): New function.
172 (cris_print_index, cris_print_base): Use cris_operand_lossage
173 rather than fatal_insn.
174 (cris_print_operand, cris_print_operand_address): Use
175 LOSE_AND_RETURN rather than fatal_insn and internal_error.
176 (cris_output_addr_const): Use LOSE_AND_RETURN and
177 output_operand_lossage rather than fatal_insn and internal_error
178 for valid but unexpected rtx expressions.
179
180 * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
181 for a SUBREG in src or dest, abort instead.
182
215e1152
BM
1832001-11-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
184
185 * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
186 doc.
187
8a63621f
JJ
1882001-11-27 Jakub Jelinek <jakub@redhat.com>
189
190 * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
191 preprocessor define. If only DBX_DEBUGGING_INFO or only
192 DWARF2_DEBUGGING_INFO is supported for the target, provide
193 appropriate definitions.
194
0abc6a6a
NB
1952001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
196
197 * Makefile.in: Update, and add c-objc-common.o dependencies.
198 * c-lang.c: Remove unnecessary includes.
199 (c_init): Move bulk of code to c_objc_common_init, and call it.
200 (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
201 inline_forbidden_p, c_cannot_inline_tree_fn): Move to
202 c-objc-common.c.
203 * c-objc-common.c: New. Mostly pulled from c-lang.c.
204 * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
205 c_objc_common_init, c_missing_noreturn_ok_p): New.
206 * toplev.c: Update comment.
207 * doc/passes.texi: Update.
208objc:
209 * ojbc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
210 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
211 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
212 (objc_init): Update to use c_objc_common_init.
213
2142001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
215
216 * cpphash.c (_cpp_init_hashtable): Update.
217 * cpphash.h (struct spec_nodes): Remove n_L.
218 * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
219
9827f778
RH
2202001-11-17 Richard Henderson <rth@redhat.com>
221
222 * unroll.c (loop_iterations): Move last change ...
223 * doloop.c (doloop_modify_runtime): ... here.
224
ec3fba56
CM
2252001-11-17 Corey Minyard <minyard@acm.org>
226 Richard Henderson <rth@redhat.com>
227
228 * unroll.c (loop_iterations): Detect one situation in which we
229 overestimate the number of iterations.
230
b856c15d
RO
2312001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
232
233 * gcc.c (set_input): Export.
234 Move declaration ...
235 gcc.h (set_input): ... here.
236
2372001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
238
239 * gcc.c (set_collect_gcc_options): New function, split out from
240 main.
241 Ignore elided switches.
242 (do_spec): Invoke before executing command.
243 (do_spec_1): Likewise.
244 Fixes PR other/3968.
245
ae08d4c0
HPN
2462001-11-27 Hans-Peter Nilsson <hp@axis.com>
247
248 * config/cris/cris.h (INT_ASM_OP): Remove.
249
b9fbb936
RO
2502001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
251
252 * config/i386/sol2.h (WINT_TYPE): Redefine.
253 (WINT_TYPE_SIZE): Likewise.
254
ec8e621d
KG
2552001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
256
475c267f
KG
257 * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
258 (dup2): Make static and add prototype.
259 * m68k/plexus.h: Don't define NO_DUP2.
260 * configure.in (AC_CHECK_FUNCS): Add dup2.
261 * config.in, configure: Regenerate.
262
ec8e621d
KG
263 * ia64/aix.h (REG_SIZE): Don't #undef.
264 * sparc.h (REG_SIZE): Delete.
265 * flow.c (mark_used_regs): Don't use REG_SIZE.
266 * regs.h (REG_SIZE): Delete.
267
4a2fadae
AS
2682001-11-27 Andreas Schwab <schwab@suse.de>
269
270 * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
271 PREFERRED_DEBUGGING_TYPE.
272
ac79cd5a
RK
273Tue Nov 27 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
274
275 * Makefile.in (c-lang.o): Depends on langhooks-def.h.
276 (expr.o, varasm.o): Depends on langhooks.h.
277 * c-common.c (c_safe_from_p): Always declare.
278 (c_expand_expr): Refine when declared.
279 * c-lang.c (c-common.h): Now include.
280 (LANG_HOOKS_SAFE_FROM_P): Define new hook.
281 (c_init): Don't set lang_safe_from_expr.
282 * expr.c (langhooks.h): Now include.
283 (lang_safe_from_p): No longer define.
284 (safe_from_p): Use lang hook.
285 (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
286 (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
287 * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
288 * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
289 (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
290 * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
291 * langhooks.h (struct lang_hooks): New fields expand_constant
292 and safe_from_p.
293 * output.h (output_constant): Size arg is HOST_WIDE_INT.
294 * stmt.c (expand_decl_init): No longer need to expand constant
295 for CONST_DECL.
296 * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
297 * toplev.c (lang_expand_constant): Delete var.
298 * tree.c (save_expr): Don't put another SAVE_EXPR around simple
299 operations on SAVE_EXPR.
300 * varasm.c (langhooks.h): Now include.
301 (compare_constant_1): Use lang_hooks, not lang_expand_constant.
302 (record_constant_1, output_addressed_constants): Likewise.
303 (initializer_constant_valid_p, output_constant): Likewise.
304 (output_constant_def): Process no-defer of string constant.
305 (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
306 (output_constant): Strip more conversions.
307 Track our size and pad for the rest.
308 (array_size_for_constructor): Remove code for non-byte STRING_CST.
309 (output_constructor): SIZE now HOST_WIDE_INT.
310
188235df
RH
3112001-11-27 Richard Henderson <rth@redhat.com>
312
313 * ifcvt.c (noce_try_store_flag_constants): Test for overflow
314 in computing DIFF.
315
07e96fc6
ZW
3162001-11-27 Zack Weinberg <zack@codesourcery.com>
317
318 * cppfiles.c (read_include_file): Add comment.
319
5652450c
RH
3202001-11-26 Richard Henderson <rth@redhat.com>
321
322 * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
323
89e6abff
RH
3242001-11-26 Richard Henderson <rth@redhat.com>
325
326 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
327 * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
328 commented out override.
329
4d6baafa
NB
3302001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
331
332 * cppfiles.c (stack_include_file): Don't optimize zero-length
333 files.
334 (read_include_file): NUL-terminate read files.
335 * cpplex.c (handle_newline, skip_escaped_newlines,
336 get_effective_char, skip_whitespace, parse_identifier,
337 parse_identifier_slow, parse_number, parse_string,
338 _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
339 NUL-terminated.
340 * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
341 Be sure buffers are NUL terminated.
342 * cppmacro.c (warn_of_redefinition): Kill compile warning.
343
3442001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
345
346 * c-common.c: Include tree-inline.h.
347 (c_language): Move separate definitions here.
348 (c_common_init_options, c_common_post_options): New.
349 (c_common_lang_init): Rename c_common_init.
350 * c-common.h (c_common_lang_init): Similarly.
351 (c_common_init_options, c_common_post_options): New.
352 * c-lang.c (c_post_options): Move body to c_common_post_options.
353 (c_init_options): Use c_common_init_options.
354 (c_init): Update.
355 * langhooks.def: Rearrange.
356 * langhooks.h: Rearrange, and improve comments.
357 * toplev.c (do_compile): New function.
358 (toplev_main): Use it.
359 (lang_independent_f_options, parse_options_and_default_flags,
360 process_options): Remove trailing periods.
361 * Makefile.in: Update.
362objc: * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
363 functions.
364 (ojbc_init): Update.
365
d4b4b319
RH
3662001-11-26 Richard Henderson <rth@redhat.com>
367
368 * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
369
8b6000fc
DD
3702001-11-26 DJ Delorie <dj@redhat.com>
371
372 * expr.c (store_constructor): Actually use the value computed
373 if WORD_REGISTER_OPERATIONS.
374
c70ebb68
RH
3752001-11-26 Richard Henderson <rth@redhat.com>
376
377 * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
378 for CONSTRUCTOR.
379
fa9b5c6b
DE
3802001-11-26 David Edelsohn <edelsohn@gnu.org>
381
382 * rs6000.c (output_mi_thunk): Handle minimal-toc and call
383 correct function on AIX.
384
8924f58b
AO
3852001-11-26 Alexandre Oliva <aoliva@redhat.com>
386
387 * toplev.c (process_options): Don't force
388 flag_optimize_sibling_calls to zero just because exceptions are
389 enabled.
390
afb14002
JL
391Mon Nov 26 12:37:05 2001 Jeffrey A Law (law@cygnus.com)
392
393 * df.h (transfer_function_sbitmap): Use PARAMS around argument
394 list in function prototypes.
395 (transfer_function_bitmap): Likewise.
396
b0b3cf5e
LR
3972001-11-26 Loren J. Rittle <ljrittle@acm.org>
398
399 * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
400 * config/i386/netbsd-elf.h: Likewise.
401
79fde587
DE
4022001-11-26 David Edelsohn <edelsohn@gnu.org>
403
404 * doc/trouble.texi: Remove outdated RS/6000 comments.
405
5bc72aeb
JH
406Mon Nov 26 13:49:41 CET 2001 Jan Hubicka <jh@suse.cz>
407
408 * final.c (walk_alter_subreg): Fix return value.
409
410Mon Nov 26 11:36:20 CET 2001 Jan Hubicka <jh@suse.cz>
0e1638d4
JH
411
412 * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
413 alter_subreg.
414 * sparc.md (post-reload splitters): Do not call alter_subreg.
415 * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
416
78b583fe
AH
4172001-11-25 Aldy Hernandez <aldyh@redhat.com>
418
419 * regclass.c (choose_hard_reg_mode): Handle vector arguments.
420
addd7df6
AM
4212001-11-26 Alan Modra <amodra@bigpond.net.au>
422
423 * final.c: (insn_lengths): Make it an int *, so that large jump
424 tables don't overflow.
425
7e5fb12f
JM
4262001-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
427
428 * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
429 (format_types): Use it for scanf.
430 (dollar_arguments_pointer_p): New.
431 (init_dollar_format_checking): Store details of which arguments
432 are pointers.
433 (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
434 (finish_dollar_format_checking): Take extra parameter
435 pointer_gap_ok. Treat unused arguments differently if
436 pointer_gap_ok and the unused arguments are pointers.
437 (check_format_info_main): Pass extra argument to
438 finish_dollar_format_checking.
439 * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
440 unused arguments are present between used arguments with operand
441 numbers.
442
a6253d46
DB
4432001-11-25 Daniel Berlin <dan@cgsoftware.com>
444
445 * df.c: Add prototypes for hybrid_search_bitmap and
4e0a5dc2 446 hybrid_search_sbitmap.
a6253d46
DB
447 (hybrid_search_bitmap): New function.
448 (hybrid_search_sbitmap): New function.
449 (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
450 (iterative_dataflow_bitmap): Ditto.
4e0a5dc2 451
4f81fba1
SC
4522001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
453
454 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
455 address computations.
456
259ed6e2
SC
4572001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
458
459 * config/m68hc11/m68hc11.c (d_register_operand): Must accept
460 register b (low part of d).
461
f4b00a9a
SC
4622001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
463
464 * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
465 passed to mcount.
466
d133777f
DR
467Sun Nov 25 06:22:09 2001 Douglas B. Rupp <rupp@gnat.com>
468
469 * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
470 * config/alpha/x-vms: New file, to compile the above.
471 * config.gcc (alpha*-dec-vms*): Add x-vms.
472
2dbbe435
HPN
4732001-11-24 Hans-Peter Nilsson <hp@axis.com>
474
475 * genextract.c (main): Set ro_loc for peepholes.
476
7201ce79
DR
477Sat Nov 24 17:04:10 2001 Douglas B. Rupp <rupp@gnat.com>
478
e1c12209
DR
479 * fix-header.c (main): Move inf_buffer termination and inf_limit
480 calculation to after read.
481
7201ce79
DR
482 * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
483 (__UNIX_FOPEN): Define.
484
08e42d8b
RK
485Sat Nov 24 16:11:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
486
487 * function.c (assign_stack_temp_for_type): Clear alias set before
488 setting new one.
489
134c32f6
DE
4902001-11-23 David Edelsohn <edelsohn@gnu.org>
491
492 * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
493 format.
494 * rs6000.md (cmptf): Fix typo.
495
eac50d7a
RS
4962001-11-23 Richard Sandiford <rsandifo@redhat.com>
497
498 * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
499 * varasm.c (output_constructor): Use assemble_integer rather
500 than ASM_OUTPUT_BYTE.
501
e1e7d56b
AJ
5022001-11-23 Andreas Jaeger <aj@suse.de>
503
504 * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
505 extension.
506
56101178
NC
5072001-11-23 Nick Clifton <nickc@cambridge.redhat.com>
508
509 * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
510 default definition.
511 (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
512 (MULTILIB_DEFAULTS): Remove previous definition.
513
f26311c1
NB
5142001-11-23 Neil Booth <neil@daikokuya.demon.co.uk>
515
516 * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
517 * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
518
a338be44
KG
5192001-11-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
520
521 * cris.h: Revert thinko in last patch.
522
754d9299
JM
5232001-11-23 Joseph S. Myers <jsm28@cam.ac.uk>
524
a1f300c0
JM
525 * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
526 FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
527 cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
528 dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
529 explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
530 sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
531
754d9299
JM
532 * predict.c, reg-stack.c: Fix spelling errors.
533
60f4621c
AH
5342001-10-09 Andrew Haley <aph@redhat.com>
535
536 * calls.c (check_sibcall_argument_overlap): Use slot_offset for
537 start of stack slot.
538
09eb1aab
GS
5392001-11-22 Graham Stott <grahams@redhat.com>
540
541 * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
542 replacement jump after original jump.
543
544 (verify_flow_info): Remove redundent initialisation.
545 Handle reaching end of insn list before finding a BARRIER.
546 Only issue one missing barrier diagnostic.
547
44a5da09
GS
5482001-11-22 Graham Stott <grahams@redhat.com>
549
550 * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
551
669fe758
RK
552Thu Nov 22 06:49:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
553
554 * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
555 insn actually does.
556
eb9601ab
NC
5572001-11-22 Nick Clifton <nickc@cambridge.redhat.com>
558
98180123
NC
559 * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
560 Fix typo -mm32rx=> -m32rx.
561
ebe413e5
NC
562 * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
563 targets.
564
eb9601ab
NC
565 * config.gcc (xscale-coff): Add necessary header files to
566 tm_file variable.
567
44518ddd
ZW
5682001-11-20 Zack Weinberg <zack@codesourcery.com>
569
570 * rs6000.c (output_cbranch): Use $, not %$, in output template.
571
89d684bb
BM
5722001-11-21 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
573
574 * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
575 (lang_type_quals): Declare.
e1e7d56b
AJ
576 (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
577 retrieve language-specific qualifiers for a type node, instead of
578 C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
89d684bb
BM
579 lang_dump_tree.
580 * tree-dump.h: Rename from c-dump.h.
581 * c-common.h (C_TYPE_QUALS): Removed.
582 Move declarations for tree-dump.c interface to...
583 * tree.h: ... here. Remove lang_dump_tree.
584 * langhooks.h (struct lang_hooks_for_tree_dump): New.
585 (struct lang_hooks): Add tree_dump hooks.
586 * langhooks.c (lhd_tree_dump_dump_tree): New function.
587 (lhd_tree_dump_type_quals): New function.
588 * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
589 Declare.
590 (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
591 * Makefile.in: Move tree-dump.o to language-independent back-end.
592
4617e3b5
KG
5932001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
594
595 * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
596 * alpha.h (DBX_REGISTER_NUMBER): Likewise.
597 * arc.h (DBX_REGISTER_NUMBER): Likewise.
598 * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
599 * avr.h (DBX_REGISTER_NUMBER): Likewise.
600 * c4x.h (DBX_REGISTER_NUMBER): Likewise.
601 * clipper.h (DBX_REGISTER_NUMBER): Likewise.
602 * convex.h (DBX_REGISTER_NUMBER): Likewise.
603 * cris.h (DBX_REGISTER_NUMBER): Likewise.
604 * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
605 * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
606 * fr30.h (DBX_REGISTER_NUMBER): Likewise.
607 * h8300.h (DBX_REGISTER_NUMBER): Likewise.
608 * i370.h (DBX_REGISTER_NUMBER): Likewise.
609 * i860.h (DBX_REGISTER_NUMBER): Likewise.
610 * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
611 * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
612 * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
613 * m32r.h (DBX_REGISTER_NUMBER): Likewise.
614 * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
615 * m88k.h (DBX_REGISTER_NUMBER): Likewise.
616 * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
617 * mcore.h (DBX_REGISTER_NUMBER): Likewise.
618 * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
619 * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
620 * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
621 * romp.h (DBX_REGISTER_NUMBER): Likewise.
622 * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
623 * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
624 * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
625 * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
626 * v850.h (DBX_REGISTER_NUMBER): Likewise.
627 * vax.h (DBX_REGISTER_NUMBER): Likewise.
628 * we32k.h (DBX_REGISTER_NUMBER): Likewise.
e1e7d56b 629
4617e3b5
KG
630 * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
631 * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
632
13422e9d
L
6332001-11-21 H.J. Lu <hjl@gnu.org>
634
635 * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
636
40c13662
KG
6372001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
638
639 * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
640 emit_cmp_and_jump_insns.
641
642 * stormy16.c (xstormy16_expand_builtin_va_arg,
643 xstormy16_expand_casesi): Likewise.
644
c11c10d8
RK
645Wed Nov 21 17:37:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
646
3258e996
RK
647 * function.c (keep_stack_depressed): Major rework.
648 (handle_epilogue_set, emit_equiv_load): New functions.
649 (thread_prologue_and_epilogue_insns): keep_stack_depressed now
650 has return value.
651 * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
652 * rtl.h (SET_IS_RETURN_P): New macro.
653
c11c10d8
RK
654 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
655 and also support TREE_ADDRESSABLE.
656 * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
657
2e7d5318
DE
6582001-11-21 David Edelsohn <edelsohn@gnu.org>
659
660 * rs6000.md (cmptf_internal1): Replace %$ with $.
661
ca47c89e
DR
662Wed Nov 21 16:44:01 2001 Douglas B. Rupp <rupp@gnat.com>
663
ae1139f9
DR
664 * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
665 (read_include_file): Use STAT_SIZE_TOO_BIG.
666
ca47c89e
DR
667 * cppinit.c (INO_T_COPY): Define.
668 (INO_T_EQ): Uppercase parameters.
669 (append_include_chain): Use INO_T_COPY.
670
9d083c8c
RS
6712001-11-21 Richard Sandiford <rsandifo@redhat.com>
672
673 * cfg.c: Fix typos and formatting in the introductory comment.
674
b9224c94
JH
675Wed Nov 21 12:38:37 CET 2001 Jan Hubicka
676
677 * profile.c (compute_branch_probabilites): Compute probabilities
678 for entry/exit edges; estimate probabilities for zero counts.
679
1258ee80
JJ
6802001-11-21 Jakub Jelinek <jakub@redhat.com>
681
682 * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
683 to emit_library_call.
684 * function.c (expand_main_function, expand_function_start,
685 expand_function_end): Likewise.
686 * profile.c (output_func_start_profiler): Likewise.
687 * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
688 second argument to emit_library_call.
689 * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
690 as second argument to emit_library_call.
691 * calls.c (emit_library_call): Update fn_type description.
692
83dea45d
JJ
6932001-11-21 Jakub Jelinek <jakub@redhat.com>
694
695 * c-decl.c (c_expand_deferred_function): Only call c_expand_body
696 if fndecl is still DECL_INLINE and has DECL_RESULT.
697
cd4c46f3
KG
6982001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
699
700 * clipper.c (clipper_movstr): Avoid uninitialized warning.
701 * i960.c (is_mask, legitimize_address): Likewise.
702 * m88k.c (m88k_expand_prologue): Likewise.
703 * m88k.md: Likewise.
704 * mcore.c (emit_new_cond_insn): Likewise.
705 * stormy16.c (xstormy16_emit_cbranch): Likewise.
706
f607bc57
ZW
7072001-11-20 Zack Weinberg <zack@codesourcery.com>
708
709 * config.gcc: Delete powerpcle-*-solaris2* stanza.
710 * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
711 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
712 config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
713 config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
714 config/rs6000/t-ppcos: Expunge all references to Solaris.
715
716 * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
717
718 * config/rs6000/rs6000.md: Replace '%$' with '$' in all
719 output templates.
720 * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
721 and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
722
533f5e0f
KG
7232001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
724
725 * sh.md: Avoid uninitialized warnings.
726 * vax.c (vax_rtx_cost): Likewise.
727
00b960c7
AH
7282001-11-15 Aldy Hernandez <aldyh@redhat.com>
729
730 * rs6000.c (direct_return): Check if we are saving altivec
731 registers.
732 (first_altivec_reg_to_save): New.
733 Updated stack frame layout comments.
734 (rs6000_stack_info): Calculate altivec register save size.
735 Save link register if we saved some altivec registers.
736 (rs6000_stack_info): Align save size to 16 if altivec abi or
737 abi_darwin.
738 (rs6000_stack_info): Calculate altivec register offsets.
739 (rs6000_stack_info): Add altivec info to save_size.
740 (debug_stack_info): Add altivec debug info.
741 (rs6000_emit_prologue): Save altivec registers and vrsave.
742 (compute_vrsave_mask): New.
743 (altivec_expand_builtin): Remove unused variables.
744 (rs6000_parse_abi_options): Add static qualifier.
745 (rs6000_expand_builtin): Remove unused parameters.
746 (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
747 (altivec_init_builtins): Same.
748 (is_altivec_return_reg): New.
749 (vrsave_operation): New.
750 (ALTIVEC_REG_BIT): New.
751 (generate_set_vrsave): New.
752
753 * rs6000.md (get_vrsave): New.
754 (set_vrsave): New.
755 (*set_vrsave_internal): New.
756
757 * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
758 altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
759 altivec_padding_size, vrsave_mask.
760 (TOTAL_ALTIVEC_REGS): New.
761 (EPILOGUE_USES): Add VRSAVE_REGNO.
762
1b735a57
JL
7632001-11-20 Jeff Law <law@redhat.com>
764
765 * unroll.c (copy_loop_body): Update LABEL_NUSES for the
766 exit label as necessary.
767
92a21141 7682001-11-20 Brad Kaiser <bkaiser@acelink.net>
f607bc57 769
92a21141
BK
770 * reload1.c (elimination_effects): Use function_invariant_p
771 instead of CONSTANT_P when considering register equivalences.
772
b91da81f
DB
7732001-11-20 David O'Brien <obrien@FreeBSD.org>
774
775 * config.gcc: Add FreeBSD/PowerPC target.
776 (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
777 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
778 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
779 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
780 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
781 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
782 freebsd-spec.h to tm_file.
783 (rs6000-*-lynxos*): Add lynx.h to tm_file.
784 * config/freebsd.h: Tidy up.
785 (USING_CONFIG_FREEBSD): Define.
786 (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
787 FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
788 FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
789 (TARGET_HAS_F_SETLKW): Define.
790 (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
791 * config/freebsd-spec.h: New file.
792 * config/rs6000/freebsd.h: New file.
793 * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
794 * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
795 USING_SVR4_H to know when to turn on ELF support.
796 * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
797 define only if not already defined.
798 Add FreeBSD support.
799 * config/rs6000/aix.h (TARGET_VERSION): Define.
800 * config/rs6000/beos.h: Likewise.
801 * config/rs6000/darwin.h: Likewise.
802 * config/rs6000/mach.h: Likewise.
803 * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
804 Don't include lynx.h directly.
805
5d393c8e
GS
8062001-11-20 Graham Stott <grahams@redhat.com>
807
808 * unwind-dw2-fde.c (__deregister_frame_info_bases):
809 Fix lossage in last change return OB.
810
a6e50ecb
DR
811Tue Nov 20 11:56:12 2001 Douglas B. Rupp <rupp@gnat.com>
812
813 * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
814 Remove unneeded exit related macros.
815
06f4e019
DE
8162001-11-20 David Edelsohn <edelsohn@gnu.org>
817
818 * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
819
820 * rs6000.c (rs6000_emit_move): Add TFmode case.
821 * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
822 LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
823 LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
824 * rs6000.h: ... to here.
825 * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
826 trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
d6f99ca4 827 fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
06f4e019 828
916f389b
RK
829Tue Nov 20 06:41:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
830
831 * emit-rtl.c (get_mem_attrs): Fix typo.
832
2dbd62ff
JJ
8332001-11-20 Jakub Jelinek <jakub@redhat.com>
834
835 * c-lang.c (finish_file): Backout 2001-11-16
836 changes, instead set DECL_DEFER_OUTPUT for static inline functions
837 before calling c_expand_deferred_function.
838
55fae1a9
JJ
8392001-11-20 Jakub Jelinek <jakub@redhat.com>
840
841 * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
842 Don't register empty .eh_frame sections.
843 (__deregister_frame_info_bases, __deregister_frame): Don't
844 unregister them either.
845
5f0e9ea2
GK
8462001-11-19 Geoffrey Keating <geoffk@redhat.com>
847
848 * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
849 (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
850 * configure: Regenerate.
851 * config.in: Add dummy definitions of new flags.
852 * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
853 * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
854 * gcc.c (ASM_DEBUG_SPEC): New macro.
855 (asm_debug): New static variable.
856 (default_compilers): Add asm_debug when assembling from
857 user input.
858 (static_specs): Add asm_debug.
859
a5f4f16c
LR
8602001-11-20 Loren J. Rittle <ljrittle@acm.org>
861
862 * config.gcc (*-*-freebsd*): Remove configuration block.
863
d8140df6
LR
8642001-11-19 Loren J. Rittle <ljrittle@acm.org>
865
866 bootstrap/4422
867 * configure.in: Setup ability to run ./stage[1234]/xgcc in
868 fixinc *as if* it were a proper lang subdirectory.
869 * configure: Rebuilt.
870
c185387d
LR
8712001-11-19 Loren J. Rittle <ljrittle@acm.org>
872
873 * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
874
79663a62
KG
8752001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
876
877 * 1750a.md: Don't use hex format for a const_int.
878
e98f90d3
GK
8792001-11-19 Geoffrey Keating <geoffk@redhat.com>
880
881 * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
882
497e89e1
ZW
8832001-11-19 Zack Weinberg <zack@codesourcery.com>
884
885 * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
886 defined (prevents link errors when gettext isn't in the system
887 library).
888
53c98b1f
DD
8892001-11-19 DJ Delorie <dj@redhat.com>
890
891 * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
892 (validate_const_int): New.
893 (read_rtx): Validate constant integers.
894 * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
895
8b97450d
JJ
8962001-11-19 Jakub Jelinek <jakub@redhat.com>
897
898 * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
899
6baf9874
DR
900Mon Nov 19 16:57:44 2001 Douglas B. Rupp <rupp@gnat.com>
901
902 * toplev.c (DUMPFILE_FORMAT): Define default.
903 (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
904 (close_dump_file, compile_file): Likewise.
905 * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
906 * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
907
419fef71
JL
9082001-11-19 Jeff Law <law@redhat.com>
909
910 * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
911 a nop-jump.
912
9132000-11-19 Neil Booth <neil@daikokuya.demon.co.uk>
3293c3e3
NB
914
915 * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
916 Don't fall off the base token run.
917
c29593dc
JW
9182001-11-19 Jason Wilkins <fenix@io.com>
919
920 * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
921
ed239f5a
RK
922Mon Nov 19 15:13:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
923
924 * tree.def (VIEW_CONVERT_EXPR): New tree code.
925 * tree.h (handled_component_p): New declaration.
926 * alias.c (handled_component_p): Move function from here ...
927 * expr.c (handled_component_p): ... to here and non longer static.
928 (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
929 (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
930 (get_inner_reference): Handle VIEW_CONVERT_EXPR.
931 (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
932 (expand_expr, case VIEW_CONVERT_EXPR): New case.
933 (expand_expr, cse ADDR_EXPR): No need to copy if already
934 BIGGEST_ALIGNMENT.
935 * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
936 * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
937 (output_constant): Handle VIEW_CONVERT_EXPR.
938 * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
939 Add new case for VIEW_CONVERT_EXPR.
940
a5a9cb26
KG
9412001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
942
943 * a29k/unix.h (ASM_FILE_START): Const-ify.
944 * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
945 * i386/isc.h (ASM_FILE_START): Const-ify.
946 * i386/sun386.h (ASM_FILE_START): Likewise.
947 * m32r.md: Likewise.
948 * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
949 * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
950 * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
951 * mn10200.md: Initialize variable.
952
7fcd7218
JH
953Mon Nov 19 18:06:21 CET 2001 Jan Hubicka <jh@suse.cz>
954
955 * gcse.c (try_replace_reg): Copy RTX before creating note.
956
957 * df.h (df_ref_flags): New uenum.
958 (DF_REF_FLAGS): New macro.
959 (struct ref): Add field "flags".
960 * df.c (HANDLE_SUBREG): Remove.
961 (df_ref_create): Likewise; set flags field of ref.
962 (df_def_record_1): Strip down read_write subreg; remove
963 commented out code; set READ_WRITE flag.
964 (read_modify_subreg_p): New static function.
965 (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
966 new argument "flags".
967 (df_insn_refs_record): Update call of df_uses_record.
968 (df_insn_modify): Avoid #if 0 around comment.
969 (df_dump): Dump the read/write flag.
970
971 * predict.c (propagate_freq): Make cyclic_probability and frequency
972 volatile
973
974 * i386.c (ix86_cc_mode): Accept USE.
975
976 * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed
977 jump is turned into simplejump.
978
598f4c4c
JM
9792001-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
980
981 * doc/fragments.texi, doc/trouble.texi: Remove links to old
982 installation chapter.
983 * doc/gcc.texi: Don't claim that this manual documents
984 installation. Mark Installation menu entry as being out of date.
985
394f41b6
DR
986Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com>
987
988 * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
989 (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
990 * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
991
aa6ad1a6
JM
9922001-11-19 Jason Merrill <jason@redhat.com>
993
994 * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
995 cur_token, not after.
996
997 * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
998 Lose ASM_OUTPUT_CONSTRUCTOR.
999 * system.h: Poison it and INT_ASM_OP.
1000 * c-lang.c (finish_file): Don't check for it.
1001 * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
1002
75540760
KG
10032001-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1004
1005 * mmix.c (mmix_cc1_ignored_option): Const-ify.
1006 (mmix_init_machine_status): Make static to match declaration.
1007 (mmix_unique_section): Const-ify.
1008 (mmix_output_quoted_string): Avoid automatic aggregate
1009 initialization.
1010 (mmix_output_register_setting): Likewise.
1011 (mmix_output_shiftvalue_op_from_str): Likewise.
1012
1013 * mmix.h (mmix_cc1_ignored_option): Const-ify.
1014 (ASM_OUTPUT_BYTE): Fix format specifier warning.
1015 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1016
39244792
CR
10172001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
1018
1019 PR c/4448
1020 * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
f607bc57 1021 name __objc_thread_exit_status so that it matches the
39244792
CR
1022 variable defined in objc/thr.h.
1023
20266bb1
CR
10242001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
1025
1026 PR bootstrap/4020
1027 * mklibgcc.in: Add missing semi-colons.
1028 * Makefile.in: Same.
1029
e27cc84b
RK
1030Sun Nov 18 16:47:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1031
1032 * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
1033 after re-laying out decl in incomplete case.
1034 (expand_expr, case ADDR_EXPR): Fix typo in copy case.
1035
72170b22
JM
10362001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
1037
1038 * doc/install-old.texi: Move some sections out to ...
1039 * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
1040 ... here. New files. Make into chapters rather than sections.
1041 * doc/gcc.texi: Include the new files and add menu entries for
1042 them.
1043 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1044
69deb6e0
RK
1045Sun Nov 18 14:13:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1046
c3d32120
RK
1047 * tree.h (TYPE_ALIGN_OK): New flag.
1048 * emit-rtl.c (set_mem_attributes): Handle it.
1049 * expr.c (emit_single_push_insn): Only set to alias set 0 if
1050 doing sibcall optimization.
1051 (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
1052 when make temporary.
1053 (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
1054 (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
1055
69deb6e0
RK
1056 * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
1057
aa99bd09
JM
10582001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
1059
1060 * c-decl.c (c_decode_option): Give deprecation warning for
1061 -traditional.
1062 * doc/invoke.texi (-traditional): Note that this option is
1063 deprecated.
1064
5505dff9
DR
1065Sun Nov 18 07:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
1066
6f4fdd10
DR
1067 * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
1068 arg to HOST_WIDE_INT, not long.
1069
5505dff9
DR
1070 * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
1071 (HAS_INIT_SECTION): Define.
1072 (REAL_ARITHMETIC): Don't undefine.
1073
bca0284a
ED
10742001-11-18 Egor Duda <deo@logos-m.ru>
1075
1076 * config/i386/cygwin.h: Strip leading '*' from name, if any.
1077
22703ccc
NB
10782001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
1079
1080 * Makefile.in (c-parse.o, c-common.o): Update dependencies.
1081 * c-common.c: Include diagnostic.h.
1082 (c_common_finish): New.
1083 * c-common.h (c_common_finish): New.
1084 * c-lang.c (LANG_HOOKS_FINISH): Override.
1085 * c-parse.in: Don't include diagnostic.h.
1086 (finish_parse): Remove.
1087 * langhooks.h: Update comments.
1088 * toplev.c (lang_dependent_init): New prototype.
1089 (finalize): New.
1090 (compile_file): Split cleanup code out to finalize.
1091 (lang_dependent_init): Stop if lang_hooks.init fails.
1092 (toplev_main): Update.
1093 * tree.h (finish_parse): Remove.
1094objc:
1095 * objc-act.c (LANG_HOOKS_FINISH): Override.
1096
6f684b53
DR
1097Sat Nov 17 23:30:44 2001 Douglas B. Rupp <rupp@gnat.com>
1098
1099 * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
1100 * config/alpha/vms_tramp.asm: New file.
1101 * config/alpha/vms-tramp.asm: Removed.
1102
7d14c755
JM
11032001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
1104
1105 * c-common.c (struct disabled_builtin, disabled_builtins,
1106 disable_builtin_function, builtin_function_disabled_p): New.
1107 (builtin_function_2): Check for disabled built-in functions.
1108 * c-common.h (disable_builtin_function): Declare.
1109 * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
1110 * doc/invoke.texi: Document -fno-builtin-FUNCTION.
1111 * doc/extend.texi: Mention -fno-builtin-FUNCTION.
1112
f3095b5f
CR
11132001-11-17 Craig Rodrigues <rodrigc@gcc.gnu.org>
1114
1115 PR target/4606
1116 * config.gcc: Remove reference to va-clipper.h.
1117
089a05b8
SS
11182001-11-17 Stan Shebs <shebs@apple.com>
1119
1120 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
1121 AltiVec-related bitfields.
1122
572202a7
RK
1123Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1124
1125 * except.c (enum eh_region_type): Add ERT_UNKNOWN.
1126 (mark_eh_region, case ERT_UKNONW): New case.
1127
d0e06c90 11282001-11-17 Christopher Faylor <cgf@redhat.com>
c03dcc62 1129 Corinna Vinschen <vinschen@redhat.com>
d0e06c90
CF
1130
1131 * config/i386/cygwin.h: Search target specific include directory for
1132 w32api stuff, if appropriate.
1133
5370b45d
DR
1134Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
1135
1136 * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
1137
f3fe2696
AH
11382001-11-16 Aldy Hernandez <aldyh@redhat.com>
1139
1140 * config/rs6000/rs6000.md: Change all ldvx to lvx.
1141
e13c5526
AO
11422001-11-16 Alexandre Oliva <aoliva@redhat.com>
1143
1144 * gensupport.c (process_rtx): Don't assume filename is the first
1145 argument of any rtl.
1146
268399cd
JDA
11472001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
1148
1149 * vax-protos.h (reg_was_0_p): New prototype.
1150 * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
1151 * vax.c (follows_p, reg_was_0_p): New functions.
1152
550b2951
JDA
11532001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
1154
1155 * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
1156 (casesi1): Likewise. Define new pattern which arises by simplification
1157 when operand 1 is a constant int. Correct pattern which arises by
1158 simplification when operand 1 is zero.
1159
f910b1bb
DB
11602001-11-16 David O'Brien <obrien@FreeBSD.org>
1161
1162 * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
1163 arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
1164 arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
1165 arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
1166 arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
1167 arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
1168 xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
1169 * config/arm/aof.h: Don't include arm.h.
1170 * config/arm/aout.h: Likewise.
1171 * config/arm/coff.h: Don't include semi.h and aout.h.
1172 * config/arm/elf.h: Don't include aout.h.
1173 * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
1174 (TARGET_VERSION): Undef before defining.
1175 (ARM_OS_NAME): Likewise
1176 (TARGET_DEFAULT): Likewise
1177 (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
1178 * config/arm/pe.h: Don't include arm/coff.h.
1179 * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
1180 SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
1181 * config/arm/riscix1-1.h: Likewise.
1182 * config/arm/rix-gas.h: Don't include riscix.h.
1183 (DBX_CONTIN_LENGTH): Undef before defining.
1184 * config/arm/semi.h: Don't include aout.h.
1185 * config/arm/semiaof.h: Don't include aof.h.
1186 * config/arm/strongarm-coff.h: Don't include coff.h.
1187 * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
1188 * config/arm/vxarm.h: Don't include arm/coff.h.
1189 * config/arm/xscale-coff.h: Don't include coff.h.
1190
847898f6
RK
1191Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1192
1193 * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
1194 emit_cmp_insn.
1195
d0225025
AJ
11962001-11-16 Andreas Jaeger <aj@suse.de>
1197
1198 * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
1199 to ....
1200 (fixup_fallthru_exit_predecessor): ... this.
1201 Change callers and prototype.
1202
29628f27
BS
12032001-11-16 Bernd Schmidt <bernds@redhat.com>
1204
f607bc57 1205 * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
29628f27
BS
1206 hand; don't use gen_setcc_2.
1207 (ix86_expand_builtin): Fix pshufw.
1208 * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
f607bc57 1209 case UNORDERED to emit the right assembler instruction.
29628f27
BS
1210 (mmx_pshufw): Lose operand 2.
1211 (cvtsi2ss): Fix representation.
1212 From Graham Stott:
1213 (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
1214
81bbae61
JM
12152001-11-16 Joseph S. Myers <jsm28@cam.ac.uk>
1216
1217 * doc/include/linux-and-gnu.texi: Remove.
1218 * doc/gnu.texi: New.
1219 * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
1220 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1221
6b857ce3
KH
12222001-11-16 Kazu Hirata <kazu@hxi.com>
1223
1224 * config/a29k/a29k.c: Fix comment formatting.
1225 * config/a29k/a29k.h: Likewise.
1226 * config/arc/arc.c: Likewise.
1227 * config/arc/arc.h: Likewise.
1228 * config/vax/vax.c: Likewise.
1229 * config/vax/vax.h: Likewise.
1230 * config/we32k/we32k.c: Likewise.
1231 * config/we32k/we32k.h: Likewise.
1232
bcb07710
JL
12332001-11-16 Jeff Law <law@redhat.com>
1234
1235 * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
1236 creating a new jump insn.
1237
1238Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
c952ff4b
RK
1239
1240 * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
1241 copy misaligned data.
1242 * varasm.c (assemble_variable): Set alignment into MEM when changed.
1243
f4dc10d1
GS
12442001-11-16 Graham Stott <grahams@redhat.com>
1245
1246 * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
1247 OPALIGN type.
1248
6d41a92f
OH
12492001-11-16 Olivier Hainque <hainque@act-europe.fr>
1250
f607bc57
ZW
1251 * except.c: Support for catching a list of types with a single handler
1252 (struct eh_region): Change type and filter to lists for catch regions.
1253 (mark_eh_region): Mark the filter list for GC also.
1254 (expand_start_catch): Always build a list if argument not NULL and
1255 register each type of the list through add_type_for_runtime.
1256 (duplicate_eh_region_1): Change type into type_list for catch regions.
1257 (assign_filter_values): Assign a filter to each type associated with a
1258 catch region. Assign filter for NULL types in a unique entry in the
1259 filter list.
1260 (build_post_landing_pads): Emit compare and jump for each filter of
1261 the list associated with a catch region.
1262 (reachable_next_level): When the type thrown is known, stop the search
1263 as soon as one type within a catch list matches. Also, a handler is
1264 potentially reachable only if at least one of the types it catches
1265 has not been previously caught.
1266 (collect_one_action_chain): Retrieve the filter for a NULL type list
1267 from the first filter list entry. For non NULL type lists, add an
1268 action record for every filter assigned.
1269 * except.h: Reflect changes in comment before expand_start_catch.
6d41a92f 1270
a8ca89dc
RK
1271Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1272
1273 * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
1274 BLKmode.
1275
3b2d1507
AT
1276Fri Nov 16 06:37:05 2001 Andreas Tobler <a.tobler@schweiz.ch>
1277
1278 * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
1279
25e7f439
JJ
12802001-11-16 Jakub Jelinek <jakub@redhat.com>
1281
1282 * c-lang.c (finish_file): Don't emit static inline functions if
1283 they weren't referenced.
1284
38b3baae
SS
12852001-11-15 Stan Shebs <shebs@apple.com>
1286
1287 * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
d0225025 1288
e790b36a
BM
12892001-11-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1290
d0225025 1291 * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
e790b36a
BM
1292 call.
1293 * config/i386/i386.md: Likewise.
1294
5237fc07
RK
1295Thu Nov 15 21:40:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1296
1297 * timevar.c (rtl.h): Include so get fancy abort.
1298
9f1a9740
DJ
12992001-11-15 Dale Johannesen <dalej@apple.com>
1300
1301 * config/darwin.h (SELECT_RTX_SECTION): Force address
1302 initializers into 'const' section
1303 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of
1304 if_then_else to match result, not operands
1305
a06ef755
RK
1306Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1307
1308 * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
1309 * emit-rtl.c (change_address): Fix typo in default alignment.
1310 (adjust_address_1): Use mode of NEW, not MODE, when setting size.
1311 * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
1312 * rtl.h (REGNO_PTR_FRAME_P): New macro.
1313
1314 * expr.c (store_field): Pass tree instead of max size; callers changed.
1315 Change handling of alignment.
1316 Only copy to_rtx if is TARGET.
1317 (expand_expr_unaligned): Delete; callers now use expand_expr.
1318 (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
1319 (expand_assignment): Change handling of alignment.
1320 Only copy to_rtx if was original.
1321 (get_inner_reference): No longer return alginment; callers changed.
1322 (expand_expr, case COMPONENT_REF): Change handling of alignment.
1323 (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
1324 (compare_from_rtx): Delete ALIGN parm; all callers changed.
1325 (do_compare_rtx_and_jump): Likewise.
1326 * expr.h: Reflect above changes.
1327 * tree.h: Likewise.
1328 * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
1329 to get_inner_reference.
d43e0b7d
RK
1330 * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
1331 * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
a06ef755
RK
1332 * optabs.c: Likewise.
1333 (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
1334 (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
d43e0b7d
RK
1335 * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
1336 compare_rtx_and_jump, and emit_cmp_jump_insns.
a06ef755
RK
1337 * fold-const.c: Remove PALIGN in calls to get_inner_reference.
1338 * function.c (assign_stack_temp_for_type): No longer static.
1339 * optabs.h (emit_cmp_insn): Remove ALIGN parm.
1340 (prepare_cmp_insn): Delete declaration.
1341 * rtl.h (assign_stack_temp_for_type): Add declaration.
d43e0b7d
RK
1342 * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
1343 * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
1344 * config/i386/i386.c,config/mips/mips.c: Likewise.
a06ef755
RK
1345 * config/i860/i860.c, config/ia64/ia64.c: Likewise.
1346 * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
1347
7960cfbb
SS
13482001-11-15 Stan Shebs <shebs@apple.com>
1349
1350 * config/rs6000/rs6000.h: Fix a comment typo.
1351 (RTX_COSTS): Sort processor versions better.
1352
8d795882
KH
13532001-11-15 Kazu Hirata <kazu@hxi.com>
1354
1355 * config/h8300/h8300.md: Fix insn length of bit insns.
1356
18b5b8d6
JM
13572001-11-15 Jason Merrill <jason@redhat.com>
1358
1359 * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
1360 DIEs if there were errors in the source.
1361
1362 * config/alpha/alpha-interix.h, config/alpha/elf.h,
1363 config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
1364 config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
1365 config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
1366 config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
1367 config/elfos.h, config/lynx.h, config/netware.h,
1368 config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
1369 config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
1370 uses to use ASM_LONG.
1371
94414790
AM
13722001-11-15 Alan Matsuoka <alanm@redhat.com>
1373
1374 * gensupport.c process_include : Change call to alloca to
1375 xmalloc.
1376
9bddde52
AH
13772001-11-15 Aldy Hernandez <aldyh@redhat.com>
1378
1379 * config/rs6000/rs6000.md: Use spaces instead of tabs in output
1380 templates.
1381
fea54805
RK
1382Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1383
1384 * final.c (alter_subreg): If simplify_subreg can't do anything,
1385 handle REG ourselves and abort for others.
1386
768caa28
RH
13872001-11-15 Richard Hodson <hodsonr@dionecorp.com>
1388
1389 * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
1390 routines.
1391
56c2b525
NB
13922001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
1393
1394 * fix-header.c (read_scan_file): Update.
1395
a9915c78
RK
1396Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1397
1398 * toplev.c (toplev_main): Don't start timing until after
1399 command-line options are parsed.
1400
3cae5780
AS
14012001-11-15 Andreas Schwab <schwab@suse.de>
1402
fed7dc63
AS
1403 * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
1404 makefile frag, not host makefile frag.
1405 (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
1406 (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
1407 used.
f607bc57 1408 (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
fed7dc63
AS
1409 * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
1410 * config/m88k/t-dgux (STMP_FIXPROTO): Define.
1411 * config/i386/t-cygwin (STMP_FIXPROTO): Define.
1412 * config/i386/t-dgux (STMP_FIXPROTO): Define.
1413 * config/x-interix: Don't define STMP_FIXPROTO and
1414 FIXPROTO_DEFINES.
1415 * config/t-interix: New file, define STMP_FIXPROTO.
1416 * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
1417 * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
1418 * config/t-svr4 (FIXPROTO_DEFINES): Define.
1419 * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
1420 * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
1421 * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
1422 * config/m68k/t-hp3200: Renamed from x-hp3200.
1423 * config/i370/t-oe: Renamed from x-oe.
1424 * config/mips/t-iris: Renamed from x-iris.
1425 * config/pa/t-bsd: Renamed from x-pa.
1426 * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
1427 * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
1428 config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
1429 config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
1430 config/rs6000/x-cygwin: Remove files.
1431
3cae5780
AS
1432 * configure.in: Check for target objdump and use that in eh_frame
1433 optimization test.
1434 * configure: Regenerated.
1435
2b7d71b2
JJ
14362001-11-15 Jakub Jelinek <jakub@redhat.com>
1437
1438 * jump.c (squeeze_notes): Return true if no real insns were found.
1439 * rtl.h (squeeze_notes): Adjust prototype.
1440 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
1441 squeeze_notes finds no real instructions, abort.
1442 (merge_blocks_move_successor_nojumps): Likewise.
1443 * loop.c (find_and_verify_loops): Likewise.
1444 * stmt.c (expand_end_case): Likewise.
1445 * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
1446 find any real instructions.
1447
8f5a5db8
JJ
1448 * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
1449
feb265ab
JJ
1450 * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
1451 conditional jump, request updating life into for the block
1452 containing it. Fix a typo which prevented life info update.
1453 Clear blocks bitmap before using it.
1454
f5e99456
NB
14552001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
1456
1457 * c-common.c: Include c-lex.h.
1458 (c_common_lang_init): Change prototype. Call init_c_lex and
1459 init_pragma from here.
1460 * c-common.h (c_common_lang_init): Change prototype.
1461 * c-decl.c (init_decl_processing): Rename. Call c_parse_init.
1462 * c-lang.c (c_init): Change prototype. Update.
1463 (c_init_options): Update.
1464 * c-lex.c (cpp_filename): Remove.
1465 (init_c_lex): Update. Read the main file, and get the original
1466 file name.
1467 (yyparse): Finish the command line options.
1468 * c-parse.in (c_parse_init): Call init_reswords here.
1469 (init_parse): Remove.
1470 * c-tree.h (c_init_decl_processing): New.
1471 * cpphash.c (_cpp_init_hashtable): After initializing the hash
1472 table, populate it.
1473 * cppinit.c (read_original_filename, cpp_finish_options): New.
1474 (cpp_create_reader): New prototype. Defer hash table initialization.
1475 (cpp_start_read): Rename cpp_read_main_file. Initialize the
1476 hash table. Get the original filename.
1477 * cpplib.h (cpp_create_reader): Update.
1478 (cpp_start_read): Remove.
1479 (cpp_read_main_file, cpp_finish_options): New.
1480 * cppmain.c (main, do_preprocessing): Update.
1481 * langhooks.h (struct langhooks): Update init prototype.
1482 * toplev.c (general_init, parse_options_and_default_flags,
1483 process_options, lang_indpendent_init, lang_dependent_init,
1484 init_asm_output): New; perform the bulk of initialization.
1485 (compile_file): Move most of initialization to above functions.
1486 (debug_hooks): Initialize statically.
1487 (set_Wunused): Relocate.
1488 (toplev_main): Move most of initialization to other init functions.
1489 Have a clear logic flow.
1490 * tree.h (init_parse, init_decl_processing): Remove.
1491objc:
1492 * objc-act.c (objc_init): Update prototype, combine with old
1493 init_parse.
1494 (objc_init_options): Update.
1495
1496
00baba68
AJ
14972001-11-15 Andreas Jaeger <aj@suse.de>
1498
1499 * cfgrtl.c (purge_all_dead_edges): Use int as argument for
1500 portability.
1501 * basic-block.h: Adjust prototype.
1502
82e41834
KH
15032001-11-15 Kazu Hirata <kazu@hxi.com>
1504
1505 * config/rs6000/aix31.h: Fix comment formatting.
1506 * config/rs6000/beos.h: Likewise.
1507 * config/rs6000/darwin.h: Likewise.
1508 * config/rs6000/eabi.asm: Likewise.
1509 * config/rs6000/linux.h: Likewise.
1510 * config/rs6000/linux64.h: Likewise.
1511 * config/rs6000/lynx.h: Likewise.
1512 * config/rs6000/netbsd.h: Likewise.
1513 * config/rs6000/rs6000.c: Likewise.
1514 * config/rs6000/rs6000.h: Likewise.
1515 * config/rs6000/rs6000.md: Likewise.
1516 * config/rs6000/sol2.h: Likewise.
1517 * config/rs6000/tramp.asm: Likewise.
1518 * config/rs6000/xcoff.h: Likewise.
1519 * config/rs6000/xm-beos.h: Likewise.
1520
7a0f9993
AM
15212001-11-14 Alan Matsuoka <alanm@redhat.com>
1522
00baba68 1523 * rtl.def (INCLUDE) : Define.
7a0f9993
AM
1524 * gensupport.c (init_include_reader, process_include,
1525 save_string) : New functions to implement an include facility
1526 in .md files.
00baba68 1527 * gensupport.h : Add prototype for init_md_reader_args.
7a0f9993
AM
1528 * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
1529 genextract.c genflags.c genopinit.c genoutput.c
1530 genpeep.c genrecog.c: Change call to init_md_reader to
1531 init_md_reader_args.
1532 * md.texi: Document (include "path") and -I directives for RTL
1533 generation tools.
1534
902197eb
DD
15352001-11-14 DJ Delorie <dj@redhat.com>
1536
1537 * integrate.c (get_hard_reg_initial_reg): New.
1538 * integrate.h (get_hard_reg_initial_reg): Prototype.
1539 * local-alloc.c (block_alloc): Don't tie pseudos that
1540 represent call-saved hard regs' initial values.
1541
9da85b16
KG
15422001-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1543
1544 * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
1545 recursion.
1546
d59b3b67
RS
15472001-11-14 Roger Sayle <roger@eyesopen.com>
1548
1549 * fold-const.c (fold): Optimize strlen comparisons against zero.
1550
0f7a7be7
DB
15512001-11-14 David O'Brien <obrien@FreeBSD.org>
1552
1553 * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
1554 sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
1555 sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
1556 sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
1557 sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
1558 sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
1559 sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
1560 Include various CPU headers via tm_file. a.out based platforms now
1561 properly include sparc/aout.h. sol2.h usage now implies including
1562 elfos.h, svr4.h, and sparc/sysv4.h.
1563 * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
1564 Also define to '1'.
1565 * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
1566 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1567 DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
1568 Remove. They are a.out specific and belong in sparc/aout.h.
1569 * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
1570 ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
1571 DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from
1572 sparc/sparc.h.
1573 * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
1574 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
1575 Moved here from sparc/sparc.h.
1576 * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
1577 defining.
1578 * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
1579 * config/sparc/lynx.h: Don't include lynx.h.
1580 (SELECT_SECTION): Do not undef.
1581 * config/sparc/openbsd.h: Don't include sparc/sparc.h.
1582 * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
1583 and sparc/sysv4.h.
1584 * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
1585 * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from
1586 sparc/aout.h now.
1587 * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1588 Don't undef, there is no need.
1589 * config/sparc/splet.h (CPP_PREDEFINES): Define.
1590 * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
1591 * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
1592 Don't include sparc/sparc.h.
1593 * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
1594 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1595 DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include
1596 elfos.h and svr4.h.
1597 (TARGET_VERSION): Define.
1598 * config/sparc/vxsim.h (TARGET_VERSION): Define.
1599
49778644
JH
1600Wed Nov 14 19:46:08 CET 2001 Jan Hubicka <jh@suse.cz>
1601
1602 * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
1603 (cfg_layout_finalize): Use it.
1604 * bb-reorder.c (HAVE_epilogue): Remove.
00baba68 1605 (make_reorder_chain): Do not care special placement of
49778644
JH
1606 last basic block.
1607
1608 * predict.c (expected_value_to_br_prob): Delete the note
1609 once transformed.
1610
1611 * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
1612 measure integration time separately.
1613
b5c02bff
RK
1614Wed Nov 14 12:30:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1615
1616 * function.c (struct temp_slot): ALIGN now unsigned.
1617
bf0e974b
KH
16182001-11-14 Kazu Hirata <kazu@hxi.com>
1619
1620 * config/dsp16xx/dsp16xx.c: Fix comment formatting.
1621 * config/dsp16xx/dsp16xx.h: Likewise.
1622 * config/dsp16xx/dsp16xx.md: Likewise.
1623
a77b1dbc
KH
16242001-11-14 Kazu Hirata <kazu@hxi.com>
1625
1626 * config/h8300/h8300.c (get_shift_alg): Reorganize the code
1627 that deals with 7-bit shifts in HImode.
1628
49d801d3
JH
1629Wed Nov 14 14:17:05 CET 2001 Jan Hubicka <jh@suse.cz>
1630
1631 * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
1632 * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
1633 (final_scan_insn): Update call of alter_subreg.
1634 (cleanup_subreg_operands): Likewise.
1635 (alter_subreg): Rewrite using simplify_subreg.
1636 (output_address, output_operand): Update call of alter_subreg.
1637 * output.h (alter_subreg): Update prototype.
1638 * sdbout.c (sdbout_symbol): Update call of alter_subreg.
1639 * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
a1f300c0 1640 * Makefile.in (final.o): Add dependency on expr.h
49d801d3 1641
b1bba9c0
RK
1642Wed Nov 14 06:37:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1643
1644 * c-lang.c (finish_file): Make I unsigned to eliminate warning.
1645
c6fa9728
JS
16462001-11-13 Jeff Sturm <jsturm@one-point.com>
1647
1648 * doc/install.texi (sparc-*-linux*): Mention requirements for
1649 binutils and glibc.
1650
77bd67cb
JM
16512001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
1652
1653 * Makefile.in (POD2MAN): Don't include --section=1.
1654 (manext): Rename to man1ext. All users changed.
1655 (man7ext): New.
1656 (man7dir): New.
1657 (generated-manpages): Also depend on $(docdir)/gfdl.7,
1658 $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
1659 ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
1660 --section=1 in calls to $(POD2MAN).
1661 ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
1662 (maintainer-clean, install, uninstall): Handle the new man pages.
1663 ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
1664 (installdirs): Create man7dir.
1665 * doc/cpp.texi: Include GFDL in this manual. In the man page,
1666 refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover
1667 texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in
1668 the SEE ALSO man page section.
1669 * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7)
1670 and fsf-funding(7) in the SEE ALSO man page section.
1671 * doc/invoke.texi: Apply GFDL to man page. Include gpl(7),
1672 gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
1673 * doc/include/fdl.texi, doc/include/funding.texi,
1674 doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
1675 * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
1676
a8988448
RH
16772001-11-13 Richard Henderson <rth@redhat.com>
1678
1679 * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
1680 as appropriate for the artificial decl.
1681
7c380843
RH
16822001-11-13 Richard Henderson <rth@redhat.com>
1683
1684 * loop.c (combine_movables): Turn off combination until
1685 move_movables validation bugs are fixed.
1686
c19083d8
DD
16872001-11-13 DJ Delorie <dj@redhat.com>
1688
1689 * config.gcc (powerpc|rs6000): Set default cpp options based
1690 on --with-cpu settings.
1691 * config/rs6000/softfloat.h: New.
1692
4a4ae922
KH
16932001-11-13 Kazu Hirata <kazu@hxi.com>
1694
1695 * config/h8300/h8300.c (shift_alg_si): Use special code for
1696 25-bit shifts on H8/S.
1697 (get_shift_alg): Generate special code for 25-bit shifts on
1698 H8/S.
1699
630036c6
JJ
17002001-11-13 Jakub Jelinek <jakub@redhat.com>
1701
1702 * emit-rtl.c (adjust_address_1): Add ADJUST argument.
1703 (adjust_automodify_address_1): New.
1704 * expr.h (adjust_address, adjust_address_nv): Adjust.
1705 (adjust_automodify_address, adjust_automodify_address_nv): Define.
1706 (adjust_address_1): Update prototype.
1707 (adjust_automodify_address_1): Add prototype.
1708 * expr.c (move_by_pieces_1): Use adjust_automodify_address.
1709 (store_by_pieces_2): Likewise.
1710
047cd3df
RK
1711Tue Nov 13 05:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1712
1d974ca7
RK
1713 * Makefile.in (explow.o): Now depends on ggc.h.
1714 * explow.c (ggc.h): Include.
1715 (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
1716
1717 * Makefile.in (expr.o): Depends on insn-attr.h.
1718 * expr.c (insn-attr.h): New include.
1719 (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
1720 of MEM.
1721 (highest_pow2_factor, case INTEGER_CST): Handle negative values.
1722 (expand_expr): Remove unneeded mark_temp_addr_taken calls and
1723 clean up related usage in ADDR_EXPR.
1724 (expand_expr_unaligned): Likewise.
1725
047cd3df
RK
1726 * emit-rtl.c (change_address): Fix typo in alias setting.
1727
9df9b76e
KG
17282001-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1729
1730 * Makefile.in (cfgcleanup.o): Depend on insn-config.h
1731
da4083c7
CR
17322001-11-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
1733
1734 PR bootstrap/3451
1735 * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
1736 GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
1737
0f658c83
DB
17382001-11-12 David O'Brien <obrien@FreeBSD.org>
1739
1740 * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
1741 sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
1742 sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
1743 sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
1744 sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
1745 sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
1746 sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
1747 sparc64-*-linux*): Include various CPU headers via tm_file.
1748 * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
1749 (SELECT_SECTION): Likewise.
1750 (SELECT_RTX_SECTION): Likewise.
1751 * config/sparc/sparc_bi.h: New file.
1752 * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
1753 * config/sparc/linux-aout.h: Likewise.
1754 * config/sparc/linux.h: Don't include sparc/sysv4.h.
1755 * config/sparc/linux64.h: Likewise.
1756 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
1757 * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h.
1758 * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
1759 and dbxcoff.h
1760 (ASM_OUTPUT_IDENT): Do not #undef.
1761 (SELECT_SECTION): Likewise.
1762 (SELECT_RTX_SECTION): Likewise.
1763 * config/sparc/liteelf.h: Don't include gofast.h.
1764 * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
1765 * config/sparc/lynx.h: Don't include sparc/sparc.h.
1766 * config/sparc/pbd.h: Likewise.
1767 * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
1768 * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
1769 * config/sparc/rtemself.h: Don't include rtems.h.
1770 * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
1771 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
1772 sparc_bi.h instead.
1773 * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
1774 * config/sparc/sol2.h: Include sparc/sparc.h directly.
1775 * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
1776 * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
1777 * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
1778 * config/sparc/sp86x-elf.h: Don't include gofast.h.
1779 * config/sparc/splet.h: Don't include sparc/aout.h.
1780 * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
1781 * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
1782 * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
1783 * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
1784 * config/sparc/vxsparc64.h: Don't include gofast.h.
1785 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
1786
222bde43
JM
17872001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
1788
1789 * doc/standards.texi: Mention C99 TC1.
1790
9b55553e
KG
17912001-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1792
1793 * mips-protos.h (mips_output_conditional_branch): Const-ify.
1794 * mips.c (mips_output_conditional_branch): Likewise.
1795
dd69e230
KH
17962001-11-12 Kazu Hirata <kazu@hxi.com>
1797
1798 * config/h8300/h8300.c (shift_alg_si): Use special code for
1799 15-bit logical shifts and 31-bit logical shifts.
1800 (get_shift_alg): Generate special code for 15-bit and 31-bit
1801 logical shifts.
1802
e0f19bd0
KH
18032001-11-12 Kazu Hirata <kazu@hxi.com>
1804
1805 * config/h8300/h8300.c (shift_alg_qi): Use rotations when
1806 doing 6-bit logical shifts on H8/S.
1807 (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
1808 (get_shift_alg): Generate special code for 21-bit shifts on
1809 H8/S.
1810
692b7eb3
KH
18112001-11-12 Kazu Hirata <kazu@hxi.com>
1812
1813 * config/h8300/h8300.c (get_shift_alg): Remove a redundant
1814 label.
1815
0af5bc3e
RK
1816Mon Nov 12 11:58:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1817
1818 * alias.c (nonoverlapping_memrefs_p): Only update size from memref
1819 if both size and offset known.
1820
c6890454
DB
18212001-11-12 David O'Brien <obrien@FreeBSD.org>
1822
1823 * config/ia64/freebsd.h: Fix misspelling.
1824
73a8ed7e
JM
18252001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
1826
1827 * doc/gcc.texi: Move several chapters out to ...
1828 * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
1829 doc/include/linux-and-gnu.texi, doc/interface.texi,
1830 doc/makefile.texi, doc/passes.texi, doc/portability.texi:
1831 ... here. New files.
1832 * doc/gcc.texi, doc/contrib.texi: Move section headings into
1833 contrib.texi.
1834 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1835
285a5742
KH
18362001-11-12 Kazu Hirata <kazu@hxi.com>
1837
1838 * config/alpha/alpha-interix.h: Fix comment formatting.
1839 * config/alpha/alpha.c: Likewise.
1840 * config/alpha/alpha.h: Likewise.
1841 * config/alpha/alpha32.h: Likewise.
1842 * config/alpha/freebsd.h: Likewise.
1843 * config/alpha/unicosmk.h: Likewise.
1844 * config/alpha/vms.h: Likewise.
1845
96eaf358
KH
18462001-11-12 Kazu Hirata <kazu@hxi.com>
1847
1848 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1849
e9716dc5
JJ
18502001-11-12 Jakub Jelinek <jakub@redhat.com>
1851
1852 * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
1853 numbers.
1854
1edcd60b
RK
1855Mon Nov 12 05:18:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1856
40c0668b
RK
1857 * emit-rtl.c (set_mem_attributes): If making object, can set alignment
1858 from type.
1859 (replace_equiv_address): Call update_temp_slot_address.
1860
749552c4
RK
1861 * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
1862
1edcd60b
RK
1863 * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
1864
769828ab
KH
18652001-11-12 Kazu Hirata <kazu@hxi.com>
1866
1867 * config/h8300/h8300.c (shift_alg_qi): New.
1868 (shift_alg_hi): Likewise.
1869 (shift_alg_si): Likewise.
1870 (get_shift_alg): Change the type of count to unsigned int.
1871 Use the tables.
1872
8b0e9a72
AO
18732001-11-11 Alexandre Oliva <aoliva@redhat.com>
1874
1875 * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
1876 * c-decl.c (c_expand_body): Take argument can_defer_p. Use it
1877 to decide whether to defer a function.
1878 (finish_function): Adjust.
1879 (c_expand_deferred_function): New function.
1880 * c-lang.c (deferred_fns): New variable.
1881 (c_init): Initialize it, and mark it as a root.
1882 (defer_fn): New function.
1883 (finish_file): Expand all deferred functions.
1884 * c-tree.h (defer_fn): Declare.
1885 (c_expand_deferred_function): Likewise.
1886 * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
1887 * objc-act.c (deferred_fns): New variable.
1888 (objc_init): Initialize it, and mark it as a root.
1889 (defer_fn): New function.
1890 (finish_file): Expand all deferred functions.
1891
950a3816
KG
18922001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1893
1894 * alpha.c (unicosmk_special_name): Prototype.
1895 (unicosmk_ssib_name): Delete unused variable.
1896 * alpha/unicosmk.h (common_section, ssib_section): Prototype.
1897 * alpha/vms.h (PREFIX): Undef before defining.
1898 * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
1899 * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
1900 controlling usage. Const-ify.
1901 (alias_number): Delete unused variable.
1902 * m32r/m32r.c (m32r_sched_init): Add missing argument.
1903 (m32r_expand_block_move): Fix uninitialized warnings.
1904 * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
1905 always true' warnings.
1906 * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
1907 * sh/sh.c: Include "integrate.h".
1908 (output_far_jump): Fix uninitialized warning.
1909 * final.c (shorten_branches): Avoid automatic aggregate
1910 initialization.
1911 * integrate.c (subst_constants): Likewise.
1912
0c50ee73
KH
19132001-11-11 Kazu Hirata <kazu@hxi.com>
1914
1915 * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
1916 (get_shift_alg): Remove redundant code.
1917
fe19a83d
KH
19182001-11-11 Kazu Hirata <kazu@hxi.com>
1919
1920 * config/pa/milli64.S: Fix comment formatting.
1921 * config/pa/pa-64.h: Likewise.
1922 * config/pa/pa-linux.h: Likewise.
1923 * config/pa/pa-protos.h: Likewise.
1924 * config/pa/pa.c: Likewise.
1925 * config/pa/pa.h: Likewise.
1926 * config/pa/pa32-linux.h: Likewise.
1927 * config/pa/pa32-regs.h: Likewise.
1928 * config/pa/pa64-hpux.h: Likewise.
1929 * config/pa/pa64-regs.h: Likewise.
1930 * config/pa/som.h: Likewise.
1931
b64a6a11
JM
19322001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
1933
1934 * doc/gcc.texi: Move several chapters out to ...
1935 * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
1936 doc/service.texi, doc/standards.texi, doc/trouble.texi,
1937 doc/vms.texi: ... here. New files.
1938 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1939
eaec9b3d
JM
19402001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
1941
1942 * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
1943 cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
1944 collect2.c, combine.c, config.in, configure, configure.in,
1945 conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
1946 genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
1947 reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
1948 spelling errors.
1949
d746694a
RK
1950Sun Nov 11 05:56:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1951
592bf28c
RK
1952 * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
1953 Adjust operand number in CONST_DOUBLE.
1954
04050c69
RK
1955 * expmed.c (extract_bit_field): No longer pass in alignment.
1956 (extract_fixed_bit_field, extract_split_bit_field): Likewise.
1957 (store_bit_field, store_fixed_bit_field, store_split_bit_field):
1958 Likewise.
1959 * expr.c (store_constructor, store_constructor_field): Likewise.
1960 (store_field, emit_group_load, emit_group_store): Likewise.
1961 * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
1962 (store_bit_field, extract_bit_field): Likewise.
1963 * calls.c, expr.c, function.c: Change calls to above functions.
1964 * ifcvt.c, stmt.c: Likewise.
00baba68 1965
d746694a
RK
1966 * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
1967 constant and one is on frame.
1968 If know memref offset, adjust size from decl.
1969
e59f7d3d
KG
19702001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1971
1972 * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
1973 format specifier warning.
1974 * convex.h (ASM_OUTPUT_BYTE): Likewise.
1975 * elfos.h (ALIGN_ASM_OP): Undef before defining.
1976 * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1977 warning.
1978 * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1979 * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1980 * i386-interix.h (gen_stdcall_suffix): Prototype.
1981 * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1982 * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1983 ASM_OUTPUT_LONG_DOUBLE): Likewise.
1984 * i386/interix.c (gen_stdcall_suffix): Const-ify.
1985 * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1986 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
1987 specifier warnings.
1988 * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1989 * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1990 ASM_OUTPUT_LONG_DOUBLE): Likewise.
1991 * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1992 * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1993 * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1994 * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1995 * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1996 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1997 * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1998 * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1999 Likewise.
2000 * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
2001 Likewise.
2002 * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
2003 * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
2004 ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
2005 Likewise.
2006 * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
2007 Likewise.
2008 * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
2009 Likewise.
2010 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
2011 * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2012 * m68k/news.h (PRINT_OPERAND): Likewise.
2013 * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
2014 ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
2015 * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2016 * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
2017 definition.
2018 * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
2019 ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
2020 ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
2021 * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2022 * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
2023 ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
2024 PRINT_OPERAND): Likewise.
2025 * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
2026 Likewise.
2027 * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
2028 * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
2029 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
2030 * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
2031 * mips.c (mips_output_external_libcall): Mark parameter with
2032 ATTRIBUTE_UNUSED.
2033 (mips_asm_file_start): Move variable into the scope where it's
2034 used.
2035 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2036 * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
2037 * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
2038 * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2039 * ns32k.c (print_operand): Likewise.
2040 * pa.c (print_operand, output_div_insn): Likewise.
2041 * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
2042 ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
2043 * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
2044 * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
2045 specifier warnings.
2046 * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2047 * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2048 (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
2049 * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
2050 specifier warnings.
2051 * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2052
2053 * sdbout.c (sdbout_end_epilogue): Mark parameter with
2054 ATTRIBUTE_UNUSED.
2055 * varasm.c (assemble_global): Likewise.
2056
3e619f14
L
20572001-11-11 H.J. Lu <hjl@gnu.org>
2058
2059 * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
2060
2cca7283
JH
2061Sun Nov 11 01:26:00 CET 2001 Jan Hubicka <jh@suse.cz>
2062
2063 * final.c (*_MAX_SKIP): Use *_max_skip variables.
2064 * flags.h (align_loops_max_skip, align_jumps_max_skip,
2065 align_labels_max_skip): New global variables.
2066 * toplev.c (align_loops_max_skip, align_jumps_max_skip,
2067 align_labels_max_skip): New global variables.
2068 (toplev_main): Set new variables.
2069 * i386.c (override_options): Set max_skip values.
2070
2f0b7af6
GK
20712001-11-10 Geoffrey Keating <geoffk@redhat.com>
2072
2073 * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
2074 * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
2075 * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
2076 don't print an @fptr for labels either.
2077 (xstormy16_output_addr_vec): Don't print @fptr here.
2078 * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
2079
2c1ed626
JL
2080Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com)
2081
2082 * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
2083 an ANSI/ISO definitino.
2084 (ssa_const_prop): Likewise.
2085
0cd5e3a1
AH
20862001-11-10 Aldy Hernandez <aldyh@redhat.com>
2087
2088 * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
2089 altivec registers.
2090
57870f8a
KG
20912001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2092
9e1ac915
KG
2093 * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
2094 * cpplex.c (hex_digit_value): Use hex_p/hex_value.
2095 * cppmain.c (general_init): Call hex_init.
57e9b915 2096 * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
9e1ac915 2097
57870f8a
KG
2098 * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
2099
2100 * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
2101 of dgux.c:output_file_start().
2102
2103 * i386/dgux.c: Delete file.
2104
62918bd3
RH
21052001-11-09 Richard Henderson <rth@redhat.com>
2106
2107 * config/alpha/alpha.c (decl_in_text_section): New.
2108 (current_file_function_operand): Use it.
2109 (alpha_encode_section_info, alpha_end_function): Likewise.
2110
243a7070
DB
21112001-11-07 David O'Brien <obrien@FreeBSD.org>
2112
2113 * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
2114 * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
2115 they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
2116 so OS specific files and use CPP_PREDEFINES for their needs.
2117 * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of
2118 target headers to tm_file.
2119 * config/ia64/aix.h (TARGET_VERSION): Likewise.
2120 * config/ia64/hpux.h (TARGET_VERSION): Likewise.
2121 * config/ia64/linux.h (TARGET_VERSION): Likewise.
2122 (FUNCTION_PROFILER): Remove.
a1f300c0 2123 * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
243a7070
DB
2124 version in config/ia64/linux.h.
2125 * config/ia64/freebsd.h: New file.
2126 * config/freebsd.h: Tidy up.
2127 (_USING_CONFIG_FREEBSD): Define.
2128 (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
2129 (FBSD_CPP_SPEC): Define generic FreeBSD spec.
2130 (FBSD_STARTFILE_SPEC): Likewise.
2131 (FBSD_ENDFILE_SPEC): Likewise.
2132 (FBSD_LIB_SPEC): Likewise.
2133 (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
2134 (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
2135 set an ELF-improper one.
2136
b8e42321
JDA
21372001-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
2138
2139 * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
2140 constant can be loaded in a single instruction to a register. When
2141 loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use
2142 depdi for insertion of most significant 32-bits on 64-bit hosts.
2143 * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
2144 with ldil/ldo/depdi instruction sequence on 64-bit hosts.
2145 * pa.md: New addmove pattern for adding constant_int to HImode
2146 register and moving result to HImode register. Remove HImode HIGH
2147 and LO_SUM patterns.
2148
5d69f816
NB
21492001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
2150
2151 * Makefile.in: Update.
2152 * c-decl.c (print_lang_decl, print_lang_type): Remove.
2153 (print_lang_identifier): Rename c_print_identifier.
2154 * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
2155 (print_lang_statistics, lang_print_xnode): Remove.
2156 * c-parse.in (set_yydebug): Rename c_set_yydebug.
2157 * c-tree.h (c_set_yydebug, c_print_identifier): New.
2158 * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
2159 LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
2160 LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
2161 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
2162 (LANG_HOOKS_INITIALIZER): Update.
2163 * langhooks.h (struct lang_hooks): New members.
2164 (lang_print_tree_hook): New.
2165 * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
2166 * print-tree.c: Include langhooks.h.
2167 (print_node): Update.
2168 * toplev.c (decode_d_option): Update.
2169 * tree.c: Include langhooks.h.
2170 (dump_tree_statistics): Update.
2171 * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
2172 print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
2173objc:
2174 * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
2175 LANG_HOOKS_SET_YYDEBUG): Override.
2176 (lang_print_xnode, print_lang_statistics): Remove.
2177
1ee9fb20
RH
21782001-11-09 Richard Henderson <rth@redhat.com>
2179
2180 * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
2181 on the symbol string.
2182
137bb46a
KG
21832001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2184
1e5cf796
KG
2185 * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
2186 ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
2187 * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
2188
137bb46a
KG
2189 * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
2190
2191 * tlink.c (recompile_files): Copy strings passed to `putenv'.
2192
4192f0d2
GK
21932001-11-09 Geoffrey Keating <geoffk@redhat.com>
2194
50e9f73a
GK
2195 * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
2196 (TYPE_READONLY): Likewise.
2197
ff6051b7
GK
2198 * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
2199
322fe6e1
GK
2200 * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
2201 don't pass --gdwarf2 to the assembler if the compiler will also
2202 provide debug info.
2203
00baba68 2204 * config/stormy16/stormy16.c (xstormy16_expand_casesi):
4192f0d2
GK
2205 Don't change INDEX.
2206
9ddfb1a7
RK
2207Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2208
a4311dfe
RK
2209 * alias.c (nonoverlapping_memrefs_p): New function.
2210 (true_dependence, canon_true_depenence, write_dependence_p): Call it.
2211
9ddfb1a7
RK
2212 * emit-rtl.c (set_mem_attributes): Get alignments for constants.
2213
2473ee11
AH
22142001-11-09 Aldy Hernandez <aldyh@redhat.com>
2215
f607bc57 2216 * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
2473ee11
AH
2217 (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
2218 generating altivec code.
2219 (FIXED_REGISTERS): VRSAVE is fixed.
2220 (CALL_USED_REGISTERS): VRSAVE is call used.
2221
1ee9fb20 22222001-11-09 Jason Eckhardt <jle@rice.edu>
53c12e8d
JE
2223
2224 * config/mips/mips.c (mips_output_conditional_branch): Do not hard
2225 code the branch target as ".+16/.+12", but rather use labels.
2226
512672fd
JL
2227Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
2228
00baba68 2229 * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
9db5bf71
JL
2230 to work around limitations of certain versions of GAS.
2231
512672fd
JL
2232 * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
2233 (muldi3): Update due to SUBREG_BYTE changes.
2234 (casesi): Similarly.
2235
2e7bb36b
ZW
22362001-11-09 Zack Weinberg <zack@codesourcery.com>
2237
2238 * doc/invoke.texi: Remove comment referring to -xf77-version.
2239
cde34caf
KH
22402001-11-09 Kazu Hirata <kazu@hxi.com>
2241
2242 * config/convex/convex.c: Fix comment formatting.
2243 * config/convex/convex.h: Likewise.
2244
359cd11e
ZW
22452001-11-08 Zack Weinberg <zack@codesourcery.com>
2246
2247 * Makefile.in (.po.pox): Look both in srcdir and builddir
2248 for $(PACKAGE).pot.
2249 (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
2250 to the source directory.
2251
de41e41c
BE
22522001-11-09 Ben Elliston <bje@redhat.com>
2253 Michael Meissner <meissner@redhat.com>
f607bc57 2254 Andrew MacLeod <amacleod@redhat.com>
de41e41c
BE
2255 Richard Henderson <rth@redhat.com>
2256 Nick Clifton <nickc@redhat.com>
2257 Catherine Moore <clm@redhat.com>
2258
2259 * m32r.c: Add support for m32rx processor.
2260 * m32r.h: Ditto.
2261 * m32r.md: Ditto.
2262 * t-m32r: Ditto.
2263 * m32r-protos.h: Add prototypes for m32rx functions.
2264 * doc/invoke.texi: Document -m32rx option.
2265
a3d87e92
JJ
22662001-11-09 Jakub Jelinek <jakub@redhat.com>
2267
2268 * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
2269 or after reload.
2270
7ade1c9c
GP
22712001-11-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2272
2273 * doc/install.texi2html: Use $MAKEINFO --no-split.
2274
66e918e5
AS
22752001-11-09 Andreas Schwab <schwab@suse.de>
2276
2277 * Makefile.in ($(HOST_PREFIX_1)rtl.o,
2278 $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
00baba68 2279 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
66e918e5
AS
2280 $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
2281 $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
2282
2aae2cc7
L
22832001-11-09 H.J. Lu <hjl@gnu.org>
2284
2285 * config/mips/mips.c (mips_output_function_prologues): Cast
2286 `tsize' to long for output.
2287
3ac88239
NB
22882001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
2289
2290 * c-lang.c (LANG_HOOKS_NAME): New.
2291 (lang_hooks): Constify.
2292 (c_init_options): Update.
2293 (lang_identify): Remove.
2294 * c-parse.in (language_string): Remove.
2295 * dbxout.c: Include langhooks.h.
2296 (dbxout_symbol_location): Update.
2297 * dwarf2out.c: Include langhooks.h.
2298 (gen_compile_unit_die): Update.
2299 * dwarfout.c: Include langhooks.h.
2300 (prototyped_attribute, output_compile_unit_die): Update.
2301 * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
2302 (LANG_HOOKS_INITIALIZER): Update.
2303 * langhooks.h (struct lang_hooks): New members. Constify.
2304 * stringpool.c: Don't include toplev.h.
2305 (set_identifier_size): Remove.
2306 * toplev.c (toplev_main): Initialize identifier size.
2307 (print_version): Update.
2308 * tree.h (language_string, init_lex, lang_identify,
2309 set_identifier_size): Remove.
2310 * Makefile.in: Update dependencies.
2311 * config/darwin.c: Include langhooks.h.
2312 (func_name_maybe_scoped): Update.
2313 * config/darwin.h (ASM_END_FILE): Update.
2314 * config/nextstep.h (ASM_END_FILE): Update.
2315 * config/nextstep21.h (ASM_END_FILE): Update.
2316 * config/i386/sun386.h (ASM_END_FILE): Update.
2317 * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
2318 (rs6000_output_function_epilogue): Update.
2319objc:
2320 * objc-act.c (LANG_HOOKS_NAME): Override.
2321 (struct lang_hooks): Constify.
2322 (objc_init_options): Update.
2323 (lang_identify): Remove.
2324
11b161d0
JW
2325Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
2326
2327 * fold-const.c (lshift_double): Honor PREC.
2328 (rshift_double): Likewise.
2329
702020d6
KH
23302001-11-08 Kazu Hirata <kazu@hxi.com>
2331
2332 * config/1750a/1750a.c: Fix comment formatting.
2333 * config/1750a/1750a.h: Likewise.
2334
cc9a08e0
PE
23352001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
2336
2337 * configure.in (--enable-languages): Be more permissive about
2338 syntax. Check for empty lists better. Warn about $LANGUAGES.
2339 * configure: Regenerated.
2340
aa1c9d38
RH
23412001-11-08 Richard Henderson <rth@redhat.com>
2342
2343 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
2344
c6243b4c
GK
23452001-11-08 Geoffrey Keating <geoffk@redhat.com>
2346
2347 * config.gcc: Rename stormy16 to xstormy16.
2348 * config/stormy16/stormy-abi: Likewise.
2349 * config/stormy16/stormy16-protos.h: Likewise.
2350 * config/stormy16/stormy16.c: Likewise.
2351 * config/stormy16/stormy16.h: Likewise.
2352 * config/stormy16/stormy16.md: Likewise.
2353
23542001-11-06 Geoffrey Keating <geoffk@redhat.com>
2355
2356 * tree.h (TYPE_VOLATILE): Add enable-checking code.
2357 (TYPE_READONLY): Likewise.
2358
66c60e67
RK
2359Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2360
78571511
RK
2361 * reload1.c (reload): Don't delete equiv insn if can throw.
2362
66c60e67
RK
2363 * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
2364 (clear_storage): Likewise, for OBJECT.
2365
99a2782c
JL
2366Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
2367
2368 * pa.c (emit_move_sequence): Fix SUBREG expression to
2369 use proper byte offset when extending a constant from
2370 SImode to DImode.
2371
89753b3a
JJ
23722001-11-09 Jakub Jelinek <jakub@redhat.com>
2373
2374 * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
2375 which cannot throw.
2376
6608bd4d
RK
2377Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2378
2379 * explow.c (convert_memory_address, case SUBREG): Only return
2380 inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
2381
f098ead2
RH
23822001-11-08 Richard Henderson <rth@redhat.com>
2383
2384 * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
2385 (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
2386 (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
2387
775db490
AH
23882001-11-08 Aldy Hernandez <aldyh@redhat.com>
2389
f607bc57 2390 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
775db490 2391
9eb4015a
JJ
23922001-11-08 Jakub Jelinek <jakub@redhat.com>
2393
2394 * dwarf2out.c (debug_str_hash): New.
2395 (struct indirect_string_node): New.
2396 (struct dw_val_struct): Change type of val_str to it.
2397 (DEBUG_STR_SECTION_FLAGS): Define.
2398 (add_AT_string): Push string into hashtable, increment reference
2399 counter.
2400 (AT_string): Return string from ht_identifier.
2401 (AT_string_form): New.
2402 (free_AT): For dw_val_class_str, just decrement reference counter.
2403 (size_of_string): Remove.
2404 (size_of_die): Use AT_string_form to decide what size the string
2405 occupies in DIE.
2406 (size_of_pubnames): Use strlen instead of size_of_string.
2407 (value_format): Use AT_string_form for dw_val_class_str.
2408 (output_die): Output DW_FORM_strp strings using
2409 dw2_asm_output_offset.
2410 (indirect_string_alloc, output_indirect_string): New.
2411 (dwarf2out_finish): Emit .debug_str strings if there are any.
2412
b21d216c
AF
24132001-11-08 Andreas Franck <afranck@gmx.de>
2414
2415 * configure.in: Add AC_ARG_PROGRAM to support program name
2416 transformation with --program-prefix, --program-suffix and
2417 --program-transform-name.
2418 * configure: Regenerated.
2419 * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
2420 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
2421 GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
2422 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
2423 program_transform_name the way suggested by autoconf.
2424 (GCC_TARGET_INSTALL_NAME): Define.
2425 (install-driver): Use the transformed target alias name.
2426
c8a14e0e
RH
24272001-11-08 Richard Henderson <rth@redhat.com>
2428
2429 * config/mips/mips.c (save_restore_insns): Remove GP from the
2430 restore registers mask early instead of special casing it inside
2431 the loop.
2432
8ac9ea61
NB
24332001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
2434
2435 * cp/decl.c (shadow_warning): New function.
2436 (pushdecl): Improve -Wshadow warnings. Don't give both a warning
2437 and an error when a block scope decl shadows a parameter.
2438
86724f7f
RH
24392001-11-08 Richard Henderson <rth@redhat.com>
2440
2441 * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
2442 case as well.
2443
8270e11f
JDA
24442001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
2445
2446 * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
2447 to implement floating negation on processors prior to PA 2.0.
2448
d6d26764
JJ
24492001-11-08 Jakub Jelinek <jakub@redhat.com>
2450
2451 * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
2452 (USE_LINKONCE_INDIRECT): Define.
2453 (dw2_output_indirect_constant_1): Try to output indirect constants
2454 into linkonce sections if possible.
2455 (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
2456 (dw2_output_indirect_constants): Likewise.
2457
58568475
AH
24582001-11-07 Aldy Hernandez <aldyh@redhat.com>
2459
2460 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
2461
2916c085
NB
24622001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
2463
2464 * c-decl.c (pushdecl): Remove file and line.
2465 * c-typeck.c (pop_init_level): Remove size.
2466
83c6af99
AH
24672001-11-07 Aldy Hernandez <aldyh@redhat.com>
2468
2469 * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
2470 for rs6000.
2471
2472 * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
2473 (TARGET_ALTIVEC): New.
2474 (TARGET_SWITCHES): Add altivec.
2475 (FIRST_PSEUDO_REGISTER): Change to 109.
2476 (CALL_USED_REGISTERS): Same.
2477 (FIRST_ALTIVEC_REGNO): New.
2478 (LAST_ALTIVEC_REGNO): New.
2479 (ALTIVEC_REGNO_P): New.
2480 (UNITS_PER_ALTIVEC_WORD): New.
2481 (ALTIVEC_VECTOR_MODE): New.
2482 (FIXED_REGISTERS): Add altivec registers.
2483 (REG_ALLOC_ORDER): Same.
2484 (HARD_REGNO_NREGS): Adjust for altivec registers.
2485 (HARD_REGNO_MODE_OK): Same.
2486 (MODES_TIEABLE_P): Same.
2487 (REGISTER_MOVE_COST): Same.
2488 (REGNO_REG_CLASS): Same.
2489 (reg_class): Add ALTIVEC_REGS.
2490 (REG_CLASS_NAMES): Same.
2491 (REG_CLASS_CONTENTS): Same.
2492 (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
2493 (ALTIVEC_ARG_RETURN): New.
2494 (FUNCTION_VALUE): Handle VECTOR_TYPE.
2495 (LIBCALL_VALUE): Handle altivec vector modes.
2496 (VECTOR_MODE_SUPPORTED_P): New.
2497 (ALTIVEC_ARG_MIN_REG): New.
2498 (ALTIVEC_ARG_MAX_REG): New.
2499 (ALTIVEC_ARG_NUM_REG): New.
2500 (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
2501 (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
2502 (REGISTER_NAMES): Add altivec regs.
2503 (DEBUG_REGISTER_NAMES): Same.
2504 (ADDITIONAL_REGISTER_NAMES): Same.
2505 (rs6000_builtins): New.
2506 (MD_EXPAND_BUILTIN): New.
2507 (MD_INIT_BUILTINS): New.
2508 (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
2509 for AltiVec instructions.
2510 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
2511 (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
2512 registers.
2513 (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
2514 (TARGET_SWITCHES): Add no-altivec.
2515 (DATA_ALIGNMENT): Align vectors to 128 bits.
2516 (TARGET_OPTIONS): Add abi= option.
2517 Add rs6000_abi_string extern.
2518 (LOCAL_ALIGNMENT): New.
2519 (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
2520 (MASK_ALTIVEC_ABI): New.
2521 (TARGET_ALTIVEC_ABI): New.
2522 (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
2523 call-saved.
2524 (STACK_BOUNDARY): Adjust for altivec.
2525 (BIGGEST_ALIGNMENT): Same.
2526 (rs6000_args): Add vregno.
2527 (USE_ALTIVEC_FOR_ARG_P): New.
2528 (FIXED_REGISTERS): Add vrsave register.
2529 (CALL_USED_REGISTERS): Same.
2530 (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
2531 (VRSAVE_REGNO): New.
2532 (reg_class): Add VRSAVE_REGS.
2533 (REG_CLASS_NAMES): Same.
2534 (REG_CLASS_CONTENTS): Same.
2535 (REGNO_REG_CLASS): Same.
00baba68 2536
83c6af99
AH
2537 * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
2538 (ABI_STACK_BOUNDARY): Same.
2539 (BIGGEST_ALIGNMENT): Same.
2540 (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
2541 (ROUND_TYPE_ALIGN): Same.
00baba68 2542
83c6af99 2543 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
216caa2b
AH
2544 to 64.
2545
2546 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2547 to 64.
2548
2549 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
83c6af99
AH
2550 to 64.
2551
2552 * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
2553 (altivec_expand_builtin): New.
2554 (altivec_init_builtins): New.
2555 (TARGET_EXPAND_BUILTIN): New.
2556 (TARGET_INIT_BUILTINS): New.
2557 (rs6000_init_builtins): New.
2558 (struct builtin_description): New.
2559 (bdesc_2arg): New.
2560 (rs6000_reg_names): Add altivec registers.
2561 (alt_reg_names): Same.
2562 (secondary_reload_class): Altivec regs can hold altivec regs and
2563 memory.
2564 (rs6000_emit_move): Force constants into memory for AltiVec moves.
2565 (print_operand): Add 'y' case for printing altivec memory
2566 operands.
2567 (rs6000_legitimize_address): Legitimize vector addresses into
2568 [REG+REG] or [REG].
2569 (altivec_expand_binop_builtin): New.
2570 New string rs6000_current_abi.
2571 (rs6000_override_options): Call rs6000_parse_abi_options.
2572 (rs6000_parse_abi_options): New.
2573 (function_arg_boundary): Vector arguments must be 16
2574 byte aligned.
2575 (function_arg_advance): Handle vector arguments.
2576 (function_arg_partial_nregs): Same.
2577 (init_cumulative_args): Same.
2578 (function_arg): Same.
2579
2580 * config/rs6000/rs6000.md (altivec_lvx): New.
2581 (type): Add altivec attribute.
2582 (movv4si): New.
2583 (*movv4si_internal): New.
2584 (movv16qi): New.
2585 (*movv16qi_internal): New.
2586 (movv8hi): New.
2587 (*movv8hi_internal1): New.
2588 (movv4sf): New.
2589 (*movv4sf_internal1): New.
2590 (altivec_stvx): New.
2591 (vaddubm): New.
2592 (vadduhm): New.
2593 (vadduwm): New.
2594 (vaddfp): New.
2595 (vaddcuw): New.
2596 (vaddubs): New.
2597 (vaddsbs): New.
2598 (vadduhs): New.
2599 (vaddshs): New.
2600 (vadduws): New.
2601 (vaddsws): New.
2602 (vand): New.
2603 (vandc): New.
2604 (vavgub): New.
2605 (vavgsb): New.
2606 (vavguh): New.
2607 (vavgsh): New.
2608 (vavguw): New.
2609 (vavgsw): New.
2610 (vcmpbfp): New.
2611 (vcmpequb): New.
2612 (vcmpequh): New.
2613 (vcmpequw): New.
2614 (vcmpeqfp): New.
2615 (vcmpgefp): New.
2616 (vcmpgtub): New.
2617 (vcmpgtsb): New.
2618 (vcmpgtuh): New.
2619 (vcmpgtsh): New.
2620 (vcmpgtuw): New.
2621 (vcmpgtsw): New.
2622 (vcmpgtfp): New.
2623 (vcmpgefp): New.
2624 (vcmpgtub): New.
2625 (vcmpgtsb): New.
2626 (vcmpgtuh): New.
2627 (vcmpgtsh): New.
2628 (vcmpgtuw): New.
2629 (vcmpgtsw): New.
2630 (vcmpgtfp): New.
2631 (vmaxub): New.
2632 (vmaxsb): New.
2633 (vmaxuh): New.
2634 (vmaxsh): New.
2635 (vmaxuw): New.
2636 (vmaxsw): New.
2637 (vmaxfp): New.
2638 (vmrghb): New.
2639 (vmrghh): New.
2640 (vmrghw): New.
2641 (vmrglb): New.
2642 (vmrglh): New.
2643 (vmrglw): New.
2644 (vminub): New.
2645 (vminsb): New.
2646 (vminuh): New.
2647 (vminsh): New.
2648 (vminuw): New.
2649 (vminsw): New.
2650 (vminfp): New.
2651 (vmuleub): New.
2652 (vmulesb): New.
2653 (vmuleuh): New.
2654 (vmulesh): New.
2655 (vmuloub): New.
2656 (vmulosb): New.
2657 (vmulouh): New.
2658 (vmulosh): New.
2659 (vnor): New.
2660 (vor): New.
2661 (vpkuhum): New.
2662 (vpkuwum): New.
2663 (vpkpx): New.
2664 (vpkuhss): New.
2665 (vpkshss): New.
2666 (vpkuwss): New.
2667 (vpkswss): New.
2668 (vpkuhus): New.
2669 (vpkshus): New.
2670 (vpkuwus): New.
2671 (vpkswus): New.
2672 (vrlb): New.
2673 (vrlh): New.
2674 (vrlw): New.
2675 (vslb): New.
2676 (vslh): New.
2677 (vslw): New.
2678 (vsl): New.
2679 (vslo): New.
2680 (vsrb): New.
2681 (vrsh): New.
2682 (vrsw): New.
2683 (vsrab): New.
2684 (vsrah): New.
2685 (vsraw): New.
2686 (vsr): New.
2687 (vsro): New.
2688 (vsububm): New.
2689 (vsubuhm): New.
2690 (vsubuwm): New.
2691 (vsubfp): New.
2692 (vsubcuw): New.
2693 (vsububs): New.
2694 (vsubsbs): New.
2695 (vsubuhs): New.
2696 (vsubshs): New.
2697 (vsubuws): New.
2698 (vsubsws): New.
2699 (vsum4ubs): New.
2700 (vsum4sbs): New.
2701 (vsum4shs): New.
2702 (vsum2sws): New.
2703 (vsumsws): New.
2704 (vxor): New.
2705
2a6f0eca
DB
27062001-11-07 Daniel Berlin <dan@cgsoftware.com>
2707
f607bc57
ZW
2708 * Makefile.in (df.o): Add fibheap.h to dependencies.
2709
2710 * df.h: Add prototypes for transfer functions, iterative_dataflow
2711 functions.
2712 (enum df_flow_dir): New enum.
2713 (enum df_confluence_op): New enum.
2714 (struct df): Add inverse_rts_map.
2715
2716 * df.c: Add sbitmap.h to the list of includes.
2717 (df_rd_global_compute): Removed.
2718 (df_ru_global_compute): Removed.
2719 (df_lr_global_compute): Removed.
2720 (df_rd_transfer_function): New function.
2721 (df_ru_transfer_function): New function.
2722 (df_lr_transfer_function): New function.
2723 (df_analyse_1): allocate/compute/free df->inverse_rts_map.
2724 Use iterative_dataflow_bitmap instead of df_*_global_compute.
2725 (iterative_dataflow_sbitmap): New function.
2726 (iterative_dataflow_bitmap): New function.
2a6f0eca 2727
526ca58c
JM
27282001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
2729
2730 * doc/gcc.texi: Move terminology and spelling conventions to
2731 htdocs/codingconventions.html.
2732
8fb1e50e
GS
27332001-11-07 Graham Stott <grahams@redhat.com>
2734
2735 * cse.c (cse_insn): Emit BARRIER after unconditional jump.
2736
b972dd02
JH
2737Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
2738
2739 * expmed.c (expand_mult): Force operand to register before computing
2740 cost.
2741 * i386.c (x86_decompose_lea): New global vairable.
2742 * i386.h (x86_decompose_lea): Declare.
2743 (TARGET_DECOMPOSE_LEA): New macro.
2744 (RTX_COST): Handle leas properly.
2745
0d3f10e5
RH
27462001-11-06 Richard Henderson <rth@redhat.com>
2747
2748 * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
2749 defined for a CONSTRUCTOR; don't check it.
2750
4c259acf
DS
27512001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
2752
2753 * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
2754 test for absolute pathnames.
2755
90f4c415
OH
27562001-11-06 Olivier Hainque <hainque@act-europe.fr>
2757
2758 * unwind-dw2.c (execute_cfa_program): Evaluate call frame
2759 instructions up to the target pc inclusive.
2760
bc532bf7
SC
27612001-11-06 Steve Christiansen <smc@us.ibm.com>
2762
2763 * loop.c (loop_regs_scan): Don't invalidate PIC register.
2764
e0e00329
EC
27652001-11-06 Eric Christopher <echristo@redhat.com>
2766
2767 * config/mips/mips.md(movdf_internal2): Add constraints for float
2768 to general register move.
2769 * config/mips/elf64.h: Add default ABI.
2770
d23c55c2
NB
27712001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2772
2773 * alias.c:: Include langhooks.h.
2774 * emit-rtl.c: Similarly.
2775 * toplev.c: Similarly.
2776 * tree-inline.c: Similarly.
2777 * langhooks-def.h: New, the old langhooks.h. Give the default
2778 hooks a common prefix.
2779 * langhooks.h: Contents extracted from toplev.h.
2780 * toplev.h: Move langhook stuff to langhooks.h.
2781 * langhooks.c: Give default hooks a common prefix.
2782
2783 * c-lang.c: Include langhooks-def.h.
2784 * objc/objc-act.c: Similarly.
2785 * Makefile.in: Update.
2786 * objc/Make-lang.in: Update.
2787
80f9249a
JM
27882001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
2789
2790 * doc/install.texi: Document that configure options not listed in
2791 this file are unsupported. Document --with-system-zlib.
2792
9e446a5c
RK
2793Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2794
03f54026
RK
2795 * rtl.h (mem_for_const_double): New declaration.
2796 * varasm.c (mem_for_const_double): New function.
2797 * config/convex/convex.md (movdf): Use it.
2798 * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
2799 * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
2800 * config/m68k/m68kv4.h: Likewise.
2801
bfd82dbf
RK
2802 * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
2803 of new GP reg classes.
2804
9e446a5c
RK
2805 * expr.c (store_field): When making temp object for unaligned
2806 component, set it to alias set 0.
2807
207bf485
JM
28082001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
2809
2810 * c-common.c (c_expand_expr_stmt): Apply default conversions to
2811 non-lvalue arrays if C99.
2812 * c-typeck.c (default_conversion): Split out code handling
2813 array-to-pointer and function-to-pointer conversions into a
2814 separate default_function_array_conversion function.
2815 (default_function_array_conversion): New function. Keep track of
2816 whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
2817 arrays unchanged outside C99 mode instead of giving an error for
2818 them.
2819 (build_component_ref): Use pedantic_non_lvalue when handling
2820 COMPOUND_EXPR. Don't handle COND_EXPR specially.
2821 (convert_arguments): Use default_function_array_conversion.
2822 (build_unary_op): For ADDR_EXPR, take a flag indicating whether
2823 non-lvalues are OK.
2824 (unary_complex_lvalue): Likewise.
2825 (internal_build_compound_expr): Use
2826 default_function_array_conversion. Apply default conversions to
2827 function in compound expression.
2828 (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
2829 Use default_function_array_conversion.
2830 * doc/extend.texi: Update documentation of subscripting non-lvalue
2831 arrays.
2832 Fixes PR c/461.
2833
9f6682b7
ZW
28342001-11-05 Zack Weinberg <zack@codesourcery.com>
2835
2836 * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
2837 (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
2838 corresponding to the complete set of .po and .gmo files in
2839 the source directory's po subdir, modified by LINGUAS. Don't
2840 look at ALL_LINGUAS.
e0e00329 2841 * configure.in: Don't set ALL_LINGUAS.
9f6682b7
ZW
2842 * configure: Regenerate.
2843
2844 * Makefile.in (.po.gmo): Don't move into source directory.
2845 (.po.pox): Clarify comments.
2846 (install-po): Look for .gmo files in both srcdir and objdir;
e0e00329 2847 don't fail if a file is totally missing.
9f6682b7
ZW
2848 (distclean): rmdir ada subdirectory too.
2849
f3afc192
GK
28502001-11-05 Geoffrey Keating <geoffk@redhat.com>
2851
2852 * config/rs6000/rs6000.c (rs6000_select_section): Handle
2853 CONSTRUCTORs _correctly_.
2854
e6ec164c
NB
28552001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2856
2857 * c-decl.c (delete_block): Remove.
2858 * c-tree.h (delete_block): Remove.
2859
63d75005
NB
28602001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2861
2862 * cppexp.c (lex, parse_defined): Update warning about defined.
2863
ac4f7ad9
GK
28642001-11-05 Geoffrey Keating <geoffk@redhat.com>
2865
2866 * config/rs6000/rs6000.c (rs6000_select_section): Handle
2867 CONSTRUCTORs too.
2868
648f5f04
NC
28692001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
2870
e529bd42
NC
2871 * config/arm/arm.c (arm_return_in_memory): Cope with
2872 int_size_in_bytes returning -1.
2873
648f5f04
NC
2874 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
2875 DECL being NULL.
2876
d56a8211
JH
2877Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
2878
a1f300c0 2879 * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
eaec9b3d 2880 remove unneeded dependencies;
d56a8211
JH
2881 (cfglayout.o): New.
2882 * cfglayout.c, cfglayout.h: New files; break out from ...
e0e00329 2883 * bb-reorder.c: ... here; Remove unneeded includes;
d56a8211 2884
46aaf10d
DE
28852001-11-04 Alan Modra <amodra@bigpond.net.au>
2886
2887 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
2888
28892001-11-04 David Edelsohn <edelsohn@gnu.org>
2890
2891 * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
2892 mode as well. Do not explicitly create intermediate regs.
2893
5f37d07c
KG
28942001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2895
2896 * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
2897 (common_section): Delete unused variable.
2898 (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
2899 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
2900 * arm-protos.h (arm_poke_function_name, aof_add_import,
2901 aof_delete_import): Const-ify.
2902 * arm.c (legitimize_pic_address): Wrap variables in the macro
2903 controlling their usage.
2904 (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
2905 (arm_poke_function_name, pic_chain, import, aof_add_import,
2906 aof_delete_import): Const-ify.
2907 * i386.c (ix86_osf_output_function_prologue): Const-ify.
2908 * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2909 ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
2910 * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
2911 * i860/sysv3.h: Add missing comment closure.
2912 * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
2913 * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
2914 to symbolic_operand.
9f6682b7 2915
5f37d07c
KG
2916 * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
2917 (i960-*-*): Set tmake_file.
2918 (sparc86x-*-elf*): Fix typo in header name.
9f6682b7 2919
5f37d07c
KG
2920 * sched-rgn.c (schedule_insns): Delete unused variable.
2921
e9b2c823
NB
29222001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2923
2924 PR c/2820
2925 * c-typeck.c (lookup_field): Rework to return a chain down to
2926 the looked-up field.
2927 (build_component_ref): Use the new lookup_field to handle
2928 nested anonymous entities correctly.
2929
f2827474
RK
2930Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2931
2932 * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
2933 Change parameters to gen_rtx_CONST_DOUBLE.
2934 (GEN_INT64, sparc_emit_set_const64): Likewise.
2935 * config/sparc/sparc.md (movdf split): Likewise.
2936
52560c7b
GK
29372001-11-03 Geoffrey Keating <geoffk@redhat.com>
2938
27d80140
GK
2939 * unroll.c (calculate_giv_inc): Use find_last_value rather
2940 than just hoping the last instruction is the right SET.
2941 [Fixes 990604-1.c on stormy16.]
2942
3eaaf577
GK
2943 * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
2944 library at all if -T is used.
2945
e9818db2
GK
2946 * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
2947 some uses of uninitialized variables in error cases.
2948
5766e0ef
GK
2949 * config/stormy16/stormy16.c (stormy16_output_shift): Don't
2950 look at 'temp' if we won't be using it.
2951
3fdb2f71
GK
2952 * config/stormy16/stormy16.h (CONST_COSTS): Define.
2953 (RTX_COSTS): Define.
2954 (ADDRESS_COST): Define.
2955 (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
2956
e06bc4e1
GK
2957 * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
2958
52560c7b
GK
2959 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
2960 stormy16_asm_output_mi_thunk.
2961 * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
2962 function.
2963 * config/stormy16/stormy16-protos.h
2964 (stormy16_asm_output_mi_thunk): New prototype.
2965
f5143c46
JM
29662001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
2967
2968 * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
2969 FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
2970 caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
2971 cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
2972 sched-int.h, toplev.c, config/alpha/alpha.c,
2973 config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
2974 config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
2975 config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
2976 config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
2977 config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
2978 config/ns32k/ns32k.md, config/rs6000/rs6000.c,
2979 config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
2980
55710451
KG
29812001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2982
c3fb23f4
KG
2983 * Makefile.in (dbxout.o): Depend on function.h.
2984 * collect2.c (is_in_list): Hide unused function.
2985 * dbxout.c: Include function.h.
2986 (source_label_number, dbxout_source_line, dbxout_source_file,
2987 dbxout_function_end, dbxout_begin_function): Wrap/move inside
2988 macros controlling usage.
2989 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
2990 * output.h (exports_section): Prototype.
2991
55710451
KG
2992 * convex.c (convex_output_function_prologue): Fix format specifier
2993 warning.
2994 (asm_declare_function_name): Fix signed/unsigned warning.
2995 (print_operand): Fix format specifier warning.
2996 * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2997 * dsp16xx-protos.h (uns_comparison_operator,
2998 num_1600_core_shifts): Prototype.
2999 * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
3000 (frame_size, frame_pointer_offset): Delete.
3001 (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
3002 Make static. Fix format specifier warnings.
3003 * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
3004 (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
3005 * dsp16xx.md: Add default case in switches.
3006 * fr30.h (IN_RANGE): Delete.
3007 * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3008 * mcore-protos.h (mcore_output_cmov): Const-ify.
3009 * mcore.c (mcore_output_cmov): Likewise.
3010 * mcore.h (switch_to_section): Make static and prototype.
3011 * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
3012 unsigned>=0 warnings.
3013 * mn10300.h (REGNO_IN_RANGE_P): Likewise.
3014 * rs6000-protos.h (read_only_data_section,
3015 read_only_private_data_section): Prototype.
3016 * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
3017 * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
3018 * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
3019
1943c2c1
KG
30202001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3021
40cdfca6
KG
3022 * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
3023 ATTRIBUTE_UNUSED.
3024 * final.c (final_scan_insn): Add brackets around body of if-stmt.
3025 * gcc.c (convert_filename): Add static prototype. Const-ify.
3026 Wrap variable in macros controlling its use.
3027 * output.h (sdata_section): Add prototype.
3028
1943c2c1
KG
3029 * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
3030 (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
3031 * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
3032 (ASM_FILE_START): Const-ify.
3033 (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
3034 specifier warning.
3035 * c4x.md: Don't use the 'U' integer suffix.
3036 * clipper.md (clipper_movstr): Delete declaration.
3037 * d30v-protos.h (d30v_move_2words): Const-ify.
3038 (debug_stack_info): Add prototype.
3039 * d30v.c: Include "integrate.h".
3040 (d30v_function_arg_boundary, d30v_function_arg,
3041 d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
3042 signed/unsigned warnings.
3043 (d30v_print_operand_memory_reference, d30v_move_2words):
3044 Const-ify.
3045 * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
3046 * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
3047 * fr30.md: Const-ify.
3048 * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
3049 * i370.c (i370_label_scan, mvs_get_label): Make definition static.
3050 (mvs_get_label_page): Hide unused static function.
3051 * i860.c (current_function_original_name): Const-ify.
3052 * i860/sysv3.h (current_function_original_name): Likewise.
3053 * i860/sysv4.h (current_function_original_name): Likewise.
3054 * i960.md: Add default case in switches. Remove unused variable.
3055 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
3056 * m32r.md: Const-ify.
3057 * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
3058 * m68hc11.c: Include "reload.h".
3059 (static_chain_reg, print_options, m68hc11_asm_file_start):
3060 Const-ify.
3061 * m68hc11.md: Delete unused variable. Const-ify. Add parens
3062 around & in comparison.
3063 * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3064 * mn10200.c (shift_mode): Remove trailing comma.
3065 * mn10300-protos.h (output_tst): Const-ify.
3066 * mn10300.c (output_tst): Likewise.
3067 * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
3068 warnings.
3069 * pa-protos.h (output_ascii): Use regular char *, not unsigned.
3070 * pa.c (output_ascii): Likewise.
3071 * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
3072 * pdp11.md (expand_unop): Delete declarations.
3073 * pj-protos.h (pj_output_addsi3): Const-ify.
3074 * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
3075 pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
3076 unique_src_operand): Add prototypes.
3077 (pj_output_store_into_lval): Make definition static.
3078 (pj_function_incoming_arg): Don't use unary plus.
3079 (pj_output_addsi3): Const-ify.
3080 * romp.md (get_symref): Delete declarations.
3081 * v850-c.c (mark_current_function_as_interrupt): Don't return
3082 value from void function.
3083 * v850.c: Include "integrate.h".
3084 * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
3085 * vax-protos.h (const_section): Add prototype.
3086
7ba2b35c
AH
30872001-11-03 Aldy Hernandez <aldyh@redhat.com>
3088
9f6682b7
ZW
3089 * machmode.def: Add documentation for the seventh argument in
3090 vector modes.
7ba2b35c 3091
7fba3293
HPN
30922001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
3093
3094 * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
3095 consistently.
3096 <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
3097 <-melf>: Don't have markup for ELF acronym.
3098
bcf684c7
HPN
30992001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
3100
3101 * config.gcc (mmix-*-*): New target.
3102 * doc/invoke.texi: Document MMIX options.
3103 * doc/contrib.texi: Add note about MMIX port to my entry.
3104 * config/mmix/t-mmix: New file.
3105 * config/mmix/mmix.h: New file.
3106 * config/mmix/mmix-protos.h: New file.
3107 * config/mmix/mmix.c: New file.
3108 * config/mmix/mmix.md: New file.
3109 * config/mmix/crti.asm: New file.
3110 * config/mmix/crtn.asm: New file.
3111
80ffc95e
KH
31122001-11-03 Kazu Hirata <kazu@hxi.com>
3113
3114 * config/sparc/linux-aout.h: Fix comment formatting.
3115 * config/sparc/linux.h: Likewise.
3116 * config/sparc/linux64.h: Likewise.
3117 * config/sparc/lynx.h: Likewise.
3118 * config/sparc/pbd.h: Likewise.
3119 * config/sparc/sol2-sld-64.h: Likewise.
3120 * config/sparc/sol2.h: Likewise.
3121 * config/sparc/sparc.c: Likewise.
3122 * config/sparc/sparc.h: Likewise.
3123 * config/sparc/sparc.md: Likewise.
3124 * config/sparc/sunos4.h: Likewise.
3125 * config/sparc/vxsim.h: Likewise.
3126 * config/sparc/vxsparc.h: Likewise.
3127 * config/sparc/vxsparc64.h: Likewise.
3128
343fb412
RK
3129Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3130
a79e3a45 3131 * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
00baba68 3132 reference to CONST_DOUBLE_MEM in comment.
a79e3a45
RK
3133 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
3134 (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
3135 (init_emit_once): Don't clear CONST_DOUBLE_MEM.
3136 * function.c (pop_function_context_from): Don't call
3137 restore_varasm_status.
3138 * function.h (restore_varasm_status): Delete declaration.
3139 * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
3140 * rtl.c: Likewise.
3141 * rtl.def (CONST_DOUBLE): Update comment.
3142 * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
3143 (CONST_DOUBLE_CHAIN): Likewise.
3144 (CONST_DOUBLE_MEM): Delete.
3145 (gen_rtx_CONST_DOUBLE): Update parameters.
3146 * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
3147 Remove reference to CONST_DOUBLE_MEM.
3148 (const_alias_set): New variable.
3149 (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
3150 (immed_real_const_1): Adjust tests for 0, 1, and 2.
3151 Don't set CONST_DOUBLE_MEM.
3152 (clear_const_double_mem): Don't do anything with const_tiny_rtx.
3153 (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
3154 Put constant in const_alias_set.
3155 (struct pool_constant): ALIGN now unsigned.
3156 OFFSET now HOST_WIDE_INT.
3157 Delete LABEL.
3158 (restore_varasm_status): Deleted.
3159 (mark_pool_constant): Mark desc->rtl.
3160 (force_const_mem): Rework to store rtl in hash table,
3161 not CONST_DOUBLE_MEM.
3162 Put constant in const_alias_set.
3163 (find_pool_constant): Check desc->rtl.
3164 (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
3165 (init_varasm_once): Initialize const_alias_set.
3166
d6b6783b
RK
3167 * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
3168 force_const_mem.
3169
6b3736a1
RK
3170 * reload.c (combine_reloads): Don't combine an output reload if there
3171 are other reloads around for part of the output.
3172
3173 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
3174 constant expression.
3175 (set_mem_decl): New function.
3176 * expr.h (set_mem_decl): New declaration.
3177 * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
3178 (output_asm_operand_names): Add tab.
3179 * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
3180
343fb412
RK
3181 * builtins.c (get_memory_rtx): Properly set MEM alias set and
3182 attributes.
3183
13ba36b4
JM
31842001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
3185
3186 * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
3187 Use "invalid" instead of "illegal". Use @r in comments in
3188 examples.
3189
234f46ae
NB
31902001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
3191
3192 * c-decl.c (pushdecl): Move block inside if conditional to remove
3193 possibility of a segfault. Lookup block-level extern
3194 variables in enclosing scopes correctly.
3195
3196 * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
3197
bb33f166
AH
31982001-11-02 Aldy Hernandez <aldyh@redhat.com>
3199
9f6682b7
ZW
3200 * expmed.c (store_bit_field): Use simplify_gen_subreg to make
3201 SUBREG so we avoid SUBREGing memory.
bb33f166 3202
9f6682b7 3203 * expmed.c (store_bit_field): Same.
bafe341a 3204
c9e8cb32
DD
32052001-11-02 DJ Delorie <dj@redhat.com>
3206
3207 * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
3208 using FP registers for DImode mem-mem moves is acceptable.
3209
720ea9b1
AH
32102001-11-02 Aldy Hernandez <aldyh@redhat.com>
3211
3212 * builtins.c (apply_args_size): Handle vector arguments.
3213 (apply_result_size): Same.
3214
9f6682b7 3215 * machmode.def: Set WIDER mode field for all vector entries.
720ea9b1 3216
f5a5ea4a
GS
32172001-11-02 Graham Stott <grahams@redhat.com>
3218
3219 * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
3220
009da785
EC
32212001-11-01 Eric Christopher <echristo@redhat.com>
3222
9f6682b7
ZW
3223 * config.gcc: Revert part of earlier patch.
3224 * config/mips/linux.h: Ditto.
009da785 3225 * df.c: Include tm_p.h to avoid warnings.
9f6682b7 3226 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
009da785
EC
3227 #if/#endif.
3228 * config/mips/mips.c: Define mips_abi regardless.
3229 (mips_output_function_prologues): Add long casts for .frame
3230 output.
3231 (override_options): Allow use of ABI_32.
3232
9caea35c
KH
32332001-11-01 Kazu Hirata <kazu@hxi.com>
3234
3235 * config/m68hc11/m68hc11.c: Fix comment formatting.
3236 * config/m68hc11/m68hc11.h: Likewise.
3237 * config/m68hc11/m68hc11.md: Likewise.
3238
157689c6
NB
32392001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
3240
3241 * c-typeck.c (default_conversion): Retain the original expression
3242 codes.
3243 * gcc.dg/Wparentheses.c: New tests.
3244
edf1c8df
DM
32452001-11-01 David S. Miller <davem@redhat.com>
3246
3247 * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
3248 64-bit Sparc description more in line with reality.
3249
5735c3ea
JM
32502001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
3251
3252 * Makefile.in (GCOV_OBJS): Add version.o.
3253 * gcov.c: Include "version.h" and <getopt.h>.
3254 (gcov_version_string): Remove.
3255 (print_usage): Take a parameter to determine whether this is a
3256 call from --help or an error message. Give fuller output that
3257 follows the GNU Coding Standards for --help.
3258 (print_version): New function.
3259 (options): New.
3260 (process_args): Use getopt_long. Support long options. Follow
3261 GNU Coding Standards for --help and --version.
3262 * doc/gcov.texi: Document long options.
3263 Addresses part of PR other/704.
3264
6126a380
JDA
32652001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
3266
3267 * pa.c (output_move_double): Fix typo in double load.
3268
93cacb72
KH
32692001-11-01 Kazu Hirata <kazu@hxi.com>
3270
3271 * config/h8300/h8300.c (h8300_encode_label): Compute a string
3272 before passing it to ggc_alloc_string.
3273
7a1929e1
KH
32742001-11-01 Kazu Hirata <kazu@hxi.com>
3275
3276 * config/m68k/3b1.h: Fix comment formatting.
3277 * config/m68k/3b1g.h: Likewise.
3278 * config/m68k/a-ux.h: Likewise.
3279 * config/m68k/amix.h: Likewise.
3280 * config/m68k/apollo68.h: Likewise.
3281 * config/m68k/atari.h: Likewise.
3282 * config/m68k/aux-exit.c: Likewise.
3283 * config/m68k/ccur-GAS.h: Likewise.
3284 * config/m68k/crds.h: Likewise.
3285 * config/m68k/dpx2.h: Likewise.
3286 * config/m68k/dpx2g.h: Likewise.
3287 * config/m68k/hp310.h: Likewise.
3288 * config/m68k/hp320.h: Likewise.
3289 * config/m68k/isi.h: Likewise.
3290 * config/m68k/linux.h: Likewise.
3291 * config/m68k/lynx.h: Likewise.
3292 * config/m68k/m68k-psos.h: Likewise.
3293 * config/m68k/m68k.c: Likewise.
3294 * config/m68k/m68k.h: Likewise.
3295 * config/m68k/m68k.md: Likewise.
3296 * config/m68k/m68kelf.h: Likewise.
3297 * config/m68k/m68kv4.h: Likewise.
3298 * config/m68k/mot3300.h: Likewise.
3299 * config/m68k/news.h: Likewise.
3300 * config/m68k/next.h: Likewise.
3301 * config/m68k/pbb.h: Likewise.
3302 * config/m68k/plexus.h: Likewise.
3303 * config/m68k/sgs.h: Likewise.
3304 * config/m68k/sun3.h: Likewise.
3305 * config/m68k/tower.h: Likewise.
3306 * config/m68k/vxm68k.h: Likewise.
3307
d490e8ad
DD
33082001-10-31 DJ Delorie <dj@redhat.com>
3309
3310 * config/mips/mips.h (mips_cache_flush_func): Prototype.
3311 (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
3312 (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
3313 * config/mips/mips.c (mips_cache_flush_func): New.
3314 * doc/invoke.texi: Document the new options.
3315
b4ac17fc
HPN
33162001-10-31 Hans-Peter Nilsson <hp@axis.com>
3317
3318 * config.gcc (cris-*-linux*, tm_file): Rearrange order.
3319 * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
3320
2b371d25
HPN
3321 * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
3322
78b14aa6
HPN
3323 * config/cris/cris.c: Include output.h after tree.h but before
3324 target.h.
3325
5b7874aa
ZW
33262001-10-31 Zack Weinberg <zack@codesourcery.com>
3327
3328 * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
3329 (INTL_SUBDIRS): Just intl.
3330 (.SUFFIXES): Add .gmo .po .pox.
3331 (native): Also depend on build-@POSUB@.
3332 (intl.all, intl.install): Depend on config.h and things it includes.
3333 (po-generated): New target; depend on c-parse.c and tradcif.c.
3334 (install-normal): Also depend on install-@POSUB@.
3335 (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
3336 (build-, install-, build-po, update-po, install-po,
3337 .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
3338
3339 * aclocal.m4: Prefix each entry in CATALOGS with "po/"
3340 * configure.in: Don't munge XGETTEXT. Don't generate
3341 po/Makefile.in.
3342 * configure: Regenerate.
3343
3344 * exgettext: Delete.
3345 * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
3346 * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
3347
5fb56602
KH
33482001-10-31 Kazu Hirata <kazu@hxi.com>
3349
3350 * config/h8300/h8300.md (two anonymous patterns): New.
3351
b63781e9
AH
33522001-10-31 Aldy Hernandez <aldyh@redhat.com>
3353
3354 * tree.h (tree_index): Add support for V16QI and V8HI.
3355 (V8HI_type_node): New.
3356 (V16QI_type_node): New.
3357
3358 * tree.c (build_common_tree_nodes_2): Same.
3359
3360 * c-common.c (type_for_mode): Same.
3361
892a2d68
KH
33622001-10-31 Kazu Hirata <kazu@hxi.com>
3363
3364 * config/i386/att.h: Fix comment formatting.
3365 * config/i386/beos-elf.h: Likewise.
3366 * config/i386/bsd.h: Likewise.
3367 * config/i386/bsd386.h: Likewise.
3368 * config/i386/crtdll.h: Likewise.
3369 * config/i386/cygwin.asm: Likewise.
3370 * config/i386/cygwin.h: Likewise.
3371 * config/i386/djgpp.h: Likewise.
3372 * config/i386/freebsd-aout.h: Likewise.
3373 * config/i386/freebsd.h: Likewise.
3374 * config/i386/gas.h: Likewise.
3375 * config/i386/i386-interix.h: Likewise.
3376 * config/i386/i386-protos.h: Likewise.
3377 * config/i386/i386.c: Likewise.
3378 * config/i386/i386.h: Likewise.
3379 * config/i386/i386.md: Likewise.
3380 * config/i386/i386elf.h: Likewise.
3381 * config/i386/interix.c: Likewise.
3382 * config/i386/isc.h: Likewise.
3383 * config/i386/isccoff.h: Likewise.
3384 * config/i386/iscdbx.h: Likewise.
3385 * config/i386/linux.h: Likewise.
3386 * config/i386/lynx.h: Likewise.
3387 * config/i386/mingw32.h: Likewise.
3388 * config/i386/netbsd-elf.h: Likewise.
3389 * config/i386/next.h: Likewise.
3390 * config/i386/osf1elf.h: Likewise.
3391 * config/i386/osfrose.h: Likewise.
3392 * config/i386/sco5.h: Likewise.
3393 * config/i386/seq-gas.h: Likewise.
3394 * config/i386/seq-sysv3.h: Likewise.
3395 * config/i386/sequent.h: Likewise.
3396 * config/i386/sol2.h: Likewise.
3397 * config/i386/sun386.h: Likewise.
3398 * config/i386/uwin.asm: Likewise.
3399 * config/i386/uwin.h: Likewise.
3400 * config/i386/vxi386.h: Likewise.
3401 * config/i386/win32.h: Likewise.
3402 * config/i386/winnt.c: Likewise.
3403 * config/i386/xm-cygwin.h: Likewise.
3404 * config/i386/xm-mingw32.h: Likewise.
3405
5519a4f9
KH
34062001-10-31 Kazu Hirata <kazu@hxi.com>
3407
3408 * builtins.def: Fix comment typos.
3409 * config/alpha.c: Likewise.
3410 * config/arm/arm.c: Likewise.
3411 * config/avr/avr.h: Likewise.
3412 * config/d30v/d30v.c: Likewise.
3413 * config/d30v/d30v.h: Likewise.
3414 * config/d30v/d30v.md: Likewise.
3415 * config/dsp16xx/dsp16xx.c: Likewise.
3416 * config/fr30/fr30.c: Likewise.
3417 * config/fr30/fr30.md: Likewise.
3418 * config/i386/i386.c: Likewise.
3419 * config/i860/i860.c: Likewise.
3420 * config/i960/i960.c: Likewise.
3421 * config/ia64/ia64.c: Likewise.
3422 * config/mips/mips.c: Likewise.
3423 * config/pa/pa.c: Likewise.
3424 * config/rs6000/rs6000.c: Likewise.
3425 * config/s390/s390.c: Likewise.
3426 * config/sparc/sparc.c: Likewise.
3427
987ba558
KH
34282001-10-30 Kazu Hirata <kazu@hxi.com>
3429
54aa2c51
KH
3430 * config/mips/elf.h: Fix comment formatting.
3431 * config/mips/elf64.h: Likewise.
3432 * config/mips/iris5.h: Likewise.
3433 * config/mips/iris5gas.h: Likewise.
3434 * config/mips/iris6.h: Likewise.
3435 * config/mips/isa3264.h: Likewise.
3436 * config/mips/linux.h: Likewise.
3437 * config/mips/mips.c: Likewise.
3438 * config/mips/mips.h: Likewise.
3439 * config/mips/mips.md: Likewise.
3440 * config/mips/mips16.S: Likewise.
3441 * config/mips/netbsd.h: Likewise.
3442 * config/mips/osfrose.h: Likewise.
3443 * config/mips/r3900.h: Likewise.
3444 * config/mips/sni-svr4.h: Likewise.
3445 * config/mips/svr4-t.h: Likewise.
3446 * config/mips/ultrix.h: Likewise.
987ba558 3447
87a2e7a8
DB
34482001-10-30 Daniel Berlin <dan@cgsoftware.com>
3449
3450 * bitmap.c (bitmap_element_free): Don't forget to update head->indx
3451 when we update head->current.
3452
e7175247
NB
34532001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
3454
3455 * tree.c (id_string_size): Remove.
3456 (dump_tree_statistics): Update.
3457 * toplev.c (compile_file): If dumping stats, dump tree stats too.
3458
6bbdfefd
JH
3459Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
3460
3461 * sched-rgn.c (schedule_insns): Fix comment.
3462
5fed851d
ZW
34632001-10-30 Zack Weinberg <zack@codesourcery.com>
3464
3465 * configure.in: Correct previous change: don't assume that
3466 gas's version number _isn't_ the last thing on the line, or
3467 isn't the only number on the line, either.
3468 * configure: Regenerate.
3469
79f5e6be
KH
34702001-10-30 Kazu Hirata <kazu@hxi.com>
3471
3472 * cfgcleanup.c: Fix a comment typo.
3473
e5837c07
KH
34742001-10-30 Kazu Hirata <kazu@hxi.com>
3475
3476 * alias.c: Fix comment formatting.
3477 * recog.c: Likewise.
3478 * config/cris/cris.c: Likewise.
3479 * config/cris/cris.h: Likewise.
3480 * config/i960/i960.c: Likewise.
3481 * config/i960/i960.h: Likewise.
3482
3569057d
KH
34832001-10-30 Kazu Hirata <kazu@hxi.com>
3484
bc70506b 3485 * config/arm/arm.c: Fix a comment typo.
3569057d
KH
3486 * config/arm/arm.h: Likewise.
3487 * config/ia64/ia64.c: Likewise.
3488
3d238248
JJ
34892001-10-30 Jakub Jelinek <jakub@redhat.com>
3490
3491 * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
3492 REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
3493 * rtl.h (set_unique_reg_note): Change return value.
3494 * gcse.c (try_replace_reg): Use set_unique_reg_note.
3495 * cse.c (cse_insn): Likewise.
3496 * expr.c (emit_move_insn): Likewise.
3497 * explow.c (force_reg): Likewise.
3498 * local-alloc (update_equiv_regs): Likewise.
3499 * loop.c (move_moveables, load_mems): Likewise.
3500 * reload (find_reloads): Likewise.
3501
53fcdc76
PB
35022001-10-30 Paolo Bonzini <bonzini@gnu.org>
3503
3504 Localization fixes.
3505 * c-decl.c (parmlist_tags_warning, start_struct,
3506 check_for_loop_decls): Separate messages for struct, union and
3507 enum cases to allow for languages in which they have different
3508 genders.
3509 * c-format.c (scanf_flag_specs): Separate short and long name of
3510 the assignment suppression feature.
3511 (check_format_types): Localize "pointer" and "different types"
3512 strings.
3513 * c-lex.c (lex_number): Localize "an unsigned long int" and
3514 related strings.
3515 (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
3516 warning message.
3517 * c-typeck.c (build_unary_up): Separate messages for increment and
3518 decrement cases to allow for languages in which they use different
3519 articles. Localize the strings "increment" and "decrement" in one
3520 case.
3521
73991d6a
JH
3522Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
3523
3524 * lcm.c (optimize_mode_switching): Do not rebuild liveness information
3525 when no changes has been made.
3526
3527 * gcse.c (reg_set_bitmap): Turn into reg_set.
3528 (modify_mem_list_set, canon_modify_mem_list_set)
3529 (clear_modify_mem_tables, free_modify_mem_tables): New.
3530 (gcse_main); Use free_modify_mem_tables.
3531 (free_gcse_mem): Likewise; free the bitmaps.
3532 (alloc_gcse_main): Initialize the bitmaps.
3533 (canon_list_insert): Set canon_modify_mem_list_set.
3534 (record_last_mem_set_info): Likewise; set modify_mem_list_set.
3535 (compute_hash_table): Use clear_modify_mem_tables.
3536 (reset_opr_set_tables): Likewise.
3537 (oprs_not_set_p): reg_set_bitmap is regset.
3538 (mark_set, mark_clobber): Likewise.
3539
3540 * df.h (DF_EQUIV_NOTES): New constant.
3541 (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
3542 when asked for.
3543
3544 * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
3545 (init_regions, schedule_insns): Conditionalize the checking
3546 code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
3547
4fe8523b
JH
3548Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
3549
3550 * i386.md (movti_rex64 splitter): Fix condition.
3551
79e2e160
ZW
35522001-10-29 Zack Weinberg <zack@codesourcery.com>
3553
0461a052
ZW
3554 * configure.in: Do not assume that gas's version number is the
3555 last thing on the first line of as --version output.
3556 * configure: Regenerate.
5b7874aa 3557
79e2e160
ZW
3558 * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
3559 MT_WARNING, MT_ERROR, MT_FATAL.
3560 (main): Call gcc_init_libintl.
3561 (v_message): Call gettext on msgid and "warning: "
3562 * tradcif.y: Include intl.h.
3563 (yyerror): Make parameter definition consistent with
3564 prototype. Call gettext on msgid argument.
3565
1ac04695
KG
35662001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3567
b016d07e
KG
3568 * combine.c (num_sign_bit_copies): Avoid signed/unsigned
3569 warnings.
3570
1ac04695
KG
3571 * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
3572
cd7c9015
RK
3573Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3574
3575 * reload1.c (eliminate_regs): Test for reg_renumber being allocated
3576 before referencing it.
3577
f3597919
DD
35782001-10-26 DJ Delorie <dj@redhat.com>
3579
3580 * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
3581 override -G, and force -G0.
3582
affd4f33
JM
35832001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
3584
684d9f3b
JM
3585 * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
3586 FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
3587 c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
3588 timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
3589
affd4f33
JM
3590 * loop.h (struct induction): Rename ext_dependant to
3591 ext_dependent.
3592 * loop.c: Change all uses.
3593 (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
3594 All callers changed.
3595 * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
3596
686deecb
JM
35972001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
3598
3599 * c-parse.in (expr_no_commas, primary), c-typeck.c
3600 (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
3601
54ee9799
DE
36022001-10-29 David Edelsohn <edelsohn@gnu.org>
3603
3604 Undo assemble_name change in earlier patch.
3605
92bcd93d 3606Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
5b7874aa 3607
92bcd93d
NP
3608 * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
3609 determining the type of the receiver, do not check that TREE_CODE
54ee9799
DE
3610 of receiver is CALL_EXPR before calling receiver_is_class_object().
3611 (receiver_is_class_object): For the GNU runtime: recognize
92bcd93d
NP
3612 the case that the receiver is self in a class method context.
3613 Check that TREE_CODE of receiver is CALL_EXPR when checking that
3614 the receiver is a call to objc_get_class.
3615
4ff3bd5f
JDA
36162001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
3617
3618 * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
3619
94784fb9
RK
3620Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3621
15228eb6
RK
3622 * Makefile.in (OBJS): Put all files in alphabetical order.
3623
94784fb9
RK
3624 * dwarf2out.c (add_const_value_attribute): Fix error in last
3625 change.
3626
473fb060
JH
3627Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
3628
3629 * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
3630 * cfgcleanup.c (merge_blocks): Update the life flag after merging;
3631 fix warning.
3632 * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
3633 (life_analysis): call purge_all_dead_edges after deleting noops.
3634 (delete_noop_move): Do not purge CFG.
3635 * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
3636
d2574c50
DE
36372001-10-28 David Edelsohn <edelsohn@gnu.org>
3638
3639 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
3640 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
3641 (ASM_GLOBALIZE_LABEL): Use assemble_name.
3642 (ASM_OUTPUT_COMMON): Likewise.
3643 * config/rs6000/rs6000.c (print_operand): Use assemble_name.
3644 (rs6000_output_function_epilogue): Likewise.
3645 (output_mi_thunk): Fix typo.
3646 (rs6000_output_symbol_ref): Use assemble_name.
3647 (output_toc): Likewise.
3648 * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
3649 * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
3650 assemble_name calls STRIP_NAME_ENCODING.
3651 (ASM_OUTPUT_LABEL): Use assemble_name.
3652 (ASM_GLOBALIZE_LABEL): Likewise.
3653 (ASM_DECLARE_FUNCTION_NAME): Likewise.
3654 (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
3655 (ASM_OUTPUT_LOCAL): Likewise.
3656
ce2d32cd
RK
3657Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3658
3659 * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
3660 (expand_builtin_apply, expand_builtin_return): Likewise.
3661 (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
3662
67dda4b5
JM
36632001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
3664
ff7cc307
JM
3665 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3666 ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
3667 c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
3668 configure, configure.in, except.c, except.h, flow.c, function.c,
3669 gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
3670 predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
3671 sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
3672 unroll.c: Fix spelling errors.
3673
0c688a7d
JM
3674 * doc/extend.texi, doc/invoke.texi: Fix spelling.
3675
67dda4b5
JM
3676 * doc/gcc.texi: Document use of "dependent" and American spelling.
3677
58f69841
JH
3678Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
3679
3680 * expr.c (emit_group_load): Support CONCATs by storing them to memory
3681 and reloading.
3682
61cb205c
RK
3683Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3684
3685 * expr.c (store_constructor_field): Only call adjust_address on MEM.
3686
9591d210
JH
3687Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
3688
3689 * genrecog.c (write_switch): Output if before switch for
3690 DT_elt_zero_wide_safe.
3691
d506f649
KG
36922001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3693
3694 * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
3695 * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
3696 (FUNCTION_PROFILER): Const-ify.
3697 * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
3698 (eliminate_constant_term, assemble_name, output_addr_const):
3699 Remove declarations.
3700 (ptr_half_pic_address_p, half_pic_hash): Prototype.
3701 (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
3702 half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
3703 * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
3704 (half_pic_declare, half_pic_external): Const-ify.
3705 * toplev.c: Include "halfpic.h".
3706
f63d1bf7
JM
37072001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
3708
f710504c
JM
3709 * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
3710 config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
3711 config/i386/i386.c, config/i386/i386-interix.h,
3712 config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
3713 config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
3714 config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
3715 config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
3716 config/sparc/sparc.c, config/m68hc11/m68hc11.c,
3717 config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
3718 config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
3719 spelling errors.
3720
f63d1bf7
JM
3721 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3722 ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
3723 c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
3724 collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
3725 haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
3726 regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
3727 system.h, toplev.c: Fix spelling errors.
3728
70072ed9
RK
3729Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3730
157bd2bb
RK
3731 * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
3732
e7af1d45
RK
3733 * dwarf2out.c (reg_number): Abort if pseudo.
3734 (reg_loc_descriptor): Return 0 if pseudo.
3735 (is_based_loc): Return 0 if pseudo.
3736 (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
3737 recursive calls.
3738 (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
3739 (loc_descriptor): Return 0 if can't find location and handle 0
3740 return from recursive calls.
3741 (loc_descriptor_from_tree): Likewise.
3742 Fix handling of indirect.
3743 Also return 0 for PLACEHOLDER_EXPR.
3744 Clean up COMPONENT_REF cases.
3745 (add_AT_location_descriptor): Simplify, but handle 0 return from
3746 loc_descriptor.
3747 (add_const_value_attribute): Avoid shift count warning.
3748 (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
3749 Set comp_unit_die as context if not in function.
3750
6b7d57c7
RK
3751 * config/mips/mips-protos.h: Break up long lines.
3752 Remove needless #ifdef/#endif blocks.
3753 Don't declare functions declared in file made by genpreds or recog.h.
3754 * config/mips/mips.c (mips_output_function_prologue): TSIZE
3755 is now HOST_WIDE_INT; delete unneeded casts.
3756 * config/mips/mips.h: Don't use #elif.
5b7874aa 3757
70072ed9
RK
3758 * expr.c (stor_constructor_field): Always call adjust_address.
3759 Copy TARGET before changing its alias set.
3760 (store_field): Likewise, for TO_RTX.
3761 (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
3762 replacement.
3763 (safe_from_p, case ADDR_EXPR): Properly check for conflict.
3764 (find_placeholder): Return 0 if can't find object.
3765 (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
3766 returns 0.
3767
f4f17e7d
JH
3768Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
3769
3770 * ifcvt.c (if_convert): Call clear_aux_for_blocks.
3771
7dddfb65
JH
3772Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
3773
3774 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
3775 merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
3776 (merge_blocks): Properly udpate life after making edge nonfallthru.
3777 * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
3778
a7812c0b
KH
37792001-10-26 Kazu Hirata <kazu@hxi.com>
3780
3781 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3782
a38b987a
NB
37832001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
3784
3785 * c-typeck.c (convert_arguments): When comparing for enumeral
3786 type equality, use TYPE_MAIN_VARIANT.
3787 * gcc.dg/Wconversion.c: New tests.
3788
d65f7478
KH
37892001-10-26 Kazu Hirata <kazu@hxi.com>
3790
3791 * s390/s390.c: Fix comment typos.
3792 * s390/s390.h: Likewise.
3793 * s390/s390.md: Likewise.
3794
6c624f7f
AO
37952001-10-26 Alexandre Oliva <aoliva@redhat.com>
3796
3797 * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
3798 (walk_tree): Use it for tail calls where appropriate.
3799
45c23566
AO
38002001-10-26 Alexandre Oliva <aoliva@redhat.com>
3801
3802 * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
3803 non-local label_refs.
3804
11a802bf
KH
38052001-10-26 Kazu Hirata <kazu@hxi.com>
3806
3807 * config/h8300/h8300.md (4 anonymous patterns): New.
3808
cb33eb17
KH
38092001-10-26 Kazu Hirata <kazu@hxi.com>
3810
3811 * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
3812 algorithm through the shift_info structure.
3813 (emit_a_shift): Update the use of get_shift_alg.
3814
bdfa170f
DB
38152001-10-27 Daniel Berlin <dan@cgsoftware.com>
3816
5b7874aa
ZW
3817 * sched-rgn.c: Remove bitset typedef.
3818 Change bitset to sbitmap in prototypes / variable types.
3819 Remove bbset_size.
3820 Remove edgeset_bits.
3821 Remove edgeset_size.
3822 s/BITSET_ADD/SET_BIT/g
3823 s/BITSET_INVERT/sbitmap_ones/g
3824 s/BITSET_INTER/sbitmap_a_and_b/g
3825 s/BITSET_UNION/sbitmap_a_or_b/g
3826 s/BITSET_DIFFER/sbitmap_difference/g
3827 s/bitset_member/TEST_BIT/g
3828 (BITSET_*): Removed.
3829 (bitset_member): Removed.
3830 (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
3831 EXECUTE_IF_SET_IN_SBITMAP.
3832 (split_edges): Rewrite, use sbitmap functions instead of bitset
3833 operations.
3834 (schedule_region): Allocate/free sbitmaps, rather than bitsets.
bdfa170f 3835
019d2e99
AS
38362001-10-26 Andreas Schwab <schwab@suse.de>
3837
3838 * reload1.c (emit_input_reload_insns): Fix parens in last
3839 (undocumented) change that was supposed to change only whitespace.
3840
6cf3f6e7
RK
3841Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3842
3843 * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
3844
3845 * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
3846 ASM_OPERANDS.
3847
16e99e29
AJ
38482001-10-26 Andreas Jaeger <aj@suse.de>
3849
3850 * flow.c (clear_log_links): Remove unused variable.
3851 * cfgcleanup.c (cleanup_cfg): Likewise.
3852
350ebd54
AO
38532001-10-26 Alexandre Oliva <aoliva@redhat.com>
3854
3855 * tree-inline.c (remap_decl): Don't copy size and size_unit here.
3856 (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
3857
b73c0bc8
RH
38582001-10-26 Richard Henderson <rth@redhat.com>
3859
3860 * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
3861 rename PV_REG to R27_REG.
3862 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
3863 (REG_CLASS_FROM_LETTER): Update.
3864 (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
3865 * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
3866 (udivsi3, modsi3, umodsi3): Likewise.
3867 (divdi3, udivdi3, moddi3, umoddi3): Likewise.
3868
108c1afc
RH
38692001-10-26 Richard Henderson <rth@redhat.com>
3870
3871 * cfg.c (clear_aux_for_blocks): Split out of ...
3872 (free_aux_for_blocks): here.
3873 (clear_aux_for_edges): Split from ...
3874 (free_aux_for_edges): here.
3875 * basic-block.h: Declare them.
3876 * lcm.c (compute_antinout_edge): Use them.
3877 (compute_laterin, compute_available, compute_nearerout): Likewise.
3878 (optimize_mode_switching): Likewise.
3879
4992fc7f
RH
38802001-10-26 Richard Henderson <rth@redhat.com>
3881
3882 * Makefile.in (unstage*): Remove as, ld, collect-ld before
3883 moving everything back to the main build directory.
3884
e742b08a
CF
38852001-10-26 Christopher Faylor <cgf@redhat.com>
3886
eaec9b3d 3887 * config/i386/cygwin.h: Search target specific include directory, if
e742b08a
CF
3888 appropriate.
3889
f3a8e4f5
KG
38902001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3891
3892 * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
3893 of macro guards. Fix #endif comment.
3894
3895 * output.h (default_exception_section, default_eh_frame_section):
3896 Move prototypes outside of macro guard.
16e99e29 3897
f3a8e4f5
KG
3898 * crtstuff.c: Fix #endif comment.
3899
8feb4e28
JL
3900Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
3901
16e99e29 3902 * doc/md.texi (movMM): Clarify semantics of storing into a
8feb4e28
JL
3903 non-paradoxical SUBREG.
3904
37207ee7
ZW
39052001-10-25 Zack Weinberg <zack@codesourcery.com>
3906
3907 * langhooks.c (lang_hook_default_clear_binding_stack): New.
3908 (lang_hook_default_get_alias_set): Move next to other alias
3909 hooks.
3910 * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
3911 (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
3912 (LANG_HOOKS_INITIALIZER): Add it.
3913 * toplev.h (struct lang_hooks): Add clear_binding_stack.
3914 * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
3915 instead of a loop calling poplevel.
3916
cdd90341
NC
39172001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
3918
3919 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
3920 occurrences of #elif with #if...#endif.
3921
1ec586ae
KG
39222001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3923
3924 * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
3925
9fb60a0d
RK
3926Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3927
10b76d73
RK
3928 * alias.c (can_address_p): No longer static.
3929 * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
3930 Return 0 if all parameters are default values.
3931 (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
3932 (adjust_address_1): Try harder to compute a size.
3933 * expr.c (expand_assignment, store_constructor): If can't address,
3934 set MEM_KEEP_ALIAS_SET_P.
3935 (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
3936 (store_field): Likewise.
3937 (store_constructor): Simplify call to store_constructor_field.
3938 * expr.h (can_address_p): New declaration.
3939 * gensupport.c (gen_rtx_CONST_INT): New function.
3940 * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
3941 (MEM_SIZE): Get size from mode, if not set and not BLKmode.
3942 (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
3943
9fb60a0d
RK
3944 * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
3945
cf521102 39462001-10-24 Christopher Faylor <cgf@redhat.com>
356b0698 3947
cf521102
CF
3948 * config/i386/cygwin.h: Use proper path for mingw crt files when
3949 -mno-cygwin.
c307e6dd 3950
2ea792c2
JJ
3951Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3952
3953 * dwarf2out.c (file_info_cmp): Always return consistent results.
3954
39552001-10-24 Roger Sayle <roger@eyesopen.com>
37207ee7 3956
2ea792c2
JJ
3957 * stmt.c (expand_end_case): Index jumptables from zero for
3958 suitably small values of minval.
3959
39602001-10-24 Jakub Jelinek <jakub@redhat.com>
3961
3962 * stor-layout.c (place_union_field): If any field was aligned with
3963 attribute aligned, set record type's TYPE_USER_ALIGN.
3964 (place_field): Likewise.
3965 (finalize_record_size): Don't clear TYPE_USER_ALIGN.
3966 (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
3967
39682001-10-24 Zack Weinberg <zack@codesourcery.com>
3969
3970 * c-common.h (struct c_common_identifier): Remove rid_code field.
3971 (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
3972
3973 * c-typeck.c (constructor_designated): New local flag.
3974 (struct constructor_stack): Add "designated" field to match.
3975 (start_init): Clear it.
3976 (really_start_incremental_init, push_init_level): Push and
3977 clear it.
3978 (pop_init_level): Pop it.
3979 (set_designator): Set it.
3980
3981 (pop_init_level): Suppress "missing initializer" warnings if
3982 constructor_designated is true.
3983 (process_init_element): Suppress warning about union
3984 initialization under traditional C, if constructor_designated
3985 is true.
3986
3987Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3988
3989 * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
3990 change.
3991
3992Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
3993
3994 * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3995
39962001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
3997
3998 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3999 the node was already a set to a constant.
4000
4001Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4002
4003 * emit-rtl.c (set_mem_attributes): Fix typo in last change.
4004 * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
4005
40062001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4007
4008 * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
4009 (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
4010 (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
4011 * s390.c (s390_final_chunkify): Don't use string concatenation.
4012 (s390_function_prologue, s390_function_epilogue): Const-ify.
4013 * s390.h (FUNCTION_PROFILER): Remove unused variable.
4014
40152001-10-24 Jakub Jelinek <jakub@redhat.com>
4016
4017 * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
4018 prototypes.
4019
40202001-10-23 Stan Shebs <shebs@apple.com>
4021
4022 * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
4023 -traditional-cpp in first-stage compilation.
4024
4025Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4026
4027 * gensupport.c (target_flags): Add.
4028
4029Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
4030
4031 * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
4032 if needed.
4033 (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
4034 * except.c (expand_builtin_frob_return_addr): Likewise.
4035 (expand_builtin_eh_return): Likewise.
4036 * stmt.c (expand_computed_goto): Likewise.
4037 * explow.c (memory_address): Likewise.
4038 (allocate_dynamic_stack_space): Clean up predicate testing.
4039 (probe_stack_range): Convert SIZE to Pmode.
4040 * calls.c (rtx_for_function_call): Only call convert_memory_address
4041 if needed.
4042 Pass function call operand as ptr_mode, not Pmode.
4043 * expr.c (expand_assignment): Clean up calls to convert_memory
4044 address by only doing so when needed and making offsets Pmode.
4045 (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
4046 * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
4047 is in Pmode, not ptr_mode.
4048
40492001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4050
4051 * darwin-protos.h (constructor_section, destructor_section,
4052 mod_init_section, mod_term_section): Prototype.
4053 * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
4054 Const-ify.
4055 * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
4056 Likewise.
4057 (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
4058 objc_section_init declaration.
4059 (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
4060 (objc_section_init, try_section_alias): Make static.
4061 (alias_section): Make static and hide unused function.
4062 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
4063
4064Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4065
4066 * alias.c (can_address_p): Compnonents are not addressable if
4067 the containing type has alias set 0.
4068 (get_alias_set): Rework to use STRIP_NOPS.
4069 Only call front-end routine on object, type, or object with
4070 NOPs stripped, not inner values.
4071 Use language hook to call front-end routine.
4072 * builtins.c (get_memory_rtx): Always call set_mem_attributes.
4073 (expand_builtin_apply): Call set_mem_align on MEMs we make.
4074 Don't pass alignment to emit_block_move.
4075 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
4076 (expand_builtin_memset): Likewise, but for clear_storage.
4077 * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
4078 and remove C++ specific parts.
4079 * c-common.h (c_common_get_alias_set): Add declaration.
4080 * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
4081 * calls.c (emit_call_1): Fix typo in sibcall_pop case.
4082 (save_fixed_argument_area): Call set_mem_align.
4083 Remove alignment in call to emit_block_move.
4084 (emit_library_call_value_1, store_one_arg): Likewise.
4085 (target_for_arg): Remove; disabled long ago.
4086 * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
4087 once and similar cleanups.
4088 (offset_address): Use proper introductory comment.
4089 * expr.c (emit_block_move): Use alignment from that of MEM args, not
4090 from explicit operand; all callers changed.
4091 (clear_storage): Likewise.
4092 (expand_assignment): Don't call set_mem_alias_set on to_rtx.
4093 (store_field): Remove kludge on alias set used for to_rtx.
4094 (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
4095 (expand_expr_unaligned): Call set_mem_attributes instead of
4096 set_mem_alias_set.
4097 * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
4098 * function.c (assign_stack_temp_for_type): Set MEM alignment.
4099 (expand_function_end): Track MEM attributes of trampolines.
4100 * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
4101 * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
4102 attributes from original.
4103 * langhooks.c (lang_hook_default_get_alias_set): New function.
4104 (hook_get_alias_set_0): New function.
4105 * langhooks.h (hook_get_alias_set_0): New declaration.
4106 (lang_hook_default_get_alias_set): Likewise.
4107 (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
4108 * reload1.c (alter_reg): Use adjust_address_nv.
4109 * rtl.c (get_mode_alignment): Moved to here.
4110 * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
4111 change default if unknown from 1 to BITS_PER_UNIT.
4112 * stor-layout.c (get_mode_alignment): Remove from here.
4113 * toplev.h (struct lang_hoks): Add get_alias_set field.
4114 * tree.h (lang_get_alias_set): Delete declaration.
4115 * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
4116 * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
4117 (ix86_va_arg): Likewise.
4118 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
4119 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
4120 * config/sparc/sparc.c (sparc_va_arg): Likewise.
4121 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
4122 (expand_block_move_mem): Remove dead code.
4123
41242001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
4125
4126 * c-common.c (warn_div_by_zero): New.
4127 * c-common.h (warn_div_by_zero): New.
4128 * c-decl.c (c_decode_option): Take it on the command line.
16e99e29 4129 * c-typeck.c (build_binary_op): Warn about division by zero.
2ea792c2
JJ
4130 * doc/invoke.texi: Document the new command line option, fix
4131 documentation of -Wmultichar.
16e99e29
AJ
4132 * testsuite/gcc.dg/divbyzero.c: New tests.
4133 * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
2ea792c2
JJ
4134
4135Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
4136
4137 * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
4138
4139 * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
4140 to avoid update_life_info call.
4141 * basic-block.h (CLEANUP_UPATE_LIFE): Define.
4142 * cfgcleanup.c (bb_flags): New enum.
4143 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
4144 (notice_new_block, update_forwarder_flag): New functions.
4145 (try_simplify_condjump): Use FORWARDER_BLOCK_P.
4146 (try_forward_edges): Likewise; update flags.
4147 (merge_blocks): Likewise.
4148 (outgoing_edges_match): Likewise.
4149 (try_crossjump_to_edge): Likewise.
4150 (try_optimize_cfg): Likewise; initialize and clear the flags;
4151 recompute life info if needed.
4152 (cleanup_cfg): No need to clear aux pointers.
4153
41542001-10-23 Alexandre Oliva <aoliva@redhat.com>
4155
4156 * config/i386/i386.c (override_options): Default to minimum
4157 stack alignment when optimizing for code size.
4158 * doc/invoke.texi (-mpreferred-stack-boundary): Document the
4159 change.
4160
4161 * config/i386/i386.c (override_options): Set upper limit of
4162 -mpreferred-stack-boundary to 12.
4163
41642001-10-22 Zack Weinberg <zack@codesourcery.com>
4165
4166 * recog.c (peephole2_optimize): Add default case to switch.
4167
41682001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
4169
4170 * doc/gcc.texi (Sending Patches): Remove.
4171
41722001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
4173
4174 * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
4175 fields when comparing.
4176
41772001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4178
4179 * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
4180 * arm.c (HOST_INT, HOST_UINT): Likewise.
4181
41822001-10-22 Stan Shebs <shebs@apple.com>
4183
4184 * config/darwin-protos.h (darwin_exception_section): Declare.
4185 (darwin_eh_frame_section): Declare.
4186
4187Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
4188
4189 * i386.md (movti_rex64): Fix mode.
4190
41912001-10-22 Stan Shebs <shebs@apple.com>
4192
4193 * target.h (struct gcc_target): Add asm_out.exception_section,
4194 asm_out.eh_frame_section.
4195 * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
4196 (TARGET_ASM_EH_FRAME_SECTION): New.
4197 (TARGET_INITIALIZER): Update.
4198 * output.h (default_exception_section): Declare.
4199 (default_eh_frame_section): Declare.
4200 * dwarf2out.c: Include target.h.
4201 (output_call_frame_info): Call target hook for eh frames.
4202 (default_eh_frame_section): New function.
4203 * except.c: Include target.h.
4204 (output_function_exception_table): Call target hook for exception
4205 section.
4206 * varasm.c (default_exception_section): Rename from
4207 exception_section, remove EXCEPTION_SECTION macro.
4208
4209 * config/darwin.h (darwin_eh_frame_section): New function.
4210 (EXCEPTION_SECTION): Remove.
4211 (TARGET_ASM_EXCEPTION_SECTION): Define.
4212 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
4213 (nextstep_exception_section): New function.
4214 (nextstep_eh_frame_section): New function.
4215 (TARGET_ASM_EXCEPTION_SECTION): Define.
4216 (TARGET_ASM_EH_FRAME_SECTION): Define.
4217
4218 * config/pa/som.h (EXCEPTION_SECTION): Remove.
4219 (TARGET_ASM_EXCEPTION_SECTION): Define.
4220 * config/rs6000/sysv4.h, config/rs6000/xcoff.h
4221 (EXCEPTION_SECTION): Remove.
4222 (TARGET_ASM_EXCEPTION_SECTION): Define.
4223 * config/stormy16/stormy16.h: Remove comments referencing
4224 EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
4225
4226 * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
4227 TARGET_ASM_EH_FRAME_SECTION.
4228
42292001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
4230
4231 * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
4232 terms.
4233
4234 * c-format.c: Fix spelling typo in comment.
4235
4236 * sched-int.h: Fix typo in GCC preamble.
4237
42382001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
4239
4240 PR debug/4252
4241 * doc/invoke.texi: Remove references to -fdump-translation-unit.
4242
42432001-10-22 Richard Henderson <rth@redhat.com>
4244
4245 * config/i386/i386.c (ix86_expand_clear): New.
4246 * config/i386/i386-protos.h: Declare it.
4247 * config/i386/i386.md (setcc peep2s): Use it.
4248 (movsi_xor): Unexport.
4249
42502001-10-22 Richard Henderson <rth@redhat.com>
4251
4252 * flow.c (clear_log_links): Use free_INSN_LIST_list, not
4253 free_EXPR_LIST_list for LOG_LINKS.
4254
42552001-10-21 Robert Lipe <robertlipe@usa.net>
4256
4257 * config/i386/i386.c (sco_asm_named_section): Delete.
4258 (sco_asm_out_constructor): Delete.
4259 * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
4260 (ASM_OUTPUT_DOUBLE_INT): Likewise.
4261 (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
4262 (TARGET_ASM_NAMED_SECTION): Use default for ELF.
4263 (EXCEPTION_SECTION): Delete EH scn renaming hack.
4264
42652001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4266
4267 * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
4268 and/or fold extra calls into fewer ones.
4269 * collect2.c (dump_file): Likewise.
4270 * cppexp.c (parse_number): Likewise.
4271 * cpplex.c (_cpp_lex_direct): Likewise.
4272 * final.c (output_asm_insn, asm_fprintf): Likewise.
4273 * fix-header.c (inf_scan_ident, main): Likewise.
4274 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
4275 Likewise.
4276 * fold-const.c (real_hex_to_f): Likewise.
4277 * gen-protos.c (parse_fn_proto): Likewise.
4278 * genattrtab.c (check_attr_test, check_attr_value): Likewise.
4279 * genrecog.c (change_state, write_action): Likewise.
4280 * gensupport.c (shift_output_template): Likewise.
4281 * local-alloc.c (requires_inout): Likewise.
4282 * mips-tfile.c (IS_ASM_IDENT): Likewise.
4283 * protoize.c (is_id_char, main): Likewise.
4284 * real.c (asctoeg): Likewise.
4285 * recog.c (asm_operand_ok): Likewise.
4286 * reload.c (find_reloads): Likewise.
4287 * scan.c (scan_identget_token): Likewise.
4288 * sched-vis.c (print_value): Likewise.
4289 * stringpool.c (ggc_alloc_string): Likewise.
4290 * toplev.c (read_integral_parameter, decode_g_option): Likewise.
4291 * tradcif.y (parse_number, yylex, parse_escape): Likewise.
4292 * tradcpp.c (rescan): Likewise.
4293 * tree.c (clean_symbol_name): Likewise.
4294 * varasm.c (decode_reg_name): Likewise.
4295
4296 * alpha.h (ASM_OUTPUT_ASCII): Likewise.
4297 * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
4298 * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
4299 * m88k.c (output_ascii): Likewise.
4300 * m88k.h (OVERRIDE_OPTIONS): Likewise.
4301 * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
4302 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
4303 * sh.h (REG_CLASS_FROM_LETTER): Likewise.
4304
43052001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
4306
4307 * langhooks.c (lang_hook_default_do_nothing,
4308 lang_hook_default_decode_option): New defaults.
4309 * langhooks.h: Make hooks unconditional and non-NULL.
4310 * toplev.c (compile_file, toplev_main): Update.
4311 * toplev.h: Update comments.
4312 * objc/objc-act.c (lang_hooks): Update to new paradigm.
4313
43142001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4315
4316 * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
4317
4318 * system.h (IN_RANGE): New macro.
4319
43202001-10-21 Zack Weinberg <zack@codesourcery.com>
4321
4322 * aclocal.m4 (AM_WITH_NLS): Also create and substitute
4323 INTLDEPS variable, which does not include $LIBICONV.
4324 * Makefile.in: Use INTLDEPS in LIBDEPS.
4325 * configure: Regenerate.
4326
43272001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
4328
4329 * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
4330 * cpplex.c (lex_percent, lex_dot): Remove.
4331 (get_effective_char, skip_block_comment, skip_line_comment,
4332 parse_identifier_slow, parse_number, parse_string, save_comment,
4333 _cpp_lex_direct): Update to do lookback freely.
4334 (IF_NEXT_IS, BACKUP): New macros.
4335 * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
4336 * cppmacro.c (paste_tokens): Update.
4337
43382001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
4339
4340 * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
4341
43422001-10-20 Hans-Peter Nilsson <hp@axis.com>
4343
4344 * reload1.c (reload): Check CONSTANT_P before calling
4345 LEGITIMATE_PIC_OPERAND_P.
4346 * config/cris/cris.c (cris_legitimate_pic_operand): Revert
4347 workaround of 2001-10-13.
4348
4349Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
4350
4351 * i386.c (split_di): Handle splitting of DFmode.
4352
4353Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4354
4355 * emit-rtl.c (set_mem_attributes): Alignment is in bits.
4356 (adjust_address_1, offset_address): Likewise.
4357
4358 * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
4359 (output_asm_insn): Call it for each line output.
4360 Don't record an operand more than once.
4361
4362 * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
4363 * main.c: Include config.h and system.h, but not ansidecl.h.
4364 * Makefile.in (main.o): Update accordingly.
4365
4366Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
4367
4368 * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
4369
4370Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
4371
4372 * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
4373 * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
4374 Break out from ...
4375 (find_sub_basic_blocks): ... here;
4376 (find_many_sub_basic_blocks): New.
4377 * recog.c (split_all_insns): Update find_sub_basic_blocks call.
4378
4379 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
4380
4381 * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
4382
4383 * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
4384
4385 * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
4386 * flow.c (update_life_info): Measure time.
4387 * c-decl.c: Include timevar.h
4388 (c_expand_body): Measure time.
4389 * toplev.c (rest_of_compilation): Measure time of mode switching
4390 separately.
ff7cc307 4391 * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
2ea792c2
JJ
4392
4393 * toplev.c (flag_asynchronous_unwind_tables): New global variable.
4394 (lang_independent_options): Add asynchronous-unwind-tables
4395 (toplev_main): flag_asynchronous_unwind_tables implies
4396 flag_unwind_tables.
4397 * flags.h (flag_asynchronous_unwind_tables): Declare.
4398 * dwarf2out.c (dwarf2out_stack_adjust): Take into account
4399 flag_asynchronous_unwind_tables.
4400 (output_call_frame_info): Likewise.
4401 * invoke.texi (-fasynchronous-unwind-tables): Document.
4402 * i386.c (optimization_options): Enable
4403 flag_asynchronous_unwind_tables.
4404
4405 * i386.c (ix86_expand_setcc): Always expect target to be QImode.
4406 * i386.md (s* expanders): Destination is QImode.
4407
4408 * toplev.c (rest_of_compilation): Do not call clear_log_links.
4409 * rtl.h (clear_log_links): Kill.
4410 * flow.c (clear_log_links): Make static; accept blocks parameter;
4411 do no clear life info.
4412 (update_life_info): Call clear_log_links.
4413
4414 * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
4415
44162001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
4417
4418 * cpplex.c (handle_newline, skip_escaped_newlines,
4419 get_effective_char, skip_block_comment, skip_line_comment,
4420 parse_identifier_slow, parse_number, parse_string,
4421 _cpp_lex_direct): Update to do more stepping back.
4422 (trigraph_ok): Similarly. Rename trigraph_p.
4423 (SAVE_STATE, RESTORE_STATE): Remove.
4424 (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
4425
4426 * cpplib.c (destringize): Rename destringize_and_run, and
4427 call run_directive directly.
4428 (_cpp_do__Pragma): Simplify.
4429
44302001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4431
4432 * pe.c (arm_pe_unique_section): Const-ify.
4433 * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
4434 (switch_to_section): Add static prototype.
4435
4436 * output.h (drectve_section): Prototype.
4437
44382001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4439
4440 * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
4441 fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
4442 parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
4443 i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
4444 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
4445 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
4446 i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
4447 i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
4448 i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
4449 i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
4450 i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
4451 i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
4452 ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
4453 mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
4454 powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4455 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4456 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4457 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4458 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4459 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
4460 rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
4461 sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
4462 v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
4463 cris-*-none, cris-*-linux*: Update ${tmfile} list.
4464 (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
4465 i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
4466 mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
4467 powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
4468 v850-*-*): Delete superflous ${cpu_type} setting.
4469 * config/linux.h: Delete svr4.h include.
4470 (SET_ASM_OP): Delete.
4471 * config/netware.h (INT_ASM_OP): Undef before define.
4472 * config/ptx4.h: Delete elfos.h include.
4473 (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
4474 * config/svr4.h: Delete elfos.h include. Update commentary.
4475 * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
4476 config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
4477 config/mn10200/mn10300.h, config/stormy16/stormy16.h,
4478 config/v850/v850.h: Delete svr4.h include.
4479 * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
4480 config/m68k/m68kv4.h, config/m88k/sysv4.h,
4481 config/sparc/sysv4.h: Update includes.
4482 * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
4483 config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
4484 config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
4485 config/m88k/dguxbcs.h: Delete includes.
4486 * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
4487 (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
4488 * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
4489 it.
4490 * config/m88k/dgux.h: Delete include.
4491 (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
4492 defining it.
4493 * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
4494 ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
4495 * config/sh/elf.h: Update include.
4496 (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
4497 DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
4498
44992001-10-19 Catherine Moore <clm@redhat.com>
4500
4501 * config/stormy16/stormy-abi: Updates to varargs descriptions.
4502 * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
4503 base and count fields.
4504 (stormy16_expand_builtin_va_start): last_reg_count changed to
4505 size_of_reg_args. Use count + size in first comparison.
4506
4507Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4508
4509 * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
4510 * toplev.h (struct lang_hooks): New field HONOR_READONLY.
4511 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
4512 TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
4513 Set alignment from type if INDIRECT_REF.
4514 (adjust_address_1, offset_address): Simplify alignment compuitation.
4515 * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
4516 here; done by set_mem_attributes.
4517
45182001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4519
4520 * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
4521 * arm-protos.h (rdata_section, zero_init_section, common_section):
4522 Prototype.
4523 * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
4524 * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
4525 traditional mode stringification.
4526 * function.c (thread_prologue_and_epilogue_insns): Wrap variable
4527 in macros controling its use.
4528 * rtlanal.c: Include tm_p.h.
4529 * varasm.c (asm_output_aligned_bss): Mark parameter with
4530 ATTRIBUTE_UNUSED.
4531 (assemble_constant_align, assemble_start_function, assemble_align,
4532 assemble_variable, assemble_trampoline_template,
4533 output_constant_def_contents): Wrap potentially empty if-stmt body
4534 in brackets.
4535
45362001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4537
4538 * a29k-protos.h (literal_section): Prototype.
4539 * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
4540 * a29k.md: Ensure function pointers are prototyped.
4541 * genattrtab.c (write_eligible_delay): Mark parameter with
4542 ATTRIBUTE_UNUSED.
4543
45442001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4545
4546 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
4547 * 1750a.c (print_operand): Fix format specifier warning.
4548 * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
4549 * 1750a.md: Likewise.
4550 * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
4551 * genemit.c (output_add_clobbers): Mark parameter with
4552 ATTRIBUTE_UNUSED.
4553 * genrecog.c (write_subroutine): Likewise.
4554 * integrate.c (expand_inline_function): Delete unused variable.
4555 * varasm.c (remove_from_pending_weak_list): Wrap with
4556 ASM_WEAKEN_LABEL.
4557
45582001-10-19 Jakub Jelinek <jakub@redhat.com>
4559
4560 * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
4561 field is different to previous argument's neg field.
4562
4563 * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
4564
4565Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4566
4567 * final.c (get_decl_from_op): New function.
4568 (output_asm_insn): Call it; write "*" when item with decl is address.
4569
45702001-10-19 Janis Johnson <janis187@us.ibm.com>
4571
4572 * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
4573 about 64-bit support from the 3.0_branch version.
4574
45752001-10-19 Zack Weinberg <zack@codesourcery.com>
4576
4577 * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
4578 USE_INCLUDED_LIBINTL when appropriate.
4579 * configure, config.in: Regenerate.
4580 * Makefile.in (datadir): Set to @datadir@.
4581 (intl.o): Also depend on $(CONFIG_H) and system.h.
4582
4583 * intl.c: Factor out common gettext initialization sequence.
4584 (gcc_init_libintl): New function.
4585 * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
4586 otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
4587 off NLS. Add multiple include guard. No need to #ifdef-guard
4588 an #undef. Prototype gcc_init_libintl here.
4589
4590 * collect2.c (main), cppmain.c (general_init), gcc.c (main),
4591 gcov.c (main), protoize.c (main), toplev.c (toplev_main):
4592 Use gcc_init_libintl.
4593
45942001-10-19 Catherine Moore <clm@redhat.com>
4595
4596 * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
4597
4598 * config/stormy16/stormy16.c (stormy16_split_move): Make
4599 sure that REG_INC notes are present for auto_inc operands.
4600
46012001-10-19 Andreas Jaeger <aj@suse.de>
4602
4603 * configure: Regenerated.
4604 * configure.in: Add x86_64 to switch statements.
4605
b2c9c37e
RH
46062001-10-18 Richard Henderson <rth@redhat.com>
4607
2ea792c2 4608 * config/alpha/alpha.md (sibcall_osf_1): Load destination
b2c9c37e
RH
4609 address into $27 explicitly.
4610 (sibcall_value_osf_1): Likewise.
4611
0d4903b8
RK
4612Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4613
4614 * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
4615 (offset_address): New function.
4616 (free_emit_status): Free regno_decl.
4617 (init_emit): Pass proper number of elements to xcalloc.
4618 Allocate regno_decl.
4619 (mark_emit_status): Mark regno_decl values.
4620 * expr.c (highest_pow2_factor): New function.
4621 (expand_assigment): Use it and offset_address.
4622 Properly handle ptr_mode vs. Pmode in offset calculation.
4623 (store_constructor, expand_expr_unaligned): Likewise.
4624 (expand_expr, case COMPONENT_EXPR): Likewise.
4625 * expr.h (offset_address): New decl.
4626 * function.h (struct emit_status): Add regno_decl.
4627 (REGNO_DECL): New macro.
4628 * final.c (output_asm_name): Move in file and don't conditionalize
4629 on flag_print_asm_name.
4630 (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
4631 Output names of operands, if known.
4632 * function.c (assign_parms): Set REGNO_DECL.
4633 * integrate.c (integrate_decl_tree): Likewise.
4634 * stmt.c (expand_decl): Likewise.
4635 * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
2ea792c2 4636
9162542e
AO
46372001-10-18 Alexandre Oliva <aoliva@redhat.com>
4638
4639 * attribs.c (handle_noinline_attribute): New function.
4640 (handle_used_attribute): Likewise.
4641 (c_common_attribute_table): Added noinline and used.
4642 * doc/extend.texi (Function Attributes): Document them.
4643 * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
4644 Warn when merging inline with attribute noinline.
4645 (start_decl, start_function): Warn if inline and attribute
4646 noinline appear in the same declaration.
4647
51fabca5
NB
46482001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
4649
4650 * config.gcc: Update c4x and i370 for C front end-specific
4651 dependencies.
4652 * config/c4x/c4x-c.c: New.
4653 * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
4654 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4655 New declarations.
4656 * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
4657 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4658 Make extern.
4659 (c4x_init_pragma): Remove.
4660 (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
4661 c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
4662 c4x_pr_ignored): Move to c4x-c.c.
4663 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
4664 * config/c4x/t-c4x: Update.
4665 * config/i370/i370-c.c: New.
4666 * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
4667 (i370_pr_map): Move to i370-c.c.
2ea792c2 4668 * config/i370/t-i370: New.
51fabca5
NB
4669
4670 * doc/tm.texi: Update.
4671
a4f6c312
SS
46722001-10-17 Stan Shebs <shebs@apple.com>
4673
4674 * config/rs6000/rs6000.c: Make assorted mechanical formatting and
4675 typo fixes throughout.
4676 (machopic_output_stub): Remove some dead code.
4677
34f5271d
RE
46782001-10-17 Richard Earnshaw <rearnsha@arm.com>
4679
4680 * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
4681 leak.
4682
738cc472
RK
4683Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4684
4685 * Makefile.in (print-rtl.o): Depend on TREE_H.
4686 * alias.c (get_alias_set): Make two passes over objects to first
4687 see if inner object is access via restricted pointer.
4688 Defer allocating alias set for restricted pointer until here.
4689 Call find_placeholder with second arg nonzero.
4690 Minor cleanups.
3c5ad1ff
RK
4691 * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
4692 set for restricted pointer types.
738cc472
RK
4693 * emit-rtl.c (set_mem_attributes): Set more attributes.
4694 (set_mem_align, change_address, adjust_address_1): New functions.
4695 (change_address_1): Now static.
4696 (adjust_address, adjust_address_nv): Deleted.
4697 (replace_equiv_address): Call change_address_1.
4698 * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
4699 (find_placeholder): Get starting point from PLIST arg.
4700 (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
4701 * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
4702 (adjust_address, adjust_address_nv): New macros.
4703 * print-rtl.c (tree.h): New include.
4704 (print_rtx, case MEM): Print all memory attributes.
4705
4d8f669f
RH
47062001-10-17 Richard Henderson <rth@redhat.com>
4707
4708 * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
4709
14976c58
MK
47102001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4711
4712 * c-tree.texi: Eliminate duplicated word.
4713 * cpp.texi: Likewise.
4714 * install.texi: Likewise.
4715 * invoke.texi: Likewise.
4716 * tm.texi: Likewise.
4717
808dbdd5
MC
47182001-10-17 Michael Collison <collison@isisinc.net>
4719
4720 * dsp16xx.c: Fix comment formatting to match GNU standards.
2ea792c2 4721 (dsp16xx_output_function_prologue): Change type of 'size'
808dbdd5
MC
4722 parameter from 'int' to HOST_WIDE_INT.
4723 (dsp16xx_output_function_epilogue): Change type of 'size'
4724 parameter from 'int' to HOST_WIDE_INT.
4725
f88c65f7
RH
47262001-10-16 Richard Henderson <rth@redhat.com>
4727
4728 * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
4729 * configure, config.in: Rebuild.
4730
4731 * config/i386/i386.c (ix86_output_addr_vec_elt): New.
4732 (ix86_output_addr_diff_elt): New.
4733 * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
4734 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4735 (JUMP_TABLES_IN_TEXT_SECTION): New.
4736 * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
4737 * config/i386/i386-protos.h: Update.
4738
4739 * config/i386/386bsd.h, config/i386/beos-elf.h,
4740 config/i386/freebsd-aout.h, config/i386/freebsd.h,
4741 config/i386/i386-interix.h, config/i386/i386elf.h,
4742 config/i386/linux.h, config/i386/netbsd-elf.h,
4743 config/i386/netbsd.h, config/i386/openbsd.h,
4744 config/i386/ptx4-i.h, config/i386/rtemself.h,
4745 config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
4746 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
4747
2ec37136
FW
47482001-10-16 Florian Weimer <fw@deneb.enyo.de>
4749
4750 * stmt.c (expand_asm_operands): Update commentary.
4751
abe72dd8
SS
47522001-10-16 Stan Shebs <shebs@apple.com>
4753
4754 * config/darwin.h (GCC_NAME): Remove, no longer used.
4755 (NO_MATH_LIBRARY): Ditto.
4756 (MATH_LIBRARY): Define to emptiness.
4757 (DWARF2_DEBUGGING_INFO): Define.
4758 (PREFERRED_DEBUGGING_TYPE): Define.
4759 (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
4760 (EXCEPTION_SECTION): Define.
4761 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4762 * config/darwin.c (darwin_encode_section_info): Handle case of
4763 DECL_INITIAL being error_mark_node.
4764
1afec8ad
RH
47652001-10-16 Richard Henderson <rth@redhat.com>
4766
4767 * alpha.c (current_file_function_operand): Don't fail for profiling.
4768 (direct_call_operand): New.
4769 * alpha-protos.h: Declare it.
4770 * alpha.h (EXTRA_CONSTRAINT): Use it.
4771 (PREDICATE_CODES): Add it.
4772 (ASM_OUTPUT_MI_THUNK): Remove.
4773 * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
4774 * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
4775
08777234 47762001-10-16 Krister Walfridsson <cato@df.lth.se>
2ea792c2 4777
08777234
KW
4778 * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
4779 (JUMP_TABLES_IN_TEXT_SECTION): Define.
4780
d39ac0fd
JH
4781Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
4782
4783 * cfg.c (free_edge): Break out from ....
4784 (remove_edge): ... here.
4785 (clear_edges): Use free_edge.
4786
4787 * att.h (ASM_QUAD): Add comment.
4788 * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
4789
44cf5b6a
JH
4790Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
4791
4792 * i386.c (split_ti): New function.
4793 (ix86_split_to_parts): Support TImodes.
4794 * i386.h (VALID_INT_MODE_P): Add TImode.
4795 * i386.md (movdi splitter): Fix.
4796 (movti): Support 64bit integer registers.
4797 (movti_rex64): New function and splitter.
4798
4799 * i386.c (*_cost): Add movsx/movzx cost.
4800 * i386.h (struct processor_costs): Add movsx/movzx fields.
4801 (RTX_COSTS): Handle zero/sign extend + avoid believing that
4802 64bit operations require split on 64bit machine.
4803 (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
4804
ff7cc307 4805 * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
44cf5b6a
JH
4806 (ix86_expand_move): Avoid pushes of memory if size does not match;
4807 move long constants to register.
4808 (x86_initialize_trampoline): Fix mode.
4809 * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
4810 Use ASM_QUAD on 64bit.
4811 * i386.md (test pattern): Disallow impossible constants.
4812 (tablejump PIC expander): Fix emitting of sum.
4813 (movdicc_rex64): Rename to movdicc.
4814 * linux64.h (LINK_SPEC): Add missing '%'.
4815
e95301f5
AO
48162001-10-16 Alexandre Oliva <aoliva@redhat.com>
4817
4818 * tree-inline.c (inlinable_function_p): Leave it up to the
4819 front-end to turn -finline-functions into DECL_INLINE set for all
4820 functions.
4821
deb5bfcc
SS
48222001-10-16 Stan Shebs <shebs@apple.com>
4823
4824 * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
4825
0936a455
AM
48262001-10-16 Alan Modra <amodra@bigpond.net.au>
4827
ffb5e2e2
AM
4828 * recog.c: Formatting and comment typo fixes.
4829
0936a455
AM
4830 * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
4831 version in single tree build.
4832 * configure: Regenerate.
4833
2d4368e6
DE
48342001-10-15 David Edelsohn <edelsohn@gnu.org>
4835
4836 * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
4837 MODE arguments to gen_rtx and compare operand with const0_rtx.
4838
41441dc7
NB
48392001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
4840
4841 * system.h: Poison old unused target macros.
4842 * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
4843 * config/stormy16/stormy16.c: Update references to obsolete macros.
4844 * config/stormy16/stormy16.h: Similarly.
4845 * config/stormy16/stormy16.md: Similarly.
4846 * config/cris/cris.h: Similarly.
4847
4b115ff0
NB
48482001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
4849
4850 * cpplib.c (struct pragma_entry): Store the name as a hashnode.
4851 (lookup_pragma_entry, insert_pragma_entry, do_pragma,
4852 cpp_register_pragma): Update accordingly.
4853
a5da89c6
NB
48542001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
4855
4856 * c-pragma.h (cpp_register_pragma_space): Remove.
4857 * cpplib.h (cpp_register_pragma_space): Remove.
4858 * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
4859 (cpp_register_pragma_space): Remove.
4860 (cpp_register_pragma): Simplify using lookup_pragma_entry,
4861 add sanity checks.
4862 (do_pragma): Similarly.
4863 (_cpp_init_internal_pragmas): Don't register namespaces.
4864
4865 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
4866 Don't register namespaces.
4867 * cp/lex.c (init_cp_pragma): Similarly.
4868 * doc/tm.texi: Update.
4869
0cb13cd2
CR
48702001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
4871
4872 PR c/4157
4873 * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
4874
c54db4c9
MC
48752001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
4876
2ea792c2 4877 * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
c54db4c9
MC
4878 add scheduling support.
4879 * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
4880 * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
4881 * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
4882
4883
5e3db92d
HPN
48842001-10-13 Hans-Peter Nilsson <hp@axis.com>
4885
4886 * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
4887 missing CONSTANT_P test in core GCC.
4888
0c34509f
NB
48892001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
4890
4891 * cppmain.c (struct printer): New member source.
4892 (scan_translation_unit): Fix spacing at start of lines.
4893 (cb_line_change): Update.
4894
4895 * gcc.dg/cpp/spacing2.c: New test.
4896
44a4ca5e
HPN
48972001-10-12 Hans-Peter Nilsson <hp@axis.com>
4898
4899 * config/cris/arit.c: Use __builtin_labs, not abs.
4900
4901 * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
4902
4903 * config/cris/cris.c (cris_target_asm_function_epilogue): Move
4904 misplaced sprintf and fprintf argument.
4905
71a94577
ZW
49062001-10-12 Zack Weinberg <zack@codesourcery.com>
4907
4908 * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
4909 * configure.in, Makefile.in: Take out obsolete check-po logic.
4910 * configure, config.in: Regenerate.
4911
7e21622e
ZL
49122001-10-12 Ziemowit Laski <zlaski@apple.com>
4913
4914 * objc/objc-act.c (finish_objc): Correct precondition for emitting
4915 symtab declarations.
4916
592696dd
SS
49172001-10-12 Stan Shebs <shebs@apple.com>
4918
4919 * config/rs6000/rs6000.c: Remove uses of "register" specifier in
4920 declarations of arguments and local variables.
4921
4717f6c1
CF
49222001-10-12 Christopher Faylor <cgf@redhat.com>
4923
4924 * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
4925 ENDFILE_SPEC definition.
4926
71287280
KH
49272001-10-12 Kazu Hirata <kazu@hxi.com>
4928
4929 * gthr-dce.h: Fix comment formatting.
4930 * gthr-posix.h: Likewise.
4931 * gthr-single.h: Likewise.
4932 * gthr-solaris.h: Likewise.
4933 * gthr-vxworks.h: Likewise.
4934 * gthr-win32.h: Likewise.
4935
8554d9a4
JJ
49362001-10-12 Jakub Jelinek <jakub@redhat.com>
4937
4938 * final.c (output_asm_insn): Make sure assembly dialects are
4939 terminated, not nested. Output `|' and `}' characters if they
4940 don't appear inside assembly dialect selection.
4941 * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
4942 rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
4943 rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
4944 strsetsi_rex_1): Add {} braces.
4945
7cb4ff28
ZW
49462001-10-11 Zack Weinberg <zack@codesourcery.com>
4947
4948 * toplev.c (compile_file): Ignore return value from yyparse.
4949 Always pop any nested binding levels after yyparse returns.
4950
bcb913fb
RH
49512001-10-11 Richard Henderson <rth@redhat.com>
4952
4953 * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
4954
5929a2f0
RH
49552001-10-11 Richard Henderson <rth@redhat.com>
4956
4957 * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
4958 fall back to add_AT_long_long for large CONST_INT.
4959
10978207
RH
49602001-10-11 Richard Henderson <rth@redhat.com>
4961
4962 * config/i386/i386.md (setcc splitters): Add four splitters to
4963 simplify compound compares that simplify_comparison can't handle.
4964
8206c799
ZW
49652001-10-11 Zack Weinberg <zack@codesourcery.com>
4966
4967 * cpplex.c (digraph_spellings, token_spellings): Make static.
4968
a185c302
FS
49692001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4970
4971 * unroll.c (loop_iterations): Fixup last patch.
4972
4a8d0c9c
RH
49732001-10-11 Richard Henderson <rth@redhat.com>
4974
4975 * rtl.h (REG_VTABLE_REF): New.
4976 * rtl.c (reg_note_name): Add it.
4977 * combine.c (distribute_notes): Handle it.
4978 * final.c (final_scan_insn): Handle it.
4979 * tree.def (VTABLE_REF): New.
4980 * expr.c (expand_expr): Handle it.
4981 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
4982 * output.h: Declare them.
4983
8063ddcf
RH
49842001-10-11 Richard Henderson <rth@redhat.com>
4985
4986 * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
4987 for a DECL_INITIAL.
4988
0faae2f5
DE
49892001-10-11 David Edelsohn <edelsohn@gnu.org>
4990
4991 * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
4992 available in 64-bit mode.
4993
0b85d816
HPN
49942001-10-11 Hans-Peter Nilsson <hp@axis.com>
4995
4996 * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
4997 cris-*-linux* cases.
4998 * config/cris/cris-protos.h: New file.
4999 * config/cris/cris.c: New file.
5000 * config/cris/cris.h: New file.
5001 * config/cris/cris.md: New file.
5002 * config/cris/linux.h: New file.
5003 * config/cris/aout.h: New file.
5004 * config/cris/arit.c: New file.
5005 * config/cris/cris_abi_symbol.c: New file.
5006 * config/cris/mulsi3.asm: New file.
5007 * config/cris/t-aout: New file.
5008 * config/cris/t-cris: New file.
5009 * config/cris/t-elfmulti: New file.
5010 * config/cris/t-linux: New file.
5011 * doc/invoke.texi: Add CRIS options.
5012 * doc/install.texi (Specific): Add blurb for CRIS.
5013
6462eafa
HS
50142001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
5015
5016 * config/float-i128.h: Make sure __STDC__VERSION__ is defined
5017 before using it.
5018 * config/float/i32.h: Likewise.
5019 * config/float-i386.h: Likewise.
5020 * config/float-i64.h: Likewise.
5021 * config/float-m68k.h: Likewise.
5022 * config/float-sh.h: Likewise.
5023 * config/float-sparc.h: Likewise.
5024
8647444e
HPN
50252001-10-11 Hans-Peter Nilsson <hp@axis.com>
5026
5027 * doc/contrib.texi: Add note about CRIS port to my entry.
5028
eebedaa5
KH
50292001-10-11 Kazu Hirata <kazu@hxi.com>
5030
5031 * basic-block.h: Fix formatting.
5032 * bitmap.h: Likewise.
5033 * cpplib.h: Likewise.
5034 * c-tree.h: Likewise.
5035 * diagnostic.h: Likewise.
5036 * flags.h: Likewise.
5037 * ggc.h: Likewise.
5038 * longlong.h: Likewise.
5039 * real.h: Likewise.
5040 * reload.h: Likewise.
5041 * rtl.h: Likewise.
5042 * tree.h: Likewise.
5043
84b72302
RH
50442001-10-10 Richard Henderson <rth@redhat.com>
5045
5046 * c-parse.in (asm_operand): Allow named operands.
5047 * genconfig.c (max_recog_operands): Set to 29.
5048 * local-alloc.c (requires_inout): Skip multiple digits.
5049 * recog.c (asm_operand_ok): Likewise.
5050 (preprocess_constraints): Use strtoul for matching constraints.
5051 (constrain_operands): Likewise.
5052 * regmove.c (find_matches): Likewise.
5053 * reload.c (find_reloads): Likewise.
5054 * stmt.c (parse_output_constraint): Don't reject in-out
5055 constraint on operands > 9. Reject '[' in constraint.
5056 (expand_asm_operands): Handle named operands. Use strtoul
5057 for matching constraints.
5058 (check_operand_nalternatives): Split out from expand_asm_operands.
5059 (check_unique_operand_names): New.
5060 (resolve_operand_names, resolve_operand_name_1): New.
5061
5062 * doc/extend.texi (Extended Asm): Document named operands.
5063 * doc/md.texi (Simple Constraints): Document matching constraints
5064 on operands > 9.
5065
7f16eed4
RH
50662001-10-10 Richard Henderson <rth@redhat.com>
5067
592188a5
RH
5068 * combine.c (try_combine): Handle a SEQUENCE of one insn.
5069
5070 * i386.c (test splitter): Narrow tests vs paradoxical subregs.
5071 (jcc splitters): Add two splitters to simplify compound compares
5072 that simplify_comparison can't handle.
7f16eed4
RH
5073
50742001-10-10 Richard Henderson <rth@redhat.com>
5075
5076 * langhooks.c: Include langhooks.h.
5077 * Makefile.in (langhooks.o): Depend on it.
5078
eb9d8e4d
JW
5079Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
5080
5081 * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
5082 should not be considered as a no-op.
5083 * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
5084
b3694847
SS
50852001-10-10 Stan Shebs <shebs@apple.com>
5086
5087 * alias.c: Remove uses of "register" specifier in declarations
5088 of arguments and local variables.
5089 * c-common.c: Ditto.
5090 * c-convert.c: Ditto.
5091 * c-decl.c: Ditto.
5092 * c-format.c: Ditto.
5093 * c-semantics.c: Ditto.
5094 * c-typeck.c: Ditto.
5095 * caller-save.c: Ditto.
5096 * calls.c: Ditto.
5097 * cfg.c: Ditto.
5098 * cfgbuild.c: Ditto.
5099 * cfgrtl.c: Ditto.
5100 * collect2.c: Ditto.
5101 * combine.c: Ditto.
5102 * convert.c: Ditto.
5103 * cppexp.c: Ditto.
5104 * cppfiles.c: Ditto.
5105 * cse.c: Ditto.
5106 * dbxout.c: Ditto.
5107 * defaults.h: Ditto.
5108 * df.c: Ditto.
5109 * dwarf2out.c: Ditto.
5110 * dwarfout.c: Ditto.
5111 * emit-rtl.c: Ditto.
5112 * explow.c: Ditto.
5113 * expmed.c: Ditto.
5114 * expr.c: Ditto.
5115 * final.c: Ditto.
5116 * fix-header.c: Ditto.
5117 * floatlib.c: Ditto.
5118 * flow.c: Ditto.
5119 * fold-const.c: Ditto.
5120 * function.c: Ditto.
5121 * gcc.c: Ditto.
5122 * gcse.c: Ditto.
5123 * gen-protos.c: Ditto.
5124 * genattrtab.c: Ditto.
5125 * gencheck.c: Ditto.
5126 * genconfig.c: Ditto.
5127 * genemit.c: Ditto.
5128 * genextract.c: Ditto.
5129 * genflags.c: Ditto.
5130 * gengenrtl.c: Ditto.
5131 * genoutput.c: Ditto.
5132 * genpeep.c: Ditto.
5133 * genrecog.c: Ditto.
5134 * gensupport.c: Ditto.
5135 * global.c: Ditto.
5136 * gmon.c: Ditto.
5137 * graph.c: Ditto.
5138 * haifa-sched.c: Ditto.
5139 * hard-reg-set.h: Ditto.
5140 * hash.c: Ditto.
5141 * integrate.c: Ditto.
5142 * jump.c: Ditto.
5143 * lists.c: Ditto.
5144 * local-alloc.c: Ditto.
5145 * loop.c: Ditto.
5146 * mips-tdump.c: Ditto.
5147 * mips-tfile.c: Ditto.
5148 * optabs.c: Ditto.
5149 * prefix.c: Ditto.
5150 * print-rtl.c: Ditto.
5151 * read-rtl.c: Ditto.
5152 * real.c: Ditto.
5153 * recog.c: Ditto.
5154 * reg-stack.c: Ditto.
5155 * regclass.c: Ditto.
5156 * regmove.c: Ditto.
5157 * reload.c: Ditto.
5158 * reload1.c: Ditto.
5159 * reorg.c: Ditto.
5160 * resource.c: Ditto.
5161 * rtl.c: Ditto.
5162 * rtlanal.c: Ditto.
5163 * scan.c: Ditto.
5164 * sched-deps.c: Ditto.
5165 * sched-rgn.c: Ditto.
5166 * sdbout.c: Ditto.
5167 * simplify-rtx.c: Ditto.
5168 * stmt.c: Ditto.
5169 * stor-layout.c: Ditto.
5170 * toplev.c: Ditto.
5171 * tradcif.y: Ditto.
5172 * tradcpp.c: Ditto.
5173 * tree.c: Ditto.
5174 * unroll.c: Ditto.
5175 * varasm.c: Ditto.
5176 * xcoffout.c: Ditto.
5177
ba3c4fbb
RH
51782001-10-10 Richard Henderson <rth@redhat.com>
5179
5180 * rtl.h (can_reverse_comparison_p): Remove.
5181
0a977123
CF
51822001-10-10 Christopher Faylor <cgf@redhat.com>
5183
5184 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
5185 used.
5186
51872001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
5188
5189 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
5190 (Thanks to Chris Faylor for suggesting macro name).
5191 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
5192 WIN32 defines.
5193 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
5194 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
5195 (MATH_LIBRARY): Undef before definition.
5196 (OUTPUT_QUOTED_STRING): Likewise.
5197 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
5198
bde257ff
RH
51992001-10-10 Richard Henderson <rth@redhat.com>
5200
5201 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
5202 (fde_unencoded_compare): Likewise. Don't use subtraction to get
5203 a tristate comparison value.
5204 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
5205
c156ea30
FS
52062001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5207
e10f3d36
FS
5208 PR c++/4512
5209 * unroll.c (loop_iterations): Ignore insns generated by loop
5210 unrolling.
5211
c156ea30
FS
5212 * config.gcc (mips*-*-gnu*): Delete support.
5213 * config/mips/gnu.h: Remove.
5214
6d2f8887
KH
52152001-10-10 Kazu Hirata <kazu@hxi.com>
5216
5217 * calls.c: Fix formatting.
5218 * c-decl.c: Likewise.
5219 * cfgcleanup.c: Likewise.
5220 * combine.c: Likewise.
5221 * cppfiles.c: Likewise.
5222 * cpplib.c: Likewise.
5223 * cppmacro.c: Likewise.
5224 * crtstuff.c: Likewise.
5225 * cse.c: Likewise.
5226 * dwarf2out.c: Likewise.
5227 * expmed.c: Likewise.
5228 * expr.c: Likewise.
5229 * fold-const.c: Likewise.
5230 * function.c: Likewise.
5231 * gcse.c: Likewise.
5232 * genattrtab.c: Likewise.
5233 * ggc-page.c: Likewise.
5234 * integrate.c: Likewise.
5235 * libgcc2.c: Likewise.
5236 * loop.c: Likewise.
5237 * optabs.c: Likewise.
5238 * profile.c: Likewise.
5239 * protoize.c: Likewise.
5240 * real.c: Likewise.
5241 * recog.c: Likewise.
5242 * reload1.c: Likewise.
5243 * reload.c: Likewise.
5244 * reorg.c: Likewise.
5245 * resource.c: Likewise.
5246 * sched-rgn.c: Likewise.
5247 * sdbout.c: Likewise.
5248 * stmt.c: Likewise.
5249 * toplev.c: Likewise.
5250 * varasm.c: Likewise.
5251
1affb409
JJ
52522001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
5253
5254 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
5255 * Makefile.in (langhooks.o): Add dependencies.
5256
b999aaeb
JW
5257Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
5258
5259 * rs6000.c (rs6000_emit_load_toc_table): Don't
5260 strdup the toc label.
5261 (create_TOC_reference): Likewise.
5262
09eaf5a5
DS
52632001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
5264
5265 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
5266 version default.
5267
3da1eb0b
DS
52682001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
5269
2ea792c2 5270 * config/i386/i386.c (ix86_attribute_table): Correct
3da1eb0b
DS
5271 min_len, max_len fields for dllimport, dllexport and shared.
5272
df2a54e9
JM
52732001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
5274
5275 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
5276 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
5277 Consistently use "nonzero" instead of "non-zero".
5278
19eb1ad7
KH
52792001-10-09 Kazu Hirata <kazu@hxi.com>
5280
5281 * acconfig.h: Fix comment formatting.
5282 * c-dump.h: Likewise.
5283 * c-tree.h: Likewise.
5284 * conditions.h: Likewise.
5285 * expr.h: Likewise.
5286 * function.h: Likewise.
5287 * gthr.h: Likewise.
5288 * hwint.h: Likewise.
5289 * integrate.h: Likewise.
5290 * intl.h: Likewise.
5291 * loop.h: Likewise.
5292 * optabs.h: Likewise.
5293
2ba84f36
KH
52942001-10-09 Kazu Hirata <kazu@hxi.com>
5295
5296 * c-common.h: Fix comment formatting.
5297 * c-dump.c: Likewise.
5298 * cfg.c: Likewise.
5299 * diagnostic.h: Likewise.
5300 * except.c: Likewise.
5301 * gcc.h: Likewise.
5302 * gcov-io.h: Likewise.
5303 * genattrtab.c: Likewise.
5304 * output.h: Likewise.
5305 * predict.h: Likewise.
5306 * reload1.c: Likewise.
5307 * reload.h: Likewise.
5308 * resource.h: Likewise.
5309 * scan.h: Likewise.
5310 * system.h: Likewise.
5311 * tree.h: Likewise.
5312 * tree-inline.c: Likewise.
5313 * tsystem.h: Likewise.
5314 * varasm.c: Likewise.
5315 * xcoffout.h: Likewise.
5316
77332b4e
JM
53172001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
5318
5319 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
5320
9f2f9eb6
JM
53212001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
5322
5323 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
5324 config/i386/i386elf.h, config/i386/netbsd-elf.h,
5325 config/i386/netware.h, config/mcore/gfloat.h,
5326 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
5327 config/netware.h, gccbug.in: Update FSF address.
5328
4fe9b91c
KH
53292001-10-09 Kazu Hirata <kazu@hxi.com>
5330
5331 * c-common.c: Fix comment typos.
5332 * cfgrtl.c: Likewise.
5333 * collect2.c: Likewise.
5334 * cpplex.c: Likewise.
5335 * doloop.c: Likewise.
5336 * dwarf2out.c: Likewise.
5337 * dwarfout.c: Likewise.
5338 * expr.c: Likewise.
5339 * fold-const.c: Likewise.
5340 * gcc.c: Likewise.
5341 * gcov.c: Likewise.
5342 * gcse.c: Likewise.
5343 * global.c: Likewise.
5344 * ifcvt.c: Likewise.
5345 * loop.c: Likewise.
5346 * optabs.c: Likewise.
5347 * protoize.c: Likewise.
5348 * regclass.c: Likewise.
5349 * reorg.c: Likewise.
5350 * rtl.h: Likewise.
5351 * stmt.c: Likewise.
5352 * tree.h: Likewise.
5353 * doc/cpp.texi: Likewise.
5354 * doc/c-tree.texi: Likewise.
5355 * doc/extend.texi: Likewise.
5356 * doc/invoke.texi: Likewise.
5357 * doc/objc.texi: Likewise.
5358 * doc/tm.texi: Likewise.
5359
8d2134aa
RH
53602001-10-08 Richard Henderson <rth@redhat.com>
5361
5362 * varasm.c (set_named_section_flags): Initialize "declared".
5363
a8c01a59
RL
53642001-10-08 Robert Lipe <robertlipe@usa.net>
5365
8d2134aa 5366 * varasm.c (struct in_named_entry): Add declared.
a8c01a59
RL
5367 (named_section_first_declaration): New function.
5368 (default_elf_asm_named_section): Use it.
5369 * output.h (named_section_first_declaration): New.
5370
646ded90
RH
53712001-10-08 Richard Henderson <rth@redhat.com>
5372
592188a5
RH
5373 * i386.md (movsi_xor): Export.
5374 (setcc peep2): Use it when available; add an alternative to
646ded90
RH
5375 match zero_extendhisi2_and.
5376
e052f1a9
KG
53772001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5378
5379 * romp-protos.h (romp_initialize_trampoline): New function.
5380 * romp.c (romp_initialize_trampoline): Likewise.
5381 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
5382 romp_initialize_trampoline.
5383
da905677
KG
53842001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5385
5386 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
5387 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
5388 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
5389 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
5390
9d1e9f93
FS
53912001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5392
5393 * unroll.c (loop_iterations): Extend check for multiple back edges.
5394
69dcadff
AO
53952001-10-08 Alexandre Oliva <aoliva@redhat.com>
5396
5397 * langhooks.h: New file.
5398 * Makefile.in (OBJS): Added langhooks.o.
5399 (c-lang.o): Depend on langhooks.h.
5400 (c-common.o): Don't depend on tree-inline.h.
5401 (tree-inline.o): Depend on toplev.h.
5402 (langhooks.o): New rule.
5403 * c-common.c: Don't include tree-inline.h.
5404 (c_mark_lang_decl): Mark argument c as unused.
5405 (c_common_lang_init): Don't initialize hooks here.
5406 * c-lang.c: Include langhooks.h, then override some macros.
5407 (lang_hooks): Initialize with macros in langhooks.h.
5408 (c_init): Don't initialize hooks here.
5409 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
5410 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
5411 * tree-inline.c: Include toplev.h. Don't define hook variables.
5412 * tree-inline.h: Don't define hook types nor declare hook
5413 variables. Move macros to...
5414 * langhooks.c: ... new file, as functions. Adjust all callers.
5415
5a2ce672
JL
54162001-10-08 Jeffrey A Law <law@cygnus.com>
5417
5418 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
5419 purge_mem_unchanging_flag on all instructions, not just on those
5420 before NOTE_INSN_FUNCTION_BEG.
5421
bbb12d76
NB
54222001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
5423
5424 * cppmacro.c (_cpp_create_definition): Leave comments off.
5425
5426 * doc/cpp.texi: Update.
5427
3e96a2fd
DD
54282001-10-08 DJ Delorie <dj@redhat.com>
5429
5430 * c-decl.c (grokfield): Make sure the only unnamed fields
5431 we're allowing are either structs or unions.
5432 * doc/extend.texi: Add documentation for the unnamed field
5433 extension.
5434
67f28219
ZW
54352001-10-08 Zack Weinberg <zack@codesourcery.com>
5436
5437 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
2ea792c2 5438 * configure.in: Use it.
67f28219
ZW
5439 * configure: Regenerated.
5440 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
2ea792c2 5441 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
67f28219 5442
c0bfe993
NB
54432001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
5444
5445 * cppfiles.c (open_file): Don't mark zero-length files
5446 never-reread here. Don't output diagnostics here either.
5447 (stack_include_file): Mark them never-reread here.
5448 (_cpp_read_file): Update.
5449
d5d1b9e2
RH
54502001-10-08 Richard Henderson <rth@redhat.com>
5451
5452 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
5453
1f1b0541
RH
54542001-10-08 Richard Henderson <rth@redhat.com>
5455
5456 * expr.c (store_expr): When converting a CONST_INT for storage
5457 in a SUBREG, convert it to both SUBREG modes before stripping
5458 the SUBREG.
5459
6ba3b214
RH
54602001-10-08 Richard Henderson <rth@redhat.com>
5461
5462 * varasm.c (restore_varasm_status): New.
5463 * function.h: Declare it.
5464 * function.c (pop_function_context_from): Call it.
5465
31ed8fea
RH
54662001-10-08 Richard Henderson <rth@redhat.com>
5467
5468 * c-common.h (struct c_lang_decl): Add declared_inline.
5469 * c-tree.h (DECL_DECLARED_INLINE_P): New.
5470 * c-lang.c (c_disregard_inline_limits): Use it.
5471 * c-decl.c (duplicate_decls): Likewise.
5472 (pushdecl, redeclaration_error_message): Likewise.
5473 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
5474 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
5475 Set DECL_INLINE if -finline-functions.
5476 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
5477
d6da836d
NB
54782001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
5479
5480 * cppmacro.c (funlike_invocation_p): Move some logic to caller
5481 in enter_macro_context. Create a padding token in its own context
5482 if necessary when the search for '(' fails.
5483 (enter_macro_context): Update.
5484
cc712abf
JM
54852001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
5486
5487 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
5488 genmultilib, toplev.c: Fix spelling errors of "separate" as
5489 "seperate", and corresponding spelling errors of related words.
5490
8b60264b
KG
54912001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5492
5493 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
5494 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
5495 Likewise.
5496 * c-dump.c (dump_option_value_info): Likewise.
5497 * c-format.c (format_length_info, format_char_info,
5498 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
5499 * collect2.c (names): Likewise.
5500 * cppdefault.h (default_include): Likewise.
5501 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
5502 * flow.c (life_analysis): Likewise.
5503 * gcc.c (dir_separator_str, modify_target, option_map,
5504 target_option_translations, spec_list_1, extra_specs_1,
5505 init_spec): Likewise.
5506 * gcov.c (gcov_version_string): Likewise.
5507 * genattr.c (write_units): Likewise.
5508 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
5509 * gengenrtl.c (rtx_definition, defs): Likewise.
5510 * genrecog.c (pred_table): Likewise.
5511 * global.c (global_alloc): Likewise.
5512 * lcm.c (optimize_mode_switching): Likewise.
5513 * local-alloc.c (find_free_reg): Likewise.
5514 * params.h (param_info): Likewise.
5515 * predict.c (predictor_info): Likewise.
5516 * protoize.c (unexpansion_struct): Likewise.
5517 * real.c (bmask): Likewise.
5518 * recog.h (insn_operand_data, insn_data): Likewise.
5519 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
5520 * stmt.c (expand_nl_goto_receiver): Likewise.
5521 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
5522 target_switches, target_options): Likewise.
5523 * tradcif.y (token, tokentab2, yylex): Likewise.
5524 * tree.h (attribute_spec): Likewise.
2ea792c2 5525
8b60264b
KG
5526 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
5527 Likewise.
5528 * arc.c (arc_output_function_epilogue): Likewise.
5529 * arm.c (processors, all_cores, all_architectures,
5530 arm_override_options, isr_attribute_arg, isr_attribute_args,
5531 arm_isr_value): Likewise.
5532 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
5533 Likewise.
5534 * c4x.c (c4x_int_reglist): Likewise.
5535 * d30v.c (override_options): Likewise.
5536 * h8300.c (shift_insn): Likewise.
5537 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
5538 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
5539 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
5540 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
5541 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
5542 * i386.h (processor_costs, ix86_cost): Likewise.
5543 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
5544 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
5545 * m68k.c (codes_68881, codes_FPA): Likewise.
5546 * m88k.c (mode_from_align, max_from_align, all_from_align,
5547 best_from_align, m_options): Likewise.
5548 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
5549 * mcore.c (mode_from_align): Likewise.
5550 * mips/elf64.h (UNIQUE_SECTION): Likewise.
5551 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
5552 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
5553 * mips.h (mips_regno_to_class): Likewise.
5554 * ns32k.c (scales): Likewise.
5555 * pa.c (import_string, magic_milli): Likewise.
5556 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
5557 * sparc.c (leaf_reg_remap, sparc_override_options,
5558 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
5559 Likewise.
5560 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
5561
d1d18b46
DJ
55622001-10-07 Dale Johannesen <dalej@apple.com>
5563
5564 * reload1.c (reload_reg_free_p): Teach register interference
5565 checking that multiple output reloads are emitted in
5566 reverse order.
5567 reload1.c (reload_reg_reaches_end_p): Ditto.
5568 reload1.c (reloads_conflict): Ditto.
5569
59d42021
JM
55702001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
5571
5572 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
5573 NULL_TREE inside @code.
5574
96cd0e2d
JM
55752001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
5576
5577 * doc/gcc.texi: Document consistent style of "32-bit",
5578 "Objective-C", and "@code{NULL}".
5579
47ad4138
ZW
55802001-10-06 Zack Weinberg <zack@codesourcery.com>
5581
5582 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
5583 (cpp_token_len, cpp_spell_token, cpp_output_token,
5584 _cpp_equiv_tokens): Handle it.
5585 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
5586 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
5587 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
5588 error messages.
5589
7fb56130
RK
5590Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5591
5592 * gcc.c (default_compilers): Remove .ada.
5593
5b810d3c
NB
55942001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
5595
5596 * doc/cppinternals.texi: Update.
5597
d644be7b
ZW
55982001-10-06 Zack Weinberg <zack@codesourcery.com>
5599
5600 * gcc.c (main): Set this_file_error if the appropriate
5601 compiler for a language has not been installed.
5602
3afb4581 56032001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
2ea792c2 5604
592188a5 5605 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
3afb4581 5606
45b70dd4
JM
56072001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
5608
5609 * gccbug.in (CATEGORIES): Add ada.
5610
da6e254e
CM
56112001-10-05 Catherine Moore <clm@redhat.com>
5612
592188a5
RH
5613 * config/stormy16/stormy-abi: Document abi changes.
5614 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
5615 (ICALL_REGS): New register class.
5616 (NUM_ARGUMENT_REGISTERS): Now 6.
5617 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
5618 in registers.
5619 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
5620 * config/stormy16.md (call_internal, call_value_internal,
5621 indirect_jump): Use new 'z' constraint.
da6e254e 5622
9f1c2931
NB
56232001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
5624
5625 * doc/cppinternals.texi: Update.
5626
27d95cbe
RH
56272001-10-05 Richard Henderson <rth@redhat.com>
5628
5629 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
5630 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
5631 the gas section-name-as-label feature.
5632
591099cd
NB
56332001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
5634
5635 * doc/cppinternals.texi: Update.
5636
523fbd9d
RK
5637Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5638
5639 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
5640 to ensure valid SImode constants.
5641
d4e4baa9
AO
56422001-10-05 Alexandre Oliva <aoliva@redhat.com>
5643
4838c5ee
AO
5644 * Makefile.in (c-decl.o): Depend on tree-inline.h.
5645 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
5646 * c-decl.c: Include tree-inline.h.
5647 (c_expand_body): Call optimize_inline_calls. Determine whether
5648 a function is inlinable upfront, and only clear
5649 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
5650 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
5651 (c_disregard_inline_limits): New function.
5652 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
5653 (c_post_options): Enable tree inlining if inlining is enabled.
5654 Don't inline trees when instrumenting functions.
5655 (c_init): Initialize lang_disregard_inline_limits and
5656 lang_cannot_inline_tree_fn.
5657 * tree-inline.c (initialize_inlined_parameters): Handle calls
5658 with fewer arguments than declared parameters, and fewer
5659 parameters than passed arguments. Don't assume value is a
5660 DECL.
5661 (declare_return_variable): Convert return value back to the
5662 original type, if it was promoted.
5663 (tree_inlinable_function_p): New function.
5664 (inlinable_function_p): Don't look at DECL_INLINE if we're
5665 inlining all functions. Make it work with a NULL id.
5666 Re-check DECL_UNINLINABLE after language-specific checks.
4838c5ee 5667 * tree-inline.h (tree_inlinable_function_p): Declare it.
6afed784
AO
5668 * integrate.c (save_for_inline): Don't bother to prepare argvec
5669 when not inlining.
4838c5ee
AO
5670 * cse.c (check_for_label_ref): Don't check deleted labels.
5671
d4e4baa9
AO
5672 * Makefile.in (tree-inline.o): Depend on newly-included headers.
5673 * tree-inline.c: Include headers needed for the functions moved in.
5674 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
5675 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
5676 (copy_body, initialize_inlined_parameters): Likewise.
5677 (declare_return_variable, inlinable_function_p): Likewise.
5678 (expand_call_inline, expand_calls_inline): Likewise.
5679 (optimize_inline_calls, clone_body): Likewise.
5680 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
5681 (copy_tree_r, remap_save_expr): Likewise.
5682
588d3ade
AO
56832001-10-04 Alexandre Oliva <aoliva@redhat.com>
5684
5685 * Makefile.in (OBJS): Added tree-inline.o.
5686 (c-common.o): Depend on tree-inline.h.
5687 (tree-inline.o): New target.
5688 * c-common.c: Include tree-inline.h.
5689 (c_mark_lang_decl): Don't mark saved_tree.
5690 (c_common_lang_init): Set lang_anon_aggr_type_p.
5691 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
5692 (struct c_lang_decl): Moved saved_tree to tree_decl.
5693 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
5694 * integrate.h (function_attribute_inlinable_p): Declare it.
5695 * integrate.c (function_attribute_inlinable_p): Export it.
5696 * tree-inline.c: New file. Define variables declared in...
5697 * tree-inline.h: New file. Declare functions to be moved to
5698 tree-inline.c. Define macros and declare types and hooks for
5699 language-specific tree inlining.
5700 (flag_inline_trees): Moved definition from cp/decl2.c.
5701 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
5702 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
5703 (struct tree_decl): Moved saved_tree from c_lang_decl and
5704 inlined_fns from C++'s lang_decl.
5705
d6c0ca38
LR
57062001-10-04 Loren J. Rittle <ljrittle@acm.org>
5707
5708 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
5709 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
5710
d3d43aab
NB
57112001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
5712
5713 * doc/cppinternals.texi: Update.
5714
3054eeed
EC
57152001-10-04 Eric Christopher <echristo@redhat.com>
5716
5717 * config/mips/mips.c (init_cumulative_args): Remember to set
5718 cum->prototype.
5719 * config.gcc: Redo linux configuration. Add target_cpu_default
5720 of soft-float to all mipsisa32 combinations and tx39.
5721 * config/mips/linux.h: Remove include of mips.h.
5722
8276ed21
LR
57232001-10-03 Loren J. Rittle <ljrittle@acm.org>
5724
5725 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
5726 HOST_LDFLAGS and HOST_CPPFLAGS.
5727
8607f1bc
ZL
57282001-10-03 Ziemowit Laski <zlaski@apple.com>
5729
5730 * c-parse.in (objc_inherit_code, objc_pq_context,
5731 objc_public_flag): Make static.
5732 (objc_interface_context, objc_implementation_context,
5733 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
5734 global tree array in objc/objc-act.[ch].
5735 (methoddef): Remove unnecessary code.
5736
5737 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
5738 Hoist struct definitions to objc-act.h.
5739 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
5740 cat_count): Place declaration in objc-act.h.
5741 (objc_tree_index): Move enumeration to objc-act.h.
5742 (objc_global_trees): Place declaration and macro accessors in
5743 objc-act.h.
5744 (implementation_context): Remove duplicate; use
5745 objc_implementation_context instead:
5746 (method_context): Remove duplicate; use objc_method_context
5747 instead.
5748 (objc_ellipsis_node, objc_method_prototype_template,
5749 implemented_classes, function_type): Move global vars to
5750 objc_global_trees.
5751 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
5752 (build_message_expr): Move actual construction of ObjC message
5753 send nodes to finish_message_expr.
5754 (finish_message_expr): New routine, contains code formerly in
5755 build_message_expr.
5756 * objc/objc-act.h (finish_message_expr): New prototype.
5757 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
5758 declarations; these vars are now part of objc_global_trees.
5759 (objc_tree_index, objc_global_trees): Move definitions from
5760 objc-act.c.
5761 * objc/objc-tree.def: Update copyright info.
5762
508fc646
JW
5763Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
5764
5765 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
5766 op is NULL.
5767 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
5768 only if TARGET_ARCH64.
5769
80ebf43e
BS
57702001-10-02 Bernd Schmidt <bernds@redhat.com>
5771
5772 * doc/extend.texi: Fix some problems with previous checkin.
5773 * doc/invoke.texi: Likewise.
5774
644eddaa
NB
57752001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
5776
5777 * cpphash.h: Update comments.
5778 (cpp_context): Update.
5779 (spec_nodes): Remove n__Pragma.
5780 * cppinit.c (cpp_create_reader): Update.
5781 (builtin_array): Add _Pragma.
5782 * cpplib.h: Update comments.
5783 (NODE_DISABLED, BT_PRAGMA): New.
5784 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
5785 * cppmacro.c (struct cpp_macro): Remove disabled.
5786 (builtin_macro): Return int, handle _Pragma, push the new token
5787 on the context stack.
5788 (funlike_invocation_p): Unconstify, update.
5789 (enter_macro_context): Handle builtins here.
5790 (replace_args, push_token_context, push_ptoken_context):
5791 Update for prototype changes.
5792 (_cpp_pop_context): Update.
5793 (cpp_get_token): Don't handle buitins, nor _Pragma here.
5794 (cpp_sys_macro_p): Update.
5795 (_cpp_free_definition): Clear disabled flag.
5796 (_cpp_create_definition): Upate.
5797 * cppmain.c: Update comments.
5798
14f73b5a 5799Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
2ea792c2
JJ
5800 Andreas Jaeger <aj@suse.de>,
5801 Jan Hubicka <jh@suse.cz>
14f73b5a
JH
5802
5803 * doc/invoke.texi (i386 Options): Document x86-64 options.
5804 (i386 and x86-64 Options): Rename i386 options section.
5805
5806 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
5807 (TARGET_SWITCHES): Add -munwind-info.
5808 (MASK_NO_UNWIND_INFO): New.
5809 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
5810 biarch compilation.
5811 (ASM_OUTPUT_DOUBLE_INT): New.
5812
5813 * config/i386/linux64.h: New spec file for Linux x86-64 support.
5814 * config.gcc: Fix tm_file settings for x86-64.
5815 * config/i386/x86-64.h: New file with OS independent x86-64
5816 definitions.
5817 * config/i386/biarch64.h: New file used to configure compiler
5818 to biarch/64bit compilation.
5819
5820 * config/i386/i386.c: (override_options): Set flags default
5821 for 64bit compilation.
5822
5823Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
5824
5825 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3054eeed 5826 (ix86_expand_int_movcc): Optimize DImode conditional moves with
14f73b5a
JH
5827 constants on x86_64.
5828 (ix86_attr_length_immediate_default): Support MODE_DI.
5829 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
5830 condition.
5831 (indirect_jump, tablejump): Turn into expander.
5832
80a497e4
JM
58332001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
5834
5835 * c-common.c (c_format_attribute_table): Make format and
5836 format_arg attributes apply to function types rather than to
5837 decls.
5838 (is_valid_printf_arglist): Construct an attribute list and pass
5839 that to check_function_format rather than a name.
5840 * c-common.h (check_function_format): Adjust prototype.
5841 * c-decl.c (duplicate_decls): Preserve attributes from type of
5842 built-in decl when allowing for harmless conflict in types.
5843 * c-format.c (record_function_format,
5844 record_international_format, function_format_list,
5845 international_format_info, international_format_list): Remove.
5846 (function_format_info): Remove next, name and assembler_name.
5847 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
5848 (decode_format_attr): New.
5849 (handle_format_attribute): Handle receiving a type rather than a
5850 decl. Call decode_format_attr. Store format information in a
5851 function_format_info.
5852 (handle_format_arg_attribute): Correct comment. Handle receiving
5853 a type rather than a decl. Use unsigned HOST_WIDE_INT for
5854 arg_num.
5855 (check_format_info_recurse, check_format_info_main): Take argument
5856 numbers as unsigned HOST_WIDE_INT.
5857 (check_function_format): Take a list of attributes from the
5858 function type rather than a name or assembler name. Check for
5859 format attributes in that list and the attributes on the type of
5860 the current function rather than looking through
5861 function_format_list.
5862 (check_format_info): Use unsigned HOST_WIDE_INT for argument
5863 numbers.
5864 (check_format_info_recurse): Take format_arg attributes from the
5865 type of the function calls rather than using
5866 international_format_list. Allow for multiple format_arg
5867 attributes.
5868 * c-typeck.c (build_function_call): Pass type attributes to
5869 check_function_format rather than name or assembler name. Don't
5870 require there to be a name or assembler name to check formats.
5871
6431177a
JM
58722001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
5873
5874 * attribs.c (decl_attributes): Possibly call
5875 insert_default_attributes to insert default attributes on
5876 functions in a lazy manner.
5877 * builtin-attrs.def: New file; define the default format and
5878 format_arg attributes.
5879 * c-common.c (c_format_attribute_table): Move to earlier in the
5880 file.
5881 (c_common_nodes_and_builtins): Initialize format_attribute_table.
5882 (enum built_in_attribute, built_in_attributes,
5883 c_attrs_initialized, c_init_attributes,
5884 c_common_insert_default_attributes): New.
5885 (c_common_lang_init): Don't initialize format_attribute_table. Do
5886 call c_init_attributes.
5887 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
5888 * c-common.h (init_function_format_info): Don't declare.
5889 (c_common_insert_default_attributes): Declare.
5890 * c-decl.c (implicitly_declare, builtin_function): Call
5891 decl_attributes.
5892 (init_decl_processing): Don't call init_function_format_info.
5893 (insert_default_attributes): New.
5894 * c-format.c (handle_format_attribute,
5895 handle_format_arg_attribute): Be quiet about inappropriate
5896 declaration when applying default attributes.
5897 (init_function_format_info): Remove.
5898 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
5899 (insert_default_attributes): Declare.
5900
ed0ea560
JM
59012001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
5902
5903 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
5904
357e3f3d
JW
59052001-10-01 Jim Wilson <wilson@redhat.com>
5906
5907 * sched-deps.c (add_dependence): When elide conditional dependence,
5908 check that insn doesn't modify cond2.
5909
ed947a96
DJ
59102001-10-01 Dale Johannesen <dalej@apple.com>
5911
5912 * config/rs6000/rs6000.h (enum processor_type): Add support
5913 for 7400 (G4) and 7450.
5914 (RTX_COSTS): Ditto.
5915 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
5916 (rs6000_issue_rate): Ditto.
5917 (rs6000_adjust_cost): Fix cycle counts for compares.
5918 (debug_stack_info): Fix an obvious typo.
5919 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
5920 * doc/invoke.texi: Document.
5921 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
5922 for Darwin.
5923 (PROCESSOR_DEFAULT): Ditto.
5924
d93f142f
LR
59252001-10-01 Loren J. Rittle <ljrittle@acm.org>
5926
5927 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
5928 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
5929 later recursive make invocation.
5930
11e9ecc5
HB
59312001-10-01 Hans Boehm <boehm@acm.org>
5932
5933 * optabs.c (emit_libcall_block): When using non-call exceptions,
5934 don't add REG_LIBCALL reg notes to trapping calls.
5935
607a6500
DB
59362001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
5937
5938 * flow.c (propagate_block_delete_libcall): Remove unused first arg
5939 (propagate_one_insn): Update for above change
5940
2adaabc6
DB
59412001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
5942
5943 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
5944 _Unwind_GetTextRelBase): Argument is unused.
5945
f47e9b4e
RK
5946Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5947
5948 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
5949 Loop through NOPs, placeholders, and components.
5950 Don't go through NOPs if change mode.
5951 (record_alias_subset): Do nothing if SUBSET and SET are the same.
5952 * emit-rtl.c (set_mem_alias_set): Enable check.
5953 * expr.c (find_placeholder): New function.
5954 (expand_expr, case PLACEHOLDER_EXPR): Use it.
5955 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
5956 to modify it and avoid unneeded copies.
5957 * expr.h (expand_expr): Always define.
5958 (find_placeholder): New declaration.
5959
d5d5ec45
SC
59602001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5961
5962 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
5963 operand 2 is the stack pointer.
5964 ("addr-peephole"): Fix address computation peephole when operand 2
5965 is the stack pointer.
5966
0692acba
RK
5967Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5968
5969 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
5970 (ix86_setup_incoming_varargs): Likewise.
5971
55b3d665
JM
59722001-10-01 Jason Merrill <jason_merrill@redhat.com>
5973
5974 * stor-layout.c (layout_type): Don't complain about too-large
5975 array here.
5976
173b24b9
RK
5977Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5978
5979 * function.c (keep_stack_depressed): Don't use delete_insn.
5980
5981 * expr.h (set_mem_alias_set): Move decl to here.
5982 * rtl.h (mem_attrs): New typedef and struct.
5983 (union rtunion_def): Add field for mem_attrs.
5984 (X0MEMATTR, MEM_ATTRS): New macros.
5985 (MEM_ALIAS_SET): Use MEM_ATTRS.
5986 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
5987 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
5988 (set_mem_alias_set): Delete decl from here.
3054eeed 5989
173b24b9
RK
5990 * alias.c (set_mem_alias_set): Delete from here.
5991 * emit-rtl.c (mem_attrs_htab): New variable.
5992 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
5993 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
5994 (mem_attrs_mark, get_mem_attrs): Likewise.
5995 (gen_rtx_MEM): Clear MEM_ATTRS.
5996 (set_mem_attributes): Move to here.
5997 (set_mem_alias_set): Likewise, and call get_mem_attrs.
5998 (init_emit_once): const_int_htab now deletable htab.
5999 Initialize mem_attrs_htab.
6000 * explow.c (set_mem_attributes): Delete from here.
6001 * function.c (put_var_into_stack): Clear MEM_ATTRS.
6002 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
6003 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
6004 * reload1.c (reload): Rework changing REG to MEM.
6005
e9449401
L
60062001-09-30 H.J. Lu <hjl@gnu.org>
6007
6008 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
6009 * config.in: Rebuild.
6010
c9b9c05c
SC
60112001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6012
6013 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
6014 ("tsthi_1"): Avoid allocation in register y.
6015 ("*movqi_68hc12"): Reorganize and fix constraints.
6016 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
6017 ("addqi3"): Likewise.
6018 ("addhi3"): Fix constraints.
6019 ("*logicalhi3_zexthi"): Disparage soft registers.
6020
713b2058
SC
60212001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6022
6023 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
6024 to tmp reg.
6025
b5b4c48c
SC
60262001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6027
6028 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
6029 that we use setjmp/longjmp exceptions.
6030
8c3b2693
NB
60312001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
6032
6033 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
6034 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
6035 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
6036 _cpp_pool_alloc, _cpp_next_chunk): Remove.
6037 (_cpp_extend_buff, BUFF_ROOM): Update.
6038 (_cpp_append_extend_buff): New.
6039 (struct cpp_reader): Remove macro_pool, add a_buff.
6040 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
6041 macro_pool.
6042 (cpp_destroy): Free a_buff instead of macro_pool.
6043 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
6044 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
6045 _cpp_pool_alloc, ): Remove.
6046 (parse_number, parse_string): Update use of _cpp_extend_buff.
6047 (_cpp_extend_buff): Update.
6048 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
6049 * cpplib.c (glue_header_name, parse_answer):
6050 Update use of _cpp_extend_buff.
6051 (cpp_register_pragma, cpp_register_pragma_space): Use
6052 _cpp_aligned_alloc.
6053 (do_assert, do_unassert): Check for EOL, update.
6054 * cppmacro.c (stringify_arg, collect_args): Update to use
6055 _cpp_extend_buff and _cpp_append_extend_buff.
6056 (save_parameter, parse_params, alloc_expansion_token,
6057 _cpp_create_definition): Rework memory management.
6058
ed9fca3f
AP
60592001-09-29 Andris Pavenis <pavenis@lanet.lv>
6060
6061 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
6062 update md_exec_prefix.
6063 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
6064 to string constant.
6065
ba956982
UW
60662001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
6067
6068 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
6069 (SELECT_CC_MODE): Use s390_select_ccmode.
6070 * config/s390/s390-protos.h (s390_select_ccmode): Add.
6071 * config/s390/s390.c (s390_select_ccmode): New.
6072 (s390_match_ccmode): Add CCLmode.
6073 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
6074 (output_branch_condition, output_inverse_branch_condition): Removed.
6075 (print_operand): Use s390_branch_condition_mnemonic.
6076 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
6077 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
6078 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
6079
6080 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
6081 when converting conditional branches to far branches.
6082 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
6083 cmpint_di): Use CCSmode instead of CCUmode.
6084
6085 * config/s390/s390.c (legitimate_la_operand_p): New.
6086 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
6087 * config/s390/s390.md (movsi): Convert load address patterns to
6088 arithmetic operations when necessary.
6089 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
6090 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
6091 (*do_la_reg_0): Don't use before reload.
6092
6093 * config/s390/s390.c (legitimize_address): Make more efficient
6094 use of two-register addressing mode.
6095
6096 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
6097 with -mno-backchain in some corner cases.
6098
6099 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
6100
3d17d93d
AO
61012001-09-29 Alexandre Oliva <aoliva@redhat.com>
6102
6103 * reload.c (find_reloads): Mark new USE insns with QImode.
6104 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
6105 find_reloads_subreg_address): Likewise.
6106 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
6107 encountered.
6108 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
6109 CLOBBERs.
6110 (reload): Make sure there are no USEs with mode other than
6111 VOIDmode. At the end, remove those marked with QImode.
6112
793e9558
PB
61132001-09-29 Per Bothner <per@bothner.com>
6114
6115 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
6116 * Makefile.in (includedir): Rename to local_includedir.
6117 (includedir): Define as $(prefix)/include.
6118 * config.in (PREFIX_INCLUDE_DIR): New variable.
6119 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
6120
1255c85c
BS
61212001-09-29 Bernd Schmidt <bernds@redhat.com>
6122
6123 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
6124 storehps builtins.
6125 * doc/extend.texi (Vector Extensions): New node.
6126 * doc/invoke.texi (Machine Dependent Options): Add documentation for
592188a5 6127 i386 -mmmx, -msse, -m3dnow.
1255c85c 6128
86be733d
JH
6129Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
6130
6131 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
6132
8d2cef84
HPN
61332001-09-29 Hans-Peter Nilsson <hp@axis.com>
6134
6dee7384
HPN
6135 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
6136
8d2cef84
HPN
6137 * doc/invoke.texi (Optimize Options): Delete spurious @table.
6138
a3623c48
RH
61392001-09-28 Richard Henderson <rth@redhat.com>
6140
410ad077
RH
6141 * varasm.c (assemble_integer): Bound alignment check by
6142 BIGGEST_ALIGNMENT.
6143
a3623c48
RH
6144 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
6145
5bc10877
RO
61462001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6147
6148 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
6149
47f339cf
BS
61502001-09-25 Bernd Schmidt <bernds@redhat.com>
6151
6152 Mostly from Graham Stott <grahams@redhat.com>
6153 * c-common.c (type_for_mode): Add support for V2SFmode.
6154 * tree.c (build_common_tree_nodes_2): Likewise.
6155 * tree.h (enum tree_index, global_trees): Likewise.
6156 * config/i386/i386.c (x86_3dnow_a): New variable.
6157 (override_options): Support 3Dnow extensions.
6158 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
6159 Athlon's version of 3Dnow.
6160 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
6161 (ix86_expand_builtin): Handle them.
6162 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
6163 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
6164 TARGET_3DNOW_A): New macros.
6165 (TARGET_SWITCHES): Add 3Dnow switches.
6166 (VALID_MMX_REG_MODE_3DNOW): New macro.
6167 (VECTOR_MODE_SUPPORTED_P): Use it.
6168 (enum ix86_builtins): Add entries for 3Dnow builtins.
6169 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
6170 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
6171 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
6172 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
6173 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
6174 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
6175 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
6176 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
6177 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
6178 sfence_insn, prefetch): Make these available if TARGET_SSE or
6179 TARGET_3DNOW_A.
3054eeed 6180
ad919812
JH
6181Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
6182
6183 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
6184 ix86_va_start, ix86_build_va_list): Declare.
6185 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
6186 ix86_va_start, ix86_build_va_list): New global functions.
6187 * i386.md (sse_prologue_save_insn): New insn.
6188 (sse_prologue_save): New expander.
6189 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
6190 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
6191
6142088c
NB
61922001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
6193
6194 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
6195 Use size_t everywhere, make definitions consistent with
3054eeed 6196 prototypes.
6142088c 6197
49ce134f
JH
6198Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
6199
6200 * gcse.c (replace_store_insn): Use delete_insn.
6201 * loop.c (move_movables): Likewise; avoid delete_insn
6202 from clobbering notes moved elsewhere.
6203 (check_dbra_loop): Use delete_insn.
6204 * ssa.c (convert_from_ssa): Likewise.
6205 * cse.c (cse_insn): Use delete_insn.
6206
ece54d54
NB
62072001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
6208
6209 * cpphash.h (struct cpp_buff): Make unsigned.
6210 (_cpp_get_buff): Take length of size_t.
6211 (_cpp_unaligned_alloc): New.
6212 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
6213 (struct cpp_reader): Remove ident_pool. Add u_buff.
6214 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
6215 (cpp_destroy): Destroy u_buff, not ident_pool.
6216 * cpplex.c (parse_number, parse_string, save_comment,
6217 cpp_token_as_text): Update to use the unaligned buffer.
6218 (new_buff): Make unsigned.
6219 (_cpp_unaligned_alloc): New.
6220 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
6221 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
6222 Similarly.
6223 (collect_args): Make unsigned.
6224
3b681e9d
ZW
62252001-09-27 Zack Weinberg <zack@codesourcery.com>
6226
6227 * cpplex.c (cpp_output_token): Use a putc loop for
6228 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
6229
6230 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
6231 * configure, config.in: Regenerate.
6232 * system.h: Replace fwrite and fprintf with their unlocked
6233 variants if available.
6234
b97d4c0b
RH
62352001-09-27 Richard Henderson <rth@redhat.com>
6236
6237 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
6238 in favour of .eh_frame.
6239
e9cf9523
AH
62402001-09-27 Aldy Hernandez <aldyh@redhat.com>
6241
3b681e9d 6242 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
e9cf9523
AH
6243 to macros.
6244 (LIBCALL_VALUE): Likewise.
6245
c9e7a609
NB
62462001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
6247
6248 * cpphash.h: Update comment.
6249 * cpplex.c: Update comments.
6250 (_cpp_can_paste): Remove.
6251 * cpplib.h (_cpp_can_paste): Remove.
6252 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
6253 lexer rather than _cpp_can_paste.
6254
4cf817a7
NB
62552001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
6256
6257 * doc/cppinternals.texi: Update.
6258
1e013d2e
NB
62592001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
6260
6261 * cpphash.h (struct cpp_pool): Remove locks and locked.
6262 (struct cpp_context): Add member buff.
6263 (struct cpp_reader): Remove member argument_pool.
6264 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
6265 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
6266 * cpplex.c (chunk_suitable): Remove pool argument.
6267 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
6268 (new_buff, _cpp_extend_buff): Update.
6269 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
6270 which buffer is returned.
6271 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
6272 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
6273 * cppmacro.c (lock_pools, unlock_pools): Remove.
6274 (push_ptoken_context): Take a _cpp_buff.
6275 (enter_macro_context): Pool locking removed.
6276 (replace_args): Use a _cpp_buff for the replacement list with
6277 arguments replaced.
6278 (push_token_context): Clear buff.
6279 (expand_arg): Use _cpp_pop_context.
6280 (_cpp_pop_context): Free a context's buffer, if any.
6281
a63f73f8
DD
62822001-09-26 DJ Delorie <dj@redhat.com>
6283
6284 * c-typeck.c (digest_init): Check for sizeless arrays.
6285
9c2f7166
RH
62862001-09-26 Richard Henderson <rth@redhat.com>
6287
6288 * optabs.c (init_one_libfunc): Create a dummy function type
6289 instead of using error_mark_node.
6290
b8af0ca5
NB
62912001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
6292
6293 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
6294 _cpp_extend_buff, _cpp_free_buff): New.
6295 (struct cpp_reader): New member free_buffs.
6296 * cppinit.c (cpp_destroy): Free buffers.
6297 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
6298 _cpp_extend_buff, _cpp_free_buff): New.
6299 * cpplib.h (struct cpp_options): Remove unused member.
6300 * cppmacro.c (collect_args): New. Combines the old parse_arg
6301 and parse_args. Use _cpp_buff for memory allocation.
6302 (funlike_invocation_p, replace_args): Update.
6303
2e106602
JH
6304Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
6305
6306 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
6307
fd2c57a9
AH
63082001-09-25 Andrew Haley <aph@cambridge.redhat.com>
6309
6310 * except.c (sjlj_mark_call_sites): Change address inside sequence.
6311
ee3d5b8e
AH
63122001-09-24 Andrew Haley <aph@cambridge.redhat.com>
6313
6314 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
6315 glibc.
6316
b499d9ab
JJ
63172001-09-25 Janis Johnson <janis187@us.ibm.com>
6318 Jim Wilson <wilson@redhat.com>
6319
6320 * doc/install.texi (Specific, ia64-*-linux): Document.
6321
ca6c03ca
JH
6322Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
6323
6324 * Makefile.in (cfgrtl.o): Add.
6325 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
6326 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
6327 free_aux_for_edge): Declare.
6328 * cfg.c
6329 (HAVE_return): Undefine.
6330 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
6331 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
6332 free_aux_for_edge): New global functions.
6333 (first_delete_block): New static variable.
6334 (init_flow): Clear first_delete_block.
6335 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
6336 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
6337 try_redirect_by_replacing_jump, last_loop_beg_note,
6338 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
6339 delete_insn, delete_insn_chain, create_basic_block_structure,
6340 create_basic_block, flow_delete_block, compute_bb_for_insn,
6341 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
6342 set_block_for_new_insns, split_block, merge_blocks_nomove,
6343 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
6344 redirect_edge_and_branch, force_nonfallthru_and_redirect,
6345 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
6346 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
6347 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
6348 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
6349 purge_all_dead_edges): Move to ....
6350 * cfgrtl.c: New file; .... Here.
6351
6352 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
6353 (reroder_basic_block): Use alloc_aux_for_blocks.
6354 * predict.c (estimate_bb_frequencies): Likewise; use
6355 alloc_aux_for_edges.
6356 * profile.c (compute_branch_probabilities): Likewise.
6357 (branch_prob): Likewise.
6358 * reg-stack.c (reg_to_stack): Likewise.
6359
6360 * emit-rtl.c (emit_insns_after): Never return NULL.
6361
6362 * basic-block.h (set_block_for_new_insns): Delete.
6363 * cfgrtl.c (set_block_for_new_insns): Delete.
6364
6365 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
6366 calls when crossjumping.
6367
6368 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
6369 * unroll.c (copy_loop_body): Use delete_insn.
6370
6371 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
6372 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
6373 keep_stack_depressed): Likewise.
6374 * gcse.c (cprop_cc0_jump): Likewise.
6375 * local-alloc.c (update_equiv_regs): Likewise.
6376 * loop.c (scan_loop, loop_delete_insns): Likewise.
6377 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
6378 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
6379 delete_output_reload, delete_address_reloads_1,
6380 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
6381 Likewise.
6382 * sibcall.c (replace_call_placeholder): Likewise.
6383 * cse.c (cse_insn): Likewise.
6384
eeb06b1b
BS
63852001-09-25 Bernd Schmidt <bernds@redhat.com>
6386
6387 From Graham Stott <grahams@redhat.com>
6388 (def_builtin): Only define builtins appropriate for target_flags. All
6389 callers changed.
6390 (builtin_decsription): Add new field mask which is used to determine
6391 when to define the builtin via the macro def_builtin.
6392
6393 (bdesc_comi): Initialise new mask fields.
6394 (bdesc_2srg): Likewise.
6395 (bdesc_1arg): Likewise.
6396
3b681e9d 6397 * config/i386/i386.c (ix86_init_builtins): Correct return type
21e1b5f1
BS
6398 building v4hi_ftype_v4hi_int_int tree node.
6399 (ix86_expand_sse_comi): Fix typo swapping operands.
6400 Don't swap comparision condition, it is already swapped.
6401 (ix86_expand_sse_compare): Before swapping operands
6402 move operand 1 into new rtx and not the target rtx.
6403 Don't swap comparison condition, it is already swapped.
6404 Always check whether we need to create a new TARGET.
6405
6406 * config/i386/i386.md: (sse_comi) Fix typos.
6407 (sse_ucomi): Likewise.
6408 (cvtss2si): Fix operand 0 contraint.
6409 (cvttss2si): Likewise.
6410 (sse_unpckhps): Fix mode for operand 2.
6411 (sse_unpcklps): Likewise.
6412
87f8b15f
GS
64132001-09-25 Graham Stott <grahams@redhat.com>
6414
6415 * sibcall.c (skip_copy_to_return_value): Tighten return value
6416 copy check.
6417
6a40a9d6
DE
64182001-09-24 David Edelsohn <edelsohn@gnu.org>
6419
6420 * rs6000.c (lwa_operand): Address must be word aligned.
6421
6abba055
RK
6422Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6423
6424 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
6425 number has been set.
6426 (type_hash_mark): Mark type itself.
6427
4ed5bcfb
NB
64282001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
6429
6430 * c-lex.c (cb_def_pragma): Update.
6431 (c_lex): Update, and skip padding.
6432 * cppexp.c (lex, parse_defined): Update, remove unused variable.
6433 * cpphash.h (struct toklist): Delete.
6434 (union utoken): New.
6435 (struct cpp_context): Update.
6436 (struct cpp_reader): New members eof, avoid_paste.
6437 (_cpp_temp_token): New.
6438 * cppinit.c (cpp_create_reader): Update.
6439 * cpplex.c (_cpp_temp_token): New.
6440 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
6441 (cpp_output_token): Don't print leading whitespace.
6442 (cpp_output_line): Update.
6443 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
6444 do_include_common, do_line, do_ident, do_pragma,
6445 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
6446 parse_assertion): Update.
6447 (get_token_no_padding): New.
6448 * cpplib.h (CPP_PADDING): New.
6449 (AVOID_LPASTE): Delete.
6450 (struct cpp_token): New union member source.
6451 (cpp_get_token): Update.
6452 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
6453 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
6454 replace_args, quote_string, stringify_arg, parse_arg, next_context,
6455 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
6456 _cpp_backup_tokens, _cpp_create_definition): Update.
6457 (push_arg_context): Delete.
6458 (padding_token, push_token_context, push_ptoken_context): New.
6459 (make_string_token, make_number_token): Update, rename.
6460 (cpp_get_token): Update to handle tokens as pointers to const,
6461 and insert padding appropriately.
6462 * cppmain.c (struct printer): New member prev.
6463 (check_multiline_token): Constify.
6464 (do_preprocessing, cb_line_change): Update.
6465 (scan_translation_unit): Update to handle spacing.
6466 * scan-decls.c (get_a_token): New.
6467 (skip_to_closing_brace, scan_decls): Update.
6468 * fix-header.c (read_scan_file): Update.
6469
6470 * doc/cpp.texi: Update.
6471
ad43d46f
KG
64722001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6473
6474 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
6475 leak by passing malloc'ed pointer to reconcat, not concat.
6476
b6fc7110
DD
64772001-09-24 DJ Delorie <dj@redhat.com>
6478
6479 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
6480
967bd823
UW
64812001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
6482
6483 * flow.c (delete_dead_jumptables): Delete jumptable if the only
6484 reference is from the literal pool.
6485
b9da07da
JJ
64862001-09-24 Janis Johnson <janis187@us.ibm.com>
6487
6488 * doc/install.texi (Final install): Request additional information
3b681e9d 6489 in mail about successful builds.
b9da07da 6490
cf3735b8
JDA
64912001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
6492
6493 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
6494 initial value of return pointer register instead of value in frame-20.
6495 Revise comments.
6496
f3403757
JDA
64972001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
6498
6499 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
6500 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
6501 the libcall if there isn't a referenced identifier for the symbol.
6502
8e1494b7
JDA
65032001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
6504
6505 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
6506 non 64-bit machines. Use these as a plabel for the trampoline.
6507 (TRAMPOLINE_SIZE): Adjust size for new words.
6508 (INITIALIZE_TRAMPOLINE): Initialize new words.
6509 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
6510 pointer to the plabel in the trampoline.
6511
b848dc65
JDA
65122001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
6513
6514 * pa.c (function_arg): Pass floating arguments in both general and
6515 floating registers in indirect (dynamic) calls when generating code
6516 for the 32 bit ABI and the HP assembler.
6517
250d5688
RO
65182001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6519
6520 * doc/install.texi: Markup fixes.
6521 Use Solaris 2, SunOS 4 as appropriate.
6522 (Specific, *-*-solaris2*): Explain this.
6523 Unconditionally warn against /usr/ucb tools.
6524 Remove Sun as warning, obsolete.
6525 Move X11 header bug workaround here, update patches.
6526 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
6527 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
6528
749ced52
ZW
65292001-09-23 Zack Weinberg <zack@codesourcery.com>
6530
6531 * errors.h (warning, error, fatal, internal_error): Don't mark
6532 with ATTRIBUTE_PRINTF_n.
6533 * toplev.h (internal_error, fatal_io_error, warning, error,
6534 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
6535 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
6536 Likewise.
6537
a0fd557a
RK
6538Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6539
7a80cf9a
RK
6540 * function.c (pop_function_context_from): var_refs_queue
6541 and temp slots now in GC memory.
6542 (mark_function_status, free_after_compilation): Likewise;
6543 also struct function now in GC memory.
6544 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
6545 (combine_temp_slots): Likewise.
6546 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
6547 (prepare_function_start): Use GC memory for struct function.
6548 (mark_temp_slot): Deleted.
6549 (gcc_mark_struct_function): struct function now in GC memory.
6550
0629440f
RK
6551 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
6552 code for division, not modulus.
6553
a0fd557a
RK
6554 * rtl.def (MEM): Remove obsolete part of comment.
6555
040cc071
JM
65562001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
6557
6558 * c-format.c (init_function_format_info): Check __builtin_printf
6559 and __builtin_fprintf even if -ffreestanding. Check C99 functions
6560 in gnu89 mode.
6561
bb9f8221
RK
6562Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6563
0c96e965
RK
6564 * c-common.c (format_attribute_table): Remove decl.
6565 * tree.h (format_attribute_table, lang_attribute_table): New decls.
6566 (lang_attribute_common): Likewise.
6567
6a1d250e
RK
6568 * function.c (fix_lexical_address): Use set_mem_alias_set.
6569 (expand_function_start): Likewise.
6570 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
6571
f42f3c2d
RK
6572 * varasm.c (output_constant): Fix unused variable warning.
6573
bb9f8221
RK
6574 * attribs.c: New file, from c-common.c.
6575 (attribute_tables): Now four elements.
6576 (format_attribute_table, lang_attribute_common): New variables.
6577 (init_attributes): Reflect above changes.
6578 (handle_mode_attribute): Delete check for wider than uintmax.
6579 * c-common.c: Delete parts moved to attribs.c.
6580 (enum attrs): Deleted; unused.
6581 (c_format_attribute_table): New variable.
6582 (c_common_lang_init): Initialize format_attribute_table with it.
6583 * c-common.h (decl_attributes): Remove decl.
6584 * tree.h (decl_attribute): Move it to here.
6585 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
6586 (attribs.o): New rule.
6587
b8d323b1
AJ
65882001-09-22 Andreas Jaeger <aj@suse.de>
6589
6590 * builtins.c (c_getstr): Remove unused variable.
6591
e5eac8ef
RH
65922001-09-21 Richard Henderson <rth@redhat.com>
6593
6594 * reload1.c (reload): Use delete_insn instead of splatting
6595 NOTE_INSN_DELETED.
6596
8a9a857e
RH
65972001-09-21 Richard Henderson <rth@redhat.com>
6598
6599 * reload.c (push_secondary_reload): Don't check for "=" in output
6600 constraint after ""->ALL_REGS check.
6601
ee1315aa
RH
66022001-09-21 Richard Henderson <rth@redhat.com>
6603
24ee7cae
RH
6604 * predict.c (expected_value_to_br_prob): Use pc_set.
6605
ee1315aa
RH
6606 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
6607 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
6608
9defc9b7
RH
66092001-09-21 Richard Henderson <rth@redhat.com>
6610
6611 * rtl.h (LCT_RETURNS_TWICE): New.
6612 * calls.c (emit_call_1): Set current_function_calls_setjmp for
6613 ECF_RETURNS_TWICE.
6614 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
6615 to ECF_RETURNS_TWICE.
6616 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
6617 call to setjmp.
6618
6619 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
6620
6621 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
6622 (JMP_BUF_SIZE): New.
6623
1853547e
RH
66242001-09-21 Richard Henderson <rth@redhat.com>
6625
6626 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
6627 to R8_REGS.
6628
67231816
RH
66292001-09-21 Richard Henderson <rth@redhat.com>
6630
6631 * tree.def (FDESC_EXPR): New.
6632 * expr.c (expand_expr): Handle it.
6633 * varasm.c (initializer_constant_valid_p): Likewise.
6634 (output_constant): Likewise.
6635 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6636 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6637 (ASM_OUTPUT_FDESC): New.
6638 * doc/tm.texi: Document the new macros.
6639
f62ce55b
RE
664021-09-2001 Richard Earnshaw (reanrsha@arm.com)
6641
b8d323b1 6642 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
f62ce55b
RE
6643 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
6644 once merging is complete.
6645
97a4f671
RK
6646Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6647
6648 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
6649
7106d491
RE
665021-09-2001 Richard Earnshaw (reanrsha@arm.com)
6651
6652 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
6653 that would be invalid after a merge.
6654
53c17031
JH
6655Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
6656
6657 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
6658 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
6659 remove some labels.
6660 (flow_delete_insn): This one.
6661 (delete_insn_chain): Rename from ...; do not care labels.
6662 (flow_delete_insn_chain): ... this one.
6663 (flow_delete_block): Remove the insns one BB has been expunged.
6664 (merge_blocks_nomove): Likewise.
6665 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
6666 updating BB boundaries.
6667 (tidy_fallthru_edge): Likewise.
6668 (commit_one_edge_insertion): Likewise.
6669 * cfgbuild.c (find_basic_block): Likewise.
6670 (find_basic_blocks_1): Likewise.
6671 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
6672 (try_crossjump_to_edge): Likewise.
6673 (try_optimize_cfg): Likewise.
6674 * cse.c (delete_trivially_dead_insns): Likewise.
6675 * df.c (df_insn_delete): Likewise.
6676 * doloop.c (doloop_modify): Use delete_related_insns.
6677 * emit-rtl.c (try_split): Likewise.
6678 (remove_insn): Update BB boundaries.
6679 * expect.c (connect_post_landing_pads): Use delete_related_insns.
6680 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
6681 updating BB boundaries.
6682 (propagate_block_delete_insn): Likewise.
6683 (propagate_block_delete_libcall): Likewise.
6684 * function.c (delete_handlers): Use delete_related_insns.
6685 (thread_prologue_and_epilogue_insns): Likewise.
6686 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
6687 * genpeep.c (gen_peephole): Use delete_related_insns.
6688 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
6689 BB boundaries.
6690 (find_cond_trap): Likewise.
6691 * integrate.c (save_for_inline): Use delete_related_insns.
6692 (copy_insn_list): Likewise.
6693 * jump.c (pruge_linie_number_notes): Likewise.
6694 (duplicate_loop_exit_test): Likewise.
6695 (delete_computation): Likewise.
6696 (delete_related_insn): Rename from ...; use delete_insn
6697 (delete_insn): ... this one.
6698 (redirect_jump): Use delete_related_insns.
6699 * loop.c (scan_loop): Likewise.
6700 (move_movables): Likewise.
6701 (find_and_verify_loops): Likewise.
6702 (check_dbra_loop): Likewise.
6703 * recog.c (peephole2_optimize): Likewise.
6704 * reg-stack.c (delete_insn_for_stacker): Remove.
6705 (move_for_stack_reg): Use delete_insn.
6706 * regmove.c (combine_stack_adjustments_for_block): Likewise.
6707 * reload1.c (delete_address_reloads): Use delete_related_insns.
6708 (fixup_abnormal_edges): Use delete_insn.
6709 * recog.c (emit_delay_sequence): Use delete_related_insns.
6710 (delete_from-delay_slot): Likewise.
6711 (delete_scheduled_jump): likewise.
6712 (optimize_skip): Likewise.
6713 (try_merge_delay_insns): Likewise.
6714 (full_simple_delay_slots): Likewise.
6715 (fill_slots_from_thread): Likewise.
6716 (relax_delay_slots): Likewise.
6717 (make_return_insns): Likewise.
6718 (dbr_schedule): Likewise.
6719 * rtl.h (delete_insn): Rename to delete_related_insns.
6720 (delete_insn, delete_insn_chain): New prototypes.
6721 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
6722 by df_insn_delete already.
6723 * ssa-dce.c (delete_insn_bb): Use delete_insn.
6724 * ssa.c (convert_from_ssa): Use delete_related_insns.
6725 * unroll.c (unroll_loop): Likewise.
6726 (calculate_giv_inc): Likewise.
6727 (copy_loop_body): Likewise.
6728
6729 * i386-protos.h (ix86_libcall_value, ix86_function_value,
6730 ix86_function_arg_regno_p, ix86_function_arg_boundary,
6731 ix86_return_in_memory, ix86_function_value): Declare.
6732 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
6733 new static valurables.
6734 (x86_64_reg_class): New enum
6735 (x86_64_reg_class_name): New array.
6736 (classify_argument, examine_argument, construct_container,
6737 merge_classes): New static functions.
6738 (optimization_options): Enable flag_omit_frame_pointer and disable
6739 flag_pcc_struct_return on 64bit.
6740 (ix86_libcall_value, ix86_function_value,
6741 ix86_function_arg_regno_p, ix86_function_arg_boundary,
6742 ix86_return_in_memory, ix86_function_value): New global functions.
6743 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
6744 (function_arg_advance): Handle x86_64 passing conventions.
6745 (function_arg): Likewise.
6746 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
6747 (RETURN_IN_MEMORY): Move offline.
6748 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
6749 (FUNCTION_VALUE_REGNO_P): New macro.
6750 (FUNCTION_ARG_REGNO_P): Move offline.
6751 (struct ix86_args): Add maybe_vaarg.
6752 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
6753 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
6754
f2d3c02a
HP
67552001-09-21 Hartmut Penner <hpenner@de.ibm.com>
6756
6757 * s390.md: Changed attributes for scheduling.
6758 * s390.c: (s390_adjust_cost, s390_adjust_priority)
6759 Changed scheduling
6760
91d231cb
JM
67612001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
6762
6763 Table-driven attributes.
6764 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
6765 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
6766 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
6767 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
6768 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
6769 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
6770 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
6771 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
6772 * tree.h (struct tree_decl): Change machine_attributes to
6773 attributes.
6774 * doc/c-tree.texi: Document that all attributes are now attached
6775 to decls and types.
6776 * c-common.c (add_attribute, attrtab, attrtab_idx,
6777 default_valid_lang_attribute, valid_lang_attribute): Remove.
6778 (attribute_tables, attributes_initialized,
6779 c_common_attribute_table, default_lang_attribute_table): New
6780 variables.
6781 (handle_packed_attribute, handle_nocommon_attribute,
6782 handle_common_attribute, handle_noreturn_attribute,
6783 handle_unused_attribute, handle_const_attribute,
6784 handle_transparent_union_attribute, handle_constructor_attribute,
6785 handle_destructor_attribute, handle_mode_attribute,
6786 handle_section_attribute, handle_aligned_attribute,
6787 handle_weak_attribute, handle_alias_attribute,
6788 handle_no_instrument_function_attribute,
6789 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
6790 handle_no_limit_stack_attribute, handle_pure_attribute): New
6791 functions.
6792 (init_attributes, decl_attributes): Rewrite to implement
6793 table-driven attributes.
6794 * c-common.h (enum attribute_flags): Move to tree.h.
6795 * c-format.c (decl_handle_format_attribute,
6796 decl_handle_format_arg_attribute): Rename to
6797 handle_format_attribute and handle_format_arg_attribute. Update
6798 for table-driven attributes.
6799 * c-common.h (decl_handle_format_attribute,
6800 decl_handle_format_arg_attribute): Remove prototypes.
6801 (handle_format_attribute, handle_format_arg_attribute): Add
6802 prototypes.
6803 * c-decl.c (grokdeclarator): Handle attributes nested inside
6804 declarators.
6805 * c-parse.in (setattrs, maybe_setattrs): Remove.
6806 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
6807 Update to handle nested attributes properly.
6808 (maybe_resetattrs, after_type_declarator,
6809 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
6810 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
6811 properly.
6812 (make_pointer_declarator): Update to handle nested attributes
6813 properly.
6814 * doc/extend.texi: Update documentation of limits of attributes
6815 syntax. Warn about problems with attribute semantics in C++.
6816 * target.h (struct target): Remove valid_decl_attribute and
6817 valid_type_attribute. Add attribute_table and
6818 function_attribute_inlinable_p.
6819 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
6820 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
6821 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
6822 Add.
6823 (TARGET_INITIALIZER): Update.
6824 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
6825 definition.
6826 (function_attribute_inlinable_p): New function. Check for the
6827 presence of any machine attributes before using
6828 targetm.function_attribute_inlinable_p.
6829 (function_cannot_inline_p): Update.
6830 * Makefile.in (integrate.o): Update dependencies.
6831 * doc/tm.texi: Update documentation of target attributes and
6832 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
6833 * tree.c (default_valid_attribute_p, valid_machine_attribute):
6834 Remove.
6835 (default_target_attribute_table,
6836 default_function_attribute_inlinable_p): New.
6837 (lookup_attribute): Update comment to clarify handling of multiple
6838 attributes with the same name.
6839 (merge_attributes, attribute_list_contained): Allow multiple
6840 attributes with the same name but different arguments to appear in
6841 the same attribute list.
6842 * tree.h (default_valid_attribute_p): Remove prototype.
6843 (struct attribute_spec): New.
6844 (default_target_attribute_table): Declare.
6845 (enum attribute_flags): Move from c-common.h. Add
6846 ATTR_FLAG_TYPE_IN_PLACE.
6847 (default_function_attribute_inlinable_p): Declare.
6848 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
6849 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6850 (TARGET_ATTRIBUTE_TABLE): Define.
6851 (vms_attribute_table): New.
6852 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
6853 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6854 (TARGET_ATTRIBUTE_TABLE): Define.
6855 (arc_attribute_table, arc_handle_interrupt_attribute): New.
6856 * config/arm/arm.c (arm_valid_type_attribute_p,
6857 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
6858 Remove.
6859 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6860 define.
6861 (TARGET_ATTRIBUTE_TABLE): Define.
6862 (arm_attribute_table, arm_handle_fndecl_attribute,
6863 arm_handle_isr_attribute): New.
6864 * config/avr/avr.c (avr_valid_type_attribute,
6865 avr_valid_decl_attribute): Remove.
6866 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
6867 define.
6868 (TARGET_ATTRIBUTE_TABLE): Define.
6869 (avr_attribute_table, avr_handle_progmem_attribute,
6870 avr_handle_fndecl_attribute): New.
6871 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
6872 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6873 (TARGET_ATTRIBUTE_TABLE): Define.
6874 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
6875 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
6876 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6877 (TARGET_ATTRIBUTE_TABLE): Define.
6878 (h8300_attribute_table, h8300_handle_fndecl_attribute,
6879 h8300_handle_eightbit_data_attribute,
6880 h8300_handle_tiny_data_attribute): New.
6881 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
6882 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
6883 Remove prototypes.
6884 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
6885 declarations.
6886 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
6887 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6888 define.
6889 (TARGET_ATTRIBUTE_TABLE): Define.
6890 (ix86_attribute_table, ix86_handle_cdecl_attribute,
6891 ix86_handle_regparm_attribute): New.
6892 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
6893 i386_pe_valid_type_attribute_p): Remove.
6894 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
6895 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
6896 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6897 (TARGET_ATTRIBUTE_TABLE): Define.
6898 (ia64_attribute_table): New.
6899 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
6900 interrupt_ident2, model_ident1, model_ident2): Remove.
6901 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6902 (TARGET_ATTRIBUTE_TABLE): Define.
6903 (init_idents): Update.
6904 (m32r_attribute_table, m32r_handle_model_attribute): New.
6905 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
6906 Remove.
6907 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6908 (TARGET_ATTRIBUTE_TABLE): Define.
6909 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
6910 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
6911 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6912 (TARGET_ATTRIBUTE_TABLE): Define.
6913 (mcore_attribute_table, mcore_handle_naked_attribute): New.
6914 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
6915 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6916 (TARGET_ATTRIBUTE_TABLE): Define.
6917 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
6918 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
6919 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6920 (TARGET_ATTRIBUTE_TABLE): Define.
6921 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
6922 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
6923 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6924 (TARGET_ATTRIBUTE_TABLE): Define.
6925 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
6926 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
6927 New.
6928 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
6929 Remove.
6930 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
6931 (TARGET_ATTRIBUTE_TABLE): Define.
6932 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
6933 New.
6934 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
6935 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6936 (TARGET_ATTRIBUTE_TABLE): Define.
6937 (v850_attribute_table, v850_handle_interrupt_attribute,
6938 v850_handle_data_area_attribute): New.
6939 * config/v850/v850-c.c (mark_current_function_as_interrupt):
6940 Return void. Call decl_attributes instead of
6941 valid_machine_attribute.
6942
3007d592
R
6943Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
6944
6945 * sh-protos.h (sh_pr_n_sets): Declare.
6946 * sh.c (calc_live_regs): If the initial value for PR has been copied,
6947 look at the copy to determine if PR needs to be saved.
6948 sh_pr_n_sets: New function.
6949 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
6950 (ALLOCATE_INITIAL_VALUE): Define.
6951
6952 * sh.c (initial_elimination_offset):
6953 Fix RETURN_ADDRESS_POINTER_REGNUM case.
6954
385b6e2d
R
6955Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
6956
6957 * integrate.c (allocate_initial_values): New function.
6958 * integrate.h (allocate_initial_values): Declare.
6959 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
6960 here...
6961 * reload1.c (reload): And initialization of reg_equiv_memory_loc
6962 from here...
6963 * toplev.c (rest_of_compilation): To here.
6964 Call allocate_initial_values.
6965 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
6966
a4b5b2ae
RK
6967Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6968
6969 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
6970
e7b6a0ee
DD
69712001-09-20 DJ Delorie <dj@redhat.com>
6972
6973 * c-typeck.c (really_start_incremental_init): Discriminate
6974 between zero-length arrays and flexible arrays.
6975 (push_init_level): Detect zero-length arrays and handle them
6976 like fixed-sized arrays.
6977 * expr.c (store_constructor): Handle zero-length arrays and
6978 flexible arrays correctly.
6979 * doc/extend.texi: Update zero-length array notes.
6980
f5aee631
JW
69812001-09-20 Jim Wilson <wilson@redhat.com>
6982
6983 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
6984 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
6985 for issue port conflicts.
6986 (cycle_end_fill_slots): TYPE_L instructions take two slots.
6987
91dc6f6e
AM
69882001-09-20 Andrew MacLeod <amacleod@redhat.com>
6989
6990 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
6991 on ia64.
6992
4c160717
RK
6993Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6994
6995 * fold-const.c (hashtab.h): Include.
6996 (int_const_binop): Remove FORSIZE arg and compute from type; all
6997 callers changed.
6998 Call size_int_type_wide for all single-word constants.
6999 (size_htab_hash, size_htab_eq): New functions.
7000 (size_int_type_wide): Rework to use hash table.
7001 * ggc-common.c (hashtab.h): Include.
7002 (struct d_htab_root): New struct.
7003 (d_htab_roots): New variable.
7004 (ggc_add_deletable_htab, ggc_htab_delete): New functions
7005 (ggc_mark_roots): Handle deletable htabs.
7006 * ggc-page.c (ggc_marked_p): New function.
7007 * ggc-simple.c (ggc_marked_p): Likewise.
7008 * ggc.h: Reformatting throughout.
7009 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
7010 * tree.c (init_obstacks): Make type_hash_table a deletable root.
7011 (type_hash_add): Allocate struct type_hash from GC memory.
7012 (mark_hash_entry, mark_type_hash): Deleted.
7013 (type_hash_marked_p, type_hash_mark): New functions.
7014 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
7015
c762ab6e
R
7016Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
7017
7018 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
7019 than SImode.
7020
ed1a150e
RK
7021Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7022
7023 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
7024 array-too-large test for signed sizetype.
7025
6eb791fc
JH
7026Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
7027
7028 * i386.md (indirect_jump): Allow Pmode operand.
7029 (tablejump): LIkewise; perform expansion to 64bit mode.
7030 * i386.c (symbolic_operand): Allow 64bit PIC references.
7031 (pic_symbolic_operand): Likewise.
7032 (ix86_find_base_term): Strip the 64bit PIC references.
7033 (legitimate_pic_address_disp_p): Handle 64bit PIC.
7034 (legitimize_pic_address): Likewise.
7035 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
7036 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
7037
4bad9e39
APB
70382001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
7039
7040 * stringpool.c (get_identifier_with_length): New function.
7041 * tree.h (get_identifier_with_length): New prototype.
7042
40501e5f
AM
70432001-09-19 Alan Modra <amodra@bigpond.net.au>
7044 David Edelsohn <edelsohn@gnu.org>
7045
7046 Revert:
7047 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
7048 already sign-extended.
7049
7050 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
7051 * config/rs6000/rs6000.c (logical_operand): Always compare op as
7052 HOST_WIDE_INT.
7053 (rs6000_emit_set_long_const): Avoid unnecessary shift.
7054 (output_profile_hook): Declare label_name const.
7055 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
7056 to match constraints.
7057
e3aafbad
SS
70582001-09-19 Stan Shebs <shebs@apple.com>
7059
7060 * alias.c: Fix typos in comments.
7061 * sched-rgn.c (init_ready_list): Ditto.
7062 * unwind-dw2.c (uw_frame_state_for): Ditto.
7063 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
7064 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
7065 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
7066
3d9339a9
RH
70672001-09-19 Richard Henderson <rth@redhat.com>
7068
7069 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
7070 to the exit block.
7071 * Makefile.in (cfg.o): Depend on TM_P_H.
7072
e2c9fb9b
RH
70732001-09-19 Richard Henderson <rth@redhat.com>
7074
7075 * config/alpha/alpha.c (local_symbol_p): Split out from ...
7076 (local_symbolic_operand): ... here.
7077 (small_symbolic_operand): Check mode.
7078 (global_symbolic_operand): New.
7079 (input_operand): Reject symbolics if explicit relocs.
7080 (call_operand): Tidy.
7081 (alpha_legitimize_address): Use movdi_er_high_g.
7082 (alpha_expand_mov): Likewise.
7083 * config/alpha/alpha-protos.h: Update.
7084 * config/alpha/alpha.h (PREDICATE_CODES): Update.
7085 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
7086 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
7087 (UNSPECV_LDGP2): Remove.
7088 (all call patterns): Use 's' not 'i' for symbolic constraint.
7089 (call_osf call_value_osf): Use call_operand.
7090 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
7091 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
7092 (prologue_ldgp_1_er): Remove.
7093 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
7094 (builtin_setjmp_receiver_er patterns): Use them.
7095 (exception_receiver_er): Likewise.
7096
f068df3f
RH
70972001-09-19 Richard Henderson <rth@redhat.com>
7098
7099 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
7100
216183ce
RH
7101 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
7102 and NON_LOCAL_GOTO notes.
33593de7
RH
7103 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
7104 copy over CALL_INSN_FUNCTION_USAGE.
216183ce 7105
784d7cce
CM
71062001-09-18 Catherine Moore <clm@redhat.com>
7107
b8d323b1 7108 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
784d7cce
CM
7109 Define as 0.
7110
70eeb10b 71112001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
b8d323b1 7112
749ced52 7113 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
b8d323b1
AJ
7114 new-style tm_file specification. Specify correct tm_p_file,
7115 md_file, and out_file for s390x.
70eeb10b
UW
7116
7117 * config/s390/linux.h, linux64.h: Don't include other target
7118 macro header files. Now handled via tm_file.
7119
b8d323b1 7120 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
70eeb10b
UW
7121 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
7122 are defined before use.
b8d323b1 7123
518b566f
EC
7124Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
7125
749ced52
ZW
7126 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
7127 code generation only for Gnu assembler.
518b566f 7128
8086b53c
CM
71292001-09-18 Catherine Moore <clm@redhat.com>
7130
749ced52 7131 * config/stormy16 (LIB_SPEC): Remove -lnosys.
8086b53c 7132
1cbfdb1f
RS
71332001-09-18 Richard Sandiford <rsandifo@redhat.com>
7134
7135 * config/mips/mips.c (mips_frame_set): New.
7136 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
7137 a parallel frame-related expression with a set for each register.
7138
d71ebc32
PB
71392001-09-18 Philip Blundell <philb@gnu.org>
7140
7141 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
7142 header files.
7143
5dead3e5
DJ
71442001-09-17 Dale Johannesen <dalej@apple.com>
7145
7146 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
7147 * config/rs6000/aix.h (FIXED_R2): Define.
7148 * config/rs6000/darwin.h (FIXED_R2): Define.
7149 * config/rs6000/sysv4.h (FIXED_R2): Define.
7150
5c701bb1
JS
71512001-09-17 Jeff Sturm <jsturm@one-point.com>
7152
7153 * except.c (dw2_build_landing_pads): New local
7154 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
7155 barrier after clobbers. Fixes c++/4012.
7156
c793eea7
KG
71572001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7158
7159 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
7160
63fb6fc7
JM
71612001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
7162
7163 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
7164 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
7165
c1d49704
KG
71662001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7167
7168 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
7169 alloca/strcpy.
7170
14baae01
NB
71712001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
7172
7173 * cpphash.h (_cpp_lex_direct): New.
7174 * cpplex.c (_cpp_lex_token): Update.
7175 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
7176 and increment that pointer.
7177 * cppmacro.c (alloc_expansion_token): New.
7178 (lex_expansion_token): Lex macro expansion directly into
7179 macro storage.
7180
478c61b7
BL
71812001-09-16 Brad Lucier <lucier@math.purdue.edu>
7182
7183 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
7184
3c030e88
JH
7185Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
7186
7187 * basic-block.h (free_bb_for_insn): Declare.
7188 * bb-reorder.c (label_for_bb): Use block_label.
7189 (emit_jump_to_block_after): Remove.
7190 (insert_intra_1): Do not update block_for_insn.
7191 (insert_inter_bb_scope_notes): Likewise; update bb->end
7192 * cfg.c (free_bb_for_insn): New.
7193 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
7194 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
7195 (commit_one_edge_insertion): Likewise.
7196 (commit_one_edge_insertion): Do not update BB boundary.
7197 (commit_edge_insertions): Do not call compute_bb_for_insn.
7198 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
7199 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
7200 (merge_blocks_move_successor_nojumps): Likewise.
7201 (try_crossjump_to_edge): Do not update block_for_insn.
7202 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
7203 * df.c (df_pattern_emit_later): Do not update BB boundary.
7204 (df_jump_pattern_emit_after): Likewise.
7205 (df_insn_move_before): Use emit_insn_before.
7206 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
7207 properly.
7208 (add_insn_after, add_insn_before, emit_insns_after): Update BB
7209 boundaries and basic_block_for_insn.
7210 (reorder_insns_nobb): Rename from reorder_insns.
7211 (reorder_insns): New.
7212 (emit_block_insn_before, emit_block_insn_after): Kill.
7213 * flow.c (check_function_return_warnings): Do not call
7214 compute_bb_for_insn; Do not free basic_block_for_insn.
7215 (attempt_auto_inc): Do not update basic_block_for_insn.
7216 * function.c (emit_return_into_block): Likewise;
7217 do not update BB boundaries.
7218 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
7219 (insert_insn_end_bb): Use emit_insn_before; Likewise.
7220 (pre_insert_copy_insn): Likewise.
7221 (update_ld_motion_notes): Likewise.
7222 (insert_insn_start_bb): Likewise.
7223 (replace_store_insn): Likewise.
7224 * ifcvt.c (noce_process_if_block): Likewise.
7225 (if_convert): Do not call compute_bb_for_insn.
7226 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
7227 Use emit_insn_before and emit_insn_after.
7228 * recog.c (split_all_insns): Do not update BB boundaries;
7229 Do not call compute_bb_for_insn.
7230 (peephole2_optimize): Do not update BB boundaries.
7231 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
7232 emit_insn_before.
7233 (emit_swap_insn): Likewise.
7234 (convert_regs_1): Likewise.
7235 * reload1.c (reload): Call compute_bb_for_insn.
7236 * rtl.h (reorder_insns_nobb): Declare.
7237 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
7238 * toplev.c (rest_of_compilation): Call free_bb_for_insn
7239 at places CFG is invalidated; do not call compute_bb_for_insn.
7240
7241 * cfg.c (expunge_block): Invalidate BB structure.
7242
7243 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
7244 array.
7245
7246 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
7247
345894b4
NB
72482001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
7249
7250 * cpphash.h (_cpp_lex_token): Update prototype.
7251 * cpplex.c (_cpp_lex_token): New prototype.
7252 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
7253 lex_macro_node, read_flag, do_pragma_poison): Update.
7254 * cppmacro.c (cpp_get_token, parse_params,
7255 lex_expansion_token): Update.
7256
18a9d8ff
NB
72572001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
7258
7259 * cppmain.c (scan_translation_unit): Don't worry about
7260 putting a space after hashes.
7261 * cpplib.c (directive_diagnostics): New.
7262 (_cpp_handle_directive): Update to use directive_diagnostics.
7263 (run_directive): Don't toggle prevent_expansion.
7264 (do_line): Backup in case of the line extension.
7265 * cpplib.h (cpp_lexer_pos): Remove.
7266 * cppmacro.c (_cpp_create_definition): Precede a leading #
7267 with whitespace.
7268
3f85558f
RH
72692001-09-15 Richard Henderson <rth@redhat.com>
7270
7271 * c-typeck.c (comptypes): Handle zero-length arrays properly.
7272
c6c04fca
RL
72732001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7274
7275 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
7276
69e47210
NB
72772001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
7278
7279 PR preprocessor/3571
7280 * tradcpp.c (handle_directive): Skip non-vertical space.
7281
f0581dc7
NB
72822001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
7283
7284 * cppmain.c (setup_callbacks): Set line callback only
7285 if outputting preprocessed source.
7286
cb6edbcb
KG
72872001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7288
7289 * collect2.c (main): Const-ification.
7290 * gcc.c (translate_options, process_command): Use xstrdup in
7291 lieu of xmalloc/strcpy.
7292 (main): Use concat in lieu of xmalloc/strcpy/strcat.
7293
068e5714
RL
72942001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7295
7296 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
7297 example.
7298
65813f56
NB
72992001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
7300
7301 * scan-decls.c (scan_decls): Fix typo.
7302
50410426
NB
73032001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
7304
7305 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
7306 Split mlstring_pos into mls_line and mls_col.
7307 * cppinit.c (cpp_create_reader): Initialize line to 1.
7308 (cpp_destroy): Free tokenruns.
7309 (push_include): Don't update lexer_pos.
7310 * cpplex.c (unterminated, parse_string): Update.
7311 (lex_token): Don't update lexer_pos, update.
7312 * cpplib.c (if_stack): Save line instead of line + col.
7313 (start_directive, _cpp_do__Pragma, do_else, do_elif,
7314 push_conditional, _cpp_pop_buffer): Update.
7315 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
7316 (_cpp_create_definition): Update.
7317
6047ddc8
EC
73182001-09-15 Eric Christopher <echristo@redhat.com>
7319
7320 * config/mips/abi64.h: Add support for MEABI.
7321
0e5a4ad8
EC
73222001-09-15 Eric Christopher <echristo@redhat.com>
7323
7324 * config/mips/mips.md: Add unspec #2.
7325 (reload_indi): Use.
7326 (reload_outdi): Ditto.
7327 (reload_outsi): Ditto.
7328 (HILO_delay): New.
7329
73302001-09-15 Eric Christopher <echristo@redhat.com>
7331 Jason Eckhardt <jle@redhat.com>
7332
7333 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
7334 * config/mips/isa32-linux.h: New file.
7335 * config/mips/isa3264.h: Ditto.
7336 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
7337 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
7338 (output_block_mode): Support MEABI.
7339 (function_arg): Ditto. Fix floating point arg passing.
7340 (mips_va_start): Ditto.
7341 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
7342 processors.
7343 (mips_asm_file_start): Add new section to pass abi to gdb.
7344 (function_arg_pass_by_reference): Support MEABI.
7345 (mips_parse_cpu): Support mips32 and mips64 processors.
7346 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
7347 TARGET_MIPS5KC. Support isa32 and isa64.
7348 (processor_type): Add r4kc, r5kc, r20kc.
7349 (GENERATE_MULT3_SI): New.
7350 (GENERATE_MULT3_DI): Ditto.
7351 (GENERATE_MULT3): Remove.
7352 (ISA_HAS_64BIT_REGS): Add isa == 64.
7353 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
7354 (ISA_HAS_MADD_MSUB): New.
7355 (ISA_HAS_CLZ_CLO): Ditto.
7356 (ISA_HAS_DCLZ_DCLO): Ditto.
7357 (ABI_GAS_ASM_SPEC): New.
7358 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
7359 (ASM_SPEC): Ditto.
7360 (LINK_SPEC): Ditto.
7361 (SUBTARGET_CC1_SPEC): Ditto.
7362 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
7363 (PAD_VARARGS_DOWN): Support MEABI.
7364 (HARD_REGNO_NREGS): Move to mips.c.
7365 (ASM_OUTPUT_IDENT): Add #undef.
7366 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
7367 (mulsi3): Use GENERATE_MULT3_SI.
7368 (mulsi3_mult3): Ditto. Support mips32, mips64.
7369 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
7370 (mul_sub_si): New pattern.
7371 (unnamed splitters): New.
7372 (muldi3): Use GENERATE_MULT3_DI.
7373 (muldi3_internal2): Ditto.
7374 (movdicc): Support mips32.
7375 * config/mips/t-isa3264: New file.
7376
e75ecd26
HPN
73772001-09-15 Hans-Peter Nilsson <hp@axis.com>
7378
7379 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
7380 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
7381 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
86c7007a
HPN
7382
7383 * reorg.c (fill_slots_from_thread): After call to
7384 steal_delay_list_from_target, update own_thread as new_thread may
7385 have branched.
7386
97293897
NB
73872001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
7388
7389 * cpperror.c (print_location): Take line and column, for
7390 default positioning use the previously lexed token.
7391 (_cpp_begin_message): Take line and column.
7392 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
7393 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
7394 * cpphash.h (_cpp_begin_message): Update prototype.
7395 * cppinit.c (push_include): Don't set output line.
7396 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
7397 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
7398 (do_pragma): Kludge for front ends. Don't expand macros at all.
7399 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
7400 (struct cpp_token): Remove output_line.
7401 (struct cpp_callbacks): New member line_change.
7402 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
7403 cpp_get_token): Preserve BOL flag.
7404 (cpp_get_line): Remove.
7405 (_cpp_backup_tokens): Remove useless abort().
7406 * cppmain.c (cb_line_change): New.
7407 (scan_translation_unit): Don't worry about starting new lines here.
7408 * scan-decls.c (scan_decls): Update.
7409 * c-lex.c (c_lex, init_c_lex): Update.
7410 (cb_line_change, src_lineno): New.
7411
13d7d58b
JW
7412Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
7413
7414 * tree.c (append_random_chars): Generate the random
7415 characters in a reproducable fashion.
7416
623fe810
RH
74172001-09-14 Richard Henderson <rth@redhat.com>
7418
7419 * config/i386/i386.c (internal_label_prefix): New.
7420 (internal_label_prefix_len): New.
7421 (override_options): Set them.
7422 (local_symbolic_operand): New.
7423 (legitimate_pic_address_disp_p): Use it.
7424 (legitimize_pic_address): Likewise.
7425
95a37e3f 74262001-09-14 Marc Espie <espie@openbsd.org>
0e1f7b2a 7427
95a37e3f
ME
7428 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
7429 correctly.
7430
e91c2a24
RL
74312001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7432
7433 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
7434 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
7435
be393ecf
NC
74362001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
7437
5de7e417
NC
7438 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
7439 invocation of SUBREG_REGNO_OFFSET.
7440
bc591fb4
NC
7441 * haifa-sched.c: Fix typo in FSF copyright statement.
7442 * sched-deps.c: Fix typo in FSF copyright statement.
7443 * sched-ebb.c: Fix typo in FSF copyright statement.
7444 * sched-rgn.c: Fix typo in FSF copyright statement.
7445 * sched-vis.c: Fix typo in FSF copyright statement.
7446
be393ecf
NC
7447 * config.gcc: Move inclusion of arm elf specific header files
7448 from the files themselves into the tm_file variable. Make
7449 sure that elfos.h is included before target specific elf
7450 headers.
7451 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
7452 already defined.
7453 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
7454 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
7455 ASM_OUTPUT_CASE_LABEL): Protect definition.
7456 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
7457 not already defined.
7458 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
7459 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
0e5a4ad8 7460 Remove duplicate definition.
be393ecf
NC
7461 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
7462 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
7463 (RDATA_SECTION_FUNCTION): Remove redundant definition.
7464 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
7465 Remove inclusion of arm/elf.h.
7466 * config/arm/unknown-elf.h: as for conix-elf.h.
7467 (STARTFILE_SPEC): Include crti.o and crtn.o.
7468 * config/arm/linux-elf.h: as for conix-elf.h.
7469 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
7470 * config/arm/strongarm-elf.h: Remove inclusion of
7471 unknown-elf.h.
7472 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
7473 * config/arm/unknown-elf-oabi.h: Remove inclusion of
7474 unknown-elf.h and elf.h.
7475 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
7476 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
7477 ASM_WEAKEN_LABEL): Remove redundant definition.
7478 * config/arm/elf.h: Test for inclusion of elfos.h
7479 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
7480 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
7481 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
7482 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
7483 redundant definition.
7484 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
7485 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
7486 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
7487 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
7488 Add rules to build crti.o and crtn.o
7489 * crti.asm: New file.
7490 * crtn.asm: New file.
7491
bdcbe496
NB
74922001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
7493
7494 * c-parse.in (_yylex): Use _cpp_backup_tokens.
7495 * cpphash.h (struct tokenrun): Add prev.
7496 (struct lexer_state): Remove bol.
7497 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
7498 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
7499 : Remove.
7500 * cppinit.c (cpp_create_reader): Don't set bol.
7501 (cpp_destroy): Don't free lookaheads.
7502 * cpplex.c (lex_directive): Remove.
7503 (next_tokenrun): Update.
7504 (_cpp_lex_token): Clean up logic.
7505 (lex_token): Update to return a pointer to lexed token, since it
7506 can move to the start of the buffer. Simpify newline handling.
7507 * cpplib.c (SEEN_EOL): Update.
7508 (skip_rest_of_line): Remove lookahead stuff.
7509 (end_directive): Line numbers are already incremented. Revert
7510 to start of lexed token buffer if we can.
7511 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
7512 parse_answer): Use _cpp_backup_tokens.
7513 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
7514 instead. Don't check for EOL.
7515 (do_include_common, do_line, do_pragma_system_header): Use
7516 skip_rest_of_line.
7517 * cpplib.h (BOL, _cpp_backup_tokens): New.
7518 * cppmacro.c (save_lookahead_token, take_lookahead_token,
7519 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
7520 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
7521 (builtin_macro): Don't use cpp_get_line.
7522 (cpp_get_line): Short term kludge.
7523 (parse_arg): Handle directives in arguments here. Back up when
7524 appropriate. Store EOF at end of argument list.
7525 (funlike_invocation_p): Use _cpp_backup_tokens.
7526 (push_arg_context): Account for EOF at end of list.
7527 (cpp_get_token): Remove lookahead stuff. Update.
7528
83182544
KG
75292001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7530
7531 * c-parse.in (yyerror): Const-ification and/or static-ization.
7532 * c-typeck.c (push_member_name): Likewise.
7533 * collect2.c (main): Likewise.
7534 * dbxout.c (dbxout_parms): Likewise.
7535 * diagnostic.c (format_with_decl): Likewise.
7536 * dwarf2out.c (output_ranges): Likewise.
7537 * dwarfout.c (fundamental_type_code): Likewise.
7538 * except.c (dw2_output_call_site_table): Likewise.
7539 * gcc.c (do_spec_1): Likewise.
7540 * genopinit.c (optabs): Likewise.
7541 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
7542 gen_declaration_1, handle_impent): Likewise.
7543 * protoize.c (default_include, in_system_include_dir, abspath):
7544 Likewise.
7545 * sched-vis.c (visualize_stall_cycles): Likewise.
7546 * sdbout.c (plain_type_1, sdbout_end_function,
7547 sdbout_end_epilogue): Likewise.
7548 * varasm.c (decode_reg_name): Likewise.
0e5a4ad8 7549
83182544
KG
7550 * 1750a.c (mod_regno_adjust): Likewise.
7551 * alpha.c (alpha_write_one_linkage,
7552 unicosmk_output_default_externs): Likewise.
7553 * arm.c (arm_condition_codes): Likewise.
7554 * arm.h (arm_condition_codes): Likewise.
7555 * avr.c (output_movsisf, encode_section_info): Likewise.
7556 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
7557 Likewise.
7558 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7559 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7560 * m88k.c (output_function_profiler): Likewise.
7561 * mips.c (mips_output_conditional_branch): Likewise.
7562 * ns32k.c (ns32k_out_reg_names): Likewise.
7563 * ns32k.h (ns32k_out_reg_names): Likewise.
7564 * pj.c (pj_output_rval): Likewise.
7565 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
7566 * sparc.c (sparc_flat_function_prologue,
7567 sparc_flat_function_epilogue): Likewise.
7568
f404402c 75692001-09-13 Markus Werle <numerical.simulation@web.de>
623fe810 7570 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
f404402c
MW
7571
7572 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
7573 Aachen University of Technology".
7574
08ed72a9
AS
75752001-09-13 Andreas Schwab <schwab@suse.de>
7576
7577 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
7578 C99.
7579
133d3133
RH
75802001-09-13 Richard Henderson <rth@redhat.com>
7581
7582 * config/alpha/alpha.c (small_symbolic_operand): New.
7583 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
7584 (some_operand, input_operand): Don't handle HIGH.
7585 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
7586 (alpha_expand_mov): Likewise.
7587 (print_operand) [H]: Just print HIGH symbol.
7588 (print_operand_address): Handle small data.
7589 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
7590 (TARGET_SWITCHES): Add -msmall-data/large-data.
7591 (PIC_OFFSET_TABLE_REGNUM): New.
7592 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
7593 (PREDICATE_COES): Update.
7594 * config/alpha/alpha.md (adddi_er_high): New.
7595 (adddi_er_low): Handle small data.
7596 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
7597 prefer .sdata to .rodata.
7598 (SELECT_RTX_SECTION): Likewise.
7599
34b3b0f6
JM
76002001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
7601
7602 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
7603 defining __size_t and leaving size_t undefined.
0e5a4ad8 7604
d5c768b8
DN
76052001-09-12 Diego Novillo <dnovillo@redhat.com>
7606
7607 * basic-block.h (expunge_block): Declare.
7608 * cfg.c (expunge_block): Remove static declaration.
7609
3bab2571
RH
76102001-09-12 Richard Henderson <rth@redhat.com>
7611
7612 * integrate.c (copy_insn_list): Copy label name from
7613 NOTE_INSN_DELETED_LABEL.
7614
27c38fbe
KG
76152001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7616
7617 * c-common.c (c_tree_code_name): Const-ification.
7618 * c-decl.c (c_decode_option): Likewise.
7619 * c-typeck.c (warn_for_assignment): Likewise.
7620 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
7621 Likewise.
7622 * cppinit.c (output_deps): Likewise.
7623 * dependence.c (dependence_string, direction_string): Likewise.
7624 * dwarf2out.c (output_ranges): Likewise.
7625 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
7626 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
7627 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
7628 standard_startfile_prefix, standard_startfile_prefix_1,
7629 standard_startfile_prefix_2, tooldir_base_prefix,
7630 standard_bindir_prefix, find_a_file): Likewise.
7631 * genattrtab.c (make_length_attrs): Likewise.
7632 * gencheck.c (tree_codes): Likewise.
7633 * genemit.c (gen_split): Likewise.
7634 * genrecog.c (special_mode_pred_table): Likewise.
7635 * graph.c (graph_ext): Likewise.
7636 * protoize (default_include): Likewise.
7637 * reload.c (reload_when_needed_name): Likewise.
7638 * sched-vis.c (visualize_stall_cycles): Likewise.
7639 * tlink.c (recompile_files): Likewise.
7640 * toplev.c (decode_g_option): Likewise.
7641 * tradcpp.c (output_deps): Likewise.
7642 * varasm.c (decode_reg_name): Likewise.
0e5a4ad8 7643
27c38fbe
KG
7644 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
7645 Const-ification.
7646 * arm.md: Likewise.
7647 * avr.c (avr_regnames, encode_section_info): Likewise.
7648 * c4x.c (float_reg_names): Likewise.
7649 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
7650 * elfos.h (const_section): Likewise.
7651 * i386.c (ix86_comp_type_attributes): Likewise.
7652 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
7653 * ia64/aix.h (UNIQUE_SECTION): Likewise.
7654 * ia64.c (type_names): Likewise.
7655 * m68hc11.c (reg_class_names): Likewise.
7656 * m88k.c (m_options): Likewise.
7657 * mips.c (mips_output_conditional_branch, mips_unique_section):
7658 Likewise.
7659 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7660 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
7661 ultra_code_names): Likewise.
7662 * sparc.h (OVERRIDE_OPTIONS): Likewise.
7663
a8b7afb9
JJ
76642001-09-12 Jakub Jelinek <jakub@redhat.com>
7665
7666 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
7667 Use --fatal-warnings option for gas.
7668 * configure: Rebuilt.
7669
71b96724
RL
76702001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7671
7672 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
7673
4e1a4144
JW
76742001-09-11 Jim Wilson <wilson@redhat.com>
7675
7676 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
7677
1de3d877
MK
76782001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
7679
7680 * builtins.c (c_strlen): Treat an offset too large for a
7681 HOST_WIDE_INT as out of range.
7682
4262e623
JH
7683Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
7684
7685 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
7686 (EDGE_CRITICAL_P): New predicate.
7687 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
7688 handling.
7689 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
7690 (dump_edge_info): Remove "crit".
7691 * cfganal.c (mark_critical_edges): Kill.
7692 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
7693 * cfgcleanup.c (cleanup_cfg): Likewise.
7694 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
7695 (find_spanning_tree): Likewise.
7696 * reg-stack.c (convert_regs_1): Likewise.
7697 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
7698
7699 * basic-block.h (create_basic_block_structure): New.
7700 (create_basic_block): Update prototype.
7701 (force_nonfallthru): New.
7702 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
7703 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
7704 handle updating of block_for_insn, creating of empty BBs and BBs at
7705 the end of INSN chain.
7706 (create_basic_block): New function.
7707 (split_block): Use create_basic_block.
7708 (force_nonfallthru_and_redirect): Break out from ...; cleanup
7709 (redirect_edge_and_branch_force): ... here.
7710 (force_nonfallthru): New.
7711 (split_edge): Rewrite to use force_nonfallthru and create_block.
7712 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
7713 (find_basic_blocks): Free basic_block_for_insn.
7714 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
7715
7716 * cfg.c: Fix formating.
7717 * cfgcleanup.c: Fix formating.
7718 (merge_blocks, tail_recursion_label_p): Return bool.
7719 (merge_blocks_move_predecessor_nojumps,
7720 merge_blocks_move_successor_nojumps): Return void.
7721
201556f0
JJ
77222001-09-11 Jakub Jelinek <jakub@redhat.com>
7723
7724 * configure.in: Check whether assembler supports section merging.
7725 * config.in: Rebuilt.
7726 * configure: Rebuilt.
7727 * varasm.c (variable_section, output_constant_pool): Pass alignment
7728 to SELECT_SECTION and SELECT_RTX_SECTION.
7729 (mergeable_string_section): New.
7730 (mergeable_constant_section): New.
7731 (default_elf_asm_named_section): Output SECTION_MERGE and
7732 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7733 * output.h (mergeable_string_section): New.
7734 (mergeable_constant_section): New.
7735 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
7736 * toplev.c (flag_merge_constants): New.
7737 (f_options): Add -fmerge-constants and -fmerge-all-constants
7738 options.
7739 (toplev_main): Default to -fno-merge-constants if not optimizing.
7740 * flags.h (flag_merge_constants): Add extern.
7741 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
7742 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
7743 argument.
7744 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
7745 Define if assembler has working .subsection -1 support.
7746 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
7747 Put constant into special SHF_MERGE sections if the linker should
7748 attempt to merge duplicates.
7749 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
7750 macro argument.
7751 Put constant into special SHF_MERGE sections if the linker should
7752 attempt to merge duplicates.
7753 * config/alpha/elf.h: Likewise.
7754 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
7755 has working .subsection -1 support.
7756 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
7757 SELECT_SECTION.
7758 * config/svr3.h: Likewise.
7759 * config/darwin.h: Likewise.
7760 * config/arm/aof.h: Likewise.
7761 * config/arm/linux-elf.h: Likewise.
7762 * config/avr/avr.h: Likewise.
7763 * config/c4x/c4x.h: Likewise.
7764 * config/d30v/d30v.h: Likewise.
7765 * config/i386/dgux.h: Likewise.
7766 * config/i386/osfrose.h: Likewise.
7767 * config/i386/sco5.h: Likewise.
7768 * config/i386/svr3gas.h: Likewise.
7769 * config/ia64/aix.h: Likewise.
7770 * config/m32r/m32r.h: Likewise.
7771 * config/m68k/m68k.h: Likewise.
7772 * config/m88k/dgux.h: Likewise.
7773 * config/m88k/m88k.h: Likewise.
7774 * config/mcore/mcore-pe.h: Likewise.
7775 * config/mips/mips.h: Likewise.
7776 * config/pa/pa.h: Likewise.
7777 * config/pa/pa-linux.h: Likewise.
7778 * config/romp/romp.h: Likewise.
7779 * config/rs6000/sysv4.h: Likewise.
7780 * config/rs6000/xcoff.h: Likewise.
7781 * config/s390/linux.h: Likewise.
7782 * config/sparc/sparc.h: Likewise.
7783 * config/sparc/sysv4.h: Likewise.
7784 * config/stormy16/stormy16.h: Likewise.
7785 * config/v850/v850.h: Likewise.
7786 * config/vax/vms.h: Likewise.
7787 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
7788 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7789 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
7790 default_elf_asm_named_section for SHF_MERGE sections.
7791
0a24446d
JH
7792Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
7793
7794 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
7795 is OK.
7796
1d30139d
JM
77972001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
7798
7799 * c-common.c (split_specs_attrs): Allow for empty attributes with
7800 empty TREE_PURPOSE. Fixes PR c/4294.
7801
7ded4467
JH
7802Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
7803
7804 * basic-block.h (cached_make_edge, make_single_succ): New.
7805 (make_edge): Remove first parameter.
7806 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
7807 * cfg.c (cached_make_edge): Rename from make_edge; return newly
7808 created edge; use obstack allocation.
7809 (make_edge, make_single_succ_edge): New.
7810 (first_removed_edge): New static variable.
7811 (init_flow): Initialize first_removed_edge and n_edges.
7812 (clear_edges): Use remove_edge.
7813 (flow_delete_block): Likewise.
7814 (remove_edge): Add removed edges to the removed edges list.
7815 (split_block, redirect_edge_and_branch_force, split_edge):
7816 Use make_edge.
7817 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
7818 (add_noreturn_fake_exit_edges): Likewise.
7819 (connect_infinite_loops_to_exit): Liekwise.
7820 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
7821 Use cached_make_edge.
7822 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
7823 * profile.c (branch_prob): Update make_edge call.
7824 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7825
30102605
RH
78262001-09-11 Richard Henderson <rth@redhat.com>
7827
7828 * config/alpha/alpha.c: Tidy formatting.
7829 (local_symbolic_operand): Verify mode.
7830 (alpha_sa_mask): Ignore unicos for eh_return.
7831 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
7832 * config/alpha/alpha.md (umk divsi patterns): Remove.
7833 (extendsfdf2): Remove unicos check.
7834 (tablejump): Merge vms and unicos code; always use direct set
7835 plus label_ref use.
7836
78372001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7838
7839 * config.gcc (alpha*-*-unicosmk*): New target.
7840
7841 * config/alpha/alpha-protos.h (symbolic_operand,
7842 unicosmk_add_call_info_word, unicosmk_add_extern,
7843 unicosmk_defer_case_vector, unicosmk_unique_section,
7844 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
7845 unicosmk_asm_file_start, unicosmk_asm_file_end,
7846 unicosmk_output_common): Declare.
7847
7848 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
7849 direct_return, function_arg, alpha_va_start, alpha_va_arg,
7850 alpha_does_function_need_gp, alpha_end_function): Support Cray
7851 Unicos/Mk.
7852 (alpha_init_machine_status, alpha_mark_machine_status,
7853 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
7854 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
7855 unicosmk_asm_named_section, unicosmk_insert_attributes,
7856 unicosmk_section_type_flags, symbolic_operand,
7857 unicosmk_output_module_name, unicosmk_output_default_externs,
7858 unicosmk_output_dex, unicosmk_output_externs,
7859 unicosmk_output_addr_vec, unicosmk_ssib_name,
7860 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
7861 unicosmk_asm_file_end, unicosmk_output_common,
7862 unicosmk_section_type_flags, unicosmk_unique_section,
7863 unicosmk_add_call_info_word, unicosmk_text_section,
7864 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
7865 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
7866 unicosmk_dex_count, unicosmk_special_name): New.
7867 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
7868 TARGET_ABI_UNICOSMK.
7869 (get_aligned_mem, alpha_expand_unaligned_load,
7870 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
7871 alpha_expand_unaligned_store_words): Support big-endian mode.
7872 (print_operand): Likewise. New format specifier 't'. Use
7873 TARGET_AS_SLASH_BEFORE_SUFFIX.
7874 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
7875 (alpha_pv_save_size): Update with above change.
7876 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
7877 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
7878 Unicos/Mk.
7879
7880 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
7881 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
7882 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
7883 (EXTRA_CONSTRAINT): New constraint 'U'.
7884 (PREDICATE_CODES): Add symbolic_operand.
7885
7886 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
7887 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
7888 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
7889 (integer division and modulus patterns): Split in default and
7890 Unicos/Mk versions.
7891 (*divmodsi_internal, *divmoddi_internal): Disable for
7892 TARGET_ABI_UNICOSMK.
0e5a4ad8 7893 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
30102605
RH
7894 little-endian and big-endian versions.
7895 (ext, ins, msk): Likewise.
7896 (extv, extzv, insv): Support big-endian mode.
7897 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
7898 (call_umk, call_value_umk, *call_umk, tablejump_umk,
7899 *tablejump_umk_internal, *call_value_umk): New.
7900 (*movdi_nofix): Add pattern for loading an address into a register on
7901 TARGET_ABI_UNICOSMK.
7902 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
7903 (umk_mismatch_args, arg_home_umk): New.
7904 (various insns): Don't use mov, fmov, nop, fnop and unop.
7905 (realign): Support TARGET_ABI_UNICOSMK.
7906
7907 * config/alpha/unicosmk.h: New file.
7908 * config/alpha/t-unicosmk: New file.
7909
7910 * fixinc/inclhack.def (unicosmk_restrict): New.
7911 * fixinc/fixincl.x: Regenerate.
7912
7913 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
7914 (wchar_t): Check for and define __WCHAR_T__.
7915
b1c4394d
RS
79162001-09-11 Richard Sandiford <rsandifo@redhat.com>
7917
7918 * combine.c (simplify_shift_const): Treat shifts by the mode
7919 size as undefined.
7920
5fddcffc
NB
79212001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
7922
7923 * cpphash.h (struct tokenrun): New.
7924 (struct cpp_context): New member bol.
7925 (struct cpp_reader): New members.
7926 (_cpp_init_tokenrun): New.
7927 * cppinit.c (cpp_create_reader): Set up the token runs.
7928 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
7929 (lex_token): New internalised version of _cpp_lex_token. Don't
a1f300c0 7930 handle directives or the multiple include optimization here any
5fddcffc
NB
7931 more. Simply lex a token.
7932 * cpplib.c (run_directive): Clear bol.
7933 (_cpp_pop_buffer): Set bol.
7934 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
7935 arguments.
7936
75dcd8fe
MM
79372001-09-11 Michael Meissner <meissner@redhat.com>
7938
7939 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
7940 give an error if the user uses -mfp32.
7941 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
7942 default options.
7943 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
7944 floating point register size.
7945 (EXTRA_SPECS): Add CPP_FPR_SPEC.
7946
7947 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
7948 HOST_WIDE_INT_PRINT_DEC to properly print the result of
7949 int_size_in_bytes.
7950 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7951 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7952
fb530c07
HPN
79532001-09-11 Hans-Peter Nilsson <hp@axis.com>
7954
7955 * dbxout.c (dbxout_parms): Fix typo in comment.
7956 * unroll.c (loop_find_equiv_value): Ditto.
7957 * toplev.c (rest_of_compilation): Ditto.
7958 * loop.c (scan_loop): Ditto.
fb530c07
HPN
7959 * dwarf2out.c (struct dw_fde_struct): Ditto.
7960
2c3fcba6
ZW
79612001-09-10 Zack Weinberg <zackw@panix.com>
7962
7963 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
7964 copying identifier when we're just going to throw it away.
7965 (parse_identifier_slow): New routine to handle abnormal cases.
7966 (_cpp_lex_token): Update call site.
7967
7968 * hashtable.c (ht_lookup): Don't assume that the string we've
7969 been given is NUL-terminated.
7970 * system.h: #define __builtin_expect(a, b) to (a) if not
7971 GCC >=3.0.
7972
60acf24e
MM
79732001-09-10 Michael Meissner <meissner@redhat.com>
7974
7975 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
7976 binutils, gdb.
7977
51d3e7d6
DE
79782001-09-10 David Edelsohn <edelsohn@gnu.org>
7979
7980 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
7981
bf06b5d8
RK
7982Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7983
7984 * builtins.c (c_getstr): Correct thinko in last change and further
7985 cleanup.
7986
244a4af0
TF
79872001-09-10 Tim Freeman <tim@fungibole.com>
7988
7989 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
7990 into varray's and register them as roots with the garbage
2c3fcba6 7991 collector so they are not collected too soon.
244a4af0 7992
402209ff
JH
7993Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
7994
7995 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
7996 New.
7997 * basic-block.h (flow_obstack, label_value_list,
7998 tail_recursion_label_list): Declare
7999 (tidy_fallthru_edges): Declare.
8000 (expunge_block, last_loop_beg_note): Delete.
8001 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
8002 * cfg.c: New file
8003 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
8004 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
8005 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
2c3fcba6 8006 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
402209ff
JH
8007 expunge_block, flow_delete_block, compute_bb_for_insn,
8008 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
8009 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
8010 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
8011 try_redirect_by_replacing_jump, last_loop_beg_note,
8012 redirect_edge_and_branch, redirect_edge_and_branch_force,
8013 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
8014 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
2c3fcba6 8015 commit_edge_insertions, dump_flow_info, debug_flow_info,
402209ff
JH
8016 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
8017 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
8018 Move here from flow.c
8019 * cfganal.c: New file.
8020 (forwarder_block_p, can_fallthru, mark_critical_edges,
8021 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
8022 find_unreachable_blocks, create_edge_list, free_edge_list,
8023 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
8024 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
8025 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
8026 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
8027 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
8028 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
8029 Move here from flow.c
8030 * cfgbuild.c: New file
8031 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
8032 make_edges, find_basic_blocks_1, find_basic_blocks,
8033 find_sub_basic_blocks): Move here from flow.c
8034 * cfgcleanup.c: New file.
8035 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
8036 merge_blocks_move_predecessor_nojumps,
8037 merge_blocks_move_successor_nojumps, merge_blocks,
8038 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
8039 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
8040 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
8041 if succeeded.
8042 * cfgloop.c: New file
8043 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
8044 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
8045 flow_loop_exit_edges_find, flow_loop_nodes_find,
8046 flow_loop_pre_header_scan, flow_loop_pre_header_find,
8047 flow_loop_tree_node_add, flow_loops_tree_build,
8048 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
8049 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
8050 Move here from flow.c
8051 * flow.c: Remove everything moved elsewhere
8052 * output.h (cleanup_cfg): Return bool.
8053
8054 * bb-reorder.c (reorder_block_def): Remove 'index'.
8055 (insert_intra_1): Add argument BB, set block for new note.
8056 (make_reorder_chain): Do not depdent on BB indexes.
8057 (make_reorder_chain_1): Do not use BB indexes.
8058 (label_for_bb): Likewise; set BB for new insn.
8059 (emit_jump_to_block_after): Likewise.
a1f300c0 8060 (fixup_reorder_chain): Sanity check that all basic blocks
402209ff
JH
8061 are chained; verify newly created insn chain; remove
8062 undocnitional jump simplifying; Do not use BB indexes;
8063 properly initialize count and frequency information;
8064 dump reordered sequence.
8065 (insert_intra_bb_scope_notes): update call of insert_intra_1.
8066 (insert_inter_bb_scope_notes): Set block for new insn.
8067 (reorder_basic_blocks): Dump flow info before reoredering.
8068
5197bd50
RK
8069Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8070
8071 * alias.c (clear_reg_alias_info): Use K&R format definition.
8072 Avoid unsigned warning.
8073 * builtins.c: Use "unsigned int", not "unsigned".
8074 (target_char_cast): Use host_integerp and tree_low_cst.
8075 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
8076 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
8077 (c_getstr): Likewise.
8078 (std_expand_builtin_va_arg): Use int_size_in_bytes.
8079 (builtin_memcpy_read_str): Avoid unsigned warning.
8080 (expand_builtin_memcpy): Alignments are unsigned.
8081 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
8082 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
8083 * predict.c (expensive_function_p): LIMIT now unsigned.
8084 * resource.c (mark_target_live_regs): Make some vars unsigned.
8085 * sdbout.c: Use "unsigned int", not "unsigned".
8086 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
8087 (sdbout_source_line): Likewise.
8088 (sdbout_record_type_name): Remove "const" for NAME declaration.
8089 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
8090
2e547b13
RS
80912001-09-10 Richard Sandiford <rsandifo@redhat.com>
8092
8093 * calls.c (store_one_arg): Expand comment.
8094
0df299ae
RL
80952001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
8096
8097 * calls.c (store_one_arg): Make sure that the entire argument is
8098 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
8099
1650fcad
RH
81002001-09-09 Richard Henderson <rth@redhat.com>
8101
8102 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
8103
5bb08c84
JH
8104Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
8105
8106 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
8107
1eb356b9
RH
81082001-09-09 Richard Henderson <rth@redhat.com>
8109
8110 * config/alpha/alpha.c (alpha_next_sequence_number): New.
8111 (alpha_this_literal_sequence_number): New.
8112 (alpha_this_gpdisp_sequence_number): New.
8113 (some_operand, input_operand): Add HIGH.
8114 (local_symbolic_operand): New.
8115 (alpha_encode_section_info): New.
8116 (alpha_legitimate_address_p): Allow LO_SUM.
8117 (alpha_legitimize_address): Generate HIGH+LO_SUM.
8118 (alpha_expand_mov): Likewise.
8119 (secondary_reload_class): Check memory_operand not general_operand
8120 for FP_REGS test.
8121 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
8122 (alpha_expand_unaligned_store): Likewise.
8123 (alpha_expand_unaligned_load_words): Likewise.
8124 (alpha_expand_unaligned_store_words): Likewise.
8125 (alpha_expand_block_clear): Likewise.
8126 (print_operand): Handle %#, %*, %H.
8127 (print_operand_address): Handle LO_SUM.
8128 (find_lo_sum): New.
8129 (alpha_does_function_need_gp): Use it.
8130 (alpha_expand_block_move): Fix signed compare warnings.
8131 (alpha_sa_mask, alpha_align_insns): Likewise.
8132 * config/alpha/alpha-protos.h: Update.
8133 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
8134 (MASK_EXPLICIT_RELOCS): New.
8135 (TARGET_SWITCHES): Add -mexplicit-relocs.
8136 (EXTRA_CONSTRAINT): Add 'T'.
8137 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
8138 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
8139 (ENCODE_SECTION_INFO): Out line.
8140 (REDO_SECTION_INFO_P): New.
8141 (STRIP_NAME_ENCODING): New.
8142 (ASM_OUTPUT_LABELREF): New.
8143 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
8144 (PREDICATE_CODES): Update.
8145 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
8146 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
8147 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
8148 builtin_setjmp_receiver_er, exception_receiver_1_er,
8149 call_value_osf_1_er): New patterns.
8150 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
8151 (movqi, movhi, movsi): Add explicit $31 base register to lda.
8152 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
8153 (FINAL_PRESCAN_INSN): New.
8154
b74cf1ce
JH
8155Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
8156
8157 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
8158
2c36d070
AJ
81592001-09-08 Andreas Jaeger <aj@suse.de>
8160
8161 * i386.h (TARGET_SWITCHES): Fix description.
8162
4e2c1c44
DE
81632001-09-07 David Edelsohn <edelsohn@gnu.org>
8164
8165 * rs6000.c (num_insns_constant): Compute number of instructions
8166 more accurately.
8167
d5d8d540
DE
8168 * doc/install.texi: Explain AIX exception handling work-around.
8169 Update URL for AIX fixes.
8170
43fe47ca
JW
81712001-09-07 Jim Wilson <wilson@redhat.com>
8172
8173 * alias.c (clear_reg_alias_info): New.
8174 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
8175 * rtl.h (clear_reg_alias_info): Declare.
8176
177b41eb
RL
81772001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
8178
8179 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
8180 available.
8181 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
8182 (m16m,edivm,emulm): Change declaration to match definition.
8183
b4905cba
RL
81842001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
8185
8186 * reload.c (push_reload): Check for subreg_lowpart_p instead of
8187 SUBREG_BYTE being 0 when determining if the inner part of a subreg
8188 can be reloaded.
8189
4a063bec
RH
81902001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
8191
8192 * c-common.c (signed_or_unsigned_type): Handle machine mode types
8193 which have no corresponding C type.
8194 * fold_const.c (target_isinf,target_isnan,target_negative): Update
8195 the representation of 64-bit doubles to work with 64-bit ints.
8196
81972001-09-07 Aldy Hernandez <aldyh@redhat.com>
2fd7f0c1 8198
4a063bec
RH
8199 * config/mips/mips.c (override_options): Do not override ISA when ABI
8200 specified if MIPS_CPU_STRING_DEFAULT was specified.
2fd7f0c1 8201
9b3bd424
RH
82022001-09-07 Richard Henderson <rth@redhat.com>
8203
8204 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
8205 (express_from_1): Wrap lines.
8206 * rtlanal.c (commutative_operand_precedence): Rename from
8207 operand_preference; export.
8208 * rtl.h: Declare it.
8209 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
8210 (simplify_binary_operation): Invoke simplify_plus_minus on
8211 (CONST (PLUS ...)) as well.
8212 (struct simplify_plus_minus_op_data): New.
8213 (simplify_plus_minus_op_data_cmp): New.
8214 (simplify_plus_minus): Use them. Avoid infinite recursion with
8215 simplify_binary_operation wrt CONST.
8216
5660465a
KH
8217Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
8218
8219 * h8300-protos.h (general_operand_dst_push): Remove.
8220 * h8300.c (general_operand_dst_push): Likewise.
8221 * h8300.h (OK_FOR_T): Likewise.
8222 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
8223 * h8300.md (pushqi_h8300): New.
8224 (pushqi_h8300hs): Likewise.
8225 (pushqi): Likewise.
8226 (pushhi_h8300): Likewise.
8227 (pushhi_h8300hs): Likewise.
8228 (pushhi): Likewise.
8229
7b9e1fcf
RK
8230Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8231
8232 * genattrtab.c (attr_printf): First arg is unsigned.
8233 Clean up formatting of callers.
8234
1dee47c3
AH
82352001-09-06 Aldy Hernandez <aldyh@redhat.com>
8236
8237 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
8238 registers.
8239
4cba3b67
AJ
82402001-09-07 Andreas Jaeger <aj@suse.de>
8241
8242 * i386.h (TARGET_SWITCHES): Fix descriptions.
8243
6a9f6727
MK
82442001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8245
8246 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
8247
cffb2601
IR
82482001-09-06 Ira Ruben <ira@apple.com>
8249
8250 Remove OP_IDENTIFIER.
8251 * tree.def (OP_IDENTIFIER): Remove.
8252 * tree.c (tree_node_kind enum): Remove op_id_kind.
8253 (tree_node_kind_names): Remove "op_identifiers".
8254 (make_node): Remove OP_IDENTIFIER test.
8255 (build_op_identifier): Removed because it isn't being used.
8256 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
8257 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
8258
0615ed36
RH
82592001-09-06 Richard Henderson <rth@redhat.com>
8260
8261 * simplify-rtx.c (simplify_binary_operation): Revert last change.
8262
7d8be4da
RH
82632001-09-06 Richard Henderson <rth@redhat.com>
8264
8265 * simplify-rtx.c (simplify_binary_operation): Simplify contents
8266 of CONST.
8267
a1dc9455
FS
82682001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8269
8270 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
8271 number used for CR register.
8272
1aae372e
JL
8273Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
8274 Joern Rennecke (amylaar@cygnus.com)
8275
8276 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
8277 * h8300.c (initial_offset): Handle offset between RP and FP.
8278 (h8300_return_addr_rtx): New function.
8279 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
8280 return register.
8281 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
8282 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
8283 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
8284 (CAN_ELIMINATE, REGISTER_NAMES):
8285 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
8286
6d0a3f67
NS
82872001-09-06 Nathan Sidwell <nathan@codesourcery.com>
8288
8289 Remove TYPE_NONCOPIED_PARTS.
8290 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
8291 (struct tree_type): Remove noncopied_parts.
8292 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
8293 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
8294 (fixed_type_p): Remove.
8295 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
8296 (expand_expr, MODIFY_EXPR): Likewise.
8297 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
8298 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
8299
02071907
AM
83002001-09-06 Alan Modra <amodra@bigpond.net.au>
8301
8302 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
8303 compiler warnings.
8304 (mask64_operand): Likewise.
8305 (includes_rldic_lshift_p): Likewise.
8306 (includes_rldicr_lshift_p): Likewise.
8307
89fc3605
ZL
83082001-09-05 Ziemowit Laski <zlaski@apple.com>
8309
4a063bec 8310 * objc/objc-act.c (build_message_expr): If a class method cannot
89fc3605
ZL
8311 be found, do not issue a warning if a corresponding instance
8312 method exists in the root class.
8313
666b0481
RH
83142001-09-05 Richard Henderson <rth@redhat.com>
8315
8316 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
8317
ae6f2a1c
ZW
83182001-09-05 Zack Weinberg <zack@codesourcery.com>
8319
8320 * function.c (ggc_mark_struct_function): Mark f->outer.
8321 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
8322 * integrate.c (output_inline_function): ... not here.
8323
2ab0437e
JH
8324Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
8325
04ac5ee9
JH
8326 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
8327
2ab0437e
JH
8328 * i386.c (size_cost): New static variable.
8329 (override_function): Use size_cost when -Os is specified.
8330
8331 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
8332 properly; Use current_function_calls_eh_return.
8333 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
f5143c46 8334 use leave to avoid dependency chain.
2ab0437e
JH
8335
8336 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
8337 get BB loop_depth instead of computing it from LOOP notes.
8338
8339 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
8340
76f81d95
JDA
83412001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
8342
8343 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8344 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
8345 UNALIGNED_DOUBLE_INT_ASM_OP): Define
8346
8db4c867
JL
83472001-09-05 Jeffrey A Law (law@cygnus.com)
8348 Jason Merrill (jason@redhat.com)
8349
8350 * stor-layout.c (layout_type): Complain if an array's size can
8351 not be represented in a size_t.
8352
8353 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
8354
caa297fe
DB
83552001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
8356
4cba3b67 8357 * gcc.c: (process_command) Add parentheses around assignment
caa297fe
DB
8358 used as truth value.
8359
eecd6d9c
RS
83602001-09-05 Richard Sandiford <rsandifo@redhat.com>
8361
4cba3b67 8362 * config/mips/mips.c (save_restore_insns): Don't mark any register
eecd6d9c
RS
8363 save slots as unchanging if current_function_calls_eh_return.
8364
a39bdefc
RH
83652001-09-05 Richard Henderson <rth@redhat.com>
8366
8367 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
8368 * config/alpha/alpha-protos.h: Declare it.
8369 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
8370 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
8371 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
8372 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
8373 (REG_OK_FOR_BASE_P): Select one of the above.
8374
662704e7
RS
83752001-09-05 Richard Sandiford <rsandifo@redhat.com>
8376
8377 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
8378 (crti.o): Prefix name of object file with $(T).
8379 (crtn.o): Likewise.
8380
2be1602e
DM
83812001-09-05 David S. Miller <davem@redhat.com>
8382
8383 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
8384 * config/sparc/linux64.h: Likewise.
8385
a7939b1d
AJ
83862001-09-05 Andreas Jaeger <aj@suse.de>
8387
8388 * doc/invoke.texi (i386 Options): -mwide-multiply is not
8389 available anymore, remove the documentation.
8390 (i386 Options): Fix typo, cleanup index entries.
8391
8392 * prefix.c (concat): Remove, we can use the version from liberty.
8393
23296a36
RH
83942001-09-05 Richard Henderson <rth@redhat.com>
8395
8396 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
8397 New functions split out of md file expanders.
8398 * config/alpha/alpha-protos.h: Declare them.
8399 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
8400
522d73ab
NB
84012001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
8402
8403 * cppmacro.c (funlike_invocation_p): No need to restore context.
8404
aead1ca3
RH
84052001-09-04 Richard Henderson <rth@redhat.com>
8406
8407 * reload.c (push_reload): Export.
8408 * reload.h (push_reload): Declare it.
8409
8410 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
8411 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
8412 * config/alpha/alpha.c (alpha_legitimize_address): New.
8413 (alpha_legitimize_reload_address): Likewise.
8414 * config/alpha/alpha-protos.h: Declare them.
8415
93913281
SS
84162001-09-04 Stan Shebs <shebs@apple.com>
8417
8418 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
8419 * config/darwin.c (machopic_stub_name): Account for internally
8420 generated lib calls such as memcpy.
8421
4c21ef03
RH
84222001-09-04 Richard Henderson <rth@redhat.com>
8423
8424 * unwind.h (_UA_END_OF_STACK): New flag.
8425 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
8426
9aa5ba97
JL
8427Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
8428
8429 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
8430
58771ed1
RS
84312001-09-04 Richard Sandiford <rsandifo@redhat.com>
8432
8433 * config/mips/mips.c (save_restore_insns): Change base_offset to
8434 fp_offset in second call to mips_emit_frame_related_store.
8435
ba72e5a6
HPN
84362001-09-04 Hans-Peter Nilsson <hp@axis.com>
8437
8438 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
8439 sometimes be represented as a NOTE of type
8440 NOTE_INSN_DELETED_LABEL.
8441 (Insns): Document NOTE_INSN_DELETED_LABEL.
8442
22367161
NS
84432001-09-04 Nathan Sidwell <nathan@codesourcery.com>
8444
8445 * c-common.h (tree_dump_index): Add more comments.
8446 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
8447 (dump_option_value_info): New struct.
8448 (dump_options): New array.
8449 (dump_switch_p): Parse switch options symbolically.
8450 * doc/invoke.texi (-fdump-ast): Rename to ...
8451 (-fdump-tree): ... here. Document that options are symbolic, and
8452 not all are applicable.
8453
f7df2b9d
DM
84542001-09-04 David S. Miller <davem@redhat.com>
8455
8456 * config/sparc/sparc.md (define_splits): Kill constraints.
8457
7fbb2f84
DM
8458 Cleanup redundant and unused insn attributes.
8459 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
8460 binary, and move. Mark ialu as default.
8461 (commented out define_function_unit "alu"): Kill.
8462 (define_attr "use_clobbered"): Kill.
8463 (whole file): Kill address insn type references. Replace
8464 all unary/binary/move references with ialu.
8465 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
8466 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
8467 TYPE_IALU.
a7939b1d 8468
24697ca0
DM
8469 Simplify length insn attribute and make more judicious use
8470 of insn attribute defaulting.
8471 * config/sparc/sparc.md (all insns with length > one): Mark as
8472 insn type multi if real instructions, else use default if
8473 it is a forced splitter.
8474 (all insns with length == one): Use default insn length.
8475 (all insns of type ialu): Use default insn type.
8476
8477 Fix erroneous insn attribute settings.
8478 (addx): Set insn type to misc.
8479 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
8480 const_umulsidi3_sp64): Set insn type to imul.
a7939b1d 8481
24697ca0
DM
8482 Track SFmode vs DFmode insns according to UltraSPARC
8483 scheduling rules.
8484 * config/sparc/sparc.md ("fptype"): New attribute, default
8485 to "single".
8486 (all DFmode single insns): Mark as fptype "double".
8487
7743fdb9
JJ
84882001-09-03 Jakub Jelinek <jakub@redhat.com>
8489
8490 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
8491
964be02f
RH
84922001-09-03 Richard Henderson <rth@redhat.com>
8493
8494 * function.h (struct function): Add arg_pointer_save_area_init.
8495 * function.c (expand_function_end): Init arg_pointer_save_area.
8496 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
8497 when called from a nested function.
8498
86251d81
AMT
84992001-09-02 Angela Marie Thomas <angela@cygnus.com>
8500
8501 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
8502 is enabled.
8503
0c4992b0
JH
8504Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
8505
8506 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
8507
e27e731d
GK
85082001-09-01 Geoffrey Keating <geoffk@redhat.com>
8509
9e0e11bf
GK
8510 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
8511 (emit_push_insn): Use specified padding direction when
8512 STACK_PUSH_CODE is POST_INC.
8513
e27e731d
GK
8514 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
8515
a6ffcb2a
KG
85162001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8517
8518 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
8519
53aabfbc
NB
85202001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
8521
8522 * cppinit.c (cpp_start_read): Free the imacros list as we
8523 traverse it. Don't free the chains before returning.
8524 (_cpp_push_next_buffer): Only try pushing buffers if we've
8525 completed -imacros handling.
8526
4049df42
EC
85272001-08-31 Eric Christopher <echristo@redhat.com>
8528
8529 * gcc.c (handle_braces): Add explaination for abort.
8530
57bfa49a
RZ
85312001-08-30 Roman Zippel <zippel@linux-m68k.org>
8532
8533 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
8534 move adjustment of bitpos instead.
8535
eb3ae3e1
ZW
85362001-08-31 Zack Weinberg <zack@codesourcery.com>
8537
8538 * function.c: Remove all_functions. Make outer_function_chain
8539 static.
8540 (init_function_start): Don't add new function structure to
8541 all_functions.
8542 (find_function_data, push_function_context_to,
8543 pop_function_context_from, put_var_into_stack,
8544 trampoline_address): Update for changed structure element names.
8545 (push_function_context_to): Disentangle.
8546 (free_after_compilation): Also free F.
8547 (expand_dummy_function_end): Don't free cfun here.
8548 (put_var_into_stack): Comment why we can't use find_function_data here.
8549 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
8550 (mark_function_chain): Split into maybe_mark_struct_function and
8551 ggc_mark_struct_function. Export the latter.
8552 (init_function_once): Mark from cfun and outer_function_chain;
8553 not all_functions.
8554
8555 * function.h (struct function): Kill next_global. Rename next
8556 to outer. All users updated to match.
8557 (all_functions, outer_function_chain): Don't declare.
8558
8559 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
8560 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
8561 don't touch f->inlinable, after calling rest_of_compilation.
8562
8563 * tree.h: Forward-declare struct function. Prototype
8564 ggc_mark_struct_function.
8565
fb9282f9
KH
85662001-08-31 Kazu Hirata <kazu@hxi.com>
8567
8568 * config/h8300/h8300.md (*andorhi3): Fix typos.
8569
6268b922
KG
85702001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8571
8572 * calls.c (emit_library_call_value): Don't use a fixed
8573 argument after VA_CLOSE, i.e. out of scope in traditional C.
8574
8575 * emit-rtl.c (gen_rtvec): Likewise.
8576
78b41166
KG
85772001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8578
8579 * Makefile.in (c-pragma.o): Depend on output.h.
8580 (reorg.o): Depend on except.h.
8581
8582 * c-pragma.c: Include output.h.
8583
8584 * reorg.c: Include except.h.
8585
8586 * unwind-dw2.c: Call __builtin_alloca, not alloca.
8587
fe3e667f
RH
85882001-08-31 Richard Henderson <rth@redhat.com>
8589
ff7cc307 8590 * sched-deps.c (add_dependence): Don't elide dependency if the
fe3e667f
RH
8591 conditional used by insn is modified in elem.
8592
75b9045a
NC
85932001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
8594
8595 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
8596
a8231a01
DN
85972001-08-31 Diego Novillo <dnovillo@redhat.com>
8598
8599 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
8600 dump_switch_p.
8601
43898541
GK
86022001-08-31 Geoffrey Keating <geoffk@redhat.com>
8603
8604 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
8605 function.
8606 (stormy16_asm_out_constructor): New function.
8607 (TARGET_ASM_CONSTRUCTOR): Define.
8608 (TARGET_ASM_DESTRUCTOR): Define.
8609
6b8c9327
AJ
86102001-08-31 Andreas Jaeger <aj@suse.de>
8611
8612 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
8613 * loop.c (add_label_notes): Likewise.
8614 * reload.c (find_reloads): Likewise.
8615 * config/sh/sh.c (machine_dependent_reorg): Likewise.
8616
a9985a92
JM
86172001-08-31 Jason Merrill <jason_merrill@redhat.com>
8618
8619 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
8620 code here. Take _Unwind_{W,Sw}ord*.
8621 (read_encoded_value_with_base): Use them.
8622 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
8623 words.
8624 (extract_cie_info): Simplify read_?leb128 handling.
8625 (execute_stack_op, execute_cfa_program): Likewise.
8626 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
8627
e2470e1b
GK
86282001-08-31 Geoffrey Keating <geoffk@redhat.com>
8629
8630 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
8631 the frame pointer to pop the stack if convenient.
8632
8633 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
8634 Don't use post-increment before combine.
8635 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
8636 a call-saved register.
8637
f5dd47c4
AJ
86382001-08-31 Andreas Jaeger <aj@suse.de>
8639
8640 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
8641 code was correct.
8642
ed09481d
GK
86432001-08-30 Geoffrey Keating <geoffk@redhat.com>
8644
8645 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
8646 not DIV/MOD, of course.
8647
b8ec5764
VM
86482001-08-30 Vladimir Makarov <vmakarov@redhat.com>
8649
8650 * rtl.def: Undo my patch commited 2001-08-27.
8651
8652 * genattrtab.c: Ditto.
8653
8654 * rtl.h: Ditto.
8655
8656 * sched-int.h: Ditto.
8657
8658 * target-def.h: Ditto.
8659
8660 * target.h: Ditto.
8661
8662 * haifa-sched.c: Ditto.
8663
8664 * sched-rgn.c: Ditto.
8665
8666 * sched-vis.c: Ditto.
8667
8668 * Makefile.in: Ditto.
8669
8670 * doc/md.texi: Ditto.
8671
8672 * doc/tm.texi: Ditto.
8673
8674 * doc/contrib.texi: Ditto.
8675
8676 * doc/gcc.texi: Ditto.
8677
8678 * genattrtab.h: Remove it.
8679
8680 * genautomata.c: Remove it.
8681
8682 * genattr.c: Undo my patch and Richard Henderson's patch commited
8683 2001-08-27.
8684
9f5b774b 8685Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
f4926e19
R
8686
8687 * config.gcc (h8300-*-elf*): New case.
8688 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
8689 (SUBTARGET_CPP_SPEC): Define.
8690 (EXTRA_SPECS): Define.
8691 (SUBTARGET_EXTRA_SPECS): Define.
8692 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
8693 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
8694
8c062645
R
8695Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
8696
8697 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
8698 (LIB2FUNCS_EXTRA): Define.
8699 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
8700 config/h8300/fixunssfsi.c: New file.
8701
6f41623f
KH
87022001-08-30 Kazu Hirata <kazu@hxi.com>
8703
8704 * config/h8300/h8300.md (zero_extendqihi2): Changes to
f63d1bf7 8705 define_expand to accommodate target-specific attributes.
6f41623f
KH
8706 (anonymous zero_extendqihi2 patterns): New.
8707
ee437932
R
8708Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
8709
8710 * h8300.md (*andorhi3): New pattern.
8711
63a57e0f
R
8712Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
8713
8714 * h8300.c (dosize): Fix test for "sub".
8715
95602da1
R
8716Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
8717
8718 * c-typeck.c (pointer_diff): Try to eliminate common term before
8719 doing conversions.
8720
ef7112de
NC
87212001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
8722
8723 * config/arm/arm.c (arm_compute_initial_elimination_offset):
8724 Account for the saves of the FP registers.
8725
8726 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
8727 (TEXT_SECTION_ASM_OP): Define.
8728 (INIT_SECTION_ASM_OP): Define.
8729 (FINI_SECTION_ASM_OP): Define.
8730 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
8731 (RDATA_SECTION_FUNCITON): Provide prototype.
8732
52fdbf26
GK
87332001-08-29 Geoffrey Keating <geoffk@redhat.com>
8734
8735 * reload1.c (move2add_note_store): Correct typo checking for
8736 argument pushes.
8737
c63b1ae8
AM
87382001-08-29 Andrew MacLeod <amacleod@redhat.com>
8739
8740 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
8741 note should not be considered outside the libcall block.
8742
ec83eb53
KG
87432001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8744
8745 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
8746
5965bbf8
KH
87472001-08-29 Kazu Hirata <kazu@hxi.com>
8748
8749 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
8750
366a7b27
KH
87512001-08-29 Kazu Hirata <kazu@hxi.com>
8752
8753 * config/h8300/h8300-protos.h: Add a prototype for
8754 emit_logical_op.
8755 * config/h8300/h8300.c (emit_logical_op): New.
8756 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
8757 (andsi3): Likewise.
8758 (iorhi3): Likewise.
8759 (iorsi3): Likewise.
8760 (xorhi3): Likewise.
8761 (xorsi3): Likewise.
8762
6e9c53b4
JDA
87632001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
8764
8765 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
8766 comparison with rtx INTVAL.
8767 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
8768 expression.
8769 * pa.h (FUNCTION_ARG_SIZE): Likewise.
8770
53251a55
KH
87712001-08-29 Kazu Hirata <kazu@hxi.com>
8772
8773 * config/h8300/lib1funcs.asm: Update the copyright. Fix
8774 comment typos.
8775
0cb3708d
KH
87762001-08-29 Kazu Hirata <kazu@hxi.com>
8777
07322342
KH
8778 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
8779 (reg n) to (mem (pre_dec (reg n))
0cb3708d
KH
8780 (anonymous movsi pattern): Likewise.
8781
39fc3cc7
KH
87822001-08-29 Kazu Hirata <kazu@hxi.com>
8783
07322342 8784 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
39fc3cc7 8785
b3a68dba
KH
87862001-08-29 Kazu Hirata <kazu@hxi.com>
8787
07322342
KH
8788 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
8789 several special constants.
b3a68dba 8790
45a4bc1d
KH
87912001-08-29 Kazu Hirata <kazu@hxi.com>
8792
8793 * config/h8300/lib1funcs.asm: Fix comment typos.
8794
c3d03e3a
KG
87952001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8796
8797 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
8798 Fix format specifier warnings.
f5dd47c4 8799
c3d03e3a
KG
8800 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
8801 inet_makeaddr, semctl): Prototype.
8802
8803 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
8804 (save_restore_insns): Use base_offset, not gp_offset.
8805
8806 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
8807 (ASM_OUTPUT_BYTE): Fix format specifier warning.
8808
a7b01a4b
RH
88092001-08-29 Richard Henderson <rth@redhat.com>
8810
8811 * bb-reorder.c (function_tail_eff_head): New.
8812 (record_effective_endpoints): Set it.
8813 (fixup_reorder_chain): Use it.
8814
c43f84d7
KG
88152001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8816
8817 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
8818
c0cbc013
DJ
88192001-08-28 Dale Johannesen <dalej@apple.com>
8820
8821 * config/darwin.c (machopic_function_base_name): Add const
8822 qualifier to a string.
8823 (darwin_encode_section_info): Ditto.
8824
252cf812
KG
88252001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8826
8827 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
8828 function definition.
8829
d59c5346
DB
88302001-08-28 Daniel Berlin <dan@cgsoftware.com>
8831
8832 * df.h (struct df): Add rts_order variable.
8833
8834 * df.c (df_visit_next_rts): New function.
8835 (df_visit_next): Renamed to df_visit_next_rc
8836 (df_analyse_1): Allocate/compute/free rts_order as well.
8837 (df_rd_global_compute): Use df_visit_next_rc instead of
8838 df_visit_next.
8839 (df_ru_global_compute): Use df_visit_next_rts instead of
8840 df_visit_next.
f5dd47c4 8841
d59c5346
DB
8842 * flow.c (flow_reverse_top_sort_order_compute): New function.
8843
8844 * basic-block.h: Add prototype.
8845
e0c39f1b
DB
88462001-08-28 Daniel Berlin <dan@cgsoftware.com>
8847
8848 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
8849 blocks, the BB_REACHABLE is now set, rather than aux being
8850 non-NULL. Update the test to reflect this.
f5dd47c4 8851
a098df27
EC
88522001-08-28 Eric Christopher <echristo@redhat.com>
8853
8854 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
8855 config/mips/crti.asm: Ditto.
8856
46f9491e
EC
88572001-08-28 Eric Christopher <echristo@redhat.com>
8858 Richard Henderson <rth@redhat.com>
8859
8860 * c-pragma.h (add_weak): Move prototype from here...
8861 * output.h (add_weak): ... to here.
8862 * varasm.c (add_weak): Fix typo.
8863 * config/mips/crti.asm: New file.
8864 * config/mips/crtn.asm: Ditto.
8865 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
8866 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
8867 (INVOKE__main): Ditto.
8868 (INIT_SECTION_ASM_OP): New.
8869 (FINI_SECTION_ASM_OP): Ditto.
8870 (STARTFILE_SPEC): Add crti.
8871 (ENDFILE_SPEC): Add crtn.
8872 * config/mips/elf64.h: Same.
8873 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
8874 Remove.
8875 * config/mips/vxworks.h: Ditto.
8876 * config/mips/t-elf: Support crti and crtn.
8877
5dde0143
AO
88782001-08-28 Alexandre Oliva <aoliva@redhat.com>
8879
8880 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
8881 INSN_LIST.
8882
967603ef
RH
88832001-08-28 Richard Henderson <rth@redhat.com>
8884
8885 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
8886 (one_cmplbi2 splitter): Remove redundant test.
8887
4f400cf6
DJ
88882001-08-28 Dale Johannesen <dalej@apple.com>
8889
8890 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
8891
c976fa88
DS
88922001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
8893
8894 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
8895
1aef44a7
SS
88962001-08-28 Stan Shebs <shebs@apple.com>
8897
8898 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
8899 (UNALIGNED_SHORT_ASM_OP): Define.
8900 (UNALIGNED_INT_ASM_OP): Define.
8901
68350f4f
WC
89022001-08-28 Will Cohen <wcohen@redhat.com>
8903
8904 * config/rs6000/rs6000.md (store_multiple): Correct RTL
8905 generation for first set.
8906
b5a696fb 89072001-08-27 Roman Zippel <zippel@linux-m68k.org>
c23bb84b
RH
8908
8909 * flow.c (redirect_edge_succ_nodup): Return new edge.
8910 (try_simplify_condjump): Use new edge.
8911 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
8912
b5a696fb
RZ
8913 * cse.c (cse_basic_block): Skip note instructions.
8914
c05148e8
RH
89152001-08-27 Richard Henderson <rth@redhat.com>
8916
fa4e13e0
RH
8917 * combine.c (combine_simplify_rtx): Don't reverse condition
8918 if there is no reverse for the condition.
8919 (simplify_comparison): Don't simplify subregs from INT to FP.
8920
c05148e8
RH
8921 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
8922 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
8923 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
8924 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
8925 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
8926 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
46f9491e 8927
f21bdd05
RZ
89282001-08-27 Roman Zippel <zippel@linux-m68k.org>
8929
b7b59ff4
RZ
8930 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
8931 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
8932 (pushqi1): New.
8933 (adddi_dilshr32, adddi_dishl32): Only data register can be
8934 source for mem destination.
8935
f21bdd05
RZ
8936 * expmed.c (store_bit_field): Ignore adjustment to bitpos
8937 and use bitnum to decide about register move.
8938
a224278b
RH
89392001-08-27 Richard Henderson <rth@redhat.com>
8940
8941 * genattr.c (main): Emit state_t even when not doing scheduling.
8942
80c29cc4
RZ
89432001-08-27 Roman Zippel <zippel@linux-m68k.org>
8944 Richard Henderson <rth@redhat.com>
8945
8946 * gcse.c (reg_first_set, reg_last_set): Replace with ...
8947 (reg_avail_info, current_bb): ... these.
8948 (oprs_unchanged_p, record_last_reg_set_info): Use them.
8949 (compute_hash_table): Likewise.
8950
bce7bfe8
RZ
89512001-08-27 Roman Zippel <zippel@linux-m68k.org>
8952
8953 * flow.c (verify_flow_info): Use checksums to verify edges.
8954
ce4a5723
RH
89552001-08-27 Richard Henderson <rth@redhat.com>
8956
8957 * genautomata.c (expand_automata): Always create a description.
8958
859cb4d8
GK
89592001-08-27 Geoffrey Keating <geoffk@redhat.com>
8960
8961 * optabs.c (expand_binop): Correctly handle the carry in multiword
8962 add/subtract operations.
8963
b7a0c86f
FF
89642001-08-27 Fred Fish <fnf@be.com>
8965
8966 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
8967 __SIZE_TYPE__.
8968
67a44b16
GK
89692001-08-27 Geoffrey Keating <geoffk@redhat.com>
8970
8971 * reload.c (find_reloads_toplev): Back out this change:
8972
8973 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
8974
8975 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
8976 mem if the address is a mode_dependent_address_p.
8977
acd7baf7
VM
89782001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
8979
c23bb84b 8980 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
acd7baf7
VM
8981 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
8982 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
8983 RTL constructions.
46f9491e 8984
acd7baf7
VM
8985 * genattr.c (main): New variable num_insn_reservations. Increase
8986 it if there is DEFINE_INSN_RESERVATION. Output automaton based
8987 pipeline hazard recognizer interface.
8988
8989 * genattrtab.h: New file.
46f9491e 8990
acd7baf7
VM
8991 * genattrtab.c: Include genattrtab.h.
8992 (attr_printf, check_attr_test, make_internal_attr,
8993 make_numeric_value): Move protypes into genattrtab.h. Define them
8994 as external.
8995 (num_dfa_decls): New global variable.
8996 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8997 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8998 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8999 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
9000
9001 * genautomata.c: New file.
9002
9003 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
46f9491e 9004
c23bb84b 9005 * sched-int.h: (curr_state): Add the external definition for
acd7baf7
VM
9006 automaton pipeline interface.
9007 (haifa_insn_data): Add comments for members blockage and units.
46f9491e 9008
acd7baf7
VM
9009 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
9010 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
9011 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
9012 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
9013 TARGET_SCHED_DFA_POST_CYCLE_INSN,
9014 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
9015 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
9016 macros.
9017 (TARGET_SCHED): Use the new macros.
9018
9019 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
9020 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
9021 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
9022 dfa_bubble): New members in gcc_target.sched.
46f9491e 9023
c23bb84b 9024 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
acd7baf7
VM
9025 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
9026 (insn_queue): Redefine it as pointer to array.
9027 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
9028 INSN_QUEUE_SIZE.
9029 (max_insn_queue_index_macro_value): New variable.
9030 (curr_state, dfa_state_size, ready_try): New varaibles for
9031 automaton interface.
9032 (ready_element, ready_remove, max_issue): New function prototypes
9033 for automaton interface.
9034 (choose_ready): New function prototype.
9035 (insn_unit, blockage_range): Add comments.
9036 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
9037 FUNCTION_UNITS_SIZE == 0.
9038 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
9039 actual_hazard, potential_hazard): Add comments.
9040 (insn_cost): Use cost -1 as undefined value. Remove
9041 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
9042 pipeline interface.
9043 (ready_element, ready_remove): New functions for automaton
9044 interface.
9045 (schedule_insn): Add new code for automaton pipeline interface.
9046 (queue_to_ready): Add new code for automaton pipeline interface.
9047 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
9048 (debug_ready_list): Print newline when the queue is empty.
9049 (max_issue): New function for automaton pipeline interface.
9050 (choose_ready): New function.
9051 (schedule_block): Add new code for automaton pipeline interface.
9052 Print ready list before scheduling each insn.
9053 (sched_init): Add new code for automaton pipeline interface.
9054 Initiate insn cost by -1.
9055 (sched_finish): Free the current automaton state and finalize
9056 automaton pipeline interface.
46f9491e 9057
acd7baf7
VM
9058 * sched-rgn.c: Include target.h.
9059 (init_ready_list, new_ready, debug_dependencies): Add new code for
9060 automaton pipeline interface.
9061
9062 * sched-vis.c: Include target.h.
9063 (get_visual_tbl_length): Add code for automaton interface.
9064 (target_units, print_block_visualization): Add comments.
46f9491e 9065
c23bb84b 9066 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
acd7baf7
VM
9067 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
9068 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
9069 (getruntime.o, genautomata.o): New entries.
9070 (genattrtab.o): Add new dependency file genattrtab.h.
9071 (genattrtab): Add new dependencies. Link it with `libm.a'.
9072 (getruntime.o, hashtab.o): New entries for canadian cross.
9073
9074 * doc/md.texi: Description of automaton based model.
46f9491e 9075
acd7baf7
VM
9076 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
9077 Add comments.
9078 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
9079 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
9080 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
9081 TARGET_SCHED_DFA_POST_CYCLE_INSN,
9082 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
9083 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
9084 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
9085 hook descriptions.
9086 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
9087 MAX_DFA_ISSUE_RATE): New macro descriptions.
46f9491e 9088
acd7baf7
VM
9089 * doc/contrib.texi: Add dfa based scheduler contribution.
9090
9091 * doc/gcc.texi: Add more information about genattrtab.
9092
95005c21
DN
90932001-08-27 Diego Novillo <dnovillo@redhat.com>
9094
9095 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
9096 an RTL basic block.
9097
278ed218
RH
90982001-08-27 Richard Henderson <rth@redhat.com>
9099
9100 * function.c (expand_function_end): Don't init arg_pointer_save_area.
9101 (get_arg_pointer_save_area): New. Create an init it here.
9102 (fix_lexical_addr): Use it.
9103 * function.h: Declare it.
9104 * builtins.c (expand_builtin_setjmp_receiver): Use it.
9105 * stmt.c (expand_nl_goto_receiver): Use it.
9106
9f5cd0c5
RH
91072001-08-27 Richard Henderson <rth@redhat.com>
9108
36d7136e
RH
9109 * final.c (final_scan_insn): Don't enter APP_ON mode for
9110 empty asm strings.
9111
9f5cd0c5
RH
9112 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
9113 alignment for assemble_integer for DW_EH_PE_aligned.
225b9cb9 9114 * except.c (output_function_exception_table): Likewise.
9f5cd0c5 9115
4a56401d
AJ
91162001-08-26 Andreas Jaeger <aj@suse.de>
9117
9118 * c-tree.h: Add prototyp for c_sizeof_nowarn.
9119
c96bd05e 91202001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
46f9491e 9121
278ed218 9122 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
c96bd05e 9123
c5059423
AM
91242001-08-27 Alan Modra <amodra@bigpond.net.au>
9125
9126 * config/rs6000/rs6000.c (mask_operand): Rewrite without
9127 bit-shifting loop.
9128 (mask64_operand): Likewise.
9129 (rldic_operand): Delete.
9130 (includes_lshift64_p): Delete.
9131 (includes_rldic_lshift_p): New function.
9132 (includes_rldicr_lshift_p): New function.
9133 (print_operand): Don't call rldic_operand in case 'W'.
9134 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
9135 (includes_lshift64_p): Remove.
9136 (includes_rldic_lshift_p): Declare.
9137 (includes_rldicr_lshift_p): Declare.
9138 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
9139 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
9140 Replace match_operand rldic_operand predicate with
9141 const_int_operand. Replace includes_lshift64_p condition with
9142 includes_rldic_lshift_p.
9143 <ashldi3_internal 64 bit rldicr patterns>: New.
9144
7a75edb7
AJ
91452001-08-27 Andreas Jaeger <aj@suse.de>
9146
9147 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
9148 * errors.c: Likewise.
9149 * final.c: Likewise.
9150 * dwarf2asm.c: Likewise.
9151 * doprint.c (checkit): Likewise.
9152 * diagnostic.c: Likewise.
9153 * collect2.c: Likewise.
9154 * calls.c: Likewise.
9155 * c-semantics.c (build_stmt): Likewise.
9156 * c-format.c (status_warning): Likewise.
9157 * c-errors.c (pedwarn_c99): Likewise.
9158 * builtins.c (validate_arglist): Likewise.
9159 * config/pj/pj.c (pj_printf): Likewise.
9160 * fix-header.c: Likewise.
9161 * gcc.c: Likewise.
9162 * gcov.c (fnotice): Likewise.
9163 * gensupport.c (message_with_line): Likewise.
9164 * mips-tfile.c: Likewise.
9165 * protoize.c (notice): Likewise.
9166 * read-rtl.c (fatal_with_file_and_line): Likewise.
9167 * rtl-error.c: Likewise.
9168 * tradcpp.c: Likewise.
9169 * tree.c: Likewise.
9170 * cp/tree.c (build_min_nt): Likewise.
9171 (build_min): Likewise.
9172 * cp/lex.c: Likewise.
9173 * cp/errfn.c: Likewise.
9174 * cp/rtti.c (create_pseudo_type_info): Likewise.
9175
6baff4c1
DC
9176Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
9177
9178 * df.c (df_uses_record): Return after recording all uses
9179 in ASM_OPERANDS.
9180
772b1404
DB
91812001-08-26 Daniel Berlin <dan@cgsoftware.com>
9182
9183 * df.c (df_insn_modify): Realloc the INSN table here, if
9184 necessary, here, too.
9185
f9ad2367
AH
91862001-08-26 Aldy Hernandez <aldyh@redhat.com>
9187
278ed218
RH
9188 * config/mips/mips.c (mips_function_value): Handle complex return
9189 values.
f9ad2367 9190
cf728d61
HPN
91912001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
9192
9193 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
9194 unshared.
9195 * reload.c (make_memloc): Copy result if it is still
9196 reg_equiv_memory_loc[regno] on return.
9197 (subst_reloads) [ENABLE_CHECKING]: Check that none of
9198 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
9199 reg_equiv_mem are modified by the substitutions.
9200
6ab16dd9
JH
9201Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
9202
9203 * predict.c (expensive_function_p): New.
9204 * rtl.h (expensive_function_p): Declare.
9205 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
9206 (use_fast_prologue_epilogue): New static variable.
9207 (expand_prologue): Set it; emit short prologues if unset.
9208 (expand_epilogue): Likewise.
9209
4b58290f
GK
92102001-08-22 Geoffrey Keating <geoffk@redhat.com>
9211
9212 * config.gcc: Add stormy16-*-elf case.
9213 * config/stormy16/stormy-abi: New file.
9214 * config/stormy16/stormy16-lib2.c: New file.
9215 * config/stormy16/stormy16-protos.h: New file.
9216 * config/stormy16/stormy16.c: New file.
9217 * config/stormy16/stormy16.h: New file.
9218 * config/stormy16/stormy16.md: New file.
9219 * config/stormy16/t-stormy16: New file.
9220
d3fe11e6
JH
9221Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
9222
9223 * i386.h (no-accumulate-outgoing-args): Use proper mask.
9224
1cb18e3c
DE
92252001-08-24 David Edelsohn <edelsohn@gnu.org>
9226
9227 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
9228 descriptor members are pointer size, not constant 4.
9229 * config/rs6000/rs6000.md (define_splits): Remove more unused
9230 constraints.
9231
c3bef1a9
KG
92322001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9233
9234 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
9235
20787c01
AJ
92362001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
9237
9238 * cp/rtti.c (VPARAMS): Fix parameter.
9239
a242b083
ZW
92402001-08-24 Zack Weinberg <zackw@panix.com>
9241
9242 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
9243 to zero.
9244 (mode_for_extraction): No need for #ifdefs. Add default-case abort
9245 to switch.
9246 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
9247 in if controlling use of insv.
9248 (extract_bit_field): Likewise, for extv and extzv.
9249
653753c5
JH
9250Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
9251
9252 * i386.md (movcc peep2): Fix load of 0.
9253
ada11335
KG
92542001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9255
9256 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
9257 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
9258
0213a355
JM
92592001-08-23 Jason Merrill <jason_merrill@redhat.com>
9260
4ae08f95
JM
9261 * c-pragma.h: Move weak_syms and weak_decls...
9262 * varasm.c: ...here. Now static.
9263 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
9264 depend on HANDLE_PRAGMA_WEAK.
9265
0213a355
JM
9266 * c-common.c (c_alignof, c_alignof_expr): Move here...
9267 * c-typeck.c: ...from here.
9268 * c-tree.h, c-common.h: Adjust.
9269
3e7c7805
BS
92702001-08-23 Bernd Schmidt <bernds@redhat.com>
9271
9272 * config/ia64/ia64.c (rws_update): If !pred, set write_count
9273 instead of incrementing it.
9274
3b63eac4
BS
9275 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
9276 asm ready, don't try to move them all into the same array element.
9277
ab75d1f1
JH
9278Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
9279
9280 * function.c (thread_prologue_and_epilogue_insns): Avoid
9281 fallthru flag on edge to exit.
9282
9283 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
9284
9285 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
9286 dead edges.
9287
038c2f50
LB
92882001-08-23 Lars Brinkhoff <lars@nocrew.org>
9289
9290 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
9291 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
9292 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
9293 Remove prototype.
9294
40803cd5
LB
92952001-08-23 Lars Brinkhoff <lars@nocrew.org>
9296
9297 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
9298 replace "GNU CC" with "GCC".
9299
7109d286
RH
93002001-08-23 Richard Henderson <rth@redhat.com>
9301
9302 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
9303 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
9304 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
9305 Need GR between FR and not GR_AND_FR.
9306 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
9307 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
9308 AR regs before GR regs.
9309 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
9310 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
9311 (REGISTER_MOVE_COST): Update.
9312 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
9313
26a952a8
RH
93142001-08-23 Richard Henderson <rth@redhat.com>
9315
9316 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
9317 a register class.
9318
1558b970
GK
93192001-08-22 Geoffrey Keating <geoffk@redhat.com>
9320
9321 * reload1.c (emit_reload_insns): Don't look for notes
9322 on a NULL store_insn.
9323
0d587737
KG
93242001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9325
9326 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
9327 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
9328 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
9329 format specifier warnings.
9330 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
9331
429e2a45
DB
93322001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
9333
9334 * config/i386/i386-protos.h: Correct declaration of
9335 i386_pe_asm_named_section.
9336
85f3e748
JDA
93372001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
9338
9339 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
9340 variable i.
9341 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
20787c01 9342
29401c30
NB
93432001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
9344
9345 * cpperror.c (print_location): Don't show _Pragma.
9346 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
9347 and file change callback generation here.
9348 (stack_include_file): Update use of cpp_push_buffer.
9349 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
9350 (struct cpp_buffer): Remove type, pfile members.
9351 * cppinit.c (cpp_handle_option): Use free_chain.
9352 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
9353 (skip_escaped_newlines, get_effective_char, lex_percent): Take
9354 a cpp_reader rather than a cpp_buffer.
9355 (skip_escaped_newlines, get_effective_char, skip_block_comment,
9356 skip_line_comment, parse_string, lex_percent, lex_dot,
9357 _cpp_lex_token): Update accordingly.
9358 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
9359 generation here.
9360 (cpp_push_buffer): Update prototype.
9361 (run_directive): Update use of cpp_push_buffer.
9362 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
9363 handle_assertion): Update use of run_directive.
9364 * cpplib.h (enum cpp_buffer_type): Remove.
9365 (cpp_push_buffer): Update prototype.
9366 * fix-header.c (read_scan_file): Update.
9367
8060c8ee
MK
93682001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9369
9370 * gcc.c (struct prefix_list): Change prefix to const char *.
9371
3e4eece3
MK
93722001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9373
9374 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
9375
2270623a
JM
93762001-08-22 Jason Merrill <jason_merrill@redhat.com>
9377
23ac7d7e
JM
9378 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
9379 from a new MEM.
9380
2270623a
JM
9381 * jump.c (squeeze_notes): Take parms by reference. Handle END being
9382 a squeezable note.
9383 * rtl.h: Adjust.
9384 * ifcvt.c (dead_or_predicable): Adjust.
9385 * loop.c (find_and_verify_loops): Adjust.
9386 * stmt.c (expand_end_case): Adjust.
9387 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
9388 head and end insn pointers in the basic block, not just local copies.
9389 (merge_blocks_move_predecessor_nojumps): Likewise.
9390
1322177d
LB
93912001-08-22 Lars Brinkhoff <lars@nocrew.org>
9392
9393 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
9394 bitmap.h, builtin-types.def, builtins.c, builtins.def,
9395 c-aux-info.c, c-common.c, c-common.def, c-common.h,
9396 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
9397 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
9398 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
9399 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
9400 conditions.h, config.gcc, configure.frag, configure.in,
9401 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
9402 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
9403 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
9404 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
9405 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
9406 emit-rtl.c, errors.c, errors.h, except.c, except.h,
9407 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
9408 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
9409 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
9410 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
9411 gencheck.c, gencodes.c, genconfig.c, genemit.c,
9412 genextract.c, genflags.c, gengenrtl.c, genmultilib,
9413 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
9414 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
9415 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
9416 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
9417 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
9418 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
9419 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
9420 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
9421 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
9422 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
9423 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
9424 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
9425 params.h, predict.c, predict.def, predict.h, prefix.c,
9426 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
9427 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
9428 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
9429 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
9430 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
9431 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
9432 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
9433 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
9434 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
9435 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
9436 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
9437 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
9438 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
9439 xcoffout.h: replace "GNU CC" with "GCC".
9440
340f7e7c
RH
94412001-08-21 Richard Henderson <rth@redhat.com>
9442
9443 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
9444 (final_scan_insn): Consider jump tables data even if we have no
f63d1bf7 9445 independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
340f7e7c
RH
9446 ADDR_VEC_ALIGN.
9447 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
9448 (ASM_OUTPUT_CASE_END): Remove.
9449 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
9450 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
9451 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
9452
d523b40e
RH
94532001-08-21 Richard Henderson <rth@redhat.com>
9454
bd7b9a0f
RH
9455 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
9456 at barrier insns. Emit stop bits before barriers.
9457
687eccc0
RH
9458 * flow.c (flow_find_cross_jump): Don't consider unconditional
9459 return insns for commoning.
9460
ba712955
RH
9461 * final.c (compute_alignments): Fix typo.
9462
d523b40e
RH
9463 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
9464 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
9465 (store_bit_field): Use mode_for_extraction more places.
9466 (extract_bit_field): Likewise.
9467
e1b86c9e
ZW
94682001-08-21 Zack Weinberg <zackw@panix.com>
9469
9470 * caller-save.c: Don't include insn-codes.h.
9471 (reg_save_code, reg_restore_code): Make arrays of int.
9472 All uses updated to match.
9473 (insert_save, insert_restore): No need to initialize "code"
9474 variable upon declaration.
9475 * Makefile.in: update dependencies; fix typo in clean rule.
9476
b64d061e
RH
94772001-08-21 Richard Henderson <rth@redhat.com>
9478
9479 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
9480 (merge_if_block): Handle fallout from same.
9481
91db4a92
KG
94822001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9483
9484 * builtins.c (type_to_class): Fix typo in last change.
9485
45d29407
RH
94862001-08-21 Richard Henderson <rth@redhat.com>
9487
20787c01 9488 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
45d29407
RH
9489 ia64_asm_output_label.
9490
209218a6
RH
9491 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
9492 copy of gp while the real gp register contains garbage.
9493
da920570
ZW
94942001-08-21 Zack Weinberg <zackw@panix.com>
9495
9496 * expmed.c (mode_for_extraction): New function.
9497 (store_bit_field, extract_bit_field): Use it.
9498 * expr.h: Prototype it and provide an enum for its first argument.
9499
9500 * combine.c, function.c, recog.c: Don't include insn-codes.h.
9501 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
9502 and digging through the insn_data tables.
9503 * Makefile.in: Update dependencies.
9504
d8693c6f
NB
95052001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
9506
9507 * cppfiles.c (stack_include_file): line-map.c now handles include
9508 depth.
9509 (handle_missing_handler): Similarly.
9510 (_cpp_execute_include): Similarly.
9511 (_cpp_pop_file_buffer): Similarly.
9512 * cpphash.h (struct cpp_reader): Remove system_include_depth,
9513 buffer_stack_depth and include_depth.
9514 * cpplib.c (do_include_common): line-map.c now handles include depth.
9515 (cpp_push_buffer): Similarly.
9516 (_cpp_pop_buffer): Similarly.
9517 * cppmacro.c (builtin_macro): Update.
9518 * line-map.c (init_line_maps): Set depth.
9519 (add_line_map): Increment "used" earlier. Update and use the
9520 include depth.
9521 (trace_include): Use the include depth.
9522 * line-map.h (struct line_maps): New member depth.
9523
5993019d
NB
95242001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
9525
9526 * cppfiles.c (stack_include_file): Don't handle -H here.
9527 * cppinit.c (cpp_start_read): Set include tracing after
9528 cpp_post_options and after stacking the main file.
9529 * line-map.c (trace_include): New.
9530 (init_line_maps, add_line_map): Update.
9531 * line-map.h (struct line_maps): New member trace_includes.
9532
e5eba70a
NB
95332001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
9534
9535 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
9536 * cppfiles.c (stack_include_file): Only stack a file if there
9537 is something to do. Return a boolean indicating whether a
9538 buffer was stacked or not.
9539 (_cpp_execute_include): Similarly.
9540 (_cpp_read_file): Similarly.
9541 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
9542
c1a6a8dc
SS
95432001-08-21 Sam Steingold <sds@gnu.org>
9544
9545 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
9546 (RECACHE): keep obufp_before_macroname up to date
9547
ad82abb8
ZW
95482001-08-21 Zack Weinberg <zackw@panix.com>
9549
9550 * stmt.c: Don't include insn-codes.h.
9551 (expand_end_case): Machine specific logic moved to expr.c.
9552 No need to worry about __builtin_classify_type.
9553 (check_for_full_enumeration_handling, emit_case_nodes):
9554 Kill #if 0 blocks.
9555
9556 * builtins.o (expand_builtin_classify_type): Split up so code
9557 can be shared with fold_builtin_classify_type.
9558 (type_to_class, fold_builtin_classify_type): New functions.
9559 (fold_builtins): Handle __builtin_classify_type.
9560
9561 * expr.c (do_tablejump): Now static.
9562 (case_values_threshold, try_casesi, try_tablejump): New;
9563 code mostly from stmt.c (expand_end_case).
9564 (expr.h): Update prototypes.
9565
9566 * Makefile.in (stmt.o): Update dependencies.
9567
e9e4208a
WC
95682001-08-21 Will Cohen <wcohen@redhat.com>
9569
ad82abb8
ZW
9570 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
9571 declaration of variable i.
9572 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
9573 declaration of variable i.
e9e4208a 9574
29d2c7a5
RH
95752001-08-21 Richard Henderson <rth@redhat.com>
9576
9577 * crtstuff.c: Fix thinko last change. Move list tails to start
9578 of CRT_END section. Tidy ifdefs.
9579 (__EH_FRAME_BEGIN__): Always static for ELF.
9580 (__do_global_ctors_1): Rename from __frame_dummy.
9581 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
9582 name change; don't hide __EH_FRAME_BEGIN__.
9583
487b97e0
RH
95842001-08-21 Richard Henderson <rth@redhat.com>
9585
3aed1981
RH
9586 * gdbinit.in: Move break on exit after break on fancy_abort.
9587
487b97e0
RH
9588 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
9589 sized types.
9590
d7bc7a98
NB
95912001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
9592
9593 * cpphash.h (_cpp_push_next_buffer): New.
9594 * cppinit.c (do_includes): Remove.
9595 (push_include, free_chain, _cpp_push_next_buffer): New.
9596 (cpp_start_read): Use them to rework command line option handling.
9597 (cpp_handle_option): Combine handling of -include and -imacros.
9598 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
9599 appropriate. Always insert missing \n at EOF.
9600 * cpplib.c (start_directive): Get the directive position right.
9601 * cppmain.c (cb_file_change): Always print the first line, unless
9602 preprocessed.
9603
bb1a503c
AJ
96042001-08-20 Andreas Jaeger <aj@suse.de>
9605
9606 * profile.c (compute_branch_probabilities): Remove extra new-line
9607 in error message.
9608 * flow.c (verify_flow_info): Likewise.
9609
006844a3
DN
96102001-08-20 Diego Novillo <dnovillo@redhat.com>
9611
9612 * basic-block.h (basic_block): Add new field 'flags'.
9613 (BB_REACHABLE): Define.
9614 (expunge_block): Declare.
9615 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
9616 (EXIT_BLOCK_PTR): Ditto.
9617 (expunge_block): Remove static declaration.
9618 (cleanup_cfg): Clear bb->aux on every basic block.
9619 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
9620 computing reachability.
9621 (delete_unreachable_blocks): Delete block b if b->flags has
9622 BB_REACHABLE unset.
9623
0760faf9
DN
96242001-08-20 Diego Novillo <dnovillo@redhat.com>
9625
9626 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
9627
96bd19a7
KG
96282001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9629
9630 * sparc.c (sparc_variable_issue): Fix typo in last change.
9631
a7b0c484
RH
96322001-08-20 Richard Henderson <rth@redhat.com>
9633
9634 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
9635
010dc908
JDA
96362001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
9637
9638 * pa.h (RETURN_IN_MEMORY): Improve comment.
9639
3de87bf2
JJ
96402001-08-20 Janis Johnson <janis187@us.ibm.com>
9641
9642 * doc/invoke.texi (Profiling options): Clarify the interactions
9643 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
9644
c8a6b916
JO
96452001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
9646
9647 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
9648 command.
9649
27a14487
MK
96502001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9651
9652 * gcc.c (make_relative_prefix): Allocate a sufficiently large
9653 buffer.
9654
ca8264b4
RH
96552001-08-20 Richard Henderson <rth@redhat.com>
9656
9657 * final.c (end_final): Fix typo last change.
9658
51c04256
NB
96592001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
9660
9661 * cppinit.c (init_standard_includes): The returned buffer
9662 is already malloc-ed.
9663 * gcc.c (add_prefix): Similarly.
9664 * prefix.c (translate_name): Update to support clear buffer
9665 ownership rules.
9666 (update_path): Similarly. Be sure to free any newly allocated
9667 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
9668 (tr): New function.
9669 * prefix.h (update_path): Update prototype and document.
9670 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
9671 up and update to new buffer ownership rules.
9672 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
9673
247a370b
JH
9674Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
9675
9676 * final.c (compute_alignments): New function.
9677 (init_insn_lengths): Do not care label_align.
9678 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
9679 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
9680 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
9681 (shorted_branches): Realloc label_align array; do
9682 not call init_insn_lengths; Do not care about loop alignments.
9683 * output.h (compute_alignments): Declare.
9684 * toplev.c (rest_of_compilation): Call compute_alignments.
9685 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
9686
9687 * predict.c (block_info_def): Add npredecesors, remove nvisited;
9688 change visited to tovisit.
9689 (propagate_freq): Use faster traversing algorithm.
9690 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
9691 to tovisit; reverse meaning.
9692
9693 * predict.c (struct block_info_def): Remove nvisited.
9694 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9695 (estimate_bb_frequencies): Call mark_dfs_back_edges.
9696
13fac94a
GK
96972001-08-19 Geoffrey Keating <geoffk@redhat.com>
9698
9699 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
9700 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
9701 (TARGET_FUSED_MADD): New.
9702 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
9703 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
9704 the multiply-add instructions.
9705
2919600a
RH
97062001-08-19 Richard Henderson <rth@redhat.com>
9707
bb1a503c 9708 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
2919600a
RH
9709 is aligned to pointer size.
9710
fd1a3f73
RH
97112001-08-19 Richard Henderson <rth@redhat.com>
9712
9713 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
9714 display markers during final schedule.
9715
c49f511c
RH
97162001-08-19 Richard Henderson <rth@redhat.com>
9717
9718 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
9719
c45632b7
RH
97202001-08-19 Richard Henderson <rth@redhat.com>
9721
9722 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
9723 in the same string.
9724 (ASM_NAME_TO_STRING): Remove.
9725 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
9726 in the same string. Remove support for expressions.
9727
90675921
RH
97282001-08-19 Richard Henderson <rth@redhat.com>
9729
9730 * config/i386/i386.md (tablejump): Make an expander; handle
9731 pic relative addressing here.
9732 (tablejump_1): Rename from tablejump_pic.
9733 (casesi): Remove.
9734
ec523c2f
RH
97352001-08-19 Richard Henderson <rth@redhat.com>
9736
9737 * regclass.c (fix_register): Fix typo.
9738
443621af
RH
97392001-08-18 Richard Henderson <rth@redhat.com>
9740
9741 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
9742 (struct _Unwind_Context): Expand br_loc to hold it.
9743 (uw_frame_state_for): Handle leaf functions better.
9744 (uw_update_reg_address): Update for br_loc change.
9745
213f974a
RH
97462001-08-18 Richard Henderson <rth@redhat.com>
9747
9748 * crtstuff.c: Move list heads before code that uses them.
9749 (__JCR_LIST__): Remove initial null.
9750 (frame_dummy, __frame_dummy): Do java registration here ...
9751 (__do_global_ctors_aux): ... not here.
9752
3dff7ed0
RH
9753 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
9754 (__do_global_dtors_aux): Update to match.
9755 (__JCR_LIST__, __do_jv_register_classes): New.
9756 (.init): Call it.
9757 * config/ia64/crtend.asm (__JCR_END__): New.
9758 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
9759 instead of an indirect LTOFF22 reloc.
9760
6ca3c22f
RH
97612001-08-18 Richard Henderson <rth@redhat.com>
9762
9763 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
9764 * regclass.c (init_reg_sets_1): Fix typo.
9765 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
9766 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
9767 (ia64_compute_frame_size): Make ar.unat live when in use.
9768 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
9769 for ar.pfs; remove ar.unat handling.
bb1a503c 9770 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
6ca3c22f
RH
9771 call-saved.
9772 (PREDICATE_CODES): Add ar_pfs_reg_operand.
9773 * config/ia64/ia64-protos.h: Update decls.
9774 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
9775 (sibcall_pic): Likewise.
9776
f83594c4
RH
97772001-08-18 Richard Henderson <rth@redhat.com>
9778
b395ddbe
RH
9779 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
9780 pred_rel_mutex when searching for insn_group_barrier.
8e8de254
RH
9781 * config/ia64/ia64.md (cycle_display): Combine the expander
9782 and insn patterns.
b395ddbe 9783
f83594c4
RH
9784 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
9785 bit before asm as needed.
9786
eced69b5
RH
97872001-08-18 Richard Henderson <rth@redhat.com>
9788
9789 * timevar.def (TV_MACH_DEP): New.
9790 * toplev.c (rest_of_compilation): Use it.
9791 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
9792
5ed3149c
ZW
97932001-08-18 Zack Weinberg <zackw@panix.com>
9794
9795 * unwind-dw2.c (execute_stack_op): Add default aborts to
9796 the inner switches to prevent warnings.
9797
20cc76d5
RH
97982001-08-18 Richard Henderson <rth@redhat.com>
9799
9800 * timevar.h (struct timevar_time_def): Change element type to float.
9801 (ticks_to_msec, clocks_to_msec): Likewise.
9802 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
9803 (get_time): Likewise.
9804 (timevar_print): Adjust zero check and printing to match.
9805
b649398a
ZW
98062001-08-18 Zack Weinberg <zackw@panix.com>
9807
9c34dbbf
ZW
9808 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
9809 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
9810 Eliminate overfull or underfull hboxes.
9811
98122001-08-18 Zack Weinberg <zackw@panix.com>
9813
9814 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
b649398a 9815
76f4925a
ZW
98162001-08-18 Zack Weinberg <zackw@panix.com>
9817
9818 * haifa-sched.c: Convert to target hooks. Macros replaced
9819 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
9820 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
9821 MD_SCHED_FINISH, and HAVE_cycle_display.
9822 * target-def.h (TARGET_SCHED_ADJUST_COST,
9823 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
9824 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
9825 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
9c34dbbf 9826 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
76f4925a
ZW
9827 New hook #defines to be overridden.
9828 (TARGET_SCHED): Bring them all together.
9829 (TARGET_INITIALIZER): Update.
9830 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
9c34dbbf 9831 instead of 'struct rtx_def *' throughout.
76f4925a
ZW
9832 (struct sched): New set of hooks for the scheduler.
9833 * Makefile.in (haifa-sched.o): Depend on target.h.
9834 * doc/tm.texi: Document the new scheduler hooks, together in
9835 their own section, instead of scattered around.
9836 Fix a bunch of underfull/overfull hboxes.
9837
9838 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
9839 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
9840 sparc.h: Don't define any of the old scheduler macros.
9841
9842 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
9843 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
9844 sparc.c: Create hook functions from code extracted from
9845 corresponding target header, or make existing hooks static, as
9846 appropriate. Set the appropriate entries in targetm.
9847
9848 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
9849 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
9850 rs6000-protos.h, s390-protos.h, sparc-protos.h:
9851 Remove prototypes for functions which are now static.
9852
9853 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
9854 related gunk; the Haifa scheduler is now the only choice.
9855
ef89d648
ZW
98562001-08-18 Zack Weinberg <zackw@panix.com>
9857
9858 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
9859 * genopinit.c: Put floating point divide insns in sdiv_optab.
9860 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
9861 * config/gofast.h, config/c4x/c4x.h,
9862 config/ia64/hpux_longdouble.h, config/mips/mips.h,
9863 config/pa/long_double.h, config/rs6000/sysv4.h,
9864 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
9865 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
9866 (init_optabs): Use init_optabv for overflow-trapping optabs.
9867 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
9868 cmp_optab RTX codes so have_insn_for can find them.
9869
9870 * optabs.c (expand_simple_binop, expand_simple_unop,
9871 have_insn_for, gen_sub3_insn): New interfaces.
9872 * expr.h: Prototype new functions.
9873 (enum optab_methods): Move here from optabs.h.
9874
9875 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
9876 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
9877 Use new functions instead of working directly with optabs.
9878 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
9879 unroll.c: Don't include optabs.h.
9880 * caller-save.c, combine.c, function.c, stmt.c: Just include
9881 insn-codes.h, not optabs.h.
9882 * Makefile.in: Update dependencies.
9883
9884 * combine.c (make_compound_operation, simplify_comparison):
9885 Fix typos testing for this or that instruction.
9886
9e23c02d
HB
98872001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9888
9889 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
9890 generating libgcc.a.
9891
1c0cc57e
KG
98922001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9893
9894 * except.c (TYPE_HASH): Delete.
9c34dbbf 9895
1c0cc57e
KG
9896 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
9897 HOST_WIDE_INT.
9898
9899 * tree.c (TYPE_HASH): Delete.
9900
9901 * tree.h (TYPE_HASH): Define.
9902
13c508d9
GS
99032001-08-18 Graham Stott <grahams@redhat.com>
9904
f63d1bf7 9905 * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13c508d9
GS
9906 define_split.
9907 (adddi3_internal_2+2): Likewise.
9908 (eh_set_lr_di+1): Likewise.
9909
c8af3574
RH
99102001-08-17 Richard Henderson <rth@redhat.com>
9911
9912 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9913 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
9914 * dwarf2asm.c: ... here.
9915 * dwarfout.c: Remove them.
9916
9917 * varasm.c (assemble_integer): Add align parameter.
9918 (assemble_real, output_constant, output_constructor): Likewise.
9919 * output.h: Update decls.
9920 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
9921 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
9922 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
9923 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
9924 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
9925 Update all callers.
9926
9927 * final.c (end_final): Abort profile block generation if we
a1f300c0 9928 haven't layed it out properly.
c8af3574
RH
9929 * output.h (assemble_eh_integer): Remove stale decl.
9930 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
9931 (min_align): New.
9932 (assemble_integer): Handle unaligned data.
9933 (assemble_real): Abort on unaligned data.
9934 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
9935 anything useful.
9936 (default_dtor_section_asm_out_destructor): Use assemble_align.
9937 (default_named_section_asm_out_constructor): Likewise.
9938 (default_ctor_section_asm_out_constructor): Likewise.
9939 * config/darwin.c (machopic_asm_out_constructor): Likewise.
9940 (machopic_asm_out_destructor): Likewise.
9941 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
9942 (nextstep_asm_out_destructor): Likewise.
9943 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
9944 (vms_asm_out_destructor): Likewise.
9945
920ae24b
RH
99462001-08-17 Richard Henderson <rth@redhat.com>
9947
9948 * config/mips/iris6.h (TARGET_IRIX6): New.
9949 (current_section_name, current_section_flags): New.
9950 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
9951 (MAX_OFILE_ALIGNMENT): New.
9952 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
9953 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9c34dbbf 9954 (copy_file_data): Split out from
920ae24b
RH
9955 (mips_asm_file_end): ... here.
9956 (mips_asm_file_start): Remove extra .section directive. Use
9957 tmpfile instead of mips_make_temp_file.
9958 (mips_unique_section): Use const char * as needed for warnings.
9959 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
9960 re-add align parameter.
9961 (iris6_asm_named_section): New.
9962 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
9963 (iris6_asm_output_align, iris6_section_align_1): New.
9964 (iris6_asm_file_start, iris6_asm_file_end): New.
9965 * config/mips/mips-protos.h: Update decls.
9966
5cc3b0c7
JJ
99672001-08-17 Janis Johnson <janis187@us.ibm.com>
9968
9969 * doc/install.texi (Install GCC): Add links to build status pages.
9970 (Specific): Ditto.
9971 (Final install): Ditto; request updates for specific info
9972
bb74c963
NB
99732001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
9974
9975 * cpperror.c (print_location): Don't take a file name; use the
9976 line map instead.
9977 (_cpp_begin_message): Similarly.
9978 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9979 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9980 (cpp_pedwarn_with_file_and_line): Remove.
9981 * cppfiles.c (stack_include_file): Update; set filename to stdin
9982 here when appropriate.
9983 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
9984 (_cpp_begin_message): Don't take a file name.
9985 * cppinit.c: Add comment.
9986 * cpplex.c: Fix end-of-directive indicator.
9987 * cpplib.c: Don't include intl.h.
9988 (run_directive, do_diagnostic): Update.
9989 (do_line): Update to not use nominal_fname.
9990 (cpp_push_buffer): Don't take a filename.
9991 * cpplib.h (struct ht): Remove.
9992 (cpp_push_buffer): Don't take a filename.
9993 (cpp_pedwarn_with_file_and_line): Remove.
9994 * cppmacro.c (struct cpp_macro): Remove file.
9995 (builtin_macro): Update.
9996 (_cpp_create_definition): Update.
9997 * cppmain.c: Correct comment.
9998 * fix-header.c (read_scan_file): Update.
9999
2d76cb1a
KH
100002001-08-17 Kazu Hirata <kazu@hxi.com>
10001
10002 * sbitmap.c: Fix comment formatting.
10003 * sched-deps.c: Likewise.
10004 * sibcall.c: Likewise.
10005 * simplify-rtx.c: Likewise.
10006 * ssa.c: Likewise.
10007 * ssa-ccp.c: Likewise.
10008 * stor-layout.c: Likewise.
10009 * timevar.c: Likewise.
10010 * toplev.c: Likewise.
10011 * unwind-dw2.c: Likewise.
10012 * unwind-dw2-fde.c: Likewise.
10013 * varasm.c: Likewise.
10014
0779eeb2
JDA
100152001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
10016
10017 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
10018 or larger than an integer in memory.
10019
2f78c311
ZW
100202001-08-17 Zack Weinberg <zackw@panix.com>
10021
10022 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
10023 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
10024 * rtl.h: Don't forward-declare union tree_node here. Don't
10025 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
10026 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
10027 and tree respectively.
10028 * tree.h: Don't forward-declare struct rtx_def here. Don't
10029 typedef tree here. Change all uses of struct rtx_def *,
10030 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
10031 and tree respectively.
10032
32fa4d4a
RH
100332001-08-17 Richard Henderson <rth@redhat.com>
10034
10035 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
10036 config/mips/openbsd.h: Fix typos last change.
10037
93ee12c4
GP
100382001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10039
2f78c311 10040 * doc/invoke.texi (Optimize Options): The default for
93ee12c4
GP
10041 -finline-limit is 600.
10042
f99ffb60
RH
100432001-08-17 Richard Henderson <rth@redhat.com>
10044
10045 * varasm.c (text_section): Allow TEXT_SECTION to override the
10046 printing of TEXT_SECTION_ASM_OP.
10047 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
10048 (DATA_SECTION, BSS_SECTION): Remove.
10049 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
10050 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
10051 Rename from s/_NAME//.
10052 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
10053 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
10054 (TEXT_SECTION): ... here. New.
10055 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
10056 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
10057 * config/mips/openbsd.h: Likewise.
10058 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
10059 (mips_asm_file_end): Likewise test.
10060 (mips_output_function_epilogue): Likewise. Switch back to data
10061 section after emitting the function.
10062
33c09f2f
RH
10063 * doc/tm.texi (Sections): Document TEXT_SECTION.
10064
b38a75e5
RH
100652001-08-17 Richard Henderson <rth@redhat.com>
10066
10067 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
10068 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
10069
51084e13
RH
100702001-08-17 Richard Henderson <rth@redhat.com>
10071
10072 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
10073 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
10074 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
10075 Add aligned attribute.
10076
100772001-08-17 Andrew Haley <aph@cambridge.redhat.com>
ff0a63e8
AH
10078
10079 * config/sh/sh.md: Add modes to unspecs in first insn to match
10080 those in the second.
10081
10082 * Makefile.in: Fix collect2 copy for Cygwin.
10083
abde42f7
JH
10084Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
10085
10086 Install the proper patch.
10087 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
10088 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
10089 (expand_function_start): Likewise.
10090 * stmt.c (expand_decl): Likewise.
10091 * varasm.c (make_decl_rtx): Likewise.
10092
3446405d
JH
10093Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
10094
10095 * final.c: Undo my previous accidental checkin.
10096 * output.h: Likewise.
10097 * tm.texi: Likewise.
10098
715bdd29
RH
100992001-08-16 Richard Henderson <rth@redhat.com>
10100
10101 * varasm.c (named_section_flags): Remove align parameter.
10102 * varasm.c, dwarf2out.c: Update all callers.
10103 * output.h: Update prototypes.
10104
10105 * target.h (target.asm_out.named_section): Remove align parameter.
2f78c311 10106 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
715bdd29
RH
10107 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
10108 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
10109 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
10110 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
10111
10112 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
10113 (get_named_section_flags, set_named_section_flags): New.
10114 (named_section_flags): Use them.
10115 (named_section): Do decl vs section flags check here...
10116 (default_section_type_flags): ... not here.
10117 (init_varasm_once): Create in_named_htab.
10118 (resolve_unique_section): Mark reloc unused.
10119
09e07be6
RH
101202001-08-16 Richard Henderson <rth@redhat.com>
10121
10122 * varasm.c (force_const_mem): Keep pool alignment in bits.
10123 (output_constant_pool): Use assemble_align.
10124
8daaf93c
ZW
101252001-08-16 Zack Weinberg <zackw@panix.com>
10126
10127 * doc/tm.texi: Remove extra @table command.
2f78c311 10128
d9b6874b
ZW
101292001-08-16 Zack Weinberg <zackw@panix.com>
10130
10131 * final.c (shorten_branches): Clear the end of the label_align
10132 array only if we made it larger. Break up messy expressions
10133 for clarity.
10134
10135 * diagnostic.c (internal_error): Check for error recursion
10136 before doing ICE suppression.
10137
10138 * timevar.c: Timing variables now count in milliseconds.
10139 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
10140 (get_time): Not here.
10141 (timevar_print): Don't print any timer whose user, cpu, and
10142 wall times are all zero as displayed.
10143 * timevar.h: Update comment aboout units. Make timevar
10144 counters unsigned.
10145
25e22dc0
JH
10146Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
10147
10148 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
10149 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
10150 (expand_function_start): Likewise.
10151 * stmt.c (expand_decl): Likewise.
10152 * varasm.c (make_decl_rtx): Likewise.
10153
7256efa6
JM
101542001-08-16 Jason Merrill <jason_merrill@redhat.com>
10155
10156 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
10157 (finalize_record_size): Don't set TYPE_USER_ALIGN.
10158
5972a110
MK
101592001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
10160
10161 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
10162 variables.
10163
0d3c08b6
AJ
101642001-08-16 Andreas Jaeger <aj@suse.de>
10165
10166 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
10167 prototype.
10168
44ce0063
JW
10169Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
10170
10171 * rtl.h (only_sets_cc0_p): New prototype.
10172 * jump.c (sets_cc0_p): Handle INSN.
10173 (only_sets_cc0_p): New function.
10174 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
10175 (tidy_fallthru_edge): Likewise.
10176 * integrate.c (copy_insn_list): Likewise.
10177 * unroll.c (unroll_loop): Likewise.
10178 (copy_loop_body): Likewise.
10179
cff27f1d
JE
101802001-08-15 Jason Eckhardt <jle@redhat.com>
10181
10182 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
10183
6ad48e84
JH
10184Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
10185
10186 * predict.c (struct block_info_def): Remove nvisited.
10187 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
10188 (estimate_bb_frequencies): Call mark_dfs_back_edges.
10189
a1f300c0 10190 * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
6ad48e84
JH
10191 (ix86_adjust_cost): Teach scheduler that latency to load operand can
10192 be masked.
10193
cc10816d
JH
10194Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
10195
10196 * predict.def: Update hitrates.
10197
fd7e958f
RH
101982001-08-15 Richard Henderson <rth@redhat.com>
10199
10200 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
10201
abb788ba
JL
10202Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
10203
10204 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
10205 note from its associated jump.
10206
d9b761a9 102072001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
d9b6874b 10208
d9b761a9
UW
10209 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
10210 also on 64-bit s390x targets.
10211
095bb276
NC
102122001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
10213
10214 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
10215 function.
10216 (arm_expand_prologue): Handled nested functions which take a
10217 variable argument list.
10218 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
10219 macro with an invocation of
10220 arm_compute_initial_elimination_offset.
10221 * config/arm/arm-protos.h: Prototype
d9b6874b 10222 arm_compute_initial_elimination_offset.
095bb276 10223
98999d8b
GP
102242001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10225
10226 * doc/install.texi (Specific, avr): Fix markup.
10227 (Specific, c4x): Ditto.
10228
b213a5ca
MK
102292001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
10230
10231 * predict.c (dump_prediction): Change `bool' parameter to `int'.
10232
c895acf2
GDR
102332001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
10234
10235 * Makefile.in (OBJS): Add rtl-error.o
10236 (rtl-error.o): New rule.
10237 (diagnostic.o): Adjust dependency.
10238 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
10239 error_for_asm, _fatal_insn, _fatal_insn_not_found,
10240 warning_for_asm): Move to...
10241 rtl-error.c: ...here. New file.
10242
ddee9e8d
RH
102432001-08-14 Richard Henderson <rth@redhat.com>
10244
10245 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
10246 if USING_SJLJ_EXCEPTIONS.
10247
eb20f668
SE
102482001-08-14 Steve Ellcey <sje@cup.hp.com>
10249
10250 * tlink.c (scan_linker_output): Check string for unsatisfied in
10251 addition to undefined and unresolved.
10252
540ceb67
GS
102532001-08-14 Graham Stott <grahams@redhat.com>
10254
10255 * libgcc2.c (*): Replace EH_FRAME_SECTION with
10256 EH_FRAME_SECTION_NAME.
10257
2d515d60
JH
10258Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
10259
d9b6874b
ZW
10260 * genattrtab.c (simplify_test_exp_in_temp): New function.
10261 (simplify_test_exp): Avoid explicit use of temporary obstack.
10262 (simplify_cond, insert_right_side, evaluate_eq_attr,
10263 simplify_and_tree, simplify_or_tree, eliminate_known_true):
10264 Use simplify_test_exp_in_temp.
10265 (optimize_attrs): Iterate until expression stabilizes.
2d515d60 10266
881e8e29 102672001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
d9b6874b 10268
881e8e29
UW
10269 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
10270 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
10271
f22db2ef
RH
102722001-08-13 Richard Henderson <rth@redhat.com>
10273
10274 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
10275 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
10276 * config/arm/conix-elf.h: Likewise.
10277
eb296bd9
GK
102782001-08-13 Geoffrey Keating <geoffk@redhat.com>
10279
51610b0a
GK
10280 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
10281 in gcc.c.
10282 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
10283
eb296bd9
GK
10284 * gcse.c (hash_scan_set): Expressions that are set as part of
10285 jump instructions are not available.
10286
7ee20eba
UW
102872001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
10288
10289 * config/s390/s390.c (print_operand, s390_function_prologue,
10290 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
10291
02c9b1ca
RH
102922001-08-13 Richard Henderson <rth@redhat.com>
10293
10294 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
10295 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
10296 * doc/tm.texi (Exception Region Output): Document it.
10297
99e2a354
GK
102982001-08-13 Geoffrey Keating <geoffk@redhat.com>
10299
10300 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
10301 DWARF2 instead of stabs by default.
10302
2fc1c679
DE
103032001-08-13 David Edelsohn <edelsohn@gnu.org>
10304
10305 * config/rs6000/rs6000.c: Include optabs.h.
10306
710fdaad
DE
103072001-08-13 David Edelsohn <edelsohn@gnu.org>
10308
10309 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
10310 save/restore routines.
10311 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
10312
16757495
AJ
103132001-08-13 Andreas Jaeger <aj@suse.de>
10314
10315 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
10316 the english is correct.
10317
e78d8e51
ZW
103182001-08-13 Zack Weinberg <zackw@panix.com>
10319
10320 * expr.h: Split out optab- and libfunc-related code to...
10321 * optabs.h, libfuncs.h: ... these new headers.
10322
10323 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
10324 (OPTABS_H): New.
10325 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
10326 dependencies.
10327 * mkconfig.sh: Don't include insn-codes.h from config.h.
10328
10329 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
10330 enum insn_code is available. Move reload_in_optab and
10331 reload_out_optab array declarations to optabs.h.
10332 * regmove.c (gen_add3_insn): Move to optabs.c, export from
10333 there, prototype in expr.h.
10334 * gencodes.c: Cleanup: zap global variables, don't use
10335 printf where puts will do, don't bother defining MAX_INSN_CODE
10336 which nothing uses, let CODE_FOR_nothing get its value implicitly.
10337
10338 * genemit.c, genopinit.c: Include optabs.h in generated file.
10339 * genoutput.c: Include insn-codes.h in generated file.
10340 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
16757495
AJ
10341 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
10342 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
e78d8e51
ZW
10343 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
10344 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
10345 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
10346 Include optabs.h.
16757495 10347 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
e78d8e51
ZW
10348 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
10349 config/m88k/m88k.c, config/sparc/sparc.c:
10350 Include libfuncs.h.
10351 * reload.c: Include expr.h and optabs.h before reload.h.
10352 * config/alpha/alpha.c: Include tree.h before reload.h.
10353 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
10354 and reload.h in that order.
10355 * config/sparc/sparc.c: Include debug.h.
10356 * recog.c: Include insn-codes.h.
10357
050e4ca2
AJ
103582001-08-13 Andreas Jaeger <aj@suse.de>
10359
10360 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
10361 s390*linux.
10362
dd49a9ec
TP
103632000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
10364
10365 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
10366 * gcc.c (init_spec): Fix typo in comment.
10367 * varasm.c (data_section): Fix typo in comment.
10368
d195b46f
JH
10369Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
10370
10371 * predict.c (dump_prediction): New argument "USED".
10372 (combine_predictions_for_insn): Determine the used heuristics,
10373 output the case no heuristic applied.
10374 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
10375
afea8580
AJ
103762001-08-13 Andreas Jaeger <aj@suse.de>
10377
10378 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
10379 register %rip.
10380
5d0cab94
KH
103812001-08-13 Kazu Hirata <kazu@hxi.com>
10382
10383 * jump.c: Fix formatting.
10384
7ba7767b
KH
103852001-08-13 Kazu Hirata <kazu@hxi.com>
10386
10387 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
10388 length.
10389
5fe2e41b
GK
103902001-08-12 Geoffrey Keating <geoffk@redhat.com>
10391
353df065
GK
10392 * loop.c (check_dbra_loop): Use condjump_label to compute
10393 jump_label.
10394
5fe2e41b
GK
10395 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
10396 to better document the files they're in.
10397
a2b498cb
ZW
103982001-08-12 Zack Weinberg <zackw@panix.com>
10399
10400 * recog.h (struct insn_operand_data): Shrink 'mode' field
10401 to 16 bits.
10402
dc297297
KH
104032001-08-12 Kazu Hirata <kazu@hxi.com>
10404
10405 * gcc.c: Fix comment formatting.
10406 * gccspec.c: Likewise.
10407 * gcov.c: Likewise.
10408 * gcse.c: Likewise.
10409 * genemit.c: Likewise.
10410 * gengenrtl.c: Likewise.
10411 * genrecog.c: Likewise.
10412 * gensupport.c: Likewise.
10413 * ggc-page.c: Likewise.
10414 * global.c: Likewise.
10415 * graph.c: Likewise.
10416 * ifcvt.c: Likewise.
10417 * integrate.c: Likewise.
10418 * lcm.c: Likewise.
10419 * libgcc2.c: Likewise.
10420 * loop.c: Likewise.
10421 * mbchar.c: Likewise.
10422 * optabs.c: Likewise.
10423 * predict.c: Likewise.
10424 * prefix.c: Likewise.
10425 * profile.c: Likewise.
10426 * protoize.c: Likewise.
10427 * real.c: Likewise.
10428 * recog.c: Likewise.
10429 * regclass.c: Likewise.
10430 * regmove.c: Likewise.
10431 * reg-stack.c: Likewise.
10432 * reload1.c: Likewise.
10433 * resource.c: Likewise.
10434 * rtlanal.c: Likewise.
10435 * rtl.c: Likewise.
10436
f0d1c3bd
KH
104372001-08-12 Kazu Hirata <kazu@hxi.com>
10438
10439 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
10440 a tree representing a constant is passed to the macro.
10441
d9f6800d
RH
104422001-08-12 Richard Henderson <rth@redhat.com>
10443
10444 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
10445 (rs6000_elf_asm_out_destructor): New.
10446 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
10447 (DTORS_SECTION_ASM_OP): Remove.
10448 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10449 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
10450
6ba57472
DE
104512001-08-12 David Edelsohn <edelsohn@gnu.org>
10452
10453 Revert:
10454 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10455 * gcc.c (set_collect_gcc_options): New function, split out from
10456 main.
10457 Ignore elided switches.
10458 (do_spec_1): Invoke before executing command.
10459 (set_input): Export.
10460 Move declaration ...
10461 * gcc.h (set_input): ... here.
10462 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
10463 file.
10464
270fc29b
RH
104652001-08-12 Richard Henderson <rth@redhat.com>
10466
10467 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
10468 thinko wrt TARGET_RELOCATABLE.
10469
21c38ecb
NB
104702001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
10471
10472 * fix-header.c (cb_file_change): Update prototype.
10473
94aca342
ZW
104742001-08-11 Zack Weinberg <zackw@panix.com>
10475
10476 * toplev.c (set_float_handler): Make static.
10477 * toplev.h: Don't prototype set_float_handler.
10478
10479 * simplify-rtx.c: Don't include setjmp.h.
10480 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
10481 New functions.
10482 (simplify_unary_operation, simplify_binary_operation): Use them,
10483 via do_float_handler.
10484
10485 * fold-const.c: Don't include setjmp.h.
10486 (exact_real_inverse_1): New function.
10487 (exact_real_inverse): Use it, via do_float_handler.
10488
10489 * varasm.c: Don't include setjmp.h.
10490 (assemble_real_1): New function.
10491 (assemble_real): Use it, via do_float_handler.
10492 Call internal_error if we get a trap here.
10493
10494 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
10495 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
10496
31cdd499
ZW
104972001-08-11 Zack Weinberg <zackw@panix.com>
10498
10499 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
10500 STACK_BOUNDARY if not already defined.
10501
10502 * calls.c, function.c, reload1.c, explow.c: Don't default
10503 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
10504 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
10505
10506 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
10507 to run-time test.
10508
10509 * doc/tm.texi: Document that STACK_BOUNDARY is required;
10510 clarify difference between it and PREFERRED_STACK_BOUNDARY.
10511
2b220265
NB
105122001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
10513
10514 * cppmacro.c (enter_macro_context): Push macro expansions even
10515 if empty.
10516
d0101753
FS
105172001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10518
10519 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
10520 (rs6000_elf_section_type_flags): Actually return a value.
10521
994fe660 105222001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
10523
10524 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
994fe660 10525 Clean up code: add missing comments and prototypes, fix warnings,
02c9b1ca 10526 remove obsolete code, fix spacing to conform to coding style.
994fe660 10527
f314b9b1 105282001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
10529
10530 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
f314b9b1
UW
10531 and TARGET_ASM_CLOSE_PAREN.
10532 (regclass_map): CC register belongs to class NO_REGS.
afea8580 10533 (legitimize_pic_address): Don't generate unnecessary moves
f314b9b1 10534 (to avoid confusing loop optimization).
afea8580
AJ
10535 (check_and_change_labels): Replace jump_long by indirect_jump.
10536 (s390_final_chunkify): Don't start a new literal pool on section
f314b9b1
UW
10537 switch in 64-bit code.
10538 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
afea8580 10539
f314b9b1
UW
10540 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
10541 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
afea8580 10542 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
f314b9b1
UW
10543 modes correctly.
10544 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
10545 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
10546 (CONST_COSTS): Fixed incorrect costs.
10547
10548 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
10549 Use emit_jump instead of emit_jump_insn (gen_jump).
afea8580 10550 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
f314b9b1
UW
10551 (to avoid confusing flow analysis).
10552 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
10553 (casesi, casesi_jump): New.
10554 (jump_long): Removed. Functionality merged into indirect_jump.
10555 (indirect_jump): Accept address_operand, not just register_operand.
10556 (cjump_long, icjump_long): Use same logic as indirect_jump.
10557 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
10558 Fixed broken setjmp/longjmp handling.
10559 (do_builtin_setjmp_setup): Removed.
10560
10561 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
10562 broken GNU as versions that don't accept .quad with large
10563 negative values. Use hexadecimal output instead.
10564 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
10565 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
10566 FUNCTION_EPILOGUE): Removed. Now in targetm.
10567
10568 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
10569
10570 * config/s390/fixdfdi.h: Add missing copyright statement.
10571 Fix type conflicts on 64-bit. Add missing SFmode routines.
10572
10573 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
10574 email address.
10575
dddba205
RH
105762001-08-11 Richard Henderson <rth@redhat.com>
10577
10578 * rtl.h (REG_EH_RETHROW): Remove.
10579 * rtl.c (reg_note_name): Update.
10580 * combine.c (distribute_notes): Don't check for it.
10581
ab61c93f
RH
105822001-08-11 Richard Henderson <rth@redhat.com>
10583
10584 * combine.c (distribute_notes): Place REG_SETJMP.
10585
58f4de4f
RH
105862001-08-11 Richard Henderson <rth@redhat.com>
10587
10588 * doc/extend.texi (Arrays and pointers implementation): Discourage
10589 relying on sign-extension of pointers.
10590
f841565e
L
105912001-08-11 H.J. Lu <hjl@gnu.org>
10592
10593 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
10594 in_dtors.
10595 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
10596 RDATA_SECTION_ASM_OP.
10597
d8393f64
GP
105982001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10599
10600 * doc/install.texi (Specific, c4x): Fix cross-reference to the
10601 main manual to work both for info and HTML versions.
afea8580 10602
bef985f3 106032001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
760a4879 10604 Matt Kraai <kraai@alumni.carnegiemellon.edu>
afea8580 10605
bef985f3
NB
10606 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
10607 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
10608 (struct cpp_pool): New member first.
10609 * cppinit.c (append_include_chain): Plug memory leaks.
10610 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
10611 Allocate pragma structures from the (aligned) macro pool to
10612 avoid leaking memory.
10613 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
10614 so we don't leak memory.
10615 * hashtable.c (ht_destroy): New.
10616 * hashtable.h (ht_destroy): New.
10617
f80f7e8c
NB
106182001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
10619 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10620
10621 * c-lex.c (map): Make const.
10622 (cb_file_change): Update for callback passing a line map.
10623 Don't assume we have a previous map. Remove sanity check
10624 about popping too many files.
10625 * cpperror.c (print_location): Make map const.
10626 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
10627 (cpp_make_system_header): Similarly.
10628 (search_from): Similarly.
10629 (_cpp_execute_include): Don't remember where we came from.
10630 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
10631 (struct cpp_reader): Make map const.
10632 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
10633 * cpplib.c (do_line): Update; line maps now hold sysp.
10634 (cpp_push_buffer): Similarly.
10635 (_cpp_do_file_change): Similarly; callback with map instead.
10636 (cpp_get_line_maps): Constify return value.
10637 (_cpp_pop_buffer): Update.
10638 * cpplib.h (struct cpp_file_change): Remove.
10639 (struct cpp_callbacks): Update.
10640 (cpp_get_line_maps): Constify return value.
10641 * cppmacro.c (_cpp_create_definition): Update.
10642 * cppmain.c (struct printer): Constify map.
10643 (maybe_print_line): Similarly.
10644 (print_line): Similarly. Deduce flags 1 and 2 here.
10645 (cb_file_change): Update.
10646 * line-map.c (free_line_maps): Warn regardless.
10647 (add_line_map): Return pointer to const. When passed NULL to_file
10648 with LC_LEAVE, use the obvious values for the return point so the
10649 caller doesn't have to figure them out.
10650 (lookup_line): Return pointer to const.
10651 (print_containing_files): Take pointer to const.
10652 * line-map.h (struct line_map): New members reason, sysp.
10653 (add_line_map): Return pointer to const.
10654 (lookup_line): Similarly.
10655 (print_containing_files): Take pointer to const.
10656
bb948ad3
RZ
106572001-08-10 Roman Zippel <zippel@linux-m68k.org>
10658 Richard Henderson <rth@redhat.com>
10659
10660 * regmove.c (regmove_optimize): Avoid setting a register twice in
10661 a parallel set.
10662
cbf4c36f
RH
106632001-08-10 Richard Henderson <rth@redhat.com>
10664
10665 * doc/extend.texi (Arrays and pointers implementation): Document
10666 behavior of pointer/integer conversion.
10667
db80cc1f 106682001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
10669
10670 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
db80cc1f 10671
fe203faf
RH
106722001-08-10 Richard Henderson <rth@redhat.com>
10673
10674 * doc/extend.texi (C Implementation): New chapter.
10675 * doc/gcc.texi (Top): Link it in.
10676
894aeeb0
AC
106772001-08-10 Andrew Cagney <ac131313@redhat.com>
10678
10679 * doc/install.texi (Specific): Fix CVS merge botch.
10680
d67c7dd8
RH
106812001-08-10 Richard Henderson <rth@redhat.com>
10682
10683 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
10684 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
10685
19652adf
ZW
106862001-08-10 Zack Weinberg <zackw@stanford.edu>
10687
10688 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
10689 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
10690 this macro is now required.
10691
10692 * cselib.c (cselib_process_insn), flow.c (propagate_block),
10693 loop.c (find_and_verify_loops), reload.c (reload): Check
10694 for rtx code of CALL_INSN, not CALL, when deciding if we
10695 need to check for REG_SETJMP note.
10696
10697 * gcse.c (compute_hash_table, compute_store_table): Update
10698 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
10699 logic.
10700
10701 * config/avr/avr.c: Fix typo.
10702 * config/convex/convex.c (expand_movstr): Use adjust_address.
10703 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
10704 variable.
10705 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
10706 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
10707 Fix typo.
10708 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
10709 Do define STACK_BOUNDARY.
10710 * config/i370/i370.c: Include expr.h.
10711 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
10712 config/pa/som.h, config/v850/v850.h: Take in_ctors and
10713 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
10714 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
10715 * config/m88k/m88k.c: Include c-tree.h after expr.h.
10716 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
10717 * config/romp/romp.c: Include expr.h after tree.h.
10718 Include toplev.h.
10719 (output_fpop): Use xmalloc, not oballoc.
10720 * config/we32k/we32k.c: Include expr.h.
10721
cf35eebc
KH
107222001-08-10 Kazu Hirata <kazu@hxi.com>
10723
10724 * config/h8300/h8300.h: Fix formatting.
10725
07b2f2fd
JM
107262001-08-08 Jason Merrill <jason_merrill@redhat.com>
10727
10728 * c-common.h (RETURN_NULLIFIED_P): Lose.
10729 * c-semantics.c (genrtl_return_stmt): Don't check it.
10730
67070ffe
RS
107312001-08-10 Richard Sandiford <rsandifo@redhat.com>
10732
10733 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
10734 (mips_annotate_frame_insn): New function.
10735 (mips_emit_frame_related_store): New function.
10736 (save_restore_insns): Don't mark instructions that set up the base
10737 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
10738 the store instructions instead.
10739 (mips_expand_prologue): If the stack size is moved into a temporary
10740 register, do not mark that move as frame-related. Add a
10741 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
10742
a8205f03
RS
107432001-08-10 Richard Sandiford <rsandifo@redhat.com>
10744
10745 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
10746 stack slot as unchanging if current_function_calls_eh_return.
10747
2359d013
RS
107482001-08-10 Richard Sandiford <rsandifo@redhat.com>
10749
2a895e44 10750 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
2359d013
RS
10751 access the second half of the TFmode scratch operand.
10752
ca11a2e9
AG
107532001-08-10 Anthony Green <green@redhat.com>
10754
10755 * java/class.c (emit_register_classes): Conditionalize code on
10756 JCR_SECTION_NAME.
10757
ca52d046
GP
107582001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10759
10760 * doc/install.texi (Specific, avr): Fix cross-reference to the
10761 main manual to work both for info and HTML versions.
10762
396ad517
JDA
107632001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
10764
19652adf 10765 * stmt.c (expand_null_return_1): Remove code to generate simple returns
396ad517
JDA
10766 and "use_goto" argument.
10767 (expand_null_return, expand_value_return): Update all callers.
10768 * function.c (expand_function_end): Remove code to generate simple
10769 return.
10770 * config/vax/vax.md (epilogue): New expander for function return.
10771 * doc/md.texi (epilogue): Remove "if defined".
10772
e361dcd3
ZW
107732001-08-09 Zack Weinberg <zackw@stanford.edu>
10774
10775 * Makefile.in: Partially revert my previous change:
10776 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
10777 of the hashtab.o and safe-ctype.o rules.
10778
2cc07db4
RH
107792001-08-09 Richard Henderson <rth@redhat.com>
10780
10781 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
10782 (USE_COLLECT2): Remove duplicate definition.
10783 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
10784 (use_collect2): Remove dead code.
10785 * configure.in (use_collect2): Remove will_use_collect2 and
10786 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
10787 * configure: Rebuild.
10788
10789 * target.h (targetm.asm_out.constructor): New.
10790 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
10791 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
10792 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
10793 * varasm.c (in_ctors, in_dtors): New.
10794 (assemble_constructor, assemble_destructor): Remove.
10795 (default_stabs_asm_out_destructor): New.
10796 (default_named_section_asm_out_destructor): New.
10797 (dtors_section, default_dtor_section_asm_out_destructor): New.
10798 (default_stabs_asm_out_constructor): New.
10799 (default_named_section_asm_out_constructor): New.
10800 (ctors_section, default_ctor_section_asm_out_constructor): New.
10801 * output.h: Update declarations.
10802 * c-decl.c (c_expand_body): Use target hooks instead of
10803 assemble_constructor and assemble_destructor.
10804 * profile.c (output_func_start_profiler): Likewise.
10805 * objc/objc-act.c (finish_objc): Likewise.
10806 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
10807 for the constructor.
10808 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
10809
10810 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
10811 (DTORS_SECTION_ASM_OP): Likewise.
10812 (__CTOR_LIST__): Use attribute section when possible.
10813 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
10814
10815 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
10816 ASM_OUTPUT_CONSTRUCTOR.
10817
10818 * config/darwin.c (machopic_asm_out_constructor): New.
10819 (machopic_asm_out_destructor): New.
10820 * config/darwin-protos.h: Update declarations.
10821 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10822 (ASM_OUTPUT_DESTRUCTOR): Remove.
10823 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10824 * config/nextstep.c (nextstep_asm_out_constructor): New.
10825 (nextstep_asm_out_destructor): New.
10826 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10827 (ASM_OUTPUT_DESTRUCTOR): Remove.
10828 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10829 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
10830 ASM_OUTPUT_*STRUCTOR.
10831 * config/i386/aix386ng.h: Likewise.
10832
10833 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
10834 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
10835 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10836 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10837 * config/lynx.h: Likewise.
10838 * config/netware.h: Likewise.
10839 * config/psos.h: Likewise.
10840 * config/alpha/alpha-interix.h: Likewise.
10841 * config/alpha/elf.h: Likewise.
10842 * config/arc/arc.h: Likewise.
10843 * config/arm/aof.h: Likewise.
10844 * config/arm/coff.h: Likewise.
10845 * config/arm/elf.h: Likewise.
10846 * config/c4x/c4x.h: Likewise.
10847 * config/h8300/h8300.h: Likewise.
10848 * config/i386/cygwin.h: Likewise.
10849 * config/i386/djgpp.h: Likewise.
10850 * config/i386/i386-coff.h: Likewise.
10851 * config/i386/i386-interix.h: Likewise.
10852 * config/i386/sco5.h: Likewise.
10853 * config/i386/vsta.h: Likewise.
10854 * config/i386/win32.h: Likewise.
10855 * config/i960/i960-coff.h: Likewise.
10856 * config/ia64/sysv4.h: Likewise.
10857 * config/m68hc11/m68hc11.h: Likewise.
10858 * config/m68k/coff.h: Likewise.
10859 * config/m68k/mot3300.h: Likewise.
10860 * config/m88k/m88k.h: Likewise.
10861 * config/mcore/mcore-pe.h: Likewise.
10862 * config/mcore/mcore.h: Likewise.
10863 * config/mips/elf.h: Likewise.
10864 * config/mips/elf64.h: Likewise.
10865 * config/mips/iris6.h: Likewise.
10866 * config/pa/pa64-hpux.h: Likewise.
10867 * config/rs6000/sysv4.h: Likewise.
10868 * config/sh/sh.h: Likewise.
10869 * config/sparc/litecoff.h: Likewise.
10870
10871 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
10872 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10873 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10874 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10875 (ASM_OUTPUT_DESTRUCTOR): Remove.
10876 * config/a29k/a29k.c: Move include of tree.h.
10877 * config/a29k/udi.h: Delete file.
10878 * config/alpha/alpha.c (vms_asm_out_constructor): New.
10879 (vms_asm_out_destructor): New.
10880 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
10881 (EXTRA_SECTION_FUNCTIONS): Likewise.
10882 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10883 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10884 * config/c4x/c4x.c: Move include of tree.h.
19652adf 10885 * config/clipper/clipper.c (clix_asm_out_constructor): New.
2cc07db4
RH
10886 (clix_asm_out_destructor): New.
10887 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10888 (ASM_OUTPUT_DESTRUCTOR): Remove.
10889 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10890 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10891 (TARGET_ASM_CONSTRUCTOR): New.
10892 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
10893 (sco_asm_out_constructor): New.
10894 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
10895 * config/i386/svr3gas.h: Remove stack grows up code.
10896 Remove code duplicated from i386/sysv3.h.
10897 (TARGET_ASM_CONSTRUCTOR): New.
10898 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10899 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
10900 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10901 (TARGET_ASM_CONSTRUCTOR): New.
10902 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
10903 (m68hc11_asm_out_destructor): New.
10904 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
10905 (TARGET_ASM_DESTRUCTOR): New.
10906 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
10907 * config/m68k/dpx2.h: Properly undef all the bits inherited from
10908 config/svr3.h pertaining to section manipulation.
10909 * config/m68k/dpx2g.h: Remove #if 0 code.
10910 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
10911 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
10912 (ASM_OUTPUT_CONSTRUCTOR): Remove.
10913 (TARGET_ASM_CONSTRUCTOR): New.
10914 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
10915 (m88k_svr3_asm_out_constructor): New.
10916 (m88k_svr3_asm_out_destructor): New.
10917 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10918 (ASM_OUTPUT_DESTRUCTOR): Remove.
10919 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10920 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
10921 * config/rs6000/aix.h: Likewise.
10922 * config/mips/rtems64.h: Don't undef removed constructor related bits.
10923 * config/mips/vxworks.h: Likewise.
10924 * config/rs6000/lynx.h: Likewise.
10925 * config/sh/elf.h: Likewise.
10926 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
10927 (DTORS_SECTION_ASM_OP): New.
10928 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10929 (ASM_OUTPUT_DESTRUCTOR): Remove.
10930 * config/sparc/sol2-sld-64.h: Likewise.
10931 * config/vax/vax.c (vms_asm_out_constructor): New.
10932 (vms_asm_out_destructor): New.
10933 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10934 (ASM_OUTPUT_DESTRUCTOR): Remove.
10935 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10936
10937 * doc/tm.texi (@node Initialization): Update.
10938
ef8d8b89
RH
109392001-08-09 Richard Henderson <rth@redhat.com>
10940
10941 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
10942 (__do_global_dtors_aux): Use gp-relative static data to avoid
10943 one dynamic relocation.
10944 (__do_frame_setup): Register Java classes.
10945 * config/alpha/crtend.asm (__JCR_END__): New.
10946
1b0c37d7
ZW
109472001-08-09 Zack Weinberg <zackw@stanford.edu>
10948
ef8d8b89
RH
10949 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
10950 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
10951 (GEN, STAGESTUFF): Add new files.
10952 (insn-constants.h, s-constants, tm-preds.h, s-preds,
10953 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
10954 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
10955 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
10956 as well as insn-codes.h and insn-flags.h in config.h; and no
10957 extra headers in tconfig.h and hconfig.h.
10958
10959 * gencodes.c: Eliminate code to generate predicate declarations
10960 or #defines for md-file constants.
10961 * genconstants.c, genpreds.c: New files.
10962
10963 * i386.md: Re-order guard expressions such that TARGET_64BIT
10964 comes first, when this permits better optimization. Add
10965 TARGET_64BIT to more x86-64 patterns. Add comment explaining
10966 why this is desirable.
1b0c37d7 10967
a734f2a3
JJ
109682001-08-09 Jakub Jelinek <jakub@redhat.com>
10969
10970 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
10971 (find_fde_for_dso): Remove.
10972 (_Unwind_IteratePhdrCallback): New.
10973 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
10974 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
10975
21d93687
RK
10976Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10977
10978 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
10979 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
10980
b1b6b0cb
GS
109812001-08-09 Graham Stott <grahams@redhat.com>
10982
10983 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
10984 (vis_no_unit): Use it.
10985 (visualize_no_unit): Add the insn only if room exists.
10986
a0e4ce74
GS
109872001-08-09 Graham Stott <grahams@redhat.com>
10988
1b0c37d7
ZW
10989 * predict.c (estimate_probability): Replace magic numbers with
10990 appropriate enumeration.
a4e11a5c
GS
10991
109922001-08-09 Graham Stott <grahams@redhat.com>
10993
10994 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
a0e4ce74
GS
10995 parameter.
10996 (EXTRACT_FLAGS): Likewise.
10997
77416b3d
AH
109982001-08-09 Aldy Hernandez <aldyh@redhat.com>
10999
1b0c37d7
ZW
11000 * config/mips/mips.c (mips_legitimate_address_p): Check for
11001 CONST_INT in last patch.
77416b3d 11002
6351543d
AG
110032001-08-08 Anthony Green <green@redhat.com>
11004
11005 * java/class.c (emit_register_classes): Use assemble_jcr if
11006 possible. Keep the original mechanism as a fallback.
11007 * defaults.h (JCR_SECTION_NAME): Define if we have named section
11008 and weak symbol support.
11009 * crtstuff.c (__JCR_LIST__): Define.
11010 (__JCR_END__): Define.
11011 (_Jv_RegiserClasses): Define weak symbol if possible.
11012 (__do_global_ctors_aux): Register classes for ELF targets with
11013 weak symbol support.
11014
30f7a378
KH
110152001-08-08 Kazu Hirata <kazu@hxi.com>
11016
11017 * dbxout.c: Fix comment formatting.
11018 * dependence.c: Likewise.
11019 * df.c: Likewise.
11020 * diagnostic.c: Likewise.
11021 * dominance.c: Likewise.
11022 * doprint.c: Likewise.
11023 * dwarf2out.c: Likewise.
11024 * dwarfout.c: Likewise.
11025 * emit-rtl.c: Likewise.
11026 * except.c: Likewise.
11027 * explow.c: Likewise.
11028 * expmed.c: Likewise.
11029 * expr.c: Likewise.
11030 * flow.c: Likewise.
11031 * fold-const.c: Likewise.
11032 * function.c: Likewise.
11033
35e17f7e
FS
110342001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11035
11036 * global.c (retry_global_alloc): Avoid shadowing allocno.
11037
2b1e2382
MM
110382001-08-08 Mark Mitchell <mark@codesourcery.com>
11039
11040 * except.c (remove_fixup_regions): Fix typo.
11041
b9f22704
JM
110422001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
11043
1b0c37d7 11044 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
b9f22704 11045 unsigned HOST_WIDE_INT to avoid warning.
1b0c37d7
ZW
11046 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
11047 * flow.c (set_block_for_new_insns): Likewise.
b9f22704 11048
a4b07e7f
JH
11049Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
11050
11051 * sibcall.c (return_value_pseudo): New static variable.
11052 (skip_copy_to_return_value): Handle return_value_pseudo.
11053 (call_ends_block_p): Ensure that return_value_pseudo is set.
11054 (optimize_sibling_and_tail_recursive_call): Discover the
11055 load of pseudo return value in alternate exit block.
11056
9d98f8f9
JH
11057Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
11058
11059 * calls.c (ECF_ALWAYS_RETURN): New constant.
11060 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
11061 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
11062 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
11063 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
11064 * rtl.c (reg_note_name): New name.
11065 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
11066
82423cba
AH
110672001-08-07 Aldy Hernandez <aldyh@redhat.com>
11068
11069 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
11070
5755cd38
JM
110712001-08-08 Jason Merrill <jason_merrill@redhat.com>
11072
11073 * alias.c (get_alias_set): Return a previously calculated
11074 alias set for a VAR_DECL.
11075 * function.c (gen_mem_addressof): Calculate the alias set before
11076 touching the RTL.
11077
0f0138b6
JH
11078Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
11079
11080 * predict.def: Set hitrates according our experimental run.
11081
11082Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
11083
11084 * i386.h (HARD_REGNO_RENAME_OK): New macro.
11085
b2bcb32d
L
110862001-08-08 H.J. Lu <hjl@gnu.org>
11087
11088 * config/mips/mips.c (mips_unique_section): New. Copied from
11089 config/mips/elf.h.
11090
11091 * config/mips/mips-protos.h (mips_unique_section): New
11092 prototype.
11093
11094 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
11095
11096 * config/mips/little.h: New. Generic little endian mips
11097 targets. Only mips*-*-linux* is converted to use it so far.
11098
11099 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
11100 (WCHAR_TYPE): Defined
11101 (WCHAR_TYPE_SIZE): Likewise.
11102 (INIT_SUBTARGET_OPTABS): Likewise.
11103 (BSS_SECTION_ASM_OP): Likewise.
11104 (SBSS_SECTION_ASM_OP): Likewise.
11105 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11106 (ASM_DECLARE_OBJECT_NAME): Likewise.
11107 (UNIQUE_SECTION): Likewise.
11108 (EXTRA_SECTIONS): Likewise.
11109 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
11110 (ASM_OUTPUT_DESTRUCTOR): Likewise.
11111 (ASM_OUTPUT_DEF): Likewise.
11112 (HANDLE_SYSV_PRAGMA): Removed.
11113 (NO_IMPLICIT_EXTERN_C): Likewise.
11114 (TARGET_MEM_FUNCTIONS): Likewise.
11115 (STARTFILE_SPEC): Likewise.
11116 (ENDFILE_SPEC): Likewise.
11117 (LIB_SPEC): Likewise.
11118 (INVOKE__main): Likewise.
11119 (CTOR_LIST_BEGIN): Likewise.
11120 (CTOR_LIST_END): Likewise.
11121 (DTOR_LIST_BEGIN): Likewise.
11122 (DTOR_LIST_END): Likewise.
11123 (SET_ASM_OP): Likewise.
11124 (ASM_OUTPUT_SOURCE_LINE): Likewise.
11125 (ASM_OUTPUT_DEF): Likewise.
11126 (ASM_OUTPUT_IDENT): Likewise.
11127
11128 * config/mips/mips.h (ASM_SPEC): Undefine before define.
11129 (CPLUSPLUS_CPP_SPEC): Likewise.
11130 (ASM_APP_ON) Redefine only if not defined.
11131 (ASM_APP_OFF): Likewise.
11132 (ASM_OUTPUT_SOURCE_LINE): Likewise.
11133 (ASM_OUTPUT_IDENT): Likewise.
11134
11135 * config.gcc: Update tm_file for Linux/mips.
11136
b7933c21
BS
111372001-08-08 Bernd Schmidt <bernds@redhat.com>
11138
11139 * cselib.c (cselib_record_sets): If insn is predicated, turn
11140 sources into IF_THEN_ELSEs.
7dcc803e
BS
11141
11142 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
11143 Turn into define_insn_and_split.
b9f22704 11144
4b6c5340
BS
11145 * sched-deps.c: Include "cselib.h".
11146 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
11147 Use cselib to turn memory addresses into VALUEs.
11148 (sched_analyze): Call cselib_init/cselib_finish if necessary.
11149 * sched-int.h (struct sched_info): New member USE_CSELIB.
11150 * sched-ebb.c (ebb_sched_info): Initialize it.
11151 * sched-rgn.c (rgn_sched_info): Likewise.
11152 * Makefile.in (sched-deps.o): Update dependencies.
7dcc803e 11153
91700444
BS
11154 * cselib.h (cselib_subst_to_values): Declare.
11155 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
11156 that have no value and autoincs to be handled by generating a new
11157 dummy value.
b9f22704 11158
674fc07d
GS
111592001-08-08 Graham Stott <grahams@redhat.com>
11160
11161 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
11162 within fixed length SEQUENCE.
11163
5f9689e5
GS
111642001-08-08 Graham Stott <grahams@redhat.com>
11165
11166 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
11167 (diagnostic_prefixing_rule): Likewise.
11168 (diagnostic_line_cutoff): Likewise.
11169 (diagnostic_kind_count): Likewise.
11170
6d8c73f7
GS
111712001-08-08 Graham Stott <grahams@redhat.com>
11172
11173 * alias.c (find_base_decl): Delete redundent assignment.
11174
8e0d15d4
GS
111752001-08-08 Graham Stott <grahams@redhat.com>
11176
11177 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
11178 (abs): Uppercase and paranthesize macro parameter.
11179 (MEM_DEPENDENCY): Add whitespace.
11180
e5503743
GS
111812001-08-08 Graham Stott <grahams@redhat.com>
11182
11183 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
11184 failure check for CONST_INT
11185
5b57e28b
GS
111862001-08-08 Graham Stott <grahams@redhat.com>
11187
11188 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
11189 (libcall_dead_p): Likewise.
11190
11191 (mark_used_regs): Constify fmt.
11192 (find_use_as_address): Likewise.
11193
0f1e8126
GS
111942001-08-08 Graham Stott <grahams@redhat.com>
11195
11196 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
11197 parameter.
11198
e61465ed
GS
111992001-08-08 Graham Stott <grahams@redhat.com>
11200
11201 * combine.c (combine_simplify_rtx): Update comment and
11202 remove erroneous test.
11203
7364fdd8
NB
112042001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
11205
11206 * cppinit.c (cpp_finish): Pop the final buffer without comment.
11207 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
11208 take care to avoid multiple no-newline at EOF warnings in that
11209 case.
11210
570a98eb
JH
11211Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
11212
11213 * calls.c (expand_call): Do not emit INSN_SETJMP note.
11214 (emit_library_call_value_1): Likewise.
11215 (emit_call_1): Emit REG_SETJMP note.
11216 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
11217 of INSN_SETJMP
11218 * cselib.c (cselib_process_insn): Likewise.
11219 * flow.c (propagate_block): Likewise.
11220 * loop.c (find_and_verify_loops): Likewise.
11221 * reload.c (find_equiv_regs): Likewise.
11222 * reload1.c (reload): Likewise.
11223 * resource.c (mark_referenced_resources,
11224 mark_set_resources): Likewise.
11225 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
11226 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
11227 * haifa-sched.c (unlink_other_notes): Likewise.
11228 (reemit_notes): Likewise.
11229 * sched-ebb.c (sched_ebb): Likewise.
11230 * sched-rgc.c (sched_region): Likewise.
11231 * rtl.c (note_insn_name): Likewise.
11232 (reg_note_name): Add REG_SETJMP
11233 * rtl.h (reg_note): Add REG_SETJMP.
11234 (insn_note): Remove NOTE_INSN_SETJMP.
11235
11236 * profile.c (branch_prob): Add fake edges for setjmp.
11237
ff25793c
DJ
112382001-08-07 Daniel Jacobowitz <drow@mvista.com>
11239
1b0c37d7
ZW
11240 * config.gcc: Quote target_cpu_default2 correctly for
11241 powerpc*-*-* targets.
ff25793c 11242
42dcba34
NB
112432001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
11244
11245 * cpplib.h, line-map.h: Update comments.
11246 * cppmain.c (printer_init): Move inline.
11247 (maybe_print_line, print_line): Take a map pointer.
11248 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
11249 (cb_file_change): Don't use prior value of print.map.
11250
e8515283
DE
112512001-08-07 David Edelsohn <edelsohn@gnu.org>
11252
11253 * doc/install.texi: Document fine-grained multilib configuration.
11254
0d025d43
JH
11255Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
11256
11257 * rtlanal.c (find_first_parameter_load): Call note_stores
11258 only on the instructions.
11259
24a28584
JH
11260Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
11261
11262 * alias.c (nonlocal_mentioned_p):
11263 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
11264 * calls.c (emit_call_1): Likewise.
11265 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
11266 * cselib.c (cselib_process_insn): Likewise.
11267 * df.c (df_insns_modify): Likewise.
11268 * flow.c (need_fake_edge_p): Likewise.
11269 (propagate_one_insn): Likewise.
11270 * haifa-sched.c (reemit_notes): Likewise.
11271 * integrate.c (copy_insn_list): Likewise.
11272 * jump.c (delete_prior_computation): Likewise.
11273 * local-alloc.c (validate_equiv_mem): Likewise.
11274 * loop.c (scan_loop): Likewise.
11275 * predict.c (estimate_probability): Likewise.
11276 * reload.c (reload): Likewise.
11277 * sched-deps (sched_analyze): Likewise.
11278 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
11279 * gcse.c (compute_hash_table): Likewise.
11280 (mark_call): Likewise.
11281 (store_killed_in_insn): Likewise.
11282
1b81b789
JM
112832001-08-07 Jason Merrill <jason_merrill@redhat.com>
11284
45dcf572
JM
11285 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
11286
2d2e44d2
RH
112872001-08-06 Richard Henderson <rth@redhat.com>
11288
11289 * varasm.c (assemble_gc_entry): Remove.
11290 * output.h: Likewise.
11291
47907859
RH
112922001-08-06 Richard Henderson <rth@redhat.com>
11293
11294 * varasm.c (assemble_constructor): Take a symbol_ref and a
11295 priority instead of a bare string. Move priority handling
11296 here from cp/decl2.c.
11297 * output.h: Update decls.
11298
11299 * c-decl.c (c_expand_body): Update calls to assemble_constructor
11300 and assemble_destructor.
11301 * profile.c (output_func_start_profiler): Likewise.
11302 * objc/objc-act.c (finish_objc): Likewise.
11303 (build_module_descriptor): Return the symbol not the symbol name.
11304
362b68a8
DE
113052001-08-06 David Edelsohn <edelsohn@gnu.org>
11306
11307 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
11308 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
11309 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
11310 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
11311 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
11312 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
11313
fde84349
NB
113142001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
11315
11316 * cpperror.c (print_containing_files): Moved to line-map.c.
11317 (print_location): line-map.c handles re-listing or otherwise.
11318 * cpphash.h (struct lexer_state): Remove next_bol.
11319 (struct cpp_buffer): Remove include_stack_listed.
11320 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
11321 Remove faked buffer handling.
11322 (_cpp_do_file_change): Tweak.
11323 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
11324 * cppmain.c (struct printer): Remove filename.
11325 (print_line, cb_file_change): Update accordingly.
11326 * line-map.c: Include intl.h.
11327 (init_line_maps): Initialize last_listed.
11328 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
11329 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
11330 (print_containing_files): New.
11331 * line-map.h (struct line_maps): New member last_listed.
11332 (print_containing_files, INCLUDED_FROM): New.
11333 * Makefile.in: Update.
11334 * po/POTFILES.in: Add line-map.c.
11335
df4556a3
RH
113362001-08-06 Richard Henderson <rth@redhat.com>
11337
11338 * except.c (convert_from_eh_region_ranges_1): Never mark
11339 USE or CLOBBER insns as throwing.
11340
11341 * expr.c (store_constructor): Don't clobber memory targets.
11342
a4d3961a
AJ
113432001-08-06 Andreas Jaeger <aj@suse.de>
11344
11345 * profile.c (branch_prob): Remove unused variable insn.
11346
11347 * Makefile.in (local-alloc.o): Add dependency on except.h.
11348
11349 * local-alloc.c: Include except.h for can_throw_internal prototype.
11350
1d482056
RH
113512001-08-06 Richard Henderson <rth@redhat.com>
11352
11353 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
11354 * function.c (expand_main_function): Implement it.
11355 * doc/tm.texi: Document it.
11356
4f2b1139
SS
113572001-08-06 Stan Shebs <shebs@apple.com>
11358
11359 * doc/install.texi: Document powerpc-*-darwin* details.
11360
f984d8df
DB
113612001-08-06 Daniel Berlin <dan@cgsoftware.com>
11362
11363 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
11364 (ASM_CPU_SPEC): Move back to rs6000.h
11365 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
11366
11367 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
11368
11369 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
a4d3961a 11370 readded.
f984d8df
DB
11371
11372 * config/rs6000/linux64.h: Ditto.
11373
11374 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
11375 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
11376 nothing.
11377
11378 Remove accidently readded definitions of FUNCTION_PROLOGUE,
11379 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
11380
11381 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
11382 to rs6000.h
a4d3961a 11383
78d56e8b
RH
113842001-08-05 Richard Henderson <rth@redhat.com>
11385
11386 * local-alloc.c (update_equiv_regs): Do not move insns that
11387 can throw.
11388
39f95a2c
JH
113892001-08-05 Jan Hubicka <jh@suse.cz>
11390
11391 * Makefile.in (reload1.o): Add dedendancy on except.h
11392 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
11393 prototypes.
11394 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
11395 indicating wehther edges has been cleaned up.
11396 * reload1.c: Inlucde except.h
11397 (fixup_abnormal_edges): Accept deleted insns.
11398 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
11399 after combine.
11400
9765f972
NB
114012001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
11402
11403 * cpplib.c (do_line): Correct line number after pop_buffer.
11404
6604e6f3
NB
114052001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
11406
11407 PR preprocessor/3824
11408 * line-map.c: Update comments.
11409 * line-map.h: Update comments.
11410 * tradcif.y: Don't consider large numbers unsigned.
11411
67821e3a
NB
114122001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
11413
11414 PR preprocessor/3081
11415 * c-lex.c (map): New.
11416 (cb_file_change): Update map and use it.
11417 (cb_def_pragma, cb_define, cb_undef): Use map and line.
11418 (c_lex): Update to use map.
11419 * cpperror.c (print_location): Move to using logical line numbers.
11420 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
11421 (cpp_make_system_header): Similarly.
11422 (_cpp_execute_include): Stop line numbering hacks. Store the
11423 line we will return to.
11424 * cpphash.h (CPP_BUF_LINE): Remove.
11425 (struct cpp_buffer): Remove lineno and pseudo_newlines.
11426 Add map and return_to_line.
11427 (_cpp_do_file_change): Update.
11428 * cppinit.c (cpp_start_read): Update line kludge.
11429 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
11430 (trigraph_ok): Use logical line numbers for diagnostics.
11431 (skip_block_comment): Likewise.
11432 (skip_whitespace): Likewise.
11433 (skip_line_comment): Use pfile->line instead.
11434 (_cpp_lex_token): Update to use logical line numbering exclusively.
11435 Handle BOL locally. Accept new lines in directives, but keep
11436 pfile->line decremented. Diagnostics use logical lines. Update
11437 directive handling.
11438 * cpplib.c (SEEN_EOL): New.
11439 (skip_rest_of_line, check_eol): Use it.
11440 (end_directive): Increase line number when accepting the newline
11441 at the end of a directive.
11442 (run_directive): Simplify.
11443 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
11444 (_cpp_do_file_change): Update to take buffer line number as an
11445 argument, and store the current map in the cpp_reader. Remove
11446 line number kludges.
11447 (_cpp_do__Pragma): Restore output position after a _Pragma.
11448 (cpp_push_buffer): Don't set output line or lineno.
11449 (_cpp_pop_buffer): Transfer more info from a faked buffer.
11450 Remove line kludge. Set output_line.
11451 * cppmacro.c (builtin_macro): Update handling of __LINE__.
11452 (parse_arg): Use logical lines.
11453 (save_lookahead_token): Save EOFs too now.
11454 * cppmain.c (struct printer): Fix comments.
11455 (printer_init): Simplify, let caller do errors.
11456 (scan_translation_unit, check_multiline_token, dump_macro): Update.
11457 (maybe_print_line): Simplify.
11458 (print_line): Don't print a linemarker if -P.
11459 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
11460 (cb_file_change): Simplify.
11461 * line-map.h (LAST_SOURCE_LINE): Fix.
11462 (CURRENT_LINE_MAP): New.
11463
b05ecb16
BS
114642001-08-05 Bernd Schmidt <bernds@redhat.com>
11465
ab59db3c 11466 * doloop.c (doloop_modify_runtime): Properly compute number of
b05ecb16
BS
11467 iterations if loop was unrolled.
11468
ab59db3c
BS
11469 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
11470 if their CSELIB_VAL_PTRs are.
11471
703cf211
BS
11472 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
11473 (setup_spill_pointers): Initialize it.
11474 (spill_restore_mem): Set it.
11475 (do_spill, do_restore): Use it to add REG_INC note.
11476 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
11477
1ad72cef
BS
11478 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
11479 asms if other insns are available.
11480
acb0638d
BS
11481 * config/ia64/ia64.c (condop_operator): New predicate.
11482 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
11483 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
11484 patterns.
11485
8125d7e9
BS
11486 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
11487 temporary register than directly using a MEM.
11488
12355aec
HPN
114892001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
11490
11491 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
11492 parameter in last change.
11493
98c0c681
ZW
114942001-08-04 Zack Weinberg <zackw@panix.com>
11495
11496 * sparc.md: Don't use #if inside C test expression.
11497
68c5782d
RH
114982001-08-04 Richard Henderson <rth@redhat.com>
11499
11500 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
11501
8bbbef34
NB
115022001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
11503
11504 * cpphash.h (struct cpp_reader): New member directive_line.
11505 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
11506 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
11507 do_pragma): Pass line to callbacks.
11508 (start_directive): Record line of directive.
11509 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
11510 cb_include): Similarly.
11511 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
11512 Similarly.
11513
95146dd6
HPN
115142001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
11515
11516 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
11517 comment.
11518
f1330226
JH
11519Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
11520
11521 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
11522
11523 * reload1.c (fixup_abnormal_edges): New static function.
11524 (reload): Use it.
11525
11526 * flow.c (need_fake_edge_p): New function.
f5143c46 11527 (flow_call_edges_add): Fix handling of noreturn and sibling calls;
f1330226
JH
11528 avoid call insn to be very last insn in the insn stream.
11529
11530 * profile.c (branch_prob): Call flow_call_edges_add instead of
11531 doing that by hand; cleanup cfg to re-merge basic blocks once
11532 we are done.
11533
ef6e958a
NB
115342001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11535
11536 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
11537 are also on line-map.h.
11538 * cppfiles.c (stack_include_file): Update.
11539 * cpphash.h (struct cpp_buffer): New member return_at_eof.
11540 (_cpp_pop_buffer): New.
11541 * cppinit.c (cpp_destroy, cpp_finish): Update.
11542 (do_includes): Mark each buffer to return at EOF.
11543 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
11544 return as requested.
11545 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
11546 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
11547 * cpplib.h (cpp_pop_buffer): Remove.
11548 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
11549 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
11550 buffers.
11551 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
11552 to pop buffers.
11553 (do_preprocessing): Update.
11554 * fix-header.c (read_scan_file): Update. No need to pop buffers.
11555 * c-parse.in (_yylex): Similarly.
11556 * scan-decls.c (scan_decls): Similarly.
11557 * line-map.h: Update comments.
11558
11559 * objc/Make-lang.in (objc-act.o): Update dependencies.
11560
03997728
SC
115612001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11562
a4d3961a 11563 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
03997728
SC
11564 and soft register for operand 0.
11565 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
11566
d8de89e8
SC
115672001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11568
11569 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
11570 register for operand 0.
11571 ("bitcmpqi_z_used"): Allow memory for operand 0.
11572 (split "bitcmpqi"): New split to handle address reg as operand 1.
11573
aaa4ca30
AJ
115742001-08-04 Andreas Jaeger <aj@suse.de>
11575
11576 * gcse.c: Revert Daniel's last patch.
11577
da9314d5
ZW
115782001-08-03 Zack Weinberg <zackw@stanford.edu>
11579
a4d3961a 11580 * sparc-protos.h: Add prototypes for fp_zero_operand and
da9314d5
ZW
11581 reg_or_0_operand.
11582 * sh-protos.h: Add prototype for fpul_operand.
11583
79323c50
HPN
115842001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
11585
11586 * doc/extend.texi (Other Builtins): Fix typo in last change.
11587
7c262518
RH
115882001-08-03 Richard Henderson <rth@redhat.com>
11589
a4d3961a 11590 * target.h (gcc_target): Add asm_out.named_section,
7c262518
RH
11591 section_type_flags, have_named_sections.
11592 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
11593 (TARGET_HAVE_NAMED_SECTIONS): New.
11594 (TARGET_SECTION_TYPE_FLAGS): New.
11595
11596 * Makefile.in (toplev.o): Depend on TARGET_H.
11597 (varasm.o, dbxout.o): Likewise.
11598 * c-common.c (decl_attributes): Check targetm.have_named_sections
11599 instead of ifdef ASM_OUTPUT_SECTION_NAME.
11600 * dbxout.c (dbxout_function_decl): Likewise.
11601 (dbxout_function_end): Likewise.
11602 * toplev.c (compile_file): Likewise.
11603 * varasm.c (exception_section): Likewise.
11604 * cp/decl2.c (finish_objects): Likewise.
11605
11606 * defaults.h (EH_FRAME_SECTION): Remove.
11607 (EH_FRAME_SECTION_ASM_OP): Remove.
11608 (EH_FRAME_SECTION_NAME): New.
11609 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
11610 (UNIQUE_SECTION_P): Remove.
11611 * dwarf2out.c (SECTION_FORMAT): Remove.
11612 (ASM_OUTPUT_SECTION): Remove.
11613 (output_call_frame_info): Use named_section_flags.
11614 (output_comp_unit, dwarf2out_start_source_file): Likewise.
11615 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
11616 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
11617 * varasm.c (in_eh_frame, eh_frame_section): Remove.
11618 (named_section_flags): New.
11619 (named_section): Use it and targetm.section_type_flags.
11620 (resolve_unique_section): New.
11621 (assemble_start_function): Use it.
11622 (asm_emit_uninitialised, assemble_variable): Likewise.
11623 (default_section_type_flags): New.
11624 (default_no_named_section, default_elf_asm_named_section): New.
11625 (default_coff_asm_named_section, default_pe_asm_named_section): New.
11626 * output.h: Update varasm.c decls.
11627 (SECTION_*): New flags.
11628
11629 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
11630 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
11631
11632 * config/elfos.h (UNIQUE_SECTION_P): Remove.
11633 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
11634 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
11635 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11636 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
11637 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
11638 * config/mips/elf.h, config/mips/elf64.h: Likewise.
11639 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
a4d3961a 11640 * config/pa/pa64-hpux.h,
7c262518
RH
11641
11642 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
11643 (TARGET_ASM_NAMED_SECTION): New.
11644 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
11645 * config/alpha/vms.h, config/arm/coff.h: Likewise.
11646 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
11647 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
11648 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
11649 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
11650 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11651 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
11652 * config/i386/sco5.h, config/i386/win32.h: Likewise.
11653 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
11654 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
11655 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
11656 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
11657 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
11658 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
11659 * config/sparc/sysv4.h: Likewise.
11660
11661 * config/nextstep.h: Error until named sections implemented.
11662
11663 * config/a29k/a29k.c (a29k_asm_named_section): New.
11664 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
11665 (vms_section_type_flags, vms_asm_named_section): New.
11666 * config/arm/arm.c (arm_elf_asm_named_section): New.
11667 * config/avr/avr.c (asm_output_section_name): Remove.
11668 * config/avr/avr-protos.h: Update.
11669 * config/c4x/c4x.c (c4x_asm_named_section): New.
11670 * config/h8300/h8300.c (h8300_asm_named_section): New.
11671 * config/i386/i386.c (sco_asm_named_section): New.
11672 * config/i386/winnt.c (SECTION_PE_SHARED): New.
11673 (i386_pe_section_type_flags): New.
11674 (i386_pe_asm_named_section): New.
11675 * config/i386/i386-protos.h: Update.
11676 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
11677 * config/mcore/mcore.c (mcore_asm_named_section): New.
11678 * config/mips/mips.c (iris6_asm_named_section): New.
11679 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
11680 instead of UNIQUE_SECTION_P.
11681 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
11682 (xcoff_asm_named_section): New.
11683 * config/sh/sh.c (sh_asm_named_section): New.
11684 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
11685
11686 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
11687 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
11688 (EH_FRAME_SECTION_NAME): New.
11689 (EXCEPTION_SECTION): New.
11690 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
11691 (DEBUG_*_SECTION): Remove.
11692 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
11693 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
11694 (EH_FRAME_SECTION_ASM_OP): Remove.
11695
11696 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
11697 (ASM_OUTPUT_SECTION_NAME): Remove.
11698 (TARGET_ASM_NAMED_SECTION): New.
11699 (TARGET_HAVE_NAMED_SECTIONS): New.
11700 (TARGET_SECTION_TYPE_FLAGS): New.
11701 (EH_FRAME_SECTION_ASM_OP): Remove.
11702 (EH_FRAME_SECTION_NAME): New.
11703
13104975
ZW
117042001-08-03 Zack Weinberg <zackw@stanford.edu>
11705
11706 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
11707 for complex expressions when cfun == 0.
11708 * doc/extend.texi: Document that __builtin_constant_p can be
11709 used in data initializers as well as functions.
11710
7335a349
AO
117112001-08-03 Alexandre Oliva <aoliva@redhat.com>
11712
11713 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
11714 variable I locally, instead of expecting a declaration in the
11715 calling context.
11716
949f197f
RH
117172001-08-03 Richard Henderson <rth@redhat.com>
11718
11719 * except.c (collect_one_action_chain): Add an explicit cleanup
11720 action if regions surrounding a catch were encoded entirely
11721 within the call-site entry.
11722
c99fa40f
RH
117232001-08-03 Richard Henderson <rth@redhat.com>
11724
11725 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
11726 don't take REGNO of a non-register.
11727
5241c227
JDA
117282001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
11729
11730 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
11731 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
11732 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
11733 (__gthread_mutex_init_function): New function for mutex initialization.
11734
cbec6573 117352001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 11736
cbec6573
DB
11737 * Makefile.in: Revert screwed up commit.
11738
70a5787e
SC
117392001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11740
11741 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
11742 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
11743 merged by linker script to get a final _exit().
11744 (__do_global_dtors): New for destructor handling in specific exit
11745 section.
11746 (__do_global_ctors): New for constructors in specific install section.
11747 (__map_data_section): Map data sections before running constructors.
11748 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
11749 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
11750 (DTORS_SECTION_ASM_OP): Likewise.
11751 (CTORS_SECTION_FUNCTION): Define to force a reference to
11752 __do_global_ctors.
11753 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
11754
9ebeebda 117552001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 11756
9ebeebda 11757 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
a4d3961a 11758
9ebeebda
DB
11759 * Makefile.in: Add df.h to gcse.c dependencies.
11760
c6b74046
JDA
117612001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
11762
11763 * varasm.c (output_constant_def_contents): Use for the length of a
11764 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
11765 depending on which is larger.
11766
9ebeebda 117672001-08-03 Daniel Berlin <dan@cgsoftware.com>
adfcce61 11768
39f95a2c
JH
11769 * gcse.c: Include df.h for use as a dataflow analyzer.
11770 Remove regvec.
11771 Declaration of reg_set_info: gone.
11772 New df_analyzer variable used by store motion.
11773 (reg_set_info): Deleted.
11774 (mark_mem_regs): New function, analyze regs used by a mem.
11775 (store_ops_ok): Use dataflow analyzer results to determine if
11776 necessary regs are changed in the block.
11777 (find_moveable_store): Remove check for symbol ref, we can handle
11778 much more complex expressions now.
11779 (compute_store_table): Remove most of the code, it's unnecessary
11780 now that the dataflow analyzer records the info for us.
11781 (store_killed_after): Add parameter to say whether to do the
11782 store_ops_okay test, used to speed up testing when we already know
11783 the answer, and just want to know if the store itself was killed.
11784 (build_store_vector): Largely rewritten to calculate the various
11785 vectors properly, and somewhat optimized.
a4d3961a 11786 (store_motion): Init the df_analyzer, get REG_DEF chains.
39f95a2c
JH
11787 Also handle trapping expressions (since mems almost always trap)
11788 (simple_mem): Redefine what a simple mem is.
adfcce61 11789
667ccf73
DD
117902001-08-03 DJ Delorie <dj@redhat.com>
11791
11792 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
11793 set from a constant part of the condition.
11794
0821bff7
AC
117952001-08-01 Andrew Cagney <ac131313@redhat.com>
11796
11797 * mkdeps.c (deps_add_default_target): Make local variable
11798 ``start'' a const char pointer.
11799 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
11800
b953cc4b
RO
118012001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11802
11803 * doc/install.texi (Configuration): Fix markup.
11804 (Specific, i?86-*-udk): Likewise.
11805 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
a4d3961a 11806 --with-gnu-ld.
b953cc4b
RO
11807 Document --enable-threads and --enable-libgcj status.
11808 (Specific, mips-sgi-irix*): Canonicalize triples.
11809 (Specific, mips-sgi-irix5): Warn about problems with this config.
11810 Mention required GNU as patch.
11811 Native assembler problems are fixed.
11812 (Specific, mips-sgi-irix6): Update O32 ABI support status.
11813 Document --enable-threads and --enable-libgcj status.
11814
ef1f96f0
NC
118152001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
11816
11817 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
11818 of mkinstalldirs.
11819
6e5a6a6b
RH
118202001-08-03 Richard Henderson <rth@redhat.com>
11821
11822 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
11823 constant data.
11824
dbc1a163
RH
118252001-08-03 Richard Henderson <rth@redhat.com>
11826
11827 * rtlanal.c (find_first_parameter_load): Stop if we
11828 reach a CODE_LABEL at BOUNDARY.
11829
54aaa4ea
RH
118302001-08-03 Richard Henderson <rth@redhat.com>
11831
11832 * config/alpha/alpha.md (force_movdi): New insn.
11833 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
11834 Tweek FRP marking of VMS prologue insns.
11835 * config/alpha/vms.h (EPILOGUE_USES): New.
11836
0360b30d
RH
118372001-08-02 Richard Henderson <rth@redhat.com>
11838
11839 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
11840
8aeea6e6
LB
118412001-08-02 Lars Brinkhoff <lars@nocrew.org>
11842
11843 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
11844 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
11845 config/convex/convex.h, config/d30v/d30v.c,
11846 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
11847 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
11848 config/mips/mips.h, config/mn10200/mn10200.h,
11849 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
11850 config/v850/v850.h, config/vax/openbsd.h,
11851 config/vax/openbsd1.h, config/vax/ultrix.h,
11852 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
11853 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
11854 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
11855 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
11856 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
39f95a2c 11857 in comments and documentation.
8aeea6e6 11858
d82fc108
NB
118592001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11860
11861 * line-map.c: New.
11862 * line-map.h: New.
11863 * Makefile.in (line-map.o): New.
11864 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
11865 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
11866 * cpperror.c (print_containing_files): Similarly.
11867 (print_location): Update. Don't output a space before _Pragma.
11868 * cppfiles.c (stack_include_file): Set to line 1 immediately.
11869 (stack_include_filee, cpp_make_system_header): Update.
11870 (_cpp_execute_include): Get logical line number right for calling
11871 as-yet-unterminated #include.
11872 * cpphash.h (struct cpp_reader): Add line_maps.
11873 (_cpp_do_file_change): Update.
11874 * cppinit.c (cpp_create_reader): Initialize line maps.
11875 (cpp_destroy): Destroy line maps.
11876 (cpp_start_read): Get logical line number right.
11877 * cpplex.c (parse_string): Only warn once for multi-line strings.
11878 Use boolean variable for null warning.
11879 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
11880 already.
11881 (do_include_common): End the directive early.
11882 (do_line): Don't warn about out-of-range lines in preprocessed
11883 source. Update. Remove unused variables.
11884 (_cpp_do_file_change): Update for new line mapping.
11885 (pragma_cb): New typedef.
11886 (cpp_register_pragma): Stop looking ahead before calling the
11887 handler. Clean up.
11888 (do_pragma_system_header): End directive early.
11889 (cpp_get_line_maps): New.
11890 (cpp_pop_buffer): Fudge logical line. Update.
11891 * cpplib.h: Include line-map.h
11892 (enum cpp_fc_reason): Remove.
11893 (struct cpp_file_change): Update.
11894 (cpp_get_line_maps): New.
11895 * cppmain.c (struct_printer): New member map.
11896 (cb_file_change): Update for new mappings.
11897 * fix-header.c (cb_file_change): Similarly.
11898
6dda00f0
NC
118992001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
11900
11901 * Makefile.in (libgcc.mk): Define mkinstalldirs.
11902 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
11903
215b48a7
LB
119042001-08-02 Lars Brinkhoff <lars@nocrew.org>
11905
11906 * config/vax/vax.c: include expr.h.
11907
e7f62dcf
NC
119082001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
11909
11910 * Makefile.in ($(srcdir)/configure): Only rebuild in
11911 maintainer mode.
11912 ($(srcdir)/config.in): Only define in maintainer mode.
11913 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
11914
4b5eb038
DE
119152001-08-02 David Edelsohn <edelsohn@gnu.org>
11916
11917 * doc/install.texi (Install GCC: Binaries): Update Bull info.
11918
578672a2
RO
119192001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11920
11921 * gcc.c (set_collect_gcc_options): New function, split out from
11922 main.
11923 Ignore elided switches.
11924 (do_spec_1): Invoke before executing command.
11925 (set_input): Export.
11926 Move declaration ...
11927 * gcc.h (set_input): ... here.
11928 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
11929 file.
11930
1dbb6023
NS
119312001-08-02 Nathan Sidwell <nathan@codesourcery.com>
11932
11933 Kill -fhonor-std.
11934 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
11935 interaction.
11936 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
11937
d6b6ba29
RS
119382001-08-02 Richard Sandiford <rsandifo@redhat.com>
11939
11940 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
11941 for the unnamed instructions it expands to.
11942
d3259baa
RH
119432001-08-02 Richard Henderson <rth@redhat.com>
11944
11945 * regclass.c (call_really_used_regs): Conditionally define.
11946 (init_reg_sets_1): Don't use it if not defined.
11947 (fix_register): Similarly, don't set it.
11948
eb77eeb3
GP
119492001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11950
11951 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
11952 Correct comment that had been missed in the previous change.
11953
4e08ba6c
SS
119542001-08-01 Stan Shebs <shebs@apple.com>
11955
11956 * config/darwin.c (machopic_stub_name): Try matching by name.
11957 (update_stubs): New function.
11958 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
11959 unconditionally.
11960
7a900ebc
RH
119612001-08-01 Richard Henderson <rth@redhat.com>
11962
11963 * except.c (output_function_exception_table): Use assemble_align.
11964 * varasm.c (assemble_eh_label): Remove.
11965 (assemble_eh_align, assemble_eh_integer): Remove.
11966
551e8a74
RL
119672001-08-01 Robert Lipe <robertl@caldera.com>
11968
39f95a2c 11969 * dwarfout.c: Remove reference to README.DWARF.
551e8a74 11970
fc1296b7
AM
119712001-08-01 Andrew MacLeod <amacleod@redhat.com>
11972
11973 * regclass.c (call_really_used_regs): New array for registers which
11974 are actually used by a call.
11975 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
11976 new array.
11977 (fix_register): Set call_really_used too.
11978 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
11979 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
11980
b38b083a
RH
119812001-08-01 Richard Henderson <rth@redhat.com>
11982
11983 * read-rtl.c (read_name): Consider \r whitespace.
11984
edf1b3f3
AC
119852001-07-11 Andrew Cagney <ac131313@redhat.com>
11986
11987 * config.gcc: Recognize powerpc-*-netbsd*.
a4d3961a 11988
edf1b3f3
AC
11989 * doc/install.texi (Host/target specific installation notes for
11990 GCC): Mention powerpc-*-netbsd*.
11991
11992 * config/rs6000/netbsd.h: New file.
11993 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
11994 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
11995 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
11996 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
11997 (TARGET_VERSION): Redefine.
11998
11999 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
12000 mcall-netbsd as a match for mcall-sysv.
12001 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
12002 (ncrti.S, ncrtn.S): New targets.
12003 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
a4d3961a 12004
edf1b3f3
AC
12005 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
12006 "netbsd' as a V4 ABI.
12007 (ASM_SPEC): Check for -mcall-netbsd.
12008 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
12009 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
12010 (LIB_SPEC, ENDFILE_SPEC): Ditto.
12011 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
12012 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
12013 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
12014 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
12015
12016 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
12017 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
12018
bda33a6e
MK
120192001-08-01 Mark Kettenis <kettenis@gnu.org>
12020
12021 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
12022 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
12023 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
12024 including "unwind-pe.h".
12025
75540af0
JH
12026Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
12027
12028 * rs6000.md (define_splits): Kill unused constraints.
12029
12030Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
12031 Jan Hubicka <jh@suse.cz>
12032
12033 * function.c (thread_prologue_and_epilogue_insns): Kill code
12034 dealing with non-existent CFG.
12035
ec5c56db
KH
120362001-08-01 Kazu Hirata <kazu@hxi.com>
12037
12038 * alias.c: Fix comment formatting.
12039 * bitmap.c: Likewise.
12040 * builtins.c: Likewise.
12041 * calls.c: Likewise.
12042 * c-common.c: Likewise.
12043 * c-decl.c: Likewise.
12044 * c-dump.c: Likewise.
12045 * c-lex.c: Likewise.
12046 * collect2.c: Likewise.
12047 * combine.c: Likewise.
12048 * conflict.c: Likewise.
12049 * cppfiles.c: Likewise.
12050 * cppinit.c: Likewise.
12051 * cpplex.c: Likewise.
12052 * cpplib.c: Likewise.
12053 * cppmacro.c: Likewise.
12054 * cppspec.c: Likewise.
12055 * c-pragma.c: Likewise.
12056 * crtstuff.c: Likewise.
12057 * cse.c: Likewise.
12058 * cselib.c: Likewise.
12059 * c-semantics.c: Likewise.
12060 * c-typeck.c: Likewise.
12061
2a25b23f
L
120622001-08-01 H.J. Lu <hjl@gnu.org>
12063
12064 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
12065
a8329479
L
120662001-08-01 H.J. Lu <hjl@gnu.org>
12067
12068 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
12069
f2e6e530
ZL
120702001-08-01 Ziemowit Laski <zlaski@apple.com>
12071
39f95a2c 12072 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
f2e6e530
ZL
12073 contextualizing Objective-C class name lookup by the lexer.
12074 (typespec_reserved_nonattr): Disable ObjC class name lookup after
12075 seeing a TYPESPEC.
12076 (protocoldef): Add support for forward @protocol declarations.
12077 (yylexname): Suppress ObjC class name lookup in certain contexts;
12078 re-enable after lookup is complete.
12079 (_yylex): Re-enable ObjC class name lookup when certain
12080 punctuation marks are seen.
12081
12082 * objc/objc-act.c (check_protocol_recursively): New function used
12083 for finding circular dependencies in protocols.
12084 (objc_declare_protocols): New function for handling forward
12085 @protocol declarations.
12086 (receiver_is_class_object): Detect the case when 'self' is used
12087 inside of a class method.
12088 (build_message_expr): Issue a warning if class method is desired
12089 but instance method is found instead.
12090 (conforms_to_protocol): Streamline.
12091 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
12092 protocol Foo, even if 'Bar foo' does not.
12093 (check_protocols): Streamline.
12094 (start_protocol): Add checks for circular and duplicate protocol
12095 definitions.
12096 (encode_aggregate_within): For typedefs of structs, encode the
12097 underlying struct.
12098 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
12099 (objc_declare_protocols): New prototype.
12100
1444f2ed
NB
121012001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12102
12103 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
12104 * cpplex.c (handle_newline): Update prototype. Maintain logical
12105 line number.
12106 (skip_escaped_newlines, skip_block_comment, parse_string):
12107 Update accordingly.
12108 (_cpp_lex_token): Update, and store token position within the token.
12109 * cpplib.h (struct cpp_token): Add line and column entries.
12110 * cppmacro.c (replace_args): Position stringified tokens correctly.
12111
7f8a2125
AJ
121122001-08-01 Andreas Jaeger <aj@suse.de>
12113
12114 * basic-block.h: Add prototype for last_loop_beg_note.
12115
6ad7895a
APB
121162001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
12117
12118 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
12119 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
12120 comment.
12121 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
12122 while handling WITH_CLEANUP_EXPR node. Use second operand calling
12123 expand_decl_cleanup.
12124 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
12125 the first RTX.
12126 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
12127 operand while calling simple_cst_equal.
12128 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
12129 operand is the cleanup expression, the third is the RTL_EXPR.
7f8a2125 12130 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
6ad7895a 12131
b24a9e88
JS
121322001-07-31 Jeff Sturm <jsturm@one-point.com>
12133
39f95a2c 12134 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
b24a9e88 12135
6ea0279f
MG
121362001-07-31 matthew green <mrg@eterna.com.au>
12137
12138 * config.gcc (i386-*-netbsdelf): New description.
12139 * config/i386/netbsd-elf.h: New file.
12140
ae16bf15
GK
121412001-07-30 Geoffrey Keating <geoffk@redhat.com>
12142
12143 * loop.c (check_dbra_loop): Use single_set to compute
12144 jump_label.
12145
2bfcf297
DB
121462001-07-31 Daniel Berlin <dan@cgsoftware.com>
12147
12148 PowerPC reorg and support for powerpc64-*-linux*.
12149
12150 Also fixes emitting of constants on 32 bit and 64 bit
12151 platforms.
7f8a2125 12152
2bfcf297 12153 * config.gcc: powerpc64-*-linux* is a new target.
7f8a2125 12154 Things that needed aix.h now also include xcoff.h
2bfcf297
DB
12155
12156 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
7f8a2125 12157 xcoff.h.
2bfcf297 12158 Move AIX specific stuff into aix.h.
2bfcf297
DB
12159 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
12160 with more than just XCOFF now.
12161 (SET_ASM_OP): Remove, now defined where needed.
12162 (FUNCTION_PROLOGUE): New macro definition.
12163 (FUNCTION_EPILOGUE): New macro definition.
2bfcf297 12164 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
f96850af 12165
2bfcf297
DB
12166 * config/rs6000/xcoff.h: New file.
12167
12168 * config/rs6000/linux64.h: New file.
12169
12170 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
f96850af
DE
12171
121722001-07-31 Alan Modra <amodra@bigpond.net.au>
12173
12174 * rs6000.c (print_operand_address): Handle ELF syntax.
12175 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
12176 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
12177 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
12178
121792001-07-31 David Edelsohn <edelsohn@gnu.org>
12180
12181 * rs6000.c (rs6000_override_options): Only disable
12182 flag_function_sections for XCOFF.
12183 (exact_log2_cint_operand): New predicate.
12184 (reg_or_{add,sub}_cint64_operand): New predicates.
12185 (add_operand): Compare CONST_INT with fewer function calls.
12186 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
12187 (print_operand, case 'p'): Ensure positive operand.
12188 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
12189 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
12190 (PREDICATE_CODES): Add new predicates.
12191 * rs6000.md (addsi3): Split 32-bit constants more correctly.
12192 (divsi3, modsi3): Ensure positive power-of-2.
12193 (adddi3): Use new predicate. Split 32-bit constants more
12194 correctly. Re-arrange splitter to handle any constant.
12195 (subdi3): Use new predicate.
12196 (divdi3, moddi3): Ensure positive power-of-2.
12197 (movdi): Use rs6000_emit_set_const.
12198 (load_toc_v4_pic_di): Delete.
2bfcf297 12199
dc56ceb7
GS
122002001-07-31 Graham Stott <grahams@redhat.com>
12201
12202 * function.c (pad_below): Revert 2001-07-26 patch.
12203
3e42ccd2
JH
12204Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
12205
12206 * reg-stack (convert_regs_1): Fix best edge condition.
12207
940b29aa
JH
12208Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
12209
12210 * jump.c (duplicate_loop_exit_test): Better test for jumps
12211 entering the loop; create loop pre_header.
12212
91abf72d
HP
122132001-07-31 Hartmut Penner <hpenner@de.ibm.com>
12214
39f95a2c 12215 * doc/install.texi: Add s390 and s390x as new targets.
f63d1bf7 12216 * doc/invoke.texi: Add documentation of S/390 and zSeries
39f95a2c 12217 target options.
f63d1bf7 12218 * doc/md.texi: Add documentation of S/390 and zSeries constraints.
91abf72d 12219
8406d023
RZ
122202001-07-30 Roman Zippel <zippel@linux-m68k.org>
12221
12222 * config/m68k/m68k.md: Replace all general_operand with
12223 nonimmediate_operand for all destinations.
12224 * config/m68k/m68k.c (not_sp_operand): Likewise.
12225
4d494dfe
JW
12226Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
12227
39f95a2c 12228 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
4d494dfe 12229
88828291
RH
122302001-07-30 Richard Henderson <rth@redhat.com>
12231
12232 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
12233 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
12234
f18bff15
RZ
122352001-07-30 Roman Zippel <zippel@linux-m68k.org>
12236
12237 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
12238 Add missing doc strings
12239 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
12240 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
12241
0ecf09f9
JH
12242Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
12243
12244 * i386.c (ix86_output_main_function_alignment_hack): New function.
12245 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
12246
12247 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
12248 edges by EDGE_DFS_BACK flag.
12249 (dump_edge_info): Add dfs_back flag.
12250 * basic-block.h (EDGE_DFS_BACK): New constant.
12251 (mark_dfs_back_edges): Declare.
12252 * alias.c (loop_p): Remove.
12253 (mark_constant_function): Use mark_dfs_back_edges.
12254
eaec9b3d
JM
12255 * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
12256 (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
0ecf09f9
JH
12257 (compensate_edge): Break out from ...
12258 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
12259 (convert_regs_2): Set block_done once block is really done;
eaec9b3d 12260 Do updating of the predecessors counts.
0ecf09f9
JH
12261
12262 * toplev.c (rest_of_compilation): Recompute block_for_insn
12263 before post-reload cfg_cleanup.
12264 * function.c (thread_prologue_epilogue_insns):
12265 Call set_block_for_new_insns when emitting prologue directly.
12266
1490f392
AJ
122672001-07-30 Andreas Jaeger <aj@suse.de>
12268
39f95a2c 12269 * jump.c: Add prototype for mark_modified_reg.
1490f392 12270
39f95a2c 12271 * cse.c (set_live_p): Add unused attribute.
1490f392 12272
39f95a2c
JH
12273 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
12274 overflow.
12275 (scan_for_source_files): Use long for count to avoid overflow.
12276 (output_data): Likewise.
12277 (output_data): Don't use string concatatenation to silence gcc
12278 -traditional.
1490f392 12279
39f95a2c 12280 * predict.c: Fix typos and grammar.
1490f392
AJ
12281
12282 * gcse.c (insert_insn_end_bb): Remove unused variables.
12283
a08b2604
JH
12284Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
12285
12286 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
12287 (attempt_auto_inc): LIkewise.
12288 (mark_used_reg): Likewise.
12289 (try_pre_increment_1): Likewise.
12290 * regclass.c (regclass): Likewise.
12291 * global.c (allocno_compare): Update comment; change scaling factor.
12292 * local-alloc.c (QTY_CMP_PRI): Likewise.
12293 * regs.h (REG_FREQ_FROM_BB): New.
12294 (REG_FREQ_MAX): Likewise.
12295
c2c0294a
L
122962001-07-30 H.J. Lu <hjl@gnu.org>
12297
12298 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
12299 -D_GNU_SOURCE.
12300
8597f3dd
L
123012001-07-30 H.J. Lu (hjl@gnu.org)
12302
12303 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
12304 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
12305 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
12306
b3026a92
NC
123072001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
12308
12309 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
12310 as -mthumb-interwork when -mcpu=arm7 is specified.
12311
8b7e92f9
JH
12312Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
12313
12314 * predict.def (noreturn, loop branch, loop exit): Mark as first
12315 match heuristics.
12316
592a6d1d
JH
12317Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
12318
12319 * combine.c (try_combine): Avoid barrier after noop jumps.
12320
09b82253
NB
123212001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12322
12323 * cpphash.h (struct cpp_reader): Remove import_warning.
12324 * cpplib.c (skip_rest_of_line): Don't bother turning off
12325 macro expansion.
12326 (parse_include): Move include handling to...
12327 (do_include_common): ... here. Move import warning from...
12328 (do_import): ... here.
12329 (do_pragma_poison): Don't do a callback for poison identifiers.
12330 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
12331 * cppmain.c (setup_callbacks): Similarly.
12332
833366d6
JH
12333Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
12334
12335 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
12336 handle multiple sets.
12337 * except.c (sjlj_mark_call_sites): .... here.
12338 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
12339
b5832b43
JH
12340Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
12341
12342 Suggested by Richard Henderson and Richard Kenner:
12343 * combine.c (recog_for_combine): Use the fake recog
12344 only if instruction does not match.
12345 * rtl.h (NOOP_MOVE_INSN_CODE): New.
12346 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
12347
12348 * combine.c (try_combine): Discover noop jump as direct jump.
12349
12285d9d
DB
123502001-07-29 Daniel Berlin <dan@cgsoftware.com>
12351
12352 * df.c (df_rd_global_compute): Add successors to worklist, not
12353 current item.
12354 (df_ru_global_compute): Ditto.
12355
b2d57793
DB
123562001-07-27 Daniel Berlin <dan@cgsoftware.com>
12357
12358 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
12359 increment REG_N_SETS.
12360
123612001-07-26 Daniel Berlin <dan@cgsoftware.com>
12362
12363 * sbitmap.h: New prototype for sbitmap_a_xor_b.
12364
12365 * sbitmap.c (sbitmap_a_xor_b): New function.
12366 ifdef the basic block stuff on IN_GCC.
12367
6d18adbc
NB
123682001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12369
12370 * cppexp.c (parse_defined): Always record the macro name.
12371 (lex): Don't worry about identifiers, or special-case
12372 CPP_NOT here.
12373 (_cpp_parse_expr): Figure out at the end of the routine
12374 whether we saw a valid !defined() expression.
12375 * cppfiles.c (stack_include_file): Update for mi_valid.
12376 (_cpp_pop_file_buffer): Similarly.
12377 * cpplex.c (_cpp_lex_token): Similarly.
12378 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
12379 mi_if_not_defined, mi_lexed): Remove.
12380 (mi_valid): New.
12381 * cpplib.c (do_if): Simplify.
12382 (do_endif, push_conditional, _cpp_handle_directive): Update
12383 for renaming of mi_state to mi_valid.
12384doc:
12385 * cpp.texi: Add index entries for digraphs, and add comment
12386 that C++ refers to them as alternative tokens.
12387
0068fd96
JH
12388Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
12389
12390 * basic-block.h (CLEANUP_PRE_LOOP): New.
12391 * except.c (finish_eh_generation): Update call of cleanup_cfg.
12392 * sibcall.c (optimize_sibling_calls): Likewise.
12393 * toplev.c (rest_of_compilation): Likewise.
12394 * flow.c (try_forward_edges): Take argument MODE;
12395 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
12396 (try_optimize_cfg): Update call of try_forward_edges.
12397
12398Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
2ea792c2 12399 Jan Hubicka <jh@suse.cz>
0068fd96
JH
12400
12401 * (validate_replace_rtx_1): Fix simplification of MINUS.
12402
df07e07d
NB
124032001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
12404
12405 PR preprocessor/3669
12406 * cppinit.c (init_dependency_output): Turn off dump requests
12407 if sending dependencies to stdout.
12408
587f922a
RH
124092001-07-28 Richard Henderson <rth@redhat.com>
12410
12411 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
12412 not optimizing.
12413
89f355bd
G
124142001-07-28 Golubev I. N. <gin@mo.msk.ru>
12415
12416 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
12417
391522e3
KH
124182001-07-28 Kazu Hirata <kazu@hxi.com>
12419
12420 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
12421 is VAR_DECL first to prevent an ICE.
12422
6681bc1f
RH
124232001-07-28 Richard Henderson <rth@redhat.com>
12424
12425 * varasm.c (immed_real_const_1): Don't elide special cases for
12426 nested functions.
12427 (clear_const_double_mem): Clear const_tiny_rtx too.
12428
a20612aa
RH
124292001-07-28 Richard Henderson <rth@redhat.com>
12430
12431 * dwarf2out.c (dw_val_class_offset): New.
12432 (struct dw_ranges_struct, dw_ranges_ref): New.
12433 (ranges_table, ranges_table_allocated): New.
12434 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
12435 (add_AT_offset, add_ranges, output_ranges): New.
12436 (print_die, output_die): Handle dw_val_class_offset.
12437 (attr_checksum, size_of_die, value_format): Likewise.
12438 (gen_lexical_block_die): Handle non-contiguous blocks.
12439 (gen_block_die): Likewise.
12440 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
12441 if needed. Dump the ranges table.
12442 * final.c (final_start_function): Remove unnecessary notes and
12443 rebuild the block tree before numbering the blocks.
12444 * function.c (reorder_blocks_0): Walk the existing block tree
12445 to unmark all blocks.
12446 (reorder_blocks_1): Create block fragments when duplicate block
12447 notes are seen.
12448 (reorder_fix_fragments): New.
12449 (reorder_blocks): Call it.
12450 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
12451
c2f7bcc3
RH
124522001-07-28 Richard Henderson <rth@redhat.com>
12453
12454 * emit-rtl.c (adjust_address): Make a copy of the memory address.
12455
91d84fad
RH
124562001-07-28 Richard Henderson <rth@redhat.com>
12457
12458 * flow.c (add_to_mem_set_list): New function.
12459 (init_propagate_block_info): Use it.
12460 (mark_set_1): Likewise.
12461 (insn_dead_p): Canonicalize memory address for dead store
12462 comparison. Allow wider mode stores to kill narrower mode stores.
12463 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
12464 (invalidate_mems_from_set): Don't handle MEMs.
12465
0a02170f
KH
124662001-07-28 Kazu Hirata <kazu@hxi.com>
12467
12468 * config/h8300/h8300.h: Fix formatting.
12469
134d3a2e
JH
12470Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
12471
12472 * basic-block.h (EDGE_FREQUENCY): New macro.
12473 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
12474 for new BB/edges.
12475 * flow.c (find_sub_basic_blocks): Likewise.
12476 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
12477 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
12478
12479 * predict.c (DEF_PREDICTOR): New argument FLAGS.
12480 (HITRATE): New macro.
12481 (PRED_FLAG_FIRST_MATCH): New constant.
12482 (predictor_info): New field flgags.
12483 (combine_predictions_for_insn): Use DS theory to combine
12484 probabilities; set the edge probabilities when finished.
12485 (estimate_probability): Avoid duplicated matches
12486 of LOOP_BRANCH heuristics for nested loops; update comment.
12487 * predict.def: Add flags for each prediction, set probabilities
12488 according to B&L paper.
12489 * predict.h (DEF_PREDICTOR): New argument FLAGS.
12490
12491 * profile.c (compute_branch_probabilities): Cleanup way the edge
12492 probabilities are computed and REG_BR_PROB notes are dropped; if
12493 values does not match, emit error.
12494 (init_branch_prob): Do error instead of warning when profile driven
12495 feedback is missing or corrupt.
12496
7f646877
DD
124972001-07-27 DJ Delorie <dj@redhat.com>
12498
12499 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
12500 against a constant, try to adjust the compare to have the desired
12501 constant in it so that min/max optimizations happen more often.
12502
d69d0316
JH
12503Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
12504
12505 * flow.c (last_loop_beg_note): New function.
12506 (redirect_edge_and_branch): Use it.
12507 (split_edge): Likewise.
12508
12509 * alias.c (loop_p): Avoid uninitialized memory access.
12510
12511 * flow.c (try_forward_edges): Avoid accessing freed memory.
12512
12513 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
12514 variable access.
12515
0dd99795
AH
125162001-07-26 Andrew Haley <aph@redhat.com>
12517 Joern Rennecke <amylaar@redhat.com>
12518
12519 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
12520 (SUBTARGET_CPP_ENDIAN_SPEC): New.
12521 (SUBTARGET_CPP_SPEC): New.
12522 (CPP_SPEC): Remove.
12523 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
12524 (SUBTARGET_CPP_PTR_SPEC): New.
12525 (CPP_DEFAULT_CPU_SPEC): New.
12526 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
12527 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12528 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
12529 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12530 (SUBTARGET_CPP_SPEC): Define as an empty string.
12531
e69aa433
GP
125322001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12533
12534 * doc/install.texi (Configuration): Properly link the host
12535 specific instructions also when generating HTML.
12536
a727094f
JW
12537Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
12538
39f95a2c 12539 * flow.c (redirect_edge_and_branch_force): Test
a727094f
JW
12540 target->global_live_at_start.
12541
732910b9
RH
125422001-07-26 Richard Henderson <rth@redhat.com>
12543
12544 * simplify-rtx.c (avoid_constant_pool_reference): Export.
12545 * rtl.h (avoid_constant_pool_reference): Declare it.
12546 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
12547 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
12548
01f62f01
JH
12549Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
12550
12551 * rtl.h (cleanup_barriers): Declare.
12552 * jump.c (cleanup_barriers): New function.
12553 * toplev.c (rest_of_compilation): Call cleanup_barriers
12554 before loop optimizer and after bb_reorder.
12555
12556 * flow.c (back_edge_of_syntactic_loop_p): New.
12557 (split_edge): Use it.
12558
aa069f77
RO
125592001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12560
12561 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
12562
c96208fa
DC
12563Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
12564
12565 * cse.c (cse_process_notes): Replace any registers if the address
12566 remains valid.
12567
11f68165
JW
12568Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
12569
12570 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
12571 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
12572 (propagate_block): Update prototype.
12573 * flow.c (update_life_info): Simplify the CFG and
12574 recalculate the global regs which are alive when
12575 removing dead code during a global update.
12576 (propagate_block): Return non-zero if an INSN is
12577 deleted.
12578
62c62a4f
RO
125792001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12580
12581 * Makefile.in (LIBICONV): Define.
12582
06e937ed
CM
125832001-07-26 Catherine Moore <clm@redhat.com>
12584
39f95a2c
JH
12585 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
12586 of conditional to avoid tree checking errors.
06e937ed 12587
f3029065
KH
125882001-07-26 Kazu Hirata <kazu@hxi.com>
12589
12590 * regmove.c (regmove_optimize): Don't replace a reg with
12591 another reg of a different mode.
12592
4a121cc3
AM
125932001-07-26 Andrew MacLeod <amacleod@redhat.com>
12594
1490f392 12595 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
ff7cc307 12596 limit length of dependency flush list.
4a121cc3
AM
12597 * params.h (MAX_PENDING_LIST_LENGTH): Define.
12598 * sched-int.h (struct deps): Add pending_flush_length field.
12599 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
12600 has 1 element in it.
12601 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
12602 (sched_analyze): After a jump, if the pending memory flush list is too
12603 large, flush the pending lists.
12604 (init_deps): Initialize pending_flush_length to 0.
12605 * doc/invoke.texi (max_pending_list_length): Document parameter.
12606
440aabf8
NB
126072001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
12608
12609 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
12610 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
12611 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
12612
cef0d199
NB
126132001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12614
12615 * cpphash.h (struct_lexer_state): Delete was_skipping.
12616 Move skipping here from struct cpp_reader.
12617 * cpplex.c (parse_identifier): Update.
12618 (_cpp_lex_token): Don't skip tokens in a directive.
12619 * cpplib.c (struct if_stack): Update.
12620 (start_directive, end_directive): Don't change skipping state.
12621 (_cpp_handle_directive): Update.
12622 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
12623 (do_else, do_endif): Update; only check for excess tokens if not
12624 in a skipped conditional block.
12625 (push_conditional): Update for new struct if_stack.
12626
5b16f556
GS
126272001-07-26 Graham Stott <grahams@redhat.com>
12628
12629 * function.c (locate_and_pad_parm): Also pad initial offset
12630 so that the total argument size also includes the padding.
12631
126322001-07-26 Graham Stott <grahams@redhat.com>
12633
12634 * gensupport.c (alter_output_for_insn): Correct enable checking failure
12635 change XSTR to XTMPL.
12636
12637 (process_one_cond_exec): Likewise
12638
17eee61c
RH
126392001-07-25 Richard Henderson <rth@redhat.com>
12640
12641 * varasm.c (assemble_variable): Create DECL_RTL before setting
12642 TREE_ASM_WRITTEN.
12643
c4f81e4a
JH
12644Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
12645
12646 * predict.c (estimate_probability): Avoid duplicated predictions.
12647
12648 * loop.c (find_and_verify_loops): Grok multiple barriers.
12649
02e3f1a8
RK
12650Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12651
472385a2
RK
12652 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
12653
02e3f1a8 12654 * dbxout.c: Consistently use putc instead of fputc.
1490f392 12655 (print_wide_int): New function; call instead of direct fprintf.
02e3f1a8
RK
12656 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
12657 (dbxout_type_fields, dbxout_type_method_1): Likewise.
12658 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
12659 (print_int_cst_octal): Likewise.
12660 (print_octal): Show we wrote characters.
12661 (dbxout_type): Set have_used_extensions in more places.
12662
f2d28b14
CM
126632001-07-25 Catherine Moore <clm@redhat.com>
12664
39f95a2c
JH
12665 * config/v850/v850.c (v850_va_arg): Use addr
12666 instead of valist to build incr.
f2d28b14 12667
6e64a52a
JH
12668Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
12669
12670 * flow.c (delete_dead_jumptables): New function.
12671 (life_analyzis): Call it.
02e3f1a8
RK
12672 * bb-reorder.c (skip_insns_after_block): Handle contradictory
12673 sequences.
6e64a52a 12674
7f206d8f
RH
126752001-07-25 Richard Henderson <rth@redhat.com>
12676
12677 * except.c (reachable_handlers): Handle a region being removed
12678 out from under a RESX.
12679
56f19d92
RH
126802001-07-25 Richard Henderson <rth@redhat.com>
12681
12682 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
02e3f1a8 12683 swap GE/GT if it is an fp comparison.
56f19d92
RH
12684
126852001-07-25 Andrew Haley <aph@cambridge.redhat.com>
3237ac18
AH
12686
12687 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
12688 operands.
12689
42f28de9
JL
12690Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
12691
1490f392 12692 * ssa.c (rename_insn_1): Do not wrap an assignment to a
ea0eceb1
JL
12693 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
12694 glitch.
12695
42f28de9
JL
12696 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
12697 throw an exception.
12698 (visit_expression): When attempting to simplify an expression,
12699 retrieve any modes for arguments before they are simplified
12700 to constants.
12701
7c2b017c
AM
127022001-07-25 Andrew MacLeod <amacleod@redhat.com>
12703 Janis Johnson <janis@us.ibm.com>
12704
12705 * stmt.c (expand_goto): A nonlocal goto can be a call too.
12706 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
12707 pointer parameters to match documented usage of nonlocal_goto.
12708 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
12709 parameters to their correct order.
12710 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
12711 parameters to their correct order.
12712
ff3daa88
AM
127132001-07-25 Andrew MacLeod <amacleod@redhat.com>
12714
12715 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
12716
a368a2fa
JH
127172001-07-25 Jan Hubicka <jh@suse.cz>
12718 Richard Henderson <rth@redhat.com>
12719
12720 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
12721 the sequence.
12722 (make_edges): New argument update_p; populate the edge cache if set.
12723 (find_basic_blocks): Update make_edges invocation.
12724
303e979a
JS
127252001-07-24 Joel Sherrill <joel@OARcorp.com>
12726
12727 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
12728
7adb4be8
JS
127292001-07-24 Joel Sherrill <joel@OARcorp.com>
12730
39f95a2c 12731 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
7adb4be8 12732 -Acpu and -Amachine.h.
39f95a2c
JH
12733 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
12734 Corrected header to say ELF not a.out.
12735 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
7adb4be8
JS
12736 when given -msoft-float.
12737
127382001-07-24 Joel Sherrill <joel@OARcorp.com>
bb8602be
JS
12739
12740 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
12741 extra multilib parts like arm-elf.
12742 (i960-*-coff*, i960-*-rtems): Should not use collect2.
12743 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
12744 crtfini.o as extra multilib parts.
12745
e08f13ee
JS
127462001-07-24 Joel Sherrill <joel@OARcorp.com>
12747
12748 * configure.in: Add rtems as a supported thread model.
12749 * gthr-rtems.h: Add missing entry point __gthread_active_p.
12750 * configure: Rebuilt.
12751
0c237688
LB
127522001-07-24 Lars Brinkhoff <lars@nocrew.org>
12753
12754 * stor-layout.c (get_mode_alignment): make it work when
12755 BITS_PER_UNIT is not a power of two.
12756 * builtins.c (get_pointer_alignment): Likewise.
12757
5a2aa3bd
RH
127582001-07-24 Richard Henderson <rth@redhat.com>
12759
12760 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
12761 the retrieved constant into the expected mode.
12762
ca9fef16
JH
12763Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
12764
12765 * flow.c (try_simplify_condjump): Avoid duplicated edges.
12766 (verify_flow_info): Check for duplicated edges; clarify
12767 error reporting.
12768
12769 * flow.c (block_label): Update basic_block_for_insn.
12770 (commit_edge_insertions): Call compute_bb_for_insn.
12771
12772 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
12773 returns too.
12774
12775 * flow.c (redirect_edge_and_branch,
12776 try_optimize_cfg): Use redirect_edge_succ_nodup
12777 (redirect_edge_succ_nodup): New.
12778 * basic_block.h (redirect_edge_succ_nodup): Declare.
12779
12780 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
12781 after gcse.
12782
40fc4e6a
JH
12783Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
12784
12785 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
12786 (try_crossjump_to_edge): Update commetns.
12787 (try_crossjump_bb): Likewise.
12788
e7139885
RH
127892001-07-24 Richard Henderson <rth@redhat.com>
12790
12791 * combine.c (distribute_notes): Move set of need_refresh
12792 for noop_move_p down to catch all cases.
12793
6f862f2f
JH
12794Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
12795
12796 * recog.c (split_all_insns_noflow): New.
12797 * rtl.h (split_all_insns_noflow): Declare.
12798 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
12799 * m68hc11.c (m68hc11_reorg): Likewise.
12800 * sh.c (machine_dependent_reorg): Likewise.
12801 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
12802 call.
12803
615cd49b
AH
128042001-07-18 Andrew Haley <aph@cambridge.redhat.com>
12805
bb8602be
JS
12806 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
12807 (ashlsi3_n splitter): Likewise.
12808 (lshrsi3_n splitter): Likewise.
615cd49b 12809
bb8602be
JS
12810 (GOTaddr2picreg): Make const SImode.
12811 (sym_label2reg): Likewise.
12812 (symGOT2reg): Likewise.
12813 (symGOTOFF2reg) Likewise.
615cd49b 12814
bb8602be 12815 (casesi_worker_0): Make unspec SImode.
615cd49b 12816
2b9d17c7
AH
128172001-07-18 Andrew Haley <aph@cambridge.redhat.com>
12818
bb8602be
JS
12819 * config/sh/sh.c (barrier_align): Check that an operand really is
12820 an insn before extracting its INSN_CODE.
2b9d17c7 12821
cfe1cd40
AH
128222001-07-24 Andrew Haley <aph@cambridge.redhat.com>
12823
12824 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
12825 dangling else.
12826
12827 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
12828 for SImode to prevent overflow.
12829
46d2e8d7
RO
128302001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12831
12832 * config/mips/irix6-libc-compat.c: New file.
12833 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
12834 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
12835 passing workaround.
12836
cd6e5291
LB
128372001-07-24 lars brinkhoff <lars@nocrew.org>
12838
12839 * rtl.texi (REG_POINTER): Document.
12840 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
12841 QFmode, HFmode, TQFmode, QCmode, and HCmode.
12842
8f54d2ff
JH
12843Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
12844
12845 * flow.c (delete_noop_moves): Do not confuse libcall regions.
12846
6a7ca996
RH
128472001-07-23 Richard Henderson <rth@redhat.com>
12848
12849 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
12850
ba412630
KH
128512001-07-23 Kazu Hirata <kazu@hxi.com>
12852
12853 * config/h8300/h8300-protos.h: Add a prototype for
12854 general_operand_dst_push.
1490f392 12855 * config/h8300/h8300.c (general_operand_dst_push): New.
ba412630
KH
12856 * config/h8300/h8300.h (OK_FOR_T): New.
12857 (EXTRA_CONSTRAINT): Use it.
12858 * config/h8300/h8300.md (movqi_push): Remove and integrate into
12859 the existing movqi pattern.
12860 (movhi_push): Likewise.
12861
82efa2e5
KH
12862 * reload.c: Fix comment typos.
12863
21715220
JH
12864Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
12865
12866 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
12867
dd96fbc5
L
128682001-07-23 H.J. Lu (hjl@gnu.org)
12869
12870 * doc/extend.texi: Update __builtin_return_address and
12871 __builtin_frame_address.
12872
c50e5bc0
RH
128732001-07-23 Richard Henderson <rth@redhat.com>
12874
12875 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
12876 before CSE.
12877 * config/i386/i386.md: New setcc+movzbl peephole2.
12878
9099cc4f
NB
128792001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12880
12881 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
12882 * objc/objc-act.c: Include debug.h.
12883 (synth_module_prologue): Save and restore debug hooks too.
12884
68eb4fb9
LB
128852001-07-23 lars brinkhoff <lars@nocrew.org>
12886
12887 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
12888 and C4X_FLOAT_FORMAT.
12889 (BOOL_TYPE_SIZE): Document.
12890
57de7530
CP
12891Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
12892
12893 * unroll.c (loop_iterations): Fix miscalculation of initial
12894 giv offset.
12895
6e7b03e1
AH
128962001-07-13 Andrew Haley <aph@redhat.com>
12897
bb8602be
JS
12898 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
12899 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
12900 * config/sh/sh.c (sh_can_redirect_branch): New function.
12901 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
12902 * reorg.c (steal_delay_list_from_target): Use
12903 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
6e7b03e1 12904
0dd94abd
JH
12905Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
12906
12907 * flow.c (try_simplify_condjump): Unlink insn chain on
12908 fallthru edge; use can_fallthru.
12909
0005550b
JH
12910Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
12911
12912 * basic-block.h (find_sub_basic_block): Declare.
12913 * flow.c (make_edges): New arguments MIN and MAX;
12914 (find_sub_basic_blocks): Revamp to use make_edges
12915 and purge_dead_edges.
12916 (find_basic_blocks): Update call of find_sub_basic_block.
12917
12918 * recog.c (split_all_insns): Always expect CFG to be consistent;
12919 call find_sub_basic_blocks in case something has changed.
12920 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
12921 has been built.
12922
12923 * basic-block.h (delete_noop_moves): Declare.
12924 * combine.c (combine_instructions): Call it.
12925 (recog_for_combine): Tolerate noop moves
12926 (distribute_notes): Force refresh when register dies at noop move.
12927 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
12928 too.
12929 (life_analysis): Update delete_noop_moves call.
12930 (set_noop_p): Move too ...
12931 * rtlanal.c (noop_move_p): ... here.
12932 * rtl.h (noop_move_p): Declare.
12933
12934 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
12935 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
12936 after combine.
12937 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
eaec9b3d 12938 (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
0005550b 12939
e0120d6e
HPN
129402001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
12941
12942 * reload.c (push_reload): Fix typo in comment.
12943 (find_reloads_address): Ditto.
12944 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
12945
b02eea61
RH
129462001-07-22 Richard Henderson <rth@redhat.com>
12947
12948 * flow.c: Grammar check and clarify a lot of comments.
12949 (try_simplify_condjump): Rename variables to be clearer.
12950 (try_forward_edges): Skip complex and fallthru edges.
12951 Rearrange tests to avoid duplicate checks.
12952 (flow_find_cross_jump): Likewise.
12953 (outgoing_edges_match): Allow match if neither branch has
12954 probability data. Loosen probability match to 5%.
1490f392 12955 (try_crossjump_to_edge): Hoist repeated indirection into
b02eea61
RH
12956 local variables.
12957 (try_crossjump_bb): Don't check complex edges. Eliminate
12958 redundant crossjump tests.
12959 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
12960 checks before more expensive checks.
12961
1f2f8b29
RH
129622001-07-22 Richard Henderson <rth@redhat.com>
12963
12964 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
12965 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
12966 arguments.
12967
97660e20
RH
129682001-07-22 Richard Henderson <rth@redhat.com>
12969
12970 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
12971 (const_sint32_operand): Likewise.
12972 * m68k.md (anon mulsi pattern): Use const_int_operand not
12973 const_sint32_operand.
12974 (umulsi3_highpart): Zero extend a constant input.
12975 (smulsi3_highpart): Don't bother checking SImode constant.
12976 (const_umulsi3_highpart): Give op3 DImode.
12977 (const_smulsi3_highpart): Likewise.
12978
0b6301ae
RH
129792001-07-22 Richard Henderson <rth@redhat.com>
12980
12981 * flow.c (split_block): Make sure bb_note is included in the
12982 new block when splitting before a label.
12983
6b24c259
JH
12984Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
12985
12986 * basic-block.h (redirect_edge_and_branch_force,
12987 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
12988 * flow.c (redirect_edge_and_branch_force,
12989 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
12990 (redirect_edge_and_branch_force): Fix copying of lifeness information.
12991 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
eaec9b3d 12992 * ifcvt.c (dead_or_predictable): Take BB as an new destination
6b24c259
JH
12993 instead of label; update CFG after transformation.
12994 (find_if_case_1): Update call, use redirect_edge_and_branch_force
12995 for finishing the transformation; handle even case where ELSE
12996 does not follow THEN.
12997 (find_if_case_2): Update call of dead_or_predictable; simplify
12998 CFG update.
12999
13000 * emit-rtl.c (split_branch_probability): New global variable.
13001 (try_split): Take care to set split_branch_probability and
13002 create REG_BR_PROB note for new jump insns.
13003 * md.texi (define_split): Document new feature.
13004
13005 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
13006
544f03b4
NB
130072001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
13008
13009 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
13010 (asm_out_file): Remove redundant declaration.
13011 (assemble_asm): Remove old #if 0 block.
13012 (assemble_variable): Remove end of function; debug output is
13013 now handled with global_decl. Remove old #if 0 block. Update.
13014 Remove saved_in_section and associated no-op code.
13015 * Makefile.in (varasm.o): Correct dependencies.
13016
bad1f214
AO
13017Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
13018
13019 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
13020 the definition in defaults.h.
13021
0045d504
JH
13022Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
13023
13024 * jump.c: Update comments.
13025 (delete_barrier_successors, delete_unreferenced_labels,
13026 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
13027 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
13028 jump_optimize, jump_optimize_minimal): Kill.
13029 (rebuild_jump_labels): Move code from jump_optimize_1.
13030 (purge_line_number_notes): Likewise.
13031 (copy_loop_headers): Likewise.
13032 * reg-stack.c: Update comment.
13033 * stmt.c: Likewise.
13034 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
13035 JUMP_AFTER_REGSCAN): Kill.
13036 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
13037 purge_line_number_notes and copy_loop_headers.
13038
3914abb4
NB
130392001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
13040 Richard Henderson <rth@redhat.com>
13041
13042 * dbxout.c (dbxout_global_decl): New.
13043 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
13044 * sdbout.c (sdbout_finish): New.
13045 (sdbout_debug_hooks): Use it, add comments.
13046 (sdbout_global_decl): Defer initialised public vars to
13047 sdbout_finish.
13048 * varasm.c (assemble_variable): Don't output debug information
13049 for file-scope variables.
13050
be7560ea
RH
130512001-07-22 Richard Henderson <rth@redhat.com>
13052
13053 * config/alpha/alpha.c (get_trap_mode_suffix): New.
13054 (get_round_mode_suffix): New.
13055 (print_operand): Use them for [/]. Remove support for [&'`()+].
13056 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
13057 * config/alpha/alpha.md (attr round_suffix): New.
13058 (attr trap_suffix): New.
13059 (all insns): Set them appropriately. Use %/ instead of the
13060 myriad punctuators.
13061
65ecca65
NB
130622001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
13063
13064 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
13065
4e812700
RH
130662001-07-22 Richard Henderson <rth@redhat.com>
13067
13068 * regrename.c (regrename_optimize): Compute nregs for each
13069 potential target register.
13070
f7e10587
NB
130712001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
13072 Richard Henderson <rth@redhat.com>
13073
13074 * dbxout.c (dbxout_global_decl): New.
13075 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
13076 * sdbout.c (sdbout_finish): New.
13077 (sdbout_debug_hooks): Use it, add comments.
13078 (sdbout_global_decl): Defer initialised public vars to
13079 sdbout_finish.
13080 * varasm.c (assemble_variable): Don't output debug information
13081 for file-scope variables.
13082
919b1aec
L
130832001-07-21 H.J. Lu (hjl@gnu.org)
13084
13085 * config/mips/mips.c (mips_cpu): Moved into ...
13086 (override_options): Here.
13087
13088 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
13089 mips_tune.
13090 (mips_cpu): Removed.
13091
0477256c
SC
130922001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13093
13094 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
13095 ("iorqi3"): Likewise.
13096 ("xorqi3"): Likewise.
13097 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
13098 ("*subhi3_sp): Likewise.
13099 ("*subhi3"): Likewise.
1490f392 13100 ("extendhisi2"): Accept D, X and Y as source operand to avoid
0477256c
SC
13101 reload problems.
13102
c4372ef4
NS
131032001-07-21 Nathan Sidwell <nathan@codesourcery.com>
13104
13105 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
13106 * config/freebsd.h: Likewise.
13107 * config/linux.h: Likewise.
13108 * config/openbsd.h: Likewise.
13109 * config/alpha/linux-elf.h: Likewise.
13110 * config/arm/linux-elf.h: Likewise.
13111 * config/d30v/d30v.h: Likewise.
13112 * config/fr30/fr30.h: Likewise.
13113 * config/ia64/aix.h: Likewise.
13114 * config/ia64/ia64.h: Likewise.
13115 * config/mips/linux.h: Likewise.
13116 * config/pj/pj.h: Likewise.
13117 * config/rs6000/linux.h: Likewise.
13118 * config/sparc/linux.h: Likewise.
13119 * config/sparc/linux64.h: Likewise.
13120
90376ae2
BK
131212001-07-20 Bruce Korb <bkorb@gnu.org>
13122
13123 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
13124 because getc() and char* may disagree on signedness.
13125
50b996bf
RH
131262001-07-20 Richard Henderson <rth@redhat.com>
13127
13128 * doc/rtl.texi (REG_DEAD): Update for current semantics.
13129
e9644cfe
RH
13130 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
13131 insns to delete in the presence of cc0 in a jump insn.
13132
ed6ba1a5 13133Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
2ea792c2 13134 Jan Hubicka <jh@suse.cz>
ed6ba1a5
RZ
13135
13136 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
13137 of doing the change by hand.
13138
371b8fc0
JH
13139Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
13140
13141 * rtlanal.c (set_noop_p): Return true for noop jumps.
13142
13143 * expr.c (emit_single_push_insn): Add call to push expander.
13144 * expr.h (optab_index): Add OTI_push
13145 (push_optab): New constant.
13146 * genopinit.c (optabs): Add push_optab.
13147 * optabs.c (init_optab): Init push optab.
13148 * md.texi (push??1): Document
13149
00d0458c
SC
131502001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13151
13152 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
1490f392 13153 expand to emit the pattern; put a REG_INC note for push/pop
00d0458c
SC
13154 instructions.
13155 ("movdf", "movdf_internal"): Likewise.
13156 ("movsi", "movsi_internal"): Likewise.
13157 ("movsf", "movsf_internal"): Likewise.
13158 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
13159
d74e9142
SC
131602001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13161
13162 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
13163 gen_highpart.
13164
1c432a87
DB
131652001-07-20 Daniel Berlin <dan@cgsoftware.com>
13166
13167 * params.def: Change default max inline insns to 100.
13168
9def18da
DN
131692001-07-20 Diego Novillo <dnovillo@redhat.com>
13170
13171 * combine.c (combine_simplify_rtx): Generate a new shift operation
13172 when simplifying the first operand of a (neg (ashift)) expression.
13173
d4845339
RH
131742001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
13175
13176 * regclass.c (N_REG_INTS): Use only 32 bits per element.
13177
131782001-07-20 Kelley Cook <kelley.cook@home.com>
dbd210ef
KC
13179
13180 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
13181 information. Move rest into ...
13182 (*-*-solaris): ... here. Eliminate redundant information and
13183 reword necessary packages section. Delete 4.x assembler bug info.
13184 (sparc-sun-*): Merge into ...
13185 (sparc-sun-sunos*): here.
13186
3a97685a
CM
131872001-07-20 Catherine Moore <clm@redhat.com>
13188
97660e20
RH
13189 * config/v850/v850.md (casesi): Generate LABEL_REF
13190 with Pmode.
3a97685a 13191
d24b3457
JH
13192Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
13193
13194 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
13195 * i386.c (ix86_zero_extend_to_Pmode): Make global.
13196 * i386.md (strclrsi expander): Use it.
13197
bc8d3f91
JH
13198Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
13199
13200 * integrate.c (copy_insn_list): handle
13201 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
13202 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
13203 identically as to CODE_LABEL.
13204
13205 * fold-const (fold): Convert A/B/C to A/(B*C) and
13206 A/(B/C) to (A/B)*C
13207
13208 * except.c (connect_post_landing_pads): Delete the RESX insns.
13209
1f28c666
AH
132102001-07-20 Aldy Hernandez <aldyh@redhat.com>
13211
97660e20 13212 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
1f28c666
AH
13213
13214 * config/mips/mips.md (nmadd/nmsub): Use macro.
13215
002ee64f
NS
132162001-07-20 Nathan Sidwell <nathan@codesourcery.com>
13217
13218 * cppinit.c (remove_dup_dir): Make static.
13219 (remove_dup_dirs): Make static. Only warn about preempting a
13220 system directory with a non-system directory.
13221
038fb2bc
GK
132222001-07-19 Geoffrey Keating <geoffk@redhat.com>
13223
13224 * ifcvt.c (noce_try_store_flag_constants): Correct order
13225 of parameters to trunc_int_for_mode.
13226
be672de8
MM
132272001-07-19 Mark Mitchell <mark@codesourcery.com>
13228
13229 * reorg.c (fill_simple_delay_slots): If an instruction might throw
13230 an exception that will be caught within this function, do not fill
13231 its delay slot with any subsequent instruction.
13232
6dd12198
SE
132332001-07-19 Steve Ellcey <sje@cup.hp.com>
13234
13235 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
13236 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
13237 pointer extension instruction.
13238 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
13239 * simplify-rtx.c (simplify_unary_operation) Likewise.
1490f392 13240 * explow.c (convert_memory_address) Check value of
6dd12198
SE
13241 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
13242 less than zero.
13243 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
13244 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
13245 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
13246 Add Multilib Support.
13247 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
13248 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
13249 Add Multilib Support.
13250 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
13251 support.
13252 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
13253 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
13254 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
13255
0248ce05
AO
132562001-07-19 Alexandre Oliva <aoliva@redhat.com>
13257
13258 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
13259 old and new operands in `<', `3' and `b'.
13260
e1772ac0
NB
132612001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
13262
13263 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
13264 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
13265 (toplev.o): Don't depend on xcoffout.h.
13266 * c-decl.c: Include debug.h
13267 (duplicate_decls): Use debug hook.
13268 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
13269 (dbx_debug_hooks, xcoff_debug_hooks): Update.
13270 (dbxout_types): Remove.
13271 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
13272 * debug.c (do_nothing_debug_hooks): Update.
13273 (debug_true_tree, debug_nothing_rtx): New.
13274 * debug.h (struct rtx_def): New.
13275 (struct gcc_debug_hooks): New hooks ignore_block,
13276 outlining_inline_function and label.
13277 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
13278 dwarf2out_frame_finish): New.
13279 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
13280 Make static, update prototype.
13281 (dwarf2_debug_hooks): Update.
13282 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
13283 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
13284 * dwarfout.c (dwarf_debug_hooks): Update.
13285 * emit-rtl.c: Include debug.h.
13286 (remove_unnecessary_notes): Use debug hook.
13287 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
13288 (final_scan_insn): Use debug hook.
13289 * integrate.c (output_inline_function): Use debug hook.
13290 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
13291 (sdb_debug_hooks): Update.
13292 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
13293 * toplev.c: Don't include xcoffout.h.
13294 (note_outlining_of_inline_function, debug_ignore_block): Remove.
13295 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
13296 Remove.
13297 * tree.h (dwarf2out_do_frame): Remove.
13298
77f43519
CM
132992001-07-19 Catherine Moore <clm@cygnus.com>
13300
1490f392 13301 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
77f43519 13302
d54ef62c
GK
133032001-07-19 Geoffrey Keating <geoffk@redhat.com>
13304
c77fbfbe
GK
13305 * reload1.c (eliminate_regs_in_insn): When updating a set
13306 to the frame pointer to the hardware frame pointer, perform
13307 the update always not just when REPLACE is set.
13308
eb4d554e
GK
13309 * reload1.c (choose_reload_regs): Don't inherit a reload
13310 that crosses multiple registers if registers past the first
13311 don't fit in the desired class.
13312
d54ef62c
GK
13313 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
13314 when negating constants.
13315
7d46d516
TM
133162001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
13317
13318 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
13319 * doc/tree.texi: Ditto.
13320
5442cf15
MK
133212001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
13322 Jakub Jelinek <jakub@redhat.com>
13323
13324 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
13325 (extract_cie_info): Handle "eh" augmentation properly,
13326 remember eh_ptr.
13327 (struct frame_state, __frame_state_for): New.
13328
432fa9f2
RO
133292001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13330
13331 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
13332 HANDLE_SYSV_PRAGMA): Define.
13333 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
13334 previous args.
13335 (copy_object): Caller changed.
13336
bfabbc3c
AS
133372001-07-19 Andreas Schwab <schwab@suse.de>
13338
13339 * configure.in (assembler dwarf2 debug_line support): Define nop
13340 insn for m68k.
13341 * configure: Regenerated.
13342
2b85879e
NB
133432001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
13344
13345 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
13346 dwarfout.h.
13347 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
13348 to conditionally compiled block.
13349 (dbx_debug_hooks, xcoff_debug_hooks): Update.
13350 * dbxout.h (dbxout_function): Remove.
13351 * debug.c (do_nothing_debug_hooks): Update.
13352 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
13353 global_decl, deferred_inline_function.
13354 * dwarf2out.c (dwarf2_debug_hooks): Update.
13355 (dwarf2out_global_decl): New.
13356 * dwarfout.c: Don't include dwarfout.h.
13357 (dwarfout_global_decl, dwarfout_function_decl,
13358 dwarfout_deferred_inline_function): New.
13359 (dwarf_debug_hooks): Update.
13360 * dwarfout.h: Remove.
13361 * final.c: Don't include dwarfout.h.
13362 * sdbout.c (sdbout_global_decl): New.
13363 (sdbout_debug_hooks): Update.
13364 * toplev.c: Don't include dwarfout.h.
13365 (check_global_declarations, rest_of_compilation): Use new debug hooks.
13366 (note_deferral_of_defined_inline_function): Remove.
13367 * toplev.h (note_deferral_of_defined_inline_function): Remove.
13368 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
13369 * ch/lex.c: Don't include dwarfout.h.
13370 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
13371 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
13372 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
13373 * cp/optimize.c: Include debug.h.
13374 (maybe_clone_body): Use debug hook.
13375 * cp/semantics.c: Include debug.h.
13376 (expand_body): Use debug hook.
13377 * po/POTFILES.in: Remove dwarfout.h.
13378
c60e94a7
NB
133792001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
13380
13381 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
13382 * c-parse.in (yyerror, _yylex): Similarly.
13383 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
13384 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
13385 Update comments.
13386 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
13387 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
13388
8458e954
JS
133892001-07-18 Jeff Sturm <jsturm@one-point.com>
13390
13391 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
13392 in-class declaration at -g1. Fixes c++/2814.
13393
d989f648
RH
133942001-07-18 Richard Henderson <rth@redhat.com>
13395
13396 * doc/md.texi (reload_in/out): Document restrictions in predicates
13397 and constraints for these patterns. Document empty string matching
13398 ALL_REGS.
13399
20c93f7c
RO
134002001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13401
13402 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
13403
dc42616f
JH
13404Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
13405
13406 * cse.c: Undo my previous patch.
13407
f91abfce
TT
134082001-07-18 Tom Tromey <tromey@redhat.com>
13409
13410 For PR java/2812:
13411 * configure: Rebuilt.
13412 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
13413 instead.
13414 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
13415
0728902f 13416Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
2ea792c2 13417 Jan Hubicka <jh@suse.cz>
0728902f
RH
13418
13419 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
13420 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
13421 * jump.c (mark_jump_label): Do not forward branches.
13422
f06fbeea
JH
13423Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
13424
13425 * cse.c (delete_trivially_dead_insns): Delete the libcall block
13426 when return value is unused.
13427
222f7ba9
JH
13428Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
13429
13430 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
13431
8b52df45
NP
13432Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
13433
13434 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
13435 on error. We can't blindly return the result of
13436 pthread_mutex_trylock because it returns a positive number on
13437 error, while we must return -1 on error.
13438 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
1490f392 13439 fixes.
8b52df45
NP
13440 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
13441
895b2cfe
AJ
134422001-07-18 Andreas Jaeger <aj@suse.de>
13443
13444 * integrate.c (output_inline_function): Correct type of debug_hooks.
13445
493efd37
TM
134462001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
13447
13448 * combine.c (combine_simplify_rtx): DIV can be treated
13449 associatively for floats if unsafe math optimisations are enabled.
13450
a7c07f1e
RH
134512001-07-17 Richard Henderson <rth@redhat.com>
13452
13453 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
13454
3affaf29
RH
134552001-07-17 Richard Henderson <rth@redhat.com>
13456
13457 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
13458 don't force the function address into a register.
13459 (expand_call, emit_library_call_value_1): Update callers.
13460 * builtins.c (expand_builtin_apply): Likewise.
13461 * expr.h (prepare_call_address): Update decl.
13462
001da62a
CC
134632001-07-17 Chandrakala Chavva <cchavva@redhat.com>
13464
3affaf29
RH
13465 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
13466 config directory.
13467 * config/i386/chorus.h: Move up.
13468 * config/sparc/chorus.h: Likewise.
13469 * config/rs6000/chorus.h: Likewise.
13470 * config/chorus.h: Moved here.
001da62a 13471
01efb963 134722001-07-17 Andreas Schwab <schwab@suse.de>
895b2cfe 13473
2ea792c2
JJ
13474 * configure.in (assembler eh_frame optimization): Handle big
13475 endian.
13476 * configure: Regenerated.
01efb963 13477
b7e9703c
JH
13478Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
13479
13480 * expr.c (epxand_expr): Convert divisions into multiplications by
13481 reciprocals if -ffast-math.
13482
653e276c
NB
134832001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
13484
13485 * dbxout.c (dbxout_really_begin_function): Rename to
13486 dbxout_begin_function.
13487 (dbx_debug_hooks, xcoff_debug_hooks): Update.
13488 (dbxout_begin_function): Remove.
13489 (dbxout_function): Update.
13490 (dbxout_source_line): Update prototype.
13491 * dbxout.h (dbxout_begin_function): Remove.
13492 * debug.c (do_nothing_debug_hooks): Update.
13493 (debug_nothing_tree): Update.
13494 (debug_nothing_charstar_rtx): Remove.
13495 * debug.h (union tree_node): Declare.
13496 (struct rtx_def): Remove.
13497 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
13498 begin_function. Change source_line prototype.
13499 (debug_nothing_tree): New.
13500 (debug_nothing_charstar_rtx): Delete.
13501 (dwarf2out_begin_prologue): Moved from ...
13502 * tree.h: ... here.
13503 * dwarf2out.c (dwarf2_debug_hooks): Update.
13504 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
13505 debug info, call dwarf2out_source_line.
13506 (dwarf2out_souce_line): Update prototype.
13507 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
13508 Change prototype, make static.
13509 (dwarfout_source_line): Update prototype.
13510 (dwarf_debug_hooks): Update.
13511 * dwarfout.h (dwarfout_begin_function): Remove.
13512 * final.c (final_start_function, final_scan_insn): Use appropriate
13513 debug hooks, update to use notice_source_line.
13514 (output_source_line): Rename notice_source_line. Don't call the
13515 source_line debug hook.
13516 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
13517 make static, update prototype.
13518 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
13519 prototype.
13520 (sdbout_end_prologue): New.
13521 (sdbout_source_line): Update prototype.
13522 (sdbout_debug_hooks): Update.
13523 (sdbout_symbol): Remove unused var.
13524 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
13525 Delete.
13526 * varasm.c: Include debug.h.
13527 (assemble_start_function): Use begin_function debug_hook.
13528 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13529 update with prototype.
13530 (xcoffout_source_line): Update prototype.
13531 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13532 update prototype.
13533 (xcoffout_source_line): Update prototype.
13534
91a18fe0
RH
135352001-07-17 Richard Henderson <rth@redhat.com>
13536
13537 * c-typeck.c (build_binary_op): Do not shorten unsigned
13538 right shift after sign extension.
13539
4ba5f925
JH
13540Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
13541
13542 * combine.c (combine_simplify_rtx): Attempt to simplify
13543 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
13544
13545 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
13546 (simplify_binary_operation, simplify_unary_operation,
13547 simplify_relational_operation): Use it.
13548
13549 * combine.c (combine_simplify_rtx): Don't do associative law
13550 on divisions; allow associative law on floats.
13551
3aa8ab7b
L
135522001-07-17 H.J. Lu <hjl@gnu.org>
13553 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13554
13555 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
13556 ASM_OUTPUT_WEAK_ALIAS are defined.
13557 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
13558 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
13559 Moved ...
13560 * config/mips/iris5.h: ... here.
13561 (HANDLE_SYSV_PRAGMA): Defined as 1.
13562 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
13563 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
13564 symbol.
13565
4b01f8d8
JM
135662001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
13567
13568 * c-parse.in (all_prefix_attributes): New variable.
13569 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
13570 (maybe_resetattrs): New production.
13571 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
13572 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
13573 notype_initdcl, nested_function, notype_nested_function,
13574 component_decl, components, components_notype,
13575 component_declarator, component_notype_declarator,
13576 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
13577 ivars, mydecl, myparm): Update. Avoid prefix attributes just
13578 after a comma being applied to more than one declarator.
13579 * doc/extend.texi (Attribute Syntax): Update. Remove
13580 documentation of bugs that are no longer present.
13581
7a38df19
EC
135822001-07-13 Eric Christopher <echristo@redhat.com>
13583
13584 * config/mips/mips.h: Change TUNE_MIPS* options to use
13585 mips_tune.
13586 (EXTRA_SPECS): Add cc1_cpu_spec.
13587 * config/mips/mips.md (muldf3): Fix typo.
13588
6d5f49b2
RH
135892001-07-16 Richard Henderson <rth@redhat.com>
13590
13591 * config/m68k/m68k.c: Include expr.h and reload.h.
13592 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
13593 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
13594
0021de69
DB
135952001-07-16 Daniel Berlin <dan@cgsoftware.com>
13596 Richard Henderson <rth@redhat.com>
13597
13598 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
13599 (insn_live_p): Fix fall off end of function.
13600 (dead_libcall_p): Remove COUNTS argument; update callers.
13601 (delete_trivially_dead_insns): Remove unused variables.
13602
b3bb6456
AJ
136032001-07-17 Andreas Jaeger <aj@suse.de>
13604
13605 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
13606 x86-64 pic support.
13607
13608 * lcm.c (optimize_mode_switching): Avoid warning for unused
51589632 13609 variable if !NORMAL_MODE.
b3bb6456
AJ
13610
13611 * flow.c (try_crossjump_to_edge): Remove unused variable.
13612
55105156
BK
136132001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
13614
13615 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
13616 atexit declaration in stdlib.h.
13617
136182001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
13619
13620 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
13621
4793dca1
JH
13622Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
13623
13624 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
13625 * except.c (finish_eh_generation): Update call of cleanup_cfg;
13626 do rebuild_jump_labels instead of jump_optimize
13627 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
13628 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
13629 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
13630
13631 * flow.c: Include timevar.h
13632 (find_basic_block): Push/pop timevar;
13633 (cleanup_cfg): Likewise.
13634 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
13635 * Makefile: Add dependencies on timevar.h
13636
13637 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
13638 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
13639
13640 * rtl.h (delete_trivially_dead_insns): Add new parameter.
13641 * toplev.c (rest_of_compilation): Update calls.
13642 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
13643 (delete_trivially_dead_insns): ... here; accept new argument
13644 preserve_basic_blocks; preserve basic blocks if set.
13645
13646 * reg-stack.c (stack_regs_mentioned): Return 0 if
13647 stack_regs_mentioned_data is not initialized.
13648 (reg_to_stack): Make stack_regs_mentioned survive after the
13649 reg-stack is completted; do not call cleanup_cfg.
13650 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
13651 make cleanup_cfg after bb-reorder to output to debug file.
13652
b85946fc
RH
136532001-07-16 Richard Henderson <rth@redhat.com>
13654
13655 * regclass.c (init_reg_sets): Use only 32 bits per initializer
13656 from int_reg_class_contents.
13657
4e2db584
RH
136582001-07-16 Richard Henderson <rth@redhat.com>
13659
13660 * hard-reg-set.h (regs_invalidated_by_call): Declare.
13661 * regclass.c (regs_invalidated_by_call): Move from cse.c.
13662 (init_reg_sets_1): Move initialization from cse_main.
13663 * cse.c (regs_invalidated_by_call): Move to regclass.c.
13664 (cse_main): Move its initialization also.
13665 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
13666 * flow.c (propagate_one_insn): Likewise.
13667 * gcse.c (compute_hash_table): Likewise.
13668 (compute_kill_rd, compute_store_table): Likewise.
13669 * sched-deps.c (sched_analyze_1): Likewise.
13670
cccf0ae8
R
13671Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
13672
13673 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
13674 gen_rtx_SET.
13675
94fc7dea
SE
136762001-07-16 Steve Ellcey <sje@cup.hp.com>
13677
13678 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
13679 in if statement so we don't access undefined memory.
13680
978cf2fc
DB
136812001-07-16 Daniel Berlin <dan@cgsoftware.com>
13682
b3bb6456 13683 * gcse.c: Update comment at top.
ccef9ef5
DB
13684 Update comment on mem handling.
13685 mem_last_set, mem_first_set, mem_set_in_block: gone.
13686 Declaration of reg_set_info: gone.
13687 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
13688 pointless with load_killed_in_block_p (they are *more*
13689 conservative then it, not less, and less accurate).
b3bb6456 13690 (oprs_not_set_p): Ditto.
ccef9ef5
DB
13691 (alloc_gcse_mem): Don't allocate mem_set_in_block
13692 (free_gcse_mem): Don't free it, either.
13693 (record_last_mem_set_info): Update comment in front, remove
13694 mem_*set_* stuff. Note the reason we don't handle stores directly
13695 here.
13696 (compute_hash_table): Update comments to reflect reality. Remove
13697 mem_*set_* references.
13698 (reset_opr_set_tables): Remove mem_*set_* references.
13699 (mark_call): Ditto.
b3bb6456 13700 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
ccef9ef5
DB
13701 (mark_clobber): Ditto (on both parts, we double set here too).
13702 (expr_killed_p): Remove mem_set_in_block test.
13703 (compute_transp): Remove mem_set_in_block test.
13704
978cf2fc 13705 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
b3bb6456 13706 of edge, and removal of phi alternative to dump file.
978cf2fc
DB
13707 (ssa_ccp_substitute_constants): Add note about register now being
13708 constant, and which uses were replaced in what insns to dump file.
13709
23190837
AJ
137102001-07-16 Andreas Jaeger <aj@suse.de>
13711
13712 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
13713 variables of type HOST_WIDEST_INT.
13714
13715 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
13716 (__bb_exit_func): Correct type of count_max to avoid overflow.
13717 (num_digits): Handle long long argument.
13718
13719 * combine.c (gen_lowpart_for_combine): Remove unused variable.
13720
f4dc8d96
NB
137212001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
13722
13723 * output.h (sdb_begin_function_line): Restore as an extern
13724 variable.
13725 * sdbout.c (sdb_begin_function_line): Make extern.
13726
9e9f3ede
RH
137272001-07-15 Richard Henderson <rth@redhat.com>
13728
13729 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
13730 * genrecog.c (maybe_both_true_mode): New.
13731 (maybe_both_true_2): Use it.
13732 (write_switch): Don't put Pmode in a switch.
13733 * rtl.c (mode arrays): Don't explicitly size them.
13734
22fb740d
JH
13735Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
13736
13737 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
13738 handling; move unconditional splitting before mode switching.
13739
13740 * i386.md (type): Add fistp type.
13741 (i387, length_attr, scheduling definitions): Handle this type.
13742 (fix_trunc?f?i2): Revamp to use mode switching.
13743 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
13744 * i386.h (fp_cw_mode): New enum
13745 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
13746 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
13747
135d50f1
RK
13748Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13749
13750 * Makefile.in (integrate.o): Add debug.h.
13751 * integrate.c (debug.h): Add.
13752 (output_inline_function): Save, reset, and restore debug_hooks.
13753
b762a0ef
RH
137542001-07-15 Richard Henderson <rth@redhat.com>
13755
13756 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
13757 instead of COMPARE for the EQUIV expression.
13758
c319629b
RH
137592001-07-15 Richard Henderson <rth@redhat.com>
13760
13761 * flow.c (redirect_edge_and_branch_force): Initialize
13762 global_live_at_start and global_live_at_end.
13763 (allocate_bb_life_data): Export.
13764 * basic-block.h (allocate_bb_life_data): Declare.
13765 * toplev.c (rest_of_compilation): Call it.
13766
25e21aed
RH
137672001-07-15 Richard Henderson <rth@redhat.com>
13768
13769 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
13770 (alpha_tablejump_best_label): New.
13771 * config/alpha/alpha-protos.h: Declare them.
13772 * config/alpha/alpha.md: Use braced strings for code blocks.
13773 (tablejump_osf): Break out add with r29.
13774 (tablejump_osf_internal): Remove.
13775 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
13776 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
13777
03598dea
JH
13778Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
13779
13780 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
13781 of the movable.
13782
13783 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
13784
13785 * i386-protos.h (ix86_split_fp_branch): Update prototype.
13786 (ix86_fp_jump_nontrivial_p): New.
13787 * i386.md (fp_jcc_?): Update call of split_fp_branch;
13788 use ix86_fp_jump_nontrivial_p.
13789 * i386.c (ix86_fp_jump_nontrivial_p): New.
13790 (ix86_split_fp_branch): Accept code instead of rtx.
13791 (ix86_expand_compare): Expand comparison early in case
13792 doing so is resonably cheap.
13793
b8313db6
NC
137942001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
13795
13796 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
13797 not 'machine'.
13798 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
13799 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
13800
e2a12aca
NB
138012001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
13802
13803 * dbxout.c (dbxout_source_line): Make static, update prototype.
13804 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
13805 (dbxout_init, dbxout_finish, dbxout_source_line,
13806 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
13807 * dbxout.h (dbxout_source_line): Delete.
13808 * debug.c (debug_nothing_file, debug_nothing_file_int,
13809 debug_nothing_file_charstar_rtx): New.
13810 (do_nothing_debug_hooks): Update.
13811 (debug_nothing_void, debug_nothing_charstar_rtx,
13812 dwarf2out_end_epilogue): New.
13813 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13814 * debug.h (struct rtx_def): Declare.
13815 (gcc_debug_hooks): New hooks source_line, end_epilogue
13816 and end_function.
13817 (debug_nothing_void, debug_nothing_charstar_rtx,
13818 dwarf2out_end_epilogue): New.
13819 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13820 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
13821 (dwarf2_debug_hooks): Update.
13822 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
13823 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
13824 * dwarf2out.h (dwarf2out_source_line): Remove.
13825 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
13826 Make static, update prototype.
13827 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
13828 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
13829 (dwarf_debug_hooks): Update.
13830 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
13831 dwarfout_end_function): Remove.
13832 * final.c (profile_function): Use debug hooks for ending functions
13833 and epilogues.
13834 (output_source_line, final_end_function): Update prototype,
13835 use debug hooks.
13836 (final_start_function, final_scan_insn): Update.
13837 * output.h (sdb_begin_function_line): Remove.
13838 (final_end_function): Update prototype.
13839 * sdbout.c (sdb_begin_function_line): Make static.
13840 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
13841 (sdbout_source_line): New.
13842 (sdbout_end_epilogue, sdbout_end_function): Make static, update
13843 prototypes.
13844 (sdb_debug_hooks): Update.
13845 (sdbout_init, sdbout_source_line,
13846 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
13847 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
13848 * toplev.c (compile_file, rest_of_compilation): Update.
13849 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
13850 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
13851 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
13852 Update for prototype changes.
13853 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
13854 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
13855
be7b80f4
RH
138562001-07-15 Richard Henderson <rth@redhat.com>
13857
13858 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
13859 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
13860 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
13861 * config/alpha/alpha.c: Likewise.
13862 * config/alpha/alpha.md: Likewise.
13863 * config/alpha/alpha32.h: Likewise.
13864 * config/alpha/vms.h: Likewise.
13865 (OPEN_VMS): Remove.
13866
736f566a
RH
138672001-07-14 Richard Henderson <rth@redhat.com>
13868
13869 * config/alpha/alpha.md: Use define_constants for unspec values.
13870 Substitute throughout.
13871
e6290e74
TJ
138722001-07-14 Tim Josling <tej@melbpc.org.au>
13873
13874 * tree.def (EXPON_EXPR) remove. Never supported anyway.
13875
3794967f
JDA
138762001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
13877
13878 * pa.md: Remove unused constraints from define_split's.
13879
35cbdf6f
RH
138802001-04-14 Richard Henderson <rth@redhat.com>
13881
13882 * ifcvt.c (find_cond_trap): Test for exit block.
13883
1e5fd094
JH
13884Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
13885
13886 Re-install recently reverted patch.
13887 * emit-rtl.c (try_split): Update mark_jump_label call.
13888 * flow.c (find_sub_basic_blocks): Likewise.
13889 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13890 jump_back_p): Kill.
13891 (mark_all_labels): Kill second parameter.
13892 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13893 (rebuild_jump_labels, jump_optimize_minimal): Update call
13894 of jump_optimize_1.
13895 (jump_optimize_1): Kill crossjumping code.
13896 (mark_jump_label): Kill cross_jump parameter.
13897 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13898 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13899 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13900 splitting.
13901 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13902 DFI_bpro.
13903 (dump_file_info): Likewise.
13904 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13905 reorganize passes to do reg-stack first, bb-reorder second.
13906 * invoke.texi (-d letters doc): Remove the jump2 pass.
13907
999c0669
RH
139082001-07-14 Richard Henderson <rth@redhat.com>
13909
13910 * ifcvt.c (find_cond_trap): New.
13911 (find_if_header): Call it.
13912 (merge_if_block): Relax existing jump sanity check.
13913 * jump.c (jump_optimize_1): Remove conditional trap handling.
13914
7d8b1412
AM
139152001-07-14 Alan Modra <amodra@bigpond.net.au>
13916
13917 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
13918 millicode.
13919 (insn_refs_are_delayed): Correct comment.
13920 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
13921 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
13922 instead of r31. Make associated insn !TARGET_64BIT, and
13923 provide an additional 64-bit insn that clobbers r2.
13924 (divsi3): Likewise.
13925 (udivsi3): Likewise.
13926 (modsi3): Likewise.
13927 (umodsi3): Likewise.
13928
1ed672dd
JH
13929Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
13930
13931 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
13932
13933 * flow.c (redirect_edge_and_branch_force, split_edge,
13934 try_crossjump_to_edge): Use set_block_for_new_insns.
13935 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
13936
c51f3aa1
L
139372001-07-13 H.J. Lu (hjl@gnu.org)
13938
13939 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
13940 the correct patch.
13941
ca18be57
GK
139422001-07-13 Geoffrey Keating <geoffk@redhat.com>
13943
13944 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
13945
59387d2e
JM
139462001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
13947
13948 * c-common.c (decl_attributes): Take a pointer to the node to
13949 which attributes are to be attached, and a flags argument.
13950 * c-common.h (enum attribute_flags): New.
13951 (decl_attributes): Update prototype.
13952 * c-decl.c (start_decl, push_parm_decl, finish_struct,
13953 finish_enum, start_function): Update calls to decl_attributes.
13954 * c-parse.in (component_declarator, component_notype_declarator,
13955 label): Update calls to decl_attributes.
13956
48ccfb40
DC
13957Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
13958
13959 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
13960 * config/avr/avr.c (legitimate_address_p): Return value changed
13961 from letter to register classes. For better debugging.
13962
5a4aeb03
KH
139632001-07-13 Kazu Hirata <kazu@hxi.com>
13964
13965 * jump.c (reversed_comparison_code_parts): Fix comment typos.
13966
92e78e59
L
139672001-07-13 H.J. Lu (hjl@gnu.org)
13968
13969 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
13970
f1cf4606
ME
139712001-07-13 Marc Espie <espie@cvs.openbsd.org>
13972
13973 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
13974 correctly for shared configurations.
13975 * config/t-libgcc-pic: New.
13976 * config/{i386,m68k,sparc}/t-openbsd: New.
13977 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
13978 Support -shared. Support debugging libraries with -g.
13979 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
13980 frame information does not emit pointer diffs.
13981 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
13982 emit pointer diffs.
13983
998d20d2
GK
139842001-07-13 Geoffrey Keating <geoffk@redhat.com>
13985
13986 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
13987
1568d79b
DE
139882001-07-13 David Edelsohn <edelsohn@gnu.org>
13989
13990 * combine.c (try_combine): Ensure const_int pow2 is positive.
13991
9628a767
HP
139922001-07-13 Hartmut Penner <hpenner@de.ibm.com>
13993
23190837
AJ
13994 * config.gcc: Add configuration for s/390.
13995 * config/s390/s390.c: New. Subroutines for code generation.
9628a767
HP
13996 * config/s390/s390.h: New. Definitions for s/390.
13997 * config/s390/s390-protos.h: New. Prototypes.
13998 * config/s390/linux.h: New. Definitions for linux for s/390.
13999 * config/s390/linux64.h: New. Definitions for linux for zSeries.
23190837
AJ
14000 * config/s390/t-linux: New. Makefile fragment.
14001 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
9628a767 14002 * config/s390/fixdfdi.h: New. Fix L_fix*di.
23190837 14003
f3ba35e4
JH
14004Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
14005
14006 * emit-rtl.c (try_split): Update mark_jump_label call.
14007 * flow.c (find_sub_basic_blocks): Likewise.
14008 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
14009 jump_back_p): Kill.
14010 (mark_all_labels): Kill second parameter.
14011 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
14012 (rebuild_jump_labels, jump_optimize_minimal): Update call
14013 of jump_optimize_1.
14014 (jump_optimize_1): Kill crossjumping code.
14015 (mark_jump_label): Kill cross_jump parameter.
14016 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
14017 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
14018 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
14019 splitting.
14020 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
14021 DFI_bpro.
14022 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
14023 reorganize passes to do reg-stack first, bb-reorder second.
14024 * invoke.texi (-d letters doc): Remove the jump2 pass.
14025
448d17f9
SE
140262001-07-12 Steve Ellcey <sje@cup.hp.com>
14027
14028 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
14029
6691db8e
JH
14030Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
14031
14032 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
14033 basic blocks.
14034 (verify_flow_info): Make diagnostics prettier.
14035
c35e85f9
JH
14036Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
14037
14038 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
14039
14040 * flow.c (outgoing_edges_match): Return early if condition reversal
14041 failed.
14042
51c6b247
RS
140432001-07-06 Richard Sandiford <rsandifo@redhat.com>
14044
14045 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
14046 (mips_move_2words): When splitting a move into two instructions,
14047 prefix the second address operand with '%D'.
14048
a5a42b92
NB
140492001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
14050
14051 * Makefile.in (final.o): Depend on debug.h.
14052 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
14053 (dbx_debug_hooks): Add new hooks.
14054 (xcoff_debug_hooks): New.
14055 * debug.c (debug_nothing_file_int_int): New.
14056 (do_nothing_debug_hooks): Update.
14057 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
14058 (debug_nothing_file_int_int): New.
14059 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
14060 static, update prototype.
14061 (dwarf2_debug_hooks): Update.
14062 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
14063 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
14064 static, update prototype.
14065 (dwarf_debug_hooks): Update.
14066 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
14067 * final.c: Include debug.h.
14068 (final_scan_insn): Use debug hooks when beginning and ending blocks.
14069 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
14070 static, update prototype.
14071 (sdb_debug_hooks): Update.
14072 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
14073 * toplev.c: Distinguish between xcoff and dbx.
14074
14075 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
14076 Call all debug hooks, not just dwarf ones.
14077
c177db4b
TW
140782001-07-11 Timothy Wall <twall@redhat.com>
14079
4e2db584
RH
14080 * config.gcc: Add configuration for AIX5/IA64.
14081 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
14082 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
c177db4b 14083 support prefix/suffix code.
4e2db584
RH
14084 * config/ia64/t-aix: New. Makefile fragment.
14085 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
c177db4b 14086
4d893612
KH
140872001-07-11 Kazu Hirata <kazu@hxi.com>
14088
14089 * recog.c (validate_change): Fix a comment typo.
14090
7f905405
NB
140912001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
14092
14093 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
14094 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
14095 hooks directly.
14096 * dbxout.c (dbx_debug_hooks): Add new hooks.
14097 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
14098 make static.
14099 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
14100 make static.
14101 * dbxout.h (dbxout_start_new_source_file,
14102 dbxout_resume_previous_source_file): Delete.
14103 * debug.c (do_nothing_debug_hooks): Add new hooks.
14104 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
14105 (debug_nothing_int_charstar, debug_nothing_int): New.
14106 * debug.h (gcc_debug_hooks): New hooks define, undef,
14107 start_source_file and end_source_file.
14108 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
14109 (debug_nothing_int_charstar, debug_nothing_int): New.
14110 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
14111 the conditionally compiled section.
14112 (dwarf2out_start_source_file, dwarf2out_end_source_file,
14113 dwarf2out_define, dwarf2out_undef): Make static.
14114 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
14115 dwarf2out_define, dwarf2out_undef): Remove.
14116 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
14117 (dwarfout_start_source_file, dwarfout_end_source_file,
14118 dwarfout_define, dwarfout_undef): Make static.
14119 (dwarfout_start_source_file_check,
14120 dwarfout_end_source_file_check): New.
14121 (dwarfout_define, dwarfout_finish): Update.
14122 * dwarfout.h (dwarfout_start_new_source_file,
14123 dwarfout_resume_previous_source_file, dwarfout_define,
14124 dwarfout_undef): Remove.
14125 * sdbout.c (sdb_debug_hooks): Add new hooks.
14126 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
14127 make static.
14128 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
14129 make static, take an arg.
14130 * sdbout.h (sdbout_start_new_source_file,
14131 sdbout_resume_previous_source_file): Delete.
14132 * toplev.c (debug_start_source_file, debug_end_source_file,
14133 debug_define, debug_undef): Delete.
14134 * toplev.h (debug_start_source_file, debug_end_source_file,
14135 debug_define, debug_undef): Delete.
14136
14137 * java/jcf-parse.c: Include debug.h.
14138 (parse_class_file): Update to use debug hooks directly.
14139 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
14140
ba4828e0
RK
14141Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14142
14143 * alias.c (set_mem_alias_set): New function.
14144 * rtl.h (set_mem_alias_set): Declare it.
14145 * builtins.c (expand_builtin_return_addr): Call it instead of
14146 using MEM_ALIAS_SET accessor.
14147 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
14148 (get_memory_rtx, expand_builtin_va_arg): Likewise.
14149 (expand_builtin_va_copy):Likewise.
14150 * caller-save.c (setup_save_areas): Likewise.
14151 * calls.c (compute_argument_addresses): Likewise.
14152 * explow.c (set_mem_attributes): Likewise.
14153 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
14154 (expand_assignment, store_constructor_field, store_field): Likewise.
14155 (expand_expr_unaligned): Likewise.
14156 * function.c (assign_stack_temp_for_type): Likewise.
14157 (put_reg_into_stack, gen_mem_addressof): Likewise.
14158 * ifcvt.c (noce_try_cmove_arith): Likewise.
14159 * reload1.c (reload, alter_reg): Likewise.
14160 * config/alpha/alpha.c (get_aligned_mem): Likewise.
14161 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
14162 (alpha_expand_unaligned_store): Likewise
14163 (alpha_expand_unaligned_load_words): Likewise.
14164 (alpha_expand_unaligned_store_words): Likewise.
14165 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
14166 (alpha_expand_epilogue): Likewise.
14167 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
14168 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
14169 * config/i386/i386.c (legitimize_pic_address): Likewise.
14170 * config/i960/i960.c (setup_incoming_varargs): Likewise.
14171 * config/ia64/ia64.c (spill_restore_mem): Likewise.
14172 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
14173 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
14174 * config/mips/mips.c (mips_va_arg): Likewise.
14175 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
14176 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
14177 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
14178 (setup_incoming_varargs, rs6000_va_arg): Likewise.
14179 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
14180 (rs6000_emit_epilogue): Likewise.
14181 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
14182 * config/sparc/sparc.c (sparc_va_arg): Likewise.
14183 * config/v850/v850.c (v850_va_arg): Likewise.
14184
46fac664
JH
14185Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
14186
14187 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
14188 when fallthru edge is present.
14189 (mege_blocks): Handle case where creation of jump insn
14190 is required.
14191
14192 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
14193 CLEANUP_POST_REGSTACK): New constants.
14194 * except.c (finish_eh_generation): Update call of cleanup_cfg,
14195 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
14196 * output.h (cleanup_cfg): Update prototype.
14197 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
23190837 14198 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
46fac664
JH
14199 cleanup_cfg call; kill missleading comment.
14200 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
14201 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
14202 parameter; control optimizations performed using it.
14203 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
14204 try_crossjump_bb): New functions.
14205
9acc24a5
JDA
142062001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
14207
14208 * pa.c (pa_output_function_prologue): Delete prototype. Make function
14209 extern.
14210 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
14211 pa_output_function_prologue.
14212 * pa-protos.h (pa_output_function_prologue): New prototype.
14213
9312aecc
JDA
142142001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
14215
14216 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
14217 and low to get correct sign extension in low+high test.
14218
dec2b703
JJ
142192001-07-11 Janis Johnson <janis@us.ibm.com>
14220
4b9664e2
JJ
14221 * gcov.c (arcdata): Use gcov_type to fix branch percentage
14222 for large hit count.
14223
dec2b703
JJ
14224 * profile.c (branch_prob): Fix .bbg info for computed gotos
14225 and C++ EH code.
14226
40b18c0a
MM
142272001-07-11 Mark Mitchell <mark@codesourcery.com>
14228
23190837 14229 * stmt.c (parse_output_constraint): New function, split out
40b18c0a
MM
14230 from ...
14231 (expand_asm_operands): ... here. Use parse_output_constraint.
14232 * tree.h (parse_output_constraint): Declare it.
14233
a615c28a
RH
142342001-07-11 Richard Henderson <rth@redhat.com>
14235
14236 * bitmap.c: Comment some functions; fiddle whitespace.
14237 (bitmap_free): Don't export.
14238 (bitmap_element_allocate): Use memset.
14239 * bitmap.h (bitmap_free): Don't declare.
14240
5a660bff
DB
142412001-07-11 Daniel Berlin <dan@cgsoftware.com>
14242
14243 * gcse.c, lcm.c, sched-deps.c:
14244 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
14245
14246 * flow.c (flow_loops_find): Free dom if we found no loops, since
14247 we aren't going to save it.
14248
14249 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
14250 done.
14251
1a9485cf
JL
14252Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
14253
14254 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
14255
c8383050
RK
14256Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14257
14258 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
14259 #ifndef DWARF2_DEBUGGING_INFO.
14260
bd77ba51
RS
142612001-07-11 Richard Sandiford <rsandifo@redhat.com>
14262
14263 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
14264
b5265b32
RS
142652001-07-11 Richard Sandiford <rsandifo@redhat.com>
14266
14267 * config/mips/mips.c (gen_int_relational): Tell the caller not to
14268 reverse a branch if a NE comparison is implemented with GTU.
14269
b87c8c8c
RS
142702001-07-11 Richard Sandiford <rsandifo@redhat.com>
14271 H.J. Lu <hjl@gnu.org>
14272
14273 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
14274 constant addresses.
14275 (call_internal2): Likewise.
14276 (call_value_internal1): Likewise.
14277 (call_value_internal2): Likewise.
14278 (call_value_multiple_internal1): Likewise.
14279 (call_value_multiple_internal2): Likewise.
14280
0407c02b
KH
142812001-07-10 Kazu Hirata <kazu@hxi.com>
14282
14283 * calls.c (emit_library_call_value_1): Fix a comment typo.
14284 * dwarf2out.c (mem_loc_descriptor): Likewise.
14285 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
14286
a1b2ebc0
DB
142872001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
14288
608fe35b 14289 * simplify-rtx.c (simplify_subreg): Fix typo in comment
a1b2ebc0 14290
07217645
RK
14291Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14292
14293 * recog.c (offsettable_address_p): Handle LO_SUM case.
14294 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
14295 instead of plus_constant.
23190837 14296
91667711
SC
142972001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14298
14299 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
14300 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
14301
d7624dc0
RK
14302Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14303
14304 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
14305 adjust_address_nv instead of plus_constant.
14306
a51d908e
NB
143072001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
14308
14309 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
14310 dwarf2out.o): Depend on debug.h, wrap long lines.
14311 * dbxout.c: Include debug.h.
14312 (dbx_debug_hooks): New.
14313 (dbxout_init): Make static, take just 2 args.
14314 (dbxout_finish): Make static.
14315 * dbxout.h (dbxout_init, dbxout_finish): Delete.
14316 * debug.c: New file.
14317 * debug.h: New file.
14318 * dwarf2out.c: Include debug.h.
14319 (dwarf2_debug_hooks): New.
14320 (dwarf2out_init): Make static.
14321 (dwarf2out_finish): Make static, take 2 args.
14322 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
14323 * dwarfout.c: Include debug.h.
14324 (dwarf_debug_hooks): New.
14325 (dwarfout_init): Make static.
14326 (dwarfout_finish): Make static, take 2 args.
14327 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
14328 * sdbout.c: Include debug.h.
14329 (sdb_debug_hooks): New.
14330 (sdbout_init): Make static, take 2 args.
14331 * sdbout.h (sdbout_init): Delete.
14332 * toplev.c: Include debug.h.
14333 (debug_hooks): New.
14334 (compile_file): Set deubg_hooks based on command line options.
14335 Use the hooks unconditionally rather than conditional compilation.
14336
af5c573a
JL
14337Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
14338
14339 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
14340 first_insn_after_basic_block_note instead.
14341
14342 * df.c (df_bb_refs_unlink): #if 0 out for now.
14343
143442001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
14345
14346 * ssa.h: Add prototype for ssa_const_prop
14347 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
14348 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
14349 (ssa_fast_dce): Remove unused variable
14350
64dfaa76
GDR
143512001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
14352
14353 * diagnostic.c (finish_diagnostic): Rename to
14354 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
14355 calls thourghout.
14356
84db136d
JM
143572001-07-10 Jason Merrill <jason_merrill@redhat.com>
14358
8aaf55ac
JM
14359 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
14360 .loc support.
14361
84db136d 14362 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
23190837 14363 (dump_file): Only pad the demangled name with spaces if the
84db136d
JM
14364 mangled name was padded with spaces.
14365
fd052ec3
BS
143662001-07-10 Bernd Schmidt <bernds@redhat.com>
14367
14368 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
14369 edge detection.
14370
62926f0b
RK
14371Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14372
10c2a453
RK
14373 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
14374 extraction if no direct load if either EXPAND_CONST_ADDRESS or
14375 EXPAND_INITIALIZER.
14376
62926f0b
RK
14377 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
14378 whether can put offset inside LO_SUM to check mode alignment, not size.
14379
acdcefcc
GDR
143802001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
14381
14382 * doc/tm.texi (Misc): Fix thinko.
14383
07167a18
JM
143842001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
14385
14386 * regmove.c (replace_in_call_usage): Fix warnings.
14387 * sched-deps.c (add_dependence): Fix warnings.
14388 * simplify-rtx.c (simplify_subreg): Likewise.
14389 Return NULL_RTX instead of NULL.
14390
14391 * reg-stack.c (emit_swap_insn): Eliminate warnings.
14392 (subst_asm_stack_regs): Likewise.
14393
14394 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
14395 warnings.
14396
14397 * dwarf2out.c (output_call_frame_info): Declare i as int.
14398 (build_abbrev_table): Declare n_alloc as int.
14399 (dwarf2out_finish): Initialize die.
14400 * except.c: Declare sjlj_funcdef_number as unsigned.
14401 (connect_post_landing_pads): Declare j as unsigned.
14402 (convert_to_eh_region_ranges): Initialize call_site.
14403 (output_function_exception_table): Initialize tt_format_size.
14404 * expr.c (move_by_pieces_1): Initialize to1.
14405 (store_constructor): Initialize minelt and maxelt.
14406 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
14407 * function.c (instantiate_decls): Avoid signed/unsigned warning.
14408
14409 * c-decl.c (combine_parm_decls): Unused, remove.
14410 * c-tree.h: Remove prototype for combine_parm_decls.
14411
14412 * reload.c (push_reload): Fix warning.
14413 (regno_clobbered_p): Likewise.
14414 * reload1.c (replace_pseudos_in_call_usage): Likewise.
14415 (reload_combine): Likewise.
14416
14417 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
14418 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
14419 warnings.
14420 * bitmap.c (bitmap_operation): Change user.
14421 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
14422
4608d36c
EC
144232001-07-10 Eric Christopher <echristo@redhat.com>
14424
14425 * config/mips/mips.c (override_options): Fix typo.
14426
f6155fda
SS
144272001-07-09 Stan Shebs <shebs@apple.com>
14428
14429 * target.h (struct gcc_target): New fields init_builtins and
14430 expand_builtin.
14431 * target-def.h (TARGET_INIT_BUILTINS): New macro.
14432 (TARGET_EXPAND_BUILTIN): New macro.
14433 (TARGET_INITIALIZER): Add them.
14434 * builtins.c: Include target.h.
14435 (expand_builtin): Use targetm.expand_builtin.
14436 (default_init_builtins): New function.
14437 (default_expand_builtin): New function.
14438 * expr.h (default_init_builtins): Declare.
14439 (default_expand_builtin): Declare.
14440 * c-common.c (c_common_nodes_and_builtins): Use
14441 targetm.init_builtins.
14442 * defaults.h (MD_INIT_BUILTINS): Remove.
14443 * Makefile.in (builtins.o): Depend on target.h.
14444
14445 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
14446 (TARGET_EXPAND_BUILTIN): Define.
14447 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
14448 (MD_EXPAND_BUILTIN): Remove.
14449
14450 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
14451 (TARGET_EXPAND_BUILTIN): Define.
14452 (c4x_init_builtins): Make endlink arg a local.
14453 (c4x_print_operand): Fix typos in adjust_address usages.
14454 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
14455 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
14456 (MD_EXPAND_BUILTIN): Remove.
14457
14458 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
14459 (TARGET_EXPAND_BUILTIN): Define.
14460 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
14461 (ix86_init_builtins): Call new function only if TARGET_MMX.
14462 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
14463 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
14464 (MD_EXPAND_BUILTIN): Remove.
14465
14466 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
14467 (TARGET_EXPAND_BUILTIN): Define.
14468 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
14469 (MD_EXPAND_BUILTIN): Remove.
14470
14471 * doc/tm.texi: Document these changes.
14472
2b1d9dc0
DN
144732001-07-09 Diego Novillo <dnovillo@redhat.com>
14474
14475 * basic-block.h (tree_node): Forward declare if needed.
14476 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
14477 (BLOCK_HEAD_TREE): Define.
14478 (BLOCK_END_TREE): Define.
14479 (struct loops): Rename field 'tree' to 'tree_root'.
4608d36c 14480 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
2b1d9dc0
DN
14481 'end_tree'.
14482 (flow_loops_tree_build): Rename reference to field 'tree' to
14483 'tree_root'.
14484 (flow_loops_level_compute): Ditto.
14485 * predict.c (estimate_bb_frequencies): Ditto.
14486 * tree.h (struct tree_common): Add field 'aux'.
14487
70bdc2ff
SS
144882001-07-09 Stan Shebs <shebs@apple.com>
14489
14490 * config/darwin.c (darwin_encode_section_info): Don't mark any
14491 DECL_EXTERNAL node as defined.
14492
d777856d
JDA
144932001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
14494
14495 * pa.c (pa_init_machine_status, pa_mark_machine_status,
14496 pa_free_machine_status, hppa_init_pic_save): Delete.
14497 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
14498 (hppa_profile_hook): Use hppa_pic_save_rtx.
14499 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
14500 hppa_init_pic_save): Delete.
14501 (hppa_pic_save_rtx): Declare.
14502 * pa.md (call, call_value, sibcall, sibcall_value,
14503 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
14504
aa3c0d59
KH
145052001-07-09 Kazu Hirata <kazu@hxi.com>
14506
14507 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
14508 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
14509
af076e58
AJ
145102001-07-09 Andreas Jaeger <aj@suse.de>
14511
14512 * output.h: Add declaration of final_forward_branch_p.
14513
14514 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
14515
14516 * varray.c: Include errors.h for internal_error and trim_filename
14517 declarations.
14518
14519 * Makefile.in (varray.o): Add errors.h.
14520
fb7e77d7
TM
145212001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
14522
14523 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
14524 * optabs.c (have_add2_insn): Check whether the add insn chosen
14525 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
14526 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
14527
0b47e4c1
JL
14528Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
14529
14530 * Makefile.in (OBJS): Add ssa-ccp.o
14531 (ssa-ccp.o): Add dependencies.
14532 * toplev.c (DFI_ssa_ccp): New dump file enum.
14533 (dump_file): Add entry for dumping after SSA CCP.
14534 (flag_ssa_ccp): New flag variable.
14535 (f_options): Add -fssa-ccp.
14536 (rest_of_compilation): Run SSA CCP if requested.
14537 * timevar.def (TV_SSA_CCP): New timevar.
14538 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
14539 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
14540 Fix minor typo in SSA DCE documentation.
14541 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
14542 Add documentation for new dump option. Renumber dump files
14543 appropriately.
14544
5222e470
JH
14545Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
14546
14547 * emit-rtl.c (gen_highpart_mode): New.
14548 * rtl.h (gen_highpart_mode): Declare.
14549 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
14550 operand can be VOIDmode constant.
14551
2b2c8b3e
JH
14552Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
14553
14554 * flow.c (redirect_edge_and_branch_force): New.
14555 (can_fallthru): Ensure that basic blocks are succeeding.
14556 (try_optimize_cfg): Do not delete basic block if it is the last one.
14557
14558 * flow.c (try_redirect_by_replacing_jump): Do not remove
14559 jumps with side effects, unlink chain on fallthru edge;
14560 set block for new jump instruction; avoid basic block to
14561 over by line number note.
14562
14563 * flow.c (try_simplify_condjump): Verify that the condjump
f5143c46 14564 is not always falling through.
2b2c8b3e
JH
14565
14566 Re-install patch:
14567 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14568
14569 * flow.c (forwarder_block_p): Fix for fallthru blocks.
14570 (try_redirect_by_replacing_jump): Update properly the count
14571 and frequency information.
14572
60a97cd4
RK
14573Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14574
823e3574
RK
14575 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
14576 address that is a LO_SUM specially.
14577 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
14578
60a97cd4
RK
14579 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
14580
14581 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
14582 (operand_subword): Use them.
14583 (change_address_1): Renamed from change_address; new arg VALIDATE.
14584 * expr.h: Reflect above changes; change_address now macro.
14585 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
14586 making MEM.
14587 * cselib.c (add_mem_for_addr): Likewise.
14588 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
14589 * regmove.c (try_apply_stack_adjustment): Likewise.
14590 * reload.c (push_reload, make_memloc): Likewise.
14591 * reload1.c (eliminate_regs): Likewise.
14592 * simplify-rtx.c (simplify_replace_rtx): Likewise.
14593 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
14594 adjust_addess.
14595 * combine.c (make_extraction, simplify_shift_const): Likewise.
14596 (gen_lowpart_for_combine): Likewise.
14597 * cse.c (gen_lowpart_if_possible): Likewise.
14598 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
14599 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
14600 * optabs.c (gen_move_insn): Likewise.
14601 * reload1.c (alter_reg): Likewise.
14602 * simplify-rtx.c (simplify_subreg): Likewise.
14603 * stmt.c (expand_anon_union_decl): Likewise.
14604 * recog.c (validate_replace_rtx_1): Likewise.
14605 (expr.h): Include.
14606 * Makefile.in (recog.o): Add $(EXPR_H).
14607 * explow.c (stabilize): Call replace_equiv_address.
14608 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
14609 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
14610
053a35af
AH
146112001-07-03 Andrew Haley <aph@redhat.com>
14612
14613 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
14614 the mode of the memory location.
14615
db42058b
BT
146162001-07-09 Bo Thorsen <bo@suse.co.uk>
14617
14618 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
14619
17b53c33
NB
146202001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
14621
14622 * final.c (output_addr_const): Use target opening and
14623 closing parentheses.
14624 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
14625 defaults, add to TARGET_ASM_OUT.
14626 * target.h (struct gcc_target): Add open_paren and close_paren.
14627 * doc/md.texi: Update.
14628 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
14629 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
14630 TARGET_ASM_CLOSE_PAREN.
60a97cd4 14631 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 14632 Override.
60a97cd4 14633 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 14634 Override.
60a97cd4
RK
14635 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
14636 * config/a29k/a29k.h: Similarly.
14637 * config/alpha/alpha.h: Similarly.
14638 * config/arc/arc.h: Similarly.
14639 * config/arm/aof.h: Similarly.
14640 * config/arm/aout.h: Similarly.
14641 * config/avr/avr.h: Similarly.
14642 * config/c4x/c4x.h: Similarly.
14643 * config/clipper/clipper.h: Similarly.
14644 * config/convex/convex.h: Similarly.
14645 * config/d30v/d30v.h: Similarly.
14646 * config/dsp16xx/dsp16xx.h: Similarly.
14647 * config/elxsi/elxsi.h: Similarly.
14648 * config/fr30/fr30.h: Similarly.
14649 * config/h8300/h8300.h: Similarly.
14650 * config/i370/i370.h: Similarly.
14651 * config/i386/i386.h: Similarly.
14652 * config/i860/i860.h: Similarly.
14653 * config/i960/i960.h: Similarly.
14654 * config/ia64/ia64.h: Similarly.
14655 * config/m32r/m32r.h: Similarly.
14656 * config/m68hc11/m68hc11.h: Similarly.
14657 * config/m68k/m68k.h: Similarly.
14658 * config/m88k/m88k.h: Similarly.
14659 * config/mcore/mcore.h: Similarly.
14660 * config/mips/mips.h: Similarly.
14661 * config/mn10200/mn10200.h: Similarly.
14662 * config/mn10300/mn10300.h: Similarly.
14663 * config/ns32k/ns32k.h: Similarly.
14664 * config/pa/pa.h: Similarly.
14665 * config/pdp11/pdp11.h: Similarly.
14666 * config/pj/pj.h: Similarly.
14667 * config/romp/romp.h: Similarly.
14668 * config/rs6000/rs6000.h: Similarly.
14669 * config/sh/sh.h: Similarly.
14670 * config/sparc/sparc.h: Similarly.
14671 * config/v850/v850.h: Similarly.
14672 * config/vax/vax.h: Similarly.
14673 * config/we32k/we32k.h: Similarly.
17b53c33 14674
b41df7f6
JM
146752001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
14676
14677 * doc/c-tree.texi: Document representation of attributes.
14678
648c546a
JM
146792001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
14680
14681 * doc/tm.texi: Update some places for the rename of target to
14682 targetm. Fix typo.
14683
12a68f1f
JM
146842001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
14685
14686 * target.h (struct gcc_target): Add insert_attributes.
14687 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
14688 (TARGET_INITIALIZER): Update.
14689 * tree.c, tree.h (default_insert_attributes): New function.
14690 Update comments on other default functions to refer to targetm,
14691 not target.
14692 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
14693 TARGET_INSERT_ATTRIBUTES.
14694 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
14695 * c-common.c (decl_attributes): Use targetm.insert_attributes.
14696 Don't use PRAGMA_INSERT_ATTRIBUTES.
14697 * Makefile.in (c-common.o): Depend on $(TARGET_H).
14698 * c-decl.c (start_decl, start_function): Don't call
14699 SET_DEFAULT_DECL_ATTRIBUTES.
14700 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14701 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
14702 declare.
14703 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
14704 (c4x_check_attribute): Avoid modifying attribute list itself.
14705 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
14706 Make static.
14707 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
14708 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
14709 declare.
14710 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
14711 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
14712 Make static.
14713 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14714 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
14715 declare.
14716 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
14717 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
14718 Adjust parameters. Make static.
14719
f7a4cec0
JM
147202001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
14721
14722 * c-common.c (decl_attributes): Only take a single attributes
14723 parameter.
14724 * c-common.h (decl_attributes): Update prototype.
14725 * c-decl.c (start_decl, start_function): Only take a single
14726 attributes parameter. Update calls to decl_attributes.
14727 (finish_struct, finish_enum): Update calls to decl_attributes.
14728 (push_parm_decl): Expect unified list of attributes. Update call
14729 to decl_attributes.
14730 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
14731 notype_nested_function, component_declarator,
14732 component_notype_declarator, label): Update calls to
14733 decl_attributes.
14734 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
14735 lists that are passed to push_parm_decl.
14736 * c-tree.h (start_function, start_decl): Update prototypes.
14737 * config/sh/sh-protos.h, config/sh/sh.c
14738 (sh_pragma_insert_attributes): Only take a single attributes
14739 parameter.
14740 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
14741 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
14742 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
14743 build_module_descriptor, generate_static_references,
14744 generate_strings, build_selector_translation_table,
14745 generate_descriptor_table, generate_protocols,
14746 generate_ivars_list, generate_dispatch_table,
14747 generate_protocol_list, generate_category,
14748 generate_shared_structures, really_start_method, add_objc_decls,
14749 generate_classref_translation_entry): Update calls to start_decl
14750 and start_function.
14751 (build_tmp_function_decl, start_method_def): Unify attribute lists
14752 that are passed to push_parm_decl.
14753
b4c25db2
NB
147542001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
14755
14756 * final.c (no_asm_to_stream): New.
14757 (final_scan_insn): Use target structures for prologue ends
14758 and epilogue starts.
14759 * output.h (no_asm_to_stream): New.
14760 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
14761 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
14762 (TARGET_ASM_OUT): Update.
14763 * target.h (struct gcc_target): New members function_end_prologue
14764 and function_begin_epilogue.
60a97cd4
RK
14765 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
14766 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
14767 * config/alpha/alpha.c (output_end_prologue): Rename to
b4c25db2
NB
14768 alpha_output_function_end_prologue. Use in target struct
14769 and make static.
60a97cd4
RK
14770 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
14771 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
14772 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
b4c25db2
NB
14773 ia64_output_function_end_prologue. Use in target struct
14774 and make static.
14775 (ia64_function_prologue, ia64_funciton_epilogue): Rename
14776 mistyped prototypes.
60a97cd4
RK
14777 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
14778 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
14779 Delete.
14780 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
b4c25db2 14781 an use in target struct, make static.
60a97cd4
RK
14782 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
14783 Delete.
b4c25db2 14784
45c8268d
RH
147852001-07-08 Richard Henderson <rth@redhat.com>
14786
14787 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
14788
d5d6a58b
RH
147892001-07-08 Richard Henderson <rth@redhat.com>
14790
14791 * config/i386/i386.md: Remove constraints strings from define_split
14792 and define_peephole2 patterns.
14793 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
14794 (eh_return): Use them.
14795
7c16328b
RH
147962001-07-08 Richard Henderson <rth@redhat.com>
14797
14798 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
14799 Document MD_FALLBACK_FRAME_STATE_FOR.
14800
8dd5d49d
SC
148012001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14802
14803 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
14804 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
14805 elimination.
14806 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
14807
13daf3c1
NC
148082001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
14809
14810 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
14811 of the label inside NAME as opposed to just the end of NAME.
14812
8289c43b
NB
148132001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
14814
14815 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
14816 * config/alpha/alpha.c (alpha_init_machine_status,
14817 alpha_mark_machine_status, alpha_free_machine_status): Delete.
14818 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
14819 (vms_valid_decl_attribute_p): Make static, conditionally compile.
14820 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
14821
f6897b10
SS
148222001-07-06 Stan Shebs <shebs@apple.com>
14823
14824 * target.h (targetm): Rename global from "target", so as not to
14825 conflict with local variables.
14826 * c-decl.c: Ditto.
14827 * c-typeck.c: Ditto.
14828 * final.c: Ditto.
14829 * tree.c: Ditto.
14830 * cp/decl.c: Ditto.
14831 * cp/decl2.c: Ditto.
14832 * cp/typeck.c: Ditto.
14833 * 1750a/1750a.c: Ditto.
14834 * a29k/a29k.c: Ditto.
14835 * arc/arc.c: Ditto.
14836 * arm/arm.c: Ditto.
14837 * avr/avr.c: Ditto.
14838 * clipper/clipper.c: Ditto.
14839 * convex/convex.c: Ditto.
14840 * d30v/d30v.c: Ditto.
14841 * dsp16xx/dsp16xx.c: Ditto.
14842 * elxsi/elxsi.c: Ditto.
14843 * fr30/fr30.c: Ditto.
14844 * h8300/h8300.c: Ditto.
14845 * i370/i370.c: Ditto.
14846 * i386/i386.c: Ditto.
14847 * i860/i860.c: Ditto.
14848 * i960/i960.c: Ditto.
14849 * ia64/ia64.c: Ditto.
14850 * m32r/m32r.c: Ditto.
14851 * m68hc11/m68hc11.c: Ditto.
14852 * m68k/m68k.c: Ditto.
14853 * m88k/m88k.c: Ditto.
14854 * mips/mips.c: Ditto.
14855 * ns32k/ns32k.c: Ditto.
14856 * pa/pa.c: Ditto.
14857 * pdp11/pdp11.c: Ditto.
14858 * romp/romp.c: Ditto.
14859 * rs6000/rs6000.c: Ditto.
14860 * sh/sh.c: Ditto.
14861 * sparc/sparc.c: Ditto.
14862 * vax/vax.c: Ditto.
14863 * we32k/we32k.c: Ditto.
14864 * doc/tm.texi: Update the manual to match.
14865
84fc8b47
RH
148662001-07-06 Richard Henderson <rth@redhat.com>
14867
14868 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
14869 DWARF2_UNWIND_INFO not just whether it is defined.
14870
4531c1c7
DN
148712001-07-06 Diego Novillo <dnovillo@redhat.com>
14872
14873 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
14874 call to simplify_binary_operation returns a new pattern.
14875
39bd2948
RL
148762001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
14877
14878 * glimits.h (__SHRT_MAX__): New.
14879 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
14880 (SHRT_MAX): Define in terms of __SHRT_MAX__.
14881
8fa2140d
JM
148822001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
14883
14884 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
14885 avoid warnings.
14886
87e08c69
RH
148872001-07-06 Richard Henderson <rth@redhat.com>
14888
14889 * bitmap.c (bitmap_release_memory): Move adjacent to the
14890 allocation functions.
14891 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
14892 the implementation. Binary search for the set bit.
14893 (bitmap_union_of_diff): Allocate the temporary on the stack
14894 instead of using xmalloc.
14895
0dab343a
RH
148962001-07-06 Richard Henderson <rth@redhat.com>
14897
14898 * genrecog.c (validate_pattern): Warn for constraints in
14899 define_{expand,split,peephole2}. Remove strict_low_part
14900 before looking up match_dup.
14901
15c0d35d
DD
149022001-07-06 DJ Delorie <dj@redhat.com>
14903
14904 * doc/gcc.texi (Makefile): Rename to be a more general purpose
14905 chapter about various build hints and history. Add section
14906 talking about the various types of native and cross builds.
14907
00478a05
NB
149082001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
14909
14910 * Makefile.in (final.o): Depend on target.h.
14911 * final.c: Include target.h.
14912 (default_function_pro_epilogue): New.
14913 (final_start_function): Use target structure for function prologues.
14914 (final_end_function): Use target structure for function epilogues.
14915 * fold-const.c (real_hex_to_f): Constify s and p.
14916 * output.h (default_function_pro_epilogue): New.
14917 * real.h (real_hex_to_f): Update prototype.
14918 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
14919 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
14920 (TARGET_INITIALIZER): Update.
14921 * target.h (gcc_target): Add struct asm_out.
14922 * doc/tm.texi: Update.
14923
14924config:
14925 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
14926 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
14927 in cpu/cpu.c, or rename old functions consistently. Take
14928 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
14929 redundant macros and prototypes. Make new functions static.
14930
14931 * 1750a/1750a.c: Similarly.
14932 * 1750a/1750a.h: Similarly.
14933 * a29k/a29k-protos.h: Similarly.
14934 * a29k/a29k.c: Similarly.
14935 * a29k/a29k.h: Similarly.
14936 * arc/arc-protos.h: Similarly.
14937 * arc/arc.c: Similarly.
14938 * arc/arc.h: Similarly.
14939 * arm/arm-protos.h: Similarly.
14940 * arm/arm.c: Similarly.
14941 * arm/arm.h: Similarly.
14942 * avr/avr-protos.h: Similarly.
14943 * avr/avr.c: Similarly.
14944 * avr/avr.h: Similarly.
14945 * clipper/clipper-protos.h: Similarly.
14946 * clipper/clipper.c: Similarly.
14947 * clipper/clipper.h: Similarly.
14948 * convex/convex.c: Similarly.
14949 * convex/convex.h: Similarly.
14950 * d30v/d30v-protos.h: Similarly.
14951 * d30v/d30v.c: Similarly.
14952 * d30v/d30v.h: Similarly.
14953 * d30v/d30v.md: Similarly.
14954 * dsp16xx/dsp16xx-protos.h: Similarly.
14955 * dsp16xx/dsp16xx.c: Similarly.
14956 * dsp16xx/dsp16xx.h: Similarly.
14957 * elxsi/elxsi.c: Similarly.
14958 * elxsi/elxsi.h: Similarly.
14959 * fr30/fr30.c: Similarly.
14960 * fr30/fr30.md: Similarly.
14961 * h8300/h8300-protos.h: Similarly.
14962 * h8300/h8300.c: Similarly.
14963 * h8300/h8300.h: Similarly.
14964 * i370/i370-protos.h: Similarly.
14965 * i370/i370.c: Similarly.
14966 * i370/i370.h: Similarly.
14967 * i386/i386.c: Similarly.
14968 * i386/osf1elf.h: Similarly.
14969 * i386/osfrose.h: Similarly.
14970 * i860/i860-protos.h: Similarly.
14971 * i860/i860.c: Similarly.
14972 * i860/i860.h: Similarly.
14973 * i960/i960-protos.h: Similarly.
14974 * i960/i960.c: Similarly.
14975 * i960/i960.h: Similarly.
14976 * ia64/ia64-protos.h: Similarly.
14977 * ia64/ia64.c: Similarly.
14978 * ia64/ia64.h: Similarly.
14979 * m32r/m32r-protos.h: Similarly.
14980 * m32r/m32r.c: Similarly.
14981 * m32r/m32r.h: Similarly.
14982 * m68hc11/m68hc11-protos.h: Similarly.
14983 * m68hc11/m68hc11.c: Similarly.
14984 * m68hc11/m68hc11.h: Similarly.
14985 * m68k/crds.h: Similarly.
14986 * m68k/dpx2.h: Similarly.
14987 * m68k/m68k-protos.h: Similarly.
14988 * m68k/m68k.c: Similarly.
14989 * m68k/m68k.h: Similarly.
14990 * m68k/news.h: Similarly.
14991 * m88k/m88k-protos.h: Similarly.
14992 * m88k/m88k.c: Similarly.
14993 * m88k/m88k.h: Similarly.
14994 * mips/mips-protos.h: Similarly.
14995 * mips/mips.c: Similarly.
14996 * mips/mips.h: Similarly.
14997 * ns32k/merlin.h: Similarly.
14998 * ns32k/ns32k.c: Similarly.
14999 * ns32k/ns32k.h: Similarly.
15000 * ns32k/tek6000.h: Similarly.
15001 * pa/pa-protos.h: Similarly.
15002 * pa/pa.c: Similarly.
15003 * pa/pa.h: Similarly.
15004 * pdp11/2bsd.h: Similarly.
15005 * pdp11/pdp11-protos.h: Similarly.
15006 * pdp11/pdp11.c: Similarly.
15007 * pdp11/pdp11.h: Similarly.
15008 * romp/romp-protos.h: Similarly.
15009 * romp/romp.c: Similarly.
15010 * romp/romp.h: Similarly.
15011 * rs6000/rs6000-protos.h: Similarly.
15012 * rs6000/rs6000.c: Similarly.
15013 * rs6000/rs6000.h: Similarly.
15014 * rs6000/sysv4.h: Similarly.
15015 * sh/sh-protos.h: Similarly.
15016 * sh/sh.c: Similarly.
15017 * sh/sh.h: Similarly.
15018 * sparc/sparc-protos.h: Similarly.
15019 * sparc/sparc.c: Similarly.
15020 * sparc/sparc.h: Similarly.
15021 * vax/vax.c: Similarly.
15022 * vax/vax.h: Similarly.
15023 * vax/vms.h: Similarly.
15024 * we32k/we32k.c: Similarly.
15025 * we32k/we32k.h: Similarly.
15026
b62c8881
JL
15027Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
15028
15029 * basic-block.h (first_insn_after_basic_block_note): Declare.
15030 * flow.c (first_insn_after_basic_block_note): Define. Moved
15031 from...
15032 * ssa.c (first_insn_after_basic_block_note): Remove.
15033 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
15034 necessary.
15035 (ssa_eliminate_dead_code): Properly update the CFG and PHI
15036 nodes when we find a dead conditional branch. Insert BARRIERs
15037 after any blocks with no successors, but which do not have
15038 any BARRIERs.
15039
9d99ca5b
ZW
150402001-07-06 Zack Weinberg <zackw@stanford.edu>
15041
15042 * varray.c (varray_check_failed): Use internal_error.
15043
fc6aa0a9
AH
150442001-07-05 Andrew Haley <aph@redhat.com>
15045
15046 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
15047 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
15048 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
15049
6331d1c1
JM
150502001-07-02 Jason Merrill <jason_merrill@redhat.com>
15051
15052 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
15053 reference if the target constant is also a SYMBOL_REF.
15054
7dac2f89
EC
150552001-07-05 Eric Christopher <echristo@redhat.com>
15056
6331d1c1
JM
15057 * config/mips/mips.h (MASK_MIPS3900): Remove.
15058 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
15059 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
15060 (TARGET_MIPS3900): Change to use mips_arch.
15061 (TARGET_MIPS4000): New.
15062 (TARGET_MIPS4100): New.
15063 (TARGET_MIPS4300): New.
15064 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
15065 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
15066 for -mipsX.
15067 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
15068 (ISA_HAS_BRANCHLIKELY): To here.
15069 (CC1_CPU_SPEC): New.
15070 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
15071 (mips_arch_string): Declare.
15072 (mips_arch): Declare.
15073 (TARGET_OPTIONS): Add -march and -mtune.
15074
15075 * config/mips/mips.c (mips_arch_string): New.
15076 (mips_arch): New.
15077 (override_options): Handle -march for codegen and -mtune
15078 for scheduling. Use mips_arch. Move tx39 target default here.
15079 (mips_parse_cpu): Move error message to override_options.
15080
15081 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
15082
15083 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
15084
15085 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
15086 (MIPS Options): Ditto. Change mcpu entry to historical text.
7dac2f89
EC
15087
150882001-07-05 H.J. Lu (hjl@gnu.org)
15089
4e2db584
RH
15090 * config/mips/mips.c (mips_parse_cpu): New function to parse
15091 -march=*/-mcpu=*.
7dac2f89 15092
a2497896
JW
150932001-07-05 Jim Wilson <wilson@redhat.com>
15094
15095 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
15096 * config/ia64/t-ia64: Likewise.
15097 (LIB1ASMFUNCS): Update comment.
15098
9da6e781
DE
150992001-07-05 David Edelsohn <edelsohn@gnu.org>
15100
15101 * doc/install.texi (Install GCC: Binaries): Fix typo.
15102
43a72755
SC
151032001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15104
7dac2f89
EC
15105 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
15106 reference using the stack pointer, adjust it since we push Y
43a72755
SC
15107 temporarily.
15108 ("*ashrsi3"): Likewise.
15109 ("*lshrsi3"): Likewise.
15110
35f0a736
SC
151112001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15112
15113 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
15114 when -fomit-frame-pointer is used.
15115
35428bb9
JO
151162001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
15117
15118 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
15119 (try_redirect_by_replacing_jump): Reverse updating properly the
15120 count and frequency information. Reverse removing cc0 setter.
15121 (forwarder_block_p): Reverse fixing for fallthru blocks.
15122
0259b07a
DD
151232001-07-05 DJ Delorie <dj@redhat.com>
15124
15125 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
15126 (translate_options): If the above is defined, use it to map
15127 given options to new options.
15128 * doc/tm.texi: Document it.
15129
081ca317
BL
151302001-07-05 Brad Lucier <lucier@math.purdue.edu>
15131 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15132
15133 * doc/invoke.texi (Optimize Options): Document that -fgcse may
15134 cause programs using computed gotos to run more slowly.
15135
021c4bfd
RO
151362001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15137
15138 * doc/install.texi (Specific): Markup, spelling and typo fixes.
15139 Fixed sorting.
15140 Consistently require binutils 2.11.2, not prereleases.
15141 (Specific, decstation-*): Canonicalize as mips-dec-*.
15142 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
15143 always necessary.
15144 (Specific, m68k-altos): Removed reference to README.altos, deleted.
15145 (Specific, mips-*): Reword MIPS C compiler requirements.
15146 (Specific, powerpc*-*-*): New, mention --with-cpu once.
15147 (Specific, sunv5): Removed, obsolete.
15148
aafdcfcd
NS
151492001-07-05 Nathan Sidwell <nathan@codesourcery.com>
15150
15151 * dwarf2out.c (output_loc_list): Use an all ones mask for
15152 .text asm output and don't rely on long long
15153 literals. Reformat some long lines.
15154
6c7f693e
AJ
151552001-07-05 Andreas Jaeger <aj@suse.de>
15156
15157 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
15158 section.
15159
cc260610
DB
151602001-07-04 Daniel Berlin <dan@cgsoftware.com>
15161
15162 * dwarf2out.c (dwarf2out_define): Update comment.
15163 (dwarf2out_undef): Ditto.
15164 (dwarf2out_start_source_file): Ditto.
15165 (dwarf2out_end_source_file): Ditto.
15166 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
15167 since we never call the start/end debug hook for the primary file.
15168
cc32b876
KH
151692001-07-04 Kazu Hirata <kazu@hxi.com>
15170
15171 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
15172 from shll.
15173
dbead49c
NS
151742001-07-04 Nathan Sidwell <nathan@codesourcery.com>
15175
15176 * cppinit.c (remove_dup_dirs): Inform if a system include
4e2db584 15177 directory is being reordered.
dbead49c
NS
15178 * doc/invoke.texi (Directory Options): GCC warns if you hide a
15179 system include.
15180 * doc/cpp.texi (Search Paths): Likewise.
15181 * doc/gcc.texi (Interoperation): Remove information about
15182 -I/usr/include.
15183
0cf97c8b
NS
151842001-07-04 Nathan Sidwell <nathan@codesourcery.com>
15185
15186 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
15187 (VARRAY_TOP_CHAR_PTR): Likewise.
15188
bbed13b1
KG
151892001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15190
15191 * gcc.c (process_command): Don't assign elements of a const char*.
15192
2b1b6bf9
RK
15193Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15194
15195 * emit-rtl.c (change_address): Don't abort if invalid address while
15196 reload is in progress.
15197
84a5b4f8
DB
151982001-07-04 Daniel Berlin <dan@cgsoftware.com>
15199
15200 * c-lex.c (cb_file_change): Pass line number to
6c7f693e 15201 debug_start_source_file.
84a5b4f8
DB
15202 (cb_undefine): Pass correct line number to debug_undef.
15203
15204 * toplev.c (debug_start_source_file): Add line number to
15205 parameters. Pass it along to dwarf2out_start_source_file.
15206 (decode_g_option): Stop resetting debug level back to normal when
15207 we change debug formats, unless the current level is
15208 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
15209 3).
6c7f693e 15210
84a5b4f8
DB
15211 * toplev.h (debug_start_source_file): Add line number to
15212 parameters.
6c7f693e 15213
2b1b6bf9
RK
15214 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
15215 parameters.
84a5b4f8
DB
15216
15217 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
15218 parameters.
6c7f693e 15219 Output debug_macinfo data for starting file if requested.
84a5b4f8
DB
15220 (dwarf2out_end_source_file): Output debug_macinfo data for ending
15221 file if requested.
2b1b6bf9
RK
15222 (dwarf2out_define): Output debug_macinfo data for defining a macro
15223 if requested.
84a5b4f8
DB
15224 (dwarf2out_undef): Output debug_macinfo data for undefining a
15225 macro if requested.
15226 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
15227 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
15228 (macinfo_section_label): New. DWARF2 macro info section label.
15229 (dwarf2out_init): If we want macro info, output the start label
15230 for the section.
15231 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
15232 attribute to the compilation unit die pointing to the macro info.
15233
152342001-07-04 Daniel Berlin <dan@cgsoftware.com>
15235
15236 * dwarf2out.c (new_loc_list): Move to inside #ifdef
15237 DWARF2_DEBUGGING_INFO.
15238 (add_loc_descr_to_loc_list): Ditto.
15239 (output_loc_list): Ditto.
15240 Also, fix thinko in curr not being initialized.
15241 (gen_internal_sym): Ditto.
6c7f693e 15242
792760b9
RK
15243Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15244
15245 * emit-rtl.c (replace_equiv_address): New function.
15246 * expr.h (replace_equiv_address): New declaration.
15247 * explow.c (validize_mem): Call it instead of change_address and
15248 also call if -fforce-addr and address is constant.
15249 * expr.c: Replace more calls to change_address with adjust_address
15250 and/or replace_equiv_address or to validize_mem.
15251 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
15252 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
15253 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
15254 * config/i370/i370.md, config/i860/i860.md: Likewise.
15255 * config/i960/i960.md, config/mips/mips.c: Likewise.
15256 * config/mips/mips.md, config/pa/pa.md: Likewise.
15257 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
15258 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
15259
266aae9b
KG
152602001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15261
15262 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
15263
15264 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
15265 function.
15266
0671eaf6
JM
152672001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
15268
15269 * doc/include: New directory.
15270 * doc/fdl.texi: Move to doc/include/fdl.texi.
15271 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
15272 * doc/include/funding.texi, doc/include/gpl.texi: New files.
15273 * doc/gcc.texi: Use funding.texi and gpl.texi.
15274 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
15275 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
15276 Update dependencies and use -I $(docdir)/include.
15277
77b6797a
AG
152782001-07-04 Anthony Green <green@redhat.com>
15279
15280 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
15281
e9d21442
GP
152822001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15283
15284 * doc/install.texi (sparc64-*-*): Remove garbage.
15285
d2037d01
JM
15286Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
15287
15288 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
15289 Fix typo in last change to use adjust_address.
15290
37324a54
GP
152912001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15292
15293 * doc/install.texi (Specific): Update information for *-*-solaris*.
15294
17ab7c59
RK
15295Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15296
15297 * explow.c (plus_constant_wide): Reinitialize Y for restart.
15298
70fb5453
SS
152992001-07-03 Stan Shebs <shebs@apple.com>
15300
0cf97c8b 15301 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
70fb5453
SS
15302 case for flag_no_mach_text_sections.
15303 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
0cf97c8b
NS
15304 * config/darwin.c (flag_no_mach_text_sections): Remove.
15305 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
70fb5453 15306
b72f00af
RK
15307Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15308
15309 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
15310 and avoid checking for constant as first operand.
15311 * recog.c (find_constant_term_loc): No longer static.
15312 (adj_offettable_operand): Delete.
15313 * rtl.h (adj_offsettable_operand): Delete declaration.
15314 (find_constant_term): Add declaration.
15315 * caller-save.c: Replace calls to adj_offsettable_operand with calls
15316 to adjust_address.
15317 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
15318 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
15319 * config/i386/i386.c, config/i386/i386.md: Likewise.
15320 * config/i860/i860.c, config/i960/i960.c: Likewise.
15321 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
15322 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
15323 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
15324 * config/mips/mips.c, config/mips/mips.md: Likewise.
15325 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
15326 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
15327 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
15328 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
15329 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
15330 * config/ns32k/ns32k.md: Likewise.
15331
3b324340
ZW
153322001-07-03 Zack Weinberg <zackw@stanford.edu>
15333
15334 * rtl.c (copy_rtx): Handle 'T' format letter.
15335 * gensupport.c (collect_insn_data): Likewise.
15336 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
15337
bf4eebe0
NC
153382001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
15339
15340 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
15341 -B option. Use 'dir' not 'foo' as example directory name.
15342
c1911346
RO
153432001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15344
15345 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
15346 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
15347
f89dec57
JM
153482001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
15349
15350 * doc/cppinternals.texi: Improve formatting and logical markup.
15351
5b7c7046
AJ
153522001-07-03 Andreas Jaeger <aj@suse.de>
15353
15354 * Makefile.in (insn-recog.o): Add dependency on reload.h.
15355
15356 * genrecog.c (write_header): Include reload.h for prototypes in
15357 insn-recog.c.
15358
f5f4be42
NB
153592001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
15360
15361config:
15362 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
15363 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
15364 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
15365 i386_pe_valid_type_attribute_p): Add.
15366 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
15367 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
15368
ed8908e7
RK
15369Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15370
15371 * explow.c (plus_constant_wide, case LO_SUM): New case.
15372 (plus_constant_for_output_wide): Delete.
15373 * rtl.h (plus_constant_for_output): Delete.
15374 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
15375 instead of plus_constant_for_output.
15376 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
15377 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
15378 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
15379 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
15380 * config/sparc/sparc.md: Likewise.
15381 Convert some change_address calls to adjust_address.
15382
aee96fe9
JM
153832001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
15384
15385 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
15386 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
15387 documentation of -std and -Wwrite-strings.
15388
8bf4dfc2
GK
153892001-07-02 Geoffrey Keating <geoffk@redhat.com>
15390
15391 * cse.c (canon_hash): Don't register registers in very small
15392 register classes, as extending their lifetime might cause
15393 reload to fail.
15394
f8d1529b
JH
15395Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
15396
15397 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
15398
15399 * flow.c (forwarder_block_p): Fix for fallthru blocks.
15400 (try_redirect_by_replacing_jump): Update properly the count
15401 and frequency information.
15402
0826f1d8
JL
15403Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
15404
15405 * toplev.c (dump_file_index): Move SSA dumps just after first
15406 jump dump.
15407 (dump_file): Corresponding changes.
15408 (rest_of_compilation): Move SSA path to just after the first
15409 jump pass.
15410 * doc/gcc.texi (Passes): Update due to movement of SSA path.
15411 * doc/invoke.texi: Update dump file #s as they were completely
15412 out of date with reality.
15413
918a6124
GK
154142001-07-02 Geoffrey Keating <geoffk@redhat.com>
15415
15416 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
15417
15418 * expr.c (emit_move_insn_1): Deal with non-default
15419 STACK_PUSH_CODE.
15420
15421 * expr.c (emit_single_push_insn): Fix warning.
15422
154232001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
15424
15425 * expr.c (emit_move_insn_1): Avoid modifying
15426 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
15427
f4ef873c
RK
15428Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15429
15430 * emit-rtl.c (adjust_address): New function.
15431 * expr.h (adjust_address): Add declaration.
15432 * builtins.c: Replace some calls to change_address with calls to it
15433 or to validize_mem.
15434 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
15435 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
15436 * config/arm/arm.c, config/convex/convex.c: Likewise.
15437 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
15438 * config/i386/i386.c, config/i386/i386.md: Likewise.
15439 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
15440 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
15441 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
15442 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
15443 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
15444
becbcf96
JW
154452001-07-02 Jim Wilson <wilson@redhat.com>
15446
15447 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
15448
154492001-07-02 Steve Ellcey <sje@cup.hp.com>
15450
4e2db584
RH
15451 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
15452 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
becbcf96 15453
a01eb545
ZW
154542001-07-02 Zack Weinberg <zackw@stanford.edu>
15455
15456 * cppinit.c (lang_defaults): New table.
15457 (set_lang): Just read from lang_defaults into the live options
15458 structure.
15459
51817b10
ZW
154602001-07-02 Zack Weinberg <zackw@stanford.edu>
15461
15462 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
15463 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
15464 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
15465
eea81d3e
RO
154662001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15467
15468 * doc/install.texi: Various spelling and markup fixes.
15469 (Installing GCC): Component specific installation instructions are
15470 gone.
15471 Fix reference.
15472 Warn about removing old install dir in the presence of shared libs.
15473 (Configuration): Invoke with options target to match configure
15474 --help.
15475 Consistently refer to gas, gld pathnames.
15476 Invert --enable-multilib documentation.
15477 Remove references to old compiler versions.
15478
faf041ed
RK
15479Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15480
15481 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
15482
213ba345
RO
154832001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15484
15485 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
15486 section.
15487 (Specific, mips*-sgi-irix5): Note IDO download.
15488 Reworded MIPS C hints.
15489 Use GNU as instead of GAS.
15490 Markup fixes.
15491 Removed SGI Freeware reference, IRIX 6 only.
15492 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
15493 Note N64 library requirement/workaround.
15494 Update O32 hints.
15495 Complete list of structure passing bug victims.
15496
b9063b3d
GP
154972001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15498
15499 * doc/install.texi: Remove CVS Id.
15500
766890e1
AJ
155012001-07-02 Andreas Jaeger <aj@suse.de>
15502
15503 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
15504 (find_inherently_necessary): Remove unused variable.
15505
6be77748
NS
155062001-07-02 Nathan Sidwell <nathan@codesourcery.com>
15507
15508 * c-common.h (TDI_inlined): New ast dump phase.
15509 (dump_flag_name): New function.
15510 * c-dump.c (dump_files): Add inlined phase.
15511 (dump_flag_name): Define.
15512 * doc/invoke.texi (-fdump-ast-inlined): Document.
15513
3aa12a58
RK
15514Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15515
15516 * stor-layout.c (layout_decl): Revert change to handling of alignment
15517 in packed types.
15518
21266f81
RK
15519Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15520
15521 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
15522 for FIELD_DECL.
15523
1cc5e432
GK
155242001-07-01 Geoffrey Keating <geoffk@redhat.com>
15525
15526 * doc/tm.texi (FUNCTION_ARG): Document that the last call
15527 is special.
15528
3746c4a2
NS
155292001-07-01 Nathan Sidwell <nathan@codesourcery.com>
15530
15531 * tlink.c (recompile_files): Remove COMPILER_PATH and
15532 LIBRARY_PATH from the environment.
15533
b8363a24
ZW
155342001-07-01 Zack Weinberg <zackw@stanford.edu>
15535
15536 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
15537 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
15538 enumerators.
15539 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
15540
15541 * c-parse.in (OBJC_STRING): Kill.
15542 (objc_string): Decompose to [objc_string] '@' STRING.
15543 (reswords): Take the leading '@' off all the Objective C keywords.
15544 (objc_rid_sans_at): Kill.
15545 (init_reswords): Don't initialize it.
15546 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
15547 (_yylex): Kill reconsider label. Look ahead one token after
15548 an '@'; if we get an identifier, check whether it's an
15549 Objective C @-keyword. If so, return the keyword. Otherwise,
15550 put back the token and return the '@' as a terminal.
15551
15552 * cpplib.c (lex_macro_node): Remove unnecessary check for
15553 leading '@' on identifier. Clarify control flow and commentary.
15554
be8ac49a
RK
15555Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15556
15557 * cse.c (new_label_ref): Variable deleted.
15558 (insert): Remove set of new_label_ref.
15559 (check_for_label_ref): New function.
15560 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
15561
528aeb48 15562See ChangeLog.5 for earlier changes.
This page took 1.981465 seconds and 5 git commands to generate.