]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
toplev.c (DUMPFILE_FORMAT): Define default.
[gcc.git] / gcc / ChangeLog
CommitLineData
6baf9874
DR
1Mon Nov 19 16:57:44 2001 Douglas B. Rupp <rupp@gnat.com>
2
3 * toplev.c (DUMPFILE_FORMAT): Define default.
4 (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
5 (close_dump_file, compile_file): Likewise.
6 * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
7 * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
8
419fef71
JL
92001-11-19 Jeff Law <law@redhat.com>
10
11 * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
12 a nop-jump.
13
142000-11-19 Neil Booth <neil@daikokuya.demon.co.uk>
3293c3e3
NB
15
16 * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
17 Don't fall off the base token run.
18
c29593dc
JW
192001-11-19 Jason Wilkins <fenix@io.com>
20
21 * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
22
ed239f5a
RK
23Mon Nov 19 15:13:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24
25 * tree.def (VIEW_CONVERT_EXPR): New tree code.
26 * tree.h (handled_component_p): New declaration.
27 * alias.c (handled_component_p): Move function from here ...
28 * expr.c (handled_component_p): ... to here and non longer static.
29 (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
30 (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
31 (get_inner_reference): Handle VIEW_CONVERT_EXPR.
32 (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
33 (expand_expr, case VIEW_CONVERT_EXPR): New case.
34 (expand_expr, cse ADDR_EXPR): No need to copy if already
35 BIGGEST_ALIGNMENT.
36 * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
37 * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
38 (output_constant): Handle VIEW_CONVERT_EXPR.
39 * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
40 Add new case for VIEW_CONVERT_EXPR.
41
a5a9cb26
KG
422001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
43
44 * a29k/unix.h (ASM_FILE_START): Const-ify.
45 * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
46 * i386/isc.h (ASM_FILE_START): Const-ify.
47 * i386/sun386.h (ASM_FILE_START): Likewise.
48 * m32r.md: Likewise.
49 * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
50 * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
51 * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
52 * mn10200.md: Initialize variable.
53
7fcd7218
JH
54Mon Nov 19 18:06:21 CET 2001 Jan Hubicka <jh@suse.cz>
55
56 * gcse.c (try_replace_reg): Copy RTX before creating note.
57
58 * df.h (df_ref_flags): New uenum.
59 (DF_REF_FLAGS): New macro.
60 (struct ref): Add field "flags".
61 * df.c (HANDLE_SUBREG): Remove.
62 (df_ref_create): Likewise; set flags field of ref.
63 (df_def_record_1): Strip down read_write subreg; remove
64 commented out code; set READ_WRITE flag.
65 (read_modify_subreg_p): New static function.
66 (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
67 new argument "flags".
68 (df_insn_refs_record): Update call of df_uses_record.
69 (df_insn_modify): Avoid #if 0 around comment.
70 (df_dump): Dump the read/write flag.
71
72 * predict.c (propagate_freq): Make cyclic_probability and frequency
73 volatile
74
75 * i386.c (ix86_cc_mode): Accept USE.
76
77 * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed
78 jump is turned into simplejump.
79
598f4c4c
JM
802001-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
81
82 * doc/fragments.texi, doc/trouble.texi: Remove links to old
83 installation chapter.
84 * doc/gcc.texi: Don't claim that this manual documents
85 installation. Mark Installation menu entry as being out of date.
86
394f41b6
DR
87Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com>
88
89 * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
90 (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
91 * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
92
aa6ad1a6
JM
932001-11-19 Jason Merrill <jason@redhat.com>
94
95 * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
96 cur_token, not after.
97
98 * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
99 Lose ASM_OUTPUT_CONSTRUCTOR.
100 * system.h: Poison it and INT_ASM_OP.
101 * c-lang.c (finish_file): Don't check for it.
102 * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
103
75540760
KG
1042001-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
105
106 * mmix.c (mmix_cc1_ignored_option): Const-ify.
107 (mmix_init_machine_status): Make static to match declaration.
108 (mmix_unique_section): Const-ify.
109 (mmix_output_quoted_string): Avoid automatic aggregate
110 initialization.
111 (mmix_output_register_setting): Likewise.
112 (mmix_output_shiftvalue_op_from_str): Likewise.
113
114 * mmix.h (mmix_cc1_ignored_option): Const-ify.
115 (ASM_OUTPUT_BYTE): Fix format specifier warning.
116 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
117
39244792
CR
1182001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
119
120 PR c/4448
121 * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
122 name __objc_thread_exit_status so that it matches the
123 variable defined in objc/thr.h.
124
20266bb1
CR
1252001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
126
127 PR bootstrap/4020
128 * mklibgcc.in: Add missing semi-colons.
129 * Makefile.in: Same.
130
e27cc84b
RK
131Sun Nov 18 16:47:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
132
133 * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
134 after re-laying out decl in incomplete case.
135 (expand_expr, case ADDR_EXPR): Fix typo in copy case.
136
72170b22
JM
1372001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
138
139 * doc/install-old.texi: Move some sections out to ...
140 * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
141 ... here. New files. Make into chapters rather than sections.
142 * doc/gcc.texi: Include the new files and add menu entries for
143 them.
144 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
145
69deb6e0
RK
146Sun Nov 18 14:13:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
147
c3d32120
RK
148 * tree.h (TYPE_ALIGN_OK): New flag.
149 * emit-rtl.c (set_mem_attributes): Handle it.
150 * expr.c (emit_single_push_insn): Only set to alias set 0 if
151 doing sibcall optimization.
152 (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
153 when make temporary.
154 (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
155 (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
156
69deb6e0
RK
157 * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
158
aa99bd09
JM
1592001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
160
161 * c-decl.c (c_decode_option): Give deprecation warning for
162 -traditional.
163 * doc/invoke.texi (-traditional): Note that this option is
164 deprecated.
165
5505dff9
DR
166Sun Nov 18 07:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
167
6f4fdd10
DR
168 * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
169 arg to HOST_WIDE_INT, not long.
170
5505dff9
DR
171 * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
172 (HAS_INIT_SECTION): Define.
173 (REAL_ARITHMETIC): Don't undefine.
174
bca0284a
ED
1752001-11-18 Egor Duda <deo@logos-m.ru>
176
177 * config/i386/cygwin.h: Strip leading '*' from name, if any.
178
22703ccc
NB
1792001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
180
181 * Makefile.in (c-parse.o, c-common.o): Update dependencies.
182 * c-common.c: Include diagnostic.h.
183 (c_common_finish): New.
184 * c-common.h (c_common_finish): New.
185 * c-lang.c (LANG_HOOKS_FINISH): Override.
186 * c-parse.in: Don't include diagnostic.h.
187 (finish_parse): Remove.
188 * langhooks.h: Update comments.
189 * toplev.c (lang_dependent_init): New prototype.
190 (finalize): New.
191 (compile_file): Split cleanup code out to finalize.
192 (lang_dependent_init): Stop if lang_hooks.init fails.
193 (toplev_main): Update.
194 * tree.h (finish_parse): Remove.
195objc:
196 * objc-act.c (LANG_HOOKS_FINISH): Override.
197
6f684b53
DR
198Sat Nov 17 23:30:44 2001 Douglas B. Rupp <rupp@gnat.com>
199
200 * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
201 * config/alpha/vms_tramp.asm: New file.
202 * config/alpha/vms-tramp.asm: Removed.
203
7d14c755
JM
2042001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
205
206 * c-common.c (struct disabled_builtin, disabled_builtins,
207 disable_builtin_function, builtin_function_disabled_p): New.
208 (builtin_function_2): Check for disabled built-in functions.
209 * c-common.h (disable_builtin_function): Declare.
210 * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
211 * doc/invoke.texi: Document -fno-builtin-FUNCTION.
212 * doc/extend.texi: Mention -fno-builtin-FUNCTION.
213
f3095b5f
CR
2142001-11-17 Craig Rodrigues <rodrigc@gcc.gnu.org>
215
216 PR target/4606
217 * config.gcc: Remove reference to va-clipper.h.
218
089a05b8
SS
2192001-11-17 Stan Shebs <shebs@apple.com>
220
221 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
222 AltiVec-related bitfields.
223
572202a7
RK
224Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
225
226 * except.c (enum eh_region_type): Add ERT_UNKNOWN.
227 (mark_eh_region, case ERT_UKNONW): New case.
228
d0e06c90 2292001-11-17 Christopher Faylor <cgf@redhat.com>
c03dcc62 230 Corinna Vinschen <vinschen@redhat.com>
d0e06c90
CF
231
232 * config/i386/cygwin.h: Search target specific include directory for
233 w32api stuff, if appropriate.
234
5370b45d
DR
235Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
236
237 * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
238
f3fe2696
AH
2392001-11-16 Aldy Hernandez <aldyh@redhat.com>
240
241 * config/rs6000/rs6000.md: Change all ldvx to lvx.
242
e13c5526
AO
2432001-11-16 Alexandre Oliva <aoliva@redhat.com>
244
245 * gensupport.c (process_rtx): Don't assume filename is the first
246 argument of any rtl.
247
268399cd
JDA
2482001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
249
250 * vax-protos.h (reg_was_0_p): New prototype.
251 * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
252 * vax.c (follows_p, reg_was_0_p): New functions.
253
550b2951
JDA
2542001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
255
256 * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
257 (casesi1): Likewise. Define new pattern which arises by simplification
258 when operand 1 is a constant int. Correct pattern which arises by
259 simplification when operand 1 is zero.
260
f910b1bb
DB
2612001-11-16 David O'Brien <obrien@FreeBSD.org>
262
263 * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
264 arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
265 arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
266 arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
267 arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
268 arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
269 xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
270 * config/arm/aof.h: Don't include arm.h.
271 * config/arm/aout.h: Likewise.
272 * config/arm/coff.h: Don't include semi.h and aout.h.
273 * config/arm/elf.h: Don't include aout.h.
274 * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
275 (TARGET_VERSION): Undef before defining.
276 (ARM_OS_NAME): Likewise
277 (TARGET_DEFAULT): Likewise
278 (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
279 * config/arm/pe.h: Don't include arm/coff.h.
280 * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
281 SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
282 * config/arm/riscix1-1.h: Likewise.
283 * config/arm/rix-gas.h: Don't include riscix.h.
284 (DBX_CONTIN_LENGTH): Undef before defining.
285 * config/arm/semi.h: Don't include aout.h.
286 * config/arm/semiaof.h: Don't include aof.h.
287 * config/arm/strongarm-coff.h: Don't include coff.h.
288 * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
289 * config/arm/vxarm.h: Don't include arm/coff.h.
290 * config/arm/xscale-coff.h: Don't include coff.h.
291
847898f6
RK
292Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
293
294 * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
295 emit_cmp_insn.
296
d0225025
AJ
2972001-11-16 Andreas Jaeger <aj@suse.de>
298
299 * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
300 to ....
301 (fixup_fallthru_exit_predecessor): ... this.
302 Change callers and prototype.
303
29628f27
BS
3042001-11-16 Bernd Schmidt <bernds@redhat.com>
305
306 * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
307 hand; don't use gen_setcc_2.
308 (ix86_expand_builtin): Fix pshufw.
309 * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
310 case UNORDERED to emit the right assembler instruction.
311 (mmx_pshufw): Lose operand 2.
312 (cvtsi2ss): Fix representation.
313 From Graham Stott:
314 (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
315
81bbae61
JM
3162001-11-16 Joseph S. Myers <jsm28@cam.ac.uk>
317
318 * doc/include/linux-and-gnu.texi: Remove.
319 * doc/gnu.texi: New.
320 * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
321 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
322
6b857ce3
KH
3232001-11-16 Kazu Hirata <kazu@hxi.com>
324
325 * config/a29k/a29k.c: Fix comment formatting.
326 * config/a29k/a29k.h: Likewise.
327 * config/arc/arc.c: Likewise.
328 * config/arc/arc.h: Likewise.
329 * config/vax/vax.c: Likewise.
330 * config/vax/vax.h: Likewise.
331 * config/we32k/we32k.c: Likewise.
332 * config/we32k/we32k.h: Likewise.
333
bcb07710
JL
3342001-11-16 Jeff Law <law@redhat.com>
335
336 * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
337 creating a new jump insn.
338
339Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
c952ff4b
RK
340
341 * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
342 copy misaligned data.
343 * varasm.c (assemble_variable): Set alignment into MEM when changed.
344
f4dc10d1
GS
3452001-11-16 Graham Stott <grahams@redhat.com>
346
347 * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
348 OPALIGN type.
349
6d41a92f
OH
3502001-11-16 Olivier Hainque <hainque@act-europe.fr>
351
352 * except.c: Support for catching a list of types with a single handler
353 (struct eh_region): Change type and filter to lists for catch regions.
354 (mark_eh_region): Mark the filter list for GC also.
355 (expand_start_catch): Always build a list if argument not NULL and
356 register each type of the list through add_type_for_runtime.
357 (duplicate_eh_region_1): Change type into type_list for catch regions.
358 (assign_filter_values): Assign a filter to each type associated with a
359 catch region. Assign filter for NULL types in a unique entry in the
360 filter list.
361 (build_post_landing_pads): Emit compare and jump for each filter of
362 the list associated with a catch region.
363 (reachable_next_level): When the type thrown is known, stop the search
364 as soon as one type within a catch list matches. Also, a handler is
365 potentially reachable only if at least one of the types it catches
366 has not been previously caught.
367 (collect_one_action_chain): Retrieve the filter for a NULL type list
368 from the first filter list entry. For non NULL type lists, add an
369 action record for every filter assigned.
370 * except.h: Reflect changes in comment before expand_start_catch.
371
a8ca89dc
RK
372Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
373
374 * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
375 BLKmode.
376
3b2d1507
AT
377Fri Nov 16 06:37:05 2001 Andreas Tobler <a.tobler@schweiz.ch>
378
379 * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
380
25e7f439
JJ
3812001-11-16 Jakub Jelinek <jakub@redhat.com>
382
383 * c-lang.c (finish_file): Don't emit static inline functions if
384 they weren't referenced.
385
38b3baae
SS
3862001-11-15 Stan Shebs <shebs@apple.com>
387
388 * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
d0225025 389
e790b36a
BM
3902001-11-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
391
d0225025 392 * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
e790b36a
BM
393 call.
394 * config/i386/i386.md: Likewise.
395
5237fc07
RK
396Thu Nov 15 21:40:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
397
398 * timevar.c (rtl.h): Include so get fancy abort.
399
9f1a9740
DJ
4002001-11-15 Dale Johannesen <dalej@apple.com>
401
402 * config/darwin.h (SELECT_RTX_SECTION): Force address
403 initializers into 'const' section
404 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of
405 if_then_else to match result, not operands
406
a06ef755
RK
407Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
408
409 * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
410 * emit-rtl.c (change_address): Fix typo in default alignment.
411 (adjust_address_1): Use mode of NEW, not MODE, when setting size.
412 * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
413 * rtl.h (REGNO_PTR_FRAME_P): New macro.
414
415 * expr.c (store_field): Pass tree instead of max size; callers changed.
416 Change handling of alignment.
417 Only copy to_rtx if is TARGET.
418 (expand_expr_unaligned): Delete; callers now use expand_expr.
419 (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
420 (expand_assignment): Change handling of alignment.
421 Only copy to_rtx if was original.
422 (get_inner_reference): No longer return alginment; callers changed.
423 (expand_expr, case COMPONENT_REF): Change handling of alignment.
424 (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
425 (compare_from_rtx): Delete ALIGN parm; all callers changed.
426 (do_compare_rtx_and_jump): Likewise.
427 * expr.h: Reflect above changes.
428 * tree.h: Likewise.
429 * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
430 to get_inner_reference.
d43e0b7d
RK
431 * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
432 * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
a06ef755
RK
433 * optabs.c: Likewise.
434 (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
435 (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
d43e0b7d
RK
436 * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
437 compare_rtx_and_jump, and emit_cmp_jump_insns.
a06ef755
RK
438 * fold-const.c: Remove PALIGN in calls to get_inner_reference.
439 * function.c (assign_stack_temp_for_type): No longer static.
440 * optabs.h (emit_cmp_insn): Remove ALIGN parm.
441 (prepare_cmp_insn): Delete declaration.
442 * rtl.h (assign_stack_temp_for_type): Add declaration.
d43e0b7d
RK
443 * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
444 * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
445 * config/i386/i386.c,config/mips/mips.c: Likewise.
a06ef755
RK
446 * config/i860/i860.c, config/ia64/ia64.c: Likewise.
447 * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
448
7960cfbb
SS
4492001-11-15 Stan Shebs <shebs@apple.com>
450
451 * config/rs6000/rs6000.h: Fix a comment typo.
452 (RTX_COSTS): Sort processor versions better.
453
8d795882
KH
4542001-11-15 Kazu Hirata <kazu@hxi.com>
455
456 * config/h8300/h8300.md: Fix insn length of bit insns.
457
18b5b8d6
JM
4582001-11-15 Jason Merrill <jason@redhat.com>
459
460 * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
461 DIEs if there were errors in the source.
462
463 * config/alpha/alpha-interix.h, config/alpha/elf.h,
464 config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
465 config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
466 config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
467 config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
468 config/elfos.h, config/lynx.h, config/netware.h,
469 config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
470 config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
471 uses to use ASM_LONG.
472
94414790
AM
4732001-11-15 Alan Matsuoka <alanm@redhat.com>
474
475 * gensupport.c process_include : Change call to alloca to
476 xmalloc.
477
9bddde52
AH
4782001-11-15 Aldy Hernandez <aldyh@redhat.com>
479
480 * config/rs6000/rs6000.md: Use spaces instead of tabs in output
481 templates.
482
fea54805
RK
483Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
484
485 * final.c (alter_subreg): If simplify_subreg can't do anything,
486 handle REG ourselves and abort for others.
487
768caa28
RH
4882001-11-15 Richard Hodson <hodsonr@dionecorp.com>
489
490 * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
491 routines.
492
56c2b525
NB
4932001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
494
495 * fix-header.c (read_scan_file): Update.
496
a9915c78
RK
497Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
498
499 * toplev.c (toplev_main): Don't start timing until after
500 command-line options are parsed.
501
3cae5780
AS
5022001-11-15 Andreas Schwab <schwab@suse.de>
503
fed7dc63
AS
504 * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
505 makefile frag, not host makefile frag.
506 (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
507 (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
508 used.
509 (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
510 * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
511 * config/m88k/t-dgux (STMP_FIXPROTO): Define.
512 * config/i386/t-cygwin (STMP_FIXPROTO): Define.
513 * config/i386/t-dgux (STMP_FIXPROTO): Define.
514 * config/x-interix: Don't define STMP_FIXPROTO and
515 FIXPROTO_DEFINES.
516 * config/t-interix: New file, define STMP_FIXPROTO.
517 * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
518 * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
519 * config/t-svr4 (FIXPROTO_DEFINES): Define.
520 * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
521 * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
522 * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
523 * config/m68k/t-hp3200: Renamed from x-hp3200.
524 * config/i370/t-oe: Renamed from x-oe.
525 * config/mips/t-iris: Renamed from x-iris.
526 * config/pa/t-bsd: Renamed from x-pa.
527 * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
528 * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
529 config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
530 config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
531 config/rs6000/x-cygwin: Remove files.
532
3cae5780
AS
533 * configure.in: Check for target objdump and use that in eh_frame
534 optimization test.
535 * configure: Regenerated.
536
2b7d71b2
JJ
5372001-11-15 Jakub Jelinek <jakub@redhat.com>
538
539 * jump.c (squeeze_notes): Return true if no real insns were found.
540 * rtl.h (squeeze_notes): Adjust prototype.
541 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
542 squeeze_notes finds no real instructions, abort.
543 (merge_blocks_move_successor_nojumps): Likewise.
544 * loop.c (find_and_verify_loops): Likewise.
545 * stmt.c (expand_end_case): Likewise.
546 * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
547 find any real instructions.
548
8f5a5db8
JJ
549 * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
550
feb265ab
JJ
551 * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
552 conditional jump, request updating life into for the block
553 containing it. Fix a typo which prevented life info update.
554 Clear blocks bitmap before using it.
555
f5e99456
NB
5562001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
557
558 * c-common.c: Include c-lex.h.
559 (c_common_lang_init): Change prototype. Call init_c_lex and
560 init_pragma from here.
561 * c-common.h (c_common_lang_init): Change prototype.
562 * c-decl.c (init_decl_processing): Rename. Call c_parse_init.
563 * c-lang.c (c_init): Change prototype. Update.
564 (c_init_options): Update.
565 * c-lex.c (cpp_filename): Remove.
566 (init_c_lex): Update. Read the main file, and get the original
567 file name.
568 (yyparse): Finish the command line options.
569 * c-parse.in (c_parse_init): Call init_reswords here.
570 (init_parse): Remove.
571 * c-tree.h (c_init_decl_processing): New.
572 * cpphash.c (_cpp_init_hashtable): After initializing the hash
573 table, populate it.
574 * cppinit.c (read_original_filename, cpp_finish_options): New.
575 (cpp_create_reader): New prototype. Defer hash table initialization.
576 (cpp_start_read): Rename cpp_read_main_file. Initialize the
577 hash table. Get the original filename.
578 * cpplib.h (cpp_create_reader): Update.
579 (cpp_start_read): Remove.
580 (cpp_read_main_file, cpp_finish_options): New.
581 * cppmain.c (main, do_preprocessing): Update.
582 * langhooks.h (struct langhooks): Update init prototype.
583 * toplev.c (general_init, parse_options_and_default_flags,
584 process_options, lang_indpendent_init, lang_dependent_init,
585 init_asm_output): New; perform the bulk of initialization.
586 (compile_file): Move most of initialization to above functions.
587 (debug_hooks): Initialize statically.
588 (set_Wunused): Relocate.
589 (toplev_main): Move most of initialization to other init functions.
590 Have a clear logic flow.
591 * tree.h (init_parse, init_decl_processing): Remove.
592objc:
593 * objc-act.c (objc_init): Update prototype, combine with old
594 init_parse.
595 (objc_init_options): Update.
596
597
00baba68
AJ
5982001-11-15 Andreas Jaeger <aj@suse.de>
599
600 * cfgrtl.c (purge_all_dead_edges): Use int as argument for
601 portability.
602 * basic-block.h: Adjust prototype.
603
82e41834
KH
6042001-11-15 Kazu Hirata <kazu@hxi.com>
605
606 * config/rs6000/aix31.h: Fix comment formatting.
607 * config/rs6000/beos.h: Likewise.
608 * config/rs6000/darwin.h: Likewise.
609 * config/rs6000/eabi.asm: Likewise.
610 * config/rs6000/linux.h: Likewise.
611 * config/rs6000/linux64.h: Likewise.
612 * config/rs6000/lynx.h: Likewise.
613 * config/rs6000/netbsd.h: Likewise.
614 * config/rs6000/rs6000.c: Likewise.
615 * config/rs6000/rs6000.h: Likewise.
616 * config/rs6000/rs6000.md: Likewise.
617 * config/rs6000/sol2.h: Likewise.
618 * config/rs6000/tramp.asm: Likewise.
619 * config/rs6000/xcoff.h: Likewise.
620 * config/rs6000/xm-beos.h: Likewise.
621
7a0f9993
AM
6222001-11-14 Alan Matsuoka <alanm@redhat.com>
623
00baba68 624 * rtl.def (INCLUDE) : Define.
7a0f9993
AM
625 * gensupport.c (init_include_reader, process_include,
626 save_string) : New functions to implement an include facility
627 in .md files.
00baba68 628 * gensupport.h : Add prototype for init_md_reader_args.
7a0f9993
AM
629 * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
630 genextract.c genflags.c genopinit.c genoutput.c
631 genpeep.c genrecog.c: Change call to init_md_reader to
632 init_md_reader_args.
633 * md.texi: Document (include "path") and -I directives for RTL
634 generation tools.
635
902197eb
DD
6362001-11-14 DJ Delorie <dj@redhat.com>
637
638 * integrate.c (get_hard_reg_initial_reg): New.
639 * integrate.h (get_hard_reg_initial_reg): Prototype.
640 * local-alloc.c (block_alloc): Don't tie pseudos that
641 represent call-saved hard regs' initial values.
642
9da85b16
KG
6432001-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
644
645 * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
646 recursion.
647
d59b3b67
RS
6482001-11-14 Roger Sayle <roger@eyesopen.com>
649
650 * fold-const.c (fold): Optimize strlen comparisons against zero.
651
0f7a7be7
DB
6522001-11-14 David O'Brien <obrien@FreeBSD.org>
653
654 * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
655 sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
656 sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
657 sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
658 sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
659 sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
660 sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
661 Include various CPU headers via tm_file. a.out based platforms now
662 properly include sparc/aout.h. sol2.h usage now implies including
663 elfos.h, svr4.h, and sparc/sysv4.h.
664 * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
665 Also define to '1'.
666 * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
667 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
668 DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
669 Remove. They are a.out specific and belong in sparc/aout.h.
670 * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
671 ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
672 DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from
673 sparc/sparc.h.
674 * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
675 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
676 Moved here from sparc/sparc.h.
677 * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
678 defining.
679 * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
680 * config/sparc/lynx.h: Don't include lynx.h.
681 (SELECT_SECTION): Do not undef.
682 * config/sparc/openbsd.h: Don't include sparc/sparc.h.
683 * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
684 and sparc/sysv4.h.
685 * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
686 * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from
687 sparc/aout.h now.
688 * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
689 Don't undef, there is no need.
690 * config/sparc/splet.h (CPP_PREDEFINES): Define.
691 * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
692 * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
693 Don't include sparc/sparc.h.
694 * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
695 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
696 DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include
697 elfos.h and svr4.h.
698 (TARGET_VERSION): Define.
699 * config/sparc/vxsim.h (TARGET_VERSION): Define.
700
49778644
JH
701Wed Nov 14 19:46:08 CET 2001 Jan Hubicka <jh@suse.cz>
702
703 * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
704 (cfg_layout_finalize): Use it.
705 * bb-reorder.c (HAVE_epilogue): Remove.
00baba68 706 (make_reorder_chain): Do not care special placement of
49778644
JH
707 last basic block.
708
709 * predict.c (expected_value_to_br_prob): Delete the note
710 once transformed.
711
712 * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
713 measure integration time separately.
714
b5c02bff
RK
715Wed Nov 14 12:30:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
716
717 * function.c (struct temp_slot): ALIGN now unsigned.
718
bf0e974b
KH
7192001-11-14 Kazu Hirata <kazu@hxi.com>
720
721 * config/dsp16xx/dsp16xx.c: Fix comment formatting.
722 * config/dsp16xx/dsp16xx.h: Likewise.
723 * config/dsp16xx/dsp16xx.md: Likewise.
724
a77b1dbc
KH
7252001-11-14 Kazu Hirata <kazu@hxi.com>
726
727 * config/h8300/h8300.c (get_shift_alg): Reorganize the code
728 that deals with 7-bit shifts in HImode.
729
49d801d3
JH
730Wed Nov 14 14:17:05 CET 2001 Jan Hubicka <jh@suse.cz>
731
732 * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
733 * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
734 (final_scan_insn): Update call of alter_subreg.
735 (cleanup_subreg_operands): Likewise.
736 (alter_subreg): Rewrite using simplify_subreg.
737 (output_address, output_operand): Update call of alter_subreg.
738 * output.h (alter_subreg): Update prototype.
739 * sdbout.c (sdbout_symbol): Update call of alter_subreg.
740 * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
741 * Makefile.in (final.o): Add depdendancy on expr.h
742
b1bba9c0
RK
743Wed Nov 14 06:37:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
744
745 * c-lang.c (finish_file): Make I unsigned to eliminate warning.
746
c6fa9728
JS
7472001-11-13 Jeff Sturm <jsturm@one-point.com>
748
749 * doc/install.texi (sparc-*-linux*): Mention requirements for
750 binutils and glibc.
751
77bd67cb
JM
7522001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
753
754 * Makefile.in (POD2MAN): Don't include --section=1.
755 (manext): Rename to man1ext. All users changed.
756 (man7ext): New.
757 (man7dir): New.
758 (generated-manpages): Also depend on $(docdir)/gfdl.7,
759 $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
760 ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
761 --section=1 in calls to $(POD2MAN).
762 ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
763 (maintainer-clean, install, uninstall): Handle the new man pages.
764 ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
765 (installdirs): Create man7dir.
766 * doc/cpp.texi: Include GFDL in this manual. In the man page,
767 refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover
768 texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in
769 the SEE ALSO man page section.
770 * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7)
771 and fsf-funding(7) in the SEE ALSO man page section.
772 * doc/invoke.texi: Apply GFDL to man page. Include gpl(7),
773 gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
774 * doc/include/fdl.texi, doc/include/funding.texi,
775 doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
776 * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
777
a8988448
RH
7782001-11-13 Richard Henderson <rth@redhat.com>
779
780 * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
781 as appropriate for the artificial decl.
782
7c380843
RH
7832001-11-13 Richard Henderson <rth@redhat.com>
784
785 * loop.c (combine_movables): Turn off combination until
786 move_movables validation bugs are fixed.
787
c19083d8
DD
7882001-11-13 DJ Delorie <dj@redhat.com>
789
790 * config.gcc (powerpc|rs6000): Set default cpp options based
791 on --with-cpu settings.
792 * config/rs6000/softfloat.h: New.
793
4a4ae922
KH
7942001-11-13 Kazu Hirata <kazu@hxi.com>
795
796 * config/h8300/h8300.c (shift_alg_si): Use special code for
797 25-bit shifts on H8/S.
798 (get_shift_alg): Generate special code for 25-bit shifts on
799 H8/S.
800
630036c6
JJ
8012001-11-13 Jakub Jelinek <jakub@redhat.com>
802
803 * emit-rtl.c (adjust_address_1): Add ADJUST argument.
804 (adjust_automodify_address_1): New.
805 * expr.h (adjust_address, adjust_address_nv): Adjust.
806 (adjust_automodify_address, adjust_automodify_address_nv): Define.
807 (adjust_address_1): Update prototype.
808 (adjust_automodify_address_1): Add prototype.
809 * expr.c (move_by_pieces_1): Use adjust_automodify_address.
810 (store_by_pieces_2): Likewise.
811
047cd3df
RK
812Tue Nov 13 05:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
813
1d974ca7
RK
814 * Makefile.in (explow.o): Now depends on ggc.h.
815 * explow.c (ggc.h): Include.
816 (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
817
818 * Makefile.in (expr.o): Depends on insn-attr.h.
819 * expr.c (insn-attr.h): New include.
820 (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
821 of MEM.
822 (highest_pow2_factor, case INTEGER_CST): Handle negative values.
823 (expand_expr): Remove unneeded mark_temp_addr_taken calls and
824 clean up related usage in ADDR_EXPR.
825 (expand_expr_unaligned): Likewise.
826
047cd3df
RK
827 * emit-rtl.c (change_address): Fix typo in alias setting.
828
9df9b76e
KG
8292001-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
830
831 * Makefile.in (cfgcleanup.o): Depend on insn-config.h
832
da4083c7
CR
8332001-11-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
834
835 PR bootstrap/3451
836 * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
837 GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
838
0f658c83
DB
8392001-11-12 David O'Brien <obrien@FreeBSD.org>
840
841 * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
842 sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
843 sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
844 sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
845 sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
846 sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
847 sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
848 sparc64-*-linux*): Include various CPU headers via tm_file.
849 * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
850 (SELECT_SECTION): Likewise.
851 (SELECT_RTX_SECTION): Likewise.
852 * config/sparc/sparc_bi.h: New file.
853 * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
854 * config/sparc/linux-aout.h: Likewise.
855 * config/sparc/linux.h: Don't include sparc/sysv4.h.
856 * config/sparc/linux64.h: Likewise.
857 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
858 * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h.
859 * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
860 and dbxcoff.h
861 (ASM_OUTPUT_IDENT): Do not #undef.
862 (SELECT_SECTION): Likewise.
863 (SELECT_RTX_SECTION): Likewise.
864 * config/sparc/liteelf.h: Don't include gofast.h.
865 * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
866 * config/sparc/lynx.h: Don't include sparc/sparc.h.
867 * config/sparc/pbd.h: Likewise.
868 * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
869 * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
870 * config/sparc/rtemself.h: Don't include rtems.h.
871 * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
872 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
873 sparc_bi.h instead.
874 * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
875 * config/sparc/sol2.h: Include sparc/sparc.h directly.
876 * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
877 * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
878 * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
879 * config/sparc/sp86x-elf.h: Don't include gofast.h.
880 * config/sparc/splet.h: Don't include sparc/aout.h.
881 * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
882 * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
883 * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
884 * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
885 * config/sparc/vxsparc64.h: Don't include gofast.h.
886 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
887
222bde43
JM
8882001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
889
890 * doc/standards.texi: Mention C99 TC1.
891
9b55553e
KG
8922001-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
893
894 * mips-protos.h (mips_output_conditional_branch): Const-ify.
895 * mips.c (mips_output_conditional_branch): Likewise.
896
dd69e230
KH
8972001-11-12 Kazu Hirata <kazu@hxi.com>
898
899 * config/h8300/h8300.c (shift_alg_si): Use special code for
900 15-bit logical shifts and 31-bit logical shifts.
901 (get_shift_alg): Generate special code for 15-bit and 31-bit
902 logical shifts.
903
e0f19bd0
KH
9042001-11-12 Kazu Hirata <kazu@hxi.com>
905
906 * config/h8300/h8300.c (shift_alg_qi): Use rotations when
907 doing 6-bit logical shifts on H8/S.
908 (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
909 (get_shift_alg): Generate special code for 21-bit shifts on
910 H8/S.
911
692b7eb3
KH
9122001-11-12 Kazu Hirata <kazu@hxi.com>
913
914 * config/h8300/h8300.c (get_shift_alg): Remove a redundant
915 label.
916
0af5bc3e
RK
917Mon Nov 12 11:58:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
918
919 * alias.c (nonoverlapping_memrefs_p): Only update size from memref
920 if both size and offset known.
921
c6890454
DB
9222001-11-12 David O'Brien <obrien@FreeBSD.org>
923
924 * config/ia64/freebsd.h: Fix misspelling.
925
73a8ed7e
JM
9262001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
927
928 * doc/gcc.texi: Move several chapters out to ...
929 * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
930 doc/include/linux-and-gnu.texi, doc/interface.texi,
931 doc/makefile.texi, doc/passes.texi, doc/portability.texi:
932 ... here. New files.
933 * doc/gcc.texi, doc/contrib.texi: Move section headings into
934 contrib.texi.
935 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
936
285a5742
KH
9372001-11-12 Kazu Hirata <kazu@hxi.com>
938
939 * config/alpha/alpha-interix.h: Fix comment formatting.
940 * config/alpha/alpha.c: Likewise.
941 * config/alpha/alpha.h: Likewise.
942 * config/alpha/alpha32.h: Likewise.
943 * config/alpha/freebsd.h: Likewise.
944 * config/alpha/unicosmk.h: Likewise.
945 * config/alpha/vms.h: Likewise.
946
96eaf358
KH
9472001-11-12 Kazu Hirata <kazu@hxi.com>
948
949 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
950
e9716dc5
JJ
9512001-11-12 Jakub Jelinek <jakub@redhat.com>
952
953 * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
954 numbers.
955
1edcd60b
RK
956Mon Nov 12 05:18:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
957
40c0668b
RK
958 * emit-rtl.c (set_mem_attributes): If making object, can set alignment
959 from type.
960 (replace_equiv_address): Call update_temp_slot_address.
961
749552c4
RK
962 * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
963
1edcd60b
RK
964 * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
965
769828ab
KH
9662001-11-12 Kazu Hirata <kazu@hxi.com>
967
968 * config/h8300/h8300.c (shift_alg_qi): New.
969 (shift_alg_hi): Likewise.
970 (shift_alg_si): Likewise.
971 (get_shift_alg): Change the type of count to unsigned int.
972 Use the tables.
973
8b0e9a72
AO
9742001-11-11 Alexandre Oliva <aoliva@redhat.com>
975
976 * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
977 * c-decl.c (c_expand_body): Take argument can_defer_p. Use it
978 to decide whether to defer a function.
979 (finish_function): Adjust.
980 (c_expand_deferred_function): New function.
981 * c-lang.c (deferred_fns): New variable.
982 (c_init): Initialize it, and mark it as a root.
983 (defer_fn): New function.
984 (finish_file): Expand all deferred functions.
985 * c-tree.h (defer_fn): Declare.
986 (c_expand_deferred_function): Likewise.
987 * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
988 * objc-act.c (deferred_fns): New variable.
989 (objc_init): Initialize it, and mark it as a root.
990 (defer_fn): New function.
991 (finish_file): Expand all deferred functions.
992
950a3816
KG
9932001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
994
995 * alpha.c (unicosmk_special_name): Prototype.
996 (unicosmk_ssib_name): Delete unused variable.
997 * alpha/unicosmk.h (common_section, ssib_section): Prototype.
998 * alpha/vms.h (PREFIX): Undef before defining.
999 * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
1000 * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
1001 controlling usage. Const-ify.
1002 (alias_number): Delete unused variable.
1003 * m32r/m32r.c (m32r_sched_init): Add missing argument.
1004 (m32r_expand_block_move): Fix uninitialized warnings.
1005 * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
1006 always true' warnings.
1007 * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
1008 * sh/sh.c: Include "integrate.h".
1009 (output_far_jump): Fix uninitialized warning.
1010 * final.c (shorten_branches): Avoid automatic aggregate
1011 initialization.
1012 * integrate.c (subst_constants): Likewise.
1013
0c50ee73
KH
10142001-11-11 Kazu Hirata <kazu@hxi.com>
1015
1016 * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
1017 (get_shift_alg): Remove redundant code.
1018
fe19a83d
KH
10192001-11-11 Kazu Hirata <kazu@hxi.com>
1020
1021 * config/pa/milli64.S: Fix comment formatting.
1022 * config/pa/pa-64.h: Likewise.
1023 * config/pa/pa-linux.h: Likewise.
1024 * config/pa/pa-protos.h: Likewise.
1025 * config/pa/pa.c: Likewise.
1026 * config/pa/pa.h: Likewise.
1027 * config/pa/pa32-linux.h: Likewise.
1028 * config/pa/pa32-regs.h: Likewise.
1029 * config/pa/pa64-hpux.h: Likewise.
1030 * config/pa/pa64-regs.h: Likewise.
1031 * config/pa/som.h: Likewise.
1032
b64a6a11
JM
10332001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
1034
1035 * doc/gcc.texi: Move several chapters out to ...
1036 * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
1037 doc/service.texi, doc/standards.texi, doc/trouble.texi,
1038 doc/vms.texi: ... here. New files.
1039 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1040
eaec9b3d
JM
10412001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
1042
1043 * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
1044 cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
1045 collect2.c, combine.c, config.in, configure, configure.in,
1046 conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
1047 genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
1048 reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
1049 spelling errors.
1050
d746694a
RK
1051Sun Nov 11 05:56:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1052
592bf28c
RK
1053 * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
1054 Adjust operand number in CONST_DOUBLE.
1055
04050c69
RK
1056 * expmed.c (extract_bit_field): No longer pass in alignment.
1057 (extract_fixed_bit_field, extract_split_bit_field): Likewise.
1058 (store_bit_field, store_fixed_bit_field, store_split_bit_field):
1059 Likewise.
1060 * expr.c (store_constructor, store_constructor_field): Likewise.
1061 (store_field, emit_group_load, emit_group_store): Likewise.
1062 * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
1063 (store_bit_field, extract_bit_field): Likewise.
1064 * calls.c, expr.c, function.c: Change calls to above functions.
1065 * ifcvt.c, stmt.c: Likewise.
00baba68 1066
d746694a
RK
1067 * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
1068 constant and one is on frame.
1069 If know memref offset, adjust size from decl.
1070
e59f7d3d
KG
10712001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1072
1073 * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
1074 format specifier warning.
1075 * convex.h (ASM_OUTPUT_BYTE): Likewise.
1076 * elfos.h (ALIGN_ASM_OP): Undef before defining.
1077 * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1078 warning.
1079 * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1080 * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1081 * i386-interix.h (gen_stdcall_suffix): Prototype.
1082 * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1083 * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1084 ASM_OUTPUT_LONG_DOUBLE): Likewise.
1085 * i386/interix.c (gen_stdcall_suffix): Const-ify.
1086 * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1087 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
1088 specifier warnings.
1089 * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1090 * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1091 ASM_OUTPUT_LONG_DOUBLE): Likewise.
1092 * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1093 * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1094 * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1095 * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1096 * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1097 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1098 * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1099 * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1100 Likewise.
1101 * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1102 Likewise.
1103 * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
1104 * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1105 ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
1106 Likewise.
1107 * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
1108 Likewise.
1109 * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1110 Likewise.
1111 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
1112 * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1113 * m68k/news.h (PRINT_OPERAND): Likewise.
1114 * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1115 ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1116 * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1117 * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
1118 definition.
1119 * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1120 ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
1121 ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
1122 * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1123 * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
1124 ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
1125 PRINT_OPERAND): Likewise.
1126 * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1127 Likewise.
1128 * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1129 * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1130 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
1131 * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1132 * mips.c (mips_output_external_libcall): Mark parameter with
1133 ATTRIBUTE_UNUSED.
1134 (mips_asm_file_start): Move variable into the scope where it's
1135 used.
1136 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
1137 * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1138 * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
1139 * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1140 * ns32k.c (print_operand): Likewise.
1141 * pa.c (print_operand, output_div_insn): Likewise.
1142 * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
1143 ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
1144 * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
1145 * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1146 specifier warnings.
1147 * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1148 * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1149 (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
1150 * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1151 specifier warnings.
1152 * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1153
1154 * sdbout.c (sdbout_end_epilogue): Mark parameter with
1155 ATTRIBUTE_UNUSED.
1156 * varasm.c (assemble_global): Likewise.
1157
3e619f14
L
11582001-11-11 H.J. Lu <hjl@gnu.org>
1159
1160 * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
1161
2cca7283
JH
1162Sun Nov 11 01:26:00 CET 2001 Jan Hubicka <jh@suse.cz>
1163
1164 * final.c (*_MAX_SKIP): Use *_max_skip variables.
1165 * flags.h (align_loops_max_skip, align_jumps_max_skip,
1166 align_labels_max_skip): New global variables.
1167 * toplev.c (align_loops_max_skip, align_jumps_max_skip,
1168 align_labels_max_skip): New global variables.
1169 (toplev_main): Set new variables.
1170 * i386.c (override_options): Set max_skip values.
1171
2f0b7af6
GK
11722001-11-10 Geoffrey Keating <geoffk@redhat.com>
1173
1174 * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1175 * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1176 * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1177 don't print an @fptr for labels either.
1178 (xstormy16_output_addr_vec): Don't print @fptr here.
1179 * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1180
2c1ed626
JL
1181Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com)
1182
1183 * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1184 an ANSI/ISO definitino.
1185 (ssa_const_prop): Likewise.
1186
0cd5e3a1
AH
11872001-11-10 Aldy Hernandez <aldyh@redhat.com>
1188
1189 * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1190 altivec registers.
1191
57870f8a
KG
11922001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1193
9e1ac915
KG
1194 * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1195 * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1196 * cppmain.c (general_init): Call hex_init.
57e9b915 1197 * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
9e1ac915 1198
57870f8a
KG
1199 * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1200
1201 * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1202 of dgux.c:output_file_start().
1203
1204 * i386/dgux.c: Delete file.
1205
62918bd3
RH
12062001-11-09 Richard Henderson <rth@redhat.com>
1207
1208 * config/alpha/alpha.c (decl_in_text_section): New.
1209 (current_file_function_operand): Use it.
1210 (alpha_encode_section_info, alpha_end_function): Likewise.
1211
243a7070
DB
12122001-11-07 David O'Brien <obrien@FreeBSD.org>
1213
1214 * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1215 * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1216 they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1217 so OS specific files and use CPP_PREDEFINES for their needs.
1218 * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of
1219 target headers to tm_file.
1220 * config/ia64/aix.h (TARGET_VERSION): Likewise.
1221 * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1222 * config/ia64/linux.h (TARGET_VERSION): Likewise.
1223 (FUNCTION_PROFILER): Remove.
1224 * config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
1225 version in config/ia64/linux.h.
1226 * config/ia64/freebsd.h: New file.
1227 * config/freebsd.h: Tidy up.
1228 (_USING_CONFIG_FREEBSD): Define.
1229 (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
1230 (FBSD_CPP_SPEC): Define generic FreeBSD spec.
1231 (FBSD_STARTFILE_SPEC): Likewise.
1232 (FBSD_ENDFILE_SPEC): Likewise.
1233 (FBSD_LIB_SPEC): Likewise.
1234 (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
1235 (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
1236 set an ELF-improper one.
1237
b8e42321
JDA
12382001-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
1239
1240 * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
1241 constant can be loaded in a single instruction to a register. When
1242 loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use
1243 depdi for insertion of most significant 32-bits on 64-bit hosts.
1244 * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
1245 with ldil/ldo/depdi instruction sequence on 64-bit hosts.
1246 * pa.md: New addmove pattern for adding constant_int to HImode
1247 register and moving result to HImode register. Remove HImode HIGH
1248 and LO_SUM patterns.
1249
5d69f816
NB
12502001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1251
1252 * Makefile.in: Update.
1253 * c-decl.c (print_lang_decl, print_lang_type): Remove.
1254 (print_lang_identifier): Rename c_print_identifier.
1255 * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1256 (print_lang_statistics, lang_print_xnode): Remove.
1257 * c-parse.in (set_yydebug): Rename c_set_yydebug.
1258 * c-tree.h (c_set_yydebug, c_print_identifier): New.
1259 * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
1260 LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
1261 LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
1262 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1263 (LANG_HOOKS_INITIALIZER): Update.
1264 * langhooks.h (struct lang_hooks): New members.
1265 (lang_print_tree_hook): New.
1266 * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
1267 * print-tree.c: Include langhooks.h.
1268 (print_node): Update.
1269 * toplev.c (decode_d_option): Update.
1270 * tree.c: Include langhooks.h.
1271 (dump_tree_statistics): Update.
1272 * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
1273 print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
1274objc:
1275 * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
1276 LANG_HOOKS_SET_YYDEBUG): Override.
1277 (lang_print_xnode, print_lang_statistics): Remove.
1278
1ee9fb20
RH
12792001-11-09 Richard Henderson <rth@redhat.com>
1280
1281 * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
1282 on the symbol string.
1283
137bb46a
KG
12842001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1285
1e5cf796
KG
1286 * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
1287 ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
1288 * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
1289
137bb46a
KG
1290 * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
1291
1292 * tlink.c (recompile_files): Copy strings passed to `putenv'.
1293
4192f0d2
GK
12942001-11-09 Geoffrey Keating <geoffk@redhat.com>
1295
50e9f73a
GK
1296 * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
1297 (TYPE_READONLY): Likewise.
1298
ff6051b7
GK
1299 * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
1300
322fe6e1
GK
1301 * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
1302 don't pass --gdwarf2 to the assembler if the compiler will also
1303 provide debug info.
1304
00baba68 1305 * config/stormy16/stormy16.c (xstormy16_expand_casesi):
4192f0d2
GK
1306 Don't change INDEX.
1307
9ddfb1a7
RK
1308Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1309
a4311dfe
RK
1310 * alias.c (nonoverlapping_memrefs_p): New function.
1311 (true_dependence, canon_true_depenence, write_dependence_p): Call it.
1312
9ddfb1a7
RK
1313 * emit-rtl.c (set_mem_attributes): Get alignments for constants.
1314
2473ee11
AH
13152001-11-09 Aldy Hernandez <aldyh@redhat.com>
1316
1317 * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
1318 (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
1319 generating altivec code.
1320 (FIXED_REGISTERS): VRSAVE is fixed.
1321 (CALL_USED_REGISTERS): VRSAVE is call used.
1322
1ee9fb20 13232001-11-09 Jason Eckhardt <jle@rice.edu>
53c12e8d
JE
1324
1325 * config/mips/mips.c (mips_output_conditional_branch): Do not hard
1326 code the branch target as ".+16/.+12", but rather use labels.
1327
512672fd
JL
1328Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
1329
00baba68 1330 * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
9db5bf71
JL
1331 to work around limitations of certain versions of GAS.
1332
512672fd
JL
1333 * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
1334 (muldi3): Update due to SUBREG_BYTE changes.
1335 (casesi): Similarly.
1336
2e7bb36b
ZW
13372001-11-09 Zack Weinberg <zack@codesourcery.com>
1338
1339 * doc/invoke.texi: Remove comment referring to -xf77-version.
1340
cde34caf
KH
13412001-11-09 Kazu Hirata <kazu@hxi.com>
1342
1343 * config/convex/convex.c: Fix comment formatting.
1344 * config/convex/convex.h: Likewise.
1345
359cd11e
ZW
13462001-11-08 Zack Weinberg <zack@codesourcery.com>
1347
1348 * Makefile.in (.po.pox): Look both in srcdir and builddir
1349 for $(PACKAGE).pot.
1350 (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
1351 to the source directory.
1352
de41e41c
BE
13532001-11-09 Ben Elliston <bje@redhat.com>
1354 Michael Meissner <meissner@redhat.com>
1355 Andrew MacLeod <amacleod@redhat.com>
1356 Richard Henderson <rth@redhat.com>
1357 Nick Clifton <nickc@redhat.com>
1358 Catherine Moore <clm@redhat.com>
1359
1360 * m32r.c: Add support for m32rx processor.
1361 * m32r.h: Ditto.
1362 * m32r.md: Ditto.
1363 * t-m32r: Ditto.
1364 * m32r-protos.h: Add prototypes for m32rx functions.
1365 * doc/invoke.texi: Document -m32rx option.
1366
a3d87e92
JJ
13672001-11-09 Jakub Jelinek <jakub@redhat.com>
1368
1369 * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
1370 or after reload.
1371
7ade1c9c
GP
13722001-11-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1373
1374 * doc/install.texi2html: Use $MAKEINFO --no-split.
1375
66e918e5
AS
13762001-11-09 Andreas Schwab <schwab@suse.de>
1377
1378 * Makefile.in ($(HOST_PREFIX_1)rtl.o,
1379 $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
00baba68 1380 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
66e918e5
AS
1381 $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
1382 $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
1383
2aae2cc7
L
13842001-11-09 H.J. Lu <hjl@gnu.org>
1385
1386 * config/mips/mips.c (mips_output_function_prologues): Cast
1387 `tsize' to long for output.
1388
3ac88239
NB
13892001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1390
1391 * c-lang.c (LANG_HOOKS_NAME): New.
1392 (lang_hooks): Constify.
1393 (c_init_options): Update.
1394 (lang_identify): Remove.
1395 * c-parse.in (language_string): Remove.
1396 * dbxout.c: Include langhooks.h.
1397 (dbxout_symbol_location): Update.
1398 * dwarf2out.c: Include langhooks.h.
1399 (gen_compile_unit_die): Update.
1400 * dwarfout.c: Include langhooks.h.
1401 (prototyped_attribute, output_compile_unit_die): Update.
1402 * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
1403 (LANG_HOOKS_INITIALIZER): Update.
1404 * langhooks.h (struct lang_hooks): New members. Constify.
1405 * stringpool.c: Don't include toplev.h.
1406 (set_identifier_size): Remove.
1407 * toplev.c (toplev_main): Initialize identifier size.
1408 (print_version): Update.
1409 * tree.h (language_string, init_lex, lang_identify,
1410 set_identifier_size): Remove.
1411 * Makefile.in: Update dependencies.
1412 * config/darwin.c: Include langhooks.h.
1413 (func_name_maybe_scoped): Update.
1414 * config/darwin.h (ASM_END_FILE): Update.
1415 * config/nextstep.h (ASM_END_FILE): Update.
1416 * config/nextstep21.h (ASM_END_FILE): Update.
1417 * config/i386/sun386.h (ASM_END_FILE): Update.
1418 * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
1419 (rs6000_output_function_epilogue): Update.
1420objc:
1421 * objc-act.c (LANG_HOOKS_NAME): Override.
1422 (struct lang_hooks): Constify.
1423 (objc_init_options): Update.
1424 (lang_identify): Remove.
1425
11b161d0
JW
1426Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
1427
1428 * fold-const.c (lshift_double): Honor PREC.
1429 (rshift_double): Likewise.
1430
702020d6
KH
14312001-11-08 Kazu Hirata <kazu@hxi.com>
1432
1433 * config/1750a/1750a.c: Fix comment formatting.
1434 * config/1750a/1750a.h: Likewise.
1435
cc9a08e0
PE
14362001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
1437
1438 * configure.in (--enable-languages): Be more permissive about
1439 syntax. Check for empty lists better. Warn about $LANGUAGES.
1440 * configure: Regenerated.
1441
aa1c9d38
RH
14422001-11-08 Richard Henderson <rth@redhat.com>
1443
1444 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
1445
c6243b4c
GK
14462001-11-08 Geoffrey Keating <geoffk@redhat.com>
1447
1448 * config.gcc: Rename stormy16 to xstormy16.
1449 * config/stormy16/stormy-abi: Likewise.
1450 * config/stormy16/stormy16-protos.h: Likewise.
1451 * config/stormy16/stormy16.c: Likewise.
1452 * config/stormy16/stormy16.h: Likewise.
1453 * config/stormy16/stormy16.md: Likewise.
1454
14552001-11-06 Geoffrey Keating <geoffk@redhat.com>
1456
1457 * tree.h (TYPE_VOLATILE): Add enable-checking code.
1458 (TYPE_READONLY): Likewise.
1459
66c60e67
RK
1460Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1461
78571511
RK
1462 * reload1.c (reload): Don't delete equiv insn if can throw.
1463
66c60e67
RK
1464 * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
1465 (clear_storage): Likewise, for OBJECT.
1466
99a2782c
JL
1467Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
1468
1469 * pa.c (emit_move_sequence): Fix SUBREG expression to
1470 use proper byte offset when extending a constant from
1471 SImode to DImode.
1472
89753b3a
JJ
14732001-11-09 Jakub Jelinek <jakub@redhat.com>
1474
1475 * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
1476 which cannot throw.
1477
6608bd4d
RK
1478Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1479
1480 * explow.c (convert_memory_address, case SUBREG): Only return
1481 inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
1482
f098ead2
RH
14832001-11-08 Richard Henderson <rth@redhat.com>
1484
1485 * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
1486 (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
1487 (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
1488
775db490
AH
14892001-11-08 Aldy Hernandez <aldyh@redhat.com>
1490
1491 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
1492
9eb4015a
JJ
14932001-11-08 Jakub Jelinek <jakub@redhat.com>
1494
1495 * dwarf2out.c (debug_str_hash): New.
1496 (struct indirect_string_node): New.
1497 (struct dw_val_struct): Change type of val_str to it.
1498 (DEBUG_STR_SECTION_FLAGS): Define.
1499 (add_AT_string): Push string into hashtable, increment reference
1500 counter.
1501 (AT_string): Return string from ht_identifier.
1502 (AT_string_form): New.
1503 (free_AT): For dw_val_class_str, just decrement reference counter.
1504 (size_of_string): Remove.
1505 (size_of_die): Use AT_string_form to decide what size the string
1506 occupies in DIE.
1507 (size_of_pubnames): Use strlen instead of size_of_string.
1508 (value_format): Use AT_string_form for dw_val_class_str.
1509 (output_die): Output DW_FORM_strp strings using
1510 dw2_asm_output_offset.
1511 (indirect_string_alloc, output_indirect_string): New.
1512 (dwarf2out_finish): Emit .debug_str strings if there are any.
1513
b21d216c
AF
15142001-11-08 Andreas Franck <afranck@gmx.de>
1515
1516 * configure.in: Add AC_ARG_PROGRAM to support program name
1517 transformation with --program-prefix, --program-suffix and
1518 --program-transform-name.
1519 * configure: Regenerated.
1520 * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
1521 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
1522 GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
1523 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
1524 program_transform_name the way suggested by autoconf.
1525 (GCC_TARGET_INSTALL_NAME): Define.
1526 (install-driver): Use the transformed target alias name.
1527
c8a14e0e
RH
15282001-11-08 Richard Henderson <rth@redhat.com>
1529
1530 * config/mips/mips.c (save_restore_insns): Remove GP from the
1531 restore registers mask early instead of special casing it inside
1532 the loop.
1533
8ac9ea61
NB
15342001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
1535
1536 * cp/decl.c (shadow_warning): New function.
1537 (pushdecl): Improve -Wshadow warnings. Don't give both a warning
1538 and an error when a block scope decl shadows a parameter.
1539
86724f7f
RH
15402001-11-08 Richard Henderson <rth@redhat.com>
1541
1542 * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
1543 case as well.
1544
8270e11f
JDA
15452001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
1546
1547 * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
1548 to implement floating negation on processors prior to PA 2.0.
1549
d6d26764
JJ
15502001-11-08 Jakub Jelinek <jakub@redhat.com>
1551
1552 * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
1553 (USE_LINKONCE_INDIRECT): Define.
1554 (dw2_output_indirect_constant_1): Try to output indirect constants
1555 into linkonce sections if possible.
1556 (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
1557 (dw2_output_indirect_constants): Likewise.
1558
58568475
AH
15592001-11-07 Aldy Hernandez <aldyh@redhat.com>
1560
1561 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
1562
2916c085
NB
15632001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
1564
1565 * c-decl.c (pushdecl): Remove file and line.
1566 * c-typeck.c (pop_init_level): Remove size.
1567
83c6af99
AH
15682001-11-07 Aldy Hernandez <aldyh@redhat.com>
1569
1570 * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
1571 for rs6000.
1572
1573 * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
1574 (TARGET_ALTIVEC): New.
1575 (TARGET_SWITCHES): Add altivec.
1576 (FIRST_PSEUDO_REGISTER): Change to 109.
1577 (CALL_USED_REGISTERS): Same.
1578 (FIRST_ALTIVEC_REGNO): New.
1579 (LAST_ALTIVEC_REGNO): New.
1580 (ALTIVEC_REGNO_P): New.
1581 (UNITS_PER_ALTIVEC_WORD): New.
1582 (ALTIVEC_VECTOR_MODE): New.
1583 (FIXED_REGISTERS): Add altivec registers.
1584 (REG_ALLOC_ORDER): Same.
1585 (HARD_REGNO_NREGS): Adjust for altivec registers.
1586 (HARD_REGNO_MODE_OK): Same.
1587 (MODES_TIEABLE_P): Same.
1588 (REGISTER_MOVE_COST): Same.
1589 (REGNO_REG_CLASS): Same.
1590 (reg_class): Add ALTIVEC_REGS.
1591 (REG_CLASS_NAMES): Same.
1592 (REG_CLASS_CONTENTS): Same.
1593 (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
1594 (ALTIVEC_ARG_RETURN): New.
1595 (FUNCTION_VALUE): Handle VECTOR_TYPE.
1596 (LIBCALL_VALUE): Handle altivec vector modes.
1597 (VECTOR_MODE_SUPPORTED_P): New.
1598 (ALTIVEC_ARG_MIN_REG): New.
1599 (ALTIVEC_ARG_MAX_REG): New.
1600 (ALTIVEC_ARG_NUM_REG): New.
1601 (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
1602 (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
1603 (REGISTER_NAMES): Add altivec regs.
1604 (DEBUG_REGISTER_NAMES): Same.
1605 (ADDITIONAL_REGISTER_NAMES): Same.
1606 (rs6000_builtins): New.
1607 (MD_EXPAND_BUILTIN): New.
1608 (MD_INIT_BUILTINS): New.
1609 (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
1610 for AltiVec instructions.
1611 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1612 (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
1613 registers.
1614 (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
1615 (TARGET_SWITCHES): Add no-altivec.
1616 (DATA_ALIGNMENT): Align vectors to 128 bits.
1617 (TARGET_OPTIONS): Add abi= option.
1618 Add rs6000_abi_string extern.
1619 (LOCAL_ALIGNMENT): New.
1620 (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
1621 (MASK_ALTIVEC_ABI): New.
1622 (TARGET_ALTIVEC_ABI): New.
1623 (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
1624 call-saved.
1625 (STACK_BOUNDARY): Adjust for altivec.
1626 (BIGGEST_ALIGNMENT): Same.
1627 (rs6000_args): Add vregno.
1628 (USE_ALTIVEC_FOR_ARG_P): New.
1629 (FIXED_REGISTERS): Add vrsave register.
1630 (CALL_USED_REGISTERS): Same.
1631 (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
1632 (VRSAVE_REGNO): New.
1633 (reg_class): Add VRSAVE_REGS.
1634 (REG_CLASS_NAMES): Same.
1635 (REG_CLASS_CONTENTS): Same.
1636 (REGNO_REG_CLASS): Same.
00baba68 1637
83c6af99
AH
1638 * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
1639 (ABI_STACK_BOUNDARY): Same.
1640 (BIGGEST_ALIGNMENT): Same.
1641 (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
1642 (ROUND_TYPE_ALIGN): Same.
00baba68 1643
83c6af99 1644 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
216caa2b
AH
1645 to 64.
1646
1647 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1648 to 64.
1649
1650 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
83c6af99
AH
1651 to 64.
1652
1653 * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
1654 (altivec_expand_builtin): New.
1655 (altivec_init_builtins): New.
1656 (TARGET_EXPAND_BUILTIN): New.
1657 (TARGET_INIT_BUILTINS): New.
1658 (rs6000_init_builtins): New.
1659 (struct builtin_description): New.
1660 (bdesc_2arg): New.
1661 (rs6000_reg_names): Add altivec registers.
1662 (alt_reg_names): Same.
1663 (secondary_reload_class): Altivec regs can hold altivec regs and
1664 memory.
1665 (rs6000_emit_move): Force constants into memory for AltiVec moves.
1666 (print_operand): Add 'y' case for printing altivec memory
1667 operands.
1668 (rs6000_legitimize_address): Legitimize vector addresses into
1669 [REG+REG] or [REG].
1670 (altivec_expand_binop_builtin): New.
1671 New string rs6000_current_abi.
1672 (rs6000_override_options): Call rs6000_parse_abi_options.
1673 (rs6000_parse_abi_options): New.
1674 (function_arg_boundary): Vector arguments must be 16
1675 byte aligned.
1676 (function_arg_advance): Handle vector arguments.
1677 (function_arg_partial_nregs): Same.
1678 (init_cumulative_args): Same.
1679 (function_arg): Same.
1680
1681 * config/rs6000/rs6000.md (altivec_lvx): New.
1682 (type): Add altivec attribute.
1683 (movv4si): New.
1684 (*movv4si_internal): New.
1685 (movv16qi): New.
1686 (*movv16qi_internal): New.
1687 (movv8hi): New.
1688 (*movv8hi_internal1): New.
1689 (movv4sf): New.
1690 (*movv4sf_internal1): New.
1691 (altivec_stvx): New.
1692 (vaddubm): New.
1693 (vadduhm): New.
1694 (vadduwm): New.
1695 (vaddfp): New.
1696 (vaddcuw): New.
1697 (vaddubs): New.
1698 (vaddsbs): New.
1699 (vadduhs): New.
1700 (vaddshs): New.
1701 (vadduws): New.
1702 (vaddsws): New.
1703 (vand): New.
1704 (vandc): New.
1705 (vavgub): New.
1706 (vavgsb): New.
1707 (vavguh): New.
1708 (vavgsh): New.
1709 (vavguw): New.
1710 (vavgsw): New.
1711 (vcmpbfp): New.
1712 (vcmpequb): New.
1713 (vcmpequh): New.
1714 (vcmpequw): New.
1715 (vcmpeqfp): New.
1716 (vcmpgefp): New.
1717 (vcmpgtub): New.
1718 (vcmpgtsb): New.
1719 (vcmpgtuh): New.
1720 (vcmpgtsh): New.
1721 (vcmpgtuw): New.
1722 (vcmpgtsw): New.
1723 (vcmpgtfp): New.
1724 (vcmpgefp): New.
1725 (vcmpgtub): New.
1726 (vcmpgtsb): New.
1727 (vcmpgtuh): New.
1728 (vcmpgtsh): New.
1729 (vcmpgtuw): New.
1730 (vcmpgtsw): New.
1731 (vcmpgtfp): New.
1732 (vmaxub): New.
1733 (vmaxsb): New.
1734 (vmaxuh): New.
1735 (vmaxsh): New.
1736 (vmaxuw): New.
1737 (vmaxsw): New.
1738 (vmaxfp): New.
1739 (vmrghb): New.
1740 (vmrghh): New.
1741 (vmrghw): New.
1742 (vmrglb): New.
1743 (vmrglh): New.
1744 (vmrglw): New.
1745 (vminub): New.
1746 (vminsb): New.
1747 (vminuh): New.
1748 (vminsh): New.
1749 (vminuw): New.
1750 (vminsw): New.
1751 (vminfp): New.
1752 (vmuleub): New.
1753 (vmulesb): New.
1754 (vmuleuh): New.
1755 (vmulesh): New.
1756 (vmuloub): New.
1757 (vmulosb): New.
1758 (vmulouh): New.
1759 (vmulosh): New.
1760 (vnor): New.
1761 (vor): New.
1762 (vpkuhum): New.
1763 (vpkuwum): New.
1764 (vpkpx): New.
1765 (vpkuhss): New.
1766 (vpkshss): New.
1767 (vpkuwss): New.
1768 (vpkswss): New.
1769 (vpkuhus): New.
1770 (vpkshus): New.
1771 (vpkuwus): New.
1772 (vpkswus): New.
1773 (vrlb): New.
1774 (vrlh): New.
1775 (vrlw): New.
1776 (vslb): New.
1777 (vslh): New.
1778 (vslw): New.
1779 (vsl): New.
1780 (vslo): New.
1781 (vsrb): New.
1782 (vrsh): New.
1783 (vrsw): New.
1784 (vsrab): New.
1785 (vsrah): New.
1786 (vsraw): New.
1787 (vsr): New.
1788 (vsro): New.
1789 (vsububm): New.
1790 (vsubuhm): New.
1791 (vsubuwm): New.
1792 (vsubfp): New.
1793 (vsubcuw): New.
1794 (vsububs): New.
1795 (vsubsbs): New.
1796 (vsubuhs): New.
1797 (vsubshs): New.
1798 (vsubuws): New.
1799 (vsubsws): New.
1800 (vsum4ubs): New.
1801 (vsum4sbs): New.
1802 (vsum4shs): New.
1803 (vsum2sws): New.
1804 (vsumsws): New.
1805 (vxor): New.
1806
2a6f0eca
DB
18072001-11-07 Daniel Berlin <dan@cgsoftware.com>
1808
1809 * Makefile.in (df.o): Add fibheap.h to dependencies.
00baba68 1810
2a6f0eca
DB
1811 * df.h: Add prototypes for transfer functions, iterative_dataflow
1812 functions.
1813 (enum df_flow_dir): New enum.
1814 (enum df_confluence_op): New enum.
1815 (struct df): Add inverse_rts_map.
1816
1817 * df.c: Add sbitmap.h to the list of includes.
1818 (df_rd_global_compute): Removed.
1819 (df_ru_global_compute): Removed.
1820 (df_lr_global_compute): Removed.
1821 (df_rd_transfer_function): New function.
1822 (df_ru_transfer_function): New function.
1823 (df_lr_transfer_function): New function.
1824 (df_analyse_1): allocate/compute/free df->inverse_rts_map.
1825 Use iterative_dataflow_bitmap instead of df_*_global_compute.
1826 (iterative_dataflow_sbitmap): New function.
1827 (iterative_dataflow_bitmap): New function.
1828
526ca58c
JM
18292001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
1830
1831 * doc/gcc.texi: Move terminology and spelling conventions to
1832 htdocs/codingconventions.html.
1833
8fb1e50e
GS
18342001-11-07 Graham Stott <grahams@redhat.com>
1835
1836 * cse.c (cse_insn): Emit BARRIER after unconditional jump.
1837
b972dd02
JH
1838Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
1839
1840 * expmed.c (expand_mult): Force operand to register before computing
1841 cost.
1842 * i386.c (x86_decompose_lea): New global vairable.
1843 * i386.h (x86_decompose_lea): Declare.
1844 (TARGET_DECOMPOSE_LEA): New macro.
1845 (RTX_COST): Handle leas properly.
1846
0d3f10e5
RH
18472001-11-06 Richard Henderson <rth@redhat.com>
1848
1849 * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
1850 defined for a CONSTRUCTOR; don't check it.
1851
4c259acf
DS
18522001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
1853
1854 * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
1855 test for absolute pathnames.
1856
90f4c415
OH
18572001-11-06 Olivier Hainque <hainque@act-europe.fr>
1858
1859 * unwind-dw2.c (execute_cfa_program): Evaluate call frame
1860 instructions up to the target pc inclusive.
1861
bc532bf7
SC
18622001-11-06 Steve Christiansen <smc@us.ibm.com>
1863
1864 * loop.c (loop_regs_scan): Don't invalidate PIC register.
1865
e0e00329
EC
18662001-11-06 Eric Christopher <echristo@redhat.com>
1867
1868 * config/mips/mips.md(movdf_internal2): Add constraints for float
1869 to general register move.
1870 * config/mips/elf64.h: Add default ABI.
1871
d23c55c2
NB
18722001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1873
1874 * alias.c:: Include langhooks.h.
1875 * emit-rtl.c: Similarly.
1876 * toplev.c: Similarly.
1877 * tree-inline.c: Similarly.
1878 * langhooks-def.h: New, the old langhooks.h. Give the default
1879 hooks a common prefix.
1880 * langhooks.h: Contents extracted from toplev.h.
1881 * toplev.h: Move langhook stuff to langhooks.h.
1882 * langhooks.c: Give default hooks a common prefix.
1883
1884 * c-lang.c: Include langhooks-def.h.
1885 * objc/objc-act.c: Similarly.
1886 * Makefile.in: Update.
1887 * objc/Make-lang.in: Update.
1888
80f9249a
JM
18892001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
1890
1891 * doc/install.texi: Document that configure options not listed in
1892 this file are unsupported. Document --with-system-zlib.
1893
9e446a5c
RK
1894Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1895
03f54026
RK
1896 * rtl.h (mem_for_const_double): New declaration.
1897 * varasm.c (mem_for_const_double): New function.
1898 * config/convex/convex.md (movdf): Use it.
1899 * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
1900 * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
1901 * config/m68k/m68kv4.h: Likewise.
1902
bfd82dbf
RK
1903 * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
1904 of new GP reg classes.
1905
9e446a5c
RK
1906 * expr.c (store_field): When making temp object for unaligned
1907 component, set it to alias set 0.
1908
207bf485
JM
19092001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
1910
1911 * c-common.c (c_expand_expr_stmt): Apply default conversions to
1912 non-lvalue arrays if C99.
1913 * c-typeck.c (default_conversion): Split out code handling
1914 array-to-pointer and function-to-pointer conversions into a
1915 separate default_function_array_conversion function.
1916 (default_function_array_conversion): New function. Keep track of
1917 whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
1918 arrays unchanged outside C99 mode instead of giving an error for
1919 them.
1920 (build_component_ref): Use pedantic_non_lvalue when handling
1921 COMPOUND_EXPR. Don't handle COND_EXPR specially.
1922 (convert_arguments): Use default_function_array_conversion.
1923 (build_unary_op): For ADDR_EXPR, take a flag indicating whether
1924 non-lvalues are OK.
1925 (unary_complex_lvalue): Likewise.
1926 (internal_build_compound_expr): Use
1927 default_function_array_conversion. Apply default conversions to
1928 function in compound expression.
1929 (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
1930 Use default_function_array_conversion.
1931 * doc/extend.texi: Update documentation of subscripting non-lvalue
1932 arrays.
1933 Fixes PR c/461.
1934
9f6682b7
ZW
19352001-11-05 Zack Weinberg <zack@codesourcery.com>
1936
1937 * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
1938 (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
1939 corresponding to the complete set of .po and .gmo files in
1940 the source directory's po subdir, modified by LINGUAS. Don't
1941 look at ALL_LINGUAS.
e0e00329 1942 * configure.in: Don't set ALL_LINGUAS.
9f6682b7
ZW
1943 * configure: Regenerate.
1944
1945 * Makefile.in (.po.gmo): Don't move into source directory.
1946 (.po.pox): Clarify comments.
1947 (install-po): Look for .gmo files in both srcdir and objdir;
e0e00329 1948 don't fail if a file is totally missing.
9f6682b7
ZW
1949 (distclean): rmdir ada subdirectory too.
1950
f3afc192
GK
19512001-11-05 Geoffrey Keating <geoffk@redhat.com>
1952
1953 * config/rs6000/rs6000.c (rs6000_select_section): Handle
1954 CONSTRUCTORs _correctly_.
1955
e6ec164c
NB
19562001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1957
1958 * c-decl.c (delete_block): Remove.
1959 * c-tree.h (delete_block): Remove.
1960
63d75005
NB
19612001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1962
1963 * cppexp.c (lex, parse_defined): Update warning about defined.
1964
ac4f7ad9
GK
19652001-11-05 Geoffrey Keating <geoffk@redhat.com>
1966
1967 * config/rs6000/rs6000.c (rs6000_select_section): Handle
1968 CONSTRUCTORs too.
1969
648f5f04
NC
19702001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
1971
e529bd42
NC
1972 * config/arm/arm.c (arm_return_in_memory): Cope with
1973 int_size_in_bytes returning -1.
1974
648f5f04
NC
1975 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
1976 DECL being NULL.
1977
d56a8211
JH
1978Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
1979
eaec9b3d
JM
1980 * Makefile.in (bb-reoder.o): Add dependency on cfglayout.h;
1981 remove unneeded dependencies;
d56a8211
JH
1982 (cfglayout.o): New.
1983 * cfglayout.c, cfglayout.h: New files; break out from ...
e0e00329 1984 * bb-reorder.c: ... here; Remove unneeded includes;
d56a8211 1985
46aaf10d
DE
19862001-11-04 Alan Modra <amodra@bigpond.net.au>
1987
1988 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
1989
19902001-11-04 David Edelsohn <edelsohn@gnu.org>
1991
1992 * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
1993 mode as well. Do not explicitly create intermediate regs.
1994
5f37d07c
KG
19952001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1996
1997 * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
1998 (common_section): Delete unused variable.
1999 (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
2000 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
2001 * arm-protos.h (arm_poke_function_name, aof_add_import,
2002 aof_delete_import): Const-ify.
2003 * arm.c (legitimize_pic_address): Wrap variables in the macro
2004 controlling their usage.
2005 (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
2006 (arm_poke_function_name, pic_chain, import, aof_add_import,
2007 aof_delete_import): Const-ify.
2008 * i386.c (ix86_osf_output_function_prologue): Const-ify.
2009 * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2010 ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
2011 * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
2012 * i860/sysv3.h: Add missing comment closure.
2013 * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
2014 * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
2015 to symbolic_operand.
9f6682b7 2016
5f37d07c
KG
2017 * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
2018 (i960-*-*): Set tmake_file.
2019 (sparc86x-*-elf*): Fix typo in header name.
9f6682b7 2020
5f37d07c
KG
2021 * sched-rgn.c (schedule_insns): Delete unused variable.
2022
e9b2c823
NB
20232001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2024
2025 PR c/2820
2026 * c-typeck.c (lookup_field): Rework to return a chain down to
2027 the looked-up field.
2028 (build_component_ref): Use the new lookup_field to handle
2029 nested anonymous entities correctly.
2030
f2827474
RK
2031Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2032
2033 * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
2034 Change parameters to gen_rtx_CONST_DOUBLE.
2035 (GEN_INT64, sparc_emit_set_const64): Likewise.
2036 * config/sparc/sparc.md (movdf split): Likewise.
2037
52560c7b
GK
20382001-11-03 Geoffrey Keating <geoffk@redhat.com>
2039
27d80140
GK
2040 * unroll.c (calculate_giv_inc): Use find_last_value rather
2041 than just hoping the last instruction is the right SET.
2042 [Fixes 990604-1.c on stormy16.]
2043
3eaaf577
GK
2044 * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
2045 library at all if -T is used.
2046
e9818db2
GK
2047 * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
2048 some uses of uninitialized variables in error cases.
2049
5766e0ef
GK
2050 * config/stormy16/stormy16.c (stormy16_output_shift): Don't
2051 look at 'temp' if we won't be using it.
2052
3fdb2f71
GK
2053 * config/stormy16/stormy16.h (CONST_COSTS): Define.
2054 (RTX_COSTS): Define.
2055 (ADDRESS_COST): Define.
2056 (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
2057
e06bc4e1
GK
2058 * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
2059
52560c7b
GK
2060 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
2061 stormy16_asm_output_mi_thunk.
2062 * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
2063 function.
2064 * config/stormy16/stormy16-protos.h
2065 (stormy16_asm_output_mi_thunk): New prototype.
2066
f5143c46
JM
20672001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
2068
2069 * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
2070 FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
2071 caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
2072 cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
2073 sched-int.h, toplev.c, config/alpha/alpha.c,
2074 config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
2075 config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
2076 config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
2077 config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
2078 config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
2079 config/ns32k/ns32k.md, config/rs6000/rs6000.c,
2080 config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
2081
55710451
KG
20822001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2083
c3fb23f4
KG
2084 * Makefile.in (dbxout.o): Depend on function.h.
2085 * collect2.c (is_in_list): Hide unused function.
2086 * dbxout.c: Include function.h.
2087 (source_label_number, dbxout_source_line, dbxout_source_file,
2088 dbxout_function_end, dbxout_begin_function): Wrap/move inside
2089 macros controlling usage.
2090 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
2091 * output.h (exports_section): Prototype.
2092
55710451
KG
2093 * convex.c (convex_output_function_prologue): Fix format specifier
2094 warning.
2095 (asm_declare_function_name): Fix signed/unsigned warning.
2096 (print_operand): Fix format specifier warning.
2097 * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2098 * dsp16xx-protos.h (uns_comparison_operator,
2099 num_1600_core_shifts): Prototype.
2100 * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
2101 (frame_size, frame_pointer_offset): Delete.
2102 (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
2103 Make static. Fix format specifier warnings.
2104 * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
2105 (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
2106 * dsp16xx.md: Add default case in switches.
2107 * fr30.h (IN_RANGE): Delete.
2108 * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2109 * mcore-protos.h (mcore_output_cmov): Const-ify.
2110 * mcore.c (mcore_output_cmov): Likewise.
2111 * mcore.h (switch_to_section): Make static and prototype.
2112 * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
2113 unsigned>=0 warnings.
2114 * mn10300.h (REGNO_IN_RANGE_P): Likewise.
2115 * rs6000-protos.h (read_only_data_section,
2116 read_only_private_data_section): Prototype.
2117 * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2118 * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
2119 * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
2120
1943c2c1
KG
21212001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2122
40cdfca6
KG
2123 * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
2124 ATTRIBUTE_UNUSED.
2125 * final.c (final_scan_insn): Add brackets around body of if-stmt.
2126 * gcc.c (convert_filename): Add static prototype. Const-ify.
2127 Wrap variable in macros controlling its use.
2128 * output.h (sdata_section): Add prototype.
2129
1943c2c1
KG
2130 * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2131 (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
2132 * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
2133 (ASM_FILE_START): Const-ify.
2134 (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
2135 specifier warning.
2136 * c4x.md: Don't use the 'U' integer suffix.
2137 * clipper.md (clipper_movstr): Delete declaration.
2138 * d30v-protos.h (d30v_move_2words): Const-ify.
2139 (debug_stack_info): Add prototype.
2140 * d30v.c: Include "integrate.h".
2141 (d30v_function_arg_boundary, d30v_function_arg,
2142 d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
2143 signed/unsigned warnings.
2144 (d30v_print_operand_memory_reference, d30v_move_2words):
2145 Const-ify.
2146 * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
2147 * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
2148 * fr30.md: Const-ify.
2149 * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2150 * i370.c (i370_label_scan, mvs_get_label): Make definition static.
2151 (mvs_get_label_page): Hide unused static function.
2152 * i860.c (current_function_original_name): Const-ify.
2153 * i860/sysv3.h (current_function_original_name): Likewise.
2154 * i860/sysv4.h (current_function_original_name): Likewise.
2155 * i960.md: Add default case in switches. Remove unused variable.
2156 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
2157 * m32r.md: Const-ify.
2158 * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
2159 * m68hc11.c: Include "reload.h".
2160 (static_chain_reg, print_options, m68hc11_asm_file_start):
2161 Const-ify.
2162 * m68hc11.md: Delete unused variable. Const-ify. Add parens
2163 around & in comparison.
2164 * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2165 * mn10200.c (shift_mode): Remove trailing comma.
2166 * mn10300-protos.h (output_tst): Const-ify.
2167 * mn10300.c (output_tst): Likewise.
2168 * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
2169 warnings.
2170 * pa-protos.h (output_ascii): Use regular char *, not unsigned.
2171 * pa.c (output_ascii): Likewise.
2172 * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2173 * pdp11.md (expand_unop): Delete declarations.
2174 * pj-protos.h (pj_output_addsi3): Const-ify.
2175 * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2176 pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2177 unique_src_operand): Add prototypes.
2178 (pj_output_store_into_lval): Make definition static.
2179 (pj_function_incoming_arg): Don't use unary plus.
2180 (pj_output_addsi3): Const-ify.
2181 * romp.md (get_symref): Delete declarations.
2182 * v850-c.c (mark_current_function_as_interrupt): Don't return
2183 value from void function.
2184 * v850.c: Include "integrate.h".
2185 * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2186 * vax-protos.h (const_section): Add prototype.
2187
7ba2b35c
AH
21882001-11-03 Aldy Hernandez <aldyh@redhat.com>
2189
9f6682b7
ZW
2190 * machmode.def: Add documentation for the seventh argument in
2191 vector modes.
7ba2b35c 2192
7fba3293
HPN
21932001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
2194
2195 * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2196 consistently.
2197 <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2198 <-melf>: Don't have markup for ELF acronym.
2199
bcf684c7
HPN
22002001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
2201
2202 * config.gcc (mmix-*-*): New target.
2203 * doc/invoke.texi: Document MMIX options.
2204 * doc/contrib.texi: Add note about MMIX port to my entry.
2205 * config/mmix/t-mmix: New file.
2206 * config/mmix/mmix.h: New file.
2207 * config/mmix/mmix-protos.h: New file.
2208 * config/mmix/mmix.c: New file.
2209 * config/mmix/mmix.md: New file.
2210 * config/mmix/crti.asm: New file.
2211 * config/mmix/crtn.asm: New file.
2212
80ffc95e
KH
22132001-11-03 Kazu Hirata <kazu@hxi.com>
2214
2215 * config/sparc/linux-aout.h: Fix comment formatting.
2216 * config/sparc/linux.h: Likewise.
2217 * config/sparc/linux64.h: Likewise.
2218 * config/sparc/lynx.h: Likewise.
2219 * config/sparc/pbd.h: Likewise.
2220 * config/sparc/sol2-sld-64.h: Likewise.
2221 * config/sparc/sol2.h: Likewise.
2222 * config/sparc/sparc.c: Likewise.
2223 * config/sparc/sparc.h: Likewise.
2224 * config/sparc/sparc.md: Likewise.
2225 * config/sparc/sunos4.h: Likewise.
2226 * config/sparc/vxsim.h: Likewise.
2227 * config/sparc/vxsparc.h: Likewise.
2228 * config/sparc/vxsparc64.h: Likewise.
2229
343fb412
RK
2230Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2231
a79e3a45 2232 * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
00baba68 2233 reference to CONST_DOUBLE_MEM in comment.
a79e3a45
RK
2234 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
2235 (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
2236 (init_emit_once): Don't clear CONST_DOUBLE_MEM.
2237 * function.c (pop_function_context_from): Don't call
2238 restore_varasm_status.
2239 * function.h (restore_varasm_status): Delete declaration.
2240 * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
2241 * rtl.c: Likewise.
2242 * rtl.def (CONST_DOUBLE): Update comment.
2243 * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
2244 (CONST_DOUBLE_CHAIN): Likewise.
2245 (CONST_DOUBLE_MEM): Delete.
2246 (gen_rtx_CONST_DOUBLE): Update parameters.
2247 * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
2248 Remove reference to CONST_DOUBLE_MEM.
2249 (const_alias_set): New variable.
2250 (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
2251 (immed_real_const_1): Adjust tests for 0, 1, and 2.
2252 Don't set CONST_DOUBLE_MEM.
2253 (clear_const_double_mem): Don't do anything with const_tiny_rtx.
2254 (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
2255 Put constant in const_alias_set.
2256 (struct pool_constant): ALIGN now unsigned.
2257 OFFSET now HOST_WIDE_INT.
2258 Delete LABEL.
2259 (restore_varasm_status): Deleted.
2260 (mark_pool_constant): Mark desc->rtl.
2261 (force_const_mem): Rework to store rtl in hash table,
2262 not CONST_DOUBLE_MEM.
2263 Put constant in const_alias_set.
2264 (find_pool_constant): Check desc->rtl.
2265 (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
2266 (init_varasm_once): Initialize const_alias_set.
2267
d6b6783b
RK
2268 * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
2269 force_const_mem.
2270
6b3736a1
RK
2271 * reload.c (combine_reloads): Don't combine an output reload if there
2272 are other reloads around for part of the output.
2273
2274 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
2275 constant expression.
2276 (set_mem_decl): New function.
2277 * expr.h (set_mem_decl): New declaration.
2278 * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
2279 (output_asm_operand_names): Add tab.
2280 * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
2281
343fb412
RK
2282 * builtins.c (get_memory_rtx): Properly set MEM alias set and
2283 attributes.
2284
13ba36b4
JM
22852001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
2286
2287 * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
2288 Use "invalid" instead of "illegal". Use @r in comments in
2289 examples.
2290
234f46ae
NB
22912001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
2292
2293 * c-decl.c (pushdecl): Move block inside if conditional to remove
2294 possibility of a segfault. Lookup block-level extern
2295 variables in enclosing scopes correctly.
2296
2297 * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
2298
bb33f166
AH
22992001-11-02 Aldy Hernandez <aldyh@redhat.com>
2300
9f6682b7
ZW
2301 * expmed.c (store_bit_field): Use simplify_gen_subreg to make
2302 SUBREG so we avoid SUBREGing memory.
bb33f166 2303
9f6682b7 2304 * expmed.c (store_bit_field): Same.
bafe341a 2305
c9e8cb32
DD
23062001-11-02 DJ Delorie <dj@redhat.com>
2307
2308 * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
2309 using FP registers for DImode mem-mem moves is acceptable.
2310
720ea9b1
AH
23112001-11-02 Aldy Hernandez <aldyh@redhat.com>
2312
2313 * builtins.c (apply_args_size): Handle vector arguments.
2314 (apply_result_size): Same.
2315
9f6682b7 2316 * machmode.def: Set WIDER mode field for all vector entries.
720ea9b1 2317
f5a5ea4a
GS
23182001-11-02 Graham Stott <grahams@redhat.com>
2319
2320 * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
2321
009da785
EC
23222001-11-01 Eric Christopher <echristo@redhat.com>
2323
9f6682b7
ZW
2324 * config.gcc: Revert part of earlier patch.
2325 * config/mips/linux.h: Ditto.
009da785 2326 * df.c: Include tm_p.h to avoid warnings.
9f6682b7 2327 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
009da785
EC
2328 #if/#endif.
2329 * config/mips/mips.c: Define mips_abi regardless.
2330 (mips_output_function_prologues): Add long casts for .frame
2331 output.
2332 (override_options): Allow use of ABI_32.
2333
9caea35c
KH
23342001-11-01 Kazu Hirata <kazu@hxi.com>
2335
2336 * config/m68hc11/m68hc11.c: Fix comment formatting.
2337 * config/m68hc11/m68hc11.h: Likewise.
2338 * config/m68hc11/m68hc11.md: Likewise.
2339
157689c6
NB
23402001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
2341
2342 * c-typeck.c (default_conversion): Retain the original expression
2343 codes.
2344 * gcc.dg/Wparentheses.c: New tests.
2345
edf1c8df
DM
23462001-11-01 David S. Miller <davem@redhat.com>
2347
2348 * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
2349 64-bit Sparc description more in line with reality.
2350
5735c3ea
JM
23512001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
2352
2353 * Makefile.in (GCOV_OBJS): Add version.o.
2354 * gcov.c: Include "version.h" and <getopt.h>.
2355 (gcov_version_string): Remove.
2356 (print_usage): Take a parameter to determine whether this is a
2357 call from --help or an error message. Give fuller output that
2358 follows the GNU Coding Standards for --help.
2359 (print_version): New function.
2360 (options): New.
2361 (process_args): Use getopt_long. Support long options. Follow
2362 GNU Coding Standards for --help and --version.
2363 * doc/gcov.texi: Document long options.
2364 Addresses part of PR other/704.
2365
6126a380
JDA
23662001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
2367
2368 * pa.c (output_move_double): Fix typo in double load.
2369
93cacb72
KH
23702001-11-01 Kazu Hirata <kazu@hxi.com>
2371
2372 * config/h8300/h8300.c (h8300_encode_label): Compute a string
2373 before passing it to ggc_alloc_string.
2374
7a1929e1
KH
23752001-11-01 Kazu Hirata <kazu@hxi.com>
2376
2377 * config/m68k/3b1.h: Fix comment formatting.
2378 * config/m68k/3b1g.h: Likewise.
2379 * config/m68k/a-ux.h: Likewise.
2380 * config/m68k/amix.h: Likewise.
2381 * config/m68k/apollo68.h: Likewise.
2382 * config/m68k/atari.h: Likewise.
2383 * config/m68k/aux-exit.c: Likewise.
2384 * config/m68k/ccur-GAS.h: Likewise.
2385 * config/m68k/crds.h: Likewise.
2386 * config/m68k/dpx2.h: Likewise.
2387 * config/m68k/dpx2g.h: Likewise.
2388 * config/m68k/hp310.h: Likewise.
2389 * config/m68k/hp320.h: Likewise.
2390 * config/m68k/isi.h: Likewise.
2391 * config/m68k/linux.h: Likewise.
2392 * config/m68k/lynx.h: Likewise.
2393 * config/m68k/m68k-psos.h: Likewise.
2394 * config/m68k/m68k.c: Likewise.
2395 * config/m68k/m68k.h: Likewise.
2396 * config/m68k/m68k.md: Likewise.
2397 * config/m68k/m68kelf.h: Likewise.
2398 * config/m68k/m68kv4.h: Likewise.
2399 * config/m68k/mot3300.h: Likewise.
2400 * config/m68k/news.h: Likewise.
2401 * config/m68k/next.h: Likewise.
2402 * config/m68k/pbb.h: Likewise.
2403 * config/m68k/plexus.h: Likewise.
2404 * config/m68k/sgs.h: Likewise.
2405 * config/m68k/sun3.h: Likewise.
2406 * config/m68k/tower.h: Likewise.
2407 * config/m68k/vxm68k.h: Likewise.
2408
d490e8ad
DD
24092001-10-31 DJ Delorie <dj@redhat.com>
2410
2411 * config/mips/mips.h (mips_cache_flush_func): Prototype.
2412 (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
2413 (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
2414 * config/mips/mips.c (mips_cache_flush_func): New.
2415 * doc/invoke.texi: Document the new options.
2416
b4ac17fc
HPN
24172001-10-31 Hans-Peter Nilsson <hp@axis.com>
2418
2419 * config.gcc (cris-*-linux*, tm_file): Rearrange order.
2420 * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
2421
2b371d25
HPN
2422 * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
2423
78b14aa6
HPN
2424 * config/cris/cris.c: Include output.h after tree.h but before
2425 target.h.
2426
5b7874aa
ZW
24272001-10-31 Zack Weinberg <zack@codesourcery.com>
2428
2429 * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
2430 (INTL_SUBDIRS): Just intl.
2431 (.SUFFIXES): Add .gmo .po .pox.
2432 (native): Also depend on build-@POSUB@.
2433 (intl.all, intl.install): Depend on config.h and things it includes.
2434 (po-generated): New target; depend on c-parse.c and tradcif.c.
2435 (install-normal): Also depend on install-@POSUB@.
2436 (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
2437 (build-, install-, build-po, update-po, install-po,
2438 .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
2439
2440 * aclocal.m4: Prefix each entry in CATALOGS with "po/"
2441 * configure.in: Don't munge XGETTEXT. Don't generate
2442 po/Makefile.in.
2443 * configure: Regenerate.
2444
2445 * exgettext: Delete.
2446 * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
2447 * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2448
5fb56602
KH
24492001-10-31 Kazu Hirata <kazu@hxi.com>
2450
2451 * config/h8300/h8300.md (two anonymous patterns): New.
2452
b63781e9
AH
24532001-10-31 Aldy Hernandez <aldyh@redhat.com>
2454
2455 * tree.h (tree_index): Add support for V16QI and V8HI.
2456 (V8HI_type_node): New.
2457 (V16QI_type_node): New.
2458
2459 * tree.c (build_common_tree_nodes_2): Same.
2460
2461 * c-common.c (type_for_mode): Same.
2462
892a2d68
KH
24632001-10-31 Kazu Hirata <kazu@hxi.com>
2464
2465 * config/i386/att.h: Fix comment formatting.
2466 * config/i386/beos-elf.h: Likewise.
2467 * config/i386/bsd.h: Likewise.
2468 * config/i386/bsd386.h: Likewise.
2469 * config/i386/crtdll.h: Likewise.
2470 * config/i386/cygwin.asm: Likewise.
2471 * config/i386/cygwin.h: Likewise.
2472 * config/i386/djgpp.h: Likewise.
2473 * config/i386/freebsd-aout.h: Likewise.
2474 * config/i386/freebsd.h: Likewise.
2475 * config/i386/gas.h: Likewise.
2476 * config/i386/i386-interix.h: Likewise.
2477 * config/i386/i386-protos.h: Likewise.
2478 * config/i386/i386.c: Likewise.
2479 * config/i386/i386.h: Likewise.
2480 * config/i386/i386.md: Likewise.
2481 * config/i386/i386elf.h: Likewise.
2482 * config/i386/interix.c: Likewise.
2483 * config/i386/isc.h: Likewise.
2484 * config/i386/isccoff.h: Likewise.
2485 * config/i386/iscdbx.h: Likewise.
2486 * config/i386/linux.h: Likewise.
2487 * config/i386/lynx.h: Likewise.
2488 * config/i386/mingw32.h: Likewise.
2489 * config/i386/netbsd-elf.h: Likewise.
2490 * config/i386/next.h: Likewise.
2491 * config/i386/osf1elf.h: Likewise.
2492 * config/i386/osfrose.h: Likewise.
2493 * config/i386/sco5.h: Likewise.
2494 * config/i386/seq-gas.h: Likewise.
2495 * config/i386/seq-sysv3.h: Likewise.
2496 * config/i386/sequent.h: Likewise.
2497 * config/i386/sol2.h: Likewise.
2498 * config/i386/sun386.h: Likewise.
2499 * config/i386/uwin.asm: Likewise.
2500 * config/i386/uwin.h: Likewise.
2501 * config/i386/vxi386.h: Likewise.
2502 * config/i386/win32.h: Likewise.
2503 * config/i386/winnt.c: Likewise.
2504 * config/i386/xm-cygwin.h: Likewise.
2505 * config/i386/xm-mingw32.h: Likewise.
2506
5519a4f9
KH
25072001-10-31 Kazu Hirata <kazu@hxi.com>
2508
2509 * builtins.def: Fix comment typos.
2510 * config/alpha.c: Likewise.
2511 * config/arm/arm.c: Likewise.
2512 * config/avr/avr.h: Likewise.
2513 * config/d30v/d30v.c: Likewise.
2514 * config/d30v/d30v.h: Likewise.
2515 * config/d30v/d30v.md: Likewise.
2516 * config/dsp16xx/dsp16xx.c: Likewise.
2517 * config/fr30/fr30.c: Likewise.
2518 * config/fr30/fr30.md: Likewise.
2519 * config/i386/i386.c: Likewise.
2520 * config/i860/i860.c: Likewise.
2521 * config/i960/i960.c: Likewise.
2522 * config/ia64/ia64.c: Likewise.
2523 * config/mips/mips.c: Likewise.
2524 * config/pa/pa.c: Likewise.
2525 * config/rs6000/rs6000.c: Likewise.
2526 * config/s390/s390.c: Likewise.
2527 * config/sparc/sparc.c: Likewise.
2528
987ba558
KH
25292001-10-30 Kazu Hirata <kazu@hxi.com>
2530
54aa2c51
KH
2531 * config/mips/elf.h: Fix comment formatting.
2532 * config/mips/elf64.h: Likewise.
2533 * config/mips/iris5.h: Likewise.
2534 * config/mips/iris5gas.h: Likewise.
2535 * config/mips/iris6.h: Likewise.
2536 * config/mips/isa3264.h: Likewise.
2537 * config/mips/linux.h: Likewise.
2538 * config/mips/mips.c: Likewise.
2539 * config/mips/mips.h: Likewise.
2540 * config/mips/mips.md: Likewise.
2541 * config/mips/mips16.S: Likewise.
2542 * config/mips/netbsd.h: Likewise.
2543 * config/mips/osfrose.h: Likewise.
2544 * config/mips/r3900.h: Likewise.
2545 * config/mips/sni-svr4.h: Likewise.
2546 * config/mips/svr4-t.h: Likewise.
2547 * config/mips/ultrix.h: Likewise.
987ba558 2548
87a2e7a8
DB
25492001-10-30 Daniel Berlin <dan@cgsoftware.com>
2550
2551 * bitmap.c (bitmap_element_free): Don't forget to update head->indx
2552 when we update head->current.
2553
e7175247
NB
25542001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
2555
2556 * tree.c (id_string_size): Remove.
2557 (dump_tree_statistics): Update.
2558 * toplev.c (compile_file): If dumping stats, dump tree stats too.
2559
6bbdfefd
JH
2560Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
2561
2562 * sched-rgn.c (schedule_insns): Fix comment.
2563
5fed851d
ZW
25642001-10-30 Zack Weinberg <zack@codesourcery.com>
2565
2566 * configure.in: Correct previous change: don't assume that
2567 gas's version number _isn't_ the last thing on the line, or
2568 isn't the only number on the line, either.
2569 * configure: Regenerate.
2570
79f5e6be
KH
25712001-10-30 Kazu Hirata <kazu@hxi.com>
2572
2573 * cfgcleanup.c: Fix a comment typo.
2574
e5837c07
KH
25752001-10-30 Kazu Hirata <kazu@hxi.com>
2576
2577 * alias.c: Fix comment formatting.
2578 * recog.c: Likewise.
2579 * config/cris/cris.c: Likewise.
2580 * config/cris/cris.h: Likewise.
2581 * config/i960/i960.c: Likewise.
2582 * config/i960/i960.h: Likewise.
2583
3569057d
KH
25842001-10-30 Kazu Hirata <kazu@hxi.com>
2585
bc70506b 2586 * config/arm/arm.c: Fix a comment typo.
3569057d
KH
2587 * config/arm/arm.h: Likewise.
2588 * config/ia64/ia64.c: Likewise.
2589
3d238248
JJ
25902001-10-30 Jakub Jelinek <jakub@redhat.com>
2591
2592 * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
2593 REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
2594 * rtl.h (set_unique_reg_note): Change return value.
2595 * gcse.c (try_replace_reg): Use set_unique_reg_note.
2596 * cse.c (cse_insn): Likewise.
2597 * expr.c (emit_move_insn): Likewise.
2598 * explow.c (force_reg): Likewise.
2599 * local-alloc (update_equiv_regs): Likewise.
2600 * loop.c (move_moveables, load_mems): Likewise.
2601 * reload (find_reloads): Likewise.
2602
53fcdc76
PB
26032001-10-30 Paolo Bonzini <bonzini@gnu.org>
2604
2605 Localization fixes.
2606 * c-decl.c (parmlist_tags_warning, start_struct,
2607 check_for_loop_decls): Separate messages for struct, union and
2608 enum cases to allow for languages in which they have different
2609 genders.
2610 * c-format.c (scanf_flag_specs): Separate short and long name of
2611 the assignment suppression feature.
2612 (check_format_types): Localize "pointer" and "different types"
2613 strings.
2614 * c-lex.c (lex_number): Localize "an unsigned long int" and
2615 related strings.
2616 (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
2617 warning message.
2618 * c-typeck.c (build_unary_up): Separate messages for increment and
2619 decrement cases to allow for languages in which they use different
2620 articles. Localize the strings "increment" and "decrement" in one
2621 case.
2622
73991d6a
JH
2623Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
2624
2625 * lcm.c (optimize_mode_switching): Do not rebuild liveness information
2626 when no changes has been made.
2627
2628 * gcse.c (reg_set_bitmap): Turn into reg_set.
2629 (modify_mem_list_set, canon_modify_mem_list_set)
2630 (clear_modify_mem_tables, free_modify_mem_tables): New.
2631 (gcse_main); Use free_modify_mem_tables.
2632 (free_gcse_mem): Likewise; free the bitmaps.
2633 (alloc_gcse_main): Initialize the bitmaps.
2634 (canon_list_insert): Set canon_modify_mem_list_set.
2635 (record_last_mem_set_info): Likewise; set modify_mem_list_set.
2636 (compute_hash_table): Use clear_modify_mem_tables.
2637 (reset_opr_set_tables): Likewise.
2638 (oprs_not_set_p): reg_set_bitmap is regset.
2639 (mark_set, mark_clobber): Likewise.
2640
2641 * df.h (DF_EQUIV_NOTES): New constant.
2642 (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
2643 when asked for.
2644
2645 * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
2646 (init_regions, schedule_insns): Conditionalize the checking
2647 code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
2648
4fe8523b
JH
2649Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
2650
2651 * i386.md (movti_rex64 splitter): Fix condition.
2652
79e2e160
ZW
26532001-10-29 Zack Weinberg <zack@codesourcery.com>
2654
0461a052
ZW
2655 * configure.in: Do not assume that gas's version number is the
2656 last thing on the first line of as --version output.
2657 * configure: Regenerate.
5b7874aa 2658
79e2e160
ZW
2659 * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
2660 MT_WARNING, MT_ERROR, MT_FATAL.
2661 (main): Call gcc_init_libintl.
2662 (v_message): Call gettext on msgid and "warning: "
2663 * tradcif.y: Include intl.h.
2664 (yyerror): Make parameter definition consistent with
2665 prototype. Call gettext on msgid argument.
2666
1ac04695
KG
26672001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2668
b016d07e
KG
2669 * combine.c (num_sign_bit_copies): Avoid signed/unsigned
2670 warnings.
2671
1ac04695
KG
2672 * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
2673
cd7c9015
RK
2674Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2675
2676 * reload1.c (eliminate_regs): Test for reg_renumber being allocated
2677 before referencing it.
2678
f3597919
DD
26792001-10-26 DJ Delorie <dj@redhat.com>
2680
2681 * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
2682 override -G, and force -G0.
2683
affd4f33
JM
26842001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
2685
684d9f3b
JM
2686 * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
2687 FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
2688 c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
2689 timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
2690
affd4f33
JM
2691 * loop.h (struct induction): Rename ext_dependant to
2692 ext_dependent.
2693 * loop.c: Change all uses.
2694 (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
2695 All callers changed.
2696 * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
2697
686deecb
JM
26982001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
2699
2700 * c-parse.in (expr_no_commas, primary), c-typeck.c
2701 (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
2702
54ee9799
DE
27032001-10-29 David Edelsohn <edelsohn@gnu.org>
2704
2705 Undo assemble_name change in earlier patch.
2706
92bcd93d 2707Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
5b7874aa 2708
92bcd93d
NP
2709 * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
2710 determining the type of the receiver, do not check that TREE_CODE
54ee9799
DE
2711 of receiver is CALL_EXPR before calling receiver_is_class_object().
2712 (receiver_is_class_object): For the GNU runtime: recognize
92bcd93d
NP
2713 the case that the receiver is self in a class method context.
2714 Check that TREE_CODE of receiver is CALL_EXPR when checking that
2715 the receiver is a call to objc_get_class.
2716
4ff3bd5f
JDA
27172001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
2718
2719 * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
2720
94784fb9
RK
2721Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2722
15228eb6
RK
2723 * Makefile.in (OBJS): Put all files in alphabetical order.
2724
94784fb9
RK
2725 * dwarf2out.c (add_const_value_attribute): Fix error in last
2726 change.
2727
473fb060
JH
2728Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
2729
2730 * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
2731 * cfgcleanup.c (merge_blocks): Update the life flag after merging;
2732 fix warning.
2733 * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
2734 (life_analysis): call purge_all_dead_edges after deleting noops.
2735 (delete_noop_move): Do not purge CFG.
2736 * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
2737
d2574c50
DE
27382001-10-28 David Edelsohn <edelsohn@gnu.org>
2739
2740 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
2741 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
2742 (ASM_GLOBALIZE_LABEL): Use assemble_name.
2743 (ASM_OUTPUT_COMMON): Likewise.
2744 * config/rs6000/rs6000.c (print_operand): Use assemble_name.
2745 (rs6000_output_function_epilogue): Likewise.
2746 (output_mi_thunk): Fix typo.
2747 (rs6000_output_symbol_ref): Use assemble_name.
2748 (output_toc): Likewise.
2749 * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
2750 * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
2751 assemble_name calls STRIP_NAME_ENCODING.
2752 (ASM_OUTPUT_LABEL): Use assemble_name.
2753 (ASM_GLOBALIZE_LABEL): Likewise.
2754 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2755 (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
2756 (ASM_OUTPUT_LOCAL): Likewise.
2757
ce2d32cd
RK
2758Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2759
2760 * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
2761 (expand_builtin_apply, expand_builtin_return): Likewise.
2762 (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
2763
67dda4b5
JM
27642001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
2765
ff7cc307
JM
2766 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2767 ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
2768 c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
2769 configure, configure.in, except.c, except.h, flow.c, function.c,
2770 gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
2771 predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
2772 sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
2773 unroll.c: Fix spelling errors.
2774
0c688a7d
JM
2775 * doc/extend.texi, doc/invoke.texi: Fix spelling.
2776
67dda4b5
JM
2777 * doc/gcc.texi: Document use of "dependent" and American spelling.
2778
58f69841
JH
2779Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
2780
2781 * expr.c (emit_group_load): Support CONCATs by storing them to memory
2782 and reloading.
2783
61cb205c
RK
2784Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2785
2786 * expr.c (store_constructor_field): Only call adjust_address on MEM.
2787
9591d210
JH
2788Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
2789
2790 * genrecog.c (write_switch): Output if before switch for
2791 DT_elt_zero_wide_safe.
2792
d506f649
KG
27932001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2794
2795 * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
2796 * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
2797 (FUNCTION_PROFILER): Const-ify.
2798 * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
2799 (eliminate_constant_term, assemble_name, output_addr_const):
2800 Remove declarations.
2801 (ptr_half_pic_address_p, half_pic_hash): Prototype.
2802 (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
2803 half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
2804 * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
2805 (half_pic_declare, half_pic_external): Const-ify.
2806 * toplev.c: Include "halfpic.h".
2807
f63d1bf7
JM
28082001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
2809
f710504c
JM
2810 * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
2811 config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
2812 config/i386/i386.c, config/i386/i386-interix.h,
2813 config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
2814 config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
2815 config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
2816 config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
2817 config/sparc/sparc.c, config/m68hc11/m68hc11.c,
2818 config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
2819 config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
2820 spelling errors.
2821
f63d1bf7
JM
2822 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2823 ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
2824 c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
2825 collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
2826 haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
2827 regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
2828 system.h, toplev.c: Fix spelling errors.
2829
70072ed9
RK
2830Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2831
157bd2bb
RK
2832 * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
2833
e7af1d45
RK
2834 * dwarf2out.c (reg_number): Abort if pseudo.
2835 (reg_loc_descriptor): Return 0 if pseudo.
2836 (is_based_loc): Return 0 if pseudo.
2837 (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
2838 recursive calls.
2839 (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
2840 (loc_descriptor): Return 0 if can't find location and handle 0
2841 return from recursive calls.
2842 (loc_descriptor_from_tree): Likewise.
2843 Fix handling of indirect.
2844 Also return 0 for PLACEHOLDER_EXPR.
2845 Clean up COMPONENT_REF cases.
2846 (add_AT_location_descriptor): Simplify, but handle 0 return from
2847 loc_descriptor.
2848 (add_const_value_attribute): Avoid shift count warning.
2849 (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
2850 Set comp_unit_die as context if not in function.
2851
6b7d57c7
RK
2852 * config/mips/mips-protos.h: Break up long lines.
2853 Remove needless #ifdef/#endif blocks.
2854 Don't declare functions declared in file made by genpreds or recog.h.
2855 * config/mips/mips.c (mips_output_function_prologue): TSIZE
2856 is now HOST_WIDE_INT; delete unneeded casts.
2857 * config/mips/mips.h: Don't use #elif.
5b7874aa 2858
70072ed9
RK
2859 * expr.c (stor_constructor_field): Always call adjust_address.
2860 Copy TARGET before changing its alias set.
2861 (store_field): Likewise, for TO_RTX.
2862 (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
2863 replacement.
2864 (safe_from_p, case ADDR_EXPR): Properly check for conflict.
2865 (find_placeholder): Return 0 if can't find object.
2866 (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
2867 returns 0.
2868
f4f17e7d
JH
2869Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
2870
2871 * ifcvt.c (if_convert): Call clear_aux_for_blocks.
2872
7dddfb65
JH
2873Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
2874
2875 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
2876 merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
2877 (merge_blocks): Properly udpate life after making edge nonfallthru.
2878 * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
2879
a7812c0b
KH
28802001-10-26 Kazu Hirata <kazu@hxi.com>
2881
2882 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2883
a38b987a
NB
28842001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
2885
2886 * c-typeck.c (convert_arguments): When comparing for enumeral
2887 type equality, use TYPE_MAIN_VARIANT.
2888 * gcc.dg/Wconversion.c: New tests.
2889
d65f7478
KH
28902001-10-26 Kazu Hirata <kazu@hxi.com>
2891
2892 * s390/s390.c: Fix comment typos.
2893 * s390/s390.h: Likewise.
2894 * s390/s390.md: Likewise.
2895
6c624f7f
AO
28962001-10-26 Alexandre Oliva <aoliva@redhat.com>
2897
2898 * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
2899 (walk_tree): Use it for tail calls where appropriate.
2900
45c23566
AO
29012001-10-26 Alexandre Oliva <aoliva@redhat.com>
2902
2903 * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
2904 non-local label_refs.
2905
11a802bf
KH
29062001-10-26 Kazu Hirata <kazu@hxi.com>
2907
2908 * config/h8300/h8300.md (4 anonymous patterns): New.
2909
cb33eb17
KH
29102001-10-26 Kazu Hirata <kazu@hxi.com>
2911
2912 * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
2913 algorithm through the shift_info structure.
2914 (emit_a_shift): Update the use of get_shift_alg.
2915
bdfa170f
DB
29162001-10-27 Daniel Berlin <dan@cgsoftware.com>
2917
5b7874aa
ZW
2918 * sched-rgn.c: Remove bitset typedef.
2919 Change bitset to sbitmap in prototypes / variable types.
2920 Remove bbset_size.
2921 Remove edgeset_bits.
2922 Remove edgeset_size.
2923 s/BITSET_ADD/SET_BIT/g
2924 s/BITSET_INVERT/sbitmap_ones/g
2925 s/BITSET_INTER/sbitmap_a_and_b/g
2926 s/BITSET_UNION/sbitmap_a_or_b/g
2927 s/BITSET_DIFFER/sbitmap_difference/g
2928 s/bitset_member/TEST_BIT/g
2929 (BITSET_*): Removed.
2930 (bitset_member): Removed.
2931 (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
2932 EXECUTE_IF_SET_IN_SBITMAP.
2933 (split_edges): Rewrite, use sbitmap functions instead of bitset
2934 operations.
2935 (schedule_region): Allocate/free sbitmaps, rather than bitsets.
bdfa170f 2936
019d2e99
AS
29372001-10-26 Andreas Schwab <schwab@suse.de>
2938
2939 * reload1.c (emit_input_reload_insns): Fix parens in last
2940 (undocumented) change that was supposed to change only whitespace.
2941
6cf3f6e7
RK
2942Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2943
2944 * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
2945
2946 * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
2947 ASM_OPERANDS.
2948
16e99e29
AJ
29492001-10-26 Andreas Jaeger <aj@suse.de>
2950
2951 * flow.c (clear_log_links): Remove unused variable.
2952 * cfgcleanup.c (cleanup_cfg): Likewise.
2953
350ebd54
AO
29542001-10-26 Alexandre Oliva <aoliva@redhat.com>
2955
2956 * tree-inline.c (remap_decl): Don't copy size and size_unit here.
2957 (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
2958
b73c0bc8
RH
29592001-10-26 Richard Henderson <rth@redhat.com>
2960
2961 * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
2962 rename PV_REG to R27_REG.
2963 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
2964 (REG_CLASS_FROM_LETTER): Update.
2965 (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
2966 * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
2967 (udivsi3, modsi3, umodsi3): Likewise.
2968 (divdi3, udivdi3, moddi3, umoddi3): Likewise.
2969
108c1afc
RH
29702001-10-26 Richard Henderson <rth@redhat.com>
2971
2972 * cfg.c (clear_aux_for_blocks): Split out of ...
2973 (free_aux_for_blocks): here.
2974 (clear_aux_for_edges): Split from ...
2975 (free_aux_for_edges): here.
2976 * basic-block.h: Declare them.
2977 * lcm.c (compute_antinout_edge): Use them.
2978 (compute_laterin, compute_available, compute_nearerout): Likewise.
2979 (optimize_mode_switching): Likewise.
2980
4992fc7f
RH
29812001-10-26 Richard Henderson <rth@redhat.com>
2982
2983 * Makefile.in (unstage*): Remove as, ld, collect-ld before
2984 moving everything back to the main build directory.
2985
e742b08a
CF
29862001-10-26 Christopher Faylor <cgf@redhat.com>
2987
eaec9b3d 2988 * config/i386/cygwin.h: Search target specific include directory, if
e742b08a
CF
2989 appropriate.
2990
f3a8e4f5
KG
29912001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2992
2993 * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
2994 of macro guards. Fix #endif comment.
2995
2996 * output.h (default_exception_section, default_eh_frame_section):
2997 Move prototypes outside of macro guard.
16e99e29 2998
f3a8e4f5
KG
2999 * crtstuff.c: Fix #endif comment.
3000
8feb4e28
JL
3001Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
3002
16e99e29 3003 * doc/md.texi (movMM): Clarify semantics of storing into a
8feb4e28
JL
3004 non-paradoxical SUBREG.
3005
37207ee7
ZW
30062001-10-25 Zack Weinberg <zack@codesourcery.com>
3007
3008 * langhooks.c (lang_hook_default_clear_binding_stack): New.
3009 (lang_hook_default_get_alias_set): Move next to other alias
3010 hooks.
3011 * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
3012 (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
3013 (LANG_HOOKS_INITIALIZER): Add it.
3014 * toplev.h (struct lang_hooks): Add clear_binding_stack.
3015 * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
3016 instead of a loop calling poplevel.
3017
cdd90341
NC
30182001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
3019
3020 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
3021 occurrences of #elif with #if...#endif.
3022
1ec586ae
KG
30232001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3024
3025 * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
3026
9fb60a0d
RK
3027Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3028
10b76d73
RK
3029 * alias.c (can_address_p): No longer static.
3030 * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
3031 Return 0 if all parameters are default values.
3032 (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
3033 (adjust_address_1): Try harder to compute a size.
3034 * expr.c (expand_assignment, store_constructor): If can't address,
3035 set MEM_KEEP_ALIAS_SET_P.
3036 (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
3037 (store_field): Likewise.
3038 (store_constructor): Simplify call to store_constructor_field.
3039 * expr.h (can_address_p): New declaration.
3040 * gensupport.c (gen_rtx_CONST_INT): New function.
3041 * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
3042 (MEM_SIZE): Get size from mode, if not set and not BLKmode.
3043 (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
3044
9fb60a0d
RK
3045 * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
3046
cf521102 30472001-10-24 Christopher Faylor <cgf@redhat.com>
356b0698 3048
cf521102
CF
3049 * config/i386/cygwin.h: Use proper path for mingw crt files when
3050 -mno-cygwin.
c307e6dd 3051
2ea792c2
JJ
3052Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3053
3054 * dwarf2out.c (file_info_cmp): Always return consistent results.
3055
30562001-10-24 Roger Sayle <roger@eyesopen.com>
37207ee7 3057
2ea792c2
JJ
3058 * stmt.c (expand_end_case): Index jumptables from zero for
3059 suitably small values of minval.
3060
30612001-10-24 Jakub Jelinek <jakub@redhat.com>
3062
3063 * stor-layout.c (place_union_field): If any field was aligned with
3064 attribute aligned, set record type's TYPE_USER_ALIGN.
3065 (place_field): Likewise.
3066 (finalize_record_size): Don't clear TYPE_USER_ALIGN.
3067 (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
3068
30692001-10-24 Zack Weinberg <zack@codesourcery.com>
3070
3071 * c-common.h (struct c_common_identifier): Remove rid_code field.
3072 (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
3073
3074 * c-typeck.c (constructor_designated): New local flag.
3075 (struct constructor_stack): Add "designated" field to match.
3076 (start_init): Clear it.
3077 (really_start_incremental_init, push_init_level): Push and
3078 clear it.
3079 (pop_init_level): Pop it.
3080 (set_designator): Set it.
3081
3082 (pop_init_level): Suppress "missing initializer" warnings if
3083 constructor_designated is true.
3084 (process_init_element): Suppress warning about union
3085 initialization under traditional C, if constructor_designated
3086 is true.
3087
3088Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3089
3090 * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
3091 change.
3092
3093Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
3094
3095 * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3096
30972001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
3098
3099 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3100 the node was already a set to a constant.
3101
3102Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3103
3104 * emit-rtl.c (set_mem_attributes): Fix typo in last change.
3105 * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
3106
31072001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3108
3109 * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
3110 (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
3111 (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3112 * s390.c (s390_final_chunkify): Don't use string concatenation.
3113 (s390_function_prologue, s390_function_epilogue): Const-ify.
3114 * s390.h (FUNCTION_PROFILER): Remove unused variable.
3115
31162001-10-24 Jakub Jelinek <jakub@redhat.com>
3117
3118 * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
3119 prototypes.
3120
31212001-10-23 Stan Shebs <shebs@apple.com>
3122
3123 * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
3124 -traditional-cpp in first-stage compilation.
3125
3126Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3127
3128 * gensupport.c (target_flags): Add.
3129
3130Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
3131
3132 * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
3133 if needed.
3134 (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
3135 * except.c (expand_builtin_frob_return_addr): Likewise.
3136 (expand_builtin_eh_return): Likewise.
3137 * stmt.c (expand_computed_goto): Likewise.
3138 * explow.c (memory_address): Likewise.
3139 (allocate_dynamic_stack_space): Clean up predicate testing.
3140 (probe_stack_range): Convert SIZE to Pmode.
3141 * calls.c (rtx_for_function_call): Only call convert_memory_address
3142 if needed.
3143 Pass function call operand as ptr_mode, not Pmode.
3144 * expr.c (expand_assignment): Clean up calls to convert_memory
3145 address by only doing so when needed and making offsets Pmode.
3146 (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
3147 * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
3148 is in Pmode, not ptr_mode.
3149
31502001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3151
3152 * darwin-protos.h (constructor_section, destructor_section,
3153 mod_init_section, mod_term_section): Prototype.
3154 * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
3155 Const-ify.
3156 * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
3157 Likewise.
3158 (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
3159 objc_section_init declaration.
3160 (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
3161 (objc_section_init, try_section_alias): Make static.
3162 (alias_section): Make static and hide unused function.
3163 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3164
3165Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3166
3167 * alias.c (can_address_p): Compnonents are not addressable if
3168 the containing type has alias set 0.
3169 (get_alias_set): Rework to use STRIP_NOPS.
3170 Only call front-end routine on object, type, or object with
3171 NOPs stripped, not inner values.
3172 Use language hook to call front-end routine.
3173 * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3174 (expand_builtin_apply): Call set_mem_align on MEMs we make.
3175 Don't pass alignment to emit_block_move.
3176 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3177 (expand_builtin_memset): Likewise, but for clear_storage.
3178 * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3179 and remove C++ specific parts.
3180 * c-common.h (c_common_get_alias_set): Add declaration.
3181 * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3182 * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3183 (save_fixed_argument_area): Call set_mem_align.
3184 Remove alignment in call to emit_block_move.
3185 (emit_library_call_value_1, store_one_arg): Likewise.
3186 (target_for_arg): Remove; disabled long ago.
3187 * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3188 once and similar cleanups.
3189 (offset_address): Use proper introductory comment.
3190 * expr.c (emit_block_move): Use alignment from that of MEM args, not
3191 from explicit operand; all callers changed.
3192 (clear_storage): Likewise.
3193 (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3194 (store_field): Remove kludge on alias set used for to_rtx.
3195 (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3196 (expand_expr_unaligned): Call set_mem_attributes instead of
3197 set_mem_alias_set.
3198 * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3199 * function.c (assign_stack_temp_for_type): Set MEM alignment.
3200 (expand_function_end): Track MEM attributes of trampolines.
3201 * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3202 * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3203 attributes from original.
3204 * langhooks.c (lang_hook_default_get_alias_set): New function.
3205 (hook_get_alias_set_0): New function.
3206 * langhooks.h (hook_get_alias_set_0): New declaration.
3207 (lang_hook_default_get_alias_set): Likewise.
3208 (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3209 * reload1.c (alter_reg): Use adjust_address_nv.
3210 * rtl.c (get_mode_alignment): Moved to here.
3211 * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3212 change default if unknown from 1 to BITS_PER_UNIT.
3213 * stor-layout.c (get_mode_alignment): Remove from here.
3214 * toplev.h (struct lang_hoks): Add get_alias_set field.
3215 * tree.h (lang_get_alias_set): Delete declaration.
3216 * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3217 * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3218 (ix86_va_arg): Likewise.
3219 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3220 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3221 * config/sparc/sparc.c (sparc_va_arg): Likewise.
3222 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3223 (expand_block_move_mem): Remove dead code.
3224
32252001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
3226
3227 * c-common.c (warn_div_by_zero): New.
3228 * c-common.h (warn_div_by_zero): New.
3229 * c-decl.c (c_decode_option): Take it on the command line.
16e99e29 3230 * c-typeck.c (build_binary_op): Warn about division by zero.
2ea792c2
JJ
3231 * doc/invoke.texi: Document the new command line option, fix
3232 documentation of -Wmultichar.
16e99e29
AJ
3233 * testsuite/gcc.dg/divbyzero.c: New tests.
3234 * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
2ea792c2
JJ
3235
3236Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
3237
3238 * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
3239
3240 * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
3241 to avoid update_life_info call.
3242 * basic-block.h (CLEANUP_UPATE_LIFE): Define.
3243 * cfgcleanup.c (bb_flags): New enum.
3244 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
3245 (notice_new_block, update_forwarder_flag): New functions.
3246 (try_simplify_condjump): Use FORWARDER_BLOCK_P.
3247 (try_forward_edges): Likewise; update flags.
3248 (merge_blocks): Likewise.
3249 (outgoing_edges_match): Likewise.
3250 (try_crossjump_to_edge): Likewise.
3251 (try_optimize_cfg): Likewise; initialize and clear the flags;
3252 recompute life info if needed.
3253 (cleanup_cfg): No need to clear aux pointers.
3254
32552001-10-23 Alexandre Oliva <aoliva@redhat.com>
3256
3257 * config/i386/i386.c (override_options): Default to minimum
3258 stack alignment when optimizing for code size.
3259 * doc/invoke.texi (-mpreferred-stack-boundary): Document the
3260 change.
3261
3262 * config/i386/i386.c (override_options): Set upper limit of
3263 -mpreferred-stack-boundary to 12.
3264
32652001-10-22 Zack Weinberg <zack@codesourcery.com>
3266
3267 * recog.c (peephole2_optimize): Add default case to switch.
3268
32692001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
3270
3271 * doc/gcc.texi (Sending Patches): Remove.
3272
32732001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
3274
3275 * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
3276 fields when comparing.
3277
32782001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3279
3280 * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
3281 * arm.c (HOST_INT, HOST_UINT): Likewise.
3282
32832001-10-22 Stan Shebs <shebs@apple.com>
3284
3285 * config/darwin-protos.h (darwin_exception_section): Declare.
3286 (darwin_eh_frame_section): Declare.
3287
3288Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
3289
3290 * i386.md (movti_rex64): Fix mode.
3291
32922001-10-22 Stan Shebs <shebs@apple.com>
3293
3294 * target.h (struct gcc_target): Add asm_out.exception_section,
3295 asm_out.eh_frame_section.
3296 * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
3297 (TARGET_ASM_EH_FRAME_SECTION): New.
3298 (TARGET_INITIALIZER): Update.
3299 * output.h (default_exception_section): Declare.
3300 (default_eh_frame_section): Declare.
3301 * dwarf2out.c: Include target.h.
3302 (output_call_frame_info): Call target hook for eh frames.
3303 (default_eh_frame_section): New function.
3304 * except.c: Include target.h.
3305 (output_function_exception_table): Call target hook for exception
3306 section.
3307 * varasm.c (default_exception_section): Rename from
3308 exception_section, remove EXCEPTION_SECTION macro.
3309
3310 * config/darwin.h (darwin_eh_frame_section): New function.
3311 (EXCEPTION_SECTION): Remove.
3312 (TARGET_ASM_EXCEPTION_SECTION): Define.
3313 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
3314 (nextstep_exception_section): New function.
3315 (nextstep_eh_frame_section): New function.
3316 (TARGET_ASM_EXCEPTION_SECTION): Define.
3317 (TARGET_ASM_EH_FRAME_SECTION): Define.
3318
3319 * config/pa/som.h (EXCEPTION_SECTION): Remove.
3320 (TARGET_ASM_EXCEPTION_SECTION): Define.
3321 * config/rs6000/sysv4.h, config/rs6000/xcoff.h
3322 (EXCEPTION_SECTION): Remove.
3323 (TARGET_ASM_EXCEPTION_SECTION): Define.
3324 * config/stormy16/stormy16.h: Remove comments referencing
3325 EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
3326
3327 * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
3328 TARGET_ASM_EH_FRAME_SECTION.
3329
33302001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
3331
3332 * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
3333 terms.
3334
3335 * c-format.c: Fix spelling typo in comment.
3336
3337 * sched-int.h: Fix typo in GCC preamble.
3338
33392001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
3340
3341 PR debug/4252
3342 * doc/invoke.texi: Remove references to -fdump-translation-unit.
3343
33442001-10-22 Richard Henderson <rth@redhat.com>
3345
3346 * config/i386/i386.c (ix86_expand_clear): New.
3347 * config/i386/i386-protos.h: Declare it.
3348 * config/i386/i386.md (setcc peep2s): Use it.
3349 (movsi_xor): Unexport.
3350
33512001-10-22 Richard Henderson <rth@redhat.com>
3352
3353 * flow.c (clear_log_links): Use free_INSN_LIST_list, not
3354 free_EXPR_LIST_list for LOG_LINKS.
3355
33562001-10-21 Robert Lipe <robertlipe@usa.net>
3357
3358 * config/i386/i386.c (sco_asm_named_section): Delete.
3359 (sco_asm_out_constructor): Delete.
3360 * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
3361 (ASM_OUTPUT_DOUBLE_INT): Likewise.
3362 (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
3363 (TARGET_ASM_NAMED_SECTION): Use default for ELF.
3364 (EXCEPTION_SECTION): Delete EH scn renaming hack.
3365
33662001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3367
3368 * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
3369 and/or fold extra calls into fewer ones.
3370 * collect2.c (dump_file): Likewise.
3371 * cppexp.c (parse_number): Likewise.
3372 * cpplex.c (_cpp_lex_direct): Likewise.
3373 * final.c (output_asm_insn, asm_fprintf): Likewise.
3374 * fix-header.c (inf_scan_ident, main): Likewise.
3375 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3376 Likewise.
3377 * fold-const.c (real_hex_to_f): Likewise.
3378 * gen-protos.c (parse_fn_proto): Likewise.
3379 * genattrtab.c (check_attr_test, check_attr_value): Likewise.
3380 * genrecog.c (change_state, write_action): Likewise.
3381 * gensupport.c (shift_output_template): Likewise.
3382 * local-alloc.c (requires_inout): Likewise.
3383 * mips-tfile.c (IS_ASM_IDENT): Likewise.
3384 * protoize.c (is_id_char, main): Likewise.
3385 * real.c (asctoeg): Likewise.
3386 * recog.c (asm_operand_ok): Likewise.
3387 * reload.c (find_reloads): Likewise.
3388 * scan.c (scan_identget_token): Likewise.
3389 * sched-vis.c (print_value): Likewise.
3390 * stringpool.c (ggc_alloc_string): Likewise.
3391 * toplev.c (read_integral_parameter, decode_g_option): Likewise.
3392 * tradcif.y (parse_number, yylex, parse_escape): Likewise.
3393 * tradcpp.c (rescan): Likewise.
3394 * tree.c (clean_symbol_name): Likewise.
3395 * varasm.c (decode_reg_name): Likewise.
3396
3397 * alpha.h (ASM_OUTPUT_ASCII): Likewise.
3398 * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
3399 * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
3400 * m88k.c (output_ascii): Likewise.
3401 * m88k.h (OVERRIDE_OPTIONS): Likewise.
3402 * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
3403 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
3404 * sh.h (REG_CLASS_FROM_LETTER): Likewise.
3405
34062001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
3407
3408 * langhooks.c (lang_hook_default_do_nothing,
3409 lang_hook_default_decode_option): New defaults.
3410 * langhooks.h: Make hooks unconditional and non-NULL.
3411 * toplev.c (compile_file, toplev_main): Update.
3412 * toplev.h: Update comments.
3413 * objc/objc-act.c (lang_hooks): Update to new paradigm.
3414
34152001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3416
3417 * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
3418
3419 * system.h (IN_RANGE): New macro.
3420
34212001-10-21 Zack Weinberg <zack@codesourcery.com>
3422
3423 * aclocal.m4 (AM_WITH_NLS): Also create and substitute
3424 INTLDEPS variable, which does not include $LIBICONV.
3425 * Makefile.in: Use INTLDEPS in LIBDEPS.
3426 * configure: Regenerate.
3427
34282001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
3429
3430 * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
3431 * cpplex.c (lex_percent, lex_dot): Remove.
3432 (get_effective_char, skip_block_comment, skip_line_comment,
3433 parse_identifier_slow, parse_number, parse_string, save_comment,
3434 _cpp_lex_direct): Update to do lookback freely.
3435 (IF_NEXT_IS, BACKUP): New macros.
3436 * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
3437 * cppmacro.c (paste_tokens): Update.
3438
34392001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
3440
3441 * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
3442
34432001-10-20 Hans-Peter Nilsson <hp@axis.com>
3444
3445 * reload1.c (reload): Check CONSTANT_P before calling
3446 LEGITIMATE_PIC_OPERAND_P.
3447 * config/cris/cris.c (cris_legitimate_pic_operand): Revert
3448 workaround of 2001-10-13.
3449
3450Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
3451
3452 * i386.c (split_di): Handle splitting of DFmode.
3453
3454Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3455
3456 * emit-rtl.c (set_mem_attributes): Alignment is in bits.
3457 (adjust_address_1, offset_address): Likewise.
3458
3459 * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
3460 (output_asm_insn): Call it for each line output.
3461 Don't record an operand more than once.
3462
3463 * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
3464 * main.c: Include config.h and system.h, but not ansidecl.h.
3465 * Makefile.in (main.o): Update accordingly.
3466
3467Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
3468
3469 * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
3470
3471Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
3472
3473 * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
3474 * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
3475 Break out from ...
3476 (find_sub_basic_blocks): ... here;
3477 (find_many_sub_basic_blocks): New.
3478 * recog.c (split_all_insns): Update find_sub_basic_blocks call.
3479
3480 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
3481
3482 * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
3483
3484 * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
3485
3486 * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
3487 * flow.c (update_life_info): Measure time.
3488 * c-decl.c: Include timevar.h
3489 (c_expand_body): Measure time.
3490 * toplev.c (rest_of_compilation): Measure time of mode switching
3491 separately.
ff7cc307 3492 * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
2ea792c2
JJ
3493
3494 * toplev.c (flag_asynchronous_unwind_tables): New global variable.
3495 (lang_independent_options): Add asynchronous-unwind-tables
3496 (toplev_main): flag_asynchronous_unwind_tables implies
3497 flag_unwind_tables.
3498 * flags.h (flag_asynchronous_unwind_tables): Declare.
3499 * dwarf2out.c (dwarf2out_stack_adjust): Take into account
3500 flag_asynchronous_unwind_tables.
3501 (output_call_frame_info): Likewise.
3502 * invoke.texi (-fasynchronous-unwind-tables): Document.
3503 * i386.c (optimization_options): Enable
3504 flag_asynchronous_unwind_tables.
3505
3506 * i386.c (ix86_expand_setcc): Always expect target to be QImode.
3507 * i386.md (s* expanders): Destination is QImode.
3508
3509 * toplev.c (rest_of_compilation): Do not call clear_log_links.
3510 * rtl.h (clear_log_links): Kill.
3511 * flow.c (clear_log_links): Make static; accept blocks parameter;
3512 do no clear life info.
3513 (update_life_info): Call clear_log_links.
3514
3515 * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
3516
35172001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
3518
3519 * cpplex.c (handle_newline, skip_escaped_newlines,
3520 get_effective_char, skip_block_comment, skip_line_comment,
3521 parse_identifier_slow, parse_number, parse_string,
3522 _cpp_lex_direct): Update to do more stepping back.
3523 (trigraph_ok): Similarly. Rename trigraph_p.
3524 (SAVE_STATE, RESTORE_STATE): Remove.
3525 (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
3526
3527 * cpplib.c (destringize): Rename destringize_and_run, and
3528 call run_directive directly.
3529 (_cpp_do__Pragma): Simplify.
3530
35312001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3532
3533 * pe.c (arm_pe_unique_section): Const-ify.
3534 * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3535 (switch_to_section): Add static prototype.
3536
3537 * output.h (drectve_section): Prototype.
3538
35392001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3540
3541 * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
3542 fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
3543 parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
3544 i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
3545 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3546 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
3547 i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
3548 i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
3549 i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
3550 i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
3551 i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
3552 i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
3553 ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
3554 mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
3555 powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3556 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3557 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3558 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3559 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3560 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
3561 rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
3562 sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
3563 v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
3564 cris-*-none, cris-*-linux*: Update ${tmfile} list.
3565 (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
3566 i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
3567 mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
3568 powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
3569 v850-*-*): Delete superflous ${cpu_type} setting.
3570 * config/linux.h: Delete svr4.h include.
3571 (SET_ASM_OP): Delete.
3572 * config/netware.h (INT_ASM_OP): Undef before define.
3573 * config/ptx4.h: Delete elfos.h include.
3574 (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
3575 * config/svr4.h: Delete elfos.h include. Update commentary.
3576 * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
3577 config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
3578 config/mn10200/mn10300.h, config/stormy16/stormy16.h,
3579 config/v850/v850.h: Delete svr4.h include.
3580 * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
3581 config/m68k/m68kv4.h, config/m88k/sysv4.h,
3582 config/sparc/sysv4.h: Update includes.
3583 * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
3584 config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
3585 config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
3586 config/m88k/dguxbcs.h: Delete includes.
3587 * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
3588 (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
3589 * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
3590 it.
3591 * config/m88k/dgux.h: Delete include.
3592 (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
3593 defining it.
3594 * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
3595 ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
3596 * config/sh/elf.h: Update include.
3597 (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
3598 DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
3599
36002001-10-19 Catherine Moore <clm@redhat.com>
3601
3602 * config/stormy16/stormy-abi: Updates to varargs descriptions.
3603 * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
3604 base and count fields.
3605 (stormy16_expand_builtin_va_start): last_reg_count changed to
3606 size_of_reg_args. Use count + size in first comparison.
3607
3608Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3609
3610 * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
3611 * toplev.h (struct lang_hooks): New field HONOR_READONLY.
3612 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
3613 TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
3614 Set alignment from type if INDIRECT_REF.
3615 (adjust_address_1, offset_address): Simplify alignment compuitation.
3616 * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
3617 here; done by set_mem_attributes.
3618
36192001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3620
3621 * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
3622 * arm-protos.h (rdata_section, zero_init_section, common_section):
3623 Prototype.
3624 * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
3625 * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
3626 traditional mode stringification.
3627 * function.c (thread_prologue_and_epilogue_insns): Wrap variable
3628 in macros controling its use.
3629 * rtlanal.c: Include tm_p.h.
3630 * varasm.c (asm_output_aligned_bss): Mark parameter with
3631 ATTRIBUTE_UNUSED.
3632 (assemble_constant_align, assemble_start_function, assemble_align,
3633 assemble_variable, assemble_trampoline_template,
3634 output_constant_def_contents): Wrap potentially empty if-stmt body
3635 in brackets.
3636
36372001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3638
3639 * a29k-protos.h (literal_section): Prototype.
3640 * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
3641 * a29k.md: Ensure function pointers are prototyped.
3642 * genattrtab.c (write_eligible_delay): Mark parameter with
3643 ATTRIBUTE_UNUSED.
3644
36452001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3646
3647 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
3648 * 1750a.c (print_operand): Fix format specifier warning.
3649 * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
3650 * 1750a.md: Likewise.
3651 * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
3652 * genemit.c (output_add_clobbers): Mark parameter with
3653 ATTRIBUTE_UNUSED.
3654 * genrecog.c (write_subroutine): Likewise.
3655 * integrate.c (expand_inline_function): Delete unused variable.
3656 * varasm.c (remove_from_pending_weak_list): Wrap with
3657 ASM_WEAKEN_LABEL.
3658
36592001-10-19 Jakub Jelinek <jakub@redhat.com>
3660
3661 * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
3662 field is different to previous argument's neg field.
3663
3664 * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
3665
3666Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3667
3668 * final.c (get_decl_from_op): New function.
3669 (output_asm_insn): Call it; write "*" when item with decl is address.
3670
36712001-10-19 Janis Johnson <janis187@us.ibm.com>
3672
3673 * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
3674 about 64-bit support from the 3.0_branch version.
3675
36762001-10-19 Zack Weinberg <zack@codesourcery.com>
3677
3678 * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
3679 USE_INCLUDED_LIBINTL when appropriate.
3680 * configure, config.in: Regenerate.
3681 * Makefile.in (datadir): Set to @datadir@.
3682 (intl.o): Also depend on $(CONFIG_H) and system.h.
3683
3684 * intl.c: Factor out common gettext initialization sequence.
3685 (gcc_init_libintl): New function.
3686 * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
3687 otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
3688 off NLS. Add multiple include guard. No need to #ifdef-guard
3689 an #undef. Prototype gcc_init_libintl here.
3690
3691 * collect2.c (main), cppmain.c (general_init), gcc.c (main),
3692 gcov.c (main), protoize.c (main), toplev.c (toplev_main):
3693 Use gcc_init_libintl.
3694
36952001-10-19 Catherine Moore <clm@redhat.com>
3696
3697 * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
3698
3699 * config/stormy16/stormy16.c (stormy16_split_move): Make
3700 sure that REG_INC notes are present for auto_inc operands.
3701
37022001-10-19 Andreas Jaeger <aj@suse.de>
3703
3704 * configure: Regenerated.
3705 * configure.in: Add x86_64 to switch statements.
3706
b2c9c37e
RH
37072001-10-18 Richard Henderson <rth@redhat.com>
3708
2ea792c2 3709 * config/alpha/alpha.md (sibcall_osf_1): Load destination
b2c9c37e
RH
3710 address into $27 explicitly.
3711 (sibcall_value_osf_1): Likewise.
3712
0d4903b8
RK
3713Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3714
3715 * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
3716 (offset_address): New function.
3717 (free_emit_status): Free regno_decl.
3718 (init_emit): Pass proper number of elements to xcalloc.
3719 Allocate regno_decl.
3720 (mark_emit_status): Mark regno_decl values.
3721 * expr.c (highest_pow2_factor): New function.
3722 (expand_assigment): Use it and offset_address.
3723 Properly handle ptr_mode vs. Pmode in offset calculation.
3724 (store_constructor, expand_expr_unaligned): Likewise.
3725 (expand_expr, case COMPONENT_EXPR): Likewise.
3726 * expr.h (offset_address): New decl.
3727 * function.h (struct emit_status): Add regno_decl.
3728 (REGNO_DECL): New macro.
3729 * final.c (output_asm_name): Move in file and don't conditionalize
3730 on flag_print_asm_name.
3731 (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
3732 Output names of operands, if known.
3733 * function.c (assign_parms): Set REGNO_DECL.
3734 * integrate.c (integrate_decl_tree): Likewise.
3735 * stmt.c (expand_decl): Likewise.
3736 * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
2ea792c2 3737
9162542e
AO
37382001-10-18 Alexandre Oliva <aoliva@redhat.com>
3739
3740 * attribs.c (handle_noinline_attribute): New function.
3741 (handle_used_attribute): Likewise.
3742 (c_common_attribute_table): Added noinline and used.
3743 * doc/extend.texi (Function Attributes): Document them.
3744 * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
3745 Warn when merging inline with attribute noinline.
3746 (start_decl, start_function): Warn if inline and attribute
3747 noinline appear in the same declaration.
3748
51fabca5
NB
37492001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
3750
3751 * config.gcc: Update c4x and i370 for C front end-specific
3752 dependencies.
3753 * config/c4x/c4x-c.c: New.
3754 * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
3755 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3756 New declarations.
3757 * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
3758 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3759 Make extern.
3760 (c4x_init_pragma): Remove.
3761 (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
3762 c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
3763 c4x_pr_ignored): Move to c4x-c.c.
3764 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3765 * config/c4x/t-c4x: Update.
3766 * config/i370/i370-c.c: New.
3767 * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
3768 (i370_pr_map): Move to i370-c.c.
2ea792c2 3769 * config/i370/t-i370: New.
51fabca5
NB
3770
3771 * doc/tm.texi: Update.
3772
a4f6c312
SS
37732001-10-17 Stan Shebs <shebs@apple.com>
3774
3775 * config/rs6000/rs6000.c: Make assorted mechanical formatting and
3776 typo fixes throughout.
3777 (machopic_output_stub): Remove some dead code.
3778
34f5271d
RE
37792001-10-17 Richard Earnshaw <rearnsha@arm.com>
3780
3781 * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
3782 leak.
3783
738cc472
RK
3784Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3785
3786 * Makefile.in (print-rtl.o): Depend on TREE_H.
3787 * alias.c (get_alias_set): Make two passes over objects to first
3788 see if inner object is access via restricted pointer.
3789 Defer allocating alias set for restricted pointer until here.
3790 Call find_placeholder with second arg nonzero.
3791 Minor cleanups.
3c5ad1ff
RK
3792 * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
3793 set for restricted pointer types.
738cc472
RK
3794 * emit-rtl.c (set_mem_attributes): Set more attributes.
3795 (set_mem_align, change_address, adjust_address_1): New functions.
3796 (change_address_1): Now static.
3797 (adjust_address, adjust_address_nv): Deleted.
3798 (replace_equiv_address): Call change_address_1.
3799 * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
3800 (find_placeholder): Get starting point from PLIST arg.
3801 (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
3802 * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
3803 (adjust_address, adjust_address_nv): New macros.
3804 * print-rtl.c (tree.h): New include.
3805 (print_rtx, case MEM): Print all memory attributes.
3806
4d8f669f
RH
38072001-10-17 Richard Henderson <rth@redhat.com>
3808
3809 * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
3810
14976c58
MK
38112001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
3812
3813 * c-tree.texi: Eliminate duplicated word.
3814 * cpp.texi: Likewise.
3815 * install.texi: Likewise.
3816 * invoke.texi: Likewise.
3817 * tm.texi: Likewise.
3818
808dbdd5
MC
38192001-10-17 Michael Collison <collison@isisinc.net>
3820
3821 * dsp16xx.c: Fix comment formatting to match GNU standards.
2ea792c2 3822 (dsp16xx_output_function_prologue): Change type of 'size'
808dbdd5
MC
3823 parameter from 'int' to HOST_WIDE_INT.
3824 (dsp16xx_output_function_epilogue): Change type of 'size'
3825 parameter from 'int' to HOST_WIDE_INT.
3826
f88c65f7
RH
38272001-10-16 Richard Henderson <rth@redhat.com>
3828
3829 * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
3830 * configure, config.in: Rebuild.
3831
3832 * config/i386/i386.c (ix86_output_addr_vec_elt): New.
3833 (ix86_output_addr_diff_elt): New.
3834 * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
3835 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3836 (JUMP_TABLES_IN_TEXT_SECTION): New.
3837 * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
3838 * config/i386/i386-protos.h: Update.
3839
3840 * config/i386/386bsd.h, config/i386/beos-elf.h,
3841 config/i386/freebsd-aout.h, config/i386/freebsd.h,
3842 config/i386/i386-interix.h, config/i386/i386elf.h,
3843 config/i386/linux.h, config/i386/netbsd-elf.h,
3844 config/i386/netbsd.h, config/i386/openbsd.h,
3845 config/i386/ptx4-i.h, config/i386/rtemself.h,
3846 config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
3847 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
3848
2ec37136
FW
38492001-10-16 Florian Weimer <fw@deneb.enyo.de>
3850
3851 * stmt.c (expand_asm_operands): Update commentary.
3852
abe72dd8
SS
38532001-10-16 Stan Shebs <shebs@apple.com>
3854
3855 * config/darwin.h (GCC_NAME): Remove, no longer used.
3856 (NO_MATH_LIBRARY): Ditto.
3857 (MATH_LIBRARY): Define to emptiness.
3858 (DWARF2_DEBUGGING_INFO): Define.
3859 (PREFERRED_DEBUGGING_TYPE): Define.
3860 (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
3861 (EXCEPTION_SECTION): Define.
3862 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3863 * config/darwin.c (darwin_encode_section_info): Handle case of
3864 DECL_INITIAL being error_mark_node.
3865
1afec8ad
RH
38662001-10-16 Richard Henderson <rth@redhat.com>
3867
3868 * alpha.c (current_file_function_operand): Don't fail for profiling.
3869 (direct_call_operand): New.
3870 * alpha-protos.h: Declare it.
3871 * alpha.h (EXTRA_CONSTRAINT): Use it.
3872 (PREDICATE_CODES): Add it.
3873 (ASM_OUTPUT_MI_THUNK): Remove.
3874 * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
3875 * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
3876
08777234 38772001-10-16 Krister Walfridsson <cato@df.lth.se>
2ea792c2 3878
08777234
KW
3879 * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
3880 (JUMP_TABLES_IN_TEXT_SECTION): Define.
3881
d39ac0fd
JH
3882Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
3883
3884 * cfg.c (free_edge): Break out from ....
3885 (remove_edge): ... here.
3886 (clear_edges): Use free_edge.
3887
3888 * att.h (ASM_QUAD): Add comment.
3889 * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
3890
44cf5b6a
JH
3891Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
3892
3893 * i386.c (split_ti): New function.
3894 (ix86_split_to_parts): Support TImodes.
3895 * i386.h (VALID_INT_MODE_P): Add TImode.
3896 * i386.md (movdi splitter): Fix.
3897 (movti): Support 64bit integer registers.
3898 (movti_rex64): New function and splitter.
3899
3900 * i386.c (*_cost): Add movsx/movzx cost.
3901 * i386.h (struct processor_costs): Add movsx/movzx fields.
3902 (RTX_COSTS): Handle zero/sign extend + avoid believing that
3903 64bit operations require split on 64bit machine.
3904 (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
3905
ff7cc307 3906 * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
44cf5b6a
JH
3907 (ix86_expand_move): Avoid pushes of memory if size does not match;
3908 move long constants to register.
3909 (x86_initialize_trampoline): Fix mode.
3910 * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
3911 Use ASM_QUAD on 64bit.
3912 * i386.md (test pattern): Disallow impossible constants.
3913 (tablejump PIC expander): Fix emitting of sum.
3914 (movdicc_rex64): Rename to movdicc.
3915 * linux64.h (LINK_SPEC): Add missing '%'.
3916
e95301f5
AO
39172001-10-16 Alexandre Oliva <aoliva@redhat.com>
3918
3919 * tree-inline.c (inlinable_function_p): Leave it up to the
3920 front-end to turn -finline-functions into DECL_INLINE set for all
3921 functions.
3922
deb5bfcc
SS
39232001-10-16 Stan Shebs <shebs@apple.com>
3924
3925 * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
3926
0936a455
AM
39272001-10-16 Alan Modra <amodra@bigpond.net.au>
3928
ffb5e2e2
AM
3929 * recog.c: Formatting and comment typo fixes.
3930
0936a455
AM
3931 * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
3932 version in single tree build.
3933 * configure: Regenerate.
3934
2d4368e6
DE
39352001-10-15 David Edelsohn <edelsohn@gnu.org>
3936
3937 * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
3938 MODE arguments to gen_rtx and compare operand with const0_rtx.
3939
41441dc7
NB
39402001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
3941
3942 * system.h: Poison old unused target macros.
3943 * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
3944 * config/stormy16/stormy16.c: Update references to obsolete macros.
3945 * config/stormy16/stormy16.h: Similarly.
3946 * config/stormy16/stormy16.md: Similarly.
3947 * config/cris/cris.h: Similarly.
3948
4b115ff0
NB
39492001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
3950
3951 * cpplib.c (struct pragma_entry): Store the name as a hashnode.
3952 (lookup_pragma_entry, insert_pragma_entry, do_pragma,
3953 cpp_register_pragma): Update accordingly.
3954
a5da89c6
NB
39552001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
3956
3957 * c-pragma.h (cpp_register_pragma_space): Remove.
3958 * cpplib.h (cpp_register_pragma_space): Remove.
3959 * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
3960 (cpp_register_pragma_space): Remove.
3961 (cpp_register_pragma): Simplify using lookup_pragma_entry,
3962 add sanity checks.
3963 (do_pragma): Similarly.
3964 (_cpp_init_internal_pragmas): Don't register namespaces.
3965
3966 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
3967 Don't register namespaces.
3968 * cp/lex.c (init_cp_pragma): Similarly.
3969 * doc/tm.texi: Update.
3970
0cb13cd2
CR
39712001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
3972
3973 PR c/4157
3974 * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
3975
c54db4c9
MC
39762001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
3977
2ea792c2 3978 * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
c54db4c9
MC
3979 add scheduling support.
3980 * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
3981 * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
3982 * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
3983
3984
5e3db92d
HPN
39852001-10-13 Hans-Peter Nilsson <hp@axis.com>
3986
3987 * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
3988 missing CONSTANT_P test in core GCC.
3989
0c34509f
NB
39902001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
3991
3992 * cppmain.c (struct printer): New member source.
3993 (scan_translation_unit): Fix spacing at start of lines.
3994 (cb_line_change): Update.
3995
3996 * gcc.dg/cpp/spacing2.c: New test.
3997
44a4ca5e
HPN
39982001-10-12 Hans-Peter Nilsson <hp@axis.com>
3999
4000 * config/cris/arit.c: Use __builtin_labs, not abs.
4001
4002 * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
4003
4004 * config/cris/cris.c (cris_target_asm_function_epilogue): Move
4005 misplaced sprintf and fprintf argument.
4006
71a94577
ZW
40072001-10-12 Zack Weinberg <zack@codesourcery.com>
4008
4009 * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
4010 * configure.in, Makefile.in: Take out obsolete check-po logic.
4011 * configure, config.in: Regenerate.
4012
7e21622e
ZL
40132001-10-12 Ziemowit Laski <zlaski@apple.com>
4014
4015 * objc/objc-act.c (finish_objc): Correct precondition for emitting
4016 symtab declarations.
4017
592696dd
SS
40182001-10-12 Stan Shebs <shebs@apple.com>
4019
4020 * config/rs6000/rs6000.c: Remove uses of "register" specifier in
4021 declarations of arguments and local variables.
4022
4717f6c1
CF
40232001-10-12 Christopher Faylor <cgf@redhat.com>
4024
4025 * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
4026 ENDFILE_SPEC definition.
4027
71287280
KH
40282001-10-12 Kazu Hirata <kazu@hxi.com>
4029
4030 * gthr-dce.h: Fix comment formatting.
4031 * gthr-posix.h: Likewise.
4032 * gthr-single.h: Likewise.
4033 * gthr-solaris.h: Likewise.
4034 * gthr-vxworks.h: Likewise.
4035 * gthr-win32.h: Likewise.
4036
8554d9a4
JJ
40372001-10-12 Jakub Jelinek <jakub@redhat.com>
4038
4039 * final.c (output_asm_insn): Make sure assembly dialects are
4040 terminated, not nested. Output `|' and `}' characters if they
4041 don't appear inside assembly dialect selection.
4042 * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
4043 rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
4044 rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
4045 strsetsi_rex_1): Add {} braces.
4046
7cb4ff28
ZW
40472001-10-11 Zack Weinberg <zack@codesourcery.com>
4048
4049 * toplev.c (compile_file): Ignore return value from yyparse.
4050 Always pop any nested binding levels after yyparse returns.
4051
bcb913fb
RH
40522001-10-11 Richard Henderson <rth@redhat.com>
4053
4054 * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
4055
5929a2f0
RH
40562001-10-11 Richard Henderson <rth@redhat.com>
4057
4058 * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
4059 fall back to add_AT_long_long for large CONST_INT.
4060
10978207
RH
40612001-10-11 Richard Henderson <rth@redhat.com>
4062
4063 * config/i386/i386.md (setcc splitters): Add four splitters to
4064 simplify compound compares that simplify_comparison can't handle.
4065
8206c799
ZW
40662001-10-11 Zack Weinberg <zack@codesourcery.com>
4067
4068 * cpplex.c (digraph_spellings, token_spellings): Make static.
4069
a185c302
FS
40702001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4071
4072 * unroll.c (loop_iterations): Fixup last patch.
4073
4a8d0c9c
RH
40742001-10-11 Richard Henderson <rth@redhat.com>
4075
4076 * rtl.h (REG_VTABLE_REF): New.
4077 * rtl.c (reg_note_name): Add it.
4078 * combine.c (distribute_notes): Handle it.
4079 * final.c (final_scan_insn): Handle it.
4080 * tree.def (VTABLE_REF): New.
4081 * expr.c (expand_expr): Handle it.
4082 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
4083 * output.h: Declare them.
4084
8063ddcf
RH
40852001-10-11 Richard Henderson <rth@redhat.com>
4086
4087 * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
4088 for a DECL_INITIAL.
4089
0faae2f5
DE
40902001-10-11 David Edelsohn <edelsohn@gnu.org>
4091
4092 * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
4093 available in 64-bit mode.
4094
0b85d816
HPN
40952001-10-11 Hans-Peter Nilsson <hp@axis.com>
4096
4097 * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
4098 cris-*-linux* cases.
4099 * config/cris/cris-protos.h: New file.
4100 * config/cris/cris.c: New file.
4101 * config/cris/cris.h: New file.
4102 * config/cris/cris.md: New file.
4103 * config/cris/linux.h: New file.
4104 * config/cris/aout.h: New file.
4105 * config/cris/arit.c: New file.
4106 * config/cris/cris_abi_symbol.c: New file.
4107 * config/cris/mulsi3.asm: New file.
4108 * config/cris/t-aout: New file.
4109 * config/cris/t-cris: New file.
4110 * config/cris/t-elfmulti: New file.
4111 * config/cris/t-linux: New file.
4112 * doc/invoke.texi: Add CRIS options.
4113 * doc/install.texi (Specific): Add blurb for CRIS.
4114
6462eafa
HS
41152001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
4116
4117 * config/float-i128.h: Make sure __STDC__VERSION__ is defined
4118 before using it.
4119 * config/float/i32.h: Likewise.
4120 * config/float-i386.h: Likewise.
4121 * config/float-i64.h: Likewise.
4122 * config/float-m68k.h: Likewise.
4123 * config/float-sh.h: Likewise.
4124 * config/float-sparc.h: Likewise.
4125
8647444e
HPN
41262001-10-11 Hans-Peter Nilsson <hp@axis.com>
4127
4128 * doc/contrib.texi: Add note about CRIS port to my entry.
4129
eebedaa5
KH
41302001-10-11 Kazu Hirata <kazu@hxi.com>
4131
4132 * basic-block.h: Fix formatting.
4133 * bitmap.h: Likewise.
4134 * cpplib.h: Likewise.
4135 * c-tree.h: Likewise.
4136 * diagnostic.h: Likewise.
4137 * flags.h: Likewise.
4138 * ggc.h: Likewise.
4139 * longlong.h: Likewise.
4140 * real.h: Likewise.
4141 * reload.h: Likewise.
4142 * rtl.h: Likewise.
4143 * tree.h: Likewise.
4144
84b72302
RH
41452001-10-10 Richard Henderson <rth@redhat.com>
4146
4147 * c-parse.in (asm_operand): Allow named operands.
4148 * genconfig.c (max_recog_operands): Set to 29.
4149 * local-alloc.c (requires_inout): Skip multiple digits.
4150 * recog.c (asm_operand_ok): Likewise.
4151 (preprocess_constraints): Use strtoul for matching constraints.
4152 (constrain_operands): Likewise.
4153 * regmove.c (find_matches): Likewise.
4154 * reload.c (find_reloads): Likewise.
4155 * stmt.c (parse_output_constraint): Don't reject in-out
4156 constraint on operands > 9. Reject '[' in constraint.
4157 (expand_asm_operands): Handle named operands. Use strtoul
4158 for matching constraints.
4159 (check_operand_nalternatives): Split out from expand_asm_operands.
4160 (check_unique_operand_names): New.
4161 (resolve_operand_names, resolve_operand_name_1): New.
4162
4163 * doc/extend.texi (Extended Asm): Document named operands.
4164 * doc/md.texi (Simple Constraints): Document matching constraints
4165 on operands > 9.
4166
7f16eed4
RH
41672001-10-10 Richard Henderson <rth@redhat.com>
4168
592188a5
RH
4169 * combine.c (try_combine): Handle a SEQUENCE of one insn.
4170
4171 * i386.c (test splitter): Narrow tests vs paradoxical subregs.
4172 (jcc splitters): Add two splitters to simplify compound compares
4173 that simplify_comparison can't handle.
7f16eed4
RH
4174
41752001-10-10 Richard Henderson <rth@redhat.com>
4176
4177 * langhooks.c: Include langhooks.h.
4178 * Makefile.in (langhooks.o): Depend on it.
4179
eb9d8e4d
JW
4180Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
4181
4182 * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
4183 should not be considered as a no-op.
4184 * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
4185
b3694847
SS
41862001-10-10 Stan Shebs <shebs@apple.com>
4187
4188 * alias.c: Remove uses of "register" specifier in declarations
4189 of arguments and local variables.
4190 * c-common.c: Ditto.
4191 * c-convert.c: Ditto.
4192 * c-decl.c: Ditto.
4193 * c-format.c: Ditto.
4194 * c-semantics.c: Ditto.
4195 * c-typeck.c: Ditto.
4196 * caller-save.c: Ditto.
4197 * calls.c: Ditto.
4198 * cfg.c: Ditto.
4199 * cfgbuild.c: Ditto.
4200 * cfgrtl.c: Ditto.
4201 * collect2.c: Ditto.
4202 * combine.c: Ditto.
4203 * convert.c: Ditto.
4204 * cppexp.c: Ditto.
4205 * cppfiles.c: Ditto.
4206 * cse.c: Ditto.
4207 * dbxout.c: Ditto.
4208 * defaults.h: Ditto.
4209 * df.c: Ditto.
4210 * dwarf2out.c: Ditto.
4211 * dwarfout.c: Ditto.
4212 * emit-rtl.c: Ditto.
4213 * explow.c: Ditto.
4214 * expmed.c: Ditto.
4215 * expr.c: Ditto.
4216 * final.c: Ditto.
4217 * fix-header.c: Ditto.
4218 * floatlib.c: Ditto.
4219 * flow.c: Ditto.
4220 * fold-const.c: Ditto.
4221 * function.c: Ditto.
4222 * gcc.c: Ditto.
4223 * gcse.c: Ditto.
4224 * gen-protos.c: Ditto.
4225 * genattrtab.c: Ditto.
4226 * gencheck.c: Ditto.
4227 * genconfig.c: Ditto.
4228 * genemit.c: Ditto.
4229 * genextract.c: Ditto.
4230 * genflags.c: Ditto.
4231 * gengenrtl.c: Ditto.
4232 * genoutput.c: Ditto.
4233 * genpeep.c: Ditto.
4234 * genrecog.c: Ditto.
4235 * gensupport.c: Ditto.
4236 * global.c: Ditto.
4237 * gmon.c: Ditto.
4238 * graph.c: Ditto.
4239 * haifa-sched.c: Ditto.
4240 * hard-reg-set.h: Ditto.
4241 * hash.c: Ditto.
4242 * integrate.c: Ditto.
4243 * jump.c: Ditto.
4244 * lists.c: Ditto.
4245 * local-alloc.c: Ditto.
4246 * loop.c: Ditto.
4247 * mips-tdump.c: Ditto.
4248 * mips-tfile.c: Ditto.
4249 * optabs.c: Ditto.
4250 * prefix.c: Ditto.
4251 * print-rtl.c: Ditto.
4252 * read-rtl.c: Ditto.
4253 * real.c: Ditto.
4254 * recog.c: Ditto.
4255 * reg-stack.c: Ditto.
4256 * regclass.c: Ditto.
4257 * regmove.c: Ditto.
4258 * reload.c: Ditto.
4259 * reload1.c: Ditto.
4260 * reorg.c: Ditto.
4261 * resource.c: Ditto.
4262 * rtl.c: Ditto.
4263 * rtlanal.c: Ditto.
4264 * scan.c: Ditto.
4265 * sched-deps.c: Ditto.
4266 * sched-rgn.c: Ditto.
4267 * sdbout.c: Ditto.
4268 * simplify-rtx.c: Ditto.
4269 * stmt.c: Ditto.
4270 * stor-layout.c: Ditto.
4271 * toplev.c: Ditto.
4272 * tradcif.y: Ditto.
4273 * tradcpp.c: Ditto.
4274 * tree.c: Ditto.
4275 * unroll.c: Ditto.
4276 * varasm.c: Ditto.
4277 * xcoffout.c: Ditto.
4278
ba3c4fbb
RH
42792001-10-10 Richard Henderson <rth@redhat.com>
4280
4281 * rtl.h (can_reverse_comparison_p): Remove.
4282
0a977123
CF
42832001-10-10 Christopher Faylor <cgf@redhat.com>
4284
4285 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
4286 used.
4287
42882001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
4289
4290 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
4291 (Thanks to Chris Faylor for suggesting macro name).
4292 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
4293 WIN32 defines.
4294 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
4295 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
4296 (MATH_LIBRARY): Undef before definition.
4297 (OUTPUT_QUOTED_STRING): Likewise.
4298 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
4299
bde257ff
RH
43002001-10-10 Richard Henderson <rth@redhat.com>
4301
4302 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
4303 (fde_unencoded_compare): Likewise. Don't use subtraction to get
4304 a tristate comparison value.
4305 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
4306
c156ea30
FS
43072001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4308
e10f3d36
FS
4309 PR c++/4512
4310 * unroll.c (loop_iterations): Ignore insns generated by loop
4311 unrolling.
4312
c156ea30
FS
4313 * config.gcc (mips*-*-gnu*): Delete support.
4314 * config/mips/gnu.h: Remove.
4315
6d2f8887
KH
43162001-10-10 Kazu Hirata <kazu@hxi.com>
4317
4318 * calls.c: Fix formatting.
4319 * c-decl.c: Likewise.
4320 * cfgcleanup.c: Likewise.
4321 * combine.c: Likewise.
4322 * cppfiles.c: Likewise.
4323 * cpplib.c: Likewise.
4324 * cppmacro.c: Likewise.
4325 * crtstuff.c: Likewise.
4326 * cse.c: Likewise.
4327 * dwarf2out.c: Likewise.
4328 * expmed.c: Likewise.
4329 * expr.c: Likewise.
4330 * fold-const.c: Likewise.
4331 * function.c: Likewise.
4332 * gcse.c: Likewise.
4333 * genattrtab.c: Likewise.
4334 * ggc-page.c: Likewise.
4335 * integrate.c: Likewise.
4336 * libgcc2.c: Likewise.
4337 * loop.c: Likewise.
4338 * optabs.c: Likewise.
4339 * profile.c: Likewise.
4340 * protoize.c: Likewise.
4341 * real.c: Likewise.
4342 * recog.c: Likewise.
4343 * reload1.c: Likewise.
4344 * reload.c: Likewise.
4345 * reorg.c: Likewise.
4346 * resource.c: Likewise.
4347 * sched-rgn.c: Likewise.
4348 * sdbout.c: Likewise.
4349 * stmt.c: Likewise.
4350 * toplev.c: Likewise.
4351 * varasm.c: Likewise.
4352
1affb409
JJ
43532001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
4354
4355 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
4356 * Makefile.in (langhooks.o): Add dependencies.
4357
b999aaeb
JW
4358Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
4359
4360 * rs6000.c (rs6000_emit_load_toc_table): Don't
4361 strdup the toc label.
4362 (create_TOC_reference): Likewise.
4363
09eaf5a5
DS
43642001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
4365
4366 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
4367 version default.
4368
3da1eb0b
DS
43692001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
4370
2ea792c2 4371 * config/i386/i386.c (ix86_attribute_table): Correct
3da1eb0b
DS
4372 min_len, max_len fields for dllimport, dllexport and shared.
4373
df2a54e9
JM
43742001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
4375
4376 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
4377 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
4378 Consistently use "nonzero" instead of "non-zero".
4379
19eb1ad7
KH
43802001-10-09 Kazu Hirata <kazu@hxi.com>
4381
4382 * acconfig.h: Fix comment formatting.
4383 * c-dump.h: Likewise.
4384 * c-tree.h: Likewise.
4385 * conditions.h: Likewise.
4386 * expr.h: Likewise.
4387 * function.h: Likewise.
4388 * gthr.h: Likewise.
4389 * hwint.h: Likewise.
4390 * integrate.h: Likewise.
4391 * intl.h: Likewise.
4392 * loop.h: Likewise.
4393 * optabs.h: Likewise.
4394
2ba84f36
KH
43952001-10-09 Kazu Hirata <kazu@hxi.com>
4396
4397 * c-common.h: Fix comment formatting.
4398 * c-dump.c: Likewise.
4399 * cfg.c: Likewise.
4400 * diagnostic.h: Likewise.
4401 * except.c: Likewise.
4402 * gcc.h: Likewise.
4403 * gcov-io.h: Likewise.
4404 * genattrtab.c: Likewise.
4405 * output.h: Likewise.
4406 * predict.h: Likewise.
4407 * reload1.c: Likewise.
4408 * reload.h: Likewise.
4409 * resource.h: Likewise.
4410 * scan.h: Likewise.
4411 * system.h: Likewise.
4412 * tree.h: Likewise.
4413 * tree-inline.c: Likewise.
4414 * tsystem.h: Likewise.
4415 * varasm.c: Likewise.
4416 * xcoffout.h: Likewise.
4417
77332b4e
JM
44182001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
4419
4420 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
4421
9f2f9eb6
JM
44222001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
4423
4424 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
4425 config/i386/i386elf.h, config/i386/netbsd-elf.h,
4426 config/i386/netware.h, config/mcore/gfloat.h,
4427 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
4428 config/netware.h, gccbug.in: Update FSF address.
4429
4fe9b91c
KH
44302001-10-09 Kazu Hirata <kazu@hxi.com>
4431
4432 * c-common.c: Fix comment typos.
4433 * cfgrtl.c: Likewise.
4434 * collect2.c: Likewise.
4435 * cpplex.c: Likewise.
4436 * doloop.c: Likewise.
4437 * dwarf2out.c: Likewise.
4438 * dwarfout.c: Likewise.
4439 * expr.c: Likewise.
4440 * fold-const.c: Likewise.
4441 * gcc.c: Likewise.
4442 * gcov.c: Likewise.
4443 * gcse.c: Likewise.
4444 * global.c: Likewise.
4445 * ifcvt.c: Likewise.
4446 * loop.c: Likewise.
4447 * optabs.c: Likewise.
4448 * protoize.c: Likewise.
4449 * regclass.c: Likewise.
4450 * reorg.c: Likewise.
4451 * rtl.h: Likewise.
4452 * stmt.c: Likewise.
4453 * tree.h: Likewise.
4454 * doc/cpp.texi: Likewise.
4455 * doc/c-tree.texi: Likewise.
4456 * doc/extend.texi: Likewise.
4457 * doc/invoke.texi: Likewise.
4458 * doc/objc.texi: Likewise.
4459 * doc/tm.texi: Likewise.
4460
8d2134aa
RH
44612001-10-08 Richard Henderson <rth@redhat.com>
4462
4463 * varasm.c (set_named_section_flags): Initialize "declared".
4464
a8c01a59
RL
44652001-10-08 Robert Lipe <robertlipe@usa.net>
4466
8d2134aa 4467 * varasm.c (struct in_named_entry): Add declared.
a8c01a59
RL
4468 (named_section_first_declaration): New function.
4469 (default_elf_asm_named_section): Use it.
4470 * output.h (named_section_first_declaration): New.
4471
646ded90
RH
44722001-10-08 Richard Henderson <rth@redhat.com>
4473
592188a5
RH
4474 * i386.md (movsi_xor): Export.
4475 (setcc peep2): Use it when available; add an alternative to
646ded90
RH
4476 match zero_extendhisi2_and.
4477
e052f1a9
KG
44782001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4479
4480 * romp-protos.h (romp_initialize_trampoline): New function.
4481 * romp.c (romp_initialize_trampoline): Likewise.
4482 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
4483 romp_initialize_trampoline.
4484
da905677
KG
44852001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4486
4487 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
4488 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4489 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4490 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4491
9d1e9f93
FS
44922001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4493
4494 * unroll.c (loop_iterations): Extend check for multiple back edges.
4495
69dcadff
AO
44962001-10-08 Alexandre Oliva <aoliva@redhat.com>
4497
4498 * langhooks.h: New file.
4499 * Makefile.in (OBJS): Added langhooks.o.
4500 (c-lang.o): Depend on langhooks.h.
4501 (c-common.o): Don't depend on tree-inline.h.
4502 (tree-inline.o): Depend on toplev.h.
4503 (langhooks.o): New rule.
4504 * c-common.c: Don't include tree-inline.h.
4505 (c_mark_lang_decl): Mark argument c as unused.
4506 (c_common_lang_init): Don't initialize hooks here.
4507 * c-lang.c: Include langhooks.h, then override some macros.
4508 (lang_hooks): Initialize with macros in langhooks.h.
4509 (c_init): Don't initialize hooks here.
4510 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
4511 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
4512 * tree-inline.c: Include toplev.h. Don't define hook variables.
4513 * tree-inline.h: Don't define hook types nor declare hook
4514 variables. Move macros to...
4515 * langhooks.c: ... new file, as functions. Adjust all callers.
4516
5a2ce672
JL
45172001-10-08 Jeffrey A Law <law@cygnus.com>
4518
4519 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
4520 purge_mem_unchanging_flag on all instructions, not just on those
4521 before NOTE_INSN_FUNCTION_BEG.
4522
bbb12d76
NB
45232001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
4524
4525 * cppmacro.c (_cpp_create_definition): Leave comments off.
4526
4527 * doc/cpp.texi: Update.
4528
3e96a2fd
DD
45292001-10-08 DJ Delorie <dj@redhat.com>
4530
4531 * c-decl.c (grokfield): Make sure the only unnamed fields
4532 we're allowing are either structs or unions.
4533 * doc/extend.texi: Add documentation for the unnamed field
4534 extension.
4535
67f28219
ZW
45362001-10-08 Zack Weinberg <zack@codesourcery.com>
4537
4538 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
2ea792c2 4539 * configure.in: Use it.
67f28219
ZW
4540 * configure: Regenerated.
4541 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
2ea792c2 4542 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
67f28219 4543
c0bfe993
NB
45442001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
4545
4546 * cppfiles.c (open_file): Don't mark zero-length files
4547 never-reread here. Don't output diagnostics here either.
4548 (stack_include_file): Mark them never-reread here.
4549 (_cpp_read_file): Update.
4550
d5d1b9e2
RH
45512001-10-08 Richard Henderson <rth@redhat.com>
4552
4553 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4554
1f1b0541
RH
45552001-10-08 Richard Henderson <rth@redhat.com>
4556
4557 * expr.c (store_expr): When converting a CONST_INT for storage
4558 in a SUBREG, convert it to both SUBREG modes before stripping
4559 the SUBREG.
4560
6ba3b214
RH
45612001-10-08 Richard Henderson <rth@redhat.com>
4562
4563 * varasm.c (restore_varasm_status): New.
4564 * function.h: Declare it.
4565 * function.c (pop_function_context_from): Call it.
4566
31ed8fea
RH
45672001-10-08 Richard Henderson <rth@redhat.com>
4568
4569 * c-common.h (struct c_lang_decl): Add declared_inline.
4570 * c-tree.h (DECL_DECLARED_INLINE_P): New.
4571 * c-lang.c (c_disregard_inline_limits): Use it.
4572 * c-decl.c (duplicate_decls): Likewise.
4573 (pushdecl, redeclaration_error_message): Likewise.
4574 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
4575 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
4576 Set DECL_INLINE if -finline-functions.
4577 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
4578
d6da836d
NB
45792001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
4580
4581 * cppmacro.c (funlike_invocation_p): Move some logic to caller
4582 in enter_macro_context. Create a padding token in its own context
4583 if necessary when the search for '(' fails.
4584 (enter_macro_context): Update.
4585
cc712abf
JM
45862001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
4587
4588 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
4589 genmultilib, toplev.c: Fix spelling errors of "separate" as
4590 "seperate", and corresponding spelling errors of related words.
4591
8b60264b
KG
45922001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4593
4594 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
4595 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
4596 Likewise.
4597 * c-dump.c (dump_option_value_info): Likewise.
4598 * c-format.c (format_length_info, format_char_info,
4599 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
4600 * collect2.c (names): Likewise.
4601 * cppdefault.h (default_include): Likewise.
4602 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
4603 * flow.c (life_analysis): Likewise.
4604 * gcc.c (dir_separator_str, modify_target, option_map,
4605 target_option_translations, spec_list_1, extra_specs_1,
4606 init_spec): Likewise.
4607 * gcov.c (gcov_version_string): Likewise.
4608 * genattr.c (write_units): Likewise.
4609 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
4610 * gengenrtl.c (rtx_definition, defs): Likewise.
4611 * genrecog.c (pred_table): Likewise.
4612 * global.c (global_alloc): Likewise.
4613 * lcm.c (optimize_mode_switching): Likewise.
4614 * local-alloc.c (find_free_reg): Likewise.
4615 * params.h (param_info): Likewise.
4616 * predict.c (predictor_info): Likewise.
4617 * protoize.c (unexpansion_struct): Likewise.
4618 * real.c (bmask): Likewise.
4619 * recog.h (insn_operand_data, insn_data): Likewise.
4620 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
4621 * stmt.c (expand_nl_goto_receiver): Likewise.
4622 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
4623 target_switches, target_options): Likewise.
4624 * tradcif.y (token, tokentab2, yylex): Likewise.
4625 * tree.h (attribute_spec): Likewise.
2ea792c2 4626
8b60264b
KG
4627 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
4628 Likewise.
4629 * arc.c (arc_output_function_epilogue): Likewise.
4630 * arm.c (processors, all_cores, all_architectures,
4631 arm_override_options, isr_attribute_arg, isr_attribute_args,
4632 arm_isr_value): Likewise.
4633 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
4634 Likewise.
4635 * c4x.c (c4x_int_reglist): Likewise.
4636 * d30v.c (override_options): Likewise.
4637 * h8300.c (shift_insn): Likewise.
4638 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
4639 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
4640 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
4641 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
4642 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
4643 * i386.h (processor_costs, ix86_cost): Likewise.
4644 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
4645 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
4646 * m68k.c (codes_68881, codes_FPA): Likewise.
4647 * m88k.c (mode_from_align, max_from_align, all_from_align,
4648 best_from_align, m_options): Likewise.
4649 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
4650 * mcore.c (mode_from_align): Likewise.
4651 * mips/elf64.h (UNIQUE_SECTION): Likewise.
4652 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
4653 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
4654 * mips.h (mips_regno_to_class): Likewise.
4655 * ns32k.c (scales): Likewise.
4656 * pa.c (import_string, magic_milli): Likewise.
4657 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
4658 * sparc.c (leaf_reg_remap, sparc_override_options,
4659 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
4660 Likewise.
4661 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
4662
d1d18b46
DJ
46632001-10-07 Dale Johannesen <dalej@apple.com>
4664
4665 * reload1.c (reload_reg_free_p): Teach register interference
4666 checking that multiple output reloads are emitted in
4667 reverse order.
4668 reload1.c (reload_reg_reaches_end_p): Ditto.
4669 reload1.c (reloads_conflict): Ditto.
4670
59d42021
JM
46712001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
4672
4673 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
4674 NULL_TREE inside @code.
4675
96cd0e2d
JM
46762001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
4677
4678 * doc/gcc.texi: Document consistent style of "32-bit",
4679 "Objective-C", and "@code{NULL}".
4680
47ad4138
ZW
46812001-10-06 Zack Weinberg <zack@codesourcery.com>
4682
4683 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
4684 (cpp_token_len, cpp_spell_token, cpp_output_token,
4685 _cpp_equiv_tokens): Handle it.
4686 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
4687 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
4688 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
4689 error messages.
4690
7fb56130
RK
4691Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4692
4693 * gcc.c (default_compilers): Remove .ada.
4694
5b810d3c
NB
46952001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
4696
4697 * doc/cppinternals.texi: Update.
4698
d644be7b
ZW
46992001-10-06 Zack Weinberg <zack@codesourcery.com>
4700
4701 * gcc.c (main): Set this_file_error if the appropriate
4702 compiler for a language has not been installed.
4703
3afb4581 47042001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
2ea792c2 4705
592188a5 4706 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
3afb4581 4707
45b70dd4
JM
47082001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
4709
4710 * gccbug.in (CATEGORIES): Add ada.
4711
da6e254e
CM
47122001-10-05 Catherine Moore <clm@redhat.com>
4713
592188a5
RH
4714 * config/stormy16/stormy-abi: Document abi changes.
4715 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
4716 (ICALL_REGS): New register class.
4717 (NUM_ARGUMENT_REGISTERS): Now 6.
4718 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
4719 in registers.
4720 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
4721 * config/stormy16.md (call_internal, call_value_internal,
4722 indirect_jump): Use new 'z' constraint.
da6e254e 4723
9f1c2931
NB
47242001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
4725
4726 * doc/cppinternals.texi: Update.
4727
27d95cbe
RH
47282001-10-05 Richard Henderson <rth@redhat.com>
4729
4730 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
4731 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
4732 the gas section-name-as-label feature.
4733
591099cd
NB
47342001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
4735
4736 * doc/cppinternals.texi: Update.
4737
523fbd9d
RK
4738Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4739
4740 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
4741 to ensure valid SImode constants.
4742
d4e4baa9
AO
47432001-10-05 Alexandre Oliva <aoliva@redhat.com>
4744
4838c5ee
AO
4745 * Makefile.in (c-decl.o): Depend on tree-inline.h.
4746 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
4747 * c-decl.c: Include tree-inline.h.
4748 (c_expand_body): Call optimize_inline_calls. Determine whether
4749 a function is inlinable upfront, and only clear
4750 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
4751 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
4752 (c_disregard_inline_limits): New function.
4753 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
4754 (c_post_options): Enable tree inlining if inlining is enabled.
4755 Don't inline trees when instrumenting functions.
4756 (c_init): Initialize lang_disregard_inline_limits and
4757 lang_cannot_inline_tree_fn.
4758 * tree-inline.c (initialize_inlined_parameters): Handle calls
4759 with fewer arguments than declared parameters, and fewer
4760 parameters than passed arguments. Don't assume value is a
4761 DECL.
4762 (declare_return_variable): Convert return value back to the
4763 original type, if it was promoted.
4764 (tree_inlinable_function_p): New function.
4765 (inlinable_function_p): Don't look at DECL_INLINE if we're
4766 inlining all functions. Make it work with a NULL id.
4767 Re-check DECL_UNINLINABLE after language-specific checks.
4838c5ee 4768 * tree-inline.h (tree_inlinable_function_p): Declare it.
6afed784
AO
4769 * integrate.c (save_for_inline): Don't bother to prepare argvec
4770 when not inlining.
4838c5ee
AO
4771 * cse.c (check_for_label_ref): Don't check deleted labels.
4772
d4e4baa9
AO
4773 * Makefile.in (tree-inline.o): Depend on newly-included headers.
4774 * tree-inline.c: Include headers needed for the functions moved in.
4775 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
4776 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
4777 (copy_body, initialize_inlined_parameters): Likewise.
4778 (declare_return_variable, inlinable_function_p): Likewise.
4779 (expand_call_inline, expand_calls_inline): Likewise.
4780 (optimize_inline_calls, clone_body): Likewise.
4781 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
4782 (copy_tree_r, remap_save_expr): Likewise.
4783
588d3ade
AO
47842001-10-04 Alexandre Oliva <aoliva@redhat.com>
4785
4786 * Makefile.in (OBJS): Added tree-inline.o.
4787 (c-common.o): Depend on tree-inline.h.
4788 (tree-inline.o): New target.
4789 * c-common.c: Include tree-inline.h.
4790 (c_mark_lang_decl): Don't mark saved_tree.
4791 (c_common_lang_init): Set lang_anon_aggr_type_p.
4792 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
4793 (struct c_lang_decl): Moved saved_tree to tree_decl.
4794 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
4795 * integrate.h (function_attribute_inlinable_p): Declare it.
4796 * integrate.c (function_attribute_inlinable_p): Export it.
4797 * tree-inline.c: New file. Define variables declared in...
4798 * tree-inline.h: New file. Declare functions to be moved to
4799 tree-inline.c. Define macros and declare types and hooks for
4800 language-specific tree inlining.
4801 (flag_inline_trees): Moved definition from cp/decl2.c.
4802 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
4803 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
4804 (struct tree_decl): Moved saved_tree from c_lang_decl and
4805 inlined_fns from C++'s lang_decl.
4806
d6c0ca38
LR
48072001-10-04 Loren J. Rittle <ljrittle@acm.org>
4808
4809 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
4810 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
4811
d3d43aab
NB
48122001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
4813
4814 * doc/cppinternals.texi: Update.
4815
3054eeed
EC
48162001-10-04 Eric Christopher <echristo@redhat.com>
4817
4818 * config/mips/mips.c (init_cumulative_args): Remember to set
4819 cum->prototype.
4820 * config.gcc: Redo linux configuration. Add target_cpu_default
4821 of soft-float to all mipsisa32 combinations and tx39.
4822 * config/mips/linux.h: Remove include of mips.h.
4823
8276ed21
LR
48242001-10-03 Loren J. Rittle <ljrittle@acm.org>
4825
4826 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
4827 HOST_LDFLAGS and HOST_CPPFLAGS.
4828
8607f1bc
ZL
48292001-10-03 Ziemowit Laski <zlaski@apple.com>
4830
4831 * c-parse.in (objc_inherit_code, objc_pq_context,
4832 objc_public_flag): Make static.
4833 (objc_interface_context, objc_implementation_context,
4834 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
4835 global tree array in objc/objc-act.[ch].
4836 (methoddef): Remove unnecessary code.
4837
4838 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
4839 Hoist struct definitions to objc-act.h.
4840 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
4841 cat_count): Place declaration in objc-act.h.
4842 (objc_tree_index): Move enumeration to objc-act.h.
4843 (objc_global_trees): Place declaration and macro accessors in
4844 objc-act.h.
4845 (implementation_context): Remove duplicate; use
4846 objc_implementation_context instead:
4847 (method_context): Remove duplicate; use objc_method_context
4848 instead.
4849 (objc_ellipsis_node, objc_method_prototype_template,
4850 implemented_classes, function_type): Move global vars to
4851 objc_global_trees.
4852 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
4853 (build_message_expr): Move actual construction of ObjC message
4854 send nodes to finish_message_expr.
4855 (finish_message_expr): New routine, contains code formerly in
4856 build_message_expr.
4857 * objc/objc-act.h (finish_message_expr): New prototype.
4858 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
4859 declarations; these vars are now part of objc_global_trees.
4860 (objc_tree_index, objc_global_trees): Move definitions from
4861 objc-act.c.
4862 * objc/objc-tree.def: Update copyright info.
4863
508fc646
JW
4864Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
4865
4866 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
4867 op is NULL.
4868 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
4869 only if TARGET_ARCH64.
4870
80ebf43e
BS
48712001-10-02 Bernd Schmidt <bernds@redhat.com>
4872
4873 * doc/extend.texi: Fix some problems with previous checkin.
4874 * doc/invoke.texi: Likewise.
4875
644eddaa
NB
48762001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
4877
4878 * cpphash.h: Update comments.
4879 (cpp_context): Update.
4880 (spec_nodes): Remove n__Pragma.
4881 * cppinit.c (cpp_create_reader): Update.
4882 (builtin_array): Add _Pragma.
4883 * cpplib.h: Update comments.
4884 (NODE_DISABLED, BT_PRAGMA): New.
4885 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
4886 * cppmacro.c (struct cpp_macro): Remove disabled.
4887 (builtin_macro): Return int, handle _Pragma, push the new token
4888 on the context stack.
4889 (funlike_invocation_p): Unconstify, update.
4890 (enter_macro_context): Handle builtins here.
4891 (replace_args, push_token_context, push_ptoken_context):
4892 Update for prototype changes.
4893 (_cpp_pop_context): Update.
4894 (cpp_get_token): Don't handle buitins, nor _Pragma here.
4895 (cpp_sys_macro_p): Update.
4896 (_cpp_free_definition): Clear disabled flag.
4897 (_cpp_create_definition): Upate.
4898 * cppmain.c: Update comments.
4899
14f73b5a 4900Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
2ea792c2
JJ
4901 Andreas Jaeger <aj@suse.de>,
4902 Jan Hubicka <jh@suse.cz>
14f73b5a
JH
4903
4904 * doc/invoke.texi (i386 Options): Document x86-64 options.
4905 (i386 and x86-64 Options): Rename i386 options section.
4906
4907 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
4908 (TARGET_SWITCHES): Add -munwind-info.
4909 (MASK_NO_UNWIND_INFO): New.
4910 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
4911 biarch compilation.
4912 (ASM_OUTPUT_DOUBLE_INT): New.
4913
4914 * config/i386/linux64.h: New spec file for Linux x86-64 support.
4915 * config.gcc: Fix tm_file settings for x86-64.
4916 * config/i386/x86-64.h: New file with OS independent x86-64
4917 definitions.
4918 * config/i386/biarch64.h: New file used to configure compiler
4919 to biarch/64bit compilation.
4920
4921 * config/i386/i386.c: (override_options): Set flags default
4922 for 64bit compilation.
4923
4924Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
4925
4926 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3054eeed 4927 (ix86_expand_int_movcc): Optimize DImode conditional moves with
14f73b5a
JH
4928 constants on x86_64.
4929 (ix86_attr_length_immediate_default): Support MODE_DI.
4930 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
4931 condition.
4932 (indirect_jump, tablejump): Turn into expander.
4933
80a497e4
JM
49342001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
4935
4936 * c-common.c (c_format_attribute_table): Make format and
4937 format_arg attributes apply to function types rather than to
4938 decls.
4939 (is_valid_printf_arglist): Construct an attribute list and pass
4940 that to check_function_format rather than a name.
4941 * c-common.h (check_function_format): Adjust prototype.
4942 * c-decl.c (duplicate_decls): Preserve attributes from type of
4943 built-in decl when allowing for harmless conflict in types.
4944 * c-format.c (record_function_format,
4945 record_international_format, function_format_list,
4946 international_format_info, international_format_list): Remove.
4947 (function_format_info): Remove next, name and assembler_name.
4948 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
4949 (decode_format_attr): New.
4950 (handle_format_attribute): Handle receiving a type rather than a
4951 decl. Call decode_format_attr. Store format information in a
4952 function_format_info.
4953 (handle_format_arg_attribute): Correct comment. Handle receiving
4954 a type rather than a decl. Use unsigned HOST_WIDE_INT for
4955 arg_num.
4956 (check_format_info_recurse, check_format_info_main): Take argument
4957 numbers as unsigned HOST_WIDE_INT.
4958 (check_function_format): Take a list of attributes from the
4959 function type rather than a name or assembler name. Check for
4960 format attributes in that list and the attributes on the type of
4961 the current function rather than looking through
4962 function_format_list.
4963 (check_format_info): Use unsigned HOST_WIDE_INT for argument
4964 numbers.
4965 (check_format_info_recurse): Take format_arg attributes from the
4966 type of the function calls rather than using
4967 international_format_list. Allow for multiple format_arg
4968 attributes.
4969 * c-typeck.c (build_function_call): Pass type attributes to
4970 check_function_format rather than name or assembler name. Don't
4971 require there to be a name or assembler name to check formats.
4972
6431177a
JM
49732001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
4974
4975 * attribs.c (decl_attributes): Possibly call
4976 insert_default_attributes to insert default attributes on
4977 functions in a lazy manner.
4978 * builtin-attrs.def: New file; define the default format and
4979 format_arg attributes.
4980 * c-common.c (c_format_attribute_table): Move to earlier in the
4981 file.
4982 (c_common_nodes_and_builtins): Initialize format_attribute_table.
4983 (enum built_in_attribute, built_in_attributes,
4984 c_attrs_initialized, c_init_attributes,
4985 c_common_insert_default_attributes): New.
4986 (c_common_lang_init): Don't initialize format_attribute_table. Do
4987 call c_init_attributes.
4988 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
4989 * c-common.h (init_function_format_info): Don't declare.
4990 (c_common_insert_default_attributes): Declare.
4991 * c-decl.c (implicitly_declare, builtin_function): Call
4992 decl_attributes.
4993 (init_decl_processing): Don't call init_function_format_info.
4994 (insert_default_attributes): New.
4995 * c-format.c (handle_format_attribute,
4996 handle_format_arg_attribute): Be quiet about inappropriate
4997 declaration when applying default attributes.
4998 (init_function_format_info): Remove.
4999 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
5000 (insert_default_attributes): Declare.
5001
ed0ea560
JM
50022001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
5003
5004 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
5005
357e3f3d
JW
50062001-10-01 Jim Wilson <wilson@redhat.com>
5007
5008 * sched-deps.c (add_dependence): When elide conditional dependence,
5009 check that insn doesn't modify cond2.
5010
ed947a96
DJ
50112001-10-01 Dale Johannesen <dalej@apple.com>
5012
5013 * config/rs6000/rs6000.h (enum processor_type): Add support
5014 for 7400 (G4) and 7450.
5015 (RTX_COSTS): Ditto.
5016 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
5017 (rs6000_issue_rate): Ditto.
5018 (rs6000_adjust_cost): Fix cycle counts for compares.
5019 (debug_stack_info): Fix an obvious typo.
5020 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
5021 * doc/invoke.texi: Document.
5022 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
5023 for Darwin.
5024 (PROCESSOR_DEFAULT): Ditto.
5025
d93f142f
LR
50262001-10-01 Loren J. Rittle <ljrittle@acm.org>
5027
5028 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
5029 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
5030 later recursive make invocation.
5031
11e9ecc5
HB
50322001-10-01 Hans Boehm <boehm@acm.org>
5033
5034 * optabs.c (emit_libcall_block): When using non-call exceptions,
5035 don't add REG_LIBCALL reg notes to trapping calls.
5036
607a6500
DB
50372001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
5038
5039 * flow.c (propagate_block_delete_libcall): Remove unused first arg
5040 (propagate_one_insn): Update for above change
5041
2adaabc6
DB
50422001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
5043
5044 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
5045 _Unwind_GetTextRelBase): Argument is unused.
5046
f47e9b4e
RK
5047Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5048
5049 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
5050 Loop through NOPs, placeholders, and components.
5051 Don't go through NOPs if change mode.
5052 (record_alias_subset): Do nothing if SUBSET and SET are the same.
5053 * emit-rtl.c (set_mem_alias_set): Enable check.
5054 * expr.c (find_placeholder): New function.
5055 (expand_expr, case PLACEHOLDER_EXPR): Use it.
5056 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
5057 to modify it and avoid unneeded copies.
5058 * expr.h (expand_expr): Always define.
5059 (find_placeholder): New declaration.
5060
d5d5ec45
SC
50612001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5062
5063 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
5064 operand 2 is the stack pointer.
5065 ("addr-peephole"): Fix address computation peephole when operand 2
5066 is the stack pointer.
5067
0692acba
RK
5068Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5069
5070 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
5071 (ix86_setup_incoming_varargs): Likewise.
5072
55b3d665
JM
50732001-10-01 Jason Merrill <jason_merrill@redhat.com>
5074
5075 * stor-layout.c (layout_type): Don't complain about too-large
5076 array here.
5077
173b24b9
RK
5078Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5079
5080 * function.c (keep_stack_depressed): Don't use delete_insn.
5081
5082 * expr.h (set_mem_alias_set): Move decl to here.
5083 * rtl.h (mem_attrs): New typedef and struct.
5084 (union rtunion_def): Add field for mem_attrs.
5085 (X0MEMATTR, MEM_ATTRS): New macros.
5086 (MEM_ALIAS_SET): Use MEM_ATTRS.
5087 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
5088 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
5089 (set_mem_alias_set): Delete decl from here.
3054eeed 5090
173b24b9
RK
5091 * alias.c (set_mem_alias_set): Delete from here.
5092 * emit-rtl.c (mem_attrs_htab): New variable.
5093 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
5094 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
5095 (mem_attrs_mark, get_mem_attrs): Likewise.
5096 (gen_rtx_MEM): Clear MEM_ATTRS.
5097 (set_mem_attributes): Move to here.
5098 (set_mem_alias_set): Likewise, and call get_mem_attrs.
5099 (init_emit_once): const_int_htab now deletable htab.
5100 Initialize mem_attrs_htab.
5101 * explow.c (set_mem_attributes): Delete from here.
5102 * function.c (put_var_into_stack): Clear MEM_ATTRS.
5103 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
5104 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
5105 * reload1.c (reload): Rework changing REG to MEM.
5106
e9449401
L
51072001-09-30 H.J. Lu <hjl@gnu.org>
5108
5109 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
5110 * config.in: Rebuild.
5111
c9b9c05c
SC
51122001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5113
5114 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
5115 ("tsthi_1"): Avoid allocation in register y.
5116 ("*movqi_68hc12"): Reorganize and fix constraints.
5117 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
5118 ("addqi3"): Likewise.
5119 ("addhi3"): Fix constraints.
5120 ("*logicalhi3_zexthi"): Disparage soft registers.
5121
713b2058
SC
51222001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5123
5124 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
5125 to tmp reg.
5126
b5b4c48c
SC
51272001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5128
5129 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
5130 that we use setjmp/longjmp exceptions.
5131
8c3b2693
NB
51322001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
5133
5134 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
5135 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
5136 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5137 _cpp_pool_alloc, _cpp_next_chunk): Remove.
5138 (_cpp_extend_buff, BUFF_ROOM): Update.
5139 (_cpp_append_extend_buff): New.
5140 (struct cpp_reader): Remove macro_pool, add a_buff.
5141 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
5142 macro_pool.
5143 (cpp_destroy): Free a_buff instead of macro_pool.
5144 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
5145 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5146 _cpp_pool_alloc, ): Remove.
5147 (parse_number, parse_string): Update use of _cpp_extend_buff.
5148 (_cpp_extend_buff): Update.
5149 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
5150 * cpplib.c (glue_header_name, parse_answer):
5151 Update use of _cpp_extend_buff.
5152 (cpp_register_pragma, cpp_register_pragma_space): Use
5153 _cpp_aligned_alloc.
5154 (do_assert, do_unassert): Check for EOL, update.
5155 * cppmacro.c (stringify_arg, collect_args): Update to use
5156 _cpp_extend_buff and _cpp_append_extend_buff.
5157 (save_parameter, parse_params, alloc_expansion_token,
5158 _cpp_create_definition): Rework memory management.
5159
ed9fca3f
AP
51602001-09-29 Andris Pavenis <pavenis@lanet.lv>
5161
5162 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
5163 update md_exec_prefix.
5164 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
5165 to string constant.
5166
ba956982
UW
51672001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
5168
5169 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
5170 (SELECT_CC_MODE): Use s390_select_ccmode.
5171 * config/s390/s390-protos.h (s390_select_ccmode): Add.
5172 * config/s390/s390.c (s390_select_ccmode): New.
5173 (s390_match_ccmode): Add CCLmode.
5174 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
5175 (output_branch_condition, output_inverse_branch_condition): Removed.
5176 (print_operand): Use s390_branch_condition_mnemonic.
5177 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
5178 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
5179 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
5180
5181 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
5182 when converting conditional branches to far branches.
5183 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
5184 cmpint_di): Use CCSmode instead of CCUmode.
5185
5186 * config/s390/s390.c (legitimate_la_operand_p): New.
5187 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
5188 * config/s390/s390.md (movsi): Convert load address patterns to
5189 arithmetic operations when necessary.
5190 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
5191 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
5192 (*do_la_reg_0): Don't use before reload.
5193
5194 * config/s390/s390.c (legitimize_address): Make more efficient
5195 use of two-register addressing mode.
5196
5197 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
5198 with -mno-backchain in some corner cases.
5199
5200 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
5201
3d17d93d
AO
52022001-09-29 Alexandre Oliva <aoliva@redhat.com>
5203
5204 * reload.c (find_reloads): Mark new USE insns with QImode.
5205 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
5206 find_reloads_subreg_address): Likewise.
5207 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
5208 encountered.
5209 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
5210 CLOBBERs.
5211 (reload): Make sure there are no USEs with mode other than
5212 VOIDmode. At the end, remove those marked with QImode.
5213
793e9558
PB
52142001-09-29 Per Bothner <per@bothner.com>
5215
5216 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
5217 * Makefile.in (includedir): Rename to local_includedir.
5218 (includedir): Define as $(prefix)/include.
5219 * config.in (PREFIX_INCLUDE_DIR): New variable.
5220 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
5221
1255c85c
BS
52222001-09-29 Bernd Schmidt <bernds@redhat.com>
5223
5224 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
5225 storehps builtins.
5226 * doc/extend.texi (Vector Extensions): New node.
5227 * doc/invoke.texi (Machine Dependent Options): Add documentation for
592188a5 5228 i386 -mmmx, -msse, -m3dnow.
1255c85c 5229
86be733d
JH
5230Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
5231
5232 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
5233
8d2cef84
HPN
52342001-09-29 Hans-Peter Nilsson <hp@axis.com>
5235
6dee7384
HPN
5236 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
5237
8d2cef84
HPN
5238 * doc/invoke.texi (Optimize Options): Delete spurious @table.
5239
a3623c48
RH
52402001-09-28 Richard Henderson <rth@redhat.com>
5241
410ad077
RH
5242 * varasm.c (assemble_integer): Bound alignment check by
5243 BIGGEST_ALIGNMENT.
5244
a3623c48
RH
5245 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
5246
5bc10877
RO
52472001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5248
5249 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
5250
47f339cf
BS
52512001-09-25 Bernd Schmidt <bernds@redhat.com>
5252
5253 Mostly from Graham Stott <grahams@redhat.com>
5254 * c-common.c (type_for_mode): Add support for V2SFmode.
5255 * tree.c (build_common_tree_nodes_2): Likewise.
5256 * tree.h (enum tree_index, global_trees): Likewise.
5257 * config/i386/i386.c (x86_3dnow_a): New variable.
5258 (override_options): Support 3Dnow extensions.
5259 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
5260 Athlon's version of 3Dnow.
5261 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
5262 (ix86_expand_builtin): Handle them.
5263 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
5264 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
5265 TARGET_3DNOW_A): New macros.
5266 (TARGET_SWITCHES): Add 3Dnow switches.
5267 (VALID_MMX_REG_MODE_3DNOW): New macro.
5268 (VECTOR_MODE_SUPPORTED_P): Use it.
5269 (enum ix86_builtins): Add entries for 3Dnow builtins.
5270 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
5271 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
5272 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
5273 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
5274 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
5275 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
5276 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
5277 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
5278 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
5279 sfence_insn, prefetch): Make these available if TARGET_SSE or
5280 TARGET_3DNOW_A.
3054eeed 5281
ad919812
JH
5282Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
5283
5284 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
5285 ix86_va_start, ix86_build_va_list): Declare.
5286 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
5287 ix86_va_start, ix86_build_va_list): New global functions.
5288 * i386.md (sse_prologue_save_insn): New insn.
5289 (sse_prologue_save): New expander.
5290 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
5291 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
5292
6142088c
NB
52932001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
5294
5295 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
5296 Use size_t everywhere, make definitions consistent with
3054eeed 5297 prototypes.
6142088c 5298
49ce134f
JH
5299Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
5300
5301 * gcse.c (replace_store_insn): Use delete_insn.
5302 * loop.c (move_movables): Likewise; avoid delete_insn
5303 from clobbering notes moved elsewhere.
5304 (check_dbra_loop): Use delete_insn.
5305 * ssa.c (convert_from_ssa): Likewise.
5306 * cse.c (cse_insn): Use delete_insn.
5307
ece54d54
NB
53082001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
5309
5310 * cpphash.h (struct cpp_buff): Make unsigned.
5311 (_cpp_get_buff): Take length of size_t.
5312 (_cpp_unaligned_alloc): New.
5313 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
5314 (struct cpp_reader): Remove ident_pool. Add u_buff.
5315 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
5316 (cpp_destroy): Destroy u_buff, not ident_pool.
5317 * cpplex.c (parse_number, parse_string, save_comment,
5318 cpp_token_as_text): Update to use the unaligned buffer.
5319 (new_buff): Make unsigned.
5320 (_cpp_unaligned_alloc): New.
5321 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
5322 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
5323 Similarly.
5324 (collect_args): Make unsigned.
5325
3b681e9d
ZW
53262001-09-27 Zack Weinberg <zack@codesourcery.com>
5327
5328 * cpplex.c (cpp_output_token): Use a putc loop for
5329 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
5330
5331 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
5332 * configure, config.in: Regenerate.
5333 * system.h: Replace fwrite and fprintf with their unlocked
5334 variants if available.
5335
b97d4c0b
RH
53362001-09-27 Richard Henderson <rth@redhat.com>
5337
5338 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
5339 in favour of .eh_frame.
5340
e9cf9523
AH
53412001-09-27 Aldy Hernandez <aldyh@redhat.com>
5342
3b681e9d 5343 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
e9cf9523
AH
5344 to macros.
5345 (LIBCALL_VALUE): Likewise.
5346
c9e7a609
NB
53472001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
5348
5349 * cpphash.h: Update comment.
5350 * cpplex.c: Update comments.
5351 (_cpp_can_paste): Remove.
5352 * cpplib.h (_cpp_can_paste): Remove.
5353 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
5354 lexer rather than _cpp_can_paste.
5355
4cf817a7
NB
53562001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
5357
5358 * doc/cppinternals.texi: Update.
5359
1e013d2e
NB
53602001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
5361
5362 * cpphash.h (struct cpp_pool): Remove locks and locked.
5363 (struct cpp_context): Add member buff.
5364 (struct cpp_reader): Remove member argument_pool.
5365 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5366 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
5367 * cpplex.c (chunk_suitable): Remove pool argument.
5368 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
5369 (new_buff, _cpp_extend_buff): Update.
5370 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
5371 which buffer is returned.
5372 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
5373 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5374 * cppmacro.c (lock_pools, unlock_pools): Remove.
5375 (push_ptoken_context): Take a _cpp_buff.
5376 (enter_macro_context): Pool locking removed.
5377 (replace_args): Use a _cpp_buff for the replacement list with
5378 arguments replaced.
5379 (push_token_context): Clear buff.
5380 (expand_arg): Use _cpp_pop_context.
5381 (_cpp_pop_context): Free a context's buffer, if any.
5382
a63f73f8
DD
53832001-09-26 DJ Delorie <dj@redhat.com>
5384
5385 * c-typeck.c (digest_init): Check for sizeless arrays.
5386
9c2f7166
RH
53872001-09-26 Richard Henderson <rth@redhat.com>
5388
5389 * optabs.c (init_one_libfunc): Create a dummy function type
5390 instead of using error_mark_node.
5391
b8af0ca5
NB
53922001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
5393
5394 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
5395 _cpp_extend_buff, _cpp_free_buff): New.
5396 (struct cpp_reader): New member free_buffs.
5397 * cppinit.c (cpp_destroy): Free buffers.
5398 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
5399 _cpp_extend_buff, _cpp_free_buff): New.
5400 * cpplib.h (struct cpp_options): Remove unused member.
5401 * cppmacro.c (collect_args): New. Combines the old parse_arg
5402 and parse_args. Use _cpp_buff for memory allocation.
5403 (funlike_invocation_p, replace_args): Update.
5404
2e106602
JH
5405Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
5406
5407 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
5408
fd2c57a9
AH
54092001-09-25 Andrew Haley <aph@cambridge.redhat.com>
5410
5411 * except.c (sjlj_mark_call_sites): Change address inside sequence.
5412
ee3d5b8e
AH
54132001-09-24 Andrew Haley <aph@cambridge.redhat.com>
5414
5415 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
5416 glibc.
5417
b499d9ab
JJ
54182001-09-25 Janis Johnson <janis187@us.ibm.com>
5419 Jim Wilson <wilson@redhat.com>
5420
5421 * doc/install.texi (Specific, ia64-*-linux): Document.
5422
ca6c03ca
JH
5423Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
5424
5425 * Makefile.in (cfgrtl.o): Add.
5426 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5427 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5428 free_aux_for_edge): Declare.
5429 * cfg.c
5430 (HAVE_return): Undefine.
5431 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5432 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5433 free_aux_for_edge): New global functions.
5434 (first_delete_block): New static variable.
5435 (init_flow): Clear first_delete_block.
5436 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
5437 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
5438 try_redirect_by_replacing_jump, last_loop_beg_note,
5439 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
5440 delete_insn, delete_insn_chain, create_basic_block_structure,
5441 create_basic_block, flow_delete_block, compute_bb_for_insn,
5442 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
5443 set_block_for_new_insns, split_block, merge_blocks_nomove,
5444 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
5445 redirect_edge_and_branch, force_nonfallthru_and_redirect,
5446 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
5447 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
5448 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
5449 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5450 purge_all_dead_edges): Move to ....
5451 * cfgrtl.c: New file; .... Here.
5452
5453 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
5454 (reroder_basic_block): Use alloc_aux_for_blocks.
5455 * predict.c (estimate_bb_frequencies): Likewise; use
5456 alloc_aux_for_edges.
5457 * profile.c (compute_branch_probabilities): Likewise.
5458 (branch_prob): Likewise.
5459 * reg-stack.c (reg_to_stack): Likewise.
5460
5461 * emit-rtl.c (emit_insns_after): Never return NULL.
5462
5463 * basic-block.h (set_block_for_new_insns): Delete.
5464 * cfgrtl.c (set_block_for_new_insns): Delete.
5465
5466 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
5467 calls when crossjumping.
5468
5469 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
5470 * unroll.c (copy_loop_body): Use delete_insn.
5471
5472 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
5473 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
5474 keep_stack_depressed): Likewise.
5475 * gcse.c (cprop_cc0_jump): Likewise.
5476 * local-alloc.c (update_equiv_regs): Likewise.
5477 * loop.c (scan_loop, loop_delete_insns): Likewise.
5478 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
5479 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
5480 delete_output_reload, delete_address_reloads_1,
5481 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
5482 Likewise.
5483 * sibcall.c (replace_call_placeholder): Likewise.
5484 * cse.c (cse_insn): Likewise.
5485
eeb06b1b
BS
54862001-09-25 Bernd Schmidt <bernds@redhat.com>
5487
5488 From Graham Stott <grahams@redhat.com>
5489 (def_builtin): Only define builtins appropriate for target_flags. All
5490 callers changed.
5491 (builtin_decsription): Add new field mask which is used to determine
5492 when to define the builtin via the macro def_builtin.
5493
5494 (bdesc_comi): Initialise new mask fields.
5495 (bdesc_2srg): Likewise.
5496 (bdesc_1arg): Likewise.
5497
3b681e9d 5498 * config/i386/i386.c (ix86_init_builtins): Correct return type
21e1b5f1
BS
5499 building v4hi_ftype_v4hi_int_int tree node.
5500 (ix86_expand_sse_comi): Fix typo swapping operands.
5501 Don't swap comparision condition, it is already swapped.
5502 (ix86_expand_sse_compare): Before swapping operands
5503 move operand 1 into new rtx and not the target rtx.
5504 Don't swap comparison condition, it is already swapped.
5505 Always check whether we need to create a new TARGET.
5506
5507 * config/i386/i386.md: (sse_comi) Fix typos.
5508 (sse_ucomi): Likewise.
5509 (cvtss2si): Fix operand 0 contraint.
5510 (cvttss2si): Likewise.
5511 (sse_unpckhps): Fix mode for operand 2.
5512 (sse_unpcklps): Likewise.
5513
87f8b15f
GS
55142001-09-25 Graham Stott <grahams@redhat.com>
5515
5516 * sibcall.c (skip_copy_to_return_value): Tighten return value
5517 copy check.
5518
6a40a9d6
DE
55192001-09-24 David Edelsohn <edelsohn@gnu.org>
5520
5521 * rs6000.c (lwa_operand): Address must be word aligned.
5522
6abba055
RK
5523Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5524
5525 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
5526 number has been set.
5527 (type_hash_mark): Mark type itself.
5528
4ed5bcfb
NB
55292001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
5530
5531 * c-lex.c (cb_def_pragma): Update.
5532 (c_lex): Update, and skip padding.
5533 * cppexp.c (lex, parse_defined): Update, remove unused variable.
5534 * cpphash.h (struct toklist): Delete.
5535 (union utoken): New.
5536 (struct cpp_context): Update.
5537 (struct cpp_reader): New members eof, avoid_paste.
5538 (_cpp_temp_token): New.
5539 * cppinit.c (cpp_create_reader): Update.
5540 * cpplex.c (_cpp_temp_token): New.
5541 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
5542 (cpp_output_token): Don't print leading whitespace.
5543 (cpp_output_line): Update.
5544 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
5545 do_include_common, do_line, do_ident, do_pragma,
5546 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
5547 parse_assertion): Update.
5548 (get_token_no_padding): New.
5549 * cpplib.h (CPP_PADDING): New.
5550 (AVOID_LPASTE): Delete.
5551 (struct cpp_token): New union member source.
5552 (cpp_get_token): Update.
5553 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
5554 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
5555 replace_args, quote_string, stringify_arg, parse_arg, next_context,
5556 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
5557 _cpp_backup_tokens, _cpp_create_definition): Update.
5558 (push_arg_context): Delete.
5559 (padding_token, push_token_context, push_ptoken_context): New.
5560 (make_string_token, make_number_token): Update, rename.
5561 (cpp_get_token): Update to handle tokens as pointers to const,
5562 and insert padding appropriately.
5563 * cppmain.c (struct printer): New member prev.
5564 (check_multiline_token): Constify.
5565 (do_preprocessing, cb_line_change): Update.
5566 (scan_translation_unit): Update to handle spacing.
5567 * scan-decls.c (get_a_token): New.
5568 (skip_to_closing_brace, scan_decls): Update.
5569 * fix-header.c (read_scan_file): Update.
5570
5571 * doc/cpp.texi: Update.
5572
ad43d46f
KG
55732001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5574
5575 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
5576 leak by passing malloc'ed pointer to reconcat, not concat.
5577
b6fc7110
DD
55782001-09-24 DJ Delorie <dj@redhat.com>
5579
5580 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
5581
967bd823
UW
55822001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
5583
5584 * flow.c (delete_dead_jumptables): Delete jumptable if the only
5585 reference is from the literal pool.
5586
b9da07da
JJ
55872001-09-24 Janis Johnson <janis187@us.ibm.com>
5588
5589 * doc/install.texi (Final install): Request additional information
3b681e9d 5590 in mail about successful builds.
b9da07da 5591
cf3735b8
JDA
55922001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5593
5594 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
5595 initial value of return pointer register instead of value in frame-20.
5596 Revise comments.
5597
f3403757
JDA
55982001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5599
5600 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
5601 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
5602 the libcall if there isn't a referenced identifier for the symbol.
5603
8e1494b7
JDA
56042001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5605
5606 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
5607 non 64-bit machines. Use these as a plabel for the trampoline.
5608 (TRAMPOLINE_SIZE): Adjust size for new words.
5609 (INITIALIZE_TRAMPOLINE): Initialize new words.
5610 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
5611 pointer to the plabel in the trampoline.
5612
b848dc65
JDA
56132001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5614
5615 * pa.c (function_arg): Pass floating arguments in both general and
5616 floating registers in indirect (dynamic) calls when generating code
5617 for the 32 bit ABI and the HP assembler.
5618
250d5688
RO
56192001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5620
5621 * doc/install.texi: Markup fixes.
5622 Use Solaris 2, SunOS 4 as appropriate.
5623 (Specific, *-*-solaris2*): Explain this.
5624 Unconditionally warn against /usr/ucb tools.
5625 Remove Sun as warning, obsolete.
5626 Move X11 header bug workaround here, update patches.
5627 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
5628 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
5629
749ced52
ZW
56302001-09-23 Zack Weinberg <zack@codesourcery.com>
5631
5632 * errors.h (warning, error, fatal, internal_error): Don't mark
5633 with ATTRIBUTE_PRINTF_n.
5634 * toplev.h (internal_error, fatal_io_error, warning, error,
5635 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
5636 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
5637 Likewise.
5638
a0fd557a
RK
5639Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5640
7a80cf9a
RK
5641 * function.c (pop_function_context_from): var_refs_queue
5642 and temp slots now in GC memory.
5643 (mark_function_status, free_after_compilation): Likewise;
5644 also struct function now in GC memory.
5645 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
5646 (combine_temp_slots): Likewise.
5647 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
5648 (prepare_function_start): Use GC memory for struct function.
5649 (mark_temp_slot): Deleted.
5650 (gcc_mark_struct_function): struct function now in GC memory.
5651
0629440f
RK
5652 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
5653 code for division, not modulus.
5654
a0fd557a
RK
5655 * rtl.def (MEM): Remove obsolete part of comment.
5656
040cc071
JM
56572001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
5658
5659 * c-format.c (init_function_format_info): Check __builtin_printf
5660 and __builtin_fprintf even if -ffreestanding. Check C99 functions
5661 in gnu89 mode.
5662
bb9f8221
RK
5663Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5664
0c96e965
RK
5665 * c-common.c (format_attribute_table): Remove decl.
5666 * tree.h (format_attribute_table, lang_attribute_table): New decls.
5667 (lang_attribute_common): Likewise.
5668
6a1d250e
RK
5669 * function.c (fix_lexical_address): Use set_mem_alias_set.
5670 (expand_function_start): Likewise.
5671 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
5672
f42f3c2d
RK
5673 * varasm.c (output_constant): Fix unused variable warning.
5674
bb9f8221
RK
5675 * attribs.c: New file, from c-common.c.
5676 (attribute_tables): Now four elements.
5677 (format_attribute_table, lang_attribute_common): New variables.
5678 (init_attributes): Reflect above changes.
5679 (handle_mode_attribute): Delete check for wider than uintmax.
5680 * c-common.c: Delete parts moved to attribs.c.
5681 (enum attrs): Deleted; unused.
5682 (c_format_attribute_table): New variable.
5683 (c_common_lang_init): Initialize format_attribute_table with it.
5684 * c-common.h (decl_attributes): Remove decl.
5685 * tree.h (decl_attribute): Move it to here.
5686 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
5687 (attribs.o): New rule.
5688
b8d323b1
AJ
56892001-09-22 Andreas Jaeger <aj@suse.de>
5690
5691 * builtins.c (c_getstr): Remove unused variable.
5692
e5eac8ef
RH
56932001-09-21 Richard Henderson <rth@redhat.com>
5694
5695 * reload1.c (reload): Use delete_insn instead of splatting
5696 NOTE_INSN_DELETED.
5697
8a9a857e
RH
56982001-09-21 Richard Henderson <rth@redhat.com>
5699
5700 * reload.c (push_secondary_reload): Don't check for "=" in output
5701 constraint after ""->ALL_REGS check.
5702
ee1315aa
RH
57032001-09-21 Richard Henderson <rth@redhat.com>
5704
24ee7cae
RH
5705 * predict.c (expected_value_to_br_prob): Use pc_set.
5706
ee1315aa
RH
5707 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
5708 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
5709
9defc9b7
RH
57102001-09-21 Richard Henderson <rth@redhat.com>
5711
5712 * rtl.h (LCT_RETURNS_TWICE): New.
5713 * calls.c (emit_call_1): Set current_function_calls_setjmp for
5714 ECF_RETURNS_TWICE.
5715 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
5716 to ECF_RETURNS_TWICE.
5717 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
5718 call to setjmp.
5719
5720 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
5721
5722 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
5723 (JMP_BUF_SIZE): New.
5724
1853547e
RH
57252001-09-21 Richard Henderson <rth@redhat.com>
5726
5727 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
5728 to R8_REGS.
5729
67231816
RH
57302001-09-21 Richard Henderson <rth@redhat.com>
5731
5732 * tree.def (FDESC_EXPR): New.
5733 * expr.c (expand_expr): Handle it.
5734 * varasm.c (initializer_constant_valid_p): Likewise.
5735 (output_constant): Likewise.
5736 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5737 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5738 (ASM_OUTPUT_FDESC): New.
5739 * doc/tm.texi: Document the new macros.
5740
f62ce55b
RE
574121-09-2001 Richard Earnshaw (reanrsha@arm.com)
5742
b8d323b1 5743 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
f62ce55b
RE
5744 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
5745 once merging is complete.
5746
97a4f671
RK
5747Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5748
5749 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
5750
7106d491
RE
575121-09-2001 Richard Earnshaw (reanrsha@arm.com)
5752
5753 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
5754 that would be invalid after a merge.
5755
53c17031
JH
5756Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
5757
5758 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
5759 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
5760 remove some labels.
5761 (flow_delete_insn): This one.
5762 (delete_insn_chain): Rename from ...; do not care labels.
5763 (flow_delete_insn_chain): ... this one.
5764 (flow_delete_block): Remove the insns one BB has been expunged.
5765 (merge_blocks_nomove): Likewise.
5766 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
5767 updating BB boundaries.
5768 (tidy_fallthru_edge): Likewise.
5769 (commit_one_edge_insertion): Likewise.
5770 * cfgbuild.c (find_basic_block): Likewise.
5771 (find_basic_blocks_1): Likewise.
5772 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
5773 (try_crossjump_to_edge): Likewise.
5774 (try_optimize_cfg): Likewise.
5775 * cse.c (delete_trivially_dead_insns): Likewise.
5776 * df.c (df_insn_delete): Likewise.
5777 * doloop.c (doloop_modify): Use delete_related_insns.
5778 * emit-rtl.c (try_split): Likewise.
5779 (remove_insn): Update BB boundaries.
5780 * expect.c (connect_post_landing_pads): Use delete_related_insns.
5781 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
5782 updating BB boundaries.
5783 (propagate_block_delete_insn): Likewise.
5784 (propagate_block_delete_libcall): Likewise.
5785 * function.c (delete_handlers): Use delete_related_insns.
5786 (thread_prologue_and_epilogue_insns): Likewise.
5787 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
5788 * genpeep.c (gen_peephole): Use delete_related_insns.
5789 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
5790 BB boundaries.
5791 (find_cond_trap): Likewise.
5792 * integrate.c (save_for_inline): Use delete_related_insns.
5793 (copy_insn_list): Likewise.
5794 * jump.c (pruge_linie_number_notes): Likewise.
5795 (duplicate_loop_exit_test): Likewise.
5796 (delete_computation): Likewise.
5797 (delete_related_insn): Rename from ...; use delete_insn
5798 (delete_insn): ... this one.
5799 (redirect_jump): Use delete_related_insns.
5800 * loop.c (scan_loop): Likewise.
5801 (move_movables): Likewise.
5802 (find_and_verify_loops): Likewise.
5803 (check_dbra_loop): Likewise.
5804 * recog.c (peephole2_optimize): Likewise.
5805 * reg-stack.c (delete_insn_for_stacker): Remove.
5806 (move_for_stack_reg): Use delete_insn.
5807 * regmove.c (combine_stack_adjustments_for_block): Likewise.
5808 * reload1.c (delete_address_reloads): Use delete_related_insns.
5809 (fixup_abnormal_edges): Use delete_insn.
5810 * recog.c (emit_delay_sequence): Use delete_related_insns.
5811 (delete_from-delay_slot): Likewise.
5812 (delete_scheduled_jump): likewise.
5813 (optimize_skip): Likewise.
5814 (try_merge_delay_insns): Likewise.
5815 (full_simple_delay_slots): Likewise.
5816 (fill_slots_from_thread): Likewise.
5817 (relax_delay_slots): Likewise.
5818 (make_return_insns): Likewise.
5819 (dbr_schedule): Likewise.
5820 * rtl.h (delete_insn): Rename to delete_related_insns.
5821 (delete_insn, delete_insn_chain): New prototypes.
5822 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
5823 by df_insn_delete already.
5824 * ssa-dce.c (delete_insn_bb): Use delete_insn.
5825 * ssa.c (convert_from_ssa): Use delete_related_insns.
5826 * unroll.c (unroll_loop): Likewise.
5827 (calculate_giv_inc): Likewise.
5828 (copy_loop_body): Likewise.
5829
5830 * i386-protos.h (ix86_libcall_value, ix86_function_value,
5831 ix86_function_arg_regno_p, ix86_function_arg_boundary,
5832 ix86_return_in_memory, ix86_function_value): Declare.
5833 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
5834 new static valurables.
5835 (x86_64_reg_class): New enum
5836 (x86_64_reg_class_name): New array.
5837 (classify_argument, examine_argument, construct_container,
5838 merge_classes): New static functions.
5839 (optimization_options): Enable flag_omit_frame_pointer and disable
5840 flag_pcc_struct_return on 64bit.
5841 (ix86_libcall_value, ix86_function_value,
5842 ix86_function_arg_regno_p, ix86_function_arg_boundary,
5843 ix86_return_in_memory, ix86_function_value): New global functions.
5844 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
5845 (function_arg_advance): Handle x86_64 passing conventions.
5846 (function_arg): Likewise.
5847 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
5848 (RETURN_IN_MEMORY): Move offline.
5849 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
5850 (FUNCTION_VALUE_REGNO_P): New macro.
5851 (FUNCTION_ARG_REGNO_P): Move offline.
5852 (struct ix86_args): Add maybe_vaarg.
5853 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
5854 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
5855
f2d3c02a
HP
58562001-09-21 Hartmut Penner <hpenner@de.ibm.com>
5857
5858 * s390.md: Changed attributes for scheduling.
5859 * s390.c: (s390_adjust_cost, s390_adjust_priority)
5860 Changed scheduling
5861
91d231cb
JM
58622001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
5863
5864 Table-driven attributes.
5865 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
5866 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
5867 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
5868 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
5869 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
5870 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
5871 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
5872 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
5873 * tree.h (struct tree_decl): Change machine_attributes to
5874 attributes.
5875 * doc/c-tree.texi: Document that all attributes are now attached
5876 to decls and types.
5877 * c-common.c (add_attribute, attrtab, attrtab_idx,
5878 default_valid_lang_attribute, valid_lang_attribute): Remove.
5879 (attribute_tables, attributes_initialized,
5880 c_common_attribute_table, default_lang_attribute_table): New
5881 variables.
5882 (handle_packed_attribute, handle_nocommon_attribute,
5883 handle_common_attribute, handle_noreturn_attribute,
5884 handle_unused_attribute, handle_const_attribute,
5885 handle_transparent_union_attribute, handle_constructor_attribute,
5886 handle_destructor_attribute, handle_mode_attribute,
5887 handle_section_attribute, handle_aligned_attribute,
5888 handle_weak_attribute, handle_alias_attribute,
5889 handle_no_instrument_function_attribute,
5890 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
5891 handle_no_limit_stack_attribute, handle_pure_attribute): New
5892 functions.
5893 (init_attributes, decl_attributes): Rewrite to implement
5894 table-driven attributes.
5895 * c-common.h (enum attribute_flags): Move to tree.h.
5896 * c-format.c (decl_handle_format_attribute,
5897 decl_handle_format_arg_attribute): Rename to
5898 handle_format_attribute and handle_format_arg_attribute. Update
5899 for table-driven attributes.
5900 * c-common.h (decl_handle_format_attribute,
5901 decl_handle_format_arg_attribute): Remove prototypes.
5902 (handle_format_attribute, handle_format_arg_attribute): Add
5903 prototypes.
5904 * c-decl.c (grokdeclarator): Handle attributes nested inside
5905 declarators.
5906 * c-parse.in (setattrs, maybe_setattrs): Remove.
5907 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
5908 Update to handle nested attributes properly.
5909 (maybe_resetattrs, after_type_declarator,
5910 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
5911 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
5912 properly.
5913 (make_pointer_declarator): Update to handle nested attributes
5914 properly.
5915 * doc/extend.texi: Update documentation of limits of attributes
5916 syntax. Warn about problems with attribute semantics in C++.
5917 * target.h (struct target): Remove valid_decl_attribute and
5918 valid_type_attribute. Add attribute_table and
5919 function_attribute_inlinable_p.
5920 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
5921 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
5922 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
5923 Add.
5924 (TARGET_INITIALIZER): Update.
5925 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
5926 definition.
5927 (function_attribute_inlinable_p): New function. Check for the
5928 presence of any machine attributes before using
5929 targetm.function_attribute_inlinable_p.
5930 (function_cannot_inline_p): Update.
5931 * Makefile.in (integrate.o): Update dependencies.
5932 * doc/tm.texi: Update documentation of target attributes and
5933 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
5934 * tree.c (default_valid_attribute_p, valid_machine_attribute):
5935 Remove.
5936 (default_target_attribute_table,
5937 default_function_attribute_inlinable_p): New.
5938 (lookup_attribute): Update comment to clarify handling of multiple
5939 attributes with the same name.
5940 (merge_attributes, attribute_list_contained): Allow multiple
5941 attributes with the same name but different arguments to appear in
5942 the same attribute list.
5943 * tree.h (default_valid_attribute_p): Remove prototype.
5944 (struct attribute_spec): New.
5945 (default_target_attribute_table): Declare.
5946 (enum attribute_flags): Move from c-common.h. Add
5947 ATTR_FLAG_TYPE_IN_PLACE.
5948 (default_function_attribute_inlinable_p): Declare.
5949 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
5950 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5951 (TARGET_ATTRIBUTE_TABLE): Define.
5952 (vms_attribute_table): New.
5953 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
5954 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5955 (TARGET_ATTRIBUTE_TABLE): Define.
5956 (arc_attribute_table, arc_handle_interrupt_attribute): New.
5957 * config/arm/arm.c (arm_valid_type_attribute_p,
5958 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
5959 Remove.
5960 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5961 define.
5962 (TARGET_ATTRIBUTE_TABLE): Define.
5963 (arm_attribute_table, arm_handle_fndecl_attribute,
5964 arm_handle_isr_attribute): New.
5965 * config/avr/avr.c (avr_valid_type_attribute,
5966 avr_valid_decl_attribute): Remove.
5967 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
5968 define.
5969 (TARGET_ATTRIBUTE_TABLE): Define.
5970 (avr_attribute_table, avr_handle_progmem_attribute,
5971 avr_handle_fndecl_attribute): New.
5972 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
5973 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5974 (TARGET_ATTRIBUTE_TABLE): Define.
5975 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
5976 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
5977 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5978 (TARGET_ATTRIBUTE_TABLE): Define.
5979 (h8300_attribute_table, h8300_handle_fndecl_attribute,
5980 h8300_handle_eightbit_data_attribute,
5981 h8300_handle_tiny_data_attribute): New.
5982 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
5983 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
5984 Remove prototypes.
5985 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
5986 declarations.
5987 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
5988 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5989 define.
5990 (TARGET_ATTRIBUTE_TABLE): Define.
5991 (ix86_attribute_table, ix86_handle_cdecl_attribute,
5992 ix86_handle_regparm_attribute): New.
5993 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
5994 i386_pe_valid_type_attribute_p): Remove.
5995 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
5996 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
5997 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5998 (TARGET_ATTRIBUTE_TABLE): Define.
5999 (ia64_attribute_table): New.
6000 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
6001 interrupt_ident2, model_ident1, model_ident2): Remove.
6002 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6003 (TARGET_ATTRIBUTE_TABLE): Define.
6004 (init_idents): Update.
6005 (m32r_attribute_table, m32r_handle_model_attribute): New.
6006 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
6007 Remove.
6008 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6009 (TARGET_ATTRIBUTE_TABLE): Define.
6010 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
6011 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
6012 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6013 (TARGET_ATTRIBUTE_TABLE): Define.
6014 (mcore_attribute_table, mcore_handle_naked_attribute): New.
6015 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
6016 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6017 (TARGET_ATTRIBUTE_TABLE): Define.
6018 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
6019 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
6020 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6021 (TARGET_ATTRIBUTE_TABLE): Define.
6022 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
6023 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
6024 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6025 (TARGET_ATTRIBUTE_TABLE): Define.
6026 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
6027 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
6028 New.
6029 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
6030 Remove.
6031 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
6032 (TARGET_ATTRIBUTE_TABLE): Define.
6033 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
6034 New.
6035 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
6036 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6037 (TARGET_ATTRIBUTE_TABLE): Define.
6038 (v850_attribute_table, v850_handle_interrupt_attribute,
6039 v850_handle_data_area_attribute): New.
6040 * config/v850/v850-c.c (mark_current_function_as_interrupt):
6041 Return void. Call decl_attributes instead of
6042 valid_machine_attribute.
6043
3007d592
R
6044Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
6045
6046 * sh-protos.h (sh_pr_n_sets): Declare.
6047 * sh.c (calc_live_regs): If the initial value for PR has been copied,
6048 look at the copy to determine if PR needs to be saved.
6049 sh_pr_n_sets: New function.
6050 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
6051 (ALLOCATE_INITIAL_VALUE): Define.
6052
6053 * sh.c (initial_elimination_offset):
6054 Fix RETURN_ADDRESS_POINTER_REGNUM case.
6055
385b6e2d
R
6056Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
6057
6058 * integrate.c (allocate_initial_values): New function.
6059 * integrate.h (allocate_initial_values): Declare.
6060 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
6061 here...
6062 * reload1.c (reload): And initialization of reg_equiv_memory_loc
6063 from here...
6064 * toplev.c (rest_of_compilation): To here.
6065 Call allocate_initial_values.
6066 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
6067
a4b5b2ae
RK
6068Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6069
6070 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
6071
e7b6a0ee
DD
60722001-09-20 DJ Delorie <dj@redhat.com>
6073
6074 * c-typeck.c (really_start_incremental_init): Discriminate
6075 between zero-length arrays and flexible arrays.
6076 (push_init_level): Detect zero-length arrays and handle them
6077 like fixed-sized arrays.
6078 * expr.c (store_constructor): Handle zero-length arrays and
6079 flexible arrays correctly.
6080 * doc/extend.texi: Update zero-length array notes.
6081
f5aee631
JW
60822001-09-20 Jim Wilson <wilson@redhat.com>
6083
6084 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
6085 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
6086 for issue port conflicts.
6087 (cycle_end_fill_slots): TYPE_L instructions take two slots.
6088
91dc6f6e
AM
60892001-09-20 Andrew MacLeod <amacleod@redhat.com>
6090
6091 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
6092 on ia64.
6093
4c160717
RK
6094Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6095
6096 * fold-const.c (hashtab.h): Include.
6097 (int_const_binop): Remove FORSIZE arg and compute from type; all
6098 callers changed.
6099 Call size_int_type_wide for all single-word constants.
6100 (size_htab_hash, size_htab_eq): New functions.
6101 (size_int_type_wide): Rework to use hash table.
6102 * ggc-common.c (hashtab.h): Include.
6103 (struct d_htab_root): New struct.
6104 (d_htab_roots): New variable.
6105 (ggc_add_deletable_htab, ggc_htab_delete): New functions
6106 (ggc_mark_roots): Handle deletable htabs.
6107 * ggc-page.c (ggc_marked_p): New function.
6108 * ggc-simple.c (ggc_marked_p): Likewise.
6109 * ggc.h: Reformatting throughout.
6110 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
6111 * tree.c (init_obstacks): Make type_hash_table a deletable root.
6112 (type_hash_add): Allocate struct type_hash from GC memory.
6113 (mark_hash_entry, mark_type_hash): Deleted.
6114 (type_hash_marked_p, type_hash_mark): New functions.
6115 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
6116
c762ab6e
R
6117Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
6118
6119 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
6120 than SImode.
6121
ed1a150e
RK
6122Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6123
6124 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
6125 array-too-large test for signed sizetype.
6126
6eb791fc
JH
6127Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
6128
6129 * i386.md (indirect_jump): Allow Pmode operand.
6130 (tablejump): LIkewise; perform expansion to 64bit mode.
6131 * i386.c (symbolic_operand): Allow 64bit PIC references.
6132 (pic_symbolic_operand): Likewise.
6133 (ix86_find_base_term): Strip the 64bit PIC references.
6134 (legitimate_pic_address_disp_p): Handle 64bit PIC.
6135 (legitimize_pic_address): Likewise.
6136 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
6137 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
6138
4bad9e39
APB
61392001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
6140
6141 * stringpool.c (get_identifier_with_length): New function.
6142 * tree.h (get_identifier_with_length): New prototype.
6143
40501e5f
AM
61442001-09-19 Alan Modra <amodra@bigpond.net.au>
6145 David Edelsohn <edelsohn@gnu.org>
6146
6147 Revert:
6148 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
6149 already sign-extended.
6150
6151 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
6152 * config/rs6000/rs6000.c (logical_operand): Always compare op as
6153 HOST_WIDE_INT.
6154 (rs6000_emit_set_long_const): Avoid unnecessary shift.
6155 (output_profile_hook): Declare label_name const.
6156 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
6157 to match constraints.
6158
e3aafbad
SS
61592001-09-19 Stan Shebs <shebs@apple.com>
6160
6161 * alias.c: Fix typos in comments.
6162 * sched-rgn.c (init_ready_list): Ditto.
6163 * unwind-dw2.c (uw_frame_state_for): Ditto.
6164 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
6165 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
6166 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
6167
3d9339a9
RH
61682001-09-19 Richard Henderson <rth@redhat.com>
6169
6170 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
6171 to the exit block.
6172 * Makefile.in (cfg.o): Depend on TM_P_H.
6173
e2c9fb9b
RH
61742001-09-19 Richard Henderson <rth@redhat.com>
6175
6176 * config/alpha/alpha.c (local_symbol_p): Split out from ...
6177 (local_symbolic_operand): ... here.
6178 (small_symbolic_operand): Check mode.
6179 (global_symbolic_operand): New.
6180 (input_operand): Reject symbolics if explicit relocs.
6181 (call_operand): Tidy.
6182 (alpha_legitimize_address): Use movdi_er_high_g.
6183 (alpha_expand_mov): Likewise.
6184 * config/alpha/alpha-protos.h: Update.
6185 * config/alpha/alpha.h (PREDICATE_CODES): Update.
6186 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
6187 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
6188 (UNSPECV_LDGP2): Remove.
6189 (all call patterns): Use 's' not 'i' for symbolic constraint.
6190 (call_osf call_value_osf): Use call_operand.
6191 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
6192 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
6193 (prologue_ldgp_1_er): Remove.
6194 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
6195 (builtin_setjmp_receiver_er patterns): Use them.
6196 (exception_receiver_er): Likewise.
6197
f068df3f
RH
61982001-09-19 Richard Henderson <rth@redhat.com>
6199
6200 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
6201
216183ce
RH
6202 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
6203 and NON_LOCAL_GOTO notes.
33593de7
RH
6204 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
6205 copy over CALL_INSN_FUNCTION_USAGE.
216183ce 6206
784d7cce
CM
62072001-09-18 Catherine Moore <clm@redhat.com>
6208
b8d323b1 6209 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
784d7cce
CM
6210 Define as 0.
6211
70eeb10b 62122001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
b8d323b1 6213
749ced52 6214 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
b8d323b1
AJ
6215 new-style tm_file specification. Specify correct tm_p_file,
6216 md_file, and out_file for s390x.
70eeb10b
UW
6217
6218 * config/s390/linux.h, linux64.h: Don't include other target
6219 macro header files. Now handled via tm_file.
6220
b8d323b1 6221 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
70eeb10b
UW
6222 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
6223 are defined before use.
b8d323b1 6224
518b566f
EC
6225Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
6226
749ced52
ZW
6227 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
6228 code generation only for Gnu assembler.
518b566f 6229
8086b53c
CM
62302001-09-18 Catherine Moore <clm@redhat.com>
6231
749ced52 6232 * config/stormy16 (LIB_SPEC): Remove -lnosys.
8086b53c 6233
1cbfdb1f
RS
62342001-09-18 Richard Sandiford <rsandifo@redhat.com>
6235
6236 * config/mips/mips.c (mips_frame_set): New.
6237 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
6238 a parallel frame-related expression with a set for each register.
6239
d71ebc32
PB
62402001-09-18 Philip Blundell <philb@gnu.org>
6241
6242 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
6243 header files.
6244
5dead3e5
DJ
62452001-09-17 Dale Johannesen <dalej@apple.com>
6246
6247 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
6248 * config/rs6000/aix.h (FIXED_R2): Define.
6249 * config/rs6000/darwin.h (FIXED_R2): Define.
6250 * config/rs6000/sysv4.h (FIXED_R2): Define.
6251
5c701bb1
JS
62522001-09-17 Jeff Sturm <jsturm@one-point.com>
6253
6254 * except.c (dw2_build_landing_pads): New local
6255 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
6256 barrier after clobbers. Fixes c++/4012.
6257
c793eea7
KG
62582001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6259
6260 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
6261
63fb6fc7
JM
62622001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
6263
6264 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
6265 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
6266
c1d49704
KG
62672001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6268
6269 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
6270 alloca/strcpy.
6271
14baae01
NB
62722001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
6273
6274 * cpphash.h (_cpp_lex_direct): New.
6275 * cpplex.c (_cpp_lex_token): Update.
6276 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
6277 and increment that pointer.
6278 * cppmacro.c (alloc_expansion_token): New.
6279 (lex_expansion_token): Lex macro expansion directly into
6280 macro storage.
6281
478c61b7
BL
62822001-09-16 Brad Lucier <lucier@math.purdue.edu>
6283
6284 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
6285
3c030e88
JH
6286Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
6287
6288 * basic-block.h (free_bb_for_insn): Declare.
6289 * bb-reorder.c (label_for_bb): Use block_label.
6290 (emit_jump_to_block_after): Remove.
6291 (insert_intra_1): Do not update block_for_insn.
6292 (insert_inter_bb_scope_notes): Likewise; update bb->end
6293 * cfg.c (free_bb_for_insn): New.
6294 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
6295 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
6296 (commit_one_edge_insertion): Likewise.
6297 (commit_one_edge_insertion): Do not update BB boundary.
6298 (commit_edge_insertions): Do not call compute_bb_for_insn.
6299 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
6300 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
6301 (merge_blocks_move_successor_nojumps): Likewise.
6302 (try_crossjump_to_edge): Do not update block_for_insn.
6303 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
6304 * df.c (df_pattern_emit_later): Do not update BB boundary.
6305 (df_jump_pattern_emit_after): Likewise.
6306 (df_insn_move_before): Use emit_insn_before.
6307 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
6308 properly.
6309 (add_insn_after, add_insn_before, emit_insns_after): Update BB
6310 boundaries and basic_block_for_insn.
6311 (reorder_insns_nobb): Rename from reorder_insns.
6312 (reorder_insns): New.
6313 (emit_block_insn_before, emit_block_insn_after): Kill.
6314 * flow.c (check_function_return_warnings): Do not call
6315 compute_bb_for_insn; Do not free basic_block_for_insn.
6316 (attempt_auto_inc): Do not update basic_block_for_insn.
6317 * function.c (emit_return_into_block): Likewise;
6318 do not update BB boundaries.
6319 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
6320 (insert_insn_end_bb): Use emit_insn_before; Likewise.
6321 (pre_insert_copy_insn): Likewise.
6322 (update_ld_motion_notes): Likewise.
6323 (insert_insn_start_bb): Likewise.
6324 (replace_store_insn): Likewise.
6325 * ifcvt.c (noce_process_if_block): Likewise.
6326 (if_convert): Do not call compute_bb_for_insn.
6327 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
6328 Use emit_insn_before and emit_insn_after.
6329 * recog.c (split_all_insns): Do not update BB boundaries;
6330 Do not call compute_bb_for_insn.
6331 (peephole2_optimize): Do not update BB boundaries.
6332 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
6333 emit_insn_before.
6334 (emit_swap_insn): Likewise.
6335 (convert_regs_1): Likewise.
6336 * reload1.c (reload): Call compute_bb_for_insn.
6337 * rtl.h (reorder_insns_nobb): Declare.
6338 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
6339 * toplev.c (rest_of_compilation): Call free_bb_for_insn
6340 at places CFG is invalidated; do not call compute_bb_for_insn.
6341
6342 * cfg.c (expunge_block): Invalidate BB structure.
6343
6344 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
6345 array.
6346
6347 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
6348
345894b4
NB
63492001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
6350
6351 * cpphash.h (_cpp_lex_token): Update prototype.
6352 * cpplex.c (_cpp_lex_token): New prototype.
6353 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
6354 lex_macro_node, read_flag, do_pragma_poison): Update.
6355 * cppmacro.c (cpp_get_token, parse_params,
6356 lex_expansion_token): Update.
6357
18a9d8ff
NB
63582001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
6359
6360 * cppmain.c (scan_translation_unit): Don't worry about
6361 putting a space after hashes.
6362 * cpplib.c (directive_diagnostics): New.
6363 (_cpp_handle_directive): Update to use directive_diagnostics.
6364 (run_directive): Don't toggle prevent_expansion.
6365 (do_line): Backup in case of the line extension.
6366 * cpplib.h (cpp_lexer_pos): Remove.
6367 * cppmacro.c (_cpp_create_definition): Precede a leading #
6368 with whitespace.
6369
3f85558f
RH
63702001-09-15 Richard Henderson <rth@redhat.com>
6371
6372 * c-typeck.c (comptypes): Handle zero-length arrays properly.
6373
c6c04fca
RL
63742001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6375
6376 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
6377
69e47210
NB
63782001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6379
6380 PR preprocessor/3571
6381 * tradcpp.c (handle_directive): Skip non-vertical space.
6382
f0581dc7
NB
63832001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6384
6385 * cppmain.c (setup_callbacks): Set line callback only
6386 if outputting preprocessed source.
6387
cb6edbcb
KG
63882001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6389
6390 * collect2.c (main): Const-ification.
6391 * gcc.c (translate_options, process_command): Use xstrdup in
6392 lieu of xmalloc/strcpy.
6393 (main): Use concat in lieu of xmalloc/strcpy/strcat.
6394
068e5714
RL
63952001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6396
6397 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
6398 example.
6399
65813f56
NB
64002001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6401
6402 * scan-decls.c (scan_decls): Fix typo.
6403
50410426
NB
64042001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6405
6406 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
6407 Split mlstring_pos into mls_line and mls_col.
6408 * cppinit.c (cpp_create_reader): Initialize line to 1.
6409 (cpp_destroy): Free tokenruns.
6410 (push_include): Don't update lexer_pos.
6411 * cpplex.c (unterminated, parse_string): Update.
6412 (lex_token): Don't update lexer_pos, update.
6413 * cpplib.c (if_stack): Save line instead of line + col.
6414 (start_directive, _cpp_do__Pragma, do_else, do_elif,
6415 push_conditional, _cpp_pop_buffer): Update.
6416 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
6417 (_cpp_create_definition): Update.
6418
6047ddc8
EC
64192001-09-15 Eric Christopher <echristo@redhat.com>
6420
6421 * config/mips/abi64.h: Add support for MEABI.
6422
0e5a4ad8
EC
64232001-09-15 Eric Christopher <echristo@redhat.com>
6424
6425 * config/mips/mips.md: Add unspec #2.
6426 (reload_indi): Use.
6427 (reload_outdi): Ditto.
6428 (reload_outsi): Ditto.
6429 (HILO_delay): New.
6430
64312001-09-15 Eric Christopher <echristo@redhat.com>
6432 Jason Eckhardt <jle@redhat.com>
6433
6434 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
6435 * config/mips/isa32-linux.h: New file.
6436 * config/mips/isa3264.h: Ditto.
6437 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
6438 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
6439 (output_block_mode): Support MEABI.
6440 (function_arg): Ditto. Fix floating point arg passing.
6441 (mips_va_start): Ditto.
6442 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
6443 processors.
6444 (mips_asm_file_start): Add new section to pass abi to gdb.
6445 (function_arg_pass_by_reference): Support MEABI.
6446 (mips_parse_cpu): Support mips32 and mips64 processors.
6447 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
6448 TARGET_MIPS5KC. Support isa32 and isa64.
6449 (processor_type): Add r4kc, r5kc, r20kc.
6450 (GENERATE_MULT3_SI): New.
6451 (GENERATE_MULT3_DI): Ditto.
6452 (GENERATE_MULT3): Remove.
6453 (ISA_HAS_64BIT_REGS): Add isa == 64.
6454 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
6455 (ISA_HAS_MADD_MSUB): New.
6456 (ISA_HAS_CLZ_CLO): Ditto.
6457 (ISA_HAS_DCLZ_DCLO): Ditto.
6458 (ABI_GAS_ASM_SPEC): New.
6459 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
6460 (ASM_SPEC): Ditto.
6461 (LINK_SPEC): Ditto.
6462 (SUBTARGET_CC1_SPEC): Ditto.
6463 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
6464 (PAD_VARARGS_DOWN): Support MEABI.
6465 (HARD_REGNO_NREGS): Move to mips.c.
6466 (ASM_OUTPUT_IDENT): Add #undef.
6467 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
6468 (mulsi3): Use GENERATE_MULT3_SI.
6469 (mulsi3_mult3): Ditto. Support mips32, mips64.
6470 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
6471 (mul_sub_si): New pattern.
6472 (unnamed splitters): New.
6473 (muldi3): Use GENERATE_MULT3_DI.
6474 (muldi3_internal2): Ditto.
6475 (movdicc): Support mips32.
6476 * config/mips/t-isa3264: New file.
6477
e75ecd26
HPN
64782001-09-15 Hans-Peter Nilsson <hp@axis.com>
6479
6480 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
6481 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
6482 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
86c7007a
HPN
6483
6484 * reorg.c (fill_slots_from_thread): After call to
6485 steal_delay_list_from_target, update own_thread as new_thread may
6486 have branched.
6487
97293897
NB
64882001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
6489
6490 * cpperror.c (print_location): Take line and column, for
6491 default positioning use the previously lexed token.
6492 (_cpp_begin_message): Take line and column.
6493 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6494 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6495 * cpphash.h (_cpp_begin_message): Update prototype.
6496 * cppinit.c (push_include): Don't set output line.
6497 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
6498 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
6499 (do_pragma): Kludge for front ends. Don't expand macros at all.
6500 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
6501 (struct cpp_token): Remove output_line.
6502 (struct cpp_callbacks): New member line_change.
6503 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
6504 cpp_get_token): Preserve BOL flag.
6505 (cpp_get_line): Remove.
6506 (_cpp_backup_tokens): Remove useless abort().
6507 * cppmain.c (cb_line_change): New.
6508 (scan_translation_unit): Don't worry about starting new lines here.
6509 * scan-decls.c (scan_decls): Update.
6510 * c-lex.c (c_lex, init_c_lex): Update.
6511 (cb_line_change, src_lineno): New.
6512
13d7d58b
JW
6513Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
6514
6515 * tree.c (append_random_chars): Generate the random
6516 characters in a reproducable fashion.
6517
623fe810
RH
65182001-09-14 Richard Henderson <rth@redhat.com>
6519
6520 * config/i386/i386.c (internal_label_prefix): New.
6521 (internal_label_prefix_len): New.
6522 (override_options): Set them.
6523 (local_symbolic_operand): New.
6524 (legitimate_pic_address_disp_p): Use it.
6525 (legitimize_pic_address): Likewise.
6526
95a37e3f 65272001-09-14 Marc Espie <espie@openbsd.org>
0e1f7b2a 6528
95a37e3f
ME
6529 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
6530 correctly.
6531
e91c2a24
RL
65322001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6533
6534 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
6535 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
6536
be393ecf
NC
65372001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
6538
5de7e417
NC
6539 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
6540 invocation of SUBREG_REGNO_OFFSET.
6541
bc591fb4
NC
6542 * haifa-sched.c: Fix typo in FSF copyright statement.
6543 * sched-deps.c: Fix typo in FSF copyright statement.
6544 * sched-ebb.c: Fix typo in FSF copyright statement.
6545 * sched-rgn.c: Fix typo in FSF copyright statement.
6546 * sched-vis.c: Fix typo in FSF copyright statement.
6547
be393ecf
NC
6548 * config.gcc: Move inclusion of arm elf specific header files
6549 from the files themselves into the tm_file variable. Make
6550 sure that elfos.h is included before target specific elf
6551 headers.
6552 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
6553 already defined.
6554 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
6555 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
6556 ASM_OUTPUT_CASE_LABEL): Protect definition.
6557 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
6558 not already defined.
6559 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
6560 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
0e5a4ad8 6561 Remove duplicate definition.
be393ecf
NC
6562 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
6563 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
6564 (RDATA_SECTION_FUNCTION): Remove redundant definition.
6565 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
6566 Remove inclusion of arm/elf.h.
6567 * config/arm/unknown-elf.h: as for conix-elf.h.
6568 (STARTFILE_SPEC): Include crti.o and crtn.o.
6569 * config/arm/linux-elf.h: as for conix-elf.h.
6570 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
6571 * config/arm/strongarm-elf.h: Remove inclusion of
6572 unknown-elf.h.
6573 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
6574 * config/arm/unknown-elf-oabi.h: Remove inclusion of
6575 unknown-elf.h and elf.h.
6576 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
6577 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
6578 ASM_WEAKEN_LABEL): Remove redundant definition.
6579 * config/arm/elf.h: Test for inclusion of elfos.h
6580 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
6581 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
6582 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
6583 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
6584 redundant definition.
6585 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
6586 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
6587 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
6588 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
6589 Add rules to build crti.o and crtn.o
6590 * crti.asm: New file.
6591 * crtn.asm: New file.
6592
bdcbe496
NB
65932001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
6594
6595 * c-parse.in (_yylex): Use _cpp_backup_tokens.
6596 * cpphash.h (struct tokenrun): Add prev.
6597 (struct lexer_state): Remove bol.
6598 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
6599 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
6600 : Remove.
6601 * cppinit.c (cpp_create_reader): Don't set bol.
6602 (cpp_destroy): Don't free lookaheads.
6603 * cpplex.c (lex_directive): Remove.
6604 (next_tokenrun): Update.
6605 (_cpp_lex_token): Clean up logic.
6606 (lex_token): Update to return a pointer to lexed token, since it
6607 can move to the start of the buffer. Simpify newline handling.
6608 * cpplib.c (SEEN_EOL): Update.
6609 (skip_rest_of_line): Remove lookahead stuff.
6610 (end_directive): Line numbers are already incremented. Revert
6611 to start of lexed token buffer if we can.
6612 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
6613 parse_answer): Use _cpp_backup_tokens.
6614 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
6615 instead. Don't check for EOL.
6616 (do_include_common, do_line, do_pragma_system_header): Use
6617 skip_rest_of_line.
6618 * cpplib.h (BOL, _cpp_backup_tokens): New.
6619 * cppmacro.c (save_lookahead_token, take_lookahead_token,
6620 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
6621 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
6622 (builtin_macro): Don't use cpp_get_line.
6623 (cpp_get_line): Short term kludge.
6624 (parse_arg): Handle directives in arguments here. Back up when
6625 appropriate. Store EOF at end of argument list.
6626 (funlike_invocation_p): Use _cpp_backup_tokens.
6627 (push_arg_context): Account for EOF at end of list.
6628 (cpp_get_token): Remove lookahead stuff. Update.
6629
83182544
KG
66302001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6631
6632 * c-parse.in (yyerror): Const-ification and/or static-ization.
6633 * c-typeck.c (push_member_name): Likewise.
6634 * collect2.c (main): Likewise.
6635 * dbxout.c (dbxout_parms): Likewise.
6636 * diagnostic.c (format_with_decl): Likewise.
6637 * dwarf2out.c (output_ranges): Likewise.
6638 * dwarfout.c (fundamental_type_code): Likewise.
6639 * except.c (dw2_output_call_site_table): Likewise.
6640 * gcc.c (do_spec_1): Likewise.
6641 * genopinit.c (optabs): Likewise.
6642 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
6643 gen_declaration_1, handle_impent): Likewise.
6644 * protoize.c (default_include, in_system_include_dir, abspath):
6645 Likewise.
6646 * sched-vis.c (visualize_stall_cycles): Likewise.
6647 * sdbout.c (plain_type_1, sdbout_end_function,
6648 sdbout_end_epilogue): Likewise.
6649 * varasm.c (decode_reg_name): Likewise.
0e5a4ad8 6650
83182544
KG
6651 * 1750a.c (mod_regno_adjust): Likewise.
6652 * alpha.c (alpha_write_one_linkage,
6653 unicosmk_output_default_externs): Likewise.
6654 * arm.c (arm_condition_codes): Likewise.
6655 * arm.h (arm_condition_codes): Likewise.
6656 * avr.c (output_movsisf, encode_section_info): Likewise.
6657 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
6658 Likewise.
6659 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6660 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6661 * m88k.c (output_function_profiler): Likewise.
6662 * mips.c (mips_output_conditional_branch): Likewise.
6663 * ns32k.c (ns32k_out_reg_names): Likewise.
6664 * ns32k.h (ns32k_out_reg_names): Likewise.
6665 * pj.c (pj_output_rval): Likewise.
6666 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
6667 * sparc.c (sparc_flat_function_prologue,
6668 sparc_flat_function_epilogue): Likewise.
6669
f404402c 66702001-09-13 Markus Werle <numerical.simulation@web.de>
623fe810 6671 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
f404402c
MW
6672
6673 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
6674 Aachen University of Technology".
6675
08ed72a9
AS
66762001-09-13 Andreas Schwab <schwab@suse.de>
6677
6678 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
6679 C99.
6680
133d3133
RH
66812001-09-13 Richard Henderson <rth@redhat.com>
6682
6683 * config/alpha/alpha.c (small_symbolic_operand): New.
6684 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
6685 (some_operand, input_operand): Don't handle HIGH.
6686 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
6687 (alpha_expand_mov): Likewise.
6688 (print_operand) [H]: Just print HIGH symbol.
6689 (print_operand_address): Handle small data.
6690 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
6691 (TARGET_SWITCHES): Add -msmall-data/large-data.
6692 (PIC_OFFSET_TABLE_REGNUM): New.
6693 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
6694 (PREDICATE_COES): Update.
6695 * config/alpha/alpha.md (adddi_er_high): New.
6696 (adddi_er_low): Handle small data.
6697 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
6698 prefer .sdata to .rodata.
6699 (SELECT_RTX_SECTION): Likewise.
6700
34b3b0f6
JM
67012001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
6702
6703 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
6704 defining __size_t and leaving size_t undefined.
0e5a4ad8 6705
d5c768b8
DN
67062001-09-12 Diego Novillo <dnovillo@redhat.com>
6707
6708 * basic-block.h (expunge_block): Declare.
6709 * cfg.c (expunge_block): Remove static declaration.
6710
3bab2571
RH
67112001-09-12 Richard Henderson <rth@redhat.com>
6712
6713 * integrate.c (copy_insn_list): Copy label name from
6714 NOTE_INSN_DELETED_LABEL.
6715
27c38fbe
KG
67162001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6717
6718 * c-common.c (c_tree_code_name): Const-ification.
6719 * c-decl.c (c_decode_option): Likewise.
6720 * c-typeck.c (warn_for_assignment): Likewise.
6721 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
6722 Likewise.
6723 * cppinit.c (output_deps): Likewise.
6724 * dependence.c (dependence_string, direction_string): Likewise.
6725 * dwarf2out.c (output_ranges): Likewise.
6726 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
6727 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
6728 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
6729 standard_startfile_prefix, standard_startfile_prefix_1,
6730 standard_startfile_prefix_2, tooldir_base_prefix,
6731 standard_bindir_prefix, find_a_file): Likewise.
6732 * genattrtab.c (make_length_attrs): Likewise.
6733 * gencheck.c (tree_codes): Likewise.
6734 * genemit.c (gen_split): Likewise.
6735 * genrecog.c (special_mode_pred_table): Likewise.
6736 * graph.c (graph_ext): Likewise.
6737 * protoize (default_include): Likewise.
6738 * reload.c (reload_when_needed_name): Likewise.
6739 * sched-vis.c (visualize_stall_cycles): Likewise.
6740 * tlink.c (recompile_files): Likewise.
6741 * toplev.c (decode_g_option): Likewise.
6742 * tradcpp.c (output_deps): Likewise.
6743 * varasm.c (decode_reg_name): Likewise.
0e5a4ad8 6744
27c38fbe
KG
6745 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
6746 Const-ification.
6747 * arm.md: Likewise.
6748 * avr.c (avr_regnames, encode_section_info): Likewise.
6749 * c4x.c (float_reg_names): Likewise.
6750 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
6751 * elfos.h (const_section): Likewise.
6752 * i386.c (ix86_comp_type_attributes): Likewise.
6753 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
6754 * ia64/aix.h (UNIQUE_SECTION): Likewise.
6755 * ia64.c (type_names): Likewise.
6756 * m68hc11.c (reg_class_names): Likewise.
6757 * m88k.c (m_options): Likewise.
6758 * mips.c (mips_output_conditional_branch, mips_unique_section):
6759 Likewise.
6760 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
6761 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
6762 ultra_code_names): Likewise.
6763 * sparc.h (OVERRIDE_OPTIONS): Likewise.
6764
a8b7afb9
JJ
67652001-09-12 Jakub Jelinek <jakub@redhat.com>
6766
6767 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
6768 Use --fatal-warnings option for gas.
6769 * configure: Rebuilt.
6770
71b96724
RL
67712001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6772
6773 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
6774
4e1a4144
JW
67752001-09-11 Jim Wilson <wilson@redhat.com>
6776
6777 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
6778
1de3d877
MK
67792001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
6780
6781 * builtins.c (c_strlen): Treat an offset too large for a
6782 HOST_WIDE_INT as out of range.
6783
4262e623
JH
6784Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
6785
6786 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
6787 (EDGE_CRITICAL_P): New predicate.
6788 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
6789 handling.
6790 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
6791 (dump_edge_info): Remove "crit".
6792 * cfganal.c (mark_critical_edges): Kill.
6793 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
6794 * cfgcleanup.c (cleanup_cfg): Likewise.
6795 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
6796 (find_spanning_tree): Likewise.
6797 * reg-stack.c (convert_regs_1): Likewise.
6798 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
6799
6800 * basic-block.h (create_basic_block_structure): New.
6801 (create_basic_block): Update prototype.
6802 (force_nonfallthru): New.
6803 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
6804 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
6805 handle updating of block_for_insn, creating of empty BBs and BBs at
6806 the end of INSN chain.
6807 (create_basic_block): New function.
6808 (split_block): Use create_basic_block.
6809 (force_nonfallthru_and_redirect): Break out from ...; cleanup
6810 (redirect_edge_and_branch_force): ... here.
6811 (force_nonfallthru): New.
6812 (split_edge): Rewrite to use force_nonfallthru and create_block.
6813 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
6814 (find_basic_blocks): Free basic_block_for_insn.
6815 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
6816
6817 * cfg.c: Fix formating.
6818 * cfgcleanup.c: Fix formating.
6819 (merge_blocks, tail_recursion_label_p): Return bool.
6820 (merge_blocks_move_predecessor_nojumps,
6821 merge_blocks_move_successor_nojumps): Return void.
6822
201556f0
JJ
68232001-09-11 Jakub Jelinek <jakub@redhat.com>
6824
6825 * configure.in: Check whether assembler supports section merging.
6826 * config.in: Rebuilt.
6827 * configure: Rebuilt.
6828 * varasm.c (variable_section, output_constant_pool): Pass alignment
6829 to SELECT_SECTION and SELECT_RTX_SECTION.
6830 (mergeable_string_section): New.
6831 (mergeable_constant_section): New.
6832 (default_elf_asm_named_section): Output SECTION_MERGE and
6833 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6834 * output.h (mergeable_string_section): New.
6835 (mergeable_constant_section): New.
6836 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
6837 * toplev.c (flag_merge_constants): New.
6838 (f_options): Add -fmerge-constants and -fmerge-all-constants
6839 options.
6840 (toplev_main): Default to -fno-merge-constants if not optimizing.
6841 * flags.h (flag_merge_constants): Add extern.
6842 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
6843 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
6844 argument.
6845 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
6846 Define if assembler has working .subsection -1 support.
6847 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
6848 Put constant into special SHF_MERGE sections if the linker should
6849 attempt to merge duplicates.
6850 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
6851 macro argument.
6852 Put constant into special SHF_MERGE sections if the linker should
6853 attempt to merge duplicates.
6854 * config/alpha/elf.h: Likewise.
6855 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
6856 has working .subsection -1 support.
6857 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
6858 SELECT_SECTION.
6859 * config/svr3.h: Likewise.
6860 * config/darwin.h: Likewise.
6861 * config/arm/aof.h: Likewise.
6862 * config/arm/linux-elf.h: Likewise.
6863 * config/avr/avr.h: Likewise.
6864 * config/c4x/c4x.h: Likewise.
6865 * config/d30v/d30v.h: Likewise.
6866 * config/i386/dgux.h: Likewise.
6867 * config/i386/osfrose.h: Likewise.
6868 * config/i386/sco5.h: Likewise.
6869 * config/i386/svr3gas.h: Likewise.
6870 * config/ia64/aix.h: Likewise.
6871 * config/m32r/m32r.h: Likewise.
6872 * config/m68k/m68k.h: Likewise.
6873 * config/m88k/dgux.h: Likewise.
6874 * config/m88k/m88k.h: Likewise.
6875 * config/mcore/mcore-pe.h: Likewise.
6876 * config/mips/mips.h: Likewise.
6877 * config/pa/pa.h: Likewise.
6878 * config/pa/pa-linux.h: Likewise.
6879 * config/romp/romp.h: Likewise.
6880 * config/rs6000/sysv4.h: Likewise.
6881 * config/rs6000/xcoff.h: Likewise.
6882 * config/s390/linux.h: Likewise.
6883 * config/sparc/sparc.h: Likewise.
6884 * config/sparc/sysv4.h: Likewise.
6885 * config/stormy16/stormy16.h: Likewise.
6886 * config/v850/v850.h: Likewise.
6887 * config/vax/vms.h: Likewise.
6888 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
6889 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6890 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
6891 default_elf_asm_named_section for SHF_MERGE sections.
6892
0a24446d
JH
6893Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
6894
6895 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
6896 is OK.
6897
1d30139d
JM
68982001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
6899
6900 * c-common.c (split_specs_attrs): Allow for empty attributes with
6901 empty TREE_PURPOSE. Fixes PR c/4294.
6902
7ded4467
JH
6903Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
6904
6905 * basic-block.h (cached_make_edge, make_single_succ): New.
6906 (make_edge): Remove first parameter.
6907 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
6908 * cfg.c (cached_make_edge): Rename from make_edge; return newly
6909 created edge; use obstack allocation.
6910 (make_edge, make_single_succ_edge): New.
6911 (first_removed_edge): New static variable.
6912 (init_flow): Initialize first_removed_edge and n_edges.
6913 (clear_edges): Use remove_edge.
6914 (flow_delete_block): Likewise.
6915 (remove_edge): Add removed edges to the removed edges list.
6916 (split_block, redirect_edge_and_branch_force, split_edge):
6917 Use make_edge.
6918 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
6919 (add_noreturn_fake_exit_edges): Likewise.
6920 (connect_infinite_loops_to_exit): Liekwise.
6921 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
6922 Use cached_make_edge.
6923 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
6924 * profile.c (branch_prob): Update make_edge call.
6925 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
6926
30102605
RH
69272001-09-11 Richard Henderson <rth@redhat.com>
6928
6929 * config/alpha/alpha.c: Tidy formatting.
6930 (local_symbolic_operand): Verify mode.
6931 (alpha_sa_mask): Ignore unicos for eh_return.
6932 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
6933 * config/alpha/alpha.md (umk divsi patterns): Remove.
6934 (extendsfdf2): Remove unicos check.
6935 (tablejump): Merge vms and unicos code; always use direct set
6936 plus label_ref use.
6937
69382001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6939
6940 * config.gcc (alpha*-*-unicosmk*): New target.
6941
6942 * config/alpha/alpha-protos.h (symbolic_operand,
6943 unicosmk_add_call_info_word, unicosmk_add_extern,
6944 unicosmk_defer_case_vector, unicosmk_unique_section,
6945 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
6946 unicosmk_asm_file_start, unicosmk_asm_file_end,
6947 unicosmk_output_common): Declare.
6948
6949 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
6950 direct_return, function_arg, alpha_va_start, alpha_va_arg,
6951 alpha_does_function_need_gp, alpha_end_function): Support Cray
6952 Unicos/Mk.
6953 (alpha_init_machine_status, alpha_mark_machine_status,
6954 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
6955 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
6956 unicosmk_asm_named_section, unicosmk_insert_attributes,
6957 unicosmk_section_type_flags, symbolic_operand,
6958 unicosmk_output_module_name, unicosmk_output_default_externs,
6959 unicosmk_output_dex, unicosmk_output_externs,
6960 unicosmk_output_addr_vec, unicosmk_ssib_name,
6961 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
6962 unicosmk_asm_file_end, unicosmk_output_common,
6963 unicosmk_section_type_flags, unicosmk_unique_section,
6964 unicosmk_add_call_info_word, unicosmk_text_section,
6965 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
6966 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
6967 unicosmk_dex_count, unicosmk_special_name): New.
6968 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
6969 TARGET_ABI_UNICOSMK.
6970 (get_aligned_mem, alpha_expand_unaligned_load,
6971 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
6972 alpha_expand_unaligned_store_words): Support big-endian mode.
6973 (print_operand): Likewise. New format specifier 't'. Use
6974 TARGET_AS_SLASH_BEFORE_SUFFIX.
6975 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
6976 (alpha_pv_save_size): Update with above change.
6977 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
6978 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
6979 Unicos/Mk.
6980
6981 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
6982 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
6983 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
6984 (EXTRA_CONSTRAINT): New constraint 'U'.
6985 (PREDICATE_CODES): Add symbolic_operand.
6986
6987 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
6988 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
6989 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
6990 (integer division and modulus patterns): Split in default and
6991 Unicos/Mk versions.
6992 (*divmodsi_internal, *divmoddi_internal): Disable for
6993 TARGET_ABI_UNICOSMK.
0e5a4ad8 6994 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
30102605
RH
6995 little-endian and big-endian versions.
6996 (ext, ins, msk): Likewise.
6997 (extv, extzv, insv): Support big-endian mode.
6998 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
6999 (call_umk, call_value_umk, *call_umk, tablejump_umk,
7000 *tablejump_umk_internal, *call_value_umk): New.
7001 (*movdi_nofix): Add pattern for loading an address into a register on
7002 TARGET_ABI_UNICOSMK.
7003 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
7004 (umk_mismatch_args, arg_home_umk): New.
7005 (various insns): Don't use mov, fmov, nop, fnop and unop.
7006 (realign): Support TARGET_ABI_UNICOSMK.
7007
7008 * config/alpha/unicosmk.h: New file.
7009 * config/alpha/t-unicosmk: New file.
7010
7011 * fixinc/inclhack.def (unicosmk_restrict): New.
7012 * fixinc/fixincl.x: Regenerate.
7013
7014 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
7015 (wchar_t): Check for and define __WCHAR_T__.
7016
b1c4394d
RS
70172001-09-11 Richard Sandiford <rsandifo@redhat.com>
7018
7019 * combine.c (simplify_shift_const): Treat shifts by the mode
7020 size as undefined.
7021
5fddcffc
NB
70222001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
7023
7024 * cpphash.h (struct tokenrun): New.
7025 (struct cpp_context): New member bol.
7026 (struct cpp_reader): New members.
7027 (_cpp_init_tokenrun): New.
7028 * cppinit.c (cpp_create_reader): Set up the token runs.
7029 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
7030 (lex_token): New internalised version of _cpp_lex_token. Don't
7031 handle directives or the multiple include opimisation here any
7032 more. Simply lex a token.
7033 * cpplib.c (run_directive): Clear bol.
7034 (_cpp_pop_buffer): Set bol.
7035 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
7036 arguments.
7037
75dcd8fe
MM
70382001-09-11 Michael Meissner <meissner@redhat.com>
7039
7040 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
7041 give an error if the user uses -mfp32.
7042 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
7043 default options.
7044 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
7045 floating point register size.
7046 (EXTRA_SPECS): Add CPP_FPR_SPEC.
7047
7048 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
7049 HOST_WIDE_INT_PRINT_DEC to properly print the result of
7050 int_size_in_bytes.
7051 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7052 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7053
fb530c07
HPN
70542001-09-11 Hans-Peter Nilsson <hp@axis.com>
7055
7056 * dbxout.c (dbxout_parms): Fix typo in comment.
7057 * unroll.c (loop_find_equiv_value): Ditto.
7058 * toplev.c (rest_of_compilation): Ditto.
7059 * loop.c (scan_loop): Ditto.
fb530c07
HPN
7060 * dwarf2out.c (struct dw_fde_struct): Ditto.
7061
2c3fcba6
ZW
70622001-09-10 Zack Weinberg <zackw@panix.com>
7063
7064 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
7065 copying identifier when we're just going to throw it away.
7066 (parse_identifier_slow): New routine to handle abnormal cases.
7067 (_cpp_lex_token): Update call site.
7068
7069 * hashtable.c (ht_lookup): Don't assume that the string we've
7070 been given is NUL-terminated.
7071 * system.h: #define __builtin_expect(a, b) to (a) if not
7072 GCC >=3.0.
7073
60acf24e
MM
70742001-09-10 Michael Meissner <meissner@redhat.com>
7075
7076 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
7077 binutils, gdb.
7078
51d3e7d6
DE
70792001-09-10 David Edelsohn <edelsohn@gnu.org>
7080
7081 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
7082
bf06b5d8
RK
7083Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7084
7085 * builtins.c (c_getstr): Correct thinko in last change and further
7086 cleanup.
7087
244a4af0
TF
70882001-09-10 Tim Freeman <tim@fungibole.com>
7089
7090 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
7091 into varray's and register them as roots with the garbage
2c3fcba6 7092 collector so they are not collected too soon.
244a4af0 7093
402209ff
JH
7094Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
7095
7096 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
7097 New.
7098 * basic-block.h (flow_obstack, label_value_list,
7099 tail_recursion_label_list): Declare
7100 (tidy_fallthru_edges): Declare.
7101 (expunge_block, last_loop_beg_note): Delete.
7102 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
7103 * cfg.c: New file
7104 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
7105 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
7106 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
2c3fcba6 7107 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
402209ff
JH
7108 expunge_block, flow_delete_block, compute_bb_for_insn,
7109 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
7110 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
7111 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
7112 try_redirect_by_replacing_jump, last_loop_beg_note,
7113 redirect_edge_and_branch, redirect_edge_and_branch_force,
7114 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
7115 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
2c3fcba6 7116 commit_edge_insertions, dump_flow_info, debug_flow_info,
402209ff
JH
7117 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
7118 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
7119 Move here from flow.c
7120 * cfganal.c: New file.
7121 (forwarder_block_p, can_fallthru, mark_critical_edges,
7122 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
7123 find_unreachable_blocks, create_edge_list, free_edge_list,
7124 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
7125 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
7126 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
7127 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
7128 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
7129 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
7130 Move here from flow.c
7131 * cfgbuild.c: New file
7132 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
7133 make_edges, find_basic_blocks_1, find_basic_blocks,
7134 find_sub_basic_blocks): Move here from flow.c
7135 * cfgcleanup.c: New file.
7136 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
7137 merge_blocks_move_predecessor_nojumps,
7138 merge_blocks_move_successor_nojumps, merge_blocks,
7139 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
7140 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
7141 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
7142 if succeeded.
7143 * cfgloop.c: New file
7144 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
7145 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
7146 flow_loop_exit_edges_find, flow_loop_nodes_find,
7147 flow_loop_pre_header_scan, flow_loop_pre_header_find,
7148 flow_loop_tree_node_add, flow_loops_tree_build,
7149 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
7150 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
7151 Move here from flow.c
7152 * flow.c: Remove everything moved elsewhere
7153 * output.h (cleanup_cfg): Return bool.
7154
7155 * bb-reorder.c (reorder_block_def): Remove 'index'.
7156 (insert_intra_1): Add argument BB, set block for new note.
7157 (make_reorder_chain): Do not depdent on BB indexes.
7158 (make_reorder_chain_1): Do not use BB indexes.
7159 (label_for_bb): Likewise; set BB for new insn.
7160 (emit_jump_to_block_after): Likewise.
7161 (fixup_reoder_chain): Sanity check that all basic blocks
7162 are chained; verify newly created insn chain; remove
7163 undocnitional jump simplifying; Do not use BB indexes;
7164 properly initialize count and frequency information;
7165 dump reordered sequence.
7166 (insert_intra_bb_scope_notes): update call of insert_intra_1.
7167 (insert_inter_bb_scope_notes): Set block for new insn.
7168 (reorder_basic_blocks): Dump flow info before reoredering.
7169
5197bd50
RK
7170Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7171
7172 * alias.c (clear_reg_alias_info): Use K&R format definition.
7173 Avoid unsigned warning.
7174 * builtins.c: Use "unsigned int", not "unsigned".
7175 (target_char_cast): Use host_integerp and tree_low_cst.
7176 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
7177 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
7178 (c_getstr): Likewise.
7179 (std_expand_builtin_va_arg): Use int_size_in_bytes.
7180 (builtin_memcpy_read_str): Avoid unsigned warning.
7181 (expand_builtin_memcpy): Alignments are unsigned.
7182 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
7183 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
7184 * predict.c (expensive_function_p): LIMIT now unsigned.
7185 * resource.c (mark_target_live_regs): Make some vars unsigned.
7186 * sdbout.c: Use "unsigned int", not "unsigned".
7187 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
7188 (sdbout_source_line): Likewise.
7189 (sdbout_record_type_name): Remove "const" for NAME declaration.
7190 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
7191
2e547b13
RS
71922001-09-10 Richard Sandiford <rsandifo@redhat.com>
7193
7194 * calls.c (store_one_arg): Expand comment.
7195
0df299ae
RL
71962001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7197
7198 * calls.c (store_one_arg): Make sure that the entire argument is
7199 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
7200
1650fcad
RH
72012001-09-09 Richard Henderson <rth@redhat.com>
7202
7203 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
7204
5bb08c84
JH
7205Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
7206
7207 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
7208
1eb356b9
RH
72092001-09-09 Richard Henderson <rth@redhat.com>
7210
7211 * config/alpha/alpha.c (alpha_next_sequence_number): New.
7212 (alpha_this_literal_sequence_number): New.
7213 (alpha_this_gpdisp_sequence_number): New.
7214 (some_operand, input_operand): Add HIGH.
7215 (local_symbolic_operand): New.
7216 (alpha_encode_section_info): New.
7217 (alpha_legitimate_address_p): Allow LO_SUM.
7218 (alpha_legitimize_address): Generate HIGH+LO_SUM.
7219 (alpha_expand_mov): Likewise.
7220 (secondary_reload_class): Check memory_operand not general_operand
7221 for FP_REGS test.
7222 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
7223 (alpha_expand_unaligned_store): Likewise.
7224 (alpha_expand_unaligned_load_words): Likewise.
7225 (alpha_expand_unaligned_store_words): Likewise.
7226 (alpha_expand_block_clear): Likewise.
7227 (print_operand): Handle %#, %*, %H.
7228 (print_operand_address): Handle LO_SUM.
7229 (find_lo_sum): New.
7230 (alpha_does_function_need_gp): Use it.
7231 (alpha_expand_block_move): Fix signed compare warnings.
7232 (alpha_sa_mask, alpha_align_insns): Likewise.
7233 * config/alpha/alpha-protos.h: Update.
7234 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
7235 (MASK_EXPLICIT_RELOCS): New.
7236 (TARGET_SWITCHES): Add -mexplicit-relocs.
7237 (EXTRA_CONSTRAINT): Add 'T'.
7238 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
7239 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
7240 (ENCODE_SECTION_INFO): Out line.
7241 (REDO_SECTION_INFO_P): New.
7242 (STRIP_NAME_ENCODING): New.
7243 (ASM_OUTPUT_LABELREF): New.
7244 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
7245 (PREDICATE_CODES): Update.
7246 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
7247 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
7248 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
7249 builtin_setjmp_receiver_er, exception_receiver_1_er,
7250 call_value_osf_1_er): New patterns.
7251 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
7252 (movqi, movhi, movsi): Add explicit $31 base register to lda.
7253 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
7254 (FINAL_PRESCAN_INSN): New.
7255
b74cf1ce
JH
7256Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
7257
7258 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
7259
2c36d070
AJ
72602001-09-08 Andreas Jaeger <aj@suse.de>
7261
7262 * i386.h (TARGET_SWITCHES): Fix description.
7263
4e2c1c44
DE
72642001-09-07 David Edelsohn <edelsohn@gnu.org>
7265
7266 * rs6000.c (num_insns_constant): Compute number of instructions
7267 more accurately.
7268
d5d8d540
DE
7269 * doc/install.texi: Explain AIX exception handling work-around.
7270 Update URL for AIX fixes.
7271
43fe47ca
JW
72722001-09-07 Jim Wilson <wilson@redhat.com>
7273
7274 * alias.c (clear_reg_alias_info): New.
7275 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
7276 * rtl.h (clear_reg_alias_info): Declare.
7277
177b41eb
RL
72782001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7279
7280 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
7281 available.
7282 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
7283 (m16m,edivm,emulm): Change declaration to match definition.
7284
b4905cba
RL
72852001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7286
7287 * reload.c (push_reload): Check for subreg_lowpart_p instead of
7288 SUBREG_BYTE being 0 when determining if the inner part of a subreg
7289 can be reloaded.
7290
4a063bec
RH
72912001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7292
7293 * c-common.c (signed_or_unsigned_type): Handle machine mode types
7294 which have no corresponding C type.
7295 * fold_const.c (target_isinf,target_isnan,target_negative): Update
7296 the representation of 64-bit doubles to work with 64-bit ints.
7297
72982001-09-07 Aldy Hernandez <aldyh@redhat.com>
2fd7f0c1 7299
4a063bec
RH
7300 * config/mips/mips.c (override_options): Do not override ISA when ABI
7301 specified if MIPS_CPU_STRING_DEFAULT was specified.
2fd7f0c1 7302
9b3bd424
RH
73032001-09-07 Richard Henderson <rth@redhat.com>
7304
7305 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
7306 (express_from_1): Wrap lines.
7307 * rtlanal.c (commutative_operand_precedence): Rename from
7308 operand_preference; export.
7309 * rtl.h: Declare it.
7310 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
7311 (simplify_binary_operation): Invoke simplify_plus_minus on
7312 (CONST (PLUS ...)) as well.
7313 (struct simplify_plus_minus_op_data): New.
7314 (simplify_plus_minus_op_data_cmp): New.
7315 (simplify_plus_minus): Use them. Avoid infinite recursion with
7316 simplify_binary_operation wrt CONST.
7317
5660465a
KH
7318Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
7319
7320 * h8300-protos.h (general_operand_dst_push): Remove.
7321 * h8300.c (general_operand_dst_push): Likewise.
7322 * h8300.h (OK_FOR_T): Likewise.
7323 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
7324 * h8300.md (pushqi_h8300): New.
7325 (pushqi_h8300hs): Likewise.
7326 (pushqi): Likewise.
7327 (pushhi_h8300): Likewise.
7328 (pushhi_h8300hs): Likewise.
7329 (pushhi): Likewise.
7330
7b9e1fcf
RK
7331Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7332
7333 * genattrtab.c (attr_printf): First arg is unsigned.
7334 Clean up formatting of callers.
7335
1dee47c3
AH
73362001-09-06 Aldy Hernandez <aldyh@redhat.com>
7337
7338 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
7339 registers.
7340
4cba3b67
AJ
73412001-09-07 Andreas Jaeger <aj@suse.de>
7342
7343 * i386.h (TARGET_SWITCHES): Fix descriptions.
7344
6a9f6727
MK
73452001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
7346
7347 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
7348
cffb2601
IR
73492001-09-06 Ira Ruben <ira@apple.com>
7350
7351 Remove OP_IDENTIFIER.
7352 * tree.def (OP_IDENTIFIER): Remove.
7353 * tree.c (tree_node_kind enum): Remove op_id_kind.
7354 (tree_node_kind_names): Remove "op_identifiers".
7355 (make_node): Remove OP_IDENTIFIER test.
7356 (build_op_identifier): Removed because it isn't being used.
7357 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
7358 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
7359
0615ed36
RH
73602001-09-06 Richard Henderson <rth@redhat.com>
7361
7362 * simplify-rtx.c (simplify_binary_operation): Revert last change.
7363
7d8be4da
RH
73642001-09-06 Richard Henderson <rth@redhat.com>
7365
7366 * simplify-rtx.c (simplify_binary_operation): Simplify contents
7367 of CONST.
7368
a1dc9455
FS
73692001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7370
7371 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
7372 number used for CR register.
7373
1aae372e
JL
7374Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
7375 Joern Rennecke (amylaar@cygnus.com)
7376
7377 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
7378 * h8300.c (initial_offset): Handle offset between RP and FP.
7379 (h8300_return_addr_rtx): New function.
7380 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
7381 return register.
7382 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
7383 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
7384 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
7385 (CAN_ELIMINATE, REGISTER_NAMES):
7386 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
7387
6d0a3f67
NS
73882001-09-06 Nathan Sidwell <nathan@codesourcery.com>
7389
7390 Remove TYPE_NONCOPIED_PARTS.
7391 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
7392 (struct tree_type): Remove noncopied_parts.
7393 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
7394 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
7395 (fixed_type_p): Remove.
7396 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
7397 (expand_expr, MODIFY_EXPR): Likewise.
7398 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
7399 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
7400
02071907
AM
74012001-09-06 Alan Modra <amodra@bigpond.net.au>
7402
7403 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
7404 compiler warnings.
7405 (mask64_operand): Likewise.
7406 (includes_rldic_lshift_p): Likewise.
7407 (includes_rldicr_lshift_p): Likewise.
7408
89fc3605
ZL
74092001-09-05 Ziemowit Laski <zlaski@apple.com>
7410
4a063bec 7411 * objc/objc-act.c (build_message_expr): If a class method cannot
89fc3605
ZL
7412 be found, do not issue a warning if a corresponding instance
7413 method exists in the root class.
7414
666b0481
RH
74152001-09-05 Richard Henderson <rth@redhat.com>
7416
7417 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
7418
ae6f2a1c
ZW
74192001-09-05 Zack Weinberg <zack@codesourcery.com>
7420
7421 * function.c (ggc_mark_struct_function): Mark f->outer.
7422 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
7423 * integrate.c (output_inline_function): ... not here.
7424
2ab0437e
JH
7425Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
7426
04ac5ee9
JH
7427 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
7428
2ab0437e
JH
7429 * i386.c (size_cost): New static variable.
7430 (override_function): Use size_cost when -Os is specified.
7431
7432 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
7433 properly; Use current_function_calls_eh_return.
7434 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
f5143c46 7435 use leave to avoid dependency chain.
2ab0437e
JH
7436
7437 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
7438 get BB loop_depth instead of computing it from LOOP notes.
7439
7440 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
7441
76f81d95
JDA
74422001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7443
7444 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7445 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7446 UNALIGNED_DOUBLE_INT_ASM_OP): Define
7447
8db4c867
JL
74482001-09-05 Jeffrey A Law (law@cygnus.com)
7449 Jason Merrill (jason@redhat.com)
7450
7451 * stor-layout.c (layout_type): Complain if an array's size can
7452 not be represented in a size_t.
7453
7454 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
7455
caa297fe
DB
74562001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
7457
4cba3b67 7458 * gcc.c: (process_command) Add parentheses around assignment
caa297fe
DB
7459 used as truth value.
7460
eecd6d9c
RS
74612001-09-05 Richard Sandiford <rsandifo@redhat.com>
7462
4cba3b67 7463 * config/mips/mips.c (save_restore_insns): Don't mark any register
eecd6d9c
RS
7464 save slots as unchanging if current_function_calls_eh_return.
7465
a39bdefc
RH
74662001-09-05 Richard Henderson <rth@redhat.com>
7467
7468 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
7469 * config/alpha/alpha-protos.h: Declare it.
7470 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
7471 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
7472 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
7473 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
7474 (REG_OK_FOR_BASE_P): Select one of the above.
7475
662704e7
RS
74762001-09-05 Richard Sandiford <rsandifo@redhat.com>
7477
7478 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
7479 (crti.o): Prefix name of object file with $(T).
7480 (crtn.o): Likewise.
7481
2be1602e
DM
74822001-09-05 David S. Miller <davem@redhat.com>
7483
7484 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
7485 * config/sparc/linux64.h: Likewise.
7486
a7939b1d
AJ
74872001-09-05 Andreas Jaeger <aj@suse.de>
7488
7489 * doc/invoke.texi (i386 Options): -mwide-multiply is not
7490 available anymore, remove the documentation.
7491 (i386 Options): Fix typo, cleanup index entries.
7492
7493 * prefix.c (concat): Remove, we can use the version from liberty.
7494
23296a36
RH
74952001-09-05 Richard Henderson <rth@redhat.com>
7496
7497 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
7498 New functions split out of md file expanders.
7499 * config/alpha/alpha-protos.h: Declare them.
7500 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
7501
522d73ab
NB
75022001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
7503
7504 * cppmacro.c (funlike_invocation_p): No need to restore context.
7505
aead1ca3
RH
75062001-09-04 Richard Henderson <rth@redhat.com>
7507
7508 * reload.c (push_reload): Export.
7509 * reload.h (push_reload): Declare it.
7510
7511 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
7512 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
7513 * config/alpha/alpha.c (alpha_legitimize_address): New.
7514 (alpha_legitimize_reload_address): Likewise.
7515 * config/alpha/alpha-protos.h: Declare them.
7516
93913281
SS
75172001-09-04 Stan Shebs <shebs@apple.com>
7518
7519 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
7520 * config/darwin.c (machopic_stub_name): Account for internally
7521 generated lib calls such as memcpy.
7522
4c21ef03
RH
75232001-09-04 Richard Henderson <rth@redhat.com>
7524
7525 * unwind.h (_UA_END_OF_STACK): New flag.
7526 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
7527
9aa5ba97
JL
7528Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
7529
7530 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
7531
58771ed1
RS
75322001-09-04 Richard Sandiford <rsandifo@redhat.com>
7533
7534 * config/mips/mips.c (save_restore_insns): Change base_offset to
7535 fp_offset in second call to mips_emit_frame_related_store.
7536
ba72e5a6
HPN
75372001-09-04 Hans-Peter Nilsson <hp@axis.com>
7538
7539 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
7540 sometimes be represented as a NOTE of type
7541 NOTE_INSN_DELETED_LABEL.
7542 (Insns): Document NOTE_INSN_DELETED_LABEL.
7543
22367161
NS
75442001-09-04 Nathan Sidwell <nathan@codesourcery.com>
7545
7546 * c-common.h (tree_dump_index): Add more comments.
7547 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
7548 (dump_option_value_info): New struct.
7549 (dump_options): New array.
7550 (dump_switch_p): Parse switch options symbolically.
7551 * doc/invoke.texi (-fdump-ast): Rename to ...
7552 (-fdump-tree): ... here. Document that options are symbolic, and
7553 not all are applicable.
7554
f7df2b9d
DM
75552001-09-04 David S. Miller <davem@redhat.com>
7556
7557 * config/sparc/sparc.md (define_splits): Kill constraints.
7558
7fbb2f84
DM
7559 Cleanup redundant and unused insn attributes.
7560 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
7561 binary, and move. Mark ialu as default.
7562 (commented out define_function_unit "alu"): Kill.
7563 (define_attr "use_clobbered"): Kill.
7564 (whole file): Kill address insn type references. Replace
7565 all unary/binary/move references with ialu.
7566 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
7567 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
7568 TYPE_IALU.
a7939b1d 7569
24697ca0
DM
7570 Simplify length insn attribute and make more judicious use
7571 of insn attribute defaulting.
7572 * config/sparc/sparc.md (all insns with length > one): Mark as
7573 insn type multi if real instructions, else use default if
7574 it is a forced splitter.
7575 (all insns with length == one): Use default insn length.
7576 (all insns of type ialu): Use default insn type.
7577
7578 Fix erroneous insn attribute settings.
7579 (addx): Set insn type to misc.
7580 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
7581 const_umulsidi3_sp64): Set insn type to imul.
a7939b1d 7582
24697ca0
DM
7583 Track SFmode vs DFmode insns according to UltraSPARC
7584 scheduling rules.
7585 * config/sparc/sparc.md ("fptype"): New attribute, default
7586 to "single".
7587 (all DFmode single insns): Mark as fptype "double".
7588
7743fdb9
JJ
75892001-09-03 Jakub Jelinek <jakub@redhat.com>
7590
7591 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
7592
964be02f
RH
75932001-09-03 Richard Henderson <rth@redhat.com>
7594
7595 * function.h (struct function): Add arg_pointer_save_area_init.
7596 * function.c (expand_function_end): Init arg_pointer_save_area.
7597 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
7598 when called from a nested function.
7599
86251d81
AMT
76002001-09-02 Angela Marie Thomas <angela@cygnus.com>
7601
7602 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
7603 is enabled.
7604
0c4992b0
JH
7605Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
7606
7607 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
7608
e27e731d
GK
76092001-09-01 Geoffrey Keating <geoffk@redhat.com>
7610
9e0e11bf
GK
7611 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
7612 (emit_push_insn): Use specified padding direction when
7613 STACK_PUSH_CODE is POST_INC.
7614
e27e731d
GK
7615 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
7616
a6ffcb2a
KG
76172001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7618
7619 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
7620
53aabfbc
NB
76212001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
7622
7623 * cppinit.c (cpp_start_read): Free the imacros list as we
7624 traverse it. Don't free the chains before returning.
7625 (_cpp_push_next_buffer): Only try pushing buffers if we've
7626 completed -imacros handling.
7627
4049df42
EC
76282001-08-31 Eric Christopher <echristo@redhat.com>
7629
7630 * gcc.c (handle_braces): Add explaination for abort.
7631
57bfa49a
RZ
76322001-08-30 Roman Zippel <zippel@linux-m68k.org>
7633
7634 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
7635 move adjustment of bitpos instead.
7636
eb3ae3e1
ZW
76372001-08-31 Zack Weinberg <zack@codesourcery.com>
7638
7639 * function.c: Remove all_functions. Make outer_function_chain
7640 static.
7641 (init_function_start): Don't add new function structure to
7642 all_functions.
7643 (find_function_data, push_function_context_to,
7644 pop_function_context_from, put_var_into_stack,
7645 trampoline_address): Update for changed structure element names.
7646 (push_function_context_to): Disentangle.
7647 (free_after_compilation): Also free F.
7648 (expand_dummy_function_end): Don't free cfun here.
7649 (put_var_into_stack): Comment why we can't use find_function_data here.
7650 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
7651 (mark_function_chain): Split into maybe_mark_struct_function and
7652 ggc_mark_struct_function. Export the latter.
7653 (init_function_once): Mark from cfun and outer_function_chain;
7654 not all_functions.
7655
7656 * function.h (struct function): Kill next_global. Rename next
7657 to outer. All users updated to match.
7658 (all_functions, outer_function_chain): Don't declare.
7659
7660 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
7661 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
7662 don't touch f->inlinable, after calling rest_of_compilation.
7663
7664 * tree.h: Forward-declare struct function. Prototype
7665 ggc_mark_struct_function.
7666
fb9282f9
KH
76672001-08-31 Kazu Hirata <kazu@hxi.com>
7668
7669 * config/h8300/h8300.md (*andorhi3): Fix typos.
7670
6268b922
KG
76712001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7672
7673 * calls.c (emit_library_call_value): Don't use a fixed
7674 argument after VA_CLOSE, i.e. out of scope in traditional C.
7675
7676 * emit-rtl.c (gen_rtvec): Likewise.
7677
78b41166
KG
76782001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7679
7680 * Makefile.in (c-pragma.o): Depend on output.h.
7681 (reorg.o): Depend on except.h.
7682
7683 * c-pragma.c: Include output.h.
7684
7685 * reorg.c: Include except.h.
7686
7687 * unwind-dw2.c: Call __builtin_alloca, not alloca.
7688
fe3e667f
RH
76892001-08-31 Richard Henderson <rth@redhat.com>
7690
ff7cc307 7691 * sched-deps.c (add_dependence): Don't elide dependency if the
fe3e667f
RH
7692 conditional used by insn is modified in elem.
7693
75b9045a
NC
76942001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
7695
7696 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
7697
a8231a01
DN
76982001-08-31 Diego Novillo <dnovillo@redhat.com>
7699
7700 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
7701 dump_switch_p.
7702
43898541
GK
77032001-08-31 Geoffrey Keating <geoffk@redhat.com>
7704
7705 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
7706 function.
7707 (stormy16_asm_out_constructor): New function.
7708 (TARGET_ASM_CONSTRUCTOR): Define.
7709 (TARGET_ASM_DESTRUCTOR): Define.
7710
6b8c9327
AJ
77112001-08-31 Andreas Jaeger <aj@suse.de>
7712
7713 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
7714 * loop.c (add_label_notes): Likewise.
7715 * reload.c (find_reloads): Likewise.
7716 * config/sh/sh.c (machine_dependent_reorg): Likewise.
7717
a9985a92
JM
77182001-08-31 Jason Merrill <jason_merrill@redhat.com>
7719
7720 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
7721 code here. Take _Unwind_{W,Sw}ord*.
7722 (read_encoded_value_with_base): Use them.
7723 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
7724 words.
7725 (extract_cie_info): Simplify read_?leb128 handling.
7726 (execute_stack_op, execute_cfa_program): Likewise.
7727 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
7728
e2470e1b
GK
77292001-08-31 Geoffrey Keating <geoffk@redhat.com>
7730
7731 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
7732 the frame pointer to pop the stack if convenient.
7733
7734 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
7735 Don't use post-increment before combine.
7736 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
7737 a call-saved register.
7738
f5dd47c4
AJ
77392001-08-31 Andreas Jaeger <aj@suse.de>
7740
7741 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
7742 code was correct.
7743
ed09481d
GK
77442001-08-30 Geoffrey Keating <geoffk@redhat.com>
7745
7746 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
7747 not DIV/MOD, of course.
7748
b8ec5764
VM
77492001-08-30 Vladimir Makarov <vmakarov@redhat.com>
7750
7751 * rtl.def: Undo my patch commited 2001-08-27.
7752
7753 * genattrtab.c: Ditto.
7754
7755 * rtl.h: Ditto.
7756
7757 * sched-int.h: Ditto.
7758
7759 * target-def.h: Ditto.
7760
7761 * target.h: Ditto.
7762
7763 * haifa-sched.c: Ditto.
7764
7765 * sched-rgn.c: Ditto.
7766
7767 * sched-vis.c: Ditto.
7768
7769 * Makefile.in: Ditto.
7770
7771 * doc/md.texi: Ditto.
7772
7773 * doc/tm.texi: Ditto.
7774
7775 * doc/contrib.texi: Ditto.
7776
7777 * doc/gcc.texi: Ditto.
7778
7779 * genattrtab.h: Remove it.
7780
7781 * genautomata.c: Remove it.
7782
7783 * genattr.c: Undo my patch and Richard Henderson's patch commited
7784 2001-08-27.
7785
9f5b774b 7786Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
f4926e19
R
7787
7788 * config.gcc (h8300-*-elf*): New case.
7789 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
7790 (SUBTARGET_CPP_SPEC): Define.
7791 (EXTRA_SPECS): Define.
7792 (SUBTARGET_EXTRA_SPECS): Define.
7793 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
7794 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
7795
8c062645
R
7796Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
7797
7798 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
7799 (LIB2FUNCS_EXTRA): Define.
7800 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
7801 config/h8300/fixunssfsi.c: New file.
7802
6f41623f
KH
78032001-08-30 Kazu Hirata <kazu@hxi.com>
7804
7805 * config/h8300/h8300.md (zero_extendqihi2): Changes to
f63d1bf7 7806 define_expand to accommodate target-specific attributes.
6f41623f
KH
7807 (anonymous zero_extendqihi2 patterns): New.
7808
ee437932
R
7809Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
7810
7811 * h8300.md (*andorhi3): New pattern.
7812
63a57e0f
R
7813Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
7814
7815 * h8300.c (dosize): Fix test for "sub".
7816
95602da1
R
7817Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
7818
7819 * c-typeck.c (pointer_diff): Try to eliminate common term before
7820 doing conversions.
7821
ef7112de
NC
78222001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
7823
7824 * config/arm/arm.c (arm_compute_initial_elimination_offset):
7825 Account for the saves of the FP registers.
7826
7827 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
7828 (TEXT_SECTION_ASM_OP): Define.
7829 (INIT_SECTION_ASM_OP): Define.
7830 (FINI_SECTION_ASM_OP): Define.
7831 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
7832 (RDATA_SECTION_FUNCITON): Provide prototype.
7833
52fdbf26
GK
78342001-08-29 Geoffrey Keating <geoffk@redhat.com>
7835
7836 * reload1.c (move2add_note_store): Correct typo checking for
7837 argument pushes.
7838
c63b1ae8
AM
78392001-08-29 Andrew MacLeod <amacleod@redhat.com>
7840
7841 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
7842 note should not be considered outside the libcall block.
7843
ec83eb53
KG
78442001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7845
7846 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
7847
5965bbf8
KH
78482001-08-29 Kazu Hirata <kazu@hxi.com>
7849
7850 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
7851
366a7b27
KH
78522001-08-29 Kazu Hirata <kazu@hxi.com>
7853
7854 * config/h8300/h8300-protos.h: Add a prototype for
7855 emit_logical_op.
7856 * config/h8300/h8300.c (emit_logical_op): New.
7857 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
7858 (andsi3): Likewise.
7859 (iorhi3): Likewise.
7860 (iorsi3): Likewise.
7861 (xorhi3): Likewise.
7862 (xorsi3): Likewise.
7863
6e9c53b4
JDA
78642001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
7865
7866 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
7867 comparison with rtx INTVAL.
7868 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
7869 expression.
7870 * pa.h (FUNCTION_ARG_SIZE): Likewise.
7871
53251a55
KH
78722001-08-29 Kazu Hirata <kazu@hxi.com>
7873
7874 * config/h8300/lib1funcs.asm: Update the copyright. Fix
7875 comment typos.
7876
0cb3708d
KH
78772001-08-29 Kazu Hirata <kazu@hxi.com>
7878
07322342
KH
7879 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
7880 (reg n) to (mem (pre_dec (reg n))
0cb3708d
KH
7881 (anonymous movsi pattern): Likewise.
7882
39fc3cc7
KH
78832001-08-29 Kazu Hirata <kazu@hxi.com>
7884
07322342 7885 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
39fc3cc7 7886
b3a68dba
KH
78872001-08-29 Kazu Hirata <kazu@hxi.com>
7888
07322342
KH
7889 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
7890 several special constants.
b3a68dba 7891
45a4bc1d
KH
78922001-08-29 Kazu Hirata <kazu@hxi.com>
7893
7894 * config/h8300/lib1funcs.asm: Fix comment typos.
7895
c3d03e3a
KG
78962001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7897
7898 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
7899 Fix format specifier warnings.
f5dd47c4 7900
c3d03e3a
KG
7901 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
7902 inet_makeaddr, semctl): Prototype.
7903
7904 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
7905 (save_restore_insns): Use base_offset, not gp_offset.
7906
7907 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
7908 (ASM_OUTPUT_BYTE): Fix format specifier warning.
7909
a7b01a4b
RH
79102001-08-29 Richard Henderson <rth@redhat.com>
7911
7912 * bb-reorder.c (function_tail_eff_head): New.
7913 (record_effective_endpoints): Set it.
7914 (fixup_reorder_chain): Use it.
7915
c43f84d7
KG
79162001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7917
7918 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
7919
c0cbc013
DJ
79202001-08-28 Dale Johannesen <dalej@apple.com>
7921
7922 * config/darwin.c (machopic_function_base_name): Add const
7923 qualifier to a string.
7924 (darwin_encode_section_info): Ditto.
7925
252cf812
KG
79262001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7927
7928 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
7929 function definition.
7930
d59c5346
DB
79312001-08-28 Daniel Berlin <dan@cgsoftware.com>
7932
7933 * df.h (struct df): Add rts_order variable.
7934
7935 * df.c (df_visit_next_rts): New function.
7936 (df_visit_next): Renamed to df_visit_next_rc
7937 (df_analyse_1): Allocate/compute/free rts_order as well.
7938 (df_rd_global_compute): Use df_visit_next_rc instead of
7939 df_visit_next.
7940 (df_ru_global_compute): Use df_visit_next_rts instead of
7941 df_visit_next.
f5dd47c4 7942
d59c5346
DB
7943 * flow.c (flow_reverse_top_sort_order_compute): New function.
7944
7945 * basic-block.h: Add prototype.
7946
e0c39f1b
DB
79472001-08-28 Daniel Berlin <dan@cgsoftware.com>
7948
7949 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
7950 blocks, the BB_REACHABLE is now set, rather than aux being
7951 non-NULL. Update the test to reflect this.
f5dd47c4 7952
a098df27
EC
79532001-08-28 Eric Christopher <echristo@redhat.com>
7954
7955 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
7956 config/mips/crti.asm: Ditto.
7957
46f9491e
EC
79582001-08-28 Eric Christopher <echristo@redhat.com>
7959 Richard Henderson <rth@redhat.com>
7960
7961 * c-pragma.h (add_weak): Move prototype from here...
7962 * output.h (add_weak): ... to here.
7963 * varasm.c (add_weak): Fix typo.
7964 * config/mips/crti.asm: New file.
7965 * config/mips/crtn.asm: Ditto.
7966 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
7967 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
7968 (INVOKE__main): Ditto.
7969 (INIT_SECTION_ASM_OP): New.
7970 (FINI_SECTION_ASM_OP): Ditto.
7971 (STARTFILE_SPEC): Add crti.
7972 (ENDFILE_SPEC): Add crtn.
7973 * config/mips/elf64.h: Same.
7974 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
7975 Remove.
7976 * config/mips/vxworks.h: Ditto.
7977 * config/mips/t-elf: Support crti and crtn.
7978
5dde0143
AO
79792001-08-28 Alexandre Oliva <aoliva@redhat.com>
7980
7981 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
7982 INSN_LIST.
7983
967603ef
RH
79842001-08-28 Richard Henderson <rth@redhat.com>
7985
7986 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
7987 (one_cmplbi2 splitter): Remove redundant test.
7988
4f400cf6
DJ
79892001-08-28 Dale Johannesen <dalej@apple.com>
7990
7991 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
7992
c976fa88
DS
79932001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
7994
7995 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
7996
1aef44a7
SS
79972001-08-28 Stan Shebs <shebs@apple.com>
7998
7999 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
8000 (UNALIGNED_SHORT_ASM_OP): Define.
8001 (UNALIGNED_INT_ASM_OP): Define.
8002
68350f4f
WC
80032001-08-28 Will Cohen <wcohen@redhat.com>
8004
8005 * config/rs6000/rs6000.md (store_multiple): Correct RTL
8006 generation for first set.
8007
b5a696fb 80082001-08-27 Roman Zippel <zippel@linux-m68k.org>
c23bb84b
RH
8009
8010 * flow.c (redirect_edge_succ_nodup): Return new edge.
8011 (try_simplify_condjump): Use new edge.
8012 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
8013
b5a696fb
RZ
8014 * cse.c (cse_basic_block): Skip note instructions.
8015
c05148e8
RH
80162001-08-27 Richard Henderson <rth@redhat.com>
8017
fa4e13e0
RH
8018 * combine.c (combine_simplify_rtx): Don't reverse condition
8019 if there is no reverse for the condition.
8020 (simplify_comparison): Don't simplify subregs from INT to FP.
8021
c05148e8
RH
8022 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
8023 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
8024 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
8025 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
8026 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
8027 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
46f9491e 8028
f21bdd05
RZ
80292001-08-27 Roman Zippel <zippel@linux-m68k.org>
8030
b7b59ff4
RZ
8031 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
8032 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
8033 (pushqi1): New.
8034 (adddi_dilshr32, adddi_dishl32): Only data register can be
8035 source for mem destination.
8036
f21bdd05
RZ
8037 * expmed.c (store_bit_field): Ignore adjustment to bitpos
8038 and use bitnum to decide about register move.
8039
a224278b
RH
80402001-08-27 Richard Henderson <rth@redhat.com>
8041
8042 * genattr.c (main): Emit state_t even when not doing scheduling.
8043
80c29cc4
RZ
80442001-08-27 Roman Zippel <zippel@linux-m68k.org>
8045 Richard Henderson <rth@redhat.com>
8046
8047 * gcse.c (reg_first_set, reg_last_set): Replace with ...
8048 (reg_avail_info, current_bb): ... these.
8049 (oprs_unchanged_p, record_last_reg_set_info): Use them.
8050 (compute_hash_table): Likewise.
8051
bce7bfe8
RZ
80522001-08-27 Roman Zippel <zippel@linux-m68k.org>
8053
8054 * flow.c (verify_flow_info): Use checksums to verify edges.
8055
ce4a5723
RH
80562001-08-27 Richard Henderson <rth@redhat.com>
8057
8058 * genautomata.c (expand_automata): Always create a description.
8059
859cb4d8
GK
80602001-08-27 Geoffrey Keating <geoffk@redhat.com>
8061
8062 * optabs.c (expand_binop): Correctly handle the carry in multiword
8063 add/subtract operations.
8064
b7a0c86f
FF
80652001-08-27 Fred Fish <fnf@be.com>
8066
8067 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
8068 __SIZE_TYPE__.
8069
67a44b16
GK
80702001-08-27 Geoffrey Keating <geoffk@redhat.com>
8071
8072 * reload.c (find_reloads_toplev): Back out this change:
8073
8074 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
8075
8076 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
8077 mem if the address is a mode_dependent_address_p.
8078
acd7baf7
VM
80792001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
8080
c23bb84b 8081 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
acd7baf7
VM
8082 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
8083 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
8084 RTL constructions.
46f9491e 8085
acd7baf7
VM
8086 * genattr.c (main): New variable num_insn_reservations. Increase
8087 it if there is DEFINE_INSN_RESERVATION. Output automaton based
8088 pipeline hazard recognizer interface.
8089
8090 * genattrtab.h: New file.
46f9491e 8091
acd7baf7
VM
8092 * genattrtab.c: Include genattrtab.h.
8093 (attr_printf, check_attr_test, make_internal_attr,
8094 make_numeric_value): Move protypes into genattrtab.h. Define them
8095 as external.
8096 (num_dfa_decls): New global variable.
8097 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8098 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8099 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8100 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
8101
8102 * genautomata.c: New file.
8103
8104 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
46f9491e 8105
c23bb84b 8106 * sched-int.h: (curr_state): Add the external definition for
acd7baf7
VM
8107 automaton pipeline interface.
8108 (haifa_insn_data): Add comments for members blockage and units.
46f9491e 8109
acd7baf7
VM
8110 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8111 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8112 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8113 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8114 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8115 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8116 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8117 macros.
8118 (TARGET_SCHED): Use the new macros.
8119
8120 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8121 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8122 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8123 dfa_bubble): New members in gcc_target.sched.
46f9491e 8124
c23bb84b 8125 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
acd7baf7
VM
8126 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8127 (insn_queue): Redefine it as pointer to array.
8128 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8129 INSN_QUEUE_SIZE.
8130 (max_insn_queue_index_macro_value): New variable.
8131 (curr_state, dfa_state_size, ready_try): New varaibles for
8132 automaton interface.
8133 (ready_element, ready_remove, max_issue): New function prototypes
8134 for automaton interface.
8135 (choose_ready): New function prototype.
8136 (insn_unit, blockage_range): Add comments.
8137 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8138 FUNCTION_UNITS_SIZE == 0.
8139 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8140 actual_hazard, potential_hazard): Add comments.
8141 (insn_cost): Use cost -1 as undefined value. Remove
8142 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
8143 pipeline interface.
8144 (ready_element, ready_remove): New functions for automaton
8145 interface.
8146 (schedule_insn): Add new code for automaton pipeline interface.
8147 (queue_to_ready): Add new code for automaton pipeline interface.
8148 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8149 (debug_ready_list): Print newline when the queue is empty.
8150 (max_issue): New function for automaton pipeline interface.
8151 (choose_ready): New function.
8152 (schedule_block): Add new code for automaton pipeline interface.
8153 Print ready list before scheduling each insn.
8154 (sched_init): Add new code for automaton pipeline interface.
8155 Initiate insn cost by -1.
8156 (sched_finish): Free the current automaton state and finalize
8157 automaton pipeline interface.
46f9491e 8158
acd7baf7
VM
8159 * sched-rgn.c: Include target.h.
8160 (init_ready_list, new_ready, debug_dependencies): Add new code for
8161 automaton pipeline interface.
8162
8163 * sched-vis.c: Include target.h.
8164 (get_visual_tbl_length): Add code for automaton interface.
8165 (target_units, print_block_visualization): Add comments.
46f9491e 8166
c23bb84b 8167 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
acd7baf7
VM
8168 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8169 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8170 (getruntime.o, genautomata.o): New entries.
8171 (genattrtab.o): Add new dependency file genattrtab.h.
8172 (genattrtab): Add new dependencies. Link it with `libm.a'.
8173 (getruntime.o, hashtab.o): New entries for canadian cross.
8174
8175 * doc/md.texi: Description of automaton based model.
46f9491e 8176
acd7baf7
VM
8177 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8178 Add comments.
8179 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8180 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8181 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8182 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8183 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8184 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8185 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8186 hook descriptions.
8187 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8188 MAX_DFA_ISSUE_RATE): New macro descriptions.
46f9491e 8189
acd7baf7
VM
8190 * doc/contrib.texi: Add dfa based scheduler contribution.
8191
8192 * doc/gcc.texi: Add more information about genattrtab.
8193
95005c21
DN
81942001-08-27 Diego Novillo <dnovillo@redhat.com>
8195
8196 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
8197 an RTL basic block.
8198
278ed218
RH
81992001-08-27 Richard Henderson <rth@redhat.com>
8200
8201 * function.c (expand_function_end): Don't init arg_pointer_save_area.
8202 (get_arg_pointer_save_area): New. Create an init it here.
8203 (fix_lexical_addr): Use it.
8204 * function.h: Declare it.
8205 * builtins.c (expand_builtin_setjmp_receiver): Use it.
8206 * stmt.c (expand_nl_goto_receiver): Use it.
8207
9f5cd0c5
RH
82082001-08-27 Richard Henderson <rth@redhat.com>
8209
36d7136e
RH
8210 * final.c (final_scan_insn): Don't enter APP_ON mode for
8211 empty asm strings.
8212
9f5cd0c5
RH
8213 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
8214 alignment for assemble_integer for DW_EH_PE_aligned.
225b9cb9 8215 * except.c (output_function_exception_table): Likewise.
9f5cd0c5 8216
4a56401d
AJ
82172001-08-26 Andreas Jaeger <aj@suse.de>
8218
8219 * c-tree.h: Add prototyp for c_sizeof_nowarn.
8220
c96bd05e 82212001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
46f9491e 8222
278ed218 8223 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
c96bd05e 8224
c5059423
AM
82252001-08-27 Alan Modra <amodra@bigpond.net.au>
8226
8227 * config/rs6000/rs6000.c (mask_operand): Rewrite without
8228 bit-shifting loop.
8229 (mask64_operand): Likewise.
8230 (rldic_operand): Delete.
8231 (includes_lshift64_p): Delete.
8232 (includes_rldic_lshift_p): New function.
8233 (includes_rldicr_lshift_p): New function.
8234 (print_operand): Don't call rldic_operand in case 'W'.
8235 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
8236 (includes_lshift64_p): Remove.
8237 (includes_rldic_lshift_p): Declare.
8238 (includes_rldicr_lshift_p): Declare.
8239 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
8240 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
8241 Replace match_operand rldic_operand predicate with
8242 const_int_operand. Replace includes_lshift64_p condition with
8243 includes_rldic_lshift_p.
8244 <ashldi3_internal 64 bit rldicr patterns>: New.
8245
7a75edb7
AJ
82462001-08-27 Andreas Jaeger <aj@suse.de>
8247
8248 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8249 * errors.c: Likewise.
8250 * final.c: Likewise.
8251 * dwarf2asm.c: Likewise.
8252 * doprint.c (checkit): Likewise.
8253 * diagnostic.c: Likewise.
8254 * collect2.c: Likewise.
8255 * calls.c: Likewise.
8256 * c-semantics.c (build_stmt): Likewise.
8257 * c-format.c (status_warning): Likewise.
8258 * c-errors.c (pedwarn_c99): Likewise.
8259 * builtins.c (validate_arglist): Likewise.
8260 * config/pj/pj.c (pj_printf): Likewise.
8261 * fix-header.c: Likewise.
8262 * gcc.c: Likewise.
8263 * gcov.c (fnotice): Likewise.
8264 * gensupport.c (message_with_line): Likewise.
8265 * mips-tfile.c: Likewise.
8266 * protoize.c (notice): Likewise.
8267 * read-rtl.c (fatal_with_file_and_line): Likewise.
8268 * rtl-error.c: Likewise.
8269 * tradcpp.c: Likewise.
8270 * tree.c: Likewise.
8271 * cp/tree.c (build_min_nt): Likewise.
8272 (build_min): Likewise.
8273 * cp/lex.c: Likewise.
8274 * cp/errfn.c: Likewise.
8275 * cp/rtti.c (create_pseudo_type_info): Likewise.
8276
6baff4c1
DC
8277Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
8278
8279 * df.c (df_uses_record): Return after recording all uses
8280 in ASM_OPERANDS.
8281
772b1404
DB
82822001-08-26 Daniel Berlin <dan@cgsoftware.com>
8283
8284 * df.c (df_insn_modify): Realloc the INSN table here, if
8285 necessary, here, too.
8286
f9ad2367
AH
82872001-08-26 Aldy Hernandez <aldyh@redhat.com>
8288
278ed218
RH
8289 * config/mips/mips.c (mips_function_value): Handle complex return
8290 values.
f9ad2367 8291
cf728d61
HPN
82922001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
8293
8294 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
8295 unshared.
8296 * reload.c (make_memloc): Copy result if it is still
8297 reg_equiv_memory_loc[regno] on return.
8298 (subst_reloads) [ENABLE_CHECKING]: Check that none of
8299 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
8300 reg_equiv_mem are modified by the substitutions.
8301
6ab16dd9
JH
8302Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
8303
8304 * predict.c (expensive_function_p): New.
8305 * rtl.h (expensive_function_p): Declare.
8306 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
8307 (use_fast_prologue_epilogue): New static variable.
8308 (expand_prologue): Set it; emit short prologues if unset.
8309 (expand_epilogue): Likewise.
8310
4b58290f
GK
83112001-08-22 Geoffrey Keating <geoffk@redhat.com>
8312
8313 * config.gcc: Add stormy16-*-elf case.
8314 * config/stormy16/stormy-abi: New file.
8315 * config/stormy16/stormy16-lib2.c: New file.
8316 * config/stormy16/stormy16-protos.h: New file.
8317 * config/stormy16/stormy16.c: New file.
8318 * config/stormy16/stormy16.h: New file.
8319 * config/stormy16/stormy16.md: New file.
8320 * config/stormy16/t-stormy16: New file.
8321
d3fe11e6
JH
8322Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
8323
8324 * i386.h (no-accumulate-outgoing-args): Use proper mask.
8325
1cb18e3c
DE
83262001-08-24 David Edelsohn <edelsohn@gnu.org>
8327
8328 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
8329 descriptor members are pointer size, not constant 4.
8330 * config/rs6000/rs6000.md (define_splits): Remove more unused
8331 constraints.
8332
c3bef1a9
KG
83332001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8334
8335 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
8336
20787c01
AJ
83372001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
8338
8339 * cp/rtti.c (VPARAMS): Fix parameter.
8340
a242b083
ZW
83412001-08-24 Zack Weinberg <zackw@panix.com>
8342
8343 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
8344 to zero.
8345 (mode_for_extraction): No need for #ifdefs. Add default-case abort
8346 to switch.
8347 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
8348 in if controlling use of insv.
8349 (extract_bit_field): Likewise, for extv and extzv.
8350
653753c5
JH
8351Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
8352
8353 * i386.md (movcc peep2): Fix load of 0.
8354
ada11335
KG
83552001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8356
8357 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
8358 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
8359
0213a355
JM
83602001-08-23 Jason Merrill <jason_merrill@redhat.com>
8361
4ae08f95
JM
8362 * c-pragma.h: Move weak_syms and weak_decls...
8363 * varasm.c: ...here. Now static.
8364 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
8365 depend on HANDLE_PRAGMA_WEAK.
8366
0213a355
JM
8367 * c-common.c (c_alignof, c_alignof_expr): Move here...
8368 * c-typeck.c: ...from here.
8369 * c-tree.h, c-common.h: Adjust.
8370
3e7c7805
BS
83712001-08-23 Bernd Schmidt <bernds@redhat.com>
8372
8373 * config/ia64/ia64.c (rws_update): If !pred, set write_count
8374 instead of incrementing it.
8375
3b63eac4
BS
8376 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
8377 asm ready, don't try to move them all into the same array element.
8378
ab75d1f1
JH
8379Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
8380
8381 * function.c (thread_prologue_and_epilogue_insns): Avoid
8382 fallthru flag on edge to exit.
8383
8384 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
8385
8386 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
8387 dead edges.
8388
038c2f50
LB
83892001-08-23 Lars Brinkhoff <lars@nocrew.org>
8390
8391 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
8392 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
8393 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
8394 Remove prototype.
8395
40803cd5
LB
83962001-08-23 Lars Brinkhoff <lars@nocrew.org>
8397
8398 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
8399 replace "GNU CC" with "GCC".
8400
7109d286
RH
84012001-08-23 Richard Henderson <rth@redhat.com>
8402
8403 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
8404 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
8405 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
8406 Need GR between FR and not GR_AND_FR.
8407 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
8408 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
8409 AR regs before GR regs.
8410 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
8411 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
8412 (REGISTER_MOVE_COST): Update.
8413 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
8414
26a952a8
RH
84152001-08-23 Richard Henderson <rth@redhat.com>
8416
8417 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
8418 a register class.
8419
1558b970
GK
84202001-08-22 Geoffrey Keating <geoffk@redhat.com>
8421
8422 * reload1.c (emit_reload_insns): Don't look for notes
8423 on a NULL store_insn.
8424
0d587737
KG
84252001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8426
8427 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
8428 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
8429 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
8430 format specifier warnings.
8431 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
8432
429e2a45
DB
84332001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
8434
8435 * config/i386/i386-protos.h: Correct declaration of
8436 i386_pe_asm_named_section.
8437
85f3e748
JDA
84382001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
8439
8440 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
8441 variable i.
8442 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
20787c01 8443
29401c30
NB
84442001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
8445
8446 * cpperror.c (print_location): Don't show _Pragma.
8447 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
8448 and file change callback generation here.
8449 (stack_include_file): Update use of cpp_push_buffer.
8450 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
8451 (struct cpp_buffer): Remove type, pfile members.
8452 * cppinit.c (cpp_handle_option): Use free_chain.
8453 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
8454 (skip_escaped_newlines, get_effective_char, lex_percent): Take
8455 a cpp_reader rather than a cpp_buffer.
8456 (skip_escaped_newlines, get_effective_char, skip_block_comment,
8457 skip_line_comment, parse_string, lex_percent, lex_dot,
8458 _cpp_lex_token): Update accordingly.
8459 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
8460 generation here.
8461 (cpp_push_buffer): Update prototype.
8462 (run_directive): Update use of cpp_push_buffer.
8463 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
8464 handle_assertion): Update use of run_directive.
8465 * cpplib.h (enum cpp_buffer_type): Remove.
8466 (cpp_push_buffer): Update prototype.
8467 * fix-header.c (read_scan_file): Update.
8468
8060c8ee
MK
84692001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8470
8471 * gcc.c (struct prefix_list): Change prefix to const char *.
8472
3e4eece3
MK
84732001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8474
8475 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
8476
2270623a
JM
84772001-08-22 Jason Merrill <jason_merrill@redhat.com>
8478
23ac7d7e
JM
8479 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
8480 from a new MEM.
8481
2270623a
JM
8482 * jump.c (squeeze_notes): Take parms by reference. Handle END being
8483 a squeezable note.
8484 * rtl.h: Adjust.
8485 * ifcvt.c (dead_or_predicable): Adjust.
8486 * loop.c (find_and_verify_loops): Adjust.
8487 * stmt.c (expand_end_case): Adjust.
8488 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
8489 head and end insn pointers in the basic block, not just local copies.
8490 (merge_blocks_move_predecessor_nojumps): Likewise.
8491
1322177d
LB
84922001-08-22 Lars Brinkhoff <lars@nocrew.org>
8493
8494 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
8495 bitmap.h, builtin-types.def, builtins.c, builtins.def,
8496 c-aux-info.c, c-common.c, c-common.def, c-common.h,
8497 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
8498 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
8499 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
8500 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
8501 conditions.h, config.gcc, configure.frag, configure.in,
8502 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
8503 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
8504 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
8505 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
8506 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
8507 emit-rtl.c, errors.c, errors.h, except.c, except.h,
8508 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
8509 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
8510 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
8511 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
8512 gencheck.c, gencodes.c, genconfig.c, genemit.c,
8513 genextract.c, genflags.c, gengenrtl.c, genmultilib,
8514 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
8515 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
8516 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
8517 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
8518 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
8519 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
8520 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
8521 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
8522 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
8523 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
8524 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
8525 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
8526 params.h, predict.c, predict.def, predict.h, prefix.c,
8527 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
8528 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
8529 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
8530 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
8531 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
8532 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
8533 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
8534 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
8535 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
8536 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
8537 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
8538 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
8539 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
8540 xcoffout.h: replace "GNU CC" with "GCC".
8541
340f7e7c
RH
85422001-08-21 Richard Henderson <rth@redhat.com>
8543
8544 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
8545 (final_scan_insn): Consider jump tables data even if we have no
f63d1bf7 8546 independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
340f7e7c
RH
8547 ADDR_VEC_ALIGN.
8548 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
8549 (ASM_OUTPUT_CASE_END): Remove.
8550 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
8551 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
8552 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
8553
d523b40e
RH
85542001-08-21 Richard Henderson <rth@redhat.com>
8555
bd7b9a0f
RH
8556 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
8557 at barrier insns. Emit stop bits before barriers.
8558
687eccc0
RH
8559 * flow.c (flow_find_cross_jump): Don't consider unconditional
8560 return insns for commoning.
8561
ba712955
RH
8562 * final.c (compute_alignments): Fix typo.
8563
d523b40e
RH
8564 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
8565 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
8566 (store_bit_field): Use mode_for_extraction more places.
8567 (extract_bit_field): Likewise.
8568
e1b86c9e
ZW
85692001-08-21 Zack Weinberg <zackw@panix.com>
8570
8571 * caller-save.c: Don't include insn-codes.h.
8572 (reg_save_code, reg_restore_code): Make arrays of int.
8573 All uses updated to match.
8574 (insert_save, insert_restore): No need to initialize "code"
8575 variable upon declaration.
8576 * Makefile.in: update dependencies; fix typo in clean rule.
8577
b64d061e
RH
85782001-08-21 Richard Henderson <rth@redhat.com>
8579
8580 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
8581 (merge_if_block): Handle fallout from same.
8582
91db4a92
KG
85832001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8584
8585 * builtins.c (type_to_class): Fix typo in last change.
8586
45d29407
RH
85872001-08-21 Richard Henderson <rth@redhat.com>
8588
20787c01 8589 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
45d29407
RH
8590 ia64_asm_output_label.
8591
209218a6
RH
8592 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
8593 copy of gp while the real gp register contains garbage.
8594
da920570
ZW
85952001-08-21 Zack Weinberg <zackw@panix.com>
8596
8597 * expmed.c (mode_for_extraction): New function.
8598 (store_bit_field, extract_bit_field): Use it.
8599 * expr.h: Prototype it and provide an enum for its first argument.
8600
8601 * combine.c, function.c, recog.c: Don't include insn-codes.h.
8602 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
8603 and digging through the insn_data tables.
8604 * Makefile.in: Update dependencies.
8605
d8693c6f
NB
86062001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
8607
8608 * cppfiles.c (stack_include_file): line-map.c now handles include
8609 depth.
8610 (handle_missing_handler): Similarly.
8611 (_cpp_execute_include): Similarly.
8612 (_cpp_pop_file_buffer): Similarly.
8613 * cpphash.h (struct cpp_reader): Remove system_include_depth,
8614 buffer_stack_depth and include_depth.
8615 * cpplib.c (do_include_common): line-map.c now handles include depth.
8616 (cpp_push_buffer): Similarly.
8617 (_cpp_pop_buffer): Similarly.
8618 * cppmacro.c (builtin_macro): Update.
8619 * line-map.c (init_line_maps): Set depth.
8620 (add_line_map): Increment "used" earlier. Update and use the
8621 include depth.
8622 (trace_include): Use the include depth.
8623 * line-map.h (struct line_maps): New member depth.
8624
5993019d
NB
86252001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
8626
8627 * cppfiles.c (stack_include_file): Don't handle -H here.
8628 * cppinit.c (cpp_start_read): Set include tracing after
8629 cpp_post_options and after stacking the main file.
8630 * line-map.c (trace_include): New.
8631 (init_line_maps, add_line_map): Update.
8632 * line-map.h (struct line_maps): New member trace_includes.
8633
e5eba70a
NB
86342001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
8635
8636 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
8637 * cppfiles.c (stack_include_file): Only stack a file if there
8638 is something to do. Return a boolean indicating whether a
8639 buffer was stacked or not.
8640 (_cpp_execute_include): Similarly.
8641 (_cpp_read_file): Similarly.
8642 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
8643
c1a6a8dc
SS
86442001-08-21 Sam Steingold <sds@gnu.org>
8645
8646 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
8647 (RECACHE): keep obufp_before_macroname up to date
8648
ad82abb8
ZW
86492001-08-21 Zack Weinberg <zackw@panix.com>
8650
8651 * stmt.c: Don't include insn-codes.h.
8652 (expand_end_case): Machine specific logic moved to expr.c.
8653 No need to worry about __builtin_classify_type.
8654 (check_for_full_enumeration_handling, emit_case_nodes):
8655 Kill #if 0 blocks.
8656
8657 * builtins.o (expand_builtin_classify_type): Split up so code
8658 can be shared with fold_builtin_classify_type.
8659 (type_to_class, fold_builtin_classify_type): New functions.
8660 (fold_builtins): Handle __builtin_classify_type.
8661
8662 * expr.c (do_tablejump): Now static.
8663 (case_values_threshold, try_casesi, try_tablejump): New;
8664 code mostly from stmt.c (expand_end_case).
8665 (expr.h): Update prototypes.
8666
8667 * Makefile.in (stmt.o): Update dependencies.
8668
e9e4208a
WC
86692001-08-21 Will Cohen <wcohen@redhat.com>
8670
ad82abb8
ZW
8671 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
8672 declaration of variable i.
8673 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
8674 declaration of variable i.
e9e4208a 8675
29d2c7a5
RH
86762001-08-21 Richard Henderson <rth@redhat.com>
8677
8678 * crtstuff.c: Fix thinko last change. Move list tails to start
8679 of CRT_END section. Tidy ifdefs.
8680 (__EH_FRAME_BEGIN__): Always static for ELF.
8681 (__do_global_ctors_1): Rename from __frame_dummy.
8682 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
8683 name change; don't hide __EH_FRAME_BEGIN__.
8684
487b97e0
RH
86852001-08-21 Richard Henderson <rth@redhat.com>
8686
3aed1981
RH
8687 * gdbinit.in: Move break on exit after break on fancy_abort.
8688
487b97e0
RH
8689 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
8690 sized types.
8691
d7bc7a98
NB
86922001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
8693
8694 * cpphash.h (_cpp_push_next_buffer): New.
8695 * cppinit.c (do_includes): Remove.
8696 (push_include, free_chain, _cpp_push_next_buffer): New.
8697 (cpp_start_read): Use them to rework command line option handling.
8698 (cpp_handle_option): Combine handling of -include and -imacros.
8699 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
8700 appropriate. Always insert missing \n at EOF.
8701 * cpplib.c (start_directive): Get the directive position right.
8702 * cppmain.c (cb_file_change): Always print the first line, unless
8703 preprocessed.
8704
bb1a503c
AJ
87052001-08-20 Andreas Jaeger <aj@suse.de>
8706
8707 * profile.c (compute_branch_probabilities): Remove extra new-line
8708 in error message.
8709 * flow.c (verify_flow_info): Likewise.
8710
006844a3
DN
87112001-08-20 Diego Novillo <dnovillo@redhat.com>
8712
8713 * basic-block.h (basic_block): Add new field 'flags'.
8714 (BB_REACHABLE): Define.
8715 (expunge_block): Declare.
8716 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
8717 (EXIT_BLOCK_PTR): Ditto.
8718 (expunge_block): Remove static declaration.
8719 (cleanup_cfg): Clear bb->aux on every basic block.
8720 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
8721 computing reachability.
8722 (delete_unreachable_blocks): Delete block b if b->flags has
8723 BB_REACHABLE unset.
8724
0760faf9
DN
87252001-08-20 Diego Novillo <dnovillo@redhat.com>
8726
8727 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
8728
96bd19a7
KG
87292001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8730
8731 * sparc.c (sparc_variable_issue): Fix typo in last change.
8732
a7b0c484
RH
87332001-08-20 Richard Henderson <rth@redhat.com>
8734
8735 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
8736
010dc908
JDA
87372001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
8738
8739 * pa.h (RETURN_IN_MEMORY): Improve comment.
8740
3de87bf2
JJ
87412001-08-20 Janis Johnson <janis187@us.ibm.com>
8742
8743 * doc/invoke.texi (Profiling options): Clarify the interactions
8744 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
8745
c8a6b916
JO
87462001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
8747
8748 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
8749 command.
8750
27a14487
MK
87512001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8752
8753 * gcc.c (make_relative_prefix): Allocate a sufficiently large
8754 buffer.
8755
ca8264b4
RH
87562001-08-20 Richard Henderson <rth@redhat.com>
8757
8758 * final.c (end_final): Fix typo last change.
8759
51c04256
NB
87602001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
8761
8762 * cppinit.c (init_standard_includes): The returned buffer
8763 is already malloc-ed.
8764 * gcc.c (add_prefix): Similarly.
8765 * prefix.c (translate_name): Update to support clear buffer
8766 ownership rules.
8767 (update_path): Similarly. Be sure to free any newly allocated
8768 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
8769 (tr): New function.
8770 * prefix.h (update_path): Update prototype and document.
8771 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
8772 up and update to new buffer ownership rules.
8773 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
8774
247a370b
JH
8775Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
8776
8777 * final.c (compute_alignments): New function.
8778 (init_insn_lengths): Do not care label_align.
8779 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
8780 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
8781 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
8782 (shorted_branches): Realloc label_align array; do
8783 not call init_insn_lengths; Do not care about loop alignments.
8784 * output.h (compute_alignments): Declare.
8785 * toplev.c (rest_of_compilation): Call compute_alignments.
8786 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
8787
8788 * predict.c (block_info_def): Add npredecesors, remove nvisited;
8789 change visited to tovisit.
8790 (propagate_freq): Use faster traversing algorithm.
8791 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
8792 to tovisit; reverse meaning.
8793
8794 * predict.c (struct block_info_def): Remove nvisited.
8795 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
8796 (estimate_bb_frequencies): Call mark_dfs_back_edges.
8797
13fac94a
GK
87982001-08-19 Geoffrey Keating <geoffk@redhat.com>
8799
8800 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
8801 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
8802 (TARGET_FUSED_MADD): New.
8803 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
8804 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
8805 the multiply-add instructions.
8806
2919600a
RH
88072001-08-19 Richard Henderson <rth@redhat.com>
8808
bb1a503c 8809 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
2919600a
RH
8810 is aligned to pointer size.
8811
fd1a3f73
RH
88122001-08-19 Richard Henderson <rth@redhat.com>
8813
8814 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
8815 display markers during final schedule.
8816
c49f511c
RH
88172001-08-19 Richard Henderson <rth@redhat.com>
8818
8819 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
8820
c45632b7
RH
88212001-08-19 Richard Henderson <rth@redhat.com>
8822
8823 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
8824 in the same string.
8825 (ASM_NAME_TO_STRING): Remove.
8826 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
8827 in the same string. Remove support for expressions.
8828
90675921
RH
88292001-08-19 Richard Henderson <rth@redhat.com>
8830
8831 * config/i386/i386.md (tablejump): Make an expander; handle
8832 pic relative addressing here.
8833 (tablejump_1): Rename from tablejump_pic.
8834 (casesi): Remove.
8835
ec523c2f
RH
88362001-08-19 Richard Henderson <rth@redhat.com>
8837
8838 * regclass.c (fix_register): Fix typo.
8839
443621af
RH
88402001-08-18 Richard Henderson <rth@redhat.com>
8841
8842 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
8843 (struct _Unwind_Context): Expand br_loc to hold it.
8844 (uw_frame_state_for): Handle leaf functions better.
8845 (uw_update_reg_address): Update for br_loc change.
8846
213f974a
RH
88472001-08-18 Richard Henderson <rth@redhat.com>
8848
8849 * crtstuff.c: Move list heads before code that uses them.
8850 (__JCR_LIST__): Remove initial null.
8851 (frame_dummy, __frame_dummy): Do java registration here ...
8852 (__do_global_ctors_aux): ... not here.
8853
3dff7ed0
RH
8854 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
8855 (__do_global_dtors_aux): Update to match.
8856 (__JCR_LIST__, __do_jv_register_classes): New.
8857 (.init): Call it.
8858 * config/ia64/crtend.asm (__JCR_END__): New.
8859 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
8860 instead of an indirect LTOFF22 reloc.
8861
6ca3c22f
RH
88622001-08-18 Richard Henderson <rth@redhat.com>
8863
8864 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
8865 * regclass.c (init_reg_sets_1): Fix typo.
8866 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
8867 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
8868 (ia64_compute_frame_size): Make ar.unat live when in use.
8869 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
8870 for ar.pfs; remove ar.unat handling.
bb1a503c 8871 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
6ca3c22f
RH
8872 call-saved.
8873 (PREDICATE_CODES): Add ar_pfs_reg_operand.
8874 * config/ia64/ia64-protos.h: Update decls.
8875 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
8876 (sibcall_pic): Likewise.
8877
f83594c4
RH
88782001-08-18 Richard Henderson <rth@redhat.com>
8879
b395ddbe
RH
8880 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
8881 pred_rel_mutex when searching for insn_group_barrier.
8e8de254
RH
8882 * config/ia64/ia64.md (cycle_display): Combine the expander
8883 and insn patterns.
b395ddbe 8884
f83594c4
RH
8885 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
8886 bit before asm as needed.
8887
eced69b5
RH
88882001-08-18 Richard Henderson <rth@redhat.com>
8889
8890 * timevar.def (TV_MACH_DEP): New.
8891 * toplev.c (rest_of_compilation): Use it.
8892 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
8893
5ed3149c
ZW
88942001-08-18 Zack Weinberg <zackw@panix.com>
8895
8896 * unwind-dw2.c (execute_stack_op): Add default aborts to
8897 the inner switches to prevent warnings.
8898
20cc76d5
RH
88992001-08-18 Richard Henderson <rth@redhat.com>
8900
8901 * timevar.h (struct timevar_time_def): Change element type to float.
8902 (ticks_to_msec, clocks_to_msec): Likewise.
8903 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
8904 (get_time): Likewise.
8905 (timevar_print): Adjust zero check and printing to match.
8906
b649398a
ZW
89072001-08-18 Zack Weinberg <zackw@panix.com>
8908
9c34dbbf
ZW
8909 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
8910 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
8911 Eliminate overfull or underfull hboxes.
8912
89132001-08-18 Zack Weinberg <zackw@panix.com>
8914
8915 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
b649398a 8916
76f4925a
ZW
89172001-08-18 Zack Weinberg <zackw@panix.com>
8918
8919 * haifa-sched.c: Convert to target hooks. Macros replaced
8920 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
8921 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
8922 MD_SCHED_FINISH, and HAVE_cycle_display.
8923 * target-def.h (TARGET_SCHED_ADJUST_COST,
8924 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
8925 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
8926 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
9c34dbbf 8927 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
76f4925a
ZW
8928 New hook #defines to be overridden.
8929 (TARGET_SCHED): Bring them all together.
8930 (TARGET_INITIALIZER): Update.
8931 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
9c34dbbf 8932 instead of 'struct rtx_def *' throughout.
76f4925a
ZW
8933 (struct sched): New set of hooks for the scheduler.
8934 * Makefile.in (haifa-sched.o): Depend on target.h.
8935 * doc/tm.texi: Document the new scheduler hooks, together in
8936 their own section, instead of scattered around.
8937 Fix a bunch of underfull/overfull hboxes.
8938
8939 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
8940 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
8941 sparc.h: Don't define any of the old scheduler macros.
8942
8943 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
8944 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
8945 sparc.c: Create hook functions from code extracted from
8946 corresponding target header, or make existing hooks static, as
8947 appropriate. Set the appropriate entries in targetm.
8948
8949 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
8950 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
8951 rs6000-protos.h, s390-protos.h, sparc-protos.h:
8952 Remove prototypes for functions which are now static.
8953
8954 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
8955 related gunk; the Haifa scheduler is now the only choice.
8956
ef89d648
ZW
89572001-08-18 Zack Weinberg <zackw@panix.com>
8958
8959 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
8960 * genopinit.c: Put floating point divide insns in sdiv_optab.
8961 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
8962 * config/gofast.h, config/c4x/c4x.h,
8963 config/ia64/hpux_longdouble.h, config/mips/mips.h,
8964 config/pa/long_double.h, config/rs6000/sysv4.h,
8965 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
8966 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
8967 (init_optabs): Use init_optabv for overflow-trapping optabs.
8968 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
8969 cmp_optab RTX codes so have_insn_for can find them.
8970
8971 * optabs.c (expand_simple_binop, expand_simple_unop,
8972 have_insn_for, gen_sub3_insn): New interfaces.
8973 * expr.h: Prototype new functions.
8974 (enum optab_methods): Move here from optabs.h.
8975
8976 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
8977 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
8978 Use new functions instead of working directly with optabs.
8979 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
8980 unroll.c: Don't include optabs.h.
8981 * caller-save.c, combine.c, function.c, stmt.c: Just include
8982 insn-codes.h, not optabs.h.
8983 * Makefile.in: Update dependencies.
8984
8985 * combine.c (make_compound_operation, simplify_comparison):
8986 Fix typos testing for this or that instruction.
8987
9e23c02d
HB
89882001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8989
8990 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
8991 generating libgcc.a.
8992
1c0cc57e
KG
89932001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8994
8995 * except.c (TYPE_HASH): Delete.
9c34dbbf 8996
1c0cc57e
KG
8997 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
8998 HOST_WIDE_INT.
8999
9000 * tree.c (TYPE_HASH): Delete.
9001
9002 * tree.h (TYPE_HASH): Define.
9003
13c508d9
GS
90042001-08-18 Graham Stott <grahams@redhat.com>
9005
f63d1bf7 9006 * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13c508d9
GS
9007 define_split.
9008 (adddi3_internal_2+2): Likewise.
9009 (eh_set_lr_di+1): Likewise.
9010
c8af3574
RH
90112001-08-17 Richard Henderson <rth@redhat.com>
9012
9013 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9014 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
9015 * dwarf2asm.c: ... here.
9016 * dwarfout.c: Remove them.
9017
9018 * varasm.c (assemble_integer): Add align parameter.
9019 (assemble_real, output_constant, output_constructor): Likewise.
9020 * output.h: Update decls.
9021 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
9022 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
9023 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
9024 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
9025 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
9026 Update all callers.
9027
9028 * final.c (end_final): Abort profile block generation if we
9029 havn't layed it out properly.
9030 * output.h (assemble_eh_integer): Remove stale decl.
9031 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
9032 (min_align): New.
9033 (assemble_integer): Handle unaligned data.
9034 (assemble_real): Abort on unaligned data.
9035 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
9036 anything useful.
9037 (default_dtor_section_asm_out_destructor): Use assemble_align.
9038 (default_named_section_asm_out_constructor): Likewise.
9039 (default_ctor_section_asm_out_constructor): Likewise.
9040 * config/darwin.c (machopic_asm_out_constructor): Likewise.
9041 (machopic_asm_out_destructor): Likewise.
9042 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
9043 (nextstep_asm_out_destructor): Likewise.
9044 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
9045 (vms_asm_out_destructor): Likewise.
9046
920ae24b
RH
90472001-08-17 Richard Henderson <rth@redhat.com>
9048
9049 * config/mips/iris6.h (TARGET_IRIX6): New.
9050 (current_section_name, current_section_flags): New.
9051 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
9052 (MAX_OFILE_ALIGNMENT): New.
9053 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
9054 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9c34dbbf 9055 (copy_file_data): Split out from
920ae24b
RH
9056 (mips_asm_file_end): ... here.
9057 (mips_asm_file_start): Remove extra .section directive. Use
9058 tmpfile instead of mips_make_temp_file.
9059 (mips_unique_section): Use const char * as needed for warnings.
9060 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
9061 re-add align parameter.
9062 (iris6_asm_named_section): New.
9063 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
9064 (iris6_asm_output_align, iris6_section_align_1): New.
9065 (iris6_asm_file_start, iris6_asm_file_end): New.
9066 * config/mips/mips-protos.h: Update decls.
9067
5cc3b0c7
JJ
90682001-08-17 Janis Johnson <janis187@us.ibm.com>
9069
9070 * doc/install.texi (Install GCC): Add links to build status pages.
9071 (Specific): Ditto.
9072 (Final install): Ditto; request updates for specific info
9073
bb74c963
NB
90742001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
9075
9076 * cpperror.c (print_location): Don't take a file name; use the
9077 line map instead.
9078 (_cpp_begin_message): Similarly.
9079 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9080 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9081 (cpp_pedwarn_with_file_and_line): Remove.
9082 * cppfiles.c (stack_include_file): Update; set filename to stdin
9083 here when appropriate.
9084 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
9085 (_cpp_begin_message): Don't take a file name.
9086 * cppinit.c: Add comment.
9087 * cpplex.c: Fix end-of-directive indicator.
9088 * cpplib.c: Don't include intl.h.
9089 (run_directive, do_diagnostic): Update.
9090 (do_line): Update to not use nominal_fname.
9091 (cpp_push_buffer): Don't take a filename.
9092 * cpplib.h (struct ht): Remove.
9093 (cpp_push_buffer): Don't take a filename.
9094 (cpp_pedwarn_with_file_and_line): Remove.
9095 * cppmacro.c (struct cpp_macro): Remove file.
9096 (builtin_macro): Update.
9097 (_cpp_create_definition): Update.
9098 * cppmain.c: Correct comment.
9099 * fix-header.c (read_scan_file): Update.
9100
2d76cb1a
KH
91012001-08-17 Kazu Hirata <kazu@hxi.com>
9102
9103 * sbitmap.c: Fix comment formatting.
9104 * sched-deps.c: Likewise.
9105 * sibcall.c: Likewise.
9106 * simplify-rtx.c: Likewise.
9107 * ssa.c: Likewise.
9108 * ssa-ccp.c: Likewise.
9109 * stor-layout.c: Likewise.
9110 * timevar.c: Likewise.
9111 * toplev.c: Likewise.
9112 * unwind-dw2.c: Likewise.
9113 * unwind-dw2-fde.c: Likewise.
9114 * varasm.c: Likewise.
9115
0779eeb2
JDA
91162001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
9117
9118 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
9119 or larger than an integer in memory.
9120
2f78c311
ZW
91212001-08-17 Zack Weinberg <zackw@panix.com>
9122
9123 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
9124 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
9125 * rtl.h: Don't forward-declare union tree_node here. Don't
9126 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
9127 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9128 and tree respectively.
9129 * tree.h: Don't forward-declare struct rtx_def here. Don't
9130 typedef tree here. Change all uses of struct rtx_def *,
9131 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9132 and tree respectively.
9133
32fa4d4a
RH
91342001-08-17 Richard Henderson <rth@redhat.com>
9135
9136 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
9137 config/mips/openbsd.h: Fix typos last change.
9138
93ee12c4
GP
91392001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9140
2f78c311 9141 * doc/invoke.texi (Optimize Options): The default for
93ee12c4
GP
9142 -finline-limit is 600.
9143
f99ffb60
RH
91442001-08-17 Richard Henderson <rth@redhat.com>
9145
9146 * varasm.c (text_section): Allow TEXT_SECTION to override the
9147 printing of TEXT_SECTION_ASM_OP.
9148 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
9149 (DATA_SECTION, BSS_SECTION): Remove.
9150 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
9151 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
9152 Rename from s/_NAME//.
9153 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
9154 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
9155 (TEXT_SECTION): ... here. New.
9156 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
9157 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
9158 * config/mips/openbsd.h: Likewise.
9159 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
9160 (mips_asm_file_end): Likewise test.
9161 (mips_output_function_epilogue): Likewise. Switch back to data
9162 section after emitting the function.
9163
33c09f2f
RH
9164 * doc/tm.texi (Sections): Document TEXT_SECTION.
9165
b38a75e5
RH
91662001-08-17 Richard Henderson <rth@redhat.com>
9167
9168 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
9169 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
9170
51084e13
RH
91712001-08-17 Richard Henderson <rth@redhat.com>
9172
9173 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
9174 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
9175 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
9176 Add aligned attribute.
9177
91782001-08-17 Andrew Haley <aph@cambridge.redhat.com>
ff0a63e8
AH
9179
9180 * config/sh/sh.md: Add modes to unspecs in first insn to match
9181 those in the second.
9182
9183 * Makefile.in: Fix collect2 copy for Cygwin.
9184
abde42f7
JH
9185Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
9186
9187 Install the proper patch.
9188 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9189 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9190 (expand_function_start): Likewise.
9191 * stmt.c (expand_decl): Likewise.
9192 * varasm.c (make_decl_rtx): Likewise.
9193
3446405d
JH
9194Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
9195
9196 * final.c: Undo my previous accidental checkin.
9197 * output.h: Likewise.
9198 * tm.texi: Likewise.
9199
715bdd29
RH
92002001-08-16 Richard Henderson <rth@redhat.com>
9201
9202 * varasm.c (named_section_flags): Remove align parameter.
9203 * varasm.c, dwarf2out.c: Update all callers.
9204 * output.h: Update prototypes.
9205
9206 * target.h (target.asm_out.named_section): Remove align parameter.
2f78c311 9207 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
715bdd29
RH
9208 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
9209 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
9210 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
9211 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
9212
9213 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
9214 (get_named_section_flags, set_named_section_flags): New.
9215 (named_section_flags): Use them.
9216 (named_section): Do decl vs section flags check here...
9217 (default_section_type_flags): ... not here.
9218 (init_varasm_once): Create in_named_htab.
9219 (resolve_unique_section): Mark reloc unused.
9220
09e07be6
RH
92212001-08-16 Richard Henderson <rth@redhat.com>
9222
9223 * varasm.c (force_const_mem): Keep pool alignment in bits.
9224 (output_constant_pool): Use assemble_align.
9225
8daaf93c
ZW
92262001-08-16 Zack Weinberg <zackw@panix.com>
9227
9228 * doc/tm.texi: Remove extra @table command.
2f78c311 9229
d9b6874b
ZW
92302001-08-16 Zack Weinberg <zackw@panix.com>
9231
9232 * final.c (shorten_branches): Clear the end of the label_align
9233 array only if we made it larger. Break up messy expressions
9234 for clarity.
9235
9236 * diagnostic.c (internal_error): Check for error recursion
9237 before doing ICE suppression.
9238
9239 * timevar.c: Timing variables now count in milliseconds.
9240 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
9241 (get_time): Not here.
9242 (timevar_print): Don't print any timer whose user, cpu, and
9243 wall times are all zero as displayed.
9244 * timevar.h: Update comment aboout units. Make timevar
9245 counters unsigned.
9246
25e22dc0
JH
9247Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
9248
9249 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9250 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9251 (expand_function_start): Likewise.
9252 * stmt.c (expand_decl): Likewise.
9253 * varasm.c (make_decl_rtx): Likewise.
9254
7256efa6
JM
92552001-08-16 Jason Merrill <jason_merrill@redhat.com>
9256
9257 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
9258 (finalize_record_size): Don't set TYPE_USER_ALIGN.
9259
5972a110
MK
92602001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9261
9262 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
9263 variables.
9264
0d3c08b6
AJ
92652001-08-16 Andreas Jaeger <aj@suse.de>
9266
9267 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
9268 prototype.
9269
44ce0063
JW
9270Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
9271
9272 * rtl.h (only_sets_cc0_p): New prototype.
9273 * jump.c (sets_cc0_p): Handle INSN.
9274 (only_sets_cc0_p): New function.
9275 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
9276 (tidy_fallthru_edge): Likewise.
9277 * integrate.c (copy_insn_list): Likewise.
9278 * unroll.c (unroll_loop): Likewise.
9279 (copy_loop_body): Likewise.
9280
cff27f1d
JE
92812001-08-15 Jason Eckhardt <jle@redhat.com>
9282
9283 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
9284
6ad48e84
JH
9285Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
9286
9287 * predict.c (struct block_info_def): Remove nvisited.
9288 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9289 (estimate_bb_frequencies): Call mark_dfs_back_edges.
9290
9291 * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
9292 (ix86_adjust_cost): Teach scheduler that latency to load operand can
9293 be masked.
9294
cc10816d
JH
9295Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
9296
9297 * predict.def: Update hitrates.
9298
fd7e958f
RH
92992001-08-15 Richard Henderson <rth@redhat.com>
9300
9301 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
9302
abb788ba
JL
9303Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
9304
9305 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
9306 note from its associated jump.
9307
d9b761a9 93082001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
d9b6874b 9309
d9b761a9
UW
9310 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
9311 also on 64-bit s390x targets.
9312
095bb276
NC
93132001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
9314
9315 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
9316 function.
9317 (arm_expand_prologue): Handled nested functions which take a
9318 variable argument list.
9319 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
9320 macro with an invocation of
9321 arm_compute_initial_elimination_offset.
9322 * config/arm/arm-protos.h: Prototype
d9b6874b 9323 arm_compute_initial_elimination_offset.
095bb276 9324
98999d8b
GP
93252001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9326
9327 * doc/install.texi (Specific, avr): Fix markup.
9328 (Specific, c4x): Ditto.
9329
b213a5ca
MK
93302001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9331
9332 * predict.c (dump_prediction): Change `bool' parameter to `int'.
9333
c895acf2
GDR
93342001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
9335
9336 * Makefile.in (OBJS): Add rtl-error.o
9337 (rtl-error.o): New rule.
9338 (diagnostic.o): Adjust dependency.
9339 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
9340 error_for_asm, _fatal_insn, _fatal_insn_not_found,
9341 warning_for_asm): Move to...
9342 rtl-error.c: ...here. New file.
9343
ddee9e8d
RH
93442001-08-14 Richard Henderson <rth@redhat.com>
9345
9346 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
9347 if USING_SJLJ_EXCEPTIONS.
9348
eb20f668
SE
93492001-08-14 Steve Ellcey <sje@cup.hp.com>
9350
9351 * tlink.c (scan_linker_output): Check string for unsatisfied in
9352 addition to undefined and unresolved.
9353
540ceb67
GS
93542001-08-14 Graham Stott <grahams@redhat.com>
9355
9356 * libgcc2.c (*): Replace EH_FRAME_SECTION with
9357 EH_FRAME_SECTION_NAME.
9358
2d515d60
JH
9359Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
9360
d9b6874b
ZW
9361 * genattrtab.c (simplify_test_exp_in_temp): New function.
9362 (simplify_test_exp): Avoid explicit use of temporary obstack.
9363 (simplify_cond, insert_right_side, evaluate_eq_attr,
9364 simplify_and_tree, simplify_or_tree, eliminate_known_true):
9365 Use simplify_test_exp_in_temp.
9366 (optimize_attrs): Iterate until expression stabilizes.
2d515d60 9367
881e8e29 93682001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
d9b6874b 9369
881e8e29
UW
9370 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
9371 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
9372
f22db2ef
RH
93732001-08-13 Richard Henderson <rth@redhat.com>
9374
9375 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
9376 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
9377 * config/arm/conix-elf.h: Likewise.
9378
eb296bd9
GK
93792001-08-13 Geoffrey Keating <geoffk@redhat.com>
9380
51610b0a
GK
9381 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
9382 in gcc.c.
9383 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9384
eb296bd9
GK
9385 * gcse.c (hash_scan_set): Expressions that are set as part of
9386 jump instructions are not available.
9387
7ee20eba
UW
93882001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
9389
9390 * config/s390/s390.c (print_operand, s390_function_prologue,
9391 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
9392
02c9b1ca
RH
93932001-08-13 Richard Henderson <rth@redhat.com>
9394
9395 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
9396 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
9397 * doc/tm.texi (Exception Region Output): Document it.
9398
99e2a354
GK
93992001-08-13 Geoffrey Keating <geoffk@redhat.com>
9400
9401 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
9402 DWARF2 instead of stabs by default.
9403
2fc1c679
DE
94042001-08-13 David Edelsohn <edelsohn@gnu.org>
9405
9406 * config/rs6000/rs6000.c: Include optabs.h.
9407
710fdaad
DE
94082001-08-13 David Edelsohn <edelsohn@gnu.org>
9409
9410 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
9411 save/restore routines.
9412 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
9413
16757495
AJ
94142001-08-13 Andreas Jaeger <aj@suse.de>
9415
9416 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
9417 the english is correct.
9418
e78d8e51
ZW
94192001-08-13 Zack Weinberg <zackw@panix.com>
9420
9421 * expr.h: Split out optab- and libfunc-related code to...
9422 * optabs.h, libfuncs.h: ... these new headers.
9423
9424 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
9425 (OPTABS_H): New.
9426 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
9427 dependencies.
9428 * mkconfig.sh: Don't include insn-codes.h from config.h.
9429
9430 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
9431 enum insn_code is available. Move reload_in_optab and
9432 reload_out_optab array declarations to optabs.h.
9433 * regmove.c (gen_add3_insn): Move to optabs.c, export from
9434 there, prototype in expr.h.
9435 * gencodes.c: Cleanup: zap global variables, don't use
9436 printf where puts will do, don't bother defining MAX_INSN_CODE
9437 which nothing uses, let CODE_FOR_nothing get its value implicitly.
9438
9439 * genemit.c, genopinit.c: Include optabs.h in generated file.
9440 * genoutput.c: Include insn-codes.h in generated file.
9441 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
16757495
AJ
9442 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
9443 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
e78d8e51
ZW
9444 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
9445 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
9446 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
9447 Include optabs.h.
16757495 9448 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
e78d8e51
ZW
9449 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
9450 config/m88k/m88k.c, config/sparc/sparc.c:
9451 Include libfuncs.h.
9452 * reload.c: Include expr.h and optabs.h before reload.h.
9453 * config/alpha/alpha.c: Include tree.h before reload.h.
9454 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
9455 and reload.h in that order.
9456 * config/sparc/sparc.c: Include debug.h.
9457 * recog.c: Include insn-codes.h.
9458
050e4ca2
AJ
94592001-08-13 Andreas Jaeger <aj@suse.de>
9460
9461 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
9462 s390*linux.
9463
dd49a9ec
TP
94642000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
9465
9466 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
9467 * gcc.c (init_spec): Fix typo in comment.
9468 * varasm.c (data_section): Fix typo in comment.
9469
d195b46f
JH
9470Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
9471
9472 * predict.c (dump_prediction): New argument "USED".
9473 (combine_predictions_for_insn): Determine the used heuristics,
9474 output the case no heuristic applied.
9475 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
9476
afea8580
AJ
94772001-08-13 Andreas Jaeger <aj@suse.de>
9478
9479 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
9480 register %rip.
9481
5d0cab94
KH
94822001-08-13 Kazu Hirata <kazu@hxi.com>
9483
9484 * jump.c: Fix formatting.
9485
7ba7767b
KH
94862001-08-13 Kazu Hirata <kazu@hxi.com>
9487
9488 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
9489 length.
9490
5fe2e41b
GK
94912001-08-12 Geoffrey Keating <geoffk@redhat.com>
9492
353df065
GK
9493 * loop.c (check_dbra_loop): Use condjump_label to compute
9494 jump_label.
9495
5fe2e41b
GK
9496 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
9497 to better document the files they're in.
9498
a2b498cb
ZW
94992001-08-12 Zack Weinberg <zackw@panix.com>
9500
9501 * recog.h (struct insn_operand_data): Shrink 'mode' field
9502 to 16 bits.
9503
dc297297
KH
95042001-08-12 Kazu Hirata <kazu@hxi.com>
9505
9506 * gcc.c: Fix comment formatting.
9507 * gccspec.c: Likewise.
9508 * gcov.c: Likewise.
9509 * gcse.c: Likewise.
9510 * genemit.c: Likewise.
9511 * gengenrtl.c: Likewise.
9512 * genrecog.c: Likewise.
9513 * gensupport.c: Likewise.
9514 * ggc-page.c: Likewise.
9515 * global.c: Likewise.
9516 * graph.c: Likewise.
9517 * ifcvt.c: Likewise.
9518 * integrate.c: Likewise.
9519 * lcm.c: Likewise.
9520 * libgcc2.c: Likewise.
9521 * loop.c: Likewise.
9522 * mbchar.c: Likewise.
9523 * optabs.c: Likewise.
9524 * predict.c: Likewise.
9525 * prefix.c: Likewise.
9526 * profile.c: Likewise.
9527 * protoize.c: Likewise.
9528 * real.c: Likewise.
9529 * recog.c: Likewise.
9530 * regclass.c: Likewise.
9531 * regmove.c: Likewise.
9532 * reg-stack.c: Likewise.
9533 * reload1.c: Likewise.
9534 * resource.c: Likewise.
9535 * rtlanal.c: Likewise.
9536 * rtl.c: Likewise.
9537
f0d1c3bd
KH
95382001-08-12 Kazu Hirata <kazu@hxi.com>
9539
9540 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
9541 a tree representing a constant is passed to the macro.
9542
d9f6800d
RH
95432001-08-12 Richard Henderson <rth@redhat.com>
9544
9545 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
9546 (rs6000_elf_asm_out_destructor): New.
9547 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
9548 (DTORS_SECTION_ASM_OP): Remove.
9549 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9550 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
9551
6ba57472
DE
95522001-08-12 David Edelsohn <edelsohn@gnu.org>
9553
9554 Revert:
9555 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9556 * gcc.c (set_collect_gcc_options): New function, split out from
9557 main.
9558 Ignore elided switches.
9559 (do_spec_1): Invoke before executing command.
9560 (set_input): Export.
9561 Move declaration ...
9562 * gcc.h (set_input): ... here.
9563 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9564 file.
9565
270fc29b
RH
95662001-08-12 Richard Henderson <rth@redhat.com>
9567
9568 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
9569 thinko wrt TARGET_RELOCATABLE.
9570
21c38ecb
NB
95712001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
9572
9573 * fix-header.c (cb_file_change): Update prototype.
9574
94aca342
ZW
95752001-08-11 Zack Weinberg <zackw@panix.com>
9576
9577 * toplev.c (set_float_handler): Make static.
9578 * toplev.h: Don't prototype set_float_handler.
9579
9580 * simplify-rtx.c: Don't include setjmp.h.
9581 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
9582 New functions.
9583 (simplify_unary_operation, simplify_binary_operation): Use them,
9584 via do_float_handler.
9585
9586 * fold-const.c: Don't include setjmp.h.
9587 (exact_real_inverse_1): New function.
9588 (exact_real_inverse): Use it, via do_float_handler.
9589
9590 * varasm.c: Don't include setjmp.h.
9591 (assemble_real_1): New function.
9592 (assemble_real): Use it, via do_float_handler.
9593 Call internal_error if we get a trap here.
9594
9595 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
9596 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
9597
31cdd499
ZW
95982001-08-11 Zack Weinberg <zackw@panix.com>
9599
9600 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
9601 STACK_BOUNDARY if not already defined.
9602
9603 * calls.c, function.c, reload1.c, explow.c: Don't default
9604 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
9605 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
9606
9607 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
9608 to run-time test.
9609
9610 * doc/tm.texi: Document that STACK_BOUNDARY is required;
9611 clarify difference between it and PREFERRED_STACK_BOUNDARY.
9612
2b220265
NB
96132001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
9614
9615 * cppmacro.c (enter_macro_context): Push macro expansions even
9616 if empty.
9617
d0101753
FS
96182001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9619
9620 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
9621 (rs6000_elf_section_type_flags): Actually return a value.
9622
994fe660 96232001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
9624
9625 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
994fe660 9626 Clean up code: add missing comments and prototypes, fix warnings,
02c9b1ca 9627 remove obsolete code, fix spacing to conform to coding style.
994fe660 9628
f314b9b1 96292001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
9630
9631 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
f314b9b1
UW
9632 and TARGET_ASM_CLOSE_PAREN.
9633 (regclass_map): CC register belongs to class NO_REGS.
afea8580 9634 (legitimize_pic_address): Don't generate unnecessary moves
f314b9b1 9635 (to avoid confusing loop optimization).
afea8580
AJ
9636 (check_and_change_labels): Replace jump_long by indirect_jump.
9637 (s390_final_chunkify): Don't start a new literal pool on section
f314b9b1
UW
9638 switch in 64-bit code.
9639 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
afea8580 9640
f314b9b1
UW
9641 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
9642 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
afea8580 9643 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
f314b9b1
UW
9644 modes correctly.
9645 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
9646 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
9647 (CONST_COSTS): Fixed incorrect costs.
9648
9649 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
9650 Use emit_jump instead of emit_jump_insn (gen_jump).
afea8580 9651 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
f314b9b1
UW
9652 (to avoid confusing flow analysis).
9653 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
9654 (casesi, casesi_jump): New.
9655 (jump_long): Removed. Functionality merged into indirect_jump.
9656 (indirect_jump): Accept address_operand, not just register_operand.
9657 (cjump_long, icjump_long): Use same logic as indirect_jump.
9658 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
9659 Fixed broken setjmp/longjmp handling.
9660 (do_builtin_setjmp_setup): Removed.
9661
9662 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
9663 broken GNU as versions that don't accept .quad with large
9664 negative values. Use hexadecimal output instead.
9665 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
9666 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
9667 FUNCTION_EPILOGUE): Removed. Now in targetm.
9668
9669 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
9670
9671 * config/s390/fixdfdi.h: Add missing copyright statement.
9672 Fix type conflicts on 64-bit. Add missing SFmode routines.
9673
9674 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
9675 email address.
9676
dddba205
RH
96772001-08-11 Richard Henderson <rth@redhat.com>
9678
9679 * rtl.h (REG_EH_RETHROW): Remove.
9680 * rtl.c (reg_note_name): Update.
9681 * combine.c (distribute_notes): Don't check for it.
9682
ab61c93f
RH
96832001-08-11 Richard Henderson <rth@redhat.com>
9684
9685 * combine.c (distribute_notes): Place REG_SETJMP.
9686
58f4de4f
RH
96872001-08-11 Richard Henderson <rth@redhat.com>
9688
9689 * doc/extend.texi (Arrays and pointers implementation): Discourage
9690 relying on sign-extension of pointers.
9691
f841565e
L
96922001-08-11 H.J. Lu <hjl@gnu.org>
9693
9694 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
9695 in_dtors.
9696 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
9697 RDATA_SECTION_ASM_OP.
9698
d8393f64
GP
96992001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9700
9701 * doc/install.texi (Specific, c4x): Fix cross-reference to the
9702 main manual to work both for info and HTML versions.
afea8580 9703
bef985f3 97042001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
760a4879 9705 Matt Kraai <kraai@alumni.carnegiemellon.edu>
afea8580 9706
bef985f3
NB
9707 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
9708 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
9709 (struct cpp_pool): New member first.
9710 * cppinit.c (append_include_chain): Plug memory leaks.
9711 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
9712 Allocate pragma structures from the (aligned) macro pool to
9713 avoid leaking memory.
9714 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
9715 so we don't leak memory.
9716 * hashtable.c (ht_destroy): New.
9717 * hashtable.h (ht_destroy): New.
9718
f80f7e8c
NB
97192001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
9720 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9721
9722 * c-lex.c (map): Make const.
9723 (cb_file_change): Update for callback passing a line map.
9724 Don't assume we have a previous map. Remove sanity check
9725 about popping too many files.
9726 * cpperror.c (print_location): Make map const.
9727 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
9728 (cpp_make_system_header): Similarly.
9729 (search_from): Similarly.
9730 (_cpp_execute_include): Don't remember where we came from.
9731 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
9732 (struct cpp_reader): Make map const.
9733 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
9734 * cpplib.c (do_line): Update; line maps now hold sysp.
9735 (cpp_push_buffer): Similarly.
9736 (_cpp_do_file_change): Similarly; callback with map instead.
9737 (cpp_get_line_maps): Constify return value.
9738 (_cpp_pop_buffer): Update.
9739 * cpplib.h (struct cpp_file_change): Remove.
9740 (struct cpp_callbacks): Update.
9741 (cpp_get_line_maps): Constify return value.
9742 * cppmacro.c (_cpp_create_definition): Update.
9743 * cppmain.c (struct printer): Constify map.
9744 (maybe_print_line): Similarly.
9745 (print_line): Similarly. Deduce flags 1 and 2 here.
9746 (cb_file_change): Update.
9747 * line-map.c (free_line_maps): Warn regardless.
9748 (add_line_map): Return pointer to const. When passed NULL to_file
9749 with LC_LEAVE, use the obvious values for the return point so the
9750 caller doesn't have to figure them out.
9751 (lookup_line): Return pointer to const.
9752 (print_containing_files): Take pointer to const.
9753 * line-map.h (struct line_map): New members reason, sysp.
9754 (add_line_map): Return pointer to const.
9755 (lookup_line): Similarly.
9756 (print_containing_files): Take pointer to const.
9757
bb948ad3
RZ
97582001-08-10 Roman Zippel <zippel@linux-m68k.org>
9759 Richard Henderson <rth@redhat.com>
9760
9761 * regmove.c (regmove_optimize): Avoid setting a register twice in
9762 a parallel set.
9763
cbf4c36f
RH
97642001-08-10 Richard Henderson <rth@redhat.com>
9765
9766 * doc/extend.texi (Arrays and pointers implementation): Document
9767 behavior of pointer/integer conversion.
9768
db80cc1f 97692001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
9770
9771 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
db80cc1f 9772
fe203faf
RH
97732001-08-10 Richard Henderson <rth@redhat.com>
9774
9775 * doc/extend.texi (C Implementation): New chapter.
9776 * doc/gcc.texi (Top): Link it in.
9777
894aeeb0
AC
97782001-08-10 Andrew Cagney <ac131313@redhat.com>
9779
9780 * doc/install.texi (Specific): Fix CVS merge botch.
9781
d67c7dd8
RH
97822001-08-10 Richard Henderson <rth@redhat.com>
9783
9784 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
9785 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
9786
19652adf
ZW
97872001-08-10 Zack Weinberg <zackw@stanford.edu>
9788
9789 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
9790 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
9791 this macro is now required.
9792
9793 * cselib.c (cselib_process_insn), flow.c (propagate_block),
9794 loop.c (find_and_verify_loops), reload.c (reload): Check
9795 for rtx code of CALL_INSN, not CALL, when deciding if we
9796 need to check for REG_SETJMP note.
9797
9798 * gcse.c (compute_hash_table, compute_store_table): Update
9799 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
9800 logic.
9801
9802 * config/avr/avr.c: Fix typo.
9803 * config/convex/convex.c (expand_movstr): Use adjust_address.
9804 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
9805 variable.
9806 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
9807 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
9808 Fix typo.
9809 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
9810 Do define STACK_BOUNDARY.
9811 * config/i370/i370.c: Include expr.h.
9812 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
9813 config/pa/som.h, config/v850/v850.h: Take in_ctors and
9814 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
9815 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
9816 * config/m88k/m88k.c: Include c-tree.h after expr.h.
9817 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
9818 * config/romp/romp.c: Include expr.h after tree.h.
9819 Include toplev.h.
9820 (output_fpop): Use xmalloc, not oballoc.
9821 * config/we32k/we32k.c: Include expr.h.
9822
cf35eebc
KH
98232001-08-10 Kazu Hirata <kazu@hxi.com>
9824
9825 * config/h8300/h8300.h: Fix formatting.
9826
07b2f2fd
JM
98272001-08-08 Jason Merrill <jason_merrill@redhat.com>
9828
9829 * c-common.h (RETURN_NULLIFIED_P): Lose.
9830 * c-semantics.c (genrtl_return_stmt): Don't check it.
9831
67070ffe
RS
98322001-08-10 Richard Sandiford <rsandifo@redhat.com>
9833
9834 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
9835 (mips_annotate_frame_insn): New function.
9836 (mips_emit_frame_related_store): New function.
9837 (save_restore_insns): Don't mark instructions that set up the base
9838 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
9839 the store instructions instead.
9840 (mips_expand_prologue): If the stack size is moved into a temporary
9841 register, do not mark that move as frame-related. Add a
9842 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
9843
a8205f03
RS
98442001-08-10 Richard Sandiford <rsandifo@redhat.com>
9845
9846 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
9847 stack slot as unchanging if current_function_calls_eh_return.
9848
2359d013
RS
98492001-08-10 Richard Sandiford <rsandifo@redhat.com>
9850
2a895e44 9851 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
2359d013
RS
9852 access the second half of the TFmode scratch operand.
9853
ca11a2e9
AG
98542001-08-10 Anthony Green <green@redhat.com>
9855
9856 * java/class.c (emit_register_classes): Conditionalize code on
9857 JCR_SECTION_NAME.
9858
ca52d046
GP
98592001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9860
9861 * doc/install.texi (Specific, avr): Fix cross-reference to the
9862 main manual to work both for info and HTML versions.
9863
396ad517
JDA
98642001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9865
19652adf 9866 * stmt.c (expand_null_return_1): Remove code to generate simple returns
396ad517
JDA
9867 and "use_goto" argument.
9868 (expand_null_return, expand_value_return): Update all callers.
9869 * function.c (expand_function_end): Remove code to generate simple
9870 return.
9871 * config/vax/vax.md (epilogue): New expander for function return.
9872 * doc/md.texi (epilogue): Remove "if defined".
9873
e361dcd3
ZW
98742001-08-09 Zack Weinberg <zackw@stanford.edu>
9875
9876 * Makefile.in: Partially revert my previous change:
9877 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
9878 of the hashtab.o and safe-ctype.o rules.
9879
2cc07db4
RH
98802001-08-09 Richard Henderson <rth@redhat.com>
9881
9882 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
9883 (USE_COLLECT2): Remove duplicate definition.
9884 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
9885 (use_collect2): Remove dead code.
9886 * configure.in (use_collect2): Remove will_use_collect2 and
9887 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
9888 * configure: Rebuild.
9889
9890 * target.h (targetm.asm_out.constructor): New.
9891 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
9892 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
9893 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
9894 * varasm.c (in_ctors, in_dtors): New.
9895 (assemble_constructor, assemble_destructor): Remove.
9896 (default_stabs_asm_out_destructor): New.
9897 (default_named_section_asm_out_destructor): New.
9898 (dtors_section, default_dtor_section_asm_out_destructor): New.
9899 (default_stabs_asm_out_constructor): New.
9900 (default_named_section_asm_out_constructor): New.
9901 (ctors_section, default_ctor_section_asm_out_constructor): New.
9902 * output.h: Update declarations.
9903 * c-decl.c (c_expand_body): Use target hooks instead of
9904 assemble_constructor and assemble_destructor.
9905 * profile.c (output_func_start_profiler): Likewise.
9906 * objc/objc-act.c (finish_objc): Likewise.
9907 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
9908 for the constructor.
9909 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
9910
9911 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
9912 (DTORS_SECTION_ASM_OP): Likewise.
9913 (__CTOR_LIST__): Use attribute section when possible.
9914 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
9915
9916 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
9917 ASM_OUTPUT_CONSTRUCTOR.
9918
9919 * config/darwin.c (machopic_asm_out_constructor): New.
9920 (machopic_asm_out_destructor): New.
9921 * config/darwin-protos.h: Update declarations.
9922 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9923 (ASM_OUTPUT_DESTRUCTOR): Remove.
9924 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9925 * config/nextstep.c (nextstep_asm_out_constructor): New.
9926 (nextstep_asm_out_destructor): New.
9927 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9928 (ASM_OUTPUT_DESTRUCTOR): Remove.
9929 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9930 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
9931 ASM_OUTPUT_*STRUCTOR.
9932 * config/i386/aix386ng.h: Likewise.
9933
9934 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
9935 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
9936 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9937 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9938 * config/lynx.h: Likewise.
9939 * config/netware.h: Likewise.
9940 * config/psos.h: Likewise.
9941 * config/alpha/alpha-interix.h: Likewise.
9942 * config/alpha/elf.h: Likewise.
9943 * config/arc/arc.h: Likewise.
9944 * config/arm/aof.h: Likewise.
9945 * config/arm/coff.h: Likewise.
9946 * config/arm/elf.h: Likewise.
9947 * config/c4x/c4x.h: Likewise.
9948 * config/h8300/h8300.h: Likewise.
9949 * config/i386/cygwin.h: Likewise.
9950 * config/i386/djgpp.h: Likewise.
9951 * config/i386/i386-coff.h: Likewise.
9952 * config/i386/i386-interix.h: Likewise.
9953 * config/i386/sco5.h: Likewise.
9954 * config/i386/vsta.h: Likewise.
9955 * config/i386/win32.h: Likewise.
9956 * config/i960/i960-coff.h: Likewise.
9957 * config/ia64/sysv4.h: Likewise.
9958 * config/m68hc11/m68hc11.h: Likewise.
9959 * config/m68k/coff.h: Likewise.
9960 * config/m68k/mot3300.h: Likewise.
9961 * config/m88k/m88k.h: Likewise.
9962 * config/mcore/mcore-pe.h: Likewise.
9963 * config/mcore/mcore.h: Likewise.
9964 * config/mips/elf.h: Likewise.
9965 * config/mips/elf64.h: Likewise.
9966 * config/mips/iris6.h: Likewise.
9967 * config/pa/pa64-hpux.h: Likewise.
9968 * config/rs6000/sysv4.h: Likewise.
9969 * config/sh/sh.h: Likewise.
9970 * config/sparc/litecoff.h: Likewise.
9971
9972 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
9973 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9974 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9975 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9976 (ASM_OUTPUT_DESTRUCTOR): Remove.
9977 * config/a29k/a29k.c: Move include of tree.h.
9978 * config/a29k/udi.h: Delete file.
9979 * config/alpha/alpha.c (vms_asm_out_constructor): New.
9980 (vms_asm_out_destructor): New.
9981 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
9982 (EXTRA_SECTION_FUNCTIONS): Likewise.
9983 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9984 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9985 * config/c4x/c4x.c: Move include of tree.h.
19652adf 9986 * config/clipper/clipper.c (clix_asm_out_constructor): New.
2cc07db4
RH
9987 (clix_asm_out_destructor): New.
9988 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9989 (ASM_OUTPUT_DESTRUCTOR): Remove.
9990 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9991 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9992 (TARGET_ASM_CONSTRUCTOR): New.
9993 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
9994 (sco_asm_out_constructor): New.
9995 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
9996 * config/i386/svr3gas.h: Remove stack grows up code.
9997 Remove code duplicated from i386/sysv3.h.
9998 (TARGET_ASM_CONSTRUCTOR): New.
9999 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10000 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
10001 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10002 (TARGET_ASM_CONSTRUCTOR): New.
10003 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
10004 (m68hc11_asm_out_destructor): New.
10005 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
10006 (TARGET_ASM_DESTRUCTOR): New.
10007 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
10008 * config/m68k/dpx2.h: Properly undef all the bits inherited from
10009 config/svr3.h pertaining to section manipulation.
10010 * config/m68k/dpx2g.h: Remove #if 0 code.
10011 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
10012 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
10013 (ASM_OUTPUT_CONSTRUCTOR): Remove.
10014 (TARGET_ASM_CONSTRUCTOR): New.
10015 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
10016 (m88k_svr3_asm_out_constructor): New.
10017 (m88k_svr3_asm_out_destructor): New.
10018 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10019 (ASM_OUTPUT_DESTRUCTOR): Remove.
10020 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10021 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
10022 * config/rs6000/aix.h: Likewise.
10023 * config/mips/rtems64.h: Don't undef removed constructor related bits.
10024 * config/mips/vxworks.h: Likewise.
10025 * config/rs6000/lynx.h: Likewise.
10026 * config/sh/elf.h: Likewise.
10027 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
10028 (DTORS_SECTION_ASM_OP): New.
10029 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10030 (ASM_OUTPUT_DESTRUCTOR): Remove.
10031 * config/sparc/sol2-sld-64.h: Likewise.
10032 * config/vax/vax.c (vms_asm_out_constructor): New.
10033 (vms_asm_out_destructor): New.
10034 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10035 (ASM_OUTPUT_DESTRUCTOR): Remove.
10036 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10037
10038 * doc/tm.texi (@node Initialization): Update.
10039
ef8d8b89
RH
100402001-08-09 Richard Henderson <rth@redhat.com>
10041
10042 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
10043 (__do_global_dtors_aux): Use gp-relative static data to avoid
10044 one dynamic relocation.
10045 (__do_frame_setup): Register Java classes.
10046 * config/alpha/crtend.asm (__JCR_END__): New.
10047
1b0c37d7
ZW
100482001-08-09 Zack Weinberg <zackw@stanford.edu>
10049
ef8d8b89
RH
10050 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
10051 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
10052 (GEN, STAGESTUFF): Add new files.
10053 (insn-constants.h, s-constants, tm-preds.h, s-preds,
10054 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
10055 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
10056 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
10057 as well as insn-codes.h and insn-flags.h in config.h; and no
10058 extra headers in tconfig.h and hconfig.h.
10059
10060 * gencodes.c: Eliminate code to generate predicate declarations
10061 or #defines for md-file constants.
10062 * genconstants.c, genpreds.c: New files.
10063
10064 * i386.md: Re-order guard expressions such that TARGET_64BIT
10065 comes first, when this permits better optimization. Add
10066 TARGET_64BIT to more x86-64 patterns. Add comment explaining
10067 why this is desirable.
1b0c37d7 10068
a734f2a3
JJ
100692001-08-09 Jakub Jelinek <jakub@redhat.com>
10070
10071 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
10072 (find_fde_for_dso): Remove.
10073 (_Unwind_IteratePhdrCallback): New.
10074 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
10075 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
10076
21d93687
RK
10077Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10078
10079 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
10080 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
10081
b1b6b0cb
GS
100822001-08-09 Graham Stott <grahams@redhat.com>
10083
10084 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
10085 (vis_no_unit): Use it.
10086 (visualize_no_unit): Add the insn only if room exists.
10087
a0e4ce74
GS
100882001-08-09 Graham Stott <grahams@redhat.com>
10089
1b0c37d7
ZW
10090 * predict.c (estimate_probability): Replace magic numbers with
10091 appropriate enumeration.
a4e11a5c
GS
10092
100932001-08-09 Graham Stott <grahams@redhat.com>
10094
10095 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
a0e4ce74
GS
10096 parameter.
10097 (EXTRACT_FLAGS): Likewise.
10098
77416b3d
AH
100992001-08-09 Aldy Hernandez <aldyh@redhat.com>
10100
1b0c37d7
ZW
10101 * config/mips/mips.c (mips_legitimate_address_p): Check for
10102 CONST_INT in last patch.
77416b3d 10103
6351543d
AG
101042001-08-08 Anthony Green <green@redhat.com>
10105
10106 * java/class.c (emit_register_classes): Use assemble_jcr if
10107 possible. Keep the original mechanism as a fallback.
10108 * defaults.h (JCR_SECTION_NAME): Define if we have named section
10109 and weak symbol support.
10110 * crtstuff.c (__JCR_LIST__): Define.
10111 (__JCR_END__): Define.
10112 (_Jv_RegiserClasses): Define weak symbol if possible.
10113 (__do_global_ctors_aux): Register classes for ELF targets with
10114 weak symbol support.
10115
30f7a378
KH
101162001-08-08 Kazu Hirata <kazu@hxi.com>
10117
10118 * dbxout.c: Fix comment formatting.
10119 * dependence.c: Likewise.
10120 * df.c: Likewise.
10121 * diagnostic.c: Likewise.
10122 * dominance.c: Likewise.
10123 * doprint.c: Likewise.
10124 * dwarf2out.c: Likewise.
10125 * dwarfout.c: Likewise.
10126 * emit-rtl.c: Likewise.
10127 * except.c: Likewise.
10128 * explow.c: Likewise.
10129 * expmed.c: Likewise.
10130 * expr.c: Likewise.
10131 * flow.c: Likewise.
10132 * fold-const.c: Likewise.
10133 * function.c: Likewise.
10134
35e17f7e
FS
101352001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10136
10137 * global.c (retry_global_alloc): Avoid shadowing allocno.
10138
2b1e2382
MM
101392001-08-08 Mark Mitchell <mark@codesourcery.com>
10140
10141 * except.c (remove_fixup_regions): Fix typo.
10142
b9f22704
JM
101432001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
10144
1b0c37d7 10145 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
b9f22704 10146 unsigned HOST_WIDE_INT to avoid warning.
1b0c37d7
ZW
10147 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
10148 * flow.c (set_block_for_new_insns): Likewise.
b9f22704 10149
a4b07e7f
JH
10150Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
10151
10152 * sibcall.c (return_value_pseudo): New static variable.
10153 (skip_copy_to_return_value): Handle return_value_pseudo.
10154 (call_ends_block_p): Ensure that return_value_pseudo is set.
10155 (optimize_sibling_and_tail_recursive_call): Discover the
10156 load of pseudo return value in alternate exit block.
10157
9d98f8f9
JH
10158Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
10159
10160 * calls.c (ECF_ALWAYS_RETURN): New constant.
10161 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
10162 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
10163 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
10164 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
10165 * rtl.c (reg_note_name): New name.
10166 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
10167
82423cba
AH
101682001-08-07 Aldy Hernandez <aldyh@redhat.com>
10169
10170 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
10171
5755cd38
JM
101722001-08-08 Jason Merrill <jason_merrill@redhat.com>
10173
10174 * alias.c (get_alias_set): Return a previously calculated
10175 alias set for a VAR_DECL.
10176 * function.c (gen_mem_addressof): Calculate the alias set before
10177 touching the RTL.
10178
0f0138b6
JH
10179Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
10180
10181 * predict.def: Set hitrates according our experimental run.
10182
10183Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
10184
10185 * i386.h (HARD_REGNO_RENAME_OK): New macro.
10186
b2bcb32d
L
101872001-08-08 H.J. Lu <hjl@gnu.org>
10188
10189 * config/mips/mips.c (mips_unique_section): New. Copied from
10190 config/mips/elf.h.
10191
10192 * config/mips/mips-protos.h (mips_unique_section): New
10193 prototype.
10194
10195 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
10196
10197 * config/mips/little.h: New. Generic little endian mips
10198 targets. Only mips*-*-linux* is converted to use it so far.
10199
10200 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
10201 (WCHAR_TYPE): Defined
10202 (WCHAR_TYPE_SIZE): Likewise.
10203 (INIT_SUBTARGET_OPTABS): Likewise.
10204 (BSS_SECTION_ASM_OP): Likewise.
10205 (SBSS_SECTION_ASM_OP): Likewise.
10206 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10207 (ASM_DECLARE_OBJECT_NAME): Likewise.
10208 (UNIQUE_SECTION): Likewise.
10209 (EXTRA_SECTIONS): Likewise.
10210 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
10211 (ASM_OUTPUT_DESTRUCTOR): Likewise.
10212 (ASM_OUTPUT_DEF): Likewise.
10213 (HANDLE_SYSV_PRAGMA): Removed.
10214 (NO_IMPLICIT_EXTERN_C): Likewise.
10215 (TARGET_MEM_FUNCTIONS): Likewise.
10216 (STARTFILE_SPEC): Likewise.
10217 (ENDFILE_SPEC): Likewise.
10218 (LIB_SPEC): Likewise.
10219 (INVOKE__main): Likewise.
10220 (CTOR_LIST_BEGIN): Likewise.
10221 (CTOR_LIST_END): Likewise.
10222 (DTOR_LIST_BEGIN): Likewise.
10223 (DTOR_LIST_END): Likewise.
10224 (SET_ASM_OP): Likewise.
10225 (ASM_OUTPUT_SOURCE_LINE): Likewise.
10226 (ASM_OUTPUT_DEF): Likewise.
10227 (ASM_OUTPUT_IDENT): Likewise.
10228
10229 * config/mips/mips.h (ASM_SPEC): Undefine before define.
10230 (CPLUSPLUS_CPP_SPEC): Likewise.
10231 (ASM_APP_ON) Redefine only if not defined.
10232 (ASM_APP_OFF): Likewise.
10233 (ASM_OUTPUT_SOURCE_LINE): Likewise.
10234 (ASM_OUTPUT_IDENT): Likewise.
10235
10236 * config.gcc: Update tm_file for Linux/mips.
10237
b7933c21
BS
102382001-08-08 Bernd Schmidt <bernds@redhat.com>
10239
10240 * cselib.c (cselib_record_sets): If insn is predicated, turn
10241 sources into IF_THEN_ELSEs.
7dcc803e
BS
10242
10243 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
10244 Turn into define_insn_and_split.
b9f22704 10245
4b6c5340
BS
10246 * sched-deps.c: Include "cselib.h".
10247 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
10248 Use cselib to turn memory addresses into VALUEs.
10249 (sched_analyze): Call cselib_init/cselib_finish if necessary.
10250 * sched-int.h (struct sched_info): New member USE_CSELIB.
10251 * sched-ebb.c (ebb_sched_info): Initialize it.
10252 * sched-rgn.c (rgn_sched_info): Likewise.
10253 * Makefile.in (sched-deps.o): Update dependencies.
7dcc803e 10254
91700444
BS
10255 * cselib.h (cselib_subst_to_values): Declare.
10256 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
10257 that have no value and autoincs to be handled by generating a new
10258 dummy value.
b9f22704 10259
674fc07d
GS
102602001-08-08 Graham Stott <grahams@redhat.com>
10261
10262 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
10263 within fixed length SEQUENCE.
10264
5f9689e5
GS
102652001-08-08 Graham Stott <grahams@redhat.com>
10266
10267 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
10268 (diagnostic_prefixing_rule): Likewise.
10269 (diagnostic_line_cutoff): Likewise.
10270 (diagnostic_kind_count): Likewise.
10271
6d8c73f7
GS
102722001-08-08 Graham Stott <grahams@redhat.com>
10273
10274 * alias.c (find_base_decl): Delete redundent assignment.
10275
8e0d15d4
GS
102762001-08-08 Graham Stott <grahams@redhat.com>
10277
10278 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
10279 (abs): Uppercase and paranthesize macro parameter.
10280 (MEM_DEPENDENCY): Add whitespace.
10281
e5503743
GS
102822001-08-08 Graham Stott <grahams@redhat.com>
10283
10284 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
10285 failure check for CONST_INT
10286
5b57e28b
GS
102872001-08-08 Graham Stott <grahams@redhat.com>
10288
10289 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
10290 (libcall_dead_p): Likewise.
10291
10292 (mark_used_regs): Constify fmt.
10293 (find_use_as_address): Likewise.
10294
0f1e8126
GS
102952001-08-08 Graham Stott <grahams@redhat.com>
10296
10297 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
10298 parameter.
10299
e61465ed
GS
103002001-08-08 Graham Stott <grahams@redhat.com>
10301
10302 * combine.c (combine_simplify_rtx): Update comment and
10303 remove erroneous test.
10304
7364fdd8
NB
103052001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
10306
10307 * cppinit.c (cpp_finish): Pop the final buffer without comment.
10308 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
10309 take care to avoid multiple no-newline at EOF warnings in that
10310 case.
10311
570a98eb
JH
10312Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
10313
10314 * calls.c (expand_call): Do not emit INSN_SETJMP note.
10315 (emit_library_call_value_1): Likewise.
10316 (emit_call_1): Emit REG_SETJMP note.
10317 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
10318 of INSN_SETJMP
10319 * cselib.c (cselib_process_insn): Likewise.
10320 * flow.c (propagate_block): Likewise.
10321 * loop.c (find_and_verify_loops): Likewise.
10322 * reload.c (find_equiv_regs): Likewise.
10323 * reload1.c (reload): Likewise.
10324 * resource.c (mark_referenced_resources,
10325 mark_set_resources): Likewise.
10326 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
10327 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
10328 * haifa-sched.c (unlink_other_notes): Likewise.
10329 (reemit_notes): Likewise.
10330 * sched-ebb.c (sched_ebb): Likewise.
10331 * sched-rgc.c (sched_region): Likewise.
10332 * rtl.c (note_insn_name): Likewise.
10333 (reg_note_name): Add REG_SETJMP
10334 * rtl.h (reg_note): Add REG_SETJMP.
10335 (insn_note): Remove NOTE_INSN_SETJMP.
10336
10337 * profile.c (branch_prob): Add fake edges for setjmp.
10338
ff25793c
DJ
103392001-08-07 Daniel Jacobowitz <drow@mvista.com>
10340
1b0c37d7
ZW
10341 * config.gcc: Quote target_cpu_default2 correctly for
10342 powerpc*-*-* targets.
ff25793c 10343
42dcba34
NB
103442001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
10345
10346 * cpplib.h, line-map.h: Update comments.
10347 * cppmain.c (printer_init): Move inline.
10348 (maybe_print_line, print_line): Take a map pointer.
10349 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
10350 (cb_file_change): Don't use prior value of print.map.
10351
e8515283
DE
103522001-08-07 David Edelsohn <edelsohn@gnu.org>
10353
10354 * doc/install.texi: Document fine-grained multilib configuration.
10355
0d025d43
JH
10356Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
10357
10358 * rtlanal.c (find_first_parameter_load): Call note_stores
10359 only on the instructions.
10360
24a28584
JH
10361Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
10362
10363 * alias.c (nonlocal_mentioned_p):
10364 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
10365 * calls.c (emit_call_1): Likewise.
10366 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
10367 * cselib.c (cselib_process_insn): Likewise.
10368 * df.c (df_insns_modify): Likewise.
10369 * flow.c (need_fake_edge_p): Likewise.
10370 (propagate_one_insn): Likewise.
10371 * haifa-sched.c (reemit_notes): Likewise.
10372 * integrate.c (copy_insn_list): Likewise.
10373 * jump.c (delete_prior_computation): Likewise.
10374 * local-alloc.c (validate_equiv_mem): Likewise.
10375 * loop.c (scan_loop): Likewise.
10376 * predict.c (estimate_probability): Likewise.
10377 * reload.c (reload): Likewise.
10378 * sched-deps (sched_analyze): Likewise.
10379 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
10380 * gcse.c (compute_hash_table): Likewise.
10381 (mark_call): Likewise.
10382 (store_killed_in_insn): Likewise.
10383
1b81b789
JM
103842001-08-07 Jason Merrill <jason_merrill@redhat.com>
10385
45dcf572
JM
10386 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
10387
2d2e44d2
RH
103882001-08-06 Richard Henderson <rth@redhat.com>
10389
10390 * varasm.c (assemble_gc_entry): Remove.
10391 * output.h: Likewise.
10392
47907859
RH
103932001-08-06 Richard Henderson <rth@redhat.com>
10394
10395 * varasm.c (assemble_constructor): Take a symbol_ref and a
10396 priority instead of a bare string. Move priority handling
10397 here from cp/decl2.c.
10398 * output.h: Update decls.
10399
10400 * c-decl.c (c_expand_body): Update calls to assemble_constructor
10401 and assemble_destructor.
10402 * profile.c (output_func_start_profiler): Likewise.
10403 * objc/objc-act.c (finish_objc): Likewise.
10404 (build_module_descriptor): Return the symbol not the symbol name.
10405
362b68a8
DE
104062001-08-06 David Edelsohn <edelsohn@gnu.org>
10407
10408 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
10409 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
10410 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
10411 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
10412 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
10413 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
10414
fde84349
NB
104152001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
10416
10417 * cpperror.c (print_containing_files): Moved to line-map.c.
10418 (print_location): line-map.c handles re-listing or otherwise.
10419 * cpphash.h (struct lexer_state): Remove next_bol.
10420 (struct cpp_buffer): Remove include_stack_listed.
10421 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
10422 Remove faked buffer handling.
10423 (_cpp_do_file_change): Tweak.
10424 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
10425 * cppmain.c (struct printer): Remove filename.
10426 (print_line, cb_file_change): Update accordingly.
10427 * line-map.c: Include intl.h.
10428 (init_line_maps): Initialize last_listed.
10429 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
10430 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
10431 (print_containing_files): New.
10432 * line-map.h (struct line_maps): New member last_listed.
10433 (print_containing_files, INCLUDED_FROM): New.
10434 * Makefile.in: Update.
10435 * po/POTFILES.in: Add line-map.c.
10436
df4556a3
RH
104372001-08-06 Richard Henderson <rth@redhat.com>
10438
10439 * except.c (convert_from_eh_region_ranges_1): Never mark
10440 USE or CLOBBER insns as throwing.
10441
10442 * expr.c (store_constructor): Don't clobber memory targets.
10443
a4d3961a
AJ
104442001-08-06 Andreas Jaeger <aj@suse.de>
10445
10446 * profile.c (branch_prob): Remove unused variable insn.
10447
10448 * Makefile.in (local-alloc.o): Add dependency on except.h.
10449
10450 * local-alloc.c: Include except.h for can_throw_internal prototype.
10451
1d482056
RH
104522001-08-06 Richard Henderson <rth@redhat.com>
10453
10454 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
10455 * function.c (expand_main_function): Implement it.
10456 * doc/tm.texi: Document it.
10457
4f2b1139
SS
104582001-08-06 Stan Shebs <shebs@apple.com>
10459
10460 * doc/install.texi: Document powerpc-*-darwin* details.
10461
f984d8df
DB
104622001-08-06 Daniel Berlin <dan@cgsoftware.com>
10463
10464 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
10465 (ASM_CPU_SPEC): Move back to rs6000.h
10466 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
10467
10468 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
10469
10470 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
a4d3961a 10471 readded.
f984d8df
DB
10472
10473 * config/rs6000/linux64.h: Ditto.
10474
10475 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10476 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
10477 nothing.
10478
10479 Remove accidently readded definitions of FUNCTION_PROLOGUE,
10480 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
10481
10482 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10483 to rs6000.h
a4d3961a 10484
78d56e8b
RH
104852001-08-05 Richard Henderson <rth@redhat.com>
10486
10487 * local-alloc.c (update_equiv_regs): Do not move insns that
10488 can throw.
10489
39f95a2c
JH
104902001-08-05 Jan Hubicka <jh@suse.cz>
10491
10492 * Makefile.in (reload1.o): Add dedendancy on except.h
10493 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
10494 prototypes.
10495 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
10496 indicating wehther edges has been cleaned up.
10497 * reload1.c: Inlucde except.h
10498 (fixup_abnormal_edges): Accept deleted insns.
10499 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
10500 after combine.
10501
9765f972
NB
105022001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
10503
10504 * cpplib.c (do_line): Correct line number after pop_buffer.
10505
6604e6f3
NB
105062001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
10507
10508 PR preprocessor/3824
10509 * line-map.c: Update comments.
10510 * line-map.h: Update comments.
10511 * tradcif.y: Don't consider large numbers unsigned.
10512
67821e3a
NB
105132001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
10514
10515 PR preprocessor/3081
10516 * c-lex.c (map): New.
10517 (cb_file_change): Update map and use it.
10518 (cb_def_pragma, cb_define, cb_undef): Use map and line.
10519 (c_lex): Update to use map.
10520 * cpperror.c (print_location): Move to using logical line numbers.
10521 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
10522 (cpp_make_system_header): Similarly.
10523 (_cpp_execute_include): Stop line numbering hacks. Store the
10524 line we will return to.
10525 * cpphash.h (CPP_BUF_LINE): Remove.
10526 (struct cpp_buffer): Remove lineno and pseudo_newlines.
10527 Add map and return_to_line.
10528 (_cpp_do_file_change): Update.
10529 * cppinit.c (cpp_start_read): Update line kludge.
10530 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
10531 (trigraph_ok): Use logical line numbers for diagnostics.
10532 (skip_block_comment): Likewise.
10533 (skip_whitespace): Likewise.
10534 (skip_line_comment): Use pfile->line instead.
10535 (_cpp_lex_token): Update to use logical line numbering exclusively.
10536 Handle BOL locally. Accept new lines in directives, but keep
10537 pfile->line decremented. Diagnostics use logical lines. Update
10538 directive handling.
10539 * cpplib.c (SEEN_EOL): New.
10540 (skip_rest_of_line, check_eol): Use it.
10541 (end_directive): Increase line number when accepting the newline
10542 at the end of a directive.
10543 (run_directive): Simplify.
10544 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
10545 (_cpp_do_file_change): Update to take buffer line number as an
10546 argument, and store the current map in the cpp_reader. Remove
10547 line number kludges.
10548 (_cpp_do__Pragma): Restore output position after a _Pragma.
10549 (cpp_push_buffer): Don't set output line or lineno.
10550 (_cpp_pop_buffer): Transfer more info from a faked buffer.
10551 Remove line kludge. Set output_line.
10552 * cppmacro.c (builtin_macro): Update handling of __LINE__.
10553 (parse_arg): Use logical lines.
10554 (save_lookahead_token): Save EOFs too now.
10555 * cppmain.c (struct printer): Fix comments.
10556 (printer_init): Simplify, let caller do errors.
10557 (scan_translation_unit, check_multiline_token, dump_macro): Update.
10558 (maybe_print_line): Simplify.
10559 (print_line): Don't print a linemarker if -P.
10560 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
10561 (cb_file_change): Simplify.
10562 * line-map.h (LAST_SOURCE_LINE): Fix.
10563 (CURRENT_LINE_MAP): New.
10564
b05ecb16
BS
105652001-08-05 Bernd Schmidt <bernds@redhat.com>
10566
ab59db3c 10567 * doloop.c (doloop_modify_runtime): Properly compute number of
b05ecb16
BS
10568 iterations if loop was unrolled.
10569
ab59db3c
BS
10570 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
10571 if their CSELIB_VAL_PTRs are.
10572
703cf211
BS
10573 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
10574 (setup_spill_pointers): Initialize it.
10575 (spill_restore_mem): Set it.
10576 (do_spill, do_restore): Use it to add REG_INC note.
10577 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
10578
1ad72cef
BS
10579 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
10580 asms if other insns are available.
10581
acb0638d
BS
10582 * config/ia64/ia64.c (condop_operator): New predicate.
10583 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
10584 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
10585 patterns.
10586
8125d7e9
BS
10587 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
10588 temporary register than directly using a MEM.
10589
12355aec
HPN
105902001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
10591
10592 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
10593 parameter in last change.
10594
98c0c681
ZW
105952001-08-04 Zack Weinberg <zackw@panix.com>
10596
10597 * sparc.md: Don't use #if inside C test expression.
10598
68c5782d
RH
105992001-08-04 Richard Henderson <rth@redhat.com>
10600
10601 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
10602
8bbbef34
NB
106032001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
10604
10605 * cpphash.h (struct cpp_reader): New member directive_line.
10606 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
10607 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
10608 do_pragma): Pass line to callbacks.
10609 (start_directive): Record line of directive.
10610 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
10611 cb_include): Similarly.
10612 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
10613 Similarly.
10614
95146dd6
HPN
106152001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
10616
10617 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
10618 comment.
10619
f1330226
JH
10620Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
10621
10622 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
10623
10624 * reload1.c (fixup_abnormal_edges): New static function.
10625 (reload): Use it.
10626
10627 * flow.c (need_fake_edge_p): New function.
f5143c46 10628 (flow_call_edges_add): Fix handling of noreturn and sibling calls;
f1330226
JH
10629 avoid call insn to be very last insn in the insn stream.
10630
10631 * profile.c (branch_prob): Call flow_call_edges_add instead of
10632 doing that by hand; cleanup cfg to re-merge basic blocks once
10633 we are done.
10634
ef6e958a
NB
106352001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
10636
10637 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
10638 are also on line-map.h.
10639 * cppfiles.c (stack_include_file): Update.
10640 * cpphash.h (struct cpp_buffer): New member return_at_eof.
10641 (_cpp_pop_buffer): New.
10642 * cppinit.c (cpp_destroy, cpp_finish): Update.
10643 (do_includes): Mark each buffer to return at EOF.
10644 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
10645 return as requested.
10646 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
10647 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
10648 * cpplib.h (cpp_pop_buffer): Remove.
10649 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
10650 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
10651 buffers.
10652 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
10653 to pop buffers.
10654 (do_preprocessing): Update.
10655 * fix-header.c (read_scan_file): Update. No need to pop buffers.
10656 * c-parse.in (_yylex): Similarly.
10657 * scan-decls.c (scan_decls): Similarly.
10658 * line-map.h: Update comments.
10659
10660 * objc/Make-lang.in (objc-act.o): Update dependencies.
10661
03997728
SC
106622001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10663
a4d3961a 10664 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
03997728
SC
10665 and soft register for operand 0.
10666 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
10667
d8de89e8
SC
106682001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10669
10670 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
10671 register for operand 0.
10672 ("bitcmpqi_z_used"): Allow memory for operand 0.
10673 (split "bitcmpqi"): New split to handle address reg as operand 1.
10674
aaa4ca30
AJ
106752001-08-04 Andreas Jaeger <aj@suse.de>
10676
10677 * gcse.c: Revert Daniel's last patch.
10678
da9314d5
ZW
106792001-08-03 Zack Weinberg <zackw@stanford.edu>
10680
a4d3961a 10681 * sparc-protos.h: Add prototypes for fp_zero_operand and
da9314d5
ZW
10682 reg_or_0_operand.
10683 * sh-protos.h: Add prototype for fpul_operand.
10684
79323c50
HPN
106852001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
10686
10687 * doc/extend.texi (Other Builtins): Fix typo in last change.
10688
7c262518
RH
106892001-08-03 Richard Henderson <rth@redhat.com>
10690
a4d3961a 10691 * target.h (gcc_target): Add asm_out.named_section,
7c262518
RH
10692 section_type_flags, have_named_sections.
10693 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
10694 (TARGET_HAVE_NAMED_SECTIONS): New.
10695 (TARGET_SECTION_TYPE_FLAGS): New.
10696
10697 * Makefile.in (toplev.o): Depend on TARGET_H.
10698 (varasm.o, dbxout.o): Likewise.
10699 * c-common.c (decl_attributes): Check targetm.have_named_sections
10700 instead of ifdef ASM_OUTPUT_SECTION_NAME.
10701 * dbxout.c (dbxout_function_decl): Likewise.
10702 (dbxout_function_end): Likewise.
10703 * toplev.c (compile_file): Likewise.
10704 * varasm.c (exception_section): Likewise.
10705 * cp/decl2.c (finish_objects): Likewise.
10706
10707 * defaults.h (EH_FRAME_SECTION): Remove.
10708 (EH_FRAME_SECTION_ASM_OP): Remove.
10709 (EH_FRAME_SECTION_NAME): New.
10710 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
10711 (UNIQUE_SECTION_P): Remove.
10712 * dwarf2out.c (SECTION_FORMAT): Remove.
10713 (ASM_OUTPUT_SECTION): Remove.
10714 (output_call_frame_info): Use named_section_flags.
10715 (output_comp_unit, dwarf2out_start_source_file): Likewise.
10716 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
10717 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
10718 * varasm.c (in_eh_frame, eh_frame_section): Remove.
10719 (named_section_flags): New.
10720 (named_section): Use it and targetm.section_type_flags.
10721 (resolve_unique_section): New.
10722 (assemble_start_function): Use it.
10723 (asm_emit_uninitialised, assemble_variable): Likewise.
10724 (default_section_type_flags): New.
10725 (default_no_named_section, default_elf_asm_named_section): New.
10726 (default_coff_asm_named_section, default_pe_asm_named_section): New.
10727 * output.h: Update varasm.c decls.
10728 (SECTION_*): New flags.
10729
10730 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
10731 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
10732
10733 * config/elfos.h (UNIQUE_SECTION_P): Remove.
10734 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
10735 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
10736 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10737 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
10738 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
10739 * config/mips/elf.h, config/mips/elf64.h: Likewise.
10740 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
a4d3961a 10741 * config/pa/pa64-hpux.h,
7c262518
RH
10742
10743 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
10744 (TARGET_ASM_NAMED_SECTION): New.
10745 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
10746 * config/alpha/vms.h, config/arm/coff.h: Likewise.
10747 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
10748 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
10749 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
10750 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
10751 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10752 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
10753 * config/i386/sco5.h, config/i386/win32.h: Likewise.
10754 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
10755 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
10756 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
10757 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
10758 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
10759 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
10760 * config/sparc/sysv4.h: Likewise.
10761
10762 * config/nextstep.h: Error until named sections implemented.
10763
10764 * config/a29k/a29k.c (a29k_asm_named_section): New.
10765 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
10766 (vms_section_type_flags, vms_asm_named_section): New.
10767 * config/arm/arm.c (arm_elf_asm_named_section): New.
10768 * config/avr/avr.c (asm_output_section_name): Remove.
10769 * config/avr/avr-protos.h: Update.
10770 * config/c4x/c4x.c (c4x_asm_named_section): New.
10771 * config/h8300/h8300.c (h8300_asm_named_section): New.
10772 * config/i386/i386.c (sco_asm_named_section): New.
10773 * config/i386/winnt.c (SECTION_PE_SHARED): New.
10774 (i386_pe_section_type_flags): New.
10775 (i386_pe_asm_named_section): New.
10776 * config/i386/i386-protos.h: Update.
10777 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
10778 * config/mcore/mcore.c (mcore_asm_named_section): New.
10779 * config/mips/mips.c (iris6_asm_named_section): New.
10780 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
10781 instead of UNIQUE_SECTION_P.
10782 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
10783 (xcoff_asm_named_section): New.
10784 * config/sh/sh.c (sh_asm_named_section): New.
10785 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
10786
10787 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
10788 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
10789 (EH_FRAME_SECTION_NAME): New.
10790 (EXCEPTION_SECTION): New.
10791 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
10792 (DEBUG_*_SECTION): Remove.
10793 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
10794 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
10795 (EH_FRAME_SECTION_ASM_OP): Remove.
10796
10797 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
10798 (ASM_OUTPUT_SECTION_NAME): Remove.
10799 (TARGET_ASM_NAMED_SECTION): New.
10800 (TARGET_HAVE_NAMED_SECTIONS): New.
10801 (TARGET_SECTION_TYPE_FLAGS): New.
10802 (EH_FRAME_SECTION_ASM_OP): Remove.
10803 (EH_FRAME_SECTION_NAME): New.
10804
13104975
ZW
108052001-08-03 Zack Weinberg <zackw@stanford.edu>
10806
10807 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
10808 for complex expressions when cfun == 0.
10809 * doc/extend.texi: Document that __builtin_constant_p can be
10810 used in data initializers as well as functions.
10811
7335a349
AO
108122001-08-03 Alexandre Oliva <aoliva@redhat.com>
10813
10814 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
10815 variable I locally, instead of expecting a declaration in the
10816 calling context.
10817
949f197f
RH
108182001-08-03 Richard Henderson <rth@redhat.com>
10819
10820 * except.c (collect_one_action_chain): Add an explicit cleanup
10821 action if regions surrounding a catch were encoded entirely
10822 within the call-site entry.
10823
c99fa40f
RH
108242001-08-03 Richard Henderson <rth@redhat.com>
10825
10826 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
10827 don't take REGNO of a non-register.
10828
5241c227
JDA
108292001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10830
10831 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
10832 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
10833 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
10834 (__gthread_mutex_init_function): New function for mutex initialization.
10835
cbec6573 108362001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 10837
cbec6573
DB
10838 * Makefile.in: Revert screwed up commit.
10839
70a5787e
SC
108402001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10841
10842 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
10843 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
10844 merged by linker script to get a final _exit().
10845 (__do_global_dtors): New for destructor handling in specific exit
10846 section.
10847 (__do_global_ctors): New for constructors in specific install section.
10848 (__map_data_section): Map data sections before running constructors.
10849 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
10850 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
10851 (DTORS_SECTION_ASM_OP): Likewise.
10852 (CTORS_SECTION_FUNCTION): Define to force a reference to
10853 __do_global_ctors.
10854 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
10855
9ebeebda 108562001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 10857
9ebeebda 10858 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
a4d3961a 10859
9ebeebda
DB
10860 * Makefile.in: Add df.h to gcse.c dependencies.
10861
c6b74046
JDA
108622001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10863
10864 * varasm.c (output_constant_def_contents): Use for the length of a
10865 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
10866 depending on which is larger.
10867
9ebeebda 108682001-08-03 Daniel Berlin <dan@cgsoftware.com>
adfcce61 10869
39f95a2c
JH
10870 * gcse.c: Include df.h for use as a dataflow analyzer.
10871 Remove regvec.
10872 Declaration of reg_set_info: gone.
10873 New df_analyzer variable used by store motion.
10874 (reg_set_info): Deleted.
10875 (mark_mem_regs): New function, analyze regs used by a mem.
10876 (store_ops_ok): Use dataflow analyzer results to determine if
10877 necessary regs are changed in the block.
10878 (find_moveable_store): Remove check for symbol ref, we can handle
10879 much more complex expressions now.
10880 (compute_store_table): Remove most of the code, it's unnecessary
10881 now that the dataflow analyzer records the info for us.
10882 (store_killed_after): Add parameter to say whether to do the
10883 store_ops_okay test, used to speed up testing when we already know
10884 the answer, and just want to know if the store itself was killed.
10885 (build_store_vector): Largely rewritten to calculate the various
10886 vectors properly, and somewhat optimized.
a4d3961a 10887 (store_motion): Init the df_analyzer, get REG_DEF chains.
39f95a2c
JH
10888 Also handle trapping expressions (since mems almost always trap)
10889 (simple_mem): Redefine what a simple mem is.
adfcce61 10890
667ccf73
DD
108912001-08-03 DJ Delorie <dj@redhat.com>
10892
10893 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
10894 set from a constant part of the condition.
10895
0821bff7
AC
108962001-08-01 Andrew Cagney <ac131313@redhat.com>
10897
10898 * mkdeps.c (deps_add_default_target): Make local variable
10899 ``start'' a const char pointer.
10900 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
10901
b953cc4b
RO
109022001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10903
10904 * doc/install.texi (Configuration): Fix markup.
10905 (Specific, i?86-*-udk): Likewise.
10906 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
a4d3961a 10907 --with-gnu-ld.
b953cc4b
RO
10908 Document --enable-threads and --enable-libgcj status.
10909 (Specific, mips-sgi-irix*): Canonicalize triples.
10910 (Specific, mips-sgi-irix5): Warn about problems with this config.
10911 Mention required GNU as patch.
10912 Native assembler problems are fixed.
10913 (Specific, mips-sgi-irix6): Update O32 ABI support status.
10914 Document --enable-threads and --enable-libgcj status.
10915
ef1f96f0
NC
109162001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
10917
10918 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
10919 of mkinstalldirs.
10920
6e5a6a6b
RH
109212001-08-03 Richard Henderson <rth@redhat.com>
10922
10923 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
10924 constant data.
10925
dbc1a163
RH
109262001-08-03 Richard Henderson <rth@redhat.com>
10927
10928 * rtlanal.c (find_first_parameter_load): Stop if we
10929 reach a CODE_LABEL at BOUNDARY.
10930
54aaa4ea
RH
109312001-08-03 Richard Henderson <rth@redhat.com>
10932
10933 * config/alpha/alpha.md (force_movdi): New insn.
10934 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
10935 Tweek FRP marking of VMS prologue insns.
10936 * config/alpha/vms.h (EPILOGUE_USES): New.
10937
0360b30d
RH
109382001-08-02 Richard Henderson <rth@redhat.com>
10939
10940 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
10941
8aeea6e6
LB
109422001-08-02 Lars Brinkhoff <lars@nocrew.org>
10943
10944 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
10945 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
10946 config/convex/convex.h, config/d30v/d30v.c,
10947 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
10948 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
10949 config/mips/mips.h, config/mn10200/mn10200.h,
10950 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
10951 config/v850/v850.h, config/vax/openbsd.h,
10952 config/vax/openbsd1.h, config/vax/ultrix.h,
10953 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
10954 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
10955 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
10956 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
10957 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
39f95a2c 10958 in comments and documentation.
8aeea6e6 10959
d82fc108
NB
109602001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
10961
10962 * line-map.c: New.
10963 * line-map.h: New.
10964 * Makefile.in (line-map.o): New.
10965 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
10966 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
10967 * cpperror.c (print_containing_files): Similarly.
10968 (print_location): Update. Don't output a space before _Pragma.
10969 * cppfiles.c (stack_include_file): Set to line 1 immediately.
10970 (stack_include_filee, cpp_make_system_header): Update.
10971 (_cpp_execute_include): Get logical line number right for calling
10972 as-yet-unterminated #include.
10973 * cpphash.h (struct cpp_reader): Add line_maps.
10974 (_cpp_do_file_change): Update.
10975 * cppinit.c (cpp_create_reader): Initialize line maps.
10976 (cpp_destroy): Destroy line maps.
10977 (cpp_start_read): Get logical line number right.
10978 * cpplex.c (parse_string): Only warn once for multi-line strings.
10979 Use boolean variable for null warning.
10980 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
10981 already.
10982 (do_include_common): End the directive early.
10983 (do_line): Don't warn about out-of-range lines in preprocessed
10984 source. Update. Remove unused variables.
10985 (_cpp_do_file_change): Update for new line mapping.
10986 (pragma_cb): New typedef.
10987 (cpp_register_pragma): Stop looking ahead before calling the
10988 handler. Clean up.
10989 (do_pragma_system_header): End directive early.
10990 (cpp_get_line_maps): New.
10991 (cpp_pop_buffer): Fudge logical line. Update.
10992 * cpplib.h: Include line-map.h
10993 (enum cpp_fc_reason): Remove.
10994 (struct cpp_file_change): Update.
10995 (cpp_get_line_maps): New.
10996 * cppmain.c (struct_printer): New member map.
10997 (cb_file_change): Update for new mappings.
10998 * fix-header.c (cb_file_change): Similarly.
10999
6dda00f0
NC
110002001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
11001
11002 * Makefile.in (libgcc.mk): Define mkinstalldirs.
11003 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
11004
215b48a7
LB
110052001-08-02 Lars Brinkhoff <lars@nocrew.org>
11006
11007 * config/vax/vax.c: include expr.h.
11008
e7f62dcf
NC
110092001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
11010
11011 * Makefile.in ($(srcdir)/configure): Only rebuild in
11012 maintainer mode.
11013 ($(srcdir)/config.in): Only define in maintainer mode.
11014 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
11015
4b5eb038
DE
110162001-08-02 David Edelsohn <edelsohn@gnu.org>
11017
11018 * doc/install.texi (Install GCC: Binaries): Update Bull info.
11019
578672a2
RO
110202001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11021
11022 * gcc.c (set_collect_gcc_options): New function, split out from
11023 main.
11024 Ignore elided switches.
11025 (do_spec_1): Invoke before executing command.
11026 (set_input): Export.
11027 Move declaration ...
11028 * gcc.h (set_input): ... here.
11029 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
11030 file.
11031
1dbb6023
NS
110322001-08-02 Nathan Sidwell <nathan@codesourcery.com>
11033
11034 Kill -fhonor-std.
11035 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
11036 interaction.
11037 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
11038
d6b6ba29
RS
110392001-08-02 Richard Sandiford <rsandifo@redhat.com>
11040
11041 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
11042 for the unnamed instructions it expands to.
11043
d3259baa
RH
110442001-08-02 Richard Henderson <rth@redhat.com>
11045
11046 * regclass.c (call_really_used_regs): Conditionally define.
11047 (init_reg_sets_1): Don't use it if not defined.
11048 (fix_register): Similarly, don't set it.
11049
eb77eeb3
GP
110502001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11051
11052 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
11053 Correct comment that had been missed in the previous change.
11054
4e08ba6c
SS
110552001-08-01 Stan Shebs <shebs@apple.com>
11056
11057 * config/darwin.c (machopic_stub_name): Try matching by name.
11058 (update_stubs): New function.
11059 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
11060 unconditionally.
11061
7a900ebc
RH
110622001-08-01 Richard Henderson <rth@redhat.com>
11063
11064 * except.c (output_function_exception_table): Use assemble_align.
11065 * varasm.c (assemble_eh_label): Remove.
11066 (assemble_eh_align, assemble_eh_integer): Remove.
11067
551e8a74
RL
110682001-08-01 Robert Lipe <robertl@caldera.com>
11069
39f95a2c 11070 * dwarfout.c: Remove reference to README.DWARF.
551e8a74 11071
fc1296b7
AM
110722001-08-01 Andrew MacLeod <amacleod@redhat.com>
11073
11074 * regclass.c (call_really_used_regs): New array for registers which
11075 are actually used by a call.
11076 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
11077 new array.
11078 (fix_register): Set call_really_used too.
11079 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
11080 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
11081
b38b083a
RH
110822001-08-01 Richard Henderson <rth@redhat.com>
11083
11084 * read-rtl.c (read_name): Consider \r whitespace.
11085
edf1b3f3
AC
110862001-07-11 Andrew Cagney <ac131313@redhat.com>
11087
11088 * config.gcc: Recognize powerpc-*-netbsd*.
a4d3961a 11089
edf1b3f3
AC
11090 * doc/install.texi (Host/target specific installation notes for
11091 GCC): Mention powerpc-*-netbsd*.
11092
11093 * config/rs6000/netbsd.h: New file.
11094 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
11095 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
11096 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
11097 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
11098 (TARGET_VERSION): Redefine.
11099
11100 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
11101 mcall-netbsd as a match for mcall-sysv.
11102 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
11103 (ncrti.S, ncrtn.S): New targets.
11104 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
a4d3961a 11105
edf1b3f3
AC
11106 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
11107 "netbsd' as a V4 ABI.
11108 (ASM_SPEC): Check for -mcall-netbsd.
11109 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
11110 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
11111 (LIB_SPEC, ENDFILE_SPEC): Ditto.
11112 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
11113 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
11114 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
11115 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
11116
11117 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
11118 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
11119
bda33a6e
MK
111202001-08-01 Mark Kettenis <kettenis@gnu.org>
11121
11122 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
11123 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
11124 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
11125 including "unwind-pe.h".
11126
75540af0
JH
11127Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
11128
11129 * rs6000.md (define_splits): Kill unused constraints.
11130
11131Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
11132 Jan Hubicka <jh@suse.cz>
11133
11134 * function.c (thread_prologue_and_epilogue_insns): Kill code
11135 dealing with non-existent CFG.
11136
ec5c56db
KH
111372001-08-01 Kazu Hirata <kazu@hxi.com>
11138
11139 * alias.c: Fix comment formatting.
11140 * bitmap.c: Likewise.
11141 * builtins.c: Likewise.
11142 * calls.c: Likewise.
11143 * c-common.c: Likewise.
11144 * c-decl.c: Likewise.
11145 * c-dump.c: Likewise.
11146 * c-lex.c: Likewise.
11147 * collect2.c: Likewise.
11148 * combine.c: Likewise.
11149 * conflict.c: Likewise.
11150 * cppfiles.c: Likewise.
11151 * cppinit.c: Likewise.
11152 * cpplex.c: Likewise.
11153 * cpplib.c: Likewise.
11154 * cppmacro.c: Likewise.
11155 * cppspec.c: Likewise.
11156 * c-pragma.c: Likewise.
11157 * crtstuff.c: Likewise.
11158 * cse.c: Likewise.
11159 * cselib.c: Likewise.
11160 * c-semantics.c: Likewise.
11161 * c-typeck.c: Likewise.
11162
2a25b23f
L
111632001-08-01 H.J. Lu <hjl@gnu.org>
11164
11165 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
11166
a8329479
L
111672001-08-01 H.J. Lu <hjl@gnu.org>
11168
11169 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
11170
f2e6e530
ZL
111712001-08-01 Ziemowit Laski <zlaski@apple.com>
11172
39f95a2c 11173 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
f2e6e530
ZL
11174 contextualizing Objective-C class name lookup by the lexer.
11175 (typespec_reserved_nonattr): Disable ObjC class name lookup after
11176 seeing a TYPESPEC.
11177 (protocoldef): Add support for forward @protocol declarations.
11178 (yylexname): Suppress ObjC class name lookup in certain contexts;
11179 re-enable after lookup is complete.
11180 (_yylex): Re-enable ObjC class name lookup when certain
11181 punctuation marks are seen.
11182
11183 * objc/objc-act.c (check_protocol_recursively): New function used
11184 for finding circular dependencies in protocols.
11185 (objc_declare_protocols): New function for handling forward
11186 @protocol declarations.
11187 (receiver_is_class_object): Detect the case when 'self' is used
11188 inside of a class method.
11189 (build_message_expr): Issue a warning if class method is desired
11190 but instance method is found instead.
11191 (conforms_to_protocol): Streamline.
11192 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
11193 protocol Foo, even if 'Bar foo' does not.
11194 (check_protocols): Streamline.
11195 (start_protocol): Add checks for circular and duplicate protocol
11196 definitions.
11197 (encode_aggregate_within): For typedefs of structs, encode the
11198 underlying struct.
11199 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
11200 (objc_declare_protocols): New prototype.
11201
1444f2ed
NB
112022001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11203
11204 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
11205 * cpplex.c (handle_newline): Update prototype. Maintain logical
11206 line number.
11207 (skip_escaped_newlines, skip_block_comment, parse_string):
11208 Update accordingly.
11209 (_cpp_lex_token): Update, and store token position within the token.
11210 * cpplib.h (struct cpp_token): Add line and column entries.
11211 * cppmacro.c (replace_args): Position stringified tokens correctly.
11212
7f8a2125
AJ
112132001-08-01 Andreas Jaeger <aj@suse.de>
11214
11215 * basic-block.h: Add prototype for last_loop_beg_note.
11216
6ad7895a
APB
112172001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
11218
11219 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
11220 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
11221 comment.
11222 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
11223 while handling WITH_CLEANUP_EXPR node. Use second operand calling
11224 expand_decl_cleanup.
11225 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
11226 the first RTX.
11227 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
11228 operand while calling simple_cst_equal.
11229 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
11230 operand is the cleanup expression, the third is the RTL_EXPR.
7f8a2125 11231 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
6ad7895a 11232
b24a9e88
JS
112332001-07-31 Jeff Sturm <jsturm@one-point.com>
11234
39f95a2c 11235 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
b24a9e88 11236
6ea0279f
MG
112372001-07-31 matthew green <mrg@eterna.com.au>
11238
11239 * config.gcc (i386-*-netbsdelf): New description.
11240 * config/i386/netbsd-elf.h: New file.
11241
ae16bf15
GK
112422001-07-30 Geoffrey Keating <geoffk@redhat.com>
11243
11244 * loop.c (check_dbra_loop): Use single_set to compute
11245 jump_label.
11246
2bfcf297
DB
112472001-07-31 Daniel Berlin <dan@cgsoftware.com>
11248
11249 PowerPC reorg and support for powerpc64-*-linux*.
11250
11251 Also fixes emitting of constants on 32 bit and 64 bit
11252 platforms.
7f8a2125 11253
2bfcf297 11254 * config.gcc: powerpc64-*-linux* is a new target.
7f8a2125 11255 Things that needed aix.h now also include xcoff.h
2bfcf297
DB
11256
11257 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
7f8a2125 11258 xcoff.h.
2bfcf297 11259 Move AIX specific stuff into aix.h.
2bfcf297
DB
11260 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
11261 with more than just XCOFF now.
11262 (SET_ASM_OP): Remove, now defined where needed.
11263 (FUNCTION_PROLOGUE): New macro definition.
11264 (FUNCTION_EPILOGUE): New macro definition.
2bfcf297 11265 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
f96850af 11266
2bfcf297
DB
11267 * config/rs6000/xcoff.h: New file.
11268
11269 * config/rs6000/linux64.h: New file.
11270
11271 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
f96850af
DE
11272
112732001-07-31 Alan Modra <amodra@bigpond.net.au>
11274
11275 * rs6000.c (print_operand_address): Handle ELF syntax.
11276 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
11277 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
11278 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
11279
112802001-07-31 David Edelsohn <edelsohn@gnu.org>
11281
11282 * rs6000.c (rs6000_override_options): Only disable
11283 flag_function_sections for XCOFF.
11284 (exact_log2_cint_operand): New predicate.
11285 (reg_or_{add,sub}_cint64_operand): New predicates.
11286 (add_operand): Compare CONST_INT with fewer function calls.
11287 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
11288 (print_operand, case 'p'): Ensure positive operand.
11289 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
11290 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
11291 (PREDICATE_CODES): Add new predicates.
11292 * rs6000.md (addsi3): Split 32-bit constants more correctly.
11293 (divsi3, modsi3): Ensure positive power-of-2.
11294 (adddi3): Use new predicate. Split 32-bit constants more
11295 correctly. Re-arrange splitter to handle any constant.
11296 (subdi3): Use new predicate.
11297 (divdi3, moddi3): Ensure positive power-of-2.
11298 (movdi): Use rs6000_emit_set_const.
11299 (load_toc_v4_pic_di): Delete.
2bfcf297 11300
dc56ceb7
GS
113012001-07-31 Graham Stott <grahams@redhat.com>
11302
11303 * function.c (pad_below): Revert 2001-07-26 patch.
11304
3e42ccd2
JH
11305Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
11306
11307 * reg-stack (convert_regs_1): Fix best edge condition.
11308
940b29aa
JH
11309Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
11310
11311 * jump.c (duplicate_loop_exit_test): Better test for jumps
11312 entering the loop; create loop pre_header.
11313
91abf72d
HP
113142001-07-31 Hartmut Penner <hpenner@de.ibm.com>
11315
39f95a2c 11316 * doc/install.texi: Add s390 and s390x as new targets.
f63d1bf7 11317 * doc/invoke.texi: Add documentation of S/390 and zSeries
39f95a2c 11318 target options.
f63d1bf7 11319 * doc/md.texi: Add documentation of S/390 and zSeries constraints.
91abf72d 11320
8406d023
RZ
113212001-07-30 Roman Zippel <zippel@linux-m68k.org>
11322
11323 * config/m68k/m68k.md: Replace all general_operand with
11324 nonimmediate_operand for all destinations.
11325 * config/m68k/m68k.c (not_sp_operand): Likewise.
11326
4d494dfe
JW
11327Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
11328
39f95a2c 11329 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
4d494dfe 11330
88828291
RH
113312001-07-30 Richard Henderson <rth@redhat.com>
11332
11333 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
11334 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
11335
f18bff15
RZ
113362001-07-30 Roman Zippel <zippel@linux-m68k.org>
11337
11338 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
11339 Add missing doc strings
11340 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
11341 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
11342
0ecf09f9
JH
11343Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
11344
11345 * i386.c (ix86_output_main_function_alignment_hack): New function.
11346 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
11347
11348 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
11349 edges by EDGE_DFS_BACK flag.
11350 (dump_edge_info): Add dfs_back flag.
11351 * basic-block.h (EDGE_DFS_BACK): New constant.
11352 (mark_dfs_back_edges): Declare.
11353 * alias.c (loop_p): Remove.
11354 (mark_constant_function): Use mark_dfs_back_edges.
11355
eaec9b3d
JM
11356 * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
11357 (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
0ecf09f9
JH
11358 (compensate_edge): Break out from ...
11359 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
11360 (convert_regs_2): Set block_done once block is really done;
eaec9b3d 11361 Do updating of the predecessors counts.
0ecf09f9
JH
11362
11363 * toplev.c (rest_of_compilation): Recompute block_for_insn
11364 before post-reload cfg_cleanup.
11365 * function.c (thread_prologue_epilogue_insns):
11366 Call set_block_for_new_insns when emitting prologue directly.
11367
1490f392
AJ
113682001-07-30 Andreas Jaeger <aj@suse.de>
11369
39f95a2c 11370 * jump.c: Add prototype for mark_modified_reg.
1490f392 11371
39f95a2c 11372 * cse.c (set_live_p): Add unused attribute.
1490f392 11373
39f95a2c
JH
11374 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
11375 overflow.
11376 (scan_for_source_files): Use long for count to avoid overflow.
11377 (output_data): Likewise.
11378 (output_data): Don't use string concatatenation to silence gcc
11379 -traditional.
1490f392 11380
39f95a2c 11381 * predict.c: Fix typos and grammar.
1490f392
AJ
11382
11383 * gcse.c (insert_insn_end_bb): Remove unused variables.
11384
a08b2604
JH
11385Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
11386
11387 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
11388 (attempt_auto_inc): LIkewise.
11389 (mark_used_reg): Likewise.
11390 (try_pre_increment_1): Likewise.
11391 * regclass.c (regclass): Likewise.
11392 * global.c (allocno_compare): Update comment; change scaling factor.
11393 * local-alloc.c (QTY_CMP_PRI): Likewise.
11394 * regs.h (REG_FREQ_FROM_BB): New.
11395 (REG_FREQ_MAX): Likewise.
11396
c2c0294a
L
113972001-07-30 H.J. Lu <hjl@gnu.org>
11398
11399 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
11400 -D_GNU_SOURCE.
11401
8597f3dd
L
114022001-07-30 H.J. Lu (hjl@gnu.org)
11403
11404 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
11405 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
11406 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
11407
b3026a92
NC
114082001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
11409
11410 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
11411 as -mthumb-interwork when -mcpu=arm7 is specified.
11412
8b7e92f9
JH
11413Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
11414
11415 * predict.def (noreturn, loop branch, loop exit): Mark as first
11416 match heuristics.
11417
592a6d1d
JH
11418Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
11419
11420 * combine.c (try_combine): Avoid barrier after noop jumps.
11421
09b82253
NB
114222001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11423
11424 * cpphash.h (struct cpp_reader): Remove import_warning.
11425 * cpplib.c (skip_rest_of_line): Don't bother turning off
11426 macro expansion.
11427 (parse_include): Move include handling to...
11428 (do_include_common): ... here. Move import warning from...
11429 (do_import): ... here.
11430 (do_pragma_poison): Don't do a callback for poison identifiers.
11431 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
11432 * cppmain.c (setup_callbacks): Similarly.
11433
833366d6
JH
11434Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
11435
11436 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
11437 handle multiple sets.
11438 * except.c (sjlj_mark_call_sites): .... here.
11439 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
11440
b5832b43
JH
11441Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
11442
11443 Suggested by Richard Henderson and Richard Kenner:
11444 * combine.c (recog_for_combine): Use the fake recog
11445 only if instruction does not match.
11446 * rtl.h (NOOP_MOVE_INSN_CODE): New.
11447 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
11448
11449 * combine.c (try_combine): Discover noop jump as direct jump.
11450
12285d9d
DB
114512001-07-29 Daniel Berlin <dan@cgsoftware.com>
11452
11453 * df.c (df_rd_global_compute): Add successors to worklist, not
11454 current item.
11455 (df_ru_global_compute): Ditto.
11456
b2d57793
DB
114572001-07-27 Daniel Berlin <dan@cgsoftware.com>
11458
11459 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
11460 increment REG_N_SETS.
11461
114622001-07-26 Daniel Berlin <dan@cgsoftware.com>
11463
11464 * sbitmap.h: New prototype for sbitmap_a_xor_b.
11465
11466 * sbitmap.c (sbitmap_a_xor_b): New function.
11467 ifdef the basic block stuff on IN_GCC.
11468
6d18adbc
NB
114692001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11470
11471 * cppexp.c (parse_defined): Always record the macro name.
11472 (lex): Don't worry about identifiers, or special-case
11473 CPP_NOT here.
11474 (_cpp_parse_expr): Figure out at the end of the routine
11475 whether we saw a valid !defined() expression.
11476 * cppfiles.c (stack_include_file): Update for mi_valid.
11477 (_cpp_pop_file_buffer): Similarly.
11478 * cpplex.c (_cpp_lex_token): Similarly.
11479 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
11480 mi_if_not_defined, mi_lexed): Remove.
11481 (mi_valid): New.
11482 * cpplib.c (do_if): Simplify.
11483 (do_endif, push_conditional, _cpp_handle_directive): Update
11484 for renaming of mi_state to mi_valid.
11485doc:
11486 * cpp.texi: Add index entries for digraphs, and add comment
11487 that C++ refers to them as alternative tokens.
11488
0068fd96
JH
11489Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
11490
11491 * basic-block.h (CLEANUP_PRE_LOOP): New.
11492 * except.c (finish_eh_generation): Update call of cleanup_cfg.
11493 * sibcall.c (optimize_sibling_calls): Likewise.
11494 * toplev.c (rest_of_compilation): Likewise.
11495 * flow.c (try_forward_edges): Take argument MODE;
11496 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
11497 (try_optimize_cfg): Update call of try_forward_edges.
11498
11499Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
2ea792c2 11500 Jan Hubicka <jh@suse.cz>
0068fd96
JH
11501
11502 * (validate_replace_rtx_1): Fix simplification of MINUS.
11503
df07e07d
NB
115042001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
11505
11506 PR preprocessor/3669
11507 * cppinit.c (init_dependency_output): Turn off dump requests
11508 if sending dependencies to stdout.
11509
587f922a
RH
115102001-07-28 Richard Henderson <rth@redhat.com>
11511
11512 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
11513 not optimizing.
11514
89f355bd
G
115152001-07-28 Golubev I. N. <gin@mo.msk.ru>
11516
11517 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
11518
391522e3
KH
115192001-07-28 Kazu Hirata <kazu@hxi.com>
11520
11521 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
11522 is VAR_DECL first to prevent an ICE.
11523
6681bc1f
RH
115242001-07-28 Richard Henderson <rth@redhat.com>
11525
11526 * varasm.c (immed_real_const_1): Don't elide special cases for
11527 nested functions.
11528 (clear_const_double_mem): Clear const_tiny_rtx too.
11529
a20612aa
RH
115302001-07-28 Richard Henderson <rth@redhat.com>
11531
11532 * dwarf2out.c (dw_val_class_offset): New.
11533 (struct dw_ranges_struct, dw_ranges_ref): New.
11534 (ranges_table, ranges_table_allocated): New.
11535 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
11536 (add_AT_offset, add_ranges, output_ranges): New.
11537 (print_die, output_die): Handle dw_val_class_offset.
11538 (attr_checksum, size_of_die, value_format): Likewise.
11539 (gen_lexical_block_die): Handle non-contiguous blocks.
11540 (gen_block_die): Likewise.
11541 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
11542 if needed. Dump the ranges table.
11543 * final.c (final_start_function): Remove unnecessary notes and
11544 rebuild the block tree before numbering the blocks.
11545 * function.c (reorder_blocks_0): Walk the existing block tree
11546 to unmark all blocks.
11547 (reorder_blocks_1): Create block fragments when duplicate block
11548 notes are seen.
11549 (reorder_fix_fragments): New.
11550 (reorder_blocks): Call it.
11551 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
11552
c2f7bcc3
RH
115532001-07-28 Richard Henderson <rth@redhat.com>
11554
11555 * emit-rtl.c (adjust_address): Make a copy of the memory address.
11556
91d84fad
RH
115572001-07-28 Richard Henderson <rth@redhat.com>
11558
11559 * flow.c (add_to_mem_set_list): New function.
11560 (init_propagate_block_info): Use it.
11561 (mark_set_1): Likewise.
11562 (insn_dead_p): Canonicalize memory address for dead store
11563 comparison. Allow wider mode stores to kill narrower mode stores.
11564 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
11565 (invalidate_mems_from_set): Don't handle MEMs.
11566
0a02170f
KH
115672001-07-28 Kazu Hirata <kazu@hxi.com>
11568
11569 * config/h8300/h8300.h: Fix formatting.
11570
134d3a2e
JH
11571Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
11572
11573 * basic-block.h (EDGE_FREQUENCY): New macro.
11574 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
11575 for new BB/edges.
11576 * flow.c (find_sub_basic_blocks): Likewise.
11577 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
11578 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
11579
11580 * predict.c (DEF_PREDICTOR): New argument FLAGS.
11581 (HITRATE): New macro.
11582 (PRED_FLAG_FIRST_MATCH): New constant.
11583 (predictor_info): New field flgags.
11584 (combine_predictions_for_insn): Use DS theory to combine
11585 probabilities; set the edge probabilities when finished.
11586 (estimate_probability): Avoid duplicated matches
11587 of LOOP_BRANCH heuristics for nested loops; update comment.
11588 * predict.def: Add flags for each prediction, set probabilities
11589 according to B&L paper.
11590 * predict.h (DEF_PREDICTOR): New argument FLAGS.
11591
11592 * profile.c (compute_branch_probabilities): Cleanup way the edge
11593 probabilities are computed and REG_BR_PROB notes are dropped; if
11594 values does not match, emit error.
11595 (init_branch_prob): Do error instead of warning when profile driven
11596 feedback is missing or corrupt.
11597
7f646877
DD
115982001-07-27 DJ Delorie <dj@redhat.com>
11599
11600 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
11601 against a constant, try to adjust the compare to have the desired
11602 constant in it so that min/max optimizations happen more often.
11603
d69d0316
JH
11604Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
11605
11606 * flow.c (last_loop_beg_note): New function.
11607 (redirect_edge_and_branch): Use it.
11608 (split_edge): Likewise.
11609
11610 * alias.c (loop_p): Avoid uninitialized memory access.
11611
11612 * flow.c (try_forward_edges): Avoid accessing freed memory.
11613
11614 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
11615 variable access.
11616
0dd99795
AH
116172001-07-26 Andrew Haley <aph@redhat.com>
11618 Joern Rennecke <amylaar@redhat.com>
11619
11620 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
11621 (SUBTARGET_CPP_ENDIAN_SPEC): New.
11622 (SUBTARGET_CPP_SPEC): New.
11623 (CPP_SPEC): Remove.
11624 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
11625 (SUBTARGET_CPP_PTR_SPEC): New.
11626 (CPP_DEFAULT_CPU_SPEC): New.
11627 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
11628 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11629 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
11630 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11631 (SUBTARGET_CPP_SPEC): Define as an empty string.
11632
e69aa433
GP
116332001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11634
11635 * doc/install.texi (Configuration): Properly link the host
11636 specific instructions also when generating HTML.
11637
a727094f
JW
11638Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
11639
39f95a2c 11640 * flow.c (redirect_edge_and_branch_force): Test
a727094f
JW
11641 target->global_live_at_start.
11642
732910b9
RH
116432001-07-26 Richard Henderson <rth@redhat.com>
11644
11645 * simplify-rtx.c (avoid_constant_pool_reference): Export.
11646 * rtl.h (avoid_constant_pool_reference): Declare it.
11647 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
11648 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
11649
01f62f01
JH
11650Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
11651
11652 * rtl.h (cleanup_barriers): Declare.
11653 * jump.c (cleanup_barriers): New function.
11654 * toplev.c (rest_of_compilation): Call cleanup_barriers
11655 before loop optimizer and after bb_reorder.
11656
11657 * flow.c (back_edge_of_syntactic_loop_p): New.
11658 (split_edge): Use it.
11659
aa069f77
RO
116602001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11661
11662 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
11663
c96208fa
DC
11664Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
11665
11666 * cse.c (cse_process_notes): Replace any registers if the address
11667 remains valid.
11668
11f68165
JW
11669Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
11670
11671 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
11672 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
11673 (propagate_block): Update prototype.
11674 * flow.c (update_life_info): Simplify the CFG and
11675 recalculate the global regs which are alive when
11676 removing dead code during a global update.
11677 (propagate_block): Return non-zero if an INSN is
11678 deleted.
11679
62c62a4f
RO
116802001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11681
11682 * Makefile.in (LIBICONV): Define.
11683
06e937ed
CM
116842001-07-26 Catherine Moore <clm@redhat.com>
11685
39f95a2c
JH
11686 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
11687 of conditional to avoid tree checking errors.
06e937ed 11688
f3029065
KH
116892001-07-26 Kazu Hirata <kazu@hxi.com>
11690
11691 * regmove.c (regmove_optimize): Don't replace a reg with
11692 another reg of a different mode.
11693
4a121cc3
AM
116942001-07-26 Andrew MacLeod <amacleod@redhat.com>
11695
1490f392 11696 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
ff7cc307 11697 limit length of dependency flush list.
4a121cc3
AM
11698 * params.h (MAX_PENDING_LIST_LENGTH): Define.
11699 * sched-int.h (struct deps): Add pending_flush_length field.
11700 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
11701 has 1 element in it.
11702 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
11703 (sched_analyze): After a jump, if the pending memory flush list is too
11704 large, flush the pending lists.
11705 (init_deps): Initialize pending_flush_length to 0.
11706 * doc/invoke.texi (max_pending_list_length): Document parameter.
11707
440aabf8
NB
117082001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
11709
11710 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
11711 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
11712 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
11713
cef0d199
NB
117142001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11715
11716 * cpphash.h (struct_lexer_state): Delete was_skipping.
11717 Move skipping here from struct cpp_reader.
11718 * cpplex.c (parse_identifier): Update.
11719 (_cpp_lex_token): Don't skip tokens in a directive.
11720 * cpplib.c (struct if_stack): Update.
11721 (start_directive, end_directive): Don't change skipping state.
11722 (_cpp_handle_directive): Update.
11723 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
11724 (do_else, do_endif): Update; only check for excess tokens if not
11725 in a skipped conditional block.
11726 (push_conditional): Update for new struct if_stack.
11727
5b16f556
GS
117282001-07-26 Graham Stott <grahams@redhat.com>
11729
11730 * function.c (locate_and_pad_parm): Also pad initial offset
11731 so that the total argument size also includes the padding.
11732
117332001-07-26 Graham Stott <grahams@redhat.com>
11734
11735 * gensupport.c (alter_output_for_insn): Correct enable checking failure
11736 change XSTR to XTMPL.
11737
11738 (process_one_cond_exec): Likewise
11739
17eee61c
RH
117402001-07-25 Richard Henderson <rth@redhat.com>
11741
11742 * varasm.c (assemble_variable): Create DECL_RTL before setting
11743 TREE_ASM_WRITTEN.
11744
c4f81e4a
JH
11745Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
11746
11747 * predict.c (estimate_probability): Avoid duplicated predictions.
11748
11749 * loop.c (find_and_verify_loops): Grok multiple barriers.
11750
02e3f1a8
RK
11751Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11752
472385a2
RK
11753 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
11754
02e3f1a8 11755 * dbxout.c: Consistently use putc instead of fputc.
1490f392 11756 (print_wide_int): New function; call instead of direct fprintf.
02e3f1a8
RK
11757 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
11758 (dbxout_type_fields, dbxout_type_method_1): Likewise.
11759 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
11760 (print_int_cst_octal): Likewise.
11761 (print_octal): Show we wrote characters.
11762 (dbxout_type): Set have_used_extensions in more places.
11763
f2d28b14
CM
117642001-07-25 Catherine Moore <clm@redhat.com>
11765
39f95a2c
JH
11766 * config/v850/v850.c (v850_va_arg): Use addr
11767 instead of valist to build incr.
f2d28b14 11768
6e64a52a
JH
11769Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
11770
11771 * flow.c (delete_dead_jumptables): New function.
11772 (life_analyzis): Call it.
02e3f1a8
RK
11773 * bb-reorder.c (skip_insns_after_block): Handle contradictory
11774 sequences.
6e64a52a 11775
7f206d8f
RH
117762001-07-25 Richard Henderson <rth@redhat.com>
11777
11778 * except.c (reachable_handlers): Handle a region being removed
11779 out from under a RESX.
11780
56f19d92
RH
117812001-07-25 Richard Henderson <rth@redhat.com>
11782
11783 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
02e3f1a8 11784 swap GE/GT if it is an fp comparison.
56f19d92
RH
11785
117862001-07-25 Andrew Haley <aph@cambridge.redhat.com>
3237ac18
AH
11787
11788 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
11789 operands.
11790
42f28de9
JL
11791Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
11792
1490f392 11793 * ssa.c (rename_insn_1): Do not wrap an assignment to a
ea0eceb1
JL
11794 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
11795 glitch.
11796
42f28de9
JL
11797 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
11798 throw an exception.
11799 (visit_expression): When attempting to simplify an expression,
11800 retrieve any modes for arguments before they are simplified
11801 to constants.
11802
7c2b017c
AM
118032001-07-25 Andrew MacLeod <amacleod@redhat.com>
11804 Janis Johnson <janis@us.ibm.com>
11805
11806 * stmt.c (expand_goto): A nonlocal goto can be a call too.
11807 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
11808 pointer parameters to match documented usage of nonlocal_goto.
11809 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
11810 parameters to their correct order.
11811 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
11812 parameters to their correct order.
11813
ff3daa88
AM
118142001-07-25 Andrew MacLeod <amacleod@redhat.com>
11815
11816 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
11817
a368a2fa
JH
118182001-07-25 Jan Hubicka <jh@suse.cz>
11819 Richard Henderson <rth@redhat.com>
11820
11821 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
11822 the sequence.
11823 (make_edges): New argument update_p; populate the edge cache if set.
11824 (find_basic_blocks): Update make_edges invocation.
11825
303e979a
JS
118262001-07-24 Joel Sherrill <joel@OARcorp.com>
11827
11828 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
11829
7adb4be8
JS
118302001-07-24 Joel Sherrill <joel@OARcorp.com>
11831
39f95a2c 11832 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
7adb4be8 11833 -Acpu and -Amachine.h.
39f95a2c
JH
11834 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
11835 Corrected header to say ELF not a.out.
11836 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
7adb4be8
JS
11837 when given -msoft-float.
11838
118392001-07-24 Joel Sherrill <joel@OARcorp.com>
bb8602be
JS
11840
11841 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
11842 extra multilib parts like arm-elf.
11843 (i960-*-coff*, i960-*-rtems): Should not use collect2.
11844 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
11845 crtfini.o as extra multilib parts.
11846
e08f13ee
JS
118472001-07-24 Joel Sherrill <joel@OARcorp.com>
11848
11849 * configure.in: Add rtems as a supported thread model.
11850 * gthr-rtems.h: Add missing entry point __gthread_active_p.
11851 * configure: Rebuilt.
11852
0c237688
LB
118532001-07-24 Lars Brinkhoff <lars@nocrew.org>
11854
11855 * stor-layout.c (get_mode_alignment): make it work when
11856 BITS_PER_UNIT is not a power of two.
11857 * builtins.c (get_pointer_alignment): Likewise.
11858
5a2aa3bd
RH
118592001-07-24 Richard Henderson <rth@redhat.com>
11860
11861 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
11862 the retrieved constant into the expected mode.
11863
ca9fef16
JH
11864Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
11865
11866 * flow.c (try_simplify_condjump): Avoid duplicated edges.
11867 (verify_flow_info): Check for duplicated edges; clarify
11868 error reporting.
11869
11870 * flow.c (block_label): Update basic_block_for_insn.
11871 (commit_edge_insertions): Call compute_bb_for_insn.
11872
11873 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
11874 returns too.
11875
11876 * flow.c (redirect_edge_and_branch,
11877 try_optimize_cfg): Use redirect_edge_succ_nodup
11878 (redirect_edge_succ_nodup): New.
11879 * basic_block.h (redirect_edge_succ_nodup): Declare.
11880
11881 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
11882 after gcse.
11883
40fc4e6a
JH
11884Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
11885
11886 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
11887 (try_crossjump_to_edge): Update commetns.
11888 (try_crossjump_bb): Likewise.
11889
e7139885
RH
118902001-07-24 Richard Henderson <rth@redhat.com>
11891
11892 * combine.c (distribute_notes): Move set of need_refresh
11893 for noop_move_p down to catch all cases.
11894
6f862f2f
JH
11895Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
11896
11897 * recog.c (split_all_insns_noflow): New.
11898 * rtl.h (split_all_insns_noflow): Declare.
11899 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
11900 * m68hc11.c (m68hc11_reorg): Likewise.
11901 * sh.c (machine_dependent_reorg): Likewise.
11902 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
11903 call.
11904
615cd49b
AH
119052001-07-18 Andrew Haley <aph@cambridge.redhat.com>
11906
bb8602be
JS
11907 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
11908 (ashlsi3_n splitter): Likewise.
11909 (lshrsi3_n splitter): Likewise.
615cd49b 11910
bb8602be
JS
11911 (GOTaddr2picreg): Make const SImode.
11912 (sym_label2reg): Likewise.
11913 (symGOT2reg): Likewise.
11914 (symGOTOFF2reg) Likewise.
615cd49b 11915
bb8602be 11916 (casesi_worker_0): Make unspec SImode.
615cd49b 11917
2b9d17c7
AH
119182001-07-18 Andrew Haley <aph@cambridge.redhat.com>
11919
bb8602be
JS
11920 * config/sh/sh.c (barrier_align): Check that an operand really is
11921 an insn before extracting its INSN_CODE.
2b9d17c7 11922
cfe1cd40
AH
119232001-07-24 Andrew Haley <aph@cambridge.redhat.com>
11924
11925 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
11926 dangling else.
11927
11928 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
11929 for SImode to prevent overflow.
11930
46d2e8d7
RO
119312001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11932
11933 * config/mips/irix6-libc-compat.c: New file.
11934 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
11935 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
11936 passing workaround.
11937
cd6e5291
LB
119382001-07-24 lars brinkhoff <lars@nocrew.org>
11939
11940 * rtl.texi (REG_POINTER): Document.
11941 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
11942 QFmode, HFmode, TQFmode, QCmode, and HCmode.
11943
8f54d2ff
JH
11944Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
11945
11946 * flow.c (delete_noop_moves): Do not confuse libcall regions.
11947
6a7ca996
RH
119482001-07-23 Richard Henderson <rth@redhat.com>
11949
11950 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
11951
ba412630
KH
119522001-07-23 Kazu Hirata <kazu@hxi.com>
11953
11954 * config/h8300/h8300-protos.h: Add a prototype for
11955 general_operand_dst_push.
1490f392 11956 * config/h8300/h8300.c (general_operand_dst_push): New.
ba412630
KH
11957 * config/h8300/h8300.h (OK_FOR_T): New.
11958 (EXTRA_CONSTRAINT): Use it.
11959 * config/h8300/h8300.md (movqi_push): Remove and integrate into
11960 the existing movqi pattern.
11961 (movhi_push): Likewise.
11962
82efa2e5
KH
11963 * reload.c: Fix comment typos.
11964
21715220
JH
11965Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
11966
11967 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
11968
dd96fbc5
L
119692001-07-23 H.J. Lu (hjl@gnu.org)
11970
11971 * doc/extend.texi: Update __builtin_return_address and
11972 __builtin_frame_address.
11973
c50e5bc0
RH
119742001-07-23 Richard Henderson <rth@redhat.com>
11975
11976 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
11977 before CSE.
11978 * config/i386/i386.md: New setcc+movzbl peephole2.
11979
9099cc4f
NB
119802001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11981
11982 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
11983 * objc/objc-act.c: Include debug.h.
11984 (synth_module_prologue): Save and restore debug hooks too.
11985
68eb4fb9
LB
119862001-07-23 lars brinkhoff <lars@nocrew.org>
11987
11988 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
11989 and C4X_FLOAT_FORMAT.
11990 (BOOL_TYPE_SIZE): Document.
11991
57de7530
CP
11992Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
11993
11994 * unroll.c (loop_iterations): Fix miscalculation of initial
11995 giv offset.
11996
6e7b03e1
AH
119972001-07-13 Andrew Haley <aph@redhat.com>
11998
bb8602be
JS
11999 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
12000 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
12001 * config/sh/sh.c (sh_can_redirect_branch): New function.
12002 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
12003 * reorg.c (steal_delay_list_from_target): Use
12004 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
6e7b03e1 12005
0dd94abd
JH
12006Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
12007
12008 * flow.c (try_simplify_condjump): Unlink insn chain on
12009 fallthru edge; use can_fallthru.
12010
0005550b
JH
12011Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
12012
12013 * basic-block.h (find_sub_basic_block): Declare.
12014 * flow.c (make_edges): New arguments MIN and MAX;
12015 (find_sub_basic_blocks): Revamp to use make_edges
12016 and purge_dead_edges.
12017 (find_basic_blocks): Update call of find_sub_basic_block.
12018
12019 * recog.c (split_all_insns): Always expect CFG to be consistent;
12020 call find_sub_basic_blocks in case something has changed.
12021 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
12022 has been built.
12023
12024 * basic-block.h (delete_noop_moves): Declare.
12025 * combine.c (combine_instructions): Call it.
12026 (recog_for_combine): Tolerate noop moves
12027 (distribute_notes): Force refresh when register dies at noop move.
12028 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
12029 too.
12030 (life_analysis): Update delete_noop_moves call.
12031 (set_noop_p): Move too ...
12032 * rtlanal.c (noop_move_p): ... here.
12033 * rtl.h (noop_move_p): Declare.
12034
12035 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
12036 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
12037 after combine.
12038 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
eaec9b3d 12039 (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
0005550b 12040
e0120d6e
HPN
120412001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
12042
12043 * reload.c (push_reload): Fix typo in comment.
12044 (find_reloads_address): Ditto.
12045 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
12046
b02eea61
RH
120472001-07-22 Richard Henderson <rth@redhat.com>
12048
12049 * flow.c: Grammar check and clarify a lot of comments.
12050 (try_simplify_condjump): Rename variables to be clearer.
12051 (try_forward_edges): Skip complex and fallthru edges.
12052 Rearrange tests to avoid duplicate checks.
12053 (flow_find_cross_jump): Likewise.
12054 (outgoing_edges_match): Allow match if neither branch has
12055 probability data. Loosen probability match to 5%.
1490f392 12056 (try_crossjump_to_edge): Hoist repeated indirection into
b02eea61
RH
12057 local variables.
12058 (try_crossjump_bb): Don't check complex edges. Eliminate
12059 redundant crossjump tests.
12060 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
12061 checks before more expensive checks.
12062
1f2f8b29
RH
120632001-07-22 Richard Henderson <rth@redhat.com>
12064
12065 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
12066 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
12067 arguments.
12068
97660e20
RH
120692001-07-22 Richard Henderson <rth@redhat.com>
12070
12071 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
12072 (const_sint32_operand): Likewise.
12073 * m68k.md (anon mulsi pattern): Use const_int_operand not
12074 const_sint32_operand.
12075 (umulsi3_highpart): Zero extend a constant input.
12076 (smulsi3_highpart): Don't bother checking SImode constant.
12077 (const_umulsi3_highpart): Give op3 DImode.
12078 (const_smulsi3_highpart): Likewise.
12079
0b6301ae
RH
120802001-07-22 Richard Henderson <rth@redhat.com>
12081
12082 * flow.c (split_block): Make sure bb_note is included in the
12083 new block when splitting before a label.
12084
6b24c259
JH
12085Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
12086
12087 * basic-block.h (redirect_edge_and_branch_force,
12088 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
12089 * flow.c (redirect_edge_and_branch_force,
12090 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
12091 (redirect_edge_and_branch_force): Fix copying of lifeness information.
12092 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
eaec9b3d 12093 * ifcvt.c (dead_or_predictable): Take BB as an new destination
6b24c259
JH
12094 instead of label; update CFG after transformation.
12095 (find_if_case_1): Update call, use redirect_edge_and_branch_force
12096 for finishing the transformation; handle even case where ELSE
12097 does not follow THEN.
12098 (find_if_case_2): Update call of dead_or_predictable; simplify
12099 CFG update.
12100
12101 * emit-rtl.c (split_branch_probability): New global variable.
12102 (try_split): Take care to set split_branch_probability and
12103 create REG_BR_PROB note for new jump insns.
12104 * md.texi (define_split): Document new feature.
12105
12106 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
12107
544f03b4
NB
121082001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
12109
12110 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
12111 (asm_out_file): Remove redundant declaration.
12112 (assemble_asm): Remove old #if 0 block.
12113 (assemble_variable): Remove end of function; debug output is
12114 now handled with global_decl. Remove old #if 0 block. Update.
12115 Remove saved_in_section and associated no-op code.
12116 * Makefile.in (varasm.o): Correct dependencies.
12117
bad1f214
AO
12118Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
12119
12120 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12121 the definition in defaults.h.
12122
0045d504
JH
12123Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
12124
12125 * jump.c: Update comments.
12126 (delete_barrier_successors, delete_unreferenced_labels,
12127 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
12128 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
12129 jump_optimize, jump_optimize_minimal): Kill.
12130 (rebuild_jump_labels): Move code from jump_optimize_1.
12131 (purge_line_number_notes): Likewise.
12132 (copy_loop_headers): Likewise.
12133 * reg-stack.c: Update comment.
12134 * stmt.c: Likewise.
12135 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
12136 JUMP_AFTER_REGSCAN): Kill.
12137 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
12138 purge_line_number_notes and copy_loop_headers.
12139
3914abb4
NB
121402001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
12141 Richard Henderson <rth@redhat.com>
12142
12143 * dbxout.c (dbxout_global_decl): New.
12144 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12145 * sdbout.c (sdbout_finish): New.
12146 (sdbout_debug_hooks): Use it, add comments.
12147 (sdbout_global_decl): Defer initialised public vars to
12148 sdbout_finish.
12149 * varasm.c (assemble_variable): Don't output debug information
12150 for file-scope variables.
12151
be7560ea
RH
121522001-07-22 Richard Henderson <rth@redhat.com>
12153
12154 * config/alpha/alpha.c (get_trap_mode_suffix): New.
12155 (get_round_mode_suffix): New.
12156 (print_operand): Use them for [/]. Remove support for [&'`()+].
12157 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
12158 * config/alpha/alpha.md (attr round_suffix): New.
12159 (attr trap_suffix): New.
12160 (all insns): Set them appropriately. Use %/ instead of the
12161 myriad punctuators.
12162
65ecca65
NB
121632001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12164
12165 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
12166
4e812700
RH
121672001-07-22 Richard Henderson <rth@redhat.com>
12168
12169 * regrename.c (regrename_optimize): Compute nregs for each
12170 potential target register.
12171
f7e10587
NB
121722001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
12173 Richard Henderson <rth@redhat.com>
12174
12175 * dbxout.c (dbxout_global_decl): New.
12176 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12177 * sdbout.c (sdbout_finish): New.
12178 (sdbout_debug_hooks): Use it, add comments.
12179 (sdbout_global_decl): Defer initialised public vars to
12180 sdbout_finish.
12181 * varasm.c (assemble_variable): Don't output debug information
12182 for file-scope variables.
12183
919b1aec
L
121842001-07-21 H.J. Lu (hjl@gnu.org)
12185
12186 * config/mips/mips.c (mips_cpu): Moved into ...
12187 (override_options): Here.
12188
12189 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
12190 mips_tune.
12191 (mips_cpu): Removed.
12192
0477256c
SC
121932001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12194
12195 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
12196 ("iorqi3"): Likewise.
12197 ("xorqi3"): Likewise.
12198 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
12199 ("*subhi3_sp): Likewise.
12200 ("*subhi3"): Likewise.
1490f392 12201 ("extendhisi2"): Accept D, X and Y as source operand to avoid
0477256c
SC
12202 reload problems.
12203
c4372ef4
NS
122042001-07-21 Nathan Sidwell <nathan@codesourcery.com>
12205
12206 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
12207 * config/freebsd.h: Likewise.
12208 * config/linux.h: Likewise.
12209 * config/openbsd.h: Likewise.
12210 * config/alpha/linux-elf.h: Likewise.
12211 * config/arm/linux-elf.h: Likewise.
12212 * config/d30v/d30v.h: Likewise.
12213 * config/fr30/fr30.h: Likewise.
12214 * config/ia64/aix.h: Likewise.
12215 * config/ia64/ia64.h: Likewise.
12216 * config/mips/linux.h: Likewise.
12217 * config/pj/pj.h: Likewise.
12218 * config/rs6000/linux.h: Likewise.
12219 * config/sparc/linux.h: Likewise.
12220 * config/sparc/linux64.h: Likewise.
12221
90376ae2
BK
122222001-07-20 Bruce Korb <bkorb@gnu.org>
12223
12224 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
12225 because getc() and char* may disagree on signedness.
12226
50b996bf
RH
122272001-07-20 Richard Henderson <rth@redhat.com>
12228
12229 * doc/rtl.texi (REG_DEAD): Update for current semantics.
12230
e9644cfe
RH
12231 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
12232 insns to delete in the presence of cc0 in a jump insn.
12233
ed6ba1a5 12234Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
2ea792c2 12235 Jan Hubicka <jh@suse.cz>
ed6ba1a5
RZ
12236
12237 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
12238 of doing the change by hand.
12239
371b8fc0
JH
12240Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
12241
12242 * rtlanal.c (set_noop_p): Return true for noop jumps.
12243
12244 * expr.c (emit_single_push_insn): Add call to push expander.
12245 * expr.h (optab_index): Add OTI_push
12246 (push_optab): New constant.
12247 * genopinit.c (optabs): Add push_optab.
12248 * optabs.c (init_optab): Init push optab.
12249 * md.texi (push??1): Document
12250
00d0458c
SC
122512001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12252
12253 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
1490f392 12254 expand to emit the pattern; put a REG_INC note for push/pop
00d0458c
SC
12255 instructions.
12256 ("movdf", "movdf_internal"): Likewise.
12257 ("movsi", "movsi_internal"): Likewise.
12258 ("movsf", "movsf_internal"): Likewise.
12259 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
12260
d74e9142
SC
122612001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12262
12263 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
12264 gen_highpart.
12265
1c432a87
DB
122662001-07-20 Daniel Berlin <dan@cgsoftware.com>
12267
12268 * params.def: Change default max inline insns to 100.
12269
9def18da
DN
122702001-07-20 Diego Novillo <dnovillo@redhat.com>
12271
12272 * combine.c (combine_simplify_rtx): Generate a new shift operation
12273 when simplifying the first operand of a (neg (ashift)) expression.
12274
d4845339
RH
122752001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
12276
12277 * regclass.c (N_REG_INTS): Use only 32 bits per element.
12278
122792001-07-20 Kelley Cook <kelley.cook@home.com>
dbd210ef
KC
12280
12281 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
12282 information. Move rest into ...
12283 (*-*-solaris): ... here. Eliminate redundant information and
12284 reword necessary packages section. Delete 4.x assembler bug info.
12285 (sparc-sun-*): Merge into ...
12286 (sparc-sun-sunos*): here.
12287
3a97685a
CM
122882001-07-20 Catherine Moore <clm@redhat.com>
12289
97660e20
RH
12290 * config/v850/v850.md (casesi): Generate LABEL_REF
12291 with Pmode.
3a97685a 12292
d24b3457
JH
12293Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
12294
12295 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
12296 * i386.c (ix86_zero_extend_to_Pmode): Make global.
12297 * i386.md (strclrsi expander): Use it.
12298
bc8d3f91
JH
12299Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
12300
12301 * integrate.c (copy_insn_list): handle
12302 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
12303 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
12304 identically as to CODE_LABEL.
12305
12306 * fold-const (fold): Convert A/B/C to A/(B*C) and
12307 A/(B/C) to (A/B)*C
12308
12309 * except.c (connect_post_landing_pads): Delete the RESX insns.
12310
1f28c666
AH
123112001-07-20 Aldy Hernandez <aldyh@redhat.com>
12312
97660e20 12313 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
1f28c666
AH
12314
12315 * config/mips/mips.md (nmadd/nmsub): Use macro.
12316
002ee64f
NS
123172001-07-20 Nathan Sidwell <nathan@codesourcery.com>
12318
12319 * cppinit.c (remove_dup_dir): Make static.
12320 (remove_dup_dirs): Make static. Only warn about preempting a
12321 system directory with a non-system directory.
12322
038fb2bc
GK
123232001-07-19 Geoffrey Keating <geoffk@redhat.com>
12324
12325 * ifcvt.c (noce_try_store_flag_constants): Correct order
12326 of parameters to trunc_int_for_mode.
12327
be672de8
MM
123282001-07-19 Mark Mitchell <mark@codesourcery.com>
12329
12330 * reorg.c (fill_simple_delay_slots): If an instruction might throw
12331 an exception that will be caught within this function, do not fill
12332 its delay slot with any subsequent instruction.
12333
6dd12198
SE
123342001-07-19 Steve Ellcey <sje@cup.hp.com>
12335
12336 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
12337 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
12338 pointer extension instruction.
12339 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
12340 * simplify-rtx.c (simplify_unary_operation) Likewise.
1490f392 12341 * explow.c (convert_memory_address) Check value of
6dd12198
SE
12342 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
12343 less than zero.
12344 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
12345 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
12346 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
12347 Add Multilib Support.
12348 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
12349 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
12350 Add Multilib Support.
12351 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
12352 support.
12353 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
12354 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
12355 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
12356
0248ce05
AO
123572001-07-19 Alexandre Oliva <aoliva@redhat.com>
12358
12359 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
12360 old and new operands in `<', `3' and `b'.
12361
e1772ac0
NB
123622001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
12363
12364 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
12365 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
12366 (toplev.o): Don't depend on xcoffout.h.
12367 * c-decl.c: Include debug.h
12368 (duplicate_decls): Use debug hook.
12369 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
12370 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12371 (dbxout_types): Remove.
12372 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
12373 * debug.c (do_nothing_debug_hooks): Update.
12374 (debug_true_tree, debug_nothing_rtx): New.
12375 * debug.h (struct rtx_def): New.
12376 (struct gcc_debug_hooks): New hooks ignore_block,
12377 outlining_inline_function and label.
12378 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
12379 dwarf2out_frame_finish): New.
12380 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
12381 Make static, update prototype.
12382 (dwarf2_debug_hooks): Update.
12383 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
12384 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
12385 * dwarfout.c (dwarf_debug_hooks): Update.
12386 * emit-rtl.c: Include debug.h.
12387 (remove_unnecessary_notes): Use debug hook.
12388 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
12389 (final_scan_insn): Use debug hook.
12390 * integrate.c (output_inline_function): Use debug hook.
12391 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
12392 (sdb_debug_hooks): Update.
12393 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
12394 * toplev.c: Don't include xcoffout.h.
12395 (note_outlining_of_inline_function, debug_ignore_block): Remove.
12396 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
12397 Remove.
12398 * tree.h (dwarf2out_do_frame): Remove.
12399
77f43519
CM
124002001-07-19 Catherine Moore <clm@cygnus.com>
12401
1490f392 12402 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
77f43519 12403
d54ef62c
GK
124042001-07-19 Geoffrey Keating <geoffk@redhat.com>
12405
c77fbfbe
GK
12406 * reload1.c (eliminate_regs_in_insn): When updating a set
12407 to the frame pointer to the hardware frame pointer, perform
12408 the update always not just when REPLACE is set.
12409
eb4d554e
GK
12410 * reload1.c (choose_reload_regs): Don't inherit a reload
12411 that crosses multiple registers if registers past the first
12412 don't fit in the desired class.
12413
d54ef62c
GK
12414 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
12415 when negating constants.
12416
7d46d516
TM
124172001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
12418
12419 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
12420 * doc/tree.texi: Ditto.
12421
5442cf15
MK
124222001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
12423 Jakub Jelinek <jakub@redhat.com>
12424
12425 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
12426 (extract_cie_info): Handle "eh" augmentation properly,
12427 remember eh_ptr.
12428 (struct frame_state, __frame_state_for): New.
12429
432fa9f2
RO
124302001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12431
12432 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
12433 HANDLE_SYSV_PRAGMA): Define.
12434 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
12435 previous args.
12436 (copy_object): Caller changed.
12437
bfabbc3c
AS
124382001-07-19 Andreas Schwab <schwab@suse.de>
12439
12440 * configure.in (assembler dwarf2 debug_line support): Define nop
12441 insn for m68k.
12442 * configure: Regenerated.
12443
2b85879e
NB
124442001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
12445
12446 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
12447 dwarfout.h.
12448 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
12449 to conditionally compiled block.
12450 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12451 * dbxout.h (dbxout_function): Remove.
12452 * debug.c (do_nothing_debug_hooks): Update.
12453 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
12454 global_decl, deferred_inline_function.
12455 * dwarf2out.c (dwarf2_debug_hooks): Update.
12456 (dwarf2out_global_decl): New.
12457 * dwarfout.c: Don't include dwarfout.h.
12458 (dwarfout_global_decl, dwarfout_function_decl,
12459 dwarfout_deferred_inline_function): New.
12460 (dwarf_debug_hooks): Update.
12461 * dwarfout.h: Remove.
12462 * final.c: Don't include dwarfout.h.
12463 * sdbout.c (sdbout_global_decl): New.
12464 (sdbout_debug_hooks): Update.
12465 * toplev.c: Don't include dwarfout.h.
12466 (check_global_declarations, rest_of_compilation): Use new debug hooks.
12467 (note_deferral_of_defined_inline_function): Remove.
12468 * toplev.h (note_deferral_of_defined_inline_function): Remove.
12469 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
12470 * ch/lex.c: Don't include dwarfout.h.
12471 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
12472 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
12473 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
12474 * cp/optimize.c: Include debug.h.
12475 (maybe_clone_body): Use debug hook.
12476 * cp/semantics.c: Include debug.h.
12477 (expand_body): Use debug hook.
12478 * po/POTFILES.in: Remove dwarfout.h.
12479
c60e94a7
NB
124802001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
12481
12482 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
12483 * c-parse.in (yyerror, _yylex): Similarly.
12484 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
12485 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
12486 Update comments.
12487 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
12488 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
12489
8458e954
JS
124902001-07-18 Jeff Sturm <jsturm@one-point.com>
12491
12492 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
12493 in-class declaration at -g1. Fixes c++/2814.
12494
d989f648
RH
124952001-07-18 Richard Henderson <rth@redhat.com>
12496
12497 * doc/md.texi (reload_in/out): Document restrictions in predicates
12498 and constraints for these patterns. Document empty string matching
12499 ALL_REGS.
12500
20c93f7c
RO
125012001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12502
12503 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
12504
dc42616f
JH
12505Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
12506
12507 * cse.c: Undo my previous patch.
12508
f91abfce
TT
125092001-07-18 Tom Tromey <tromey@redhat.com>
12510
12511 For PR java/2812:
12512 * configure: Rebuilt.
12513 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
12514 instead.
12515 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
12516
0728902f 12517Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
2ea792c2 12518 Jan Hubicka <jh@suse.cz>
0728902f
RH
12519
12520 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
12521 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
12522 * jump.c (mark_jump_label): Do not forward branches.
12523
f06fbeea
JH
12524Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
12525
12526 * cse.c (delete_trivially_dead_insns): Delete the libcall block
12527 when return value is unused.
12528
222f7ba9
JH
12529Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
12530
12531 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
12532
8b52df45
NP
12533Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
12534
12535 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
12536 on error. We can't blindly return the result of
12537 pthread_mutex_trylock because it returns a positive number on
12538 error, while we must return -1 on error.
12539 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
1490f392 12540 fixes.
8b52df45
NP
12541 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
12542
895b2cfe
AJ
125432001-07-18 Andreas Jaeger <aj@suse.de>
12544
12545 * integrate.c (output_inline_function): Correct type of debug_hooks.
12546
493efd37
TM
125472001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
12548
12549 * combine.c (combine_simplify_rtx): DIV can be treated
12550 associatively for floats if unsafe math optimisations are enabled.
12551
a7c07f1e
RH
125522001-07-17 Richard Henderson <rth@redhat.com>
12553
12554 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
12555
3affaf29
RH
125562001-07-17 Richard Henderson <rth@redhat.com>
12557
12558 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
12559 don't force the function address into a register.
12560 (expand_call, emit_library_call_value_1): Update callers.
12561 * builtins.c (expand_builtin_apply): Likewise.
12562 * expr.h (prepare_call_address): Update decl.
12563
001da62a
CC
125642001-07-17 Chandrakala Chavva <cchavva@redhat.com>
12565
3affaf29
RH
12566 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
12567 config directory.
12568 * config/i386/chorus.h: Move up.
12569 * config/sparc/chorus.h: Likewise.
12570 * config/rs6000/chorus.h: Likewise.
12571 * config/chorus.h: Moved here.
001da62a 12572
01efb963 125732001-07-17 Andreas Schwab <schwab@suse.de>
895b2cfe 12574
2ea792c2
JJ
12575 * configure.in (assembler eh_frame optimization): Handle big
12576 endian.
12577 * configure: Regenerated.
01efb963 12578
b7e9703c
JH
12579Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
12580
12581 * expr.c (epxand_expr): Convert divisions into multiplications by
12582 reciprocals if -ffast-math.
12583
653e276c
NB
125842001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
12585
12586 * dbxout.c (dbxout_really_begin_function): Rename to
12587 dbxout_begin_function.
12588 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12589 (dbxout_begin_function): Remove.
12590 (dbxout_function): Update.
12591 (dbxout_source_line): Update prototype.
12592 * dbxout.h (dbxout_begin_function): Remove.
12593 * debug.c (do_nothing_debug_hooks): Update.
12594 (debug_nothing_tree): Update.
12595 (debug_nothing_charstar_rtx): Remove.
12596 * debug.h (union tree_node): Declare.
12597 (struct rtx_def): Remove.
12598 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
12599 begin_function. Change source_line prototype.
12600 (debug_nothing_tree): New.
12601 (debug_nothing_charstar_rtx): Delete.
12602 (dwarf2out_begin_prologue): Moved from ...
12603 * tree.h: ... here.
12604 * dwarf2out.c (dwarf2_debug_hooks): Update.
12605 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
12606 debug info, call dwarf2out_source_line.
12607 (dwarf2out_souce_line): Update prototype.
12608 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
12609 Change prototype, make static.
12610 (dwarfout_source_line): Update prototype.
12611 (dwarf_debug_hooks): Update.
12612 * dwarfout.h (dwarfout_begin_function): Remove.
12613 * final.c (final_start_function, final_scan_insn): Use appropriate
12614 debug hooks, update to use notice_source_line.
12615 (output_source_line): Rename notice_source_line. Don't call the
12616 source_line debug hook.
12617 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
12618 make static, update prototype.
12619 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
12620 prototype.
12621 (sdbout_end_prologue): New.
12622 (sdbout_source_line): Update prototype.
12623 (sdbout_debug_hooks): Update.
12624 (sdbout_symbol): Remove unused var.
12625 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
12626 Delete.
12627 * varasm.c: Include debug.h.
12628 (assemble_start_function): Use begin_function debug_hook.
12629 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12630 update with prototype.
12631 (xcoffout_source_line): Update prototype.
12632 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12633 update prototype.
12634 (xcoffout_source_line): Update prototype.
12635
91a18fe0
RH
126362001-07-17 Richard Henderson <rth@redhat.com>
12637
12638 * c-typeck.c (build_binary_op): Do not shorten unsigned
12639 right shift after sign extension.
12640
4ba5f925
JH
12641Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
12642
12643 * combine.c (combine_simplify_rtx): Attempt to simplify
12644 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
12645
12646 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
12647 (simplify_binary_operation, simplify_unary_operation,
12648 simplify_relational_operation): Use it.
12649
12650 * combine.c (combine_simplify_rtx): Don't do associative law
12651 on divisions; allow associative law on floats.
12652
3aa8ab7b
L
126532001-07-17 H.J. Lu <hjl@gnu.org>
12654 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12655
12656 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
12657 ASM_OUTPUT_WEAK_ALIAS are defined.
12658 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
12659 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
12660 Moved ...
12661 * config/mips/iris5.h: ... here.
12662 (HANDLE_SYSV_PRAGMA): Defined as 1.
12663 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
12664 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
12665 symbol.
12666
4b01f8d8
JM
126672001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
12668
12669 * c-parse.in (all_prefix_attributes): New variable.
12670 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
12671 (maybe_resetattrs): New production.
12672 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
12673 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
12674 notype_initdcl, nested_function, notype_nested_function,
12675 component_decl, components, components_notype,
12676 component_declarator, component_notype_declarator,
12677 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
12678 ivars, mydecl, myparm): Update. Avoid prefix attributes just
12679 after a comma being applied to more than one declarator.
12680 * doc/extend.texi (Attribute Syntax): Update. Remove
12681 documentation of bugs that are no longer present.
12682
7a38df19
EC
126832001-07-13 Eric Christopher <echristo@redhat.com>
12684
12685 * config/mips/mips.h: Change TUNE_MIPS* options to use
12686 mips_tune.
12687 (EXTRA_SPECS): Add cc1_cpu_spec.
12688 * config/mips/mips.md (muldf3): Fix typo.
12689
6d5f49b2
RH
126902001-07-16 Richard Henderson <rth@redhat.com>
12691
12692 * config/m68k/m68k.c: Include expr.h and reload.h.
12693 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
12694 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
12695
0021de69
DB
126962001-07-16 Daniel Berlin <dan@cgsoftware.com>
12697 Richard Henderson <rth@redhat.com>
12698
12699 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
12700 (insn_live_p): Fix fall off end of function.
12701 (dead_libcall_p): Remove COUNTS argument; update callers.
12702 (delete_trivially_dead_insns): Remove unused variables.
12703
b3bb6456
AJ
127042001-07-17 Andreas Jaeger <aj@suse.de>
12705
12706 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
12707 x86-64 pic support.
12708
12709 * lcm.c (optimize_mode_switching): Avoid warning for unused
51589632 12710 variable if !NORMAL_MODE.
b3bb6456
AJ
12711
12712 * flow.c (try_crossjump_to_edge): Remove unused variable.
12713
55105156
BK
127142001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
12715
12716 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
12717 atexit declaration in stdlib.h.
12718
127192001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
12720
12721 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
12722
4793dca1
JH
12723Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
12724
12725 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
12726 * except.c (finish_eh_generation): Update call of cleanup_cfg;
12727 do rebuild_jump_labels instead of jump_optimize
12728 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
12729 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
12730 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
12731
12732 * flow.c: Include timevar.h
12733 (find_basic_block): Push/pop timevar;
12734 (cleanup_cfg): Likewise.
12735 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
12736 * Makefile: Add dependencies on timevar.h
12737
12738 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
12739 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
12740
12741 * rtl.h (delete_trivially_dead_insns): Add new parameter.
12742 * toplev.c (rest_of_compilation): Update calls.
12743 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
12744 (delete_trivially_dead_insns): ... here; accept new argument
12745 preserve_basic_blocks; preserve basic blocks if set.
12746
12747 * reg-stack.c (stack_regs_mentioned): Return 0 if
12748 stack_regs_mentioned_data is not initialized.
12749 (reg_to_stack): Make stack_regs_mentioned survive after the
12750 reg-stack is completted; do not call cleanup_cfg.
12751 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
12752 make cleanup_cfg after bb-reorder to output to debug file.
12753
b85946fc
RH
127542001-07-16 Richard Henderson <rth@redhat.com>
12755
12756 * regclass.c (init_reg_sets): Use only 32 bits per initializer
12757 from int_reg_class_contents.
12758
4e2db584
RH
127592001-07-16 Richard Henderson <rth@redhat.com>
12760
12761 * hard-reg-set.h (regs_invalidated_by_call): Declare.
12762 * regclass.c (regs_invalidated_by_call): Move from cse.c.
12763 (init_reg_sets_1): Move initialization from cse_main.
12764 * cse.c (regs_invalidated_by_call): Move to regclass.c.
12765 (cse_main): Move its initialization also.
12766 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
12767 * flow.c (propagate_one_insn): Likewise.
12768 * gcse.c (compute_hash_table): Likewise.
12769 (compute_kill_rd, compute_store_table): Likewise.
12770 * sched-deps.c (sched_analyze_1): Likewise.
12771
cccf0ae8
R
12772Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
12773
12774 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
12775 gen_rtx_SET.
12776
94fc7dea
SE
127772001-07-16 Steve Ellcey <sje@cup.hp.com>
12778
12779 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
12780 in if statement so we don't access undefined memory.
12781
978cf2fc
DB
127822001-07-16 Daniel Berlin <dan@cgsoftware.com>
12783
b3bb6456 12784 * gcse.c: Update comment at top.
ccef9ef5
DB
12785 Update comment on mem handling.
12786 mem_last_set, mem_first_set, mem_set_in_block: gone.
12787 Declaration of reg_set_info: gone.
12788 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
12789 pointless with load_killed_in_block_p (they are *more*
12790 conservative then it, not less, and less accurate).
b3bb6456 12791 (oprs_not_set_p): Ditto.
ccef9ef5
DB
12792 (alloc_gcse_mem): Don't allocate mem_set_in_block
12793 (free_gcse_mem): Don't free it, either.
12794 (record_last_mem_set_info): Update comment in front, remove
12795 mem_*set_* stuff. Note the reason we don't handle stores directly
12796 here.
12797 (compute_hash_table): Update comments to reflect reality. Remove
12798 mem_*set_* references.
12799 (reset_opr_set_tables): Remove mem_*set_* references.
12800 (mark_call): Ditto.
b3bb6456 12801 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
ccef9ef5
DB
12802 (mark_clobber): Ditto (on both parts, we double set here too).
12803 (expr_killed_p): Remove mem_set_in_block test.
12804 (compute_transp): Remove mem_set_in_block test.
12805
978cf2fc 12806 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
b3bb6456 12807 of edge, and removal of phi alternative to dump file.
978cf2fc
DB
12808 (ssa_ccp_substitute_constants): Add note about register now being
12809 constant, and which uses were replaced in what insns to dump file.
12810
23190837
AJ
128112001-07-16 Andreas Jaeger <aj@suse.de>
12812
12813 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
12814 variables of type HOST_WIDEST_INT.
12815
12816 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
12817 (__bb_exit_func): Correct type of count_max to avoid overflow.
12818 (num_digits): Handle long long argument.
12819
12820 * combine.c (gen_lowpart_for_combine): Remove unused variable.
12821
f4dc8d96
NB
128222001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12823
12824 * output.h (sdb_begin_function_line): Restore as an extern
12825 variable.
12826 * sdbout.c (sdb_begin_function_line): Make extern.
12827
9e9f3ede
RH
128282001-07-15 Richard Henderson <rth@redhat.com>
12829
12830 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
12831 * genrecog.c (maybe_both_true_mode): New.
12832 (maybe_both_true_2): Use it.
12833 (write_switch): Don't put Pmode in a switch.
12834 * rtl.c (mode arrays): Don't explicitly size them.
12835
22fb740d
JH
12836Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
12837
12838 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
12839 handling; move unconditional splitting before mode switching.
12840
12841 * i386.md (type): Add fistp type.
12842 (i387, length_attr, scheduling definitions): Handle this type.
12843 (fix_trunc?f?i2): Revamp to use mode switching.
12844 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
12845 * i386.h (fp_cw_mode): New enum
12846 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
12847 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
12848
135d50f1
RK
12849Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12850
12851 * Makefile.in (integrate.o): Add debug.h.
12852 * integrate.c (debug.h): Add.
12853 (output_inline_function): Save, reset, and restore debug_hooks.
12854
b762a0ef
RH
128552001-07-15 Richard Henderson <rth@redhat.com>
12856
12857 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
12858 instead of COMPARE for the EQUIV expression.
12859
c319629b
RH
128602001-07-15 Richard Henderson <rth@redhat.com>
12861
12862 * flow.c (redirect_edge_and_branch_force): Initialize
12863 global_live_at_start and global_live_at_end.
12864 (allocate_bb_life_data): Export.
12865 * basic-block.h (allocate_bb_life_data): Declare.
12866 * toplev.c (rest_of_compilation): Call it.
12867
25e21aed
RH
128682001-07-15 Richard Henderson <rth@redhat.com>
12869
12870 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
12871 (alpha_tablejump_best_label): New.
12872 * config/alpha/alpha-protos.h: Declare them.
12873 * config/alpha/alpha.md: Use braced strings for code blocks.
12874 (tablejump_osf): Break out add with r29.
12875 (tablejump_osf_internal): Remove.
12876 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
12877 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
12878
03598dea
JH
12879Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
12880
12881 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
12882 of the movable.
12883
12884 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
12885
12886 * i386-protos.h (ix86_split_fp_branch): Update prototype.
12887 (ix86_fp_jump_nontrivial_p): New.
12888 * i386.md (fp_jcc_?): Update call of split_fp_branch;
12889 use ix86_fp_jump_nontrivial_p.
12890 * i386.c (ix86_fp_jump_nontrivial_p): New.
12891 (ix86_split_fp_branch): Accept code instead of rtx.
12892 (ix86_expand_compare): Expand comparison early in case
12893 doing so is resonably cheap.
12894
b8313db6
NC
128952001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
12896
12897 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
12898 not 'machine'.
12899 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
12900 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
12901
e2a12aca
NB
129022001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
12903
12904 * dbxout.c (dbxout_source_line): Make static, update prototype.
12905 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
12906 (dbxout_init, dbxout_finish, dbxout_source_line,
12907 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
12908 * dbxout.h (dbxout_source_line): Delete.
12909 * debug.c (debug_nothing_file, debug_nothing_file_int,
12910 debug_nothing_file_charstar_rtx): New.
12911 (do_nothing_debug_hooks): Update.
12912 (debug_nothing_void, debug_nothing_charstar_rtx,
12913 dwarf2out_end_epilogue): New.
12914 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12915 * debug.h (struct rtx_def): Declare.
12916 (gcc_debug_hooks): New hooks source_line, end_epilogue
12917 and end_function.
12918 (debug_nothing_void, debug_nothing_charstar_rtx,
12919 dwarf2out_end_epilogue): New.
12920 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12921 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
12922 (dwarf2_debug_hooks): Update.
12923 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
12924 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
12925 * dwarf2out.h (dwarf2out_source_line): Remove.
12926 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
12927 Make static, update prototype.
12928 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
12929 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
12930 (dwarf_debug_hooks): Update.
12931 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
12932 dwarfout_end_function): Remove.
12933 * final.c (profile_function): Use debug hooks for ending functions
12934 and epilogues.
12935 (output_source_line, final_end_function): Update prototype,
12936 use debug hooks.
12937 (final_start_function, final_scan_insn): Update.
12938 * output.h (sdb_begin_function_line): Remove.
12939 (final_end_function): Update prototype.
12940 * sdbout.c (sdb_begin_function_line): Make static.
12941 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
12942 (sdbout_source_line): New.
12943 (sdbout_end_epilogue, sdbout_end_function): Make static, update
12944 prototypes.
12945 (sdb_debug_hooks): Update.
12946 (sdbout_init, sdbout_source_line,
12947 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
12948 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
12949 * toplev.c (compile_file, rest_of_compilation): Update.
12950 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
12951 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
12952 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
12953 Update for prototype changes.
12954 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
12955 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
12956
be7b80f4
RH
129572001-07-15 Richard Henderson <rth@redhat.com>
12958
12959 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
12960 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
12961 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
12962 * config/alpha/alpha.c: Likewise.
12963 * config/alpha/alpha.md: Likewise.
12964 * config/alpha/alpha32.h: Likewise.
12965 * config/alpha/vms.h: Likewise.
12966 (OPEN_VMS): Remove.
12967
736f566a
RH
129682001-07-14 Richard Henderson <rth@redhat.com>
12969
12970 * config/alpha/alpha.md: Use define_constants for unspec values.
12971 Substitute throughout.
12972
e6290e74
TJ
129732001-07-14 Tim Josling <tej@melbpc.org.au>
12974
12975 * tree.def (EXPON_EXPR) remove. Never supported anyway.
12976
3794967f
JDA
129772001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
12978
12979 * pa.md: Remove unused constraints from define_split's.
12980
35cbdf6f
RH
129812001-04-14 Richard Henderson <rth@redhat.com>
12982
12983 * ifcvt.c (find_cond_trap): Test for exit block.
12984
1e5fd094
JH
12985Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
12986
12987 Re-install recently reverted patch.
12988 * emit-rtl.c (try_split): Update mark_jump_label call.
12989 * flow.c (find_sub_basic_blocks): Likewise.
12990 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
12991 jump_back_p): Kill.
12992 (mark_all_labels): Kill second parameter.
12993 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
12994 (rebuild_jump_labels, jump_optimize_minimal): Update call
12995 of jump_optimize_1.
12996 (jump_optimize_1): Kill crossjumping code.
12997 (mark_jump_label): Kill cross_jump parameter.
12998 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
12999 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13000 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13001 splitting.
13002 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13003 DFI_bpro.
13004 (dump_file_info): Likewise.
13005 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13006 reorganize passes to do reg-stack first, bb-reorder second.
13007 * invoke.texi (-d letters doc): Remove the jump2 pass.
13008
999c0669
RH
130092001-07-14 Richard Henderson <rth@redhat.com>
13010
13011 * ifcvt.c (find_cond_trap): New.
13012 (find_if_header): Call it.
13013 (merge_if_block): Relax existing jump sanity check.
13014 * jump.c (jump_optimize_1): Remove conditional trap handling.
13015
7d8b1412
AM
130162001-07-14 Alan Modra <amodra@bigpond.net.au>
13017
13018 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
13019 millicode.
13020 (insn_refs_are_delayed): Correct comment.
13021 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
13022 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
13023 instead of r31. Make associated insn !TARGET_64BIT, and
13024 provide an additional 64-bit insn that clobbers r2.
13025 (divsi3): Likewise.
13026 (udivsi3): Likewise.
13027 (modsi3): Likewise.
13028 (umodsi3): Likewise.
13029
1ed672dd
JH
13030Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
13031
13032 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
13033
13034 * flow.c (redirect_edge_and_branch_force, split_edge,
13035 try_crossjump_to_edge): Use set_block_for_new_insns.
13036 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
13037
c51f3aa1
L
130382001-07-13 H.J. Lu (hjl@gnu.org)
13039
13040 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
13041 the correct patch.
13042
ca18be57
GK
130432001-07-13 Geoffrey Keating <geoffk@redhat.com>
13044
13045 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
13046
59387d2e
JM
130472001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
13048
13049 * c-common.c (decl_attributes): Take a pointer to the node to
13050 which attributes are to be attached, and a flags argument.
13051 * c-common.h (enum attribute_flags): New.
13052 (decl_attributes): Update prototype.
13053 * c-decl.c (start_decl, push_parm_decl, finish_struct,
13054 finish_enum, start_function): Update calls to decl_attributes.
13055 * c-parse.in (component_declarator, component_notype_declarator,
13056 label): Update calls to decl_attributes.
13057
48ccfb40
DC
13058Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
13059
13060 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
13061 * config/avr/avr.c (legitimate_address_p): Return value changed
13062 from letter to register classes. For better debugging.
13063
5a4aeb03
KH
130642001-07-13 Kazu Hirata <kazu@hxi.com>
13065
13066 * jump.c (reversed_comparison_code_parts): Fix comment typos.
13067
92e78e59
L
130682001-07-13 H.J. Lu (hjl@gnu.org)
13069
13070 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
13071
f1cf4606
ME
130722001-07-13 Marc Espie <espie@cvs.openbsd.org>
13073
13074 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
13075 correctly for shared configurations.
13076 * config/t-libgcc-pic: New.
13077 * config/{i386,m68k,sparc}/t-openbsd: New.
13078 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
13079 Support -shared. Support debugging libraries with -g.
13080 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
13081 frame information does not emit pointer diffs.
13082 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
13083 emit pointer diffs.
13084
998d20d2
GK
130852001-07-13 Geoffrey Keating <geoffk@redhat.com>
13086
13087 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
13088
1568d79b
DE
130892001-07-13 David Edelsohn <edelsohn@gnu.org>
13090
13091 * combine.c (try_combine): Ensure const_int pow2 is positive.
13092
9628a767
HP
130932001-07-13 Hartmut Penner <hpenner@de.ibm.com>
13094
23190837
AJ
13095 * config.gcc: Add configuration for s/390.
13096 * config/s390/s390.c: New. Subroutines for code generation.
9628a767
HP
13097 * config/s390/s390.h: New. Definitions for s/390.
13098 * config/s390/s390-protos.h: New. Prototypes.
13099 * config/s390/linux.h: New. Definitions for linux for s/390.
13100 * config/s390/linux64.h: New. Definitions for linux for zSeries.
23190837
AJ
13101 * config/s390/t-linux: New. Makefile fragment.
13102 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
9628a767 13103 * config/s390/fixdfdi.h: New. Fix L_fix*di.
23190837 13104
f3ba35e4
JH
13105Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
13106
13107 * emit-rtl.c (try_split): Update mark_jump_label call.
13108 * flow.c (find_sub_basic_blocks): Likewise.
13109 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13110 jump_back_p): Kill.
13111 (mark_all_labels): Kill second parameter.
13112 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13113 (rebuild_jump_labels, jump_optimize_minimal): Update call
13114 of jump_optimize_1.
13115 (jump_optimize_1): Kill crossjumping code.
13116 (mark_jump_label): Kill cross_jump parameter.
13117 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13118 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13119 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13120 splitting.
13121 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13122 DFI_bpro.
13123 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13124 reorganize passes to do reg-stack first, bb-reorder second.
13125 * invoke.texi (-d letters doc): Remove the jump2 pass.
13126
448d17f9
SE
131272001-07-12 Steve Ellcey <sje@cup.hp.com>
13128
13129 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
13130
6691db8e
JH
13131Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
13132
13133 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
13134 basic blocks.
13135 (verify_flow_info): Make diagnostics prettier.
13136
c35e85f9
JH
13137Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
13138
13139 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
13140
13141 * flow.c (outgoing_edges_match): Return early if condition reversal
13142 failed.
13143
51c6b247
RS
131442001-07-06 Richard Sandiford <rsandifo@redhat.com>
13145
13146 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
13147 (mips_move_2words): When splitting a move into two instructions,
13148 prefix the second address operand with '%D'.
13149
a5a42b92
NB
131502001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
13151
13152 * Makefile.in (final.o): Depend on debug.h.
13153 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
13154 (dbx_debug_hooks): Add new hooks.
13155 (xcoff_debug_hooks): New.
13156 * debug.c (debug_nothing_file_int_int): New.
13157 (do_nothing_debug_hooks): Update.
13158 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
13159 (debug_nothing_file_int_int): New.
13160 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
13161 static, update prototype.
13162 (dwarf2_debug_hooks): Update.
13163 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
13164 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
13165 static, update prototype.
13166 (dwarf_debug_hooks): Update.
13167 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
13168 * final.c: Include debug.h.
13169 (final_scan_insn): Use debug hooks when beginning and ending blocks.
13170 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
13171 static, update prototype.
13172 (sdb_debug_hooks): Update.
13173 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
13174 * toplev.c: Distinguish between xcoff and dbx.
13175
13176 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
13177 Call all debug hooks, not just dwarf ones.
13178
c177db4b
TW
131792001-07-11 Timothy Wall <twall@redhat.com>
13180
4e2db584
RH
13181 * config.gcc: Add configuration for AIX5/IA64.
13182 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
13183 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
c177db4b 13184 support prefix/suffix code.
4e2db584
RH
13185 * config/ia64/t-aix: New. Makefile fragment.
13186 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
c177db4b 13187
4d893612
KH
131882001-07-11 Kazu Hirata <kazu@hxi.com>
13189
13190 * recog.c (validate_change): Fix a comment typo.
13191
7f905405
NB
131922001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
13193
13194 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
13195 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
13196 hooks directly.
13197 * dbxout.c (dbx_debug_hooks): Add new hooks.
13198 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
13199 make static.
13200 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
13201 make static.
13202 * dbxout.h (dbxout_start_new_source_file,
13203 dbxout_resume_previous_source_file): Delete.
13204 * debug.c (do_nothing_debug_hooks): Add new hooks.
13205 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13206 (debug_nothing_int_charstar, debug_nothing_int): New.
13207 * debug.h (gcc_debug_hooks): New hooks define, undef,
13208 start_source_file and end_source_file.
13209 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13210 (debug_nothing_int_charstar, debug_nothing_int): New.
13211 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
13212 the conditionally compiled section.
13213 (dwarf2out_start_source_file, dwarf2out_end_source_file,
13214 dwarf2out_define, dwarf2out_undef): Make static.
13215 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
13216 dwarf2out_define, dwarf2out_undef): Remove.
13217 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
13218 (dwarfout_start_source_file, dwarfout_end_source_file,
13219 dwarfout_define, dwarfout_undef): Make static.
13220 (dwarfout_start_source_file_check,
13221 dwarfout_end_source_file_check): New.
13222 (dwarfout_define, dwarfout_finish): Update.
13223 * dwarfout.h (dwarfout_start_new_source_file,
13224 dwarfout_resume_previous_source_file, dwarfout_define,
13225 dwarfout_undef): Remove.
13226 * sdbout.c (sdb_debug_hooks): Add new hooks.
13227 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
13228 make static.
13229 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
13230 make static, take an arg.
13231 * sdbout.h (sdbout_start_new_source_file,
13232 sdbout_resume_previous_source_file): Delete.
13233 * toplev.c (debug_start_source_file, debug_end_source_file,
13234 debug_define, debug_undef): Delete.
13235 * toplev.h (debug_start_source_file, debug_end_source_file,
13236 debug_define, debug_undef): Delete.
13237
13238 * java/jcf-parse.c: Include debug.h.
13239 (parse_class_file): Update to use debug hooks directly.
13240 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
13241
ba4828e0
RK
13242Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13243
13244 * alias.c (set_mem_alias_set): New function.
13245 * rtl.h (set_mem_alias_set): Declare it.
13246 * builtins.c (expand_builtin_return_addr): Call it instead of
13247 using MEM_ALIAS_SET accessor.
13248 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
13249 (get_memory_rtx, expand_builtin_va_arg): Likewise.
13250 (expand_builtin_va_copy):Likewise.
13251 * caller-save.c (setup_save_areas): Likewise.
13252 * calls.c (compute_argument_addresses): Likewise.
13253 * explow.c (set_mem_attributes): Likewise.
13254 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
13255 (expand_assignment, store_constructor_field, store_field): Likewise.
13256 (expand_expr_unaligned): Likewise.
13257 * function.c (assign_stack_temp_for_type): Likewise.
13258 (put_reg_into_stack, gen_mem_addressof): Likewise.
13259 * ifcvt.c (noce_try_cmove_arith): Likewise.
13260 * reload1.c (reload, alter_reg): Likewise.
13261 * config/alpha/alpha.c (get_aligned_mem): Likewise.
13262 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
13263 (alpha_expand_unaligned_store): Likewise
13264 (alpha_expand_unaligned_load_words): Likewise.
13265 (alpha_expand_unaligned_store_words): Likewise.
13266 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
13267 (alpha_expand_epilogue): Likewise.
13268 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
13269 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
13270 * config/i386/i386.c (legitimize_pic_address): Likewise.
13271 * config/i960/i960.c (setup_incoming_varargs): Likewise.
13272 * config/ia64/ia64.c (spill_restore_mem): Likewise.
13273 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
13274 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
13275 * config/mips/mips.c (mips_va_arg): Likewise.
13276 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
13277 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
13278 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
13279 (setup_incoming_varargs, rs6000_va_arg): Likewise.
13280 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
13281 (rs6000_emit_epilogue): Likewise.
13282 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
13283 * config/sparc/sparc.c (sparc_va_arg): Likewise.
13284 * config/v850/v850.c (v850_va_arg): Likewise.
13285
46fac664
JH
13286Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
13287
13288 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
13289 when fallthru edge is present.
13290 (mege_blocks): Handle case where creation of jump insn
13291 is required.
13292
13293 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
13294 CLEANUP_POST_REGSTACK): New constants.
13295 * except.c (finish_eh_generation): Update call of cleanup_cfg,
13296 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
13297 * output.h (cleanup_cfg): Update prototype.
13298 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
23190837 13299 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
46fac664
JH
13300 cleanup_cfg call; kill missleading comment.
13301 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
13302 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
13303 parameter; control optimizations performed using it.
13304 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
13305 try_crossjump_bb): New functions.
13306
9acc24a5
JDA
133072001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13308
13309 * pa.c (pa_output_function_prologue): Delete prototype. Make function
13310 extern.
13311 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
13312 pa_output_function_prologue.
13313 * pa-protos.h (pa_output_function_prologue): New prototype.
13314
9312aecc
JDA
133152001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13316
13317 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
13318 and low to get correct sign extension in low+high test.
13319
dec2b703
JJ
133202001-07-11 Janis Johnson <janis@us.ibm.com>
13321
4b9664e2
JJ
13322 * gcov.c (arcdata): Use gcov_type to fix branch percentage
13323 for large hit count.
13324
dec2b703
JJ
13325 * profile.c (branch_prob): Fix .bbg info for computed gotos
13326 and C++ EH code.
13327
40b18c0a
MM
133282001-07-11 Mark Mitchell <mark@codesourcery.com>
13329
23190837 13330 * stmt.c (parse_output_constraint): New function, split out
40b18c0a
MM
13331 from ...
13332 (expand_asm_operands): ... here. Use parse_output_constraint.
13333 * tree.h (parse_output_constraint): Declare it.
13334
a615c28a
RH
133352001-07-11 Richard Henderson <rth@redhat.com>
13336
13337 * bitmap.c: Comment some functions; fiddle whitespace.
13338 (bitmap_free): Don't export.
13339 (bitmap_element_allocate): Use memset.
13340 * bitmap.h (bitmap_free): Don't declare.
13341
5a660bff
DB
133422001-07-11 Daniel Berlin <dan@cgsoftware.com>
13343
13344 * gcse.c, lcm.c, sched-deps.c:
13345 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
13346
13347 * flow.c (flow_loops_find): Free dom if we found no loops, since
13348 we aren't going to save it.
13349
13350 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
13351 done.
13352
1a9485cf
JL
13353Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
13354
13355 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
13356
c8383050
RK
13357Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13358
13359 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
13360 #ifndef DWARF2_DEBUGGING_INFO.
13361
bd77ba51
RS
133622001-07-11 Richard Sandiford <rsandifo@redhat.com>
13363
13364 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
13365
b5265b32
RS
133662001-07-11 Richard Sandiford <rsandifo@redhat.com>
13367
13368 * config/mips/mips.c (gen_int_relational): Tell the caller not to
13369 reverse a branch if a NE comparison is implemented with GTU.
13370
b87c8c8c
RS
133712001-07-11 Richard Sandiford <rsandifo@redhat.com>
13372 H.J. Lu <hjl@gnu.org>
13373
13374 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
13375 constant addresses.
13376 (call_internal2): Likewise.
13377 (call_value_internal1): Likewise.
13378 (call_value_internal2): Likewise.
13379 (call_value_multiple_internal1): Likewise.
13380 (call_value_multiple_internal2): Likewise.
13381
0407c02b
KH
133822001-07-10 Kazu Hirata <kazu@hxi.com>
13383
13384 * calls.c (emit_library_call_value_1): Fix a comment typo.
13385 * dwarf2out.c (mem_loc_descriptor): Likewise.
13386 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
13387
a1b2ebc0
DB
133882001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
13389
608fe35b 13390 * simplify-rtx.c (simplify_subreg): Fix typo in comment
a1b2ebc0 13391
07217645
RK
13392Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13393
13394 * recog.c (offsettable_address_p): Handle LO_SUM case.
13395 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
13396 instead of plus_constant.
23190837 13397
91667711
SC
133982001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13399
13400 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
13401 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
13402
d7624dc0
RK
13403Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13404
13405 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
13406 adjust_address_nv instead of plus_constant.
13407
a51d908e
NB
134082001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
13409
13410 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
13411 dwarf2out.o): Depend on debug.h, wrap long lines.
13412 * dbxout.c: Include debug.h.
13413 (dbx_debug_hooks): New.
13414 (dbxout_init): Make static, take just 2 args.
13415 (dbxout_finish): Make static.
13416 * dbxout.h (dbxout_init, dbxout_finish): Delete.
13417 * debug.c: New file.
13418 * debug.h: New file.
13419 * dwarf2out.c: Include debug.h.
13420 (dwarf2_debug_hooks): New.
13421 (dwarf2out_init): Make static.
13422 (dwarf2out_finish): Make static, take 2 args.
13423 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
13424 * dwarfout.c: Include debug.h.
13425 (dwarf_debug_hooks): New.
13426 (dwarfout_init): Make static.
13427 (dwarfout_finish): Make static, take 2 args.
13428 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
13429 * sdbout.c: Include debug.h.
13430 (sdb_debug_hooks): New.
13431 (sdbout_init): Make static, take 2 args.
13432 * sdbout.h (sdbout_init): Delete.
13433 * toplev.c: Include debug.h.
13434 (debug_hooks): New.
13435 (compile_file): Set deubg_hooks based on command line options.
13436 Use the hooks unconditionally rather than conditional compilation.
13437
af5c573a
JL
13438Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
13439
13440 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
13441 first_insn_after_basic_block_note instead.
13442
13443 * df.c (df_bb_refs_unlink): #if 0 out for now.
13444
134452001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
13446
13447 * ssa.h: Add prototype for ssa_const_prop
13448 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
13449 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
13450 (ssa_fast_dce): Remove unused variable
13451
64dfaa76
GDR
134522001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
13453
13454 * diagnostic.c (finish_diagnostic): Rename to
13455 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
13456 calls thourghout.
13457
84db136d
JM
134582001-07-10 Jason Merrill <jason_merrill@redhat.com>
13459
8aaf55ac
JM
13460 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
13461 .loc support.
13462
84db136d 13463 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
23190837 13464 (dump_file): Only pad the demangled name with spaces if the
84db136d
JM
13465 mangled name was padded with spaces.
13466
fd052ec3
BS
134672001-07-10 Bernd Schmidt <bernds@redhat.com>
13468
13469 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
13470 edge detection.
13471
62926f0b
RK
13472Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13473
10c2a453
RK
13474 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
13475 extraction if no direct load if either EXPAND_CONST_ADDRESS or
13476 EXPAND_INITIALIZER.
13477
62926f0b
RK
13478 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
13479 whether can put offset inside LO_SUM to check mode alignment, not size.
13480
acdcefcc
GDR
134812001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
13482
13483 * doc/tm.texi (Misc): Fix thinko.
13484
07167a18
JM
134852001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
13486
13487 * regmove.c (replace_in_call_usage): Fix warnings.
13488 * sched-deps.c (add_dependence): Fix warnings.
13489 * simplify-rtx.c (simplify_subreg): Likewise.
13490 Return NULL_RTX instead of NULL.
13491
13492 * reg-stack.c (emit_swap_insn): Eliminate warnings.
13493 (subst_asm_stack_regs): Likewise.
13494
13495 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
13496 warnings.
13497
13498 * dwarf2out.c (output_call_frame_info): Declare i as int.
13499 (build_abbrev_table): Declare n_alloc as int.
13500 (dwarf2out_finish): Initialize die.
13501 * except.c: Declare sjlj_funcdef_number as unsigned.
13502 (connect_post_landing_pads): Declare j as unsigned.
13503 (convert_to_eh_region_ranges): Initialize call_site.
13504 (output_function_exception_table): Initialize tt_format_size.
13505 * expr.c (move_by_pieces_1): Initialize to1.
13506 (store_constructor): Initialize minelt and maxelt.
13507 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
13508 * function.c (instantiate_decls): Avoid signed/unsigned warning.
13509
13510 * c-decl.c (combine_parm_decls): Unused, remove.
13511 * c-tree.h: Remove prototype for combine_parm_decls.
13512
13513 * reload.c (push_reload): Fix warning.
13514 (regno_clobbered_p): Likewise.
13515 * reload1.c (replace_pseudos_in_call_usage): Likewise.
13516 (reload_combine): Likewise.
13517
13518 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
13519 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
13520 warnings.
13521 * bitmap.c (bitmap_operation): Change user.
13522 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
13523
4608d36c
EC
135242001-07-10 Eric Christopher <echristo@redhat.com>
13525
13526 * config/mips/mips.c (override_options): Fix typo.
13527
f6155fda
SS
135282001-07-09 Stan Shebs <shebs@apple.com>
13529
13530 * target.h (struct gcc_target): New fields init_builtins and
13531 expand_builtin.
13532 * target-def.h (TARGET_INIT_BUILTINS): New macro.
13533 (TARGET_EXPAND_BUILTIN): New macro.
13534 (TARGET_INITIALIZER): Add them.
13535 * builtins.c: Include target.h.
13536 (expand_builtin): Use targetm.expand_builtin.
13537 (default_init_builtins): New function.
13538 (default_expand_builtin): New function.
13539 * expr.h (default_init_builtins): Declare.
13540 (default_expand_builtin): Declare.
13541 * c-common.c (c_common_nodes_and_builtins): Use
13542 targetm.init_builtins.
13543 * defaults.h (MD_INIT_BUILTINS): Remove.
13544 * Makefile.in (builtins.o): Depend on target.h.
13545
13546 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
13547 (TARGET_EXPAND_BUILTIN): Define.
13548 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
13549 (MD_EXPAND_BUILTIN): Remove.
13550
13551 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
13552 (TARGET_EXPAND_BUILTIN): Define.
13553 (c4x_init_builtins): Make endlink arg a local.
13554 (c4x_print_operand): Fix typos in adjust_address usages.
13555 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
13556 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
13557 (MD_EXPAND_BUILTIN): Remove.
13558
13559 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
13560 (TARGET_EXPAND_BUILTIN): Define.
13561 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
13562 (ix86_init_builtins): Call new function only if TARGET_MMX.
13563 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
13564 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
13565 (MD_EXPAND_BUILTIN): Remove.
13566
13567 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
13568 (TARGET_EXPAND_BUILTIN): Define.
13569 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
13570 (MD_EXPAND_BUILTIN): Remove.
13571
13572 * doc/tm.texi: Document these changes.
13573
2b1d9dc0
DN
135742001-07-09 Diego Novillo <dnovillo@redhat.com>
13575
13576 * basic-block.h (tree_node): Forward declare if needed.
13577 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
13578 (BLOCK_HEAD_TREE): Define.
13579 (BLOCK_END_TREE): Define.
13580 (struct loops): Rename field 'tree' to 'tree_root'.
4608d36c 13581 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
2b1d9dc0
DN
13582 'end_tree'.
13583 (flow_loops_tree_build): Rename reference to field 'tree' to
13584 'tree_root'.
13585 (flow_loops_level_compute): Ditto.
13586 * predict.c (estimate_bb_frequencies): Ditto.
13587 * tree.h (struct tree_common): Add field 'aux'.
13588
70bdc2ff
SS
135892001-07-09 Stan Shebs <shebs@apple.com>
13590
13591 * config/darwin.c (darwin_encode_section_info): Don't mark any
13592 DECL_EXTERNAL node as defined.
13593
d777856d
JDA
135942001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
13595
13596 * pa.c (pa_init_machine_status, pa_mark_machine_status,
13597 pa_free_machine_status, hppa_init_pic_save): Delete.
13598 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
13599 (hppa_profile_hook): Use hppa_pic_save_rtx.
13600 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
13601 hppa_init_pic_save): Delete.
13602 (hppa_pic_save_rtx): Declare.
13603 * pa.md (call, call_value, sibcall, sibcall_value,
13604 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
13605
aa3c0d59
KH
136062001-07-09 Kazu Hirata <kazu@hxi.com>
13607
13608 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
13609 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
13610
af076e58
AJ
136112001-07-09 Andreas Jaeger <aj@suse.de>
13612
13613 * output.h: Add declaration of final_forward_branch_p.
13614
13615 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
13616
13617 * varray.c: Include errors.h for internal_error and trim_filename
13618 declarations.
13619
13620 * Makefile.in (varray.o): Add errors.h.
13621
fb7e77d7
TM
136222001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
13623
13624 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
13625 * optabs.c (have_add2_insn): Check whether the add insn chosen
13626 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
13627 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
13628
0b47e4c1
JL
13629Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
13630
13631 * Makefile.in (OBJS): Add ssa-ccp.o
13632 (ssa-ccp.o): Add dependencies.
13633 * toplev.c (DFI_ssa_ccp): New dump file enum.
13634 (dump_file): Add entry for dumping after SSA CCP.
13635 (flag_ssa_ccp): New flag variable.
13636 (f_options): Add -fssa-ccp.
13637 (rest_of_compilation): Run SSA CCP if requested.
13638 * timevar.def (TV_SSA_CCP): New timevar.
13639 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
13640 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
13641 Fix minor typo in SSA DCE documentation.
13642 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
13643 Add documentation for new dump option. Renumber dump files
13644 appropriately.
13645
5222e470
JH
13646Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
13647
13648 * emit-rtl.c (gen_highpart_mode): New.
13649 * rtl.h (gen_highpart_mode): Declare.
13650 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
13651 operand can be VOIDmode constant.
13652
2b2c8b3e
JH
13653Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
13654
13655 * flow.c (redirect_edge_and_branch_force): New.
13656 (can_fallthru): Ensure that basic blocks are succeeding.
13657 (try_optimize_cfg): Do not delete basic block if it is the last one.
13658
13659 * flow.c (try_redirect_by_replacing_jump): Do not remove
13660 jumps with side effects, unlink chain on fallthru edge;
13661 set block for new jump instruction; avoid basic block to
13662 over by line number note.
13663
13664 * flow.c (try_simplify_condjump): Verify that the condjump
f5143c46 13665 is not always falling through.
2b2c8b3e
JH
13666
13667 Re-install patch:
13668 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13669
13670 * flow.c (forwarder_block_p): Fix for fallthru blocks.
13671 (try_redirect_by_replacing_jump): Update properly the count
13672 and frequency information.
13673
60a97cd4
RK
13674Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13675
823e3574
RK
13676 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
13677 address that is a LO_SUM specially.
13678 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
13679
60a97cd4
RK
13680 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
13681
13682 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
13683 (operand_subword): Use them.
13684 (change_address_1): Renamed from change_address; new arg VALIDATE.
13685 * expr.h: Reflect above changes; change_address now macro.
13686 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
13687 making MEM.
13688 * cselib.c (add_mem_for_addr): Likewise.
13689 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
13690 * regmove.c (try_apply_stack_adjustment): Likewise.
13691 * reload.c (push_reload, make_memloc): Likewise.
13692 * reload1.c (eliminate_regs): Likewise.
13693 * simplify-rtx.c (simplify_replace_rtx): Likewise.
13694 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
13695 adjust_addess.
13696 * combine.c (make_extraction, simplify_shift_const): Likewise.
13697 (gen_lowpart_for_combine): Likewise.
13698 * cse.c (gen_lowpart_if_possible): Likewise.
13699 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
13700 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
13701 * optabs.c (gen_move_insn): Likewise.
13702 * reload1.c (alter_reg): Likewise.
13703 * simplify-rtx.c (simplify_subreg): Likewise.
13704 * stmt.c (expand_anon_union_decl): Likewise.
13705 * recog.c (validate_replace_rtx_1): Likewise.
13706 (expr.h): Include.
13707 * Makefile.in (recog.o): Add $(EXPR_H).
13708 * explow.c (stabilize): Call replace_equiv_address.
13709 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
13710 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
13711
053a35af
AH
137122001-07-03 Andrew Haley <aph@redhat.com>
13713
13714 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
13715 the mode of the memory location.
13716
db42058b
BT
137172001-07-09 Bo Thorsen <bo@suse.co.uk>
13718
13719 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
13720
17b53c33
NB
137212001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
13722
13723 * final.c (output_addr_const): Use target opening and
13724 closing parentheses.
13725 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
13726 defaults, add to TARGET_ASM_OUT.
13727 * target.h (struct gcc_target): Add open_paren and close_paren.
13728 * doc/md.texi: Update.
13729 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
13730 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
13731 TARGET_ASM_CLOSE_PAREN.
60a97cd4 13732 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 13733 Override.
60a97cd4 13734 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 13735 Override.
60a97cd4
RK
13736 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
13737 * config/a29k/a29k.h: Similarly.
13738 * config/alpha/alpha.h: Similarly.
13739 * config/arc/arc.h: Similarly.
13740 * config/arm/aof.h: Similarly.
13741 * config/arm/aout.h: Similarly.
13742 * config/avr/avr.h: Similarly.
13743 * config/c4x/c4x.h: Similarly.
13744 * config/clipper/clipper.h: Similarly.
13745 * config/convex/convex.h: Similarly.
13746 * config/d30v/d30v.h: Similarly.
13747 * config/dsp16xx/dsp16xx.h: Similarly.
13748 * config/elxsi/elxsi.h: Similarly.
13749 * config/fr30/fr30.h: Similarly.
13750 * config/h8300/h8300.h: Similarly.
13751 * config/i370/i370.h: Similarly.
13752 * config/i386/i386.h: Similarly.
13753 * config/i860/i860.h: Similarly.
13754 * config/i960/i960.h: Similarly.
13755 * config/ia64/ia64.h: Similarly.
13756 * config/m32r/m32r.h: Similarly.
13757 * config/m68hc11/m68hc11.h: Similarly.
13758 * config/m68k/m68k.h: Similarly.
13759 * config/m88k/m88k.h: Similarly.
13760 * config/mcore/mcore.h: Similarly.
13761 * config/mips/mips.h: Similarly.
13762 * config/mn10200/mn10200.h: Similarly.
13763 * config/mn10300/mn10300.h: Similarly.
13764 * config/ns32k/ns32k.h: Similarly.
13765 * config/pa/pa.h: Similarly.
13766 * config/pdp11/pdp11.h: Similarly.
13767 * config/pj/pj.h: Similarly.
13768 * config/romp/romp.h: Similarly.
13769 * config/rs6000/rs6000.h: Similarly.
13770 * config/sh/sh.h: Similarly.
13771 * config/sparc/sparc.h: Similarly.
13772 * config/v850/v850.h: Similarly.
13773 * config/vax/vax.h: Similarly.
13774 * config/we32k/we32k.h: Similarly.
17b53c33 13775
b41df7f6
JM
137762001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
13777
13778 * doc/c-tree.texi: Document representation of attributes.
13779
648c546a
JM
137802001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
13781
13782 * doc/tm.texi: Update some places for the rename of target to
13783 targetm. Fix typo.
13784
12a68f1f
JM
137852001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
13786
13787 * target.h (struct gcc_target): Add insert_attributes.
13788 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
13789 (TARGET_INITIALIZER): Update.
13790 * tree.c, tree.h (default_insert_attributes): New function.
13791 Update comments on other default functions to refer to targetm,
13792 not target.
13793 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
13794 TARGET_INSERT_ATTRIBUTES.
13795 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
13796 * c-common.c (decl_attributes): Use targetm.insert_attributes.
13797 Don't use PRAGMA_INSERT_ATTRIBUTES.
13798 * Makefile.in (c-common.o): Depend on $(TARGET_H).
13799 * c-decl.c (start_decl, start_function): Don't call
13800 SET_DEFAULT_DECL_ATTRIBUTES.
13801 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13802 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
13803 declare.
13804 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
13805 (c4x_check_attribute): Avoid modifying attribute list itself.
13806 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
13807 Make static.
13808 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
13809 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
13810 declare.
13811 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
13812 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
13813 Make static.
13814 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13815 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
13816 declare.
13817 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
13818 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
13819 Adjust parameters. Make static.
13820
f7a4cec0
JM
138212001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
13822
13823 * c-common.c (decl_attributes): Only take a single attributes
13824 parameter.
13825 * c-common.h (decl_attributes): Update prototype.
13826 * c-decl.c (start_decl, start_function): Only take a single
13827 attributes parameter. Update calls to decl_attributes.
13828 (finish_struct, finish_enum): Update calls to decl_attributes.
13829 (push_parm_decl): Expect unified list of attributes. Update call
13830 to decl_attributes.
13831 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
13832 notype_nested_function, component_declarator,
13833 component_notype_declarator, label): Update calls to
13834 decl_attributes.
13835 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
13836 lists that are passed to push_parm_decl.
13837 * c-tree.h (start_function, start_decl): Update prototypes.
13838 * config/sh/sh-protos.h, config/sh/sh.c
13839 (sh_pragma_insert_attributes): Only take a single attributes
13840 parameter.
13841 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
13842 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
13843 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
13844 build_module_descriptor, generate_static_references,
13845 generate_strings, build_selector_translation_table,
13846 generate_descriptor_table, generate_protocols,
13847 generate_ivars_list, generate_dispatch_table,
13848 generate_protocol_list, generate_category,
13849 generate_shared_structures, really_start_method, add_objc_decls,
13850 generate_classref_translation_entry): Update calls to start_decl
13851 and start_function.
13852 (build_tmp_function_decl, start_method_def): Unify attribute lists
13853 that are passed to push_parm_decl.
13854
b4c25db2
NB
138552001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
13856
13857 * final.c (no_asm_to_stream): New.
13858 (final_scan_insn): Use target structures for prologue ends
13859 and epilogue starts.
13860 * output.h (no_asm_to_stream): New.
13861 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
13862 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
13863 (TARGET_ASM_OUT): Update.
13864 * target.h (struct gcc_target): New members function_end_prologue
13865 and function_begin_epilogue.
60a97cd4
RK
13866 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
13867 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
13868 * config/alpha/alpha.c (output_end_prologue): Rename to
b4c25db2
NB
13869 alpha_output_function_end_prologue. Use in target struct
13870 and make static.
60a97cd4
RK
13871 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
13872 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
13873 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
b4c25db2
NB
13874 ia64_output_function_end_prologue. Use in target struct
13875 and make static.
13876 (ia64_function_prologue, ia64_funciton_epilogue): Rename
13877 mistyped prototypes.
60a97cd4
RK
13878 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
13879 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
13880 Delete.
13881 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
b4c25db2 13882 an use in target struct, make static.
60a97cd4
RK
13883 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
13884 Delete.
b4c25db2 13885
45c8268d
RH
138862001-07-08 Richard Henderson <rth@redhat.com>
13887
13888 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
13889
d5d6a58b
RH
138902001-07-08 Richard Henderson <rth@redhat.com>
13891
13892 * config/i386/i386.md: Remove constraints strings from define_split
13893 and define_peephole2 patterns.
13894 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
13895 (eh_return): Use them.
13896
7c16328b
RH
138972001-07-08 Richard Henderson <rth@redhat.com>
13898
13899 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
13900 Document MD_FALLBACK_FRAME_STATE_FOR.
13901
8dd5d49d
SC
139022001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13903
13904 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
13905 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
13906 elimination.
13907 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
13908
13daf3c1
NC
139092001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
13910
13911 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
13912 of the label inside NAME as opposed to just the end of NAME.
13913
8289c43b
NB
139142001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
13915
13916 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
13917 * config/alpha/alpha.c (alpha_init_machine_status,
13918 alpha_mark_machine_status, alpha_free_machine_status): Delete.
13919 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
13920 (vms_valid_decl_attribute_p): Make static, conditionally compile.
13921 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
13922
f6897b10
SS
139232001-07-06 Stan Shebs <shebs@apple.com>
13924
13925 * target.h (targetm): Rename global from "target", so as not to
13926 conflict with local variables.
13927 * c-decl.c: Ditto.
13928 * c-typeck.c: Ditto.
13929 * final.c: Ditto.
13930 * tree.c: Ditto.
13931 * cp/decl.c: Ditto.
13932 * cp/decl2.c: Ditto.
13933 * cp/typeck.c: Ditto.
13934 * 1750a/1750a.c: Ditto.
13935 * a29k/a29k.c: Ditto.
13936 * arc/arc.c: Ditto.
13937 * arm/arm.c: Ditto.
13938 * avr/avr.c: Ditto.
13939 * clipper/clipper.c: Ditto.
13940 * convex/convex.c: Ditto.
13941 * d30v/d30v.c: Ditto.
13942 * dsp16xx/dsp16xx.c: Ditto.
13943 * elxsi/elxsi.c: Ditto.
13944 * fr30/fr30.c: Ditto.
13945 * h8300/h8300.c: Ditto.
13946 * i370/i370.c: Ditto.
13947 * i386/i386.c: Ditto.
13948 * i860/i860.c: Ditto.
13949 * i960/i960.c: Ditto.
13950 * ia64/ia64.c: Ditto.
13951 * m32r/m32r.c: Ditto.
13952 * m68hc11/m68hc11.c: Ditto.
13953 * m68k/m68k.c: Ditto.
13954 * m88k/m88k.c: Ditto.
13955 * mips/mips.c: Ditto.
13956 * ns32k/ns32k.c: Ditto.
13957 * pa/pa.c: Ditto.
13958 * pdp11/pdp11.c: Ditto.
13959 * romp/romp.c: Ditto.
13960 * rs6000/rs6000.c: Ditto.
13961 * sh/sh.c: Ditto.
13962 * sparc/sparc.c: Ditto.
13963 * vax/vax.c: Ditto.
13964 * we32k/we32k.c: Ditto.
13965 * doc/tm.texi: Update the manual to match.
13966
84fc8b47
RH
139672001-07-06 Richard Henderson <rth@redhat.com>
13968
13969 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
13970 DWARF2_UNWIND_INFO not just whether it is defined.
13971
4531c1c7
DN
139722001-07-06 Diego Novillo <dnovillo@redhat.com>
13973
13974 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
13975 call to simplify_binary_operation returns a new pattern.
13976
39bd2948
RL
139772001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
13978
13979 * glimits.h (__SHRT_MAX__): New.
13980 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
13981 (SHRT_MAX): Define in terms of __SHRT_MAX__.
13982
8fa2140d
JM
139832001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
13984
13985 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
13986 avoid warnings.
13987
87e08c69
RH
139882001-07-06 Richard Henderson <rth@redhat.com>
13989
13990 * bitmap.c (bitmap_release_memory): Move adjacent to the
13991 allocation functions.
13992 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
13993 the implementation. Binary search for the set bit.
13994 (bitmap_union_of_diff): Allocate the temporary on the stack
13995 instead of using xmalloc.
13996
0dab343a
RH
139972001-07-06 Richard Henderson <rth@redhat.com>
13998
13999 * genrecog.c (validate_pattern): Warn for constraints in
14000 define_{expand,split,peephole2}. Remove strict_low_part
14001 before looking up match_dup.
14002
15c0d35d
DD
140032001-07-06 DJ Delorie <dj@redhat.com>
14004
14005 * doc/gcc.texi (Makefile): Rename to be a more general purpose
14006 chapter about various build hints and history. Add section
14007 talking about the various types of native and cross builds.
14008
00478a05
NB
140092001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
14010
14011 * Makefile.in (final.o): Depend on target.h.
14012 * final.c: Include target.h.
14013 (default_function_pro_epilogue): New.
14014 (final_start_function): Use target structure for function prologues.
14015 (final_end_function): Use target structure for function epilogues.
14016 * fold-const.c (real_hex_to_f): Constify s and p.
14017 * output.h (default_function_pro_epilogue): New.
14018 * real.h (real_hex_to_f): Update prototype.
14019 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
14020 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
14021 (TARGET_INITIALIZER): Update.
14022 * target.h (gcc_target): Add struct asm_out.
14023 * doc/tm.texi: Update.
14024
14025config:
14026 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
14027 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
14028 in cpu/cpu.c, or rename old functions consistently. Take
14029 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
14030 redundant macros and prototypes. Make new functions static.
14031
14032 * 1750a/1750a.c: Similarly.
14033 * 1750a/1750a.h: Similarly.
14034 * a29k/a29k-protos.h: Similarly.
14035 * a29k/a29k.c: Similarly.
14036 * a29k/a29k.h: Similarly.
14037 * arc/arc-protos.h: Similarly.
14038 * arc/arc.c: Similarly.
14039 * arc/arc.h: Similarly.
14040 * arm/arm-protos.h: Similarly.
14041 * arm/arm.c: Similarly.
14042 * arm/arm.h: Similarly.
14043 * avr/avr-protos.h: Similarly.
14044 * avr/avr.c: Similarly.
14045 * avr/avr.h: Similarly.
14046 * clipper/clipper-protos.h: Similarly.
14047 * clipper/clipper.c: Similarly.
14048 * clipper/clipper.h: Similarly.
14049 * convex/convex.c: Similarly.
14050 * convex/convex.h: Similarly.
14051 * d30v/d30v-protos.h: Similarly.
14052 * d30v/d30v.c: Similarly.
14053 * d30v/d30v.h: Similarly.
14054 * d30v/d30v.md: Similarly.
14055 * dsp16xx/dsp16xx-protos.h: Similarly.
14056 * dsp16xx/dsp16xx.c: Similarly.
14057 * dsp16xx/dsp16xx.h: Similarly.
14058 * elxsi/elxsi.c: Similarly.
14059 * elxsi/elxsi.h: Similarly.
14060 * fr30/fr30.c: Similarly.
14061 * fr30/fr30.md: Similarly.
14062 * h8300/h8300-protos.h: Similarly.
14063 * h8300/h8300.c: Similarly.
14064 * h8300/h8300.h: Similarly.
14065 * i370/i370-protos.h: Similarly.
14066 * i370/i370.c: Similarly.
14067 * i370/i370.h: Similarly.
14068 * i386/i386.c: Similarly.
14069 * i386/osf1elf.h: Similarly.
14070 * i386/osfrose.h: Similarly.
14071 * i860/i860-protos.h: Similarly.
14072 * i860/i860.c: Similarly.
14073 * i860/i860.h: Similarly.
14074 * i960/i960-protos.h: Similarly.
14075 * i960/i960.c: Similarly.
14076 * i960/i960.h: Similarly.
14077 * ia64/ia64-protos.h: Similarly.
14078 * ia64/ia64.c: Similarly.
14079 * ia64/ia64.h: Similarly.
14080 * m32r/m32r-protos.h: Similarly.
14081 * m32r/m32r.c: Similarly.
14082 * m32r/m32r.h: Similarly.
14083 * m68hc11/m68hc11-protos.h: Similarly.
14084 * m68hc11/m68hc11.c: Similarly.
14085 * m68hc11/m68hc11.h: Similarly.
14086 * m68k/crds.h: Similarly.
14087 * m68k/dpx2.h: Similarly.
14088 * m68k/m68k-protos.h: Similarly.
14089 * m68k/m68k.c: Similarly.
14090 * m68k/m68k.h: Similarly.
14091 * m68k/news.h: Similarly.
14092 * m88k/m88k-protos.h: Similarly.
14093 * m88k/m88k.c: Similarly.
14094 * m88k/m88k.h: Similarly.
14095 * mips/mips-protos.h: Similarly.
14096 * mips/mips.c: Similarly.
14097 * mips/mips.h: Similarly.
14098 * ns32k/merlin.h: Similarly.
14099 * ns32k/ns32k.c: Similarly.
14100 * ns32k/ns32k.h: Similarly.
14101 * ns32k/tek6000.h: Similarly.
14102 * pa/pa-protos.h: Similarly.
14103 * pa/pa.c: Similarly.
14104 * pa/pa.h: Similarly.
14105 * pdp11/2bsd.h: Similarly.
14106 * pdp11/pdp11-protos.h: Similarly.
14107 * pdp11/pdp11.c: Similarly.
14108 * pdp11/pdp11.h: Similarly.
14109 * romp/romp-protos.h: Similarly.
14110 * romp/romp.c: Similarly.
14111 * romp/romp.h: Similarly.
14112 * rs6000/rs6000-protos.h: Similarly.
14113 * rs6000/rs6000.c: Similarly.
14114 * rs6000/rs6000.h: Similarly.
14115 * rs6000/sysv4.h: Similarly.
14116 * sh/sh-protos.h: Similarly.
14117 * sh/sh.c: Similarly.
14118 * sh/sh.h: Similarly.
14119 * sparc/sparc-protos.h: Similarly.
14120 * sparc/sparc.c: Similarly.
14121 * sparc/sparc.h: Similarly.
14122 * vax/vax.c: Similarly.
14123 * vax/vax.h: Similarly.
14124 * vax/vms.h: Similarly.
14125 * we32k/we32k.c: Similarly.
14126 * we32k/we32k.h: Similarly.
14127
b62c8881
JL
14128Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
14129
14130 * basic-block.h (first_insn_after_basic_block_note): Declare.
14131 * flow.c (first_insn_after_basic_block_note): Define. Moved
14132 from...
14133 * ssa.c (first_insn_after_basic_block_note): Remove.
14134 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
14135 necessary.
14136 (ssa_eliminate_dead_code): Properly update the CFG and PHI
14137 nodes when we find a dead conditional branch. Insert BARRIERs
14138 after any blocks with no successors, but which do not have
14139 any BARRIERs.
14140
9d99ca5b
ZW
141412001-07-06 Zack Weinberg <zackw@stanford.edu>
14142
14143 * varray.c (varray_check_failed): Use internal_error.
14144
fc6aa0a9
AH
141452001-07-05 Andrew Haley <aph@redhat.com>
14146
14147 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
14148 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
14149 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
14150
6331d1c1
JM
141512001-07-02 Jason Merrill <jason_merrill@redhat.com>
14152
14153 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
14154 reference if the target constant is also a SYMBOL_REF.
14155
7dac2f89
EC
141562001-07-05 Eric Christopher <echristo@redhat.com>
14157
6331d1c1
JM
14158 * config/mips/mips.h (MASK_MIPS3900): Remove.
14159 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
14160 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
14161 (TARGET_MIPS3900): Change to use mips_arch.
14162 (TARGET_MIPS4000): New.
14163 (TARGET_MIPS4100): New.
14164 (TARGET_MIPS4300): New.
14165 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
14166 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
14167 for -mipsX.
14168 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
14169 (ISA_HAS_BRANCHLIKELY): To here.
14170 (CC1_CPU_SPEC): New.
14171 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
14172 (mips_arch_string): Declare.
14173 (mips_arch): Declare.
14174 (TARGET_OPTIONS): Add -march and -mtune.
14175
14176 * config/mips/mips.c (mips_arch_string): New.
14177 (mips_arch): New.
14178 (override_options): Handle -march for codegen and -mtune
14179 for scheduling. Use mips_arch. Move tx39 target default here.
14180 (mips_parse_cpu): Move error message to override_options.
14181
14182 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
14183
14184 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
14185
14186 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
14187 (MIPS Options): Ditto. Change mcpu entry to historical text.
7dac2f89
EC
14188
141892001-07-05 H.J. Lu (hjl@gnu.org)
14190
4e2db584
RH
14191 * config/mips/mips.c (mips_parse_cpu): New function to parse
14192 -march=*/-mcpu=*.
7dac2f89 14193
a2497896
JW
141942001-07-05 Jim Wilson <wilson@redhat.com>
14195
14196 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
14197 * config/ia64/t-ia64: Likewise.
14198 (LIB1ASMFUNCS): Update comment.
14199
9da6e781
DE
142002001-07-05 David Edelsohn <edelsohn@gnu.org>
14201
14202 * doc/install.texi (Install GCC: Binaries): Fix typo.
14203
43a72755
SC
142042001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14205
7dac2f89
EC
14206 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
14207 reference using the stack pointer, adjust it since we push Y
43a72755
SC
14208 temporarily.
14209 ("*ashrsi3"): Likewise.
14210 ("*lshrsi3"): Likewise.
14211
35f0a736
SC
142122001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14213
14214 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
14215 when -fomit-frame-pointer is used.
14216
35428bb9
JO
142172001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
14218
14219 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
14220 (try_redirect_by_replacing_jump): Reverse updating properly the
14221 count and frequency information. Reverse removing cc0 setter.
14222 (forwarder_block_p): Reverse fixing for fallthru blocks.
14223
0259b07a
DD
142242001-07-05 DJ Delorie <dj@redhat.com>
14225
14226 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
14227 (translate_options): If the above is defined, use it to map
14228 given options to new options.
14229 * doc/tm.texi: Document it.
14230
081ca317
BL
142312001-07-05 Brad Lucier <lucier@math.purdue.edu>
14232 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14233
14234 * doc/invoke.texi (Optimize Options): Document that -fgcse may
14235 cause programs using computed gotos to run more slowly.
14236
021c4bfd
RO
142372001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14238
14239 * doc/install.texi (Specific): Markup, spelling and typo fixes.
14240 Fixed sorting.
14241 Consistently require binutils 2.11.2, not prereleases.
14242 (Specific, decstation-*): Canonicalize as mips-dec-*.
14243 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
14244 always necessary.
14245 (Specific, m68k-altos): Removed reference to README.altos, deleted.
14246 (Specific, mips-*): Reword MIPS C compiler requirements.
14247 (Specific, powerpc*-*-*): New, mention --with-cpu once.
14248 (Specific, sunv5): Removed, obsolete.
14249
aafdcfcd
NS
142502001-07-05 Nathan Sidwell <nathan@codesourcery.com>
14251
14252 * dwarf2out.c (output_loc_list): Use an all ones mask for
14253 .text asm output and don't rely on long long
14254 literals. Reformat some long lines.
14255
6c7f693e
AJ
142562001-07-05 Andreas Jaeger <aj@suse.de>
14257
14258 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
14259 section.
14260
cc260610
DB
142612001-07-04 Daniel Berlin <dan@cgsoftware.com>
14262
14263 * dwarf2out.c (dwarf2out_define): Update comment.
14264 (dwarf2out_undef): Ditto.
14265 (dwarf2out_start_source_file): Ditto.
14266 (dwarf2out_end_source_file): Ditto.
14267 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
14268 since we never call the start/end debug hook for the primary file.
14269
cc32b876
KH
142702001-07-04 Kazu Hirata <kazu@hxi.com>
14271
14272 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
14273 from shll.
14274
dbead49c
NS
142752001-07-04 Nathan Sidwell <nathan@codesourcery.com>
14276
14277 * cppinit.c (remove_dup_dirs): Inform if a system include
4e2db584 14278 directory is being reordered.
dbead49c
NS
14279 * doc/invoke.texi (Directory Options): GCC warns if you hide a
14280 system include.
14281 * doc/cpp.texi (Search Paths): Likewise.
14282 * doc/gcc.texi (Interoperation): Remove information about
14283 -I/usr/include.
14284
0cf97c8b
NS
142852001-07-04 Nathan Sidwell <nathan@codesourcery.com>
14286
14287 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
14288 (VARRAY_TOP_CHAR_PTR): Likewise.
14289
bbed13b1
KG
142902001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14291
14292 * gcc.c (process_command): Don't assign elements of a const char*.
14293
2b1b6bf9
RK
14294Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14295
14296 * emit-rtl.c (change_address): Don't abort if invalid address while
14297 reload is in progress.
14298
84a5b4f8
DB
142992001-07-04 Daniel Berlin <dan@cgsoftware.com>
14300
14301 * c-lex.c (cb_file_change): Pass line number to
6c7f693e 14302 debug_start_source_file.
84a5b4f8
DB
14303 (cb_undefine): Pass correct line number to debug_undef.
14304
14305 * toplev.c (debug_start_source_file): Add line number to
14306 parameters. Pass it along to dwarf2out_start_source_file.
14307 (decode_g_option): Stop resetting debug level back to normal when
14308 we change debug formats, unless the current level is
14309 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
14310 3).
6c7f693e 14311
84a5b4f8
DB
14312 * toplev.h (debug_start_source_file): Add line number to
14313 parameters.
6c7f693e 14314
2b1b6bf9
RK
14315 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
14316 parameters.
84a5b4f8
DB
14317
14318 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
14319 parameters.
6c7f693e 14320 Output debug_macinfo data for starting file if requested.
84a5b4f8
DB
14321 (dwarf2out_end_source_file): Output debug_macinfo data for ending
14322 file if requested.
2b1b6bf9
RK
14323 (dwarf2out_define): Output debug_macinfo data for defining a macro
14324 if requested.
84a5b4f8
DB
14325 (dwarf2out_undef): Output debug_macinfo data for undefining a
14326 macro if requested.
14327 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
14328 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
14329 (macinfo_section_label): New. DWARF2 macro info section label.
14330 (dwarf2out_init): If we want macro info, output the start label
14331 for the section.
14332 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
14333 attribute to the compilation unit die pointing to the macro info.
14334
143352001-07-04 Daniel Berlin <dan@cgsoftware.com>
14336
14337 * dwarf2out.c (new_loc_list): Move to inside #ifdef
14338 DWARF2_DEBUGGING_INFO.
14339 (add_loc_descr_to_loc_list): Ditto.
14340 (output_loc_list): Ditto.
14341 Also, fix thinko in curr not being initialized.
14342 (gen_internal_sym): Ditto.
6c7f693e 14343
792760b9
RK
14344Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14345
14346 * emit-rtl.c (replace_equiv_address): New function.
14347 * expr.h (replace_equiv_address): New declaration.
14348 * explow.c (validize_mem): Call it instead of change_address and
14349 also call if -fforce-addr and address is constant.
14350 * expr.c: Replace more calls to change_address with adjust_address
14351 and/or replace_equiv_address or to validize_mem.
14352 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
14353 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
14354 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14355 * config/i370/i370.md, config/i860/i860.md: Likewise.
14356 * config/i960/i960.md, config/mips/mips.c: Likewise.
14357 * config/mips/mips.md, config/pa/pa.md: Likewise.
14358 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
14359 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
14360
266aae9b
KG
143612001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14362
14363 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
14364
14365 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
14366 function.
14367
0671eaf6
JM
143682001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
14369
14370 * doc/include: New directory.
14371 * doc/fdl.texi: Move to doc/include/fdl.texi.
14372 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
14373 * doc/include/funding.texi, doc/include/gpl.texi: New files.
14374 * doc/gcc.texi: Use funding.texi and gpl.texi.
14375 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
14376 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
14377 Update dependencies and use -I $(docdir)/include.
14378
77b6797a
AG
143792001-07-04 Anthony Green <green@redhat.com>
14380
14381 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
14382
e9d21442
GP
143832001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14384
14385 * doc/install.texi (sparc64-*-*): Remove garbage.
14386
d2037d01
JM
14387Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
14388
14389 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
14390 Fix typo in last change to use adjust_address.
14391
37324a54
GP
143922001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14393
14394 * doc/install.texi (Specific): Update information for *-*-solaris*.
14395
17ab7c59
RK
14396Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14397
14398 * explow.c (plus_constant_wide): Reinitialize Y for restart.
14399
70fb5453
SS
144002001-07-03 Stan Shebs <shebs@apple.com>
14401
0cf97c8b 14402 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
70fb5453
SS
14403 case for flag_no_mach_text_sections.
14404 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
0cf97c8b
NS
14405 * config/darwin.c (flag_no_mach_text_sections): Remove.
14406 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
70fb5453 14407
b72f00af
RK
14408Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14409
14410 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
14411 and avoid checking for constant as first operand.
14412 * recog.c (find_constant_term_loc): No longer static.
14413 (adj_offettable_operand): Delete.
14414 * rtl.h (adj_offsettable_operand): Delete declaration.
14415 (find_constant_term): Add declaration.
14416 * caller-save.c: Replace calls to adj_offsettable_operand with calls
14417 to adjust_address.
14418 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
14419 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
14420 * config/i386/i386.c, config/i386/i386.md: Likewise.
14421 * config/i860/i860.c, config/i960/i960.c: Likewise.
14422 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
14423 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
14424 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
14425 * config/mips/mips.c, config/mips/mips.md: Likewise.
14426 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
14427 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
14428 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
14429 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
14430 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
14431 * config/ns32k/ns32k.md: Likewise.
14432
3b324340
ZW
144332001-07-03 Zack Weinberg <zackw@stanford.edu>
14434
14435 * rtl.c (copy_rtx): Handle 'T' format letter.
14436 * gensupport.c (collect_insn_data): Likewise.
14437 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
14438
bf4eebe0
NC
144392001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
14440
14441 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
14442 -B option. Use 'dir' not 'foo' as example directory name.
14443
c1911346
RO
144442001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14445
14446 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14447 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
14448
f89dec57
JM
144492001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
14450
14451 * doc/cppinternals.texi: Improve formatting and logical markup.
14452
5b7c7046
AJ
144532001-07-03 Andreas Jaeger <aj@suse.de>
14454
14455 * Makefile.in (insn-recog.o): Add dependency on reload.h.
14456
14457 * genrecog.c (write_header): Include reload.h for prototypes in
14458 insn-recog.c.
14459
f5f4be42
NB
144602001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
14461
14462config:
14463 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
14464 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
14465 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
14466 i386_pe_valid_type_attribute_p): Add.
14467 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
14468 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
14469
ed8908e7
RK
14470Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14471
14472 * explow.c (plus_constant_wide, case LO_SUM): New case.
14473 (plus_constant_for_output_wide): Delete.
14474 * rtl.h (plus_constant_for_output): Delete.
14475 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
14476 instead of plus_constant_for_output.
14477 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
14478 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
14479 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
14480 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
14481 * config/sparc/sparc.md: Likewise.
14482 Convert some change_address calls to adjust_address.
14483
aee96fe9
JM
144842001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
14485
14486 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
14487 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
14488 documentation of -std and -Wwrite-strings.
14489
8bf4dfc2
GK
144902001-07-02 Geoffrey Keating <geoffk@redhat.com>
14491
14492 * cse.c (canon_hash): Don't register registers in very small
14493 register classes, as extending their lifetime might cause
14494 reload to fail.
14495
f8d1529b
JH
14496Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
14497
14498 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14499
14500 * flow.c (forwarder_block_p): Fix for fallthru blocks.
14501 (try_redirect_by_replacing_jump): Update properly the count
14502 and frequency information.
14503
0826f1d8
JL
14504Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
14505
14506 * toplev.c (dump_file_index): Move SSA dumps just after first
14507 jump dump.
14508 (dump_file): Corresponding changes.
14509 (rest_of_compilation): Move SSA path to just after the first
14510 jump pass.
14511 * doc/gcc.texi (Passes): Update due to movement of SSA path.
14512 * doc/invoke.texi: Update dump file #s as they were completely
14513 out of date with reality.
14514
918a6124
GK
145152001-07-02 Geoffrey Keating <geoffk@redhat.com>
14516
14517 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
14518
14519 * expr.c (emit_move_insn_1): Deal with non-default
14520 STACK_PUSH_CODE.
14521
14522 * expr.c (emit_single_push_insn): Fix warning.
14523
145242001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
14525
14526 * expr.c (emit_move_insn_1): Avoid modifying
14527 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
14528
f4ef873c
RK
14529Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14530
14531 * emit-rtl.c (adjust_address): New function.
14532 * expr.h (adjust_address): Add declaration.
14533 * builtins.c: Replace some calls to change_address with calls to it
14534 or to validize_mem.
14535 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
14536 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
14537 * config/arm/arm.c, config/convex/convex.c: Likewise.
14538 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14539 * config/i386/i386.c, config/i386/i386.md: Likewise.
14540 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
14541 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
14542 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
14543 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
14544 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
14545
becbcf96
JW
145462001-07-02 Jim Wilson <wilson@redhat.com>
14547
14548 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
14549
145502001-07-02 Steve Ellcey <sje@cup.hp.com>
14551
4e2db584
RH
14552 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
14553 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
becbcf96 14554
a01eb545
ZW
145552001-07-02 Zack Weinberg <zackw@stanford.edu>
14556
14557 * cppinit.c (lang_defaults): New table.
14558 (set_lang): Just read from lang_defaults into the live options
14559 structure.
14560
51817b10
ZW
145612001-07-02 Zack Weinberg <zackw@stanford.edu>
14562
14563 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
14564 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
14565 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
14566
eea81d3e
RO
145672001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14568
14569 * doc/install.texi: Various spelling and markup fixes.
14570 (Installing GCC): Component specific installation instructions are
14571 gone.
14572 Fix reference.
14573 Warn about removing old install dir in the presence of shared libs.
14574 (Configuration): Invoke with options target to match configure
14575 --help.
14576 Consistently refer to gas, gld pathnames.
14577 Invert --enable-multilib documentation.
14578 Remove references to old compiler versions.
14579
faf041ed
RK
14580Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14581
14582 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
14583
213ba345
RO
145842001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14585
14586 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
14587 section.
14588 (Specific, mips*-sgi-irix5): Note IDO download.
14589 Reworded MIPS C hints.
14590 Use GNU as instead of GAS.
14591 Markup fixes.
14592 Removed SGI Freeware reference, IRIX 6 only.
14593 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
14594 Note N64 library requirement/workaround.
14595 Update O32 hints.
14596 Complete list of structure passing bug victims.
14597
b9063b3d
GP
145982001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14599
14600 * doc/install.texi: Remove CVS Id.
14601
766890e1
AJ
146022001-07-02 Andreas Jaeger <aj@suse.de>
14603
14604 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
14605 (find_inherently_necessary): Remove unused variable.
14606
6be77748
NS
146072001-07-02 Nathan Sidwell <nathan@codesourcery.com>
14608
14609 * c-common.h (TDI_inlined): New ast dump phase.
14610 (dump_flag_name): New function.
14611 * c-dump.c (dump_files): Add inlined phase.
14612 (dump_flag_name): Define.
14613 * doc/invoke.texi (-fdump-ast-inlined): Document.
14614
3aa12a58
RK
14615Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14616
14617 * stor-layout.c (layout_decl): Revert change to handling of alignment
14618 in packed types.
14619
21266f81
RK
14620Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14621
14622 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
14623 for FIELD_DECL.
14624
1cc5e432
GK
146252001-07-01 Geoffrey Keating <geoffk@redhat.com>
14626
14627 * doc/tm.texi (FUNCTION_ARG): Document that the last call
14628 is special.
14629
3746c4a2
NS
146302001-07-01 Nathan Sidwell <nathan@codesourcery.com>
14631
14632 * tlink.c (recompile_files): Remove COMPILER_PATH and
14633 LIBRARY_PATH from the environment.
14634
b8363a24
ZW
146352001-07-01 Zack Weinberg <zackw@stanford.edu>
14636
14637 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
14638 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
14639 enumerators.
14640 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
14641
14642 * c-parse.in (OBJC_STRING): Kill.
14643 (objc_string): Decompose to [objc_string] '@' STRING.
14644 (reswords): Take the leading '@' off all the Objective C keywords.
14645 (objc_rid_sans_at): Kill.
14646 (init_reswords): Don't initialize it.
14647 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
14648 (_yylex): Kill reconsider label. Look ahead one token after
14649 an '@'; if we get an identifier, check whether it's an
14650 Objective C @-keyword. If so, return the keyword. Otherwise,
14651 put back the token and return the '@' as a terminal.
14652
14653 * cpplib.c (lex_macro_node): Remove unnecessary check for
14654 leading '@' on identifier. Clarify control flow and commentary.
14655
be8ac49a
RK
14656Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14657
14658 * cse.c (new_label_ref): Variable deleted.
14659 (insert): Remove set of new_label_ref.
14660 (check_for_label_ref): New function.
14661 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
14662
528aeb48 14663See ChangeLog.5 for earlier changes.
This page took 1.883192 seconds and 5 git commands to generate.