OSDN Git Service

* expmed.c (extract_bit_field): Don't create invalid SUBREGs.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
2
3         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4
5 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
6
7         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
8         defined (prevents link errors when gettext isn't in the system
9         library).
10
11 2001-11-19  DJ Delorie  <dj@redhat.com>
12
13         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
14         (validate_const_int): New.
15         (read_rtx): Validate constant integers.
16         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
17
18 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
19
20         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
21
22 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
23
24         * toplev.c (DUMPFILE_FORMAT): Define default.
25         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
26         (close_dump_file, compile_file): Likewise.
27         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
28         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
29
30 2001-11-19  Jeff Law <law@redhat.com>
31
32         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
33         a nop-jump.
34
35 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
36
37         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
38         Don't fall off the base token run.
39
40 2001-11-19  Jason Wilkins <fenix@io.com>
41
42         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
43
44 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
45
46         * tree.def (VIEW_CONVERT_EXPR): New tree code.
47         * tree.h (handled_component_p): New declaration.
48         * alias.c (handled_component_p): Move function from here ...
49         * expr.c (handled_component_p): ... to here and non longer static.
50         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
51         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
52         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
53         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
54         (expand_expr, case VIEW_CONVERT_EXPR): New case.
55         (expand_expr, cse ADDR_EXPR): No need to copy if already
56         BIGGEST_ALIGNMENT.
57         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
58         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
59         (output_constant): Handle VIEW_CONVERT_EXPR.
60         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
61         Add new case for VIEW_CONVERT_EXPR.
62
63 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
64
65         * a29k/unix.h (ASM_FILE_START): Const-ify.
66         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
67         * i386/isc.h (ASM_FILE_START): Const-ify.
68         * i386/sun386.h (ASM_FILE_START): Likewise.
69         * m32r.md: Likewise.
70         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
71         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
72         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
73         * mn10200.md: Initialize variable.
74
75 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
76
77         * gcse.c (try_replace_reg): Copy RTX before creating note.
78
79         * df.h (df_ref_flags): New uenum.
80         (DF_REF_FLAGS): New macro.
81         (struct ref): Add field "flags".
82         * df.c (HANDLE_SUBREG): Remove.
83         (df_ref_create): Likewise; set flags field of ref.
84         (df_def_record_1): Strip down read_write subreg; remove
85         commented out code; set READ_WRITE flag.
86         (read_modify_subreg_p): New static function.
87         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
88         new argument "flags".
89         (df_insn_refs_record): Update call of df_uses_record.
90         (df_insn_modify): Avoid #if 0 around comment.
91         (df_dump): Dump the read/write flag.
92
93         * predict.c (propagate_freq): Make cyclic_probability and frequency
94         volatile
95
96         * i386.c (ix86_cc_mode): Accept USE.
97
98         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
99         jump is turned into simplejump.
100
101 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
102
103         * doc/fragments.texi, doc/trouble.texi: Remove links to old
104         installation chapter.
105         * doc/gcc.texi: Don't claim that this manual documents
106         installation.  Mark Installation menu entry as being out of date.
107
108 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
109
110         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
111         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
112         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
113
114 2001-11-19  Jason Merrill  <jason@redhat.com>
115
116         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
117         cur_token, not after.
118
119         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
120         Lose ASM_OUTPUT_CONSTRUCTOR.
121         * system.h: Poison it and INT_ASM_OP.
122         * c-lang.c (finish_file): Don't check for it.
123         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
124
125 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
126
127         * mmix.c (mmix_cc1_ignored_option): Const-ify.
128         (mmix_init_machine_status): Make static to match declaration.
129         (mmix_unique_section): Const-ify.
130         (mmix_output_quoted_string): Avoid automatic aggregate
131         initialization.
132         (mmix_output_register_setting): Likewise.
133         (mmix_output_shiftvalue_op_from_str): Likewise.
134
135         * mmix.h (mmix_cc1_ignored_option): Const-ify.
136         (ASM_OUTPUT_BYTE): Fix format specifier warning.
137         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
138
139 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
140
141         PR c/4448
142         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
143         name __objc_thread_exit_status so that it matches the 
144         variable defined in objc/thr.h.
145
146 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
147
148         PR bootstrap/4020
149         * mklibgcc.in: Add missing semi-colons.
150         * Makefile.in: Same.
151
152 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
153
154         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
155         after re-laying out decl in incomplete case.
156         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
157
158 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
159
160         * doc/install-old.texi: Move some sections out to ...
161         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
162         ... here.  New files.  Make into chapters rather than sections.
163         * doc/gcc.texi: Include the new files and add menu entries for
164         them.
165         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
166
167 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
168
169         * tree.h (TYPE_ALIGN_OK): New flag.
170         * emit-rtl.c (set_mem_attributes): Handle it.
171         * expr.c (emit_single_push_insn): Only set to alias set 0 if
172         doing sibcall optimization.
173         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
174         when make temporary.
175         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
176         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
177
178         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
179
180 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
181
182         * c-decl.c (c_decode_option): Give deprecation warning for
183         -traditional.
184         * doc/invoke.texi (-traditional): Note that this option is
185         deprecated.
186
187 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
188
189         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
190         arg to HOST_WIDE_INT, not long.
191
192         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
193         (HAS_INIT_SECTION): Define.
194         (REAL_ARITHMETIC): Don't undefine.
195
196 2001-11-18  Egor Duda  <deo@logos-m.ru>
197
198         * config/i386/cygwin.h: Strip leading '*' from name, if any.
199
200 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
201
202         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
203         * c-common.c: Include diagnostic.h.
204         (c_common_finish): New.
205         * c-common.h (c_common_finish): New.
206         * c-lang.c (LANG_HOOKS_FINISH): Override.
207         * c-parse.in: Don't include diagnostic.h.
208         (finish_parse): Remove.
209         * langhooks.h: Update comments.
210         * toplev.c (lang_dependent_init): New prototype.
211         (finalize): New.
212         (compile_file): Split cleanup code out to finalize.
213         (lang_dependent_init): Stop if lang_hooks.init fails.
214         (toplev_main): Update.
215         * tree.h (finish_parse): Remove.
216 objc:
217         * objc-act.c (LANG_HOOKS_FINISH): Override.
218
219 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
220
221         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
222         * config/alpha/vms_tramp.asm: New file.
223         * config/alpha/vms-tramp.asm: Removed.
224
225 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
226
227         * c-common.c (struct disabled_builtin, disabled_builtins,
228         disable_builtin_function, builtin_function_disabled_p): New.
229         (builtin_function_2): Check for disabled built-in functions.
230         * c-common.h (disable_builtin_function): Declare.
231         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
232         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
233         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
234
235 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
236
237         PR target/4606
238         * config.gcc: Remove reference to va-clipper.h.
239
240 2001-11-17  Stan Shebs  <shebs@apple.com>
241
242         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
243         AltiVec-related bitfields.
244
245 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
246
247         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
248         (mark_eh_region, case ERT_UKNONW): New case.
249
250 2001-11-17  Christopher Faylor  <cgf@redhat.com>
251             Corinna Vinschen  <vinschen@redhat.com>
252
253         * config/i386/cygwin.h: Search target specific include directory for
254         w32api stuff, if appropriate.
255
256 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
257
258         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
259
260 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
261
262         * config/rs6000/rs6000.md: Change all ldvx to lvx.
263
264 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
265
266         * gensupport.c (process_rtx): Don't assume filename is the first
267         argument of any rtl.
268
269 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
270
271         * vax-protos.h (reg_was_0_p): New prototype.
272         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
273         * vax.c (follows_p, reg_was_0_p): New functions.
274
275 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
276
277         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
278         (casesi1): Likewise.  Define new pattern which arises by simplification
279         when operand 1 is a constant int.  Correct pattern which arises by
280         simplification when operand 1 is zero.
281
282 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
283
284         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
285         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
286         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
287         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
288         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
289         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
290         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
291         * config/arm/aof.h: Don't include arm.h.
292         * config/arm/aout.h: Likewise.
293         * config/arm/coff.h: Don't include semi.h and aout.h.
294         * config/arm/elf.h: Don't include aout.h.
295         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
296         (TARGET_VERSION): Undef before defining.
297         (ARM_OS_NAME): Likewise
298         (TARGET_DEFAULT): Likewise
299         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
300         * config/arm/pe.h: Don't include arm/coff.h.
301         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
302         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
303         * config/arm/riscix1-1.h: Likewise.
304         * config/arm/rix-gas.h: Don't include riscix.h.
305         (DBX_CONTIN_LENGTH): Undef before defining.
306         * config/arm/semi.h: Don't include aout.h.
307         * config/arm/semiaof.h: Don't include aof.h.
308         * config/arm/strongarm-coff.h: Don't include coff.h.
309         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
310         * config/arm/vxarm.h: Don't include arm/coff.h.
311         * config/arm/xscale-coff.h: Don't include coff.h.
312
313 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
314
315         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
316         emit_cmp_insn.
317
318 2001-11-16  Andreas Jaeger  <aj@suse.de>
319
320         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
321         to ....
322         (fixup_fallthru_exit_predecessor): ... this.
323         Change callers and prototype.
324
325 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
326
327         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
328         hand; don't use gen_setcc_2.
329         (ix86_expand_builtin): Fix pshufw.
330         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
331         case UNORDERED to emit the right assembler instruction.
332         (mmx_pshufw): Lose operand 2.
333         (cvtsi2ss): Fix representation.
334         From Graham Stott:
335         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
336
337 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
338
339         * doc/include/linux-and-gnu.texi: Remove.
340         * doc/gnu.texi: New.
341         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
342         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
343
344 2001-11-16  Kazu Hirata  <kazu@hxi.com>
345
346         * config/a29k/a29k.c: Fix comment formatting.
347         * config/a29k/a29k.h: Likewise.
348         * config/arc/arc.c: Likewise.
349         * config/arc/arc.h: Likewise.
350         * config/vax/vax.c: Likewise.
351         * config/vax/vax.h: Likewise.
352         * config/we32k/we32k.c: Likewise.
353         * config/we32k/we32k.h: Likewise.
354
355 2001-11-16  Jeff Law  <law@redhat.com>
356
357         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
358         creating a new jump insn.
359
360 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
361
362         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
363         copy misaligned data.
364         * varasm.c (assemble_variable): Set alignment into MEM when changed.
365
366 2001-11-16  Graham Stott  <grahams@redhat.com>
367
368         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
369         OPALIGN type.
370
371 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
372
373         * except.c: Support for catching a list of types with a single handler
374         (struct eh_region): Change type and filter to lists for catch regions.
375         (mark_eh_region): Mark the filter list for GC also.
376         (expand_start_catch): Always build a list if argument not NULL and
377         register each type of the list through add_type_for_runtime.
378         (duplicate_eh_region_1): Change type into type_list for catch regions.
379         (assign_filter_values): Assign a filter to each type associated with a
380         catch region. Assign filter for NULL types in a unique entry in the
381         filter list.
382         (build_post_landing_pads): Emit compare and jump for each filter of
383         the list associated with a catch region.
384         (reachable_next_level): When the type thrown is known, stop the search
385         as soon as one type within a catch list matches. Also, a handler is
386         potentially reachable only if at least one of the types it catches
387         has not been previously caught.
388         (collect_one_action_chain): Retrieve the filter for a NULL type list
389         from the first filter list entry. For non NULL type lists, add an
390         action record for every filter assigned.
391         * except.h: Reflect changes in comment before expand_start_catch.
392
393 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
394
395         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
396         BLKmode.
397
398 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
399
400         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
401
402 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
403
404         * c-lang.c (finish_file): Don't emit static inline functions if
405         they weren't referenced.
406
407 2001-11-15  Stan Shebs  <shebs@apple.com>
408
409         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
410
411 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
412
413         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
414         call.
415         * config/i386/i386.md: Likewise.
416
417 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
418
419         * timevar.c (rtl.h): Include so get fancy abort.
420
421 2001-11-15  Dale Johannesen  <dalej@apple.com>
422
423         * config/darwin.h (SELECT_RTX_SECTION):  Force address
424         initializers into 'const' section
425         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
426         if_then_else to match result, not operands
427
428 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
429
430         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
431         * emit-rtl.c (change_address): Fix typo in default alignment.
432         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
433         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
434         * rtl.h (REGNO_PTR_FRAME_P): New macro.
435
436         * expr.c (store_field): Pass tree instead of max size; callers changed.
437         Change handling of alignment.
438         Only copy to_rtx if is TARGET.
439         (expand_expr_unaligned): Delete; callers now use expand_expr.
440         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
441         (expand_assignment): Change handling of alignment.
442         Only copy to_rtx if was original.
443         (get_inner_reference): No longer return alginment; callers changed.
444         (expand_expr, case COMPONENT_REF): Change handling of alignment.
445         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
446         (compare_from_rtx): Delete ALIGN parm; all callers changed.
447         (do_compare_rtx_and_jump): Likewise.
448         * expr.h: Reflect above changes.
449         * tree.h: Likewise.
450         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
451         to get_inner_reference.
452         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
453         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
454         * optabs.c: Likewise.
455         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
456         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
457         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
458         compare_rtx_and_jump, and emit_cmp_jump_insns.
459         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
460         * function.c (assign_stack_temp_for_type): No longer static.
461         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
462         (prepare_cmp_insn): Delete declaration.
463         * rtl.h (assign_stack_temp_for_type): Add declaration.
464         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
465         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
466         * config/i386/i386.c,config/mips/mips.c: Likewise.
467         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
468         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
469
470 2001-11-15  Stan Shebs  <shebs@apple.com>
471
472         * config/rs6000/rs6000.h: Fix a comment typo.
473         (RTX_COSTS): Sort processor versions better.
474
475 2001-11-15  Kazu Hirata  <kazu@hxi.com>
476
477         * config/h8300/h8300.md: Fix insn length of bit insns.
478
479 2001-11-15  Jason Merrill  <jason@redhat.com>
480
481         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
482         DIEs if there were errors in the source.
483
484         * config/alpha/alpha-interix.h, config/alpha/elf.h,
485         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
486         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
487         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
488         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
489         config/elfos.h, config/lynx.h, config/netware.h,
490         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
491         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
492         uses to use ASM_LONG.
493
494 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
495
496         * gensupport.c  process_include : Change call to alloca to
497         xmalloc.
498
499 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
500
501         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
502         templates.
503
504 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
505
506         * final.c (alter_subreg): If simplify_subreg can't do anything,
507         handle REG ourselves and abort for others.
508
509 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
510
511         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
512         routines.
513
514 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
515
516         * fix-header.c (read_scan_file): Update.
517
518 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
519
520         * toplev.c (toplev_main): Don't start timing until after
521         command-line options are parsed.
522
523 2001-11-15  Andreas Schwab  <schwab@suse.de>
524
525         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
526         makefile frag, not host makefile frag.
527         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
528         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
529         used.
530         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
531         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
532         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
533         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
534         * config/i386/t-dgux (STMP_FIXPROTO): Define.
535         * config/x-interix: Don't define STMP_FIXPROTO and
536         FIXPROTO_DEFINES.
537         * config/t-interix: New file, define STMP_FIXPROTO.
538         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
539         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
540         * config/t-svr4 (FIXPROTO_DEFINES): Define.
541         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
542         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
543         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
544         * config/m68k/t-hp3200: Renamed from x-hp3200.
545         * config/i370/t-oe: Renamed from x-oe.
546         * config/mips/t-iris: Renamed from x-iris.
547         * config/pa/t-bsd: Renamed from x-pa.
548         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
549         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
550         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
551         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
552         config/rs6000/x-cygwin: Remove files.
553
554         * configure.in: Check for target objdump and use that in eh_frame
555         optimization test.
556         * configure: Regenerated.
557
558 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
559
560         * jump.c (squeeze_notes): Return true if no real insns were found.
561         * rtl.h (squeeze_notes): Adjust prototype.
562         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
563         squeeze_notes finds no real instructions, abort.
564         (merge_blocks_move_successor_nojumps): Likewise.
565         * loop.c (find_and_verify_loops): Likewise.
566         * stmt.c (expand_end_case): Likewise.
567         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
568         find any real instructions.
569
570         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
571
572         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
573         conditional jump, request updating life into for the block
574         containing it.  Fix a typo which prevented life info update.
575         Clear blocks bitmap before using it.
576
577 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
578
579         * c-common.c: Include c-lex.h.
580         (c_common_lang_init): Change prototype.  Call init_c_lex and
581         init_pragma from here.
582         * c-common.h (c_common_lang_init): Change prototype.
583         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
584         * c-lang.c (c_init): Change prototype.  Update.
585         (c_init_options): Update.
586         * c-lex.c (cpp_filename): Remove.
587         (init_c_lex): Update.  Read the main file, and get the original
588         file name.
589         (yyparse): Finish the command line options.
590         * c-parse.in (c_parse_init): Call init_reswords here.
591         (init_parse): Remove.
592         * c-tree.h (c_init_decl_processing): New.
593         * cpphash.c (_cpp_init_hashtable): After initializing the hash
594         table, populate it.
595         * cppinit.c (read_original_filename, cpp_finish_options): New.
596         (cpp_create_reader): New prototype. Defer hash table initialization.
597         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
598         hash table.  Get the original filename.
599         * cpplib.h (cpp_create_reader): Update.
600         (cpp_start_read): Remove.
601         (cpp_read_main_file, cpp_finish_options): New.
602         * cppmain.c (main, do_preprocessing): Update.
603         * langhooks.h (struct langhooks): Update init prototype.
604         * toplev.c (general_init, parse_options_and_default_flags,
605         process_options, lang_indpendent_init, lang_dependent_init,
606         init_asm_output): New; perform the bulk of initialization.
607         (compile_file): Move most of initialization to above functions.
608         (debug_hooks): Initialize statically.
609         (set_Wunused): Relocate.
610         (toplev_main): Move most of initialization to other init functions.
611         Have a clear logic flow.
612         * tree.h (init_parse, init_decl_processing): Remove.
613 objc:
614         * objc-act.c (objc_init): Update prototype, combine with old
615         init_parse.
616         (objc_init_options): Update.
617
618
619 2001-11-15  Andreas Jaeger  <aj@suse.de>
620
621         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
622         portability.
623         * basic-block.h: Adjust prototype.
624
625 2001-11-15  Kazu Hirata  <kazu@hxi.com>
626
627         * config/rs6000/aix31.h: Fix comment formatting.
628         * config/rs6000/beos.h: Likewise.
629         * config/rs6000/darwin.h: Likewise.
630         * config/rs6000/eabi.asm: Likewise.
631         * config/rs6000/linux.h: Likewise.
632         * config/rs6000/linux64.h: Likewise.
633         * config/rs6000/lynx.h: Likewise.
634         * config/rs6000/netbsd.h: Likewise.
635         * config/rs6000/rs6000.c: Likewise.
636         * config/rs6000/rs6000.h: Likewise.
637         * config/rs6000/rs6000.md: Likewise.
638         * config/rs6000/sol2.h: Likewise.
639         * config/rs6000/tramp.asm: Likewise.
640         * config/rs6000/xcoff.h: Likewise.
641         * config/rs6000/xm-beos.h: Likewise.
642
643 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
644
645         * rtl.def (INCLUDE) : Define.
646         * gensupport.c  (init_include_reader, process_include,
647         save_string) :  New functions to implement an include facility
648         in .md files.
649         * gensupport.h : Add prototype for init_md_reader_args.
650         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
651         genextract.c genflags.c genopinit.c genoutput.c
652         genpeep.c genrecog.c: Change call to init_md_reader to
653         init_md_reader_args.
654         * md.texi: Document (include "path") and -I directives for RTL
655         generation tools.
656
657 2001-11-14  DJ Delorie  <dj@redhat.com>
658
659         * integrate.c (get_hard_reg_initial_reg): New.
660         * integrate.h (get_hard_reg_initial_reg): Prototype.
661         * local-alloc.c (block_alloc): Don't tie pseudos that
662         represent call-saved hard regs' initial values.
663
664 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
665
666         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
667         recursion.
668
669 2001-11-14  Roger Sayle <roger@eyesopen.com>
670
671         * fold-const.c (fold): Optimize strlen comparisons against zero.
672
673 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
674
675         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
676         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
677         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
678         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
679         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
680         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
681         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
682         Include various CPU headers via tm_file.  a.out based platforms now
683         properly include sparc/aout.h.  sol2.h usage now implies including
684         elfos.h, svr4.h, and sparc/sysv4.h.
685         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
686         Also define to '1'.
687         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
688         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
689         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
690         Remove.  They are a.out specific and belong in sparc/aout.h.
691         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
692         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
693         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
694         sparc/sparc.h.
695         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
696         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
697         Moved here from sparc/sparc.h.
698         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
699         defining.
700         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
701         * config/sparc/lynx.h:  Don't include lynx.h.
702         (SELECT_SECTION): Do not undef.
703         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
704         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
705         and sparc/sysv4.h.
706         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
707         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
708         sparc/aout.h now.
709         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
710         Don't undef, there is no need.
711         * config/sparc/splet.h (CPP_PREDEFINES): Define.
712         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
713         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
714         Don't include sparc/sparc.h.
715         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
716         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
717         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
718         elfos.h and svr4.h.
719         (TARGET_VERSION): Define.
720         * config/sparc/vxsim.h (TARGET_VERSION): Define.
721
722 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
723
724         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
725         (cfg_layout_finalize): Use it.
726         * bb-reorder.c (HAVE_epilogue): Remove.
727         (make_reorder_chain): Do not care special placement of
728         last basic block.
729
730         * predict.c (expected_value_to_br_prob): Delete the note
731         once transformed.
732
733         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
734         measure integration time separately.
735
736 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
737
738         * function.c (struct temp_slot): ALIGN now unsigned.
739
740 2001-11-14  Kazu Hirata  <kazu@hxi.com>
741
742         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
743         * config/dsp16xx/dsp16xx.h: Likewise.
744         * config/dsp16xx/dsp16xx.md: Likewise.
745
746 2001-11-14  Kazu Hirata  <kazu@hxi.com>
747
748         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
749         that deals with 7-bit shifts in HImode.
750
751 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
752
753         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
754         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
755         (final_scan_insn): Update call of alter_subreg.
756         (cleanup_subreg_operands): Likewise.
757         (alter_subreg): Rewrite using simplify_subreg.
758         (output_address, output_operand): Update call of alter_subreg.
759         * output.h (alter_subreg): Update prototype.
760         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
761         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
762         * Makefile.in (final.o): Add depdendancy on expr.h
763
764 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
765
766         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
767
768 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
769
770         * doc/install.texi (sparc-*-linux*): Mention requirements for
771         binutils and glibc.
772
773 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
774
775         * Makefile.in (POD2MAN): Don't include --section=1.
776         (manext): Rename to man1ext.  All users changed.
777         (man7ext): New.
778         (man7dir): New.
779         (generated-manpages): Also depend on $(docdir)/gfdl.7,
780         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
781         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
782         --section=1 in calls to $(POD2MAN).
783         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
784         (maintainer-clean, install, uninstall): Handle the new man pages.
785         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
786         (installdirs): Create man7dir.
787         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
788         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
789         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
790         the SEE ALSO man page section.
791         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
792         and fsf-funding(7) in the SEE ALSO man page section.
793         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
794         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
795         * doc/include/fdl.texi, doc/include/funding.texi,
796         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
797         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
798
799 2001-11-13  Richard Henderson  <rth@redhat.com>
800
801         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
802         as appropriate for the artificial decl.
803
804 2001-11-13  Richard Henderson  <rth@redhat.com>
805
806         * loop.c (combine_movables): Turn off combination until
807         move_movables validation bugs are fixed.
808
809 2001-11-13  DJ Delorie  <dj@redhat.com>
810
811         * config.gcc (powerpc|rs6000): Set default cpp options based
812         on --with-cpu settings.
813         * config/rs6000/softfloat.h: New.
814
815 2001-11-13  Kazu Hirata  <kazu@hxi.com>
816
817         * config/h8300/h8300.c (shift_alg_si): Use special code for
818         25-bit shifts on H8/S.
819         (get_shift_alg): Generate special code for 25-bit shifts on
820         H8/S.
821
822 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
823
824         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
825         (adjust_automodify_address_1): New.
826         * expr.h (adjust_address, adjust_address_nv): Adjust.
827         (adjust_automodify_address, adjust_automodify_address_nv): Define.
828         (adjust_address_1): Update prototype.
829         (adjust_automodify_address_1): Add prototype.
830         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
831         (store_by_pieces_2): Likewise.
832
833 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
834
835         * Makefile.in (explow.o): Now depends on ggc.h.
836         * explow.c (ggc.h): Include.
837         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
838
839         * Makefile.in (expr.o): Depends on insn-attr.h.
840         * expr.c (insn-attr.h): New include.
841         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
842         of MEM.
843         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
844         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
845         clean up related usage in ADDR_EXPR.
846         (expand_expr_unaligned): Likewise.
847
848         * emit-rtl.c (change_address): Fix typo in alias setting.
849
850 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
851
852         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
853
854 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
855
856         PR bootstrap/3451
857         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
858         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
859
860 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
861
862         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
863         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
864         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
865         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
866         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
867         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
868         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
869         sparc64-*-linux*):  Include various CPU headers via tm_file.
870         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
871         (SELECT_SECTION): Likewise.
872         (SELECT_RTX_SECTION): Likewise.
873         * config/sparc/sparc_bi.h: New file.
874         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
875         * config/sparc/linux-aout.h: Likewise.
876         * config/sparc/linux.h: Don't include sparc/sysv4.h.
877         * config/sparc/linux64.h: Likewise.
878         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
879         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
880         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
881         and dbxcoff.h
882         (ASM_OUTPUT_IDENT): Do not #undef.
883         (SELECT_SECTION): Likewise.
884         (SELECT_RTX_SECTION): Likewise.
885         * config/sparc/liteelf.h: Don't include gofast.h.
886         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
887         * config/sparc/lynx.h: Don't include sparc/sparc.h.
888         * config/sparc/pbd.h: Likewise.
889         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
890         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
891         * config/sparc/rtemself.h: Don't include rtems.h.
892         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
893         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
894         sparc_bi.h instead.
895         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
896         * config/sparc/sol2.h: Include sparc/sparc.h directly.
897         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
898         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
899         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
900         * config/sparc/sp86x-elf.h: Don't include gofast.h.
901         * config/sparc/splet.h: Don't include sparc/aout.h.
902         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
903         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
904         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
905         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
906         * config/sparc/vxsparc64.h: Don't include gofast.h.
907         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
908
909 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
910
911         * doc/standards.texi: Mention C99 TC1.
912
913 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
914
915         * mips-protos.h (mips_output_conditional_branch): Const-ify.
916         * mips.c (mips_output_conditional_branch): Likewise.
917
918 2001-11-12  Kazu Hirata  <kazu@hxi.com>
919
920         * config/h8300/h8300.c (shift_alg_si): Use special code for
921         15-bit logical shifts and 31-bit logical shifts.
922         (get_shift_alg): Generate special code for 15-bit and 31-bit
923         logical shifts.
924
925 2001-11-12  Kazu Hirata  <kazu@hxi.com>
926
927         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
928         doing 6-bit logical shifts on H8/S.
929         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
930         (get_shift_alg): Generate special code for 21-bit shifts on
931         H8/S.
932
933 2001-11-12  Kazu Hirata  <kazu@hxi.com>
934
935         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
936         label.
937
938 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
939
940         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
941         if both size and offset known.
942
943 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
944
945         * config/ia64/freebsd.h: Fix misspelling.
946
947 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
948
949         * doc/gcc.texi: Move several chapters out to ...
950         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
951         doc/include/linux-and-gnu.texi, doc/interface.texi,
952         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
953         ... here.  New files.
954         * doc/gcc.texi, doc/contrib.texi: Move section headings into
955         contrib.texi.
956         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
957
958 2001-11-12  Kazu Hirata  <kazu@hxi.com>
959
960         * config/alpha/alpha-interix.h: Fix comment formatting.
961         * config/alpha/alpha.c: Likewise.
962         * config/alpha/alpha.h: Likewise.
963         * config/alpha/alpha32.h: Likewise.
964         * config/alpha/freebsd.h: Likewise.
965         * config/alpha/unicosmk.h: Likewise.
966         * config/alpha/vms.h: Likewise.
967
968 2001-11-12  Kazu Hirata  <kazu@hxi.com>
969
970         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
971
972 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
973
974         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
975         numbers.
976
977 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
978
979         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
980         from type.
981         (replace_equiv_address): Call update_temp_slot_address.
982
983         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
984
985         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
986
987 2001-11-12  Kazu Hirata  <kazu@hxi.com>
988
989         * config/h8300/h8300.c (shift_alg_qi): New.
990         (shift_alg_hi): Likewise.
991         (shift_alg_si): Likewise.
992         (get_shift_alg): Change the type of count to unsigned int.
993         Use the tables.
994
995 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
996
997         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
998         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
999         to decide whether to defer a function.
1000         (finish_function): Adjust.
1001         (c_expand_deferred_function): New function.
1002         * c-lang.c (deferred_fns): New variable.
1003         (c_init): Initialize it, and mark it as a root.
1004         (defer_fn): New function.
1005         (finish_file): Expand all deferred functions.
1006         * c-tree.h (defer_fn): Declare.
1007         (c_expand_deferred_function): Likewise.
1008         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
1009         * objc-act.c (deferred_fns): New variable.
1010         (objc_init): Initialize it, and mark it as a root.
1011         (defer_fn): New function.
1012         (finish_file): Expand all deferred functions.
1013
1014 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1015
1016         * alpha.c (unicosmk_special_name): Prototype.
1017         (unicosmk_ssib_name): Delete unused variable.
1018         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
1019         * alpha/vms.h (PREFIX): Undef before defining.
1020         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
1021         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
1022         controlling usage.  Const-ify.
1023         (alias_number): Delete unused variable.
1024         * m32r/m32r.c (m32r_sched_init): Add missing argument.
1025         (m32r_expand_block_move): Fix uninitialized warnings.
1026         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
1027         always true' warnings.
1028         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
1029         * sh/sh.c: Include "integrate.h".
1030         (output_far_jump): Fix uninitialized warning.
1031         * final.c (shorten_branches): Avoid automatic aggregate
1032         initialization.
1033         * integrate.c (subst_constants): Likewise.
1034
1035 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1036
1037         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
1038         (get_shift_alg): Remove redundant code.
1039
1040 2001-11-11  Kazu Hirata  <kazu@hxi.com>
1041
1042         * config/pa/milli64.S: Fix comment formatting.
1043         * config/pa/pa-64.h: Likewise.
1044         * config/pa/pa-linux.h: Likewise.
1045         * config/pa/pa-protos.h: Likewise.
1046         * config/pa/pa.c: Likewise.
1047         * config/pa/pa.h: Likewise.
1048         * config/pa/pa32-linux.h: Likewise.
1049         * config/pa/pa32-regs.h: Likewise.
1050         * config/pa/pa64-hpux.h: Likewise.
1051         * config/pa/pa64-regs.h: Likewise.
1052         * config/pa/som.h: Likewise.
1053
1054 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1055
1056         * doc/gcc.texi: Move several chapters out to ...
1057         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
1058         doc/service.texi, doc/standards.texi, doc/trouble.texi,
1059         doc/vms.texi: ... here.  New files.
1060         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1061
1062 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1063
1064         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
1065         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
1066         collect2.c, combine.c, config.in, configure, configure.in,
1067         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
1068         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
1069         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
1070         spelling errors.
1071
1072 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1073
1074         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
1075         Adjust operand number in CONST_DOUBLE.
1076
1077         * expmed.c (extract_bit_field): No longer pass in alignment.
1078         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
1079         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
1080         Likewise.
1081         * expr.c (store_constructor, store_constructor_field): Likewise.
1082         (store_field, emit_group_load, emit_group_store): Likewise.
1083         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
1084         (store_bit_field, extract_bit_field): Likewise.
1085         * calls.c, expr.c, function.c: Change calls to above functions.
1086         * ifcvt.c, stmt.c: Likewise.
1087
1088         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
1089         constant and one is on frame.
1090         If know memref offset, adjust size from decl.
1091
1092 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1093
1094         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
1095         format specifier warning.
1096         * convex.h (ASM_OUTPUT_BYTE): Likewise.
1097         * elfos.h (ALIGN_ASM_OP): Undef before defining.
1098         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1099         warning.
1100         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1101         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1102         * i386-interix.h (gen_stdcall_suffix): Prototype.
1103         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1104         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1105         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1106         * i386/interix.c (gen_stdcall_suffix): Const-ify.
1107         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1108         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
1109         specifier warnings.
1110         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1111         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1112         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1113         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1114         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1115         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1116         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1117         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1118         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1119         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1120         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1121         Likewise.
1122         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1123         Likewise.
1124         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
1125         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1126         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
1127         Likewise.
1128         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
1129         Likewise.
1130         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1131         Likewise.
1132         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
1133         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1134         * m68k/news.h (PRINT_OPERAND): Likewise.
1135         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1136         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1137         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1138         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
1139         definition.
1140         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1141         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
1142         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
1143         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1144         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
1145         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
1146         PRINT_OPERAND): Likewise.
1147         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1148         Likewise.
1149         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1150         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1151         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
1152         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1153         * mips.c (mips_output_external_libcall): Mark parameter with
1154         ATTRIBUTE_UNUSED.
1155         (mips_asm_file_start): Move variable into the scope where it's
1156         used.
1157         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
1158         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1159         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
1160         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1161         * ns32k.c (print_operand): Likewise.
1162         * pa.c (print_operand, output_div_insn): Likewise.
1163         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
1164         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
1165         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
1166         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1167         specifier warnings.
1168         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1169         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1170         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
1171         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1172         specifier warnings.
1173         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1174
1175         * sdbout.c (sdbout_end_epilogue): Mark parameter with
1176         ATTRIBUTE_UNUSED.
1177         * varasm.c (assemble_global): Likewise.
1178
1179 2001-11-11  H.J. Lu <hjl@gnu.org>
1180
1181         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
1182
1183 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
1184
1185         * final.c (*_MAX_SKIP): Use *_max_skip variables.
1186         * flags.h (align_loops_max_skip, align_jumps_max_skip,
1187         align_labels_max_skip): New global variables.
1188         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
1189         align_labels_max_skip): New global variables.
1190         (toplev_main): Set new variables.
1191         * i386.c (override_options): Set max_skip values.
1192
1193 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
1194
1195         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1196         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1197         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1198         don't print an @fptr for labels either.
1199         (xstormy16_output_addr_vec): Don't print @fptr here.
1200         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1201
1202 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
1203
1204         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1205         an ANSI/ISO definitino.
1206         (ssa_const_prop): Likewise.
1207
1208 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
1209
1210         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1211         altivec registers.
1212
1213 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1214
1215         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1216         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1217         * cppmain.c (general_init): Call hex_init.
1218         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
1219
1220         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1221
1222         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1223         of dgux.c:output_file_start().
1224
1225         * i386/dgux.c: Delete file.
1226
1227 2001-11-09  Richard Henderson  <rth@redhat.com>
1228
1229         * config/alpha/alpha.c (decl_in_text_section): New.
1230         (current_file_function_operand): Use it.
1231         (alpha_encode_section_info, alpha_end_function): Likewise.
1232
1233 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
1234
1235         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1236         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1237         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1238         so OS specific files and use CPP_PREDEFINES for their needs.
1239         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
1240         target headers to tm_file.
1241         * config/ia64/aix.h (TARGET_VERSION): Likewise.
1242         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1243         * config/ia64/linux.h (TARGET_VERSION): Likewise.
1244         (FUNCTION_PROFILER): Remove.
1245         * config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
1246         version in config/ia64/linux.h.
1247         * config/ia64/freebsd.h: New file.
1248         * config/freebsd.h: Tidy up.
1249         (_USING_CONFIG_FREEBSD): Define.
1250         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
1251         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
1252         (FBSD_STARTFILE_SPEC): Likewise.
1253         (FBSD_ENDFILE_SPEC): Likewise.
1254         (FBSD_LIB_SPEC): Likewise.
1255         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
1256         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
1257         set an ELF-improper one.
1258
1259 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1260
1261         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
1262         constant can be loaded in a single instruction to a register.  When
1263         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
1264         depdi for insertion of most significant 32-bits on 64-bit hosts.
1265         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
1266         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
1267         * pa.md: New addmove pattern for adding constant_int to HImode
1268         register and moving result to HImode register.  Remove HImode HIGH
1269         and LO_SUM patterns.
1270
1271 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1272
1273         * Makefile.in: Update.
1274         * c-decl.c (print_lang_decl, print_lang_type): Remove.
1275         (print_lang_identifier): Rename c_print_identifier.
1276         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1277         (print_lang_statistics, lang_print_xnode): Remove.
1278         * c-parse.in (set_yydebug): Rename c_set_yydebug.
1279         * c-tree.h (c_set_yydebug, c_print_identifier): New.
1280         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
1281         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
1282         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
1283         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1284         (LANG_HOOKS_INITIALIZER): Update.
1285         * langhooks.h (struct lang_hooks): New members.
1286         (lang_print_tree_hook): New.
1287         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
1288         * print-tree.c: Include langhooks.h.
1289         (print_node): Update.
1290         * toplev.c (decode_d_option): Update.
1291         * tree.c: Include langhooks.h.
1292         (dump_tree_statistics): Update.
1293         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
1294         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
1295 objc:
1296         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
1297         LANG_HOOKS_SET_YYDEBUG): Override.
1298         (lang_print_xnode, print_lang_statistics): Remove.
1299
1300 2001-11-09  Richard Henderson  <rth@redhat.com>
1301
1302         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
1303         on the symbol string.
1304
1305 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1306
1307         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
1308         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
1309         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
1310
1311         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
1312
1313         * tlink.c (recompile_files): Copy strings passed to `putenv'.
1314
1315 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
1316
1317         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
1318         (TYPE_READONLY): Likewise.
1319
1320         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
1321
1322         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
1323         don't pass --gdwarf2 to the assembler if the compiler will also
1324         provide debug info.
1325
1326         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
1327         Don't change INDEX.
1328
1329 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1330
1331         * alias.c (nonoverlapping_memrefs_p): New function.
1332         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
1333
1334         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
1335
1336 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
1337
1338         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
1339         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
1340         generating altivec code.
1341         (FIXED_REGISTERS): VRSAVE is fixed.
1342         (CALL_USED_REGISTERS): VRSAVE is call used.
1343
1344 2001-11-09  Jason Eckhardt  <jle@rice.edu>
1345
1346         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
1347         code the branch target as ".+16/.+12", but rather use labels.
1348
1349 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
1350
1351         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
1352         to work around limitations of certain versions of GAS.
1353
1354         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
1355         (muldi3): Update due to SUBREG_BYTE changes.
1356         (casesi): Similarly.
1357
1358 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
1359
1360         * doc/invoke.texi: Remove comment referring to -xf77-version.
1361
1362 2001-11-09  Kazu Hirata  <kazu@hxi.com>
1363
1364         * config/convex/convex.c: Fix comment formatting.
1365         * config/convex/convex.h: Likewise.
1366
1367 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
1368
1369         * Makefile.in (.po.pox): Look both in srcdir and builddir
1370         for $(PACKAGE).pot.
1371         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
1372         to the source directory.
1373
1374 2001-11-09 Ben Elliston  <bje@redhat.com>
1375            Michael Meissner  <meissner@redhat.com>
1376            Andrew MacLeod  <amacleod@redhat.com>
1377            Richard Henderson  <rth@redhat.com>
1378            Nick Clifton  <nickc@redhat.com>
1379            Catherine Moore  <clm@redhat.com>
1380
1381         * m32r.c: Add support for m32rx processor.
1382         * m32r.h: Ditto.
1383         * m32r.md: Ditto.
1384         * t-m32r: Ditto.
1385         * m32r-protos.h: Add prototypes for m32rx functions.
1386         * doc/invoke.texi: Document -m32rx option.
1387
1388 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1389
1390         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
1391         or after reload.
1392
1393 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1394
1395         * doc/install.texi2html: Use $MAKEINFO --no-split.
1396
1397 2001-11-09  Andreas Schwab  <schwab@suse.de>
1398
1399         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
1400         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
1401         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1402         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
1403         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
1404
1405 2001-11-09  H.J. Lu <hjl@gnu.org>
1406
1407         * config/mips/mips.c (mips_output_function_prologues): Cast
1408         `tsize' to long for output.
1409
1410 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1411
1412         * c-lang.c (LANG_HOOKS_NAME): New.
1413         (lang_hooks): Constify.
1414         (c_init_options): Update.
1415         (lang_identify): Remove.
1416         * c-parse.in (language_string): Remove.
1417         * dbxout.c: Include langhooks.h.
1418         (dbxout_symbol_location): Update.
1419         * dwarf2out.c: Include langhooks.h.
1420         (gen_compile_unit_die): Update.
1421         * dwarfout.c: Include langhooks.h.
1422         (prototyped_attribute, output_compile_unit_die): Update.
1423         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
1424         (LANG_HOOKS_INITIALIZER): Update.
1425         * langhooks.h (struct lang_hooks): New members.  Constify.
1426         * stringpool.c: Don't include toplev.h.
1427         (set_identifier_size): Remove.
1428         * toplev.c (toplev_main): Initialize identifier size.
1429         (print_version): Update.
1430         * tree.h (language_string, init_lex, lang_identify,
1431         set_identifier_size): Remove.
1432         * Makefile.in: Update dependencies.
1433         * config/darwin.c: Include langhooks.h.
1434         (func_name_maybe_scoped): Update.
1435         * config/darwin.h (ASM_END_FILE): Update.
1436         * config/nextstep.h (ASM_END_FILE): Update.
1437         * config/nextstep21.h (ASM_END_FILE): Update.
1438         * config/i386/sun386.h (ASM_END_FILE): Update.
1439         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
1440         (rs6000_output_function_epilogue): Update.
1441 objc:
1442         * objc-act.c (LANG_HOOKS_NAME): Override.
1443         (struct lang_hooks): Constify.
1444         (objc_init_options): Update.
1445         (lang_identify): Remove.
1446
1447 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
1448
1449         * fold-const.c (lshift_double): Honor PREC.
1450         (rshift_double): Likewise.
1451
1452 2001-11-08  Kazu Hirata  <kazu@hxi.com>
1453
1454         * config/1750a/1750a.c: Fix comment formatting.
1455         * config/1750a/1750a.h: Likewise.
1456
1457 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
1458
1459         * configure.in (--enable-languages): Be more permissive about
1460         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
1461         * configure: Regenerated.
1462
1463 2001-11-08  Richard Henderson  <rth@redhat.com>
1464
1465         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
1466
1467 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
1468
1469         * config.gcc: Rename stormy16 to xstormy16.
1470         * config/stormy16/stormy-abi: Likewise.
1471         * config/stormy16/stormy16-protos.h: Likewise.
1472         * config/stormy16/stormy16.c: Likewise.
1473         * config/stormy16/stormy16.h: Likewise.
1474         * config/stormy16/stormy16.md: Likewise.
1475
1476 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
1477
1478         * tree.h (TYPE_VOLATILE): Add enable-checking code.
1479         (TYPE_READONLY): Likewise.
1480
1481 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1482
1483         * reload1.c (reload): Don't delete equiv insn if can throw.
1484
1485         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
1486         (clear_storage): Likewise, for OBJECT.
1487
1488 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
1489
1490         * pa.c (emit_move_sequence): Fix SUBREG expression to
1491         use proper byte offset when extending a constant from
1492         SImode to DImode.
1493
1494 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1495
1496         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
1497         which cannot throw.
1498
1499 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1500
1501         * explow.c (convert_memory_address, case SUBREG): Only return
1502         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
1503
1504 2001-11-08  Richard Henderson  <rth@redhat.com>
1505
1506         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
1507         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
1508         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
1509
1510 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
1511
1512         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
1513
1514 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1515
1516         * dwarf2out.c (debug_str_hash): New.
1517         (struct indirect_string_node): New.
1518         (struct dw_val_struct): Change type of val_str to it.
1519         (DEBUG_STR_SECTION_FLAGS): Define.
1520         (add_AT_string): Push string into hashtable, increment reference
1521         counter.
1522         (AT_string): Return string from ht_identifier.
1523         (AT_string_form): New.
1524         (free_AT): For dw_val_class_str, just decrement reference counter.
1525         (size_of_string): Remove.
1526         (size_of_die): Use AT_string_form to decide what size the string
1527         occupies in DIE.
1528         (size_of_pubnames): Use strlen instead of size_of_string.
1529         (value_format): Use AT_string_form for dw_val_class_str.
1530         (output_die): Output DW_FORM_strp strings using
1531         dw2_asm_output_offset.
1532         (indirect_string_alloc, output_indirect_string): New.
1533         (dwarf2out_finish): Emit .debug_str strings if there are any.
1534
1535 2001-11-08  Andreas Franck  <afranck@gmx.de>
1536
1537         * configure.in: Add AC_ARG_PROGRAM to support program name
1538         transformation with --program-prefix, --program-suffix and
1539         --program-transform-name.
1540         * configure: Regenerated.
1541         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
1542         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
1543         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
1544         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
1545         program_transform_name the way suggested by autoconf.
1546         (GCC_TARGET_INSTALL_NAME): Define.
1547         (install-driver): Use the transformed target alias name.
1548
1549 2001-11-08  Richard Henderson  <rth@redhat.com>
1550
1551         * config/mips/mips.c (save_restore_insns): Remove GP from the
1552         restore registers mask early instead of special casing it inside
1553         the loop.
1554
1555 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1556
1557         * cp/decl.c (shadow_warning): New function.
1558         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
1559         and an error when a block scope decl shadows a parameter.
1560
1561 2001-11-08  Richard Henderson  <rth@redhat.com>
1562
1563         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
1564         case as well.
1565
1566 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1567
1568         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
1569         to implement floating negation on processors prior to PA 2.0.
1570
1571 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1572
1573         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
1574         (USE_LINKONCE_INDIRECT): Define.
1575         (dw2_output_indirect_constant_1): Try to output indirect constants
1576         into linkonce sections if possible.
1577         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
1578         (dw2_output_indirect_constants): Likewise.
1579
1580 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1581
1582         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
1583
1584 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
1585
1586         * c-decl.c (pushdecl): Remove file and line.
1587         * c-typeck.c (pop_init_level): Remove size.
1588
1589 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1590
1591         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
1592         for rs6000.
1593
1594         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
1595         (TARGET_ALTIVEC): New.
1596         (TARGET_SWITCHES): Add altivec.
1597         (FIRST_PSEUDO_REGISTER): Change to 109.
1598         (CALL_USED_REGISTERS): Same.
1599         (FIRST_ALTIVEC_REGNO): New.
1600         (LAST_ALTIVEC_REGNO): New.
1601         (ALTIVEC_REGNO_P): New.
1602         (UNITS_PER_ALTIVEC_WORD): New.
1603         (ALTIVEC_VECTOR_MODE): New.
1604         (FIXED_REGISTERS): Add altivec registers.
1605         (REG_ALLOC_ORDER): Same.
1606         (HARD_REGNO_NREGS): Adjust for altivec registers.
1607         (HARD_REGNO_MODE_OK): Same.
1608         (MODES_TIEABLE_P): Same.
1609         (REGISTER_MOVE_COST): Same.
1610         (REGNO_REG_CLASS): Same.
1611         (reg_class): Add ALTIVEC_REGS.
1612         (REG_CLASS_NAMES): Same.
1613         (REG_CLASS_CONTENTS): Same.
1614         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
1615         (ALTIVEC_ARG_RETURN): New.
1616         (FUNCTION_VALUE): Handle VECTOR_TYPE.
1617         (LIBCALL_VALUE): Handle altivec vector modes.
1618         (VECTOR_MODE_SUPPORTED_P): New.
1619         (ALTIVEC_ARG_MIN_REG): New.
1620         (ALTIVEC_ARG_MAX_REG): New.
1621         (ALTIVEC_ARG_NUM_REG): New.
1622         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
1623         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
1624         (REGISTER_NAMES): Add altivec regs.
1625         (DEBUG_REGISTER_NAMES): Same.
1626         (ADDITIONAL_REGISTER_NAMES): Same.
1627         (rs6000_builtins): New.
1628         (MD_EXPAND_BUILTIN): New.
1629         (MD_INIT_BUILTINS): New.
1630         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
1631         for AltiVec instructions.
1632         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1633         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
1634         registers.
1635         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
1636         (TARGET_SWITCHES): Add no-altivec.
1637         (DATA_ALIGNMENT): Align vectors to 128 bits.
1638         (TARGET_OPTIONS): Add abi= option.
1639         Add rs6000_abi_string extern.
1640         (LOCAL_ALIGNMENT): New.
1641         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
1642         (MASK_ALTIVEC_ABI): New.
1643         (TARGET_ALTIVEC_ABI): New.
1644         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
1645         call-saved.
1646         (STACK_BOUNDARY): Adjust for altivec.
1647         (BIGGEST_ALIGNMENT): Same.
1648         (rs6000_args): Add vregno.
1649         (USE_ALTIVEC_FOR_ARG_P): New.
1650         (FIXED_REGISTERS): Add vrsave register.
1651         (CALL_USED_REGISTERS): Same.
1652         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
1653         (VRSAVE_REGNO): New.
1654         (reg_class): Add VRSAVE_REGS.
1655         (REG_CLASS_NAMES): Same.
1656         (REG_CLASS_CONTENTS): Same.
1657         (REGNO_REG_CLASS): Same.
1658
1659         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
1660         (ABI_STACK_BOUNDARY): Same.
1661         (BIGGEST_ALIGNMENT): Same.
1662         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
1663         (ROUND_TYPE_ALIGN): Same.
1664
1665         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1666         to 64.
1667
1668         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1669         to 64.
1670
1671         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1672         to 64.
1673
1674         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
1675         (altivec_expand_builtin): New.
1676         (altivec_init_builtins): New.
1677         (TARGET_EXPAND_BUILTIN): New.
1678         (TARGET_INIT_BUILTINS): New.
1679         (rs6000_init_builtins): New.
1680         (struct builtin_description): New.
1681         (bdesc_2arg): New.
1682         (rs6000_reg_names): Add altivec registers.
1683         (alt_reg_names): Same.
1684         (secondary_reload_class): Altivec regs can hold altivec regs and
1685         memory.
1686         (rs6000_emit_move): Force constants into memory for AltiVec moves.
1687         (print_operand): Add 'y' case for printing altivec memory
1688         operands.
1689         (rs6000_legitimize_address): Legitimize vector addresses into
1690         [REG+REG] or [REG].
1691         (altivec_expand_binop_builtin): New.
1692         New string rs6000_current_abi.
1693         (rs6000_override_options): Call rs6000_parse_abi_options.
1694         (rs6000_parse_abi_options): New.
1695         (function_arg_boundary): Vector arguments must be 16
1696         byte aligned.
1697         (function_arg_advance): Handle vector arguments.
1698         (function_arg_partial_nregs): Same.
1699         (init_cumulative_args): Same.
1700         (function_arg): Same.
1701
1702         * config/rs6000/rs6000.md (altivec_lvx): New.
1703         (type): Add altivec attribute.
1704         (movv4si): New.
1705         (*movv4si_internal): New.
1706         (movv16qi): New.
1707         (*movv16qi_internal): New.
1708         (movv8hi): New.
1709         (*movv8hi_internal1): New.
1710         (movv4sf): New.
1711         (*movv4sf_internal1): New.
1712         (altivec_stvx): New.
1713         (vaddubm): New.
1714         (vadduhm): New.
1715         (vadduwm): New.
1716         (vaddfp): New.
1717         (vaddcuw): New.
1718         (vaddubs): New.
1719         (vaddsbs): New.
1720         (vadduhs): New.
1721         (vaddshs): New.
1722         (vadduws): New.
1723         (vaddsws): New.
1724         (vand): New.
1725         (vandc): New.
1726         (vavgub): New.
1727         (vavgsb): New.
1728         (vavguh): New.
1729         (vavgsh): New.
1730         (vavguw): New.
1731         (vavgsw): New.
1732         (vcmpbfp): New.
1733         (vcmpequb): New.
1734         (vcmpequh): New.
1735         (vcmpequw): New.
1736         (vcmpeqfp): New.
1737         (vcmpgefp): New.
1738         (vcmpgtub): New.
1739         (vcmpgtsb): New.
1740         (vcmpgtuh): New.
1741         (vcmpgtsh): New.
1742         (vcmpgtuw): New.
1743         (vcmpgtsw): New.
1744         (vcmpgtfp): New.
1745         (vcmpgefp): New.
1746         (vcmpgtub): New.
1747         (vcmpgtsb): New.
1748         (vcmpgtuh): New.
1749         (vcmpgtsh): New.
1750         (vcmpgtuw): New.
1751         (vcmpgtsw): New.
1752         (vcmpgtfp): New.
1753         (vmaxub): New.
1754         (vmaxsb): New.
1755         (vmaxuh): New.
1756         (vmaxsh): New.
1757         (vmaxuw): New.
1758         (vmaxsw): New.
1759         (vmaxfp): New.
1760         (vmrghb): New.
1761         (vmrghh): New.
1762         (vmrghw): New.
1763         (vmrglb): New.
1764         (vmrglh): New.
1765         (vmrglw): New.
1766         (vminub): New.
1767         (vminsb): New.
1768         (vminuh): New.
1769         (vminsh): New.
1770         (vminuw): New.
1771         (vminsw): New.
1772         (vminfp): New.
1773         (vmuleub): New.
1774         (vmulesb): New.
1775         (vmuleuh): New.
1776         (vmulesh): New.
1777         (vmuloub): New.
1778         (vmulosb): New.
1779         (vmulouh): New.
1780         (vmulosh): New.
1781         (vnor): New.
1782         (vor): New.
1783         (vpkuhum): New.
1784         (vpkuwum): New.
1785         (vpkpx): New.
1786         (vpkuhss): New.
1787         (vpkshss): New.
1788         (vpkuwss): New.
1789         (vpkswss): New.
1790         (vpkuhus): New.
1791         (vpkshus): New.
1792         (vpkuwus): New.
1793         (vpkswus): New.
1794         (vrlb): New.
1795         (vrlh): New.
1796         (vrlw): New.
1797         (vslb): New.
1798         (vslh): New.
1799         (vslw): New.
1800         (vsl): New.
1801         (vslo): New.
1802         (vsrb): New.
1803         (vrsh): New.
1804         (vrsw): New.
1805         (vsrab): New.
1806         (vsrah): New.
1807         (vsraw): New.
1808         (vsr): New.
1809         (vsro): New.
1810         (vsububm): New.
1811         (vsubuhm): New.
1812         (vsubuwm): New.
1813         (vsubfp): New.
1814         (vsubcuw): New.
1815         (vsububs): New.
1816         (vsubsbs): New.
1817         (vsubuhs): New.
1818         (vsubshs): New.
1819         (vsubuws): New.
1820         (vsubsws): New.
1821         (vsum4ubs): New.
1822         (vsum4sbs): New.
1823         (vsum4shs): New.
1824         (vsum2sws): New.
1825         (vsumsws): New.
1826         (vxor): New.
1827
1828 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
1829
1830         * Makefile.in (df.o): Add fibheap.h to dependencies.
1831
1832         * df.h: Add prototypes for transfer functions, iterative_dataflow
1833         functions.
1834         (enum df_flow_dir): New enum.
1835         (enum df_confluence_op): New enum.
1836         (struct df): Add inverse_rts_map.
1837
1838         * df.c: Add sbitmap.h to the list of includes.
1839         (df_rd_global_compute): Removed.
1840         (df_ru_global_compute): Removed.
1841         (df_lr_global_compute): Removed.
1842         (df_rd_transfer_function): New function.
1843         (df_ru_transfer_function): New function.
1844         (df_lr_transfer_function): New function.
1845         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
1846         Use iterative_dataflow_bitmap instead of df_*_global_compute.
1847         (iterative_dataflow_sbitmap): New function.
1848         (iterative_dataflow_bitmap): New function.
1849
1850 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1851
1852         * doc/gcc.texi: Move terminology and spelling conventions to
1853         htdocs/codingconventions.html.
1854
1855 2001-11-07  Graham Stott  <grahams@redhat.com>
1856
1857         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
1858
1859 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
1860
1861         * expmed.c (expand_mult): Force operand to register before computing
1862         cost.
1863         * i386.c (x86_decompose_lea): New global vairable.
1864         * i386.h (x86_decompose_lea): Declare.
1865         (TARGET_DECOMPOSE_LEA): New macro.
1866         (RTX_COST): Handle leas properly.
1867
1868 2001-11-06  Richard Henderson  <rth@redhat.com>
1869
1870         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
1871         defined for a CONSTRUCTOR; don't check it.
1872
1873 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
1874
1875         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
1876         test for absolute pathnames.
1877
1878 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
1879
1880         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
1881         instructions up to the target pc inclusive.
1882
1883 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
1884
1885         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
1886
1887 2001-11-06  Eric Christopher  <echristo@redhat.com>
1888
1889         * config/mips/mips.md(movdf_internal2): Add constraints for float
1890         to general register move.
1891         * config/mips/elf64.h: Add default ABI.
1892
1893 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1894
1895         * alias.c:: Include langhooks.h.
1896         * emit-rtl.c: Similarly.
1897         * toplev.c: Similarly.
1898         * tree-inline.c: Similarly.
1899         * langhooks-def.h: New, the old langhooks.h.  Give the default
1900         hooks a common prefix.
1901         * langhooks.h: Contents extracted from toplev.h.
1902         * toplev.h: Move langhook stuff to langhooks.h.
1903         * langhooks.c: Give default hooks a common prefix.
1904
1905         * c-lang.c: Include langhooks-def.h.
1906         * objc/objc-act.c: Similarly.
1907         * Makefile.in: Update.
1908         * objc/Make-lang.in: Update.
1909
1910 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1911
1912         * doc/install.texi: Document that configure options not listed in
1913         this file are unsupported.  Document --with-system-zlib.
1914
1915 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1916
1917         * rtl.h (mem_for_const_double): New declaration.
1918         * varasm.c (mem_for_const_double): New function.
1919         * config/convex/convex.md (movdf): Use it.
1920         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
1921         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
1922         * config/m68k/m68kv4.h: Likewise.
1923
1924         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
1925         of new GP reg classes.
1926
1927         * expr.c (store_field): When making temp object for unaligned
1928         component, set it to alias set 0.
1929
1930 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1931
1932         * c-common.c (c_expand_expr_stmt): Apply default conversions to
1933         non-lvalue arrays if C99.
1934         * c-typeck.c (default_conversion): Split out code handling
1935         array-to-pointer and function-to-pointer conversions into a
1936         separate default_function_array_conversion function.
1937         (default_function_array_conversion): New function.  Keep track of
1938         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
1939         arrays unchanged outside C99 mode instead of giving an error for
1940         them.
1941         (build_component_ref): Use pedantic_non_lvalue when handling
1942         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
1943         (convert_arguments): Use default_function_array_conversion.
1944         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
1945         non-lvalues are OK.
1946         (unary_complex_lvalue): Likewise.
1947         (internal_build_compound_expr): Use
1948         default_function_array_conversion.  Apply default conversions to
1949         function in compound expression.
1950         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
1951         Use default_function_array_conversion.
1952         * doc/extend.texi: Update documentation of subscripting non-lvalue
1953         arrays.
1954         Fixes PR c/461.
1955
1956 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
1957
1958         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
1959         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
1960         corresponding to the complete set of .po and .gmo files in
1961         the source directory's po subdir, modified by LINGUAS.  Don't
1962         look at ALL_LINGUAS.
1963         * configure.in: Don't set ALL_LINGUAS.
1964         * configure: Regenerate.
1965
1966         * Makefile.in (.po.gmo): Don't move into source directory.
1967         (.po.pox): Clarify comments.
1968         (install-po): Look for .gmo files in both srcdir and objdir;
1969         don't fail if a file is totally missing.
1970         (distclean): rmdir ada subdirectory too.
1971
1972 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
1973
1974         * config/rs6000/rs6000.c (rs6000_select_section): Handle
1975         CONSTRUCTORs _correctly_.
1976
1977 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1978
1979         * c-decl.c (delete_block): Remove.
1980         * c-tree.h (delete_block): Remove.
1981
1982 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1983
1984         * cppexp.c (lex, parse_defined): Update warning about defined.
1985
1986 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
1987
1988         * config/rs6000/rs6000.c (rs6000_select_section): Handle
1989         CONSTRUCTORs too.
1990
1991 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
1992
1993         * config/arm/arm.c (arm_return_in_memory): Cope with
1994         int_size_in_bytes returning -1.
1995
1996         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
1997         DECL being NULL.
1998
1999 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
2000
2001         * Makefile.in (bb-reoder.o): Add dependency on cfglayout.h;
2002         remove unneeded dependencies;
2003         (cfglayout.o): New.
2004         * cfglayout.c, cfglayout.h: New files; break out from ...
2005         * bb-reorder.c: ... here; Remove unneeded includes;
2006
2007 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
2008
2009         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
2010
2011 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
2012
2013         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
2014         mode as well.  Do not explicitly create intermediate regs.
2015
2016 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2017
2018         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
2019         (common_section): Delete unused variable.
2020         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
2021         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
2022         * arm-protos.h (arm_poke_function_name, aof_add_import,
2023         aof_delete_import): Const-ify.
2024         * arm.c (legitimize_pic_address): Wrap variables in the macro
2025         controlling their usage.
2026         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
2027         (arm_poke_function_name, pic_chain, import, aof_add_import,
2028         aof_delete_import): Const-ify.
2029         * i386.c (ix86_osf_output_function_prologue): Const-ify.
2030         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2031         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
2032         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
2033         * i860/sysv3.h: Add missing comment closure.
2034         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
2035         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
2036         to symbolic_operand.
2037
2038         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
2039         (i960-*-*): Set tmake_file.
2040         (sparc86x-*-elf*): Fix typo in header name.
2041
2042         * sched-rgn.c (schedule_insns): Delete unused variable.
2043
2044 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2045
2046         PR c/2820
2047         * c-typeck.c (lookup_field): Rework to return a chain down to
2048         the looked-up field.
2049         (build_component_ref): Use the new lookup_field to handle
2050         nested anonymous entities correctly.
2051
2052 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2053
2054         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
2055         Change parameters to gen_rtx_CONST_DOUBLE.
2056         (GEN_INT64, sparc_emit_set_const64): Likewise.
2057         * config/sparc/sparc.md (movdf split): Likewise.
2058
2059 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
2060
2061         * unroll.c (calculate_giv_inc): Use find_last_value rather
2062         than just hoping the last instruction is the right SET.
2063         [Fixes 990604-1.c on stormy16.]
2064
2065         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
2066         library at all if -T is used.
2067
2068         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
2069         some uses of uninitialized variables in error cases.
2070
2071         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
2072         look at 'temp' if we won't be using it.
2073
2074         * config/stormy16/stormy16.h (CONST_COSTS): Define.
2075         (RTX_COSTS): Define.
2076         (ADDRESS_COST): Define.
2077         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
2078
2079         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
2080
2081         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
2082         stormy16_asm_output_mi_thunk.
2083         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
2084         function.
2085         * config/stormy16/stormy16-protos.h
2086         (stormy16_asm_output_mi_thunk): New prototype.
2087
2088 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2089
2090         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
2091         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
2092         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
2093         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
2094         sched-int.h, toplev.c, config/alpha/alpha.c,
2095         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
2096         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
2097         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
2098         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
2099         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
2100         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
2101         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
2102
2103 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2104
2105         * Makefile.in (dbxout.o): Depend on function.h.
2106         * collect2.c (is_in_list): Hide unused function.
2107         * dbxout.c: Include function.h.
2108         (source_label_number, dbxout_source_line, dbxout_source_file,
2109         dbxout_function_end, dbxout_begin_function): Wrap/move inside
2110         macros controlling usage.
2111         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
2112         * output.h (exports_section): Prototype.
2113
2114         * convex.c (convex_output_function_prologue): Fix format specifier
2115         warning.
2116         (asm_declare_function_name): Fix signed/unsigned warning.
2117         (print_operand): Fix format specifier warning.
2118         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2119         * dsp16xx-protos.h (uns_comparison_operator,
2120         num_1600_core_shifts): Prototype.
2121         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
2122         (frame_size, frame_pointer_offset): Delete.
2123         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
2124         Make static.  Fix format specifier warnings.
2125         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
2126         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
2127         * dsp16xx.md: Add default case in switches.
2128         * fr30.h (IN_RANGE): Delete.
2129         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2130         * mcore-protos.h (mcore_output_cmov): Const-ify.
2131         * mcore.c (mcore_output_cmov): Likewise.
2132         * mcore.h (switch_to_section): Make static and prototype.
2133         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
2134         unsigned>=0 warnings.
2135         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
2136         * rs6000-protos.h (read_only_data_section,
2137         read_only_private_data_section): Prototype.
2138         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2139         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
2140         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
2141
2142 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2143
2144         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
2145         ATTRIBUTE_UNUSED.
2146         * final.c (final_scan_insn): Add brackets around body of if-stmt.
2147         * gcc.c (convert_filename): Add static prototype.  Const-ify.
2148         Wrap variable in macros controlling its use.
2149         * output.h (sdata_section): Add prototype.
2150
2151         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2152         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
2153         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
2154         (ASM_FILE_START): Const-ify.
2155         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
2156         specifier warning.
2157         * c4x.md: Don't use the 'U' integer suffix.
2158         * clipper.md (clipper_movstr): Delete declaration.
2159         * d30v-protos.h (d30v_move_2words): Const-ify.
2160         (debug_stack_info): Add prototype.
2161         * d30v.c: Include "integrate.h".
2162         (d30v_function_arg_boundary, d30v_function_arg,
2163         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
2164         signed/unsigned warnings.
2165         (d30v_print_operand_memory_reference, d30v_move_2words):
2166         Const-ify.
2167         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
2168         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
2169         * fr30.md: Const-ify.
2170         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2171         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
2172         (mvs_get_label_page): Hide unused static function.
2173         * i860.c (current_function_original_name): Const-ify.
2174         * i860/sysv3.h (current_function_original_name): Likewise.
2175         * i860/sysv4.h (current_function_original_name): Likewise.
2176         * i960.md: Add default case in switches.  Remove unused variable.
2177         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
2178         * m32r.md: Const-ify.
2179         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
2180         * m68hc11.c: Include "reload.h".
2181         (static_chain_reg, print_options, m68hc11_asm_file_start):
2182         Const-ify.
2183         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
2184         around & in comparison.
2185         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2186         * mn10200.c (shift_mode): Remove trailing comma.
2187         * mn10300-protos.h (output_tst): Const-ify.
2188         * mn10300.c (output_tst): Likewise.
2189         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
2190         warnings.
2191         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
2192         * pa.c (output_ascii): Likewise.
2193         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2194         * pdp11.md (expand_unop): Delete declarations.
2195         * pj-protos.h (pj_output_addsi3): Const-ify.
2196         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2197         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2198         unique_src_operand): Add prototypes.
2199         (pj_output_store_into_lval): Make definition static.
2200         (pj_function_incoming_arg): Don't use unary plus.
2201         (pj_output_addsi3): Const-ify.
2202         * romp.md (get_symref): Delete declarations.
2203         * v850-c.c (mark_current_function_as_interrupt): Don't return
2204         value from void function.
2205         * v850.c: Include "integrate.h".
2206         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2207         * vax-protos.h (const_section): Add prototype.
2208
2209 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
2210
2211         * machmode.def: Add documentation for the seventh argument in
2212         vector modes.
2213
2214 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
2215
2216         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2217         consistently.
2218         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2219         <-melf>: Don't have markup for ELF acronym.
2220
2221 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
2222
2223         * config.gcc (mmix-*-*): New target.
2224         * doc/invoke.texi: Document MMIX options.
2225         * doc/contrib.texi: Add note about MMIX port to my entry.
2226         * config/mmix/t-mmix: New file.
2227         * config/mmix/mmix.h: New file.
2228         * config/mmix/mmix-protos.h: New file.
2229         * config/mmix/mmix.c: New file.
2230         * config/mmix/mmix.md: New file.
2231         * config/mmix/crti.asm: New file.
2232         * config/mmix/crtn.asm: New file.
2233
2234 2001-11-03  Kazu Hirata  <kazu@hxi.com>
2235
2236         * config/sparc/linux-aout.h: Fix comment formatting.
2237         * config/sparc/linux.h: Likewise.
2238         * config/sparc/linux64.h: Likewise.
2239         * config/sparc/lynx.h: Likewise.
2240         * config/sparc/pbd.h: Likewise.
2241         * config/sparc/sol2-sld-64.h: Likewise.
2242         * config/sparc/sol2.h: Likewise.
2243         * config/sparc/sparc.c: Likewise.
2244         * config/sparc/sparc.h: Likewise.
2245         * config/sparc/sparc.md: Likewise.
2246         * config/sparc/sunos4.h: Likewise.
2247         * config/sparc/vxsim.h: Likewise.
2248         * config/sparc/vxsparc.h: Likewise.
2249         * config/sparc/vxsparc64.h: Likewise.
2250
2251 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2252
2253         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
2254         reference to CONST_DOUBLE_MEM in comment.
2255         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
2256         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
2257         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
2258         * function.c (pop_function_context_from): Don't call
2259         restore_varasm_status.
2260         * function.h (restore_varasm_status): Delete declaration.
2261         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
2262         * rtl.c: Likewise.
2263         * rtl.def (CONST_DOUBLE): Update comment.
2264         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
2265         (CONST_DOUBLE_CHAIN): Likewise.
2266         (CONST_DOUBLE_MEM): Delete.
2267         (gen_rtx_CONST_DOUBLE): Update parameters.
2268         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
2269         Remove reference to CONST_DOUBLE_MEM.
2270         (const_alias_set): New variable.
2271         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
2272         (immed_real_const_1): Adjust tests for 0, 1, and 2.
2273         Don't set CONST_DOUBLE_MEM.
2274         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
2275         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
2276         Put constant in const_alias_set.
2277         (struct pool_constant): ALIGN now unsigned.
2278         OFFSET now HOST_WIDE_INT.
2279         Delete LABEL.
2280         (restore_varasm_status): Deleted.
2281         (mark_pool_constant): Mark desc->rtl.
2282         (force_const_mem): Rework to store rtl in hash table,
2283         not CONST_DOUBLE_MEM.
2284         Put constant in const_alias_set.
2285         (find_pool_constant): Check desc->rtl.
2286         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
2287         (init_varasm_once): Initialize const_alias_set.
2288
2289         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
2290         force_const_mem.
2291
2292         * reload.c (combine_reloads): Don't combine an output reload if there
2293         are other reloads around for part of the output.
2294
2295         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
2296         constant expression.
2297         (set_mem_decl): New function.
2298         * expr.h (set_mem_decl): New declaration.
2299         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
2300         (output_asm_operand_names): Add tab.
2301         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
2302
2303         * builtins.c (get_memory_rtx): Properly set MEM alias set and
2304         attributes.
2305
2306 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2307
2308         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
2309         Use "invalid" instead of "illegal".  Use @r in comments in
2310         examples.
2311
2312 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2313
2314         * c-decl.c (pushdecl): Move block inside if conditional to remove
2315         possibility of a segfault.  Lookup block-level extern
2316         variables in enclosing scopes correctly.
2317
2318         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
2319
2320 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2321
2322         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
2323         SUBREG so we avoid SUBREGing memory.
2324
2325         * expmed.c (store_bit_field): Same.
2326
2327 2001-11-02  DJ Delorie  <dj@redhat.com>
2328
2329         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
2330         using FP registers for DImode mem-mem moves is acceptable.
2331
2332 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2333
2334         * builtins.c (apply_args_size): Handle vector arguments.
2335         (apply_result_size): Same.
2336
2337         * machmode.def: Set WIDER mode field for all vector entries.
2338
2339 2001-11-02  Graham Stott  <grahams@redhat.com>
2340
2341         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
2342
2343 2001-11-01  Eric Christopher  <echristo@redhat.com>
2344
2345         * config.gcc: Revert part of earlier patch.
2346         * config/mips/linux.h: Ditto.
2347         * df.c: Include tm_p.h to avoid warnings.
2348         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
2349         #if/#endif.
2350         * config/mips/mips.c: Define mips_abi regardless.
2351         (mips_output_function_prologues): Add long casts for .frame
2352         output.
2353         (override_options): Allow use of ABI_32.
2354
2355 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2356
2357         * config/m68hc11/m68hc11.c: Fix comment formatting.
2358         * config/m68hc11/m68hc11.h: Likewise.
2359         * config/m68hc11/m68hc11.md: Likewise.
2360
2361 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2362
2363         * c-typeck.c (default_conversion): Retain the original expression
2364         codes.
2365         * gcc.dg/Wparentheses.c: New tests.
2366
2367 2001-11-01  David S. Miller  <davem@redhat.com>
2368
2369         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
2370         64-bit Sparc description more in line with reality.
2371
2372 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2373
2374         * Makefile.in (GCOV_OBJS): Add version.o.
2375         * gcov.c: Include "version.h" and <getopt.h>.
2376         (gcov_version_string): Remove.
2377         (print_usage): Take a parameter to determine whether this is a
2378         call from --help or an error message.  Give fuller output that
2379         follows the GNU Coding Standards for --help.
2380         (print_version): New function.
2381         (options): New.
2382         (process_args): Use getopt_long.  Support long options.  Follow
2383         GNU Coding Standards for --help and --version.
2384         * doc/gcov.texi: Document long options.
2385         Addresses part of PR other/704.
2386
2387 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2388
2389         * pa.c (output_move_double): Fix typo in double load.
2390
2391 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2392
2393         * config/h8300/h8300.c (h8300_encode_label): Compute a string
2394         before passing it to ggc_alloc_string.
2395
2396 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2397
2398         * config/m68k/3b1.h: Fix comment formatting.
2399         * config/m68k/3b1g.h: Likewise.
2400         * config/m68k/a-ux.h: Likewise.
2401         * config/m68k/amix.h: Likewise.
2402         * config/m68k/apollo68.h: Likewise.
2403         * config/m68k/atari.h: Likewise.
2404         * config/m68k/aux-exit.c: Likewise.
2405         * config/m68k/ccur-GAS.h: Likewise.
2406         * config/m68k/crds.h: Likewise.
2407         * config/m68k/dpx2.h: Likewise.
2408         * config/m68k/dpx2g.h: Likewise.
2409         * config/m68k/hp310.h: Likewise.
2410         * config/m68k/hp320.h: Likewise.
2411         * config/m68k/isi.h: Likewise.
2412         * config/m68k/linux.h: Likewise.
2413         * config/m68k/lynx.h: Likewise.
2414         * config/m68k/m68k-psos.h: Likewise.
2415         * config/m68k/m68k.c: Likewise.
2416         * config/m68k/m68k.h: Likewise.
2417         * config/m68k/m68k.md: Likewise.
2418         * config/m68k/m68kelf.h: Likewise.
2419         * config/m68k/m68kv4.h: Likewise.
2420         * config/m68k/mot3300.h: Likewise.
2421         * config/m68k/news.h: Likewise.
2422         * config/m68k/next.h: Likewise.
2423         * config/m68k/pbb.h: Likewise.
2424         * config/m68k/plexus.h: Likewise.
2425         * config/m68k/sgs.h: Likewise.
2426         * config/m68k/sun3.h: Likewise.
2427         * config/m68k/tower.h: Likewise.
2428         * config/m68k/vxm68k.h: Likewise.
2429
2430 2001-10-31  DJ Delorie  <dj@redhat.com>
2431
2432         * config/mips/mips.h (mips_cache_flush_func): Prototype.
2433         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
2434         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
2435         * config/mips/mips.c (mips_cache_flush_func): New.
2436         * doc/invoke.texi: Document the new options.
2437
2438 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
2439
2440         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
2441         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
2442
2443         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
2444
2445         * config/cris/cris.c: Include output.h after tree.h but before
2446         target.h.
2447
2448 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
2449
2450         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
2451         (INTL_SUBDIRS): Just intl.
2452         (.SUFFIXES): Add .gmo .po .pox.
2453         (native): Also depend on build-@POSUB@.
2454         (intl.all, intl.install): Depend on config.h and things it includes.
2455         (po-generated): New target; depend on c-parse.c and tradcif.c.
2456         (install-normal): Also depend on install-@POSUB@.
2457         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
2458         (build-, install-, build-po, update-po, install-po,
2459         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
2460
2461         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
2462         * configure.in: Don't munge XGETTEXT.  Don't generate
2463         po/Makefile.in.
2464         * configure: Regenerate.
2465
2466         * exgettext: Delete.
2467         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
2468         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2469
2470 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2471
2472         * config/h8300/h8300.md (two anonymous patterns): New.
2473
2474 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
2475
2476         * tree.h (tree_index): Add support for V16QI and V8HI.
2477         (V8HI_type_node): New.
2478         (V16QI_type_node): New.
2479
2480         * tree.c (build_common_tree_nodes_2): Same.
2481
2482         * c-common.c (type_for_mode): Same.
2483
2484 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2485
2486         * config/i386/att.h: Fix comment formatting.
2487         * config/i386/beos-elf.h: Likewise.
2488         * config/i386/bsd.h: Likewise.
2489         * config/i386/bsd386.h: Likewise.
2490         * config/i386/crtdll.h: Likewise.
2491         * config/i386/cygwin.asm: Likewise.
2492         * config/i386/cygwin.h: Likewise.
2493         * config/i386/djgpp.h: Likewise.
2494         * config/i386/freebsd-aout.h: Likewise.
2495         * config/i386/freebsd.h: Likewise.
2496         * config/i386/gas.h: Likewise.
2497         * config/i386/i386-interix.h: Likewise.
2498         * config/i386/i386-protos.h: Likewise.
2499         * config/i386/i386.c: Likewise.
2500         * config/i386/i386.h: Likewise.
2501         * config/i386/i386.md: Likewise.
2502         * config/i386/i386elf.h: Likewise.
2503         * config/i386/interix.c: Likewise.
2504         * config/i386/isc.h: Likewise.
2505         * config/i386/isccoff.h: Likewise.
2506         * config/i386/iscdbx.h: Likewise.
2507         * config/i386/linux.h: Likewise.
2508         * config/i386/lynx.h: Likewise.
2509         * config/i386/mingw32.h: Likewise.
2510         * config/i386/netbsd-elf.h: Likewise.
2511         * config/i386/next.h: Likewise.
2512         * config/i386/osf1elf.h: Likewise.
2513         * config/i386/osfrose.h: Likewise.
2514         * config/i386/sco5.h: Likewise.
2515         * config/i386/seq-gas.h: Likewise.
2516         * config/i386/seq-sysv3.h: Likewise.
2517         * config/i386/sequent.h: Likewise.
2518         * config/i386/sol2.h: Likewise.
2519         * config/i386/sun386.h: Likewise.
2520         * config/i386/uwin.asm: Likewise.
2521         * config/i386/uwin.h: Likewise.
2522         * config/i386/vxi386.h: Likewise.
2523         * config/i386/win32.h: Likewise.
2524         * config/i386/winnt.c: Likewise.
2525         * config/i386/xm-cygwin.h: Likewise.
2526         * config/i386/xm-mingw32.h: Likewise.
2527
2528 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2529
2530         * builtins.def: Fix comment typos.
2531         * config/alpha.c: Likewise.
2532         * config/arm/arm.c: Likewise.
2533         * config/avr/avr.h: Likewise.
2534         * config/d30v/d30v.c: Likewise.
2535         * config/d30v/d30v.h: Likewise.
2536         * config/d30v/d30v.md: Likewise.
2537         * config/dsp16xx/dsp16xx.c: Likewise.
2538         * config/fr30/fr30.c: Likewise.
2539         * config/fr30/fr30.md: Likewise.
2540         * config/i386/i386.c: Likewise.
2541         * config/i860/i860.c: Likewise.
2542         * config/i960/i960.c: Likewise.
2543         * config/ia64/ia64.c: Likewise.
2544         * config/mips/mips.c: Likewise.
2545         * config/pa/pa.c: Likewise.
2546         * config/rs6000/rs6000.c: Likewise.
2547         * config/s390/s390.c: Likewise.
2548         * config/sparc/sparc.c: Likewise.
2549
2550 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2551
2552         * config/mips/elf.h: Fix comment formatting.
2553         * config/mips/elf64.h: Likewise.
2554         * config/mips/iris5.h: Likewise.
2555         * config/mips/iris5gas.h: Likewise.
2556         * config/mips/iris6.h: Likewise.
2557         * config/mips/isa3264.h: Likewise.
2558         * config/mips/linux.h: Likewise.
2559         * config/mips/mips.c: Likewise.
2560         * config/mips/mips.h: Likewise.
2561         * config/mips/mips.md: Likewise.
2562         * config/mips/mips16.S: Likewise.
2563         * config/mips/netbsd.h: Likewise.
2564         * config/mips/osfrose.h: Likewise.
2565         * config/mips/r3900.h: Likewise.
2566         * config/mips/sni-svr4.h: Likewise.
2567         * config/mips/svr4-t.h: Likewise.
2568         * config/mips/ultrix.h: Likewise.
2569
2570 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
2571
2572         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
2573         when we update head->current.
2574
2575 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2576
2577         * tree.c (id_string_size): Remove.
2578         (dump_tree_statistics): Update.
2579         * toplev.c (compile_file): If dumping stats, dump tree stats too.
2580
2581 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
2582
2583         * sched-rgn.c (schedule_insns): Fix comment.
2584
2585 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
2586
2587         * configure.in: Correct previous change: don't assume that
2588         gas's version number _isn't_ the last thing on the line, or
2589         isn't the only number on the line, either.
2590         * configure: Regenerate.
2591
2592 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2593
2594         * cfgcleanup.c: Fix a comment typo.
2595
2596 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2597
2598         * alias.c: Fix comment formatting.
2599         * recog.c: Likewise.
2600         * config/cris/cris.c: Likewise.
2601         * config/cris/cris.h: Likewise.
2602         * config/i960/i960.c: Likewise.
2603         * config/i960/i960.h: Likewise.
2604
2605 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2606
2607         * config/arm/arm.c: Fix a comment typo.
2608         * config/arm/arm.h: Likewise.
2609         * config/ia64/ia64.c: Likewise.
2610
2611 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
2612
2613         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
2614         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
2615         * rtl.h (set_unique_reg_note): Change return value.
2616         * gcse.c (try_replace_reg): Use set_unique_reg_note.
2617         * cse.c (cse_insn): Likewise.
2618         * expr.c (emit_move_insn): Likewise.
2619         * explow.c (force_reg): Likewise.
2620         * local-alloc (update_equiv_regs): Likewise.
2621         * loop.c (move_moveables, load_mems): Likewise.
2622         * reload (find_reloads): Likewise.
2623
2624 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
2625
2626         Localization fixes.
2627         * c-decl.c (parmlist_tags_warning, start_struct,
2628         check_for_loop_decls): Separate messages for struct, union and
2629         enum cases to allow for languages in which they have different
2630         genders.
2631         * c-format.c (scanf_flag_specs): Separate short and long name of
2632         the assignment suppression feature.
2633         (check_format_types): Localize "pointer" and "different types"
2634         strings.
2635         * c-lex.c (lex_number): Localize "an unsigned long int" and
2636         related strings.
2637         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
2638         warning message.
2639         * c-typeck.c (build_unary_up): Separate messages for increment and
2640         decrement cases to allow for languages in which they use different
2641         articles.  Localize the strings "increment" and "decrement" in one
2642         case.
2643
2644 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
2645
2646         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
2647         when no changes has been made.
2648
2649         * gcse.c (reg_set_bitmap): Turn into reg_set.
2650         (modify_mem_list_set, canon_modify_mem_list_set)
2651         (clear_modify_mem_tables, free_modify_mem_tables): New.
2652         (gcse_main); Use free_modify_mem_tables.
2653         (free_gcse_mem): Likewise; free the bitmaps.
2654         (alloc_gcse_main): Initialize the bitmaps.
2655         (canon_list_insert): Set canon_modify_mem_list_set.
2656         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
2657         (compute_hash_table): Use clear_modify_mem_tables.
2658         (reset_opr_set_tables): Likewise.
2659         (oprs_not_set_p): reg_set_bitmap is regset.
2660         (mark_set, mark_clobber): Likewise.
2661
2662         * df.h (DF_EQUIV_NOTES): New constant.
2663         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
2664         when asked for.
2665
2666         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
2667         (init_regions, schedule_insns): Conditionalize the checking
2668         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
2669
2670 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
2671
2672         * i386.md (movti_rex64 splitter): Fix condition.
2673
2674 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
2675
2676         * configure.in: Do not assume that gas's version number is the
2677         last thing on the first line of as --version output.
2678         * configure: Regenerate.
2679
2680         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
2681         MT_WARNING, MT_ERROR, MT_FATAL.
2682         (main): Call gcc_init_libintl.
2683         (v_message): Call gettext on msgid and "warning: "
2684         * tradcif.y: Include intl.h.
2685         (yyerror): Make parameter definition consistent with
2686         prototype.  Call gettext on msgid argument.
2687
2688 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2689
2690         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
2691         warnings.
2692
2693         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
2694
2695 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2696
2697         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
2698         before referencing it.
2699
2700 2001-10-26  DJ Delorie  <dj@redhat.com>
2701
2702         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
2703         override -G, and force -G0.
2704
2705 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2706
2707         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
2708         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
2709         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
2710         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
2711
2712         * loop.h (struct induction): Rename ext_dependant to
2713         ext_dependent.
2714         * loop.c: Change all uses.
2715         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
2716         All callers changed.
2717         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
2718
2719 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2720
2721         * c-parse.in (expr_no_commas, primary), c-typeck.c
2722         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
2723
2724 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
2725
2726         Undo assemble_name change in earlier patch.
2727
2728 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2729
2730         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
2731         determining the type of the receiver, do not check that TREE_CODE
2732         of receiver is CALL_EXPR before calling receiver_is_class_object().
2733         (receiver_is_class_object): For the GNU runtime: recognize
2734         the case that the receiver is self in a class method context.
2735         Check that TREE_CODE of receiver is CALL_EXPR when checking that
2736         the receiver is a call to objc_get_class.
2737
2738 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2739
2740         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
2741
2742 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2743
2744         * Makefile.in (OBJS): Put all files in alphabetical order.
2745
2746         * dwarf2out.c (add_const_value_attribute): Fix error in last
2747         change.
2748
2749 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
2750
2751         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
2752         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
2753         fix warning.
2754         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
2755         (life_analysis): call purge_all_dead_edges after deleting noops.
2756         (delete_noop_move): Do not purge CFG.
2757         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
2758
2759 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
2760
2761         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
2762         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
2763         (ASM_GLOBALIZE_LABEL): Use assemble_name.
2764         (ASM_OUTPUT_COMMON): Likewise.
2765         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
2766         (rs6000_output_function_epilogue): Likewise.
2767         (output_mi_thunk): Fix typo.
2768         (rs6000_output_symbol_ref): Use assemble_name.
2769         (output_toc): Likewise.
2770         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
2771         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
2772         assemble_name calls STRIP_NAME_ENCODING.
2773         (ASM_OUTPUT_LABEL): Use assemble_name.
2774         (ASM_GLOBALIZE_LABEL): Likewise.
2775         (ASM_DECLARE_FUNCTION_NAME): Likewise.
2776         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
2777         (ASM_OUTPUT_LOCAL): Likewise.
2778
2779 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2780
2781         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
2782         (expand_builtin_apply, expand_builtin_return): Likewise.
2783         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
2784
2785 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2786
2787         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2788         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
2789         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
2790         configure, configure.in, except.c, except.h, flow.c, function.c,
2791         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
2792         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
2793         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
2794         unroll.c: Fix spelling errors.
2795
2796         * doc/extend.texi, doc/invoke.texi: Fix spelling.
2797
2798         * doc/gcc.texi: Document use of "dependent" and American spelling.
2799
2800 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
2801
2802         * expr.c (emit_group_load): Support CONCATs by storing them to memory
2803         and reloading.
2804
2805 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2806
2807         * expr.c (store_constructor_field): Only call adjust_address on MEM.
2808
2809 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
2810
2811         * genrecog.c (write_switch):  Output if before switch for
2812         DT_elt_zero_wide_safe.
2813
2814 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2815
2816         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
2817         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
2818         (FUNCTION_PROFILER): Const-ify.
2819         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
2820         (eliminate_constant_term, assemble_name, output_addr_const):
2821         Remove declarations.
2822         (ptr_half_pic_address_p, half_pic_hash): Prototype.
2823         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
2824         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
2825         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
2826         (half_pic_declare, half_pic_external): Const-ify.
2827         * toplev.c: Include "halfpic.h".
2828
2829 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2830
2831         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
2832         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
2833         config/i386/i386.c, config/i386/i386-interix.h,
2834         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
2835         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
2836         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
2837         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
2838         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
2839         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
2840         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
2841         spelling errors.
2842
2843         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2844         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
2845         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
2846         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
2847         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
2848         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
2849         system.h, toplev.c: Fix spelling errors.
2850
2851 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2852
2853         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
2854
2855         * dwarf2out.c (reg_number): Abort if pseudo.
2856         (reg_loc_descriptor): Return 0 if pseudo.
2857         (is_based_loc): Return 0 if pseudo.
2858         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
2859         recursive calls.
2860         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
2861         (loc_descriptor): Return 0 if can't find location and handle 0
2862         return from recursive calls.
2863         (loc_descriptor_from_tree): Likewise.
2864         Fix handling of indirect.
2865         Also return 0 for PLACEHOLDER_EXPR.
2866         Clean up COMPONENT_REF cases.
2867         (add_AT_location_descriptor): Simplify, but handle 0 return from
2868         loc_descriptor.
2869         (add_const_value_attribute): Avoid shift count warning.
2870         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
2871         Set comp_unit_die as context if not in function.
2872
2873         * config/mips/mips-protos.h: Break up long lines.
2874         Remove needless #ifdef/#endif blocks.
2875         Don't declare functions declared in file made by genpreds or recog.h.
2876         * config/mips/mips.c (mips_output_function_prologue): TSIZE
2877         is now HOST_WIDE_INT; delete unneeded casts.
2878         * config/mips/mips.h: Don't use #elif.
2879
2880         * expr.c (stor_constructor_field): Always call adjust_address.
2881         Copy TARGET before changing its alias set.
2882         (store_field): Likewise, for TO_RTX.
2883         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
2884         replacement.
2885         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
2886         (find_placeholder): Return 0 if can't find object.
2887         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
2888         returns 0.
2889
2890 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2891
2892         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
2893
2894 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
2895
2896         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
2897         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
2898         (merge_blocks): Properly udpate life after making edge nonfallthru.
2899         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
2900
2901 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2902
2903         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2904
2905 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
2906
2907         * c-typeck.c (convert_arguments): When comparing for enumeral
2908         type equality, use TYPE_MAIN_VARIANT.
2909         * gcc.dg/Wconversion.c: New tests.
2910
2911 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2912
2913         * s390/s390.c: Fix comment typos.
2914         * s390/s390.h: Likewise.
2915         * s390/s390.md: Likewise.
2916
2917 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2918
2919         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
2920         (walk_tree): Use it for tail calls where appropriate.
2921
2922 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2923
2924         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
2925         non-local label_refs.
2926
2927 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2928
2929         * config/h8300/h8300.md (4 anonymous patterns): New.
2930
2931 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2932
2933         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
2934         algorithm through the shift_info structure.
2935         (emit_a_shift): Update the use of get_shift_alg.
2936
2937 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
2938
2939         * sched-rgn.c: Remove bitset typedef.
2940         Change bitset to sbitmap in prototypes / variable types.
2941         Remove bbset_size.
2942         Remove edgeset_bits.
2943         Remove edgeset_size.
2944         s/BITSET_ADD/SET_BIT/g
2945         s/BITSET_INVERT/sbitmap_ones/g
2946         s/BITSET_INTER/sbitmap_a_and_b/g
2947         s/BITSET_UNION/sbitmap_a_or_b/g
2948         s/BITSET_DIFFER/sbitmap_difference/g
2949         s/bitset_member/TEST_BIT/g
2950         (BITSET_*): Removed.
2951         (bitset_member): Removed.
2952         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
2953         EXECUTE_IF_SET_IN_SBITMAP.
2954         (split_edges): Rewrite, use sbitmap functions instead of bitset
2955         operations.
2956         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
2957
2958 2001-10-26  Andreas Schwab  <schwab@suse.de>
2959
2960         * reload1.c (emit_input_reload_insns): Fix parens in last
2961         (undocumented) change that was supposed to change only whitespace.
2962
2963 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2964
2965         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
2966
2967         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
2968         ASM_OPERANDS.
2969
2970 2001-10-26  Andreas Jaeger  <aj@suse.de>
2971
2972         * flow.c (clear_log_links): Remove unused variable.
2973         * cfgcleanup.c (cleanup_cfg): Likewise.
2974
2975 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2976
2977         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
2978         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
2979
2980 2001-10-26  Richard Henderson  <rth@redhat.com>
2981
2982         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
2983         rename PV_REG to R27_REG.
2984         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
2985         (REG_CLASS_FROM_LETTER): Update.
2986         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
2987         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
2988         (udivsi3, modsi3, umodsi3): Likewise.
2989         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
2990
2991 2001-10-26  Richard Henderson  <rth@redhat.com>
2992
2993         * cfg.c (clear_aux_for_blocks): Split out of ...
2994         (free_aux_for_blocks): here.
2995         (clear_aux_for_edges): Split from ...
2996         (free_aux_for_edges): here.
2997         * basic-block.h: Declare them.
2998         * lcm.c (compute_antinout_edge): Use them.
2999         (compute_laterin, compute_available, compute_nearerout): Likewise.
3000         (optimize_mode_switching): Likewise.
3001
3002 2001-10-26  Richard Henderson  <rth@redhat.com>
3003
3004         * Makefile.in (unstage*): Remove as, ld, collect-ld before
3005         moving everything back to the main build directory.
3006
3007 2001-10-26  Christopher Faylor  <cgf@redhat.com>
3008
3009         * config/i386/cygwin.h: Search target specific include directory, if
3010         appropriate.
3011
3012 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3013
3014         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
3015         of macro guards. Fix #endif comment.
3016
3017         * output.h (default_exception_section, default_eh_frame_section):
3018         Move prototypes outside of macro guard.
3019
3020         * crtstuff.c: Fix #endif comment.
3021
3022 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
3023
3024         * doc/md.texi (movMM): Clarify semantics of storing into a
3025         non-paradoxical SUBREG.
3026
3027 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
3028
3029         * langhooks.c (lang_hook_default_clear_binding_stack): New.
3030         (lang_hook_default_get_alias_set): Move next to other alias
3031         hooks.
3032         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
3033         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
3034         (LANG_HOOKS_INITIALIZER): Add it.
3035         * toplev.h (struct lang_hooks): Add clear_binding_stack.
3036         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
3037         instead of a loop calling poplevel.
3038
3039 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
3040
3041         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
3042         occurrences of #elif with #if...#endif.
3043
3044 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3045
3046         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
3047
3048 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3049
3050         * alias.c (can_address_p): No longer static.
3051         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
3052         Return 0 if all parameters are default values.
3053         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
3054         (adjust_address_1): Try harder to compute a size.
3055         * expr.c (expand_assignment, store_constructor): If can't address,
3056         set MEM_KEEP_ALIAS_SET_P.
3057         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
3058         (store_field): Likewise.
3059         (store_constructor): Simplify call to store_constructor_field.
3060         * expr.h (can_address_p): New declaration.
3061         * gensupport.c (gen_rtx_CONST_INT): New function.
3062         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
3063         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
3064         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
3065
3066         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
3067
3068 2001-10-24  Christopher Faylor  <cgf@redhat.com>
3069
3070         * config/i386/cygwin.h: Use proper path for mingw crt files when
3071         -mno-cygwin.
3072
3073 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3074
3075         * dwarf2out.c (file_info_cmp): Always return consistent results.
3076
3077 2001-10-24  Roger Sayle <roger@eyesopen.com>
3078
3079         * stmt.c (expand_end_case): Index jumptables from zero for
3080         suitably small values of minval.
3081
3082 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3083
3084         * stor-layout.c (place_union_field): If any field was aligned with
3085         attribute aligned, set record type's TYPE_USER_ALIGN.
3086         (place_field): Likewise.
3087         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
3088         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
3089
3090 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
3091
3092         * c-common.h (struct c_common_identifier): Remove rid_code field.
3093         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
3094
3095         * c-typeck.c (constructor_designated): New local flag.
3096         (struct constructor_stack): Add "designated" field to match.
3097         (start_init): Clear it.
3098         (really_start_incremental_init, push_init_level): Push and
3099         clear it.
3100         (pop_init_level): Pop it.
3101         (set_designator): Set it.
3102
3103         (pop_init_level): Suppress "missing initializer" warnings if
3104         constructor_designated is true.
3105         (process_init_element): Suppress warning about union
3106         initialization under traditional C, if constructor_designated
3107         is true.
3108
3109 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3110
3111         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
3112         change.
3113
3114 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
3115
3116         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3117
3118 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
3119
3120         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3121         the node was already a set to a constant.
3122
3123 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3124
3125         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
3126         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
3127
3128 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3129
3130         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
3131         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
3132         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3133         * s390.c (s390_final_chunkify): Don't use string concatenation.
3134         (s390_function_prologue, s390_function_epilogue): Const-ify.
3135         * s390.h (FUNCTION_PROFILER): Remove unused variable.
3136
3137 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3138
3139         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
3140         prototypes.
3141
3142 2001-10-23  Stan Shebs  <shebs@apple.com>
3143
3144         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
3145         -traditional-cpp in first-stage compilation.
3146
3147 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3148
3149         * gensupport.c (target_flags): Add.
3150
3151 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
3152
3153         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
3154         if needed.
3155         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
3156         * except.c (expand_builtin_frob_return_addr): Likewise.
3157         (expand_builtin_eh_return): Likewise.
3158         * stmt.c (expand_computed_goto): Likewise.
3159         * explow.c (memory_address): Likewise.
3160         (allocate_dynamic_stack_space): Clean up predicate testing.
3161         (probe_stack_range): Convert SIZE to Pmode.
3162         * calls.c (rtx_for_function_call): Only call convert_memory_address
3163         if needed.
3164         Pass function call operand as ptr_mode, not Pmode.
3165         * expr.c (expand_assignment): Clean up calls to convert_memory
3166         address by only doing so when needed and making offsets Pmode.
3167         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
3168         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
3169         is in Pmode, not ptr_mode.
3170
3171 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3172
3173         * darwin-protos.h (constructor_section, destructor_section,
3174         mod_init_section, mod_term_section): Prototype.
3175         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
3176         Const-ify.
3177         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
3178         Likewise.
3179         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
3180         objc_section_init declaration.
3181         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
3182         (objc_section_init, try_section_alias): Make static.
3183         (alias_section): Make static and hide unused function.
3184         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3185
3186 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3187
3188         * alias.c (can_address_p): Compnonents are not addressable if
3189         the containing type has alias set 0.
3190         (get_alias_set): Rework to use STRIP_NOPS.
3191         Only call front-end routine on object, type, or object with
3192         NOPs stripped, not inner values.
3193         Use language hook to call front-end routine.
3194         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3195         (expand_builtin_apply): Call set_mem_align on MEMs we make.
3196         Don't pass alignment to emit_block_move.
3197         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3198         (expand_builtin_memset): Likewise, but for clear_storage.
3199         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3200         and remove C++ specific parts.
3201         * c-common.h (c_common_get_alias_set): Add declaration.
3202         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3203         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3204         (save_fixed_argument_area): Call set_mem_align.
3205         Remove alignment in call to emit_block_move.
3206         (emit_library_call_value_1, store_one_arg): Likewise.
3207         (target_for_arg): Remove; disabled long ago.
3208         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3209         once and similar cleanups.
3210         (offset_address): Use proper introductory comment.
3211         * expr.c (emit_block_move): Use alignment from that of MEM args, not
3212         from explicit operand; all callers changed.
3213         (clear_storage): Likewise.
3214         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3215         (store_field): Remove kludge on alias set used for to_rtx.
3216         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3217         (expand_expr_unaligned): Call set_mem_attributes instead of
3218         set_mem_alias_set.
3219         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3220         * function.c (assign_stack_temp_for_type): Set MEM alignment.
3221         (expand_function_end): Track MEM attributes of trampolines.
3222         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3223         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3224         attributes from original.
3225         * langhooks.c (lang_hook_default_get_alias_set): New function.
3226         (hook_get_alias_set_0): New function.
3227         * langhooks.h (hook_get_alias_set_0): New declaration.
3228         (lang_hook_default_get_alias_set): Likewise.
3229         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3230         * reload1.c (alter_reg): Use adjust_address_nv.
3231         * rtl.c (get_mode_alignment): Moved to here.
3232         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3233         change default if unknown from 1 to BITS_PER_UNIT.
3234         * stor-layout.c (get_mode_alignment): Remove from here.
3235         * toplev.h (struct lang_hoks): Add get_alias_set field.
3236         * tree.h (lang_get_alias_set): Delete declaration.
3237         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3238         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3239         (ix86_va_arg): Likewise.
3240         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3241         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3242         * config/sparc/sparc.c (sparc_va_arg): Likewise.
3243         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3244         (expand_block_move_mem): Remove dead code.
3245
3246 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
3247
3248         * c-common.c (warn_div_by_zero): New.
3249         * c-common.h (warn_div_by_zero): New.
3250         * c-decl.c (c_decode_option): Take it on the command line.
3251         * c-typeck.c (build_binary_op): Warn about division by zero.
3252         * doc/invoke.texi: Document the new command line option, fix
3253         documentation of -Wmultichar.
3254         * testsuite/gcc.dg/divbyzero.c: New tests.
3255         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
3256
3257 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3258
3259         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
3260
3261         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
3262         to avoid update_life_info call.
3263         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
3264         * cfgcleanup.c (bb_flags): New enum.
3265         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
3266         (notice_new_block, update_forwarder_flag): New functions.
3267         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
3268         (try_forward_edges): Likewise; update flags.
3269         (merge_blocks): Likewise.
3270         (outgoing_edges_match): Likewise.
3271         (try_crossjump_to_edge): Likewise.
3272         (try_optimize_cfg): Likewise; initialize and clear the flags;
3273         recompute life info if needed.
3274         (cleanup_cfg): No need to clear aux pointers.
3275
3276 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
3277
3278         * config/i386/i386.c (override_options): Default to minimum
3279         stack alignment when optimizing for code size.
3280         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
3281         change.
3282
3283         * config/i386/i386.c (override_options): Set upper limit of
3284         -mpreferred-stack-boundary to 12.
3285
3286 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
3287
3288         * recog.c (peephole2_optimize): Add default case to switch.
3289
3290 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3291
3292         * doc/gcc.texi (Sending Patches): Remove.
3293
3294 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
3295
3296         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
3297         fields when comparing.
3298
3299 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3300
3301         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
3302         * arm.c (HOST_INT, HOST_UINT): Likewise.
3303
3304 2001-10-22  Stan Shebs  <shebs@apple.com>
3305
3306         * config/darwin-protos.h (darwin_exception_section): Declare.
3307         (darwin_eh_frame_section): Declare.
3308
3309 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
3310
3311         * i386.md (movti_rex64): Fix mode.
3312
3313 2001-10-22  Stan Shebs  <shebs@apple.com>
3314
3315         * target.h (struct gcc_target): Add asm_out.exception_section,
3316         asm_out.eh_frame_section.
3317         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
3318         (TARGET_ASM_EH_FRAME_SECTION): New.
3319         (TARGET_INITIALIZER): Update.
3320         * output.h (default_exception_section): Declare.
3321         (default_eh_frame_section): Declare.
3322         * dwarf2out.c: Include target.h.
3323         (output_call_frame_info): Call target hook for eh frames.
3324         (default_eh_frame_section): New function.
3325         * except.c: Include target.h.
3326         (output_function_exception_table): Call target hook for exception
3327         section.
3328         * varasm.c (default_exception_section): Rename from
3329         exception_section, remove EXCEPTION_SECTION macro.
3330
3331         * config/darwin.h (darwin_eh_frame_section): New function.
3332         (EXCEPTION_SECTION): Remove.
3333         (TARGET_ASM_EXCEPTION_SECTION): Define.
3334         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
3335         (nextstep_exception_section): New function.
3336         (nextstep_eh_frame_section): New function.
3337         (TARGET_ASM_EXCEPTION_SECTION): Define.
3338         (TARGET_ASM_EH_FRAME_SECTION): Define.
3339
3340         * config/pa/som.h (EXCEPTION_SECTION): Remove.
3341         (TARGET_ASM_EXCEPTION_SECTION): Define.
3342         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
3343         (EXCEPTION_SECTION): Remove.
3344         (TARGET_ASM_EXCEPTION_SECTION): Define.
3345         * config/stormy16/stormy16.h: Remove comments referencing
3346         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
3347
3348         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
3349         TARGET_ASM_EH_FRAME_SECTION.
3350
3351 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
3352
3353         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
3354         terms.
3355
3356         * c-format.c: Fix spelling typo in comment.
3357
3358         * sched-int.h: Fix typo in GCC preamble.
3359
3360 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3361
3362         PR debug/4252
3363         * doc/invoke.texi: Remove references to -fdump-translation-unit.
3364
3365 2001-10-22  Richard Henderson  <rth@redhat.com>
3366
3367         * config/i386/i386.c (ix86_expand_clear): New.
3368         * config/i386/i386-protos.h: Declare it.
3369         * config/i386/i386.md (setcc peep2s): Use it.
3370         (movsi_xor): Unexport.
3371
3372 2001-10-22  Richard Henderson  <rth@redhat.com>
3373
3374         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
3375         free_EXPR_LIST_list for LOG_LINKS.
3376
3377 2001-10-21  Robert Lipe  <robertlipe@usa.net>
3378
3379         * config/i386/i386.c (sco_asm_named_section): Delete.
3380         (sco_asm_out_constructor): Delete.
3381         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
3382         (ASM_OUTPUT_DOUBLE_INT): Likewise.
3383         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
3384         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
3385         (EXCEPTION_SECTION): Delete EH scn renaming hack.
3386
3387 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3388
3389         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
3390         and/or fold extra calls into fewer ones.
3391         * collect2.c (dump_file): Likewise.
3392         * cppexp.c (parse_number): Likewise.
3393         * cpplex.c (_cpp_lex_direct): Likewise.
3394         * final.c (output_asm_insn, asm_fprintf): Likewise.
3395         * fix-header.c (inf_scan_ident, main): Likewise.
3396         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3397         Likewise.
3398         * fold-const.c (real_hex_to_f): Likewise.
3399         * gen-protos.c (parse_fn_proto): Likewise.
3400         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
3401         * genrecog.c (change_state, write_action): Likewise.
3402         * gensupport.c (shift_output_template): Likewise.
3403         * local-alloc.c (requires_inout): Likewise.
3404         * mips-tfile.c (IS_ASM_IDENT): Likewise.
3405         * protoize.c (is_id_char, main): Likewise.
3406         * real.c (asctoeg): Likewise.
3407         * recog.c (asm_operand_ok): Likewise.
3408         * reload.c (find_reloads): Likewise.
3409         * scan.c (scan_identget_token): Likewise.
3410         * sched-vis.c (print_value): Likewise.
3411         * stringpool.c (ggc_alloc_string): Likewise.
3412         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
3413         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
3414         * tradcpp.c (rescan): Likewise.
3415         * tree.c (clean_symbol_name): Likewise.
3416         * varasm.c (decode_reg_name): Likewise.
3417
3418         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
3419         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
3420         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
3421         * m88k.c (output_ascii): Likewise.
3422         * m88k.h (OVERRIDE_OPTIONS): Likewise.
3423         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
3424         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
3425         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
3426
3427 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3428
3429         * langhooks.c (lang_hook_default_do_nothing,
3430         lang_hook_default_decode_option): New defaults.
3431         * langhooks.h: Make hooks unconditional and non-NULL.
3432         * toplev.c (compile_file, toplev_main): Update.
3433         * toplev.h: Update comments.
3434         * objc/objc-act.c (lang_hooks): Update to new paradigm.
3435
3436 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3437
3438         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
3439
3440         * system.h (IN_RANGE): New macro.
3441
3442 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
3443
3444         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
3445         INTLDEPS variable, which does not include $LIBICONV.
3446         * Makefile.in: Use INTLDEPS in LIBDEPS.
3447         * configure: Regenerate.
3448
3449 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3450
3451         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
3452         * cpplex.c (lex_percent, lex_dot): Remove.
3453         (get_effective_char, skip_block_comment, skip_line_comment,
3454         parse_identifier_slow, parse_number, parse_string, save_comment,
3455         _cpp_lex_direct): Update to do lookback freely.
3456         (IF_NEXT_IS, BACKUP): New macros.
3457         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
3458         * cppmacro.c (paste_tokens): Update.
3459
3460 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
3461
3462         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
3463
3464 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
3465
3466         * reload1.c (reload): Check CONSTANT_P before calling
3467         LEGITIMATE_PIC_OPERAND_P.
3468         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
3469         workaround of 2001-10-13.
3470
3471 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
3472
3473         * i386.c (split_di): Handle splitting of DFmode.
3474
3475 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3476
3477         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
3478         (adjust_address_1, offset_address): Likewise.
3479
3480         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
3481         (output_asm_insn): Call it for each line output.
3482         Don't record an operand more than once.
3483
3484         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
3485         * main.c: Include config.h and system.h, but not ansidecl.h.
3486         * Makefile.in (main.o): Update accordingly.
3487
3488 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3489
3490         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
3491
3492 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
3493
3494         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
3495         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
3496         Break out from ...
3497         (find_sub_basic_blocks): ... here;
3498         (find_many_sub_basic_blocks): New.
3499         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
3500
3501         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
3502
3503         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
3504
3505         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
3506
3507         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
3508         * flow.c (update_life_info): Measure time.
3509         * c-decl.c: Include timevar.h
3510         (c_expand_body): Measure time.
3511         * toplev.c (rest_of_compilation): Measure time of mode switching
3512         separately.
3513         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
3514
3515         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
3516         (lang_independent_options): Add asynchronous-unwind-tables
3517         (toplev_main): flag_asynchronous_unwind_tables implies
3518         flag_unwind_tables.
3519         * flags.h (flag_asynchronous_unwind_tables): Declare.
3520         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
3521         flag_asynchronous_unwind_tables.
3522         (output_call_frame_info): Likewise.
3523         * invoke.texi (-fasynchronous-unwind-tables): Document.
3524         * i386.c (optimization_options): Enable
3525         flag_asynchronous_unwind_tables.
3526
3527         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
3528         * i386.md (s* expanders): Destination is QImode.
3529
3530         * toplev.c (rest_of_compilation): Do not call clear_log_links.
3531         * rtl.h (clear_log_links): Kill.
3532         * flow.c (clear_log_links): Make static; accept blocks parameter;
3533         do no clear life info.
3534         (update_life_info): Call clear_log_links.
3535
3536         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
3537
3538 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3539
3540         * cpplex.c (handle_newline, skip_escaped_newlines,
3541         get_effective_char, skip_block_comment, skip_line_comment,
3542         parse_identifier_slow, parse_number, parse_string,
3543         _cpp_lex_direct): Update to do more stepping back.
3544         (trigraph_ok): Similarly.  Rename trigraph_p.
3545         (SAVE_STATE, RESTORE_STATE): Remove.
3546         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
3547
3548         * cpplib.c (destringize): Rename destringize_and_run, and
3549         call run_directive directly.
3550         (_cpp_do__Pragma): Simplify.
3551
3552 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3553
3554         * pe.c (arm_pe_unique_section): Const-ify.
3555         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3556         (switch_to_section): Add static prototype.
3557
3558         * output.h (drectve_section): Prototype.
3559
3560 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3561
3562         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
3563         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
3564         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
3565         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
3566         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3567         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
3568         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
3569         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
3570         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
3571         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
3572         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
3573         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
3574         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
3575         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
3576         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3577         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3578         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3579         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3580         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3581         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
3582         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
3583         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
3584         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
3585         cris-*-none, cris-*-linux*: Update ${tmfile} list.
3586         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
3587         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
3588         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
3589         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
3590         v850-*-*): Delete superflous ${cpu_type} setting.
3591         * config/linux.h: Delete svr4.h include.
3592         (SET_ASM_OP): Delete.
3593         * config/netware.h (INT_ASM_OP): Undef before define.
3594         * config/ptx4.h: Delete elfos.h include.
3595         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
3596         * config/svr4.h: Delete elfos.h include. Update commentary.
3597         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
3598         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
3599         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
3600         config/v850/v850.h: Delete svr4.h include.
3601         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
3602         config/m68k/m68kv4.h, config/m88k/sysv4.h,
3603         config/sparc/sysv4.h: Update includes.
3604         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
3605         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
3606         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
3607         config/m88k/dguxbcs.h: Delete includes.
3608         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
3609         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
3610         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
3611         it.
3612         * config/m88k/dgux.h: Delete include.
3613         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
3614         defining it.
3615         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
3616         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
3617         * config/sh/elf.h: Update include.
3618         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
3619         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
3620
3621 2001-10-19  Catherine Moore  <clm@redhat.com>
3622
3623         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
3624         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
3625         base and count fields.
3626         (stormy16_expand_builtin_va_start):  last_reg_count changed to
3627         size_of_reg_args.  Use count + size in first comparison.
3628
3629 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3630
3631         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
3632         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
3633         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
3634         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
3635         Set alignment from type if INDIRECT_REF.
3636         (adjust_address_1, offset_address): Simplify alignment compuitation.
3637         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
3638         here; done by set_mem_attributes.
3639
3640 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3641
3642         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
3643         * arm-protos.h (rdata_section, zero_init_section, common_section):
3644         Prototype.
3645         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
3646         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
3647         traditional mode stringification.
3648         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
3649         in macros controling its use.
3650         * rtlanal.c: Include tm_p.h.
3651         * varasm.c (asm_output_aligned_bss): Mark parameter with
3652         ATTRIBUTE_UNUSED.
3653         (assemble_constant_align, assemble_start_function, assemble_align,
3654         assemble_variable, assemble_trampoline_template,
3655         output_constant_def_contents): Wrap potentially empty if-stmt body
3656         in brackets.
3657
3658 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3659
3660         * a29k-protos.h (literal_section): Prototype.
3661         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
3662         * a29k.md: Ensure function pointers are prototyped.
3663         * genattrtab.c (write_eligible_delay): Mark parameter with
3664         ATTRIBUTE_UNUSED.
3665
3666 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3667
3668         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
3669         * 1750a.c (print_operand): Fix format specifier warning.
3670         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
3671         * 1750a.md: Likewise.
3672         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
3673         * genemit.c (output_add_clobbers): Mark parameter with
3674         ATTRIBUTE_UNUSED.
3675         * genrecog.c (write_subroutine): Likewise.
3676         * integrate.c (expand_inline_function): Delete unused variable.
3677         * varasm.c (remove_from_pending_weak_list): Wrap with
3678         ASM_WEAKEN_LABEL.
3679
3680 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
3681
3682         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
3683         field is different to previous argument's neg field.
3684
3685         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
3686
3687 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3688
3689         * final.c (get_decl_from_op): New function.
3690         (output_asm_insn): Call it; write "*" when item with decl is address.
3691
3692 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
3693
3694         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
3695         about 64-bit support from the 3.0_branch version.
3696
3697 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
3698
3699         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
3700         USE_INCLUDED_LIBINTL when appropriate.
3701         * configure, config.in: Regenerate.
3702         * Makefile.in (datadir): Set to @datadir@.
3703         (intl.o): Also depend on $(CONFIG_H) and system.h.
3704
3705         * intl.c: Factor out common gettext initialization sequence.
3706         (gcc_init_libintl):  New function.
3707         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
3708         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
3709         off NLS.  Add multiple include guard.  No need to #ifdef-guard
3710         an #undef.  Prototype gcc_init_libintl here.
3711
3712         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
3713         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
3714         Use gcc_init_libintl.
3715
3716 2001-10-19  Catherine Moore  <clm@redhat.com>
3717
3718         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
3719
3720         * config/stormy16/stormy16.c (stormy16_split_move):  Make
3721         sure that REG_INC notes are present for auto_inc operands.
3722
3723 2001-10-19  Andreas Jaeger  <aj@suse.de>
3724
3725         * configure: Regenerated.
3726         * configure.in: Add x86_64 to switch statements.
3727
3728 2001-10-18  Richard Henderson  <rth@redhat.com>
3729
3730         * config/alpha/alpha.md (sibcall_osf_1): Load destination
3731         address into $27 explicitly.
3732         (sibcall_value_osf_1): Likewise.
3733
3734 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3735
3736         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
3737         (offset_address): New function.
3738         (free_emit_status): Free regno_decl.
3739         (init_emit): Pass proper number of elements to xcalloc.
3740         Allocate regno_decl.
3741         (mark_emit_status): Mark regno_decl values.
3742         * expr.c (highest_pow2_factor): New function.
3743         (expand_assigment): Use it and offset_address.
3744         Properly handle ptr_mode vs. Pmode in offset calculation.
3745         (store_constructor, expand_expr_unaligned): Likewise.
3746         (expand_expr, case COMPONENT_EXPR): Likewise.
3747         * expr.h (offset_address): New decl.
3748         * function.h (struct emit_status): Add regno_decl.
3749         (REGNO_DECL): New macro.
3750         * final.c (output_asm_name): Move in file and don't conditionalize
3751         on flag_print_asm_name.
3752         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
3753         Output names of operands, if known.
3754         * function.c (assign_parms): Set REGNO_DECL.
3755         * integrate.c (integrate_decl_tree): Likewise.
3756         * stmt.c (expand_decl): Likewise.
3757         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
3758
3759 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
3760
3761         * attribs.c (handle_noinline_attribute): New function.
3762         (handle_used_attribute): Likewise.
3763         (c_common_attribute_table): Added noinline and used.
3764         * doc/extend.texi (Function Attributes): Document them.
3765         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
3766         Warn when merging inline with attribute noinline.
3767         (start_decl, start_function): Warn if inline and attribute
3768         noinline appear in the same declaration.
3769
3770 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
3771
3772         * config.gcc: Update c4x and i370 for C front end-specific
3773         dependencies.
3774         * config/c4x/c4x-c.c: New.
3775         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
3776         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3777         New declarations.
3778         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
3779         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3780         Make extern.
3781         (c4x_init_pragma): Remove.
3782         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
3783         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
3784         c4x_pr_ignored): Move to c4x-c.c.
3785         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3786         * config/c4x/t-c4x: Update.
3787         * config/i370/i370-c.c: New.
3788         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
3789         (i370_pr_map): Move to i370-c.c.
3790         * config/i370/t-i370: New.
3791
3792         * doc/tm.texi: Update.
3793
3794 2001-10-17  Stan Shebs  <shebs@apple.com>
3795
3796         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
3797         typo fixes throughout.
3798         (machopic_output_stub): Remove some dead code.
3799
3800 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
3801
3802         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
3803         leak.
3804
3805 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3806
3807         * Makefile.in (print-rtl.o): Depend on TREE_H.
3808         * alias.c (get_alias_set): Make two passes over objects to first
3809         see if inner object is access via restricted pointer.
3810         Defer allocating alias set for restricted pointer until here.
3811         Call find_placeholder with second arg nonzero.
3812         Minor cleanups.
3813         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
3814         set for restricted pointer types.
3815         * emit-rtl.c (set_mem_attributes): Set more attributes.
3816         (set_mem_align, change_address, adjust_address_1): New functions.
3817         (change_address_1): Now static.
3818         (adjust_address, adjust_address_nv): Deleted.
3819         (replace_equiv_address): Call change_address_1.
3820         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
3821         (find_placeholder): Get starting point from PLIST arg.
3822         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
3823         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
3824         (adjust_address, adjust_address_nv): New macros.
3825         * print-rtl.c (tree.h): New include.
3826         (print_rtx, case MEM): Print all memory attributes.
3827
3828 2001-10-17  Richard Henderson  <rth@redhat.com>
3829
3830         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
3831
3832 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
3833
3834         * c-tree.texi: Eliminate duplicated word.
3835         * cpp.texi: Likewise.
3836         * install.texi: Likewise.
3837         * invoke.texi: Likewise.
3838         * tm.texi: Likewise.
3839
3840 2001-10-17  Michael Collison  <collison@isisinc.net>
3841
3842         * dsp16xx.c: Fix comment formatting to match GNU standards.
3843         (dsp16xx_output_function_prologue): Change type of 'size'
3844         parameter from 'int' to HOST_WIDE_INT.
3845         (dsp16xx_output_function_epilogue): Change type of 'size'
3846         parameter from 'int' to HOST_WIDE_INT.
3847
3848 2001-10-16  Richard Henderson  <rth@redhat.com>
3849
3850         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
3851         * configure, config.in: Rebuild.
3852
3853         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
3854         (ix86_output_addr_diff_elt): New.
3855         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
3856         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3857         (JUMP_TABLES_IN_TEXT_SECTION): New.
3858         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
3859         * config/i386/i386-protos.h: Update.
3860
3861         * config/i386/386bsd.h, config/i386/beos-elf.h,
3862         config/i386/freebsd-aout.h, config/i386/freebsd.h,
3863         config/i386/i386-interix.h, config/i386/i386elf.h,
3864         config/i386/linux.h, config/i386/netbsd-elf.h,
3865         config/i386/netbsd.h, config/i386/openbsd.h,
3866         config/i386/ptx4-i.h, config/i386/rtemself.h,
3867         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
3868         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
3869
3870 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
3871
3872         * stmt.c (expand_asm_operands): Update commentary.
3873
3874 2001-10-16  Stan Shebs  <shebs@apple.com>
3875
3876         * config/darwin.h (GCC_NAME): Remove, no longer used.
3877         (NO_MATH_LIBRARY): Ditto.
3878         (MATH_LIBRARY): Define to emptiness.
3879         (DWARF2_DEBUGGING_INFO): Define.
3880         (PREFERRED_DEBUGGING_TYPE): Define.
3881         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
3882         (EXCEPTION_SECTION): Define.
3883         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3884         * config/darwin.c (darwin_encode_section_info): Handle case of
3885         DECL_INITIAL being error_mark_node.
3886
3887 2001-10-16  Richard Henderson  <rth@redhat.com>
3888
3889         * alpha.c (current_file_function_operand): Don't fail for profiling.
3890         (direct_call_operand): New.
3891         * alpha-protos.h: Declare it.
3892         * alpha.h (EXTRA_CONSTRAINT): Use it.
3893         (PREDICATE_CODES): Add it.
3894         (ASM_OUTPUT_MI_THUNK): Remove.
3895         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
3896         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
3897
3898 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
3899
3900         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
3901         (JUMP_TABLES_IN_TEXT_SECTION): Define.
3902
3903 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3904
3905         * cfg.c (free_edge): Break out from ....
3906         (remove_edge): ... here.
3907         (clear_edges): Use free_edge.
3908
3909         * att.h (ASM_QUAD): Add comment.
3910         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
3911
3912 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
3913
3914         * i386.c (split_ti): New function.
3915         (ix86_split_to_parts): Support TImodes.
3916         * i386.h (VALID_INT_MODE_P): Add TImode.
3917         * i386.md (movdi splitter): Fix.
3918         (movti): Support 64bit integer registers.
3919         (movti_rex64): New function and splitter.
3920
3921         * i386.c (*_cost): Add movsx/movzx cost.
3922         * i386.h (struct processor_costs): Add movsx/movzx fields.
3923         (RTX_COSTS): Handle zero/sign extend + avoid believing that
3924         64bit operations require split on 64bit machine.
3925         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
3926
3927         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
3928         (ix86_expand_move): Avoid pushes of memory if size does not match;
3929         move long constants to register.
3930         (x86_initialize_trampoline): Fix mode.
3931         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
3932         Use ASM_QUAD on 64bit.
3933         * i386.md (test pattern): Disallow impossible constants.
3934         (tablejump PIC expander): Fix emitting of sum.
3935         (movdicc_rex64): Rename to movdicc.
3936         * linux64.h (LINK_SPEC): Add missing '%'.
3937
3938 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
3939
3940         * tree-inline.c (inlinable_function_p): Leave it up to the
3941         front-end to turn -finline-functions into DECL_INLINE set for all
3942         functions.
3943
3944 2001-10-16  Stan Shebs  <shebs@apple.com>
3945
3946         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
3947
3948 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
3949
3950         * recog.c: Formatting and comment typo fixes.
3951
3952         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
3953         version in single tree build.
3954         * configure: Regenerate.
3955
3956 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
3957
3958         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
3959         MODE arguments to gen_rtx and compare operand with const0_rtx.
3960
3961 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3962
3963         * system.h: Poison old unused target macros.
3964         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
3965         * config/stormy16/stormy16.c: Update references to obsolete macros.
3966         * config/stormy16/stormy16.h: Similarly.
3967         * config/stormy16/stormy16.md: Similarly.
3968         * config/cris/cris.h: Similarly.
3969
3970 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3971
3972         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
3973         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
3974         cpp_register_pragma): Update accordingly.
3975
3976 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3977
3978         * c-pragma.h (cpp_register_pragma_space): Remove.
3979         * cpplib.h (cpp_register_pragma_space): Remove.
3980         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
3981         (cpp_register_pragma_space): Remove.
3982         (cpp_register_pragma): Simplify using lookup_pragma_entry,
3983         add sanity checks.
3984         (do_pragma): Similarly.
3985         (_cpp_init_internal_pragmas): Don't register namespaces.
3986
3987         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
3988         Don't register namespaces.
3989         * cp/lex.c (init_cp_pragma): Similarly.
3990         * doc/tm.texi: Update.
3991
3992 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3993
3994         PR c/4157
3995         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
3996
3997 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
3998
3999         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
4000         add scheduling support.
4001         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
4002         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
4003         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
4004
4005
4006 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
4007
4008         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
4009         missing CONSTANT_P test in core GCC.
4010
4011 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
4012
4013         * cppmain.c (struct printer): New member source.
4014         (scan_translation_unit): Fix spacing at start of lines.
4015         (cb_line_change): Update.
4016
4017         * gcc.dg/cpp/spacing2.c: New test.
4018
4019 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
4020
4021         * config/cris/arit.c: Use __builtin_labs, not abs.
4022
4023         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
4024
4025         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
4026         misplaced sprintf and fprintf argument.
4027
4028 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
4029
4030         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
4031         * configure.in, Makefile.in: Take out obsolete check-po logic.
4032         * configure, config.in: Regenerate.
4033
4034 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
4035
4036         * objc/objc-act.c (finish_objc): Correct precondition for emitting
4037         symtab declarations.
4038
4039 2001-10-12  Stan Shebs  <shebs@apple.com>
4040
4041         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
4042         declarations of arguments and local variables.
4043
4044 2001-10-12  Christopher Faylor  <cgf@redhat.com>
4045
4046         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
4047         ENDFILE_SPEC definition.
4048
4049 2001-10-12  Kazu Hirata  <kazu@hxi.com>
4050
4051         * gthr-dce.h: Fix comment formatting.
4052         * gthr-posix.h: Likewise.
4053         * gthr-single.h: Likewise.
4054         * gthr-solaris.h: Likewise.
4055         * gthr-vxworks.h: Likewise.
4056         * gthr-win32.h: Likewise.
4057
4058 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
4059
4060         * final.c (output_asm_insn): Make sure assembly dialects are
4061         terminated, not nested.  Output `|' and `}' characters if they
4062         don't appear inside assembly dialect selection.
4063         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
4064         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
4065         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
4066         strsetsi_rex_1): Add {} braces.
4067
4068 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
4069
4070         * toplev.c (compile_file): Ignore return value from yyparse.
4071         Always pop any nested binding levels after yyparse returns.
4072
4073 2001-10-11  Richard Henderson  <rth@redhat.com>
4074
4075         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
4076
4077 2001-10-11  Richard Henderson  <rth@redhat.com>
4078
4079         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
4080         fall back to add_AT_long_long for large CONST_INT.
4081
4082 2001-10-11  Richard Henderson  <rth@redhat.com>
4083
4084         * config/i386/i386.md (setcc splitters): Add four splitters to
4085         simplify compound compares that simplify_comparison can't handle.
4086
4087 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
4088
4089         * cpplex.c (digraph_spellings, token_spellings): Make static.
4090
4091 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4092
4093         * unroll.c (loop_iterations): Fixup last patch.
4094
4095 2001-10-11  Richard Henderson  <rth@redhat.com>
4096
4097         * rtl.h (REG_VTABLE_REF): New.
4098         * rtl.c (reg_note_name): Add it.
4099         * combine.c (distribute_notes): Handle it.
4100         * final.c (final_scan_insn): Handle it.
4101         * tree.def (VTABLE_REF): New.
4102         * expr.c (expand_expr): Handle it.
4103         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
4104         * output.h: Declare them.
4105
4106 2001-10-11  Richard Henderson  <rth@redhat.com>
4107
4108         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
4109         for a DECL_INITIAL.
4110
4111 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
4112
4113         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
4114         available in 64-bit mode.
4115
4116 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4117
4118         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
4119         cris-*-linux* cases.
4120         * config/cris/cris-protos.h: New file.
4121         * config/cris/cris.c: New file.
4122         * config/cris/cris.h: New file.
4123         * config/cris/cris.md: New file.
4124         * config/cris/linux.h: New file.
4125         * config/cris/aout.h: New file.
4126         * config/cris/arit.c: New file.
4127         * config/cris/cris_abi_symbol.c: New file.
4128         * config/cris/mulsi3.asm: New file.
4129         * config/cris/t-aout: New file.
4130         * config/cris/t-cris: New file.
4131         * config/cris/t-elfmulti: New file.
4132         * config/cris/t-linux: New file.
4133         * doc/invoke.texi: Add CRIS options.
4134         * doc/install.texi (Specific): Add blurb for CRIS.
4135
4136 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
4137
4138         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
4139         before using it.
4140         * config/float/i32.h: Likewise.
4141         * config/float-i386.h: Likewise.
4142         * config/float-i64.h: Likewise.
4143         * config/float-m68k.h: Likewise.
4144         * config/float-sh.h: Likewise.
4145         * config/float-sparc.h: Likewise.
4146
4147 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4148
4149         * doc/contrib.texi: Add note about CRIS port to my entry.
4150
4151 2001-10-11  Kazu Hirata  <kazu@hxi.com>
4152
4153         * basic-block.h: Fix formatting.
4154         * bitmap.h: Likewise.
4155         * cpplib.h: Likewise.
4156         * c-tree.h: Likewise.
4157         * diagnostic.h: Likewise.
4158         * flags.h: Likewise.
4159         * ggc.h: Likewise.
4160         * longlong.h: Likewise.
4161         * real.h: Likewise.
4162         * reload.h: Likewise.
4163         * rtl.h: Likewise.
4164         * tree.h: Likewise.
4165
4166 2001-10-10  Richard Henderson  <rth@redhat.com>
4167
4168         * c-parse.in (asm_operand): Allow named operands.
4169         * genconfig.c (max_recog_operands): Set to 29.
4170         * local-alloc.c (requires_inout): Skip multiple digits.
4171         * recog.c (asm_operand_ok): Likewise.
4172         (preprocess_constraints): Use strtoul for matching constraints.
4173         (constrain_operands): Likewise.
4174         * regmove.c (find_matches): Likewise.
4175         * reload.c (find_reloads): Likewise.
4176         * stmt.c (parse_output_constraint): Don't reject in-out
4177         constraint on operands > 9.  Reject '[' in constraint.
4178         (expand_asm_operands): Handle named operands.  Use strtoul
4179         for matching constraints.
4180         (check_operand_nalternatives): Split out from expand_asm_operands.
4181         (check_unique_operand_names): New.
4182         (resolve_operand_names, resolve_operand_name_1): New.
4183
4184         * doc/extend.texi (Extended Asm): Document named operands.
4185         * doc/md.texi (Simple Constraints): Document matching constraints
4186         on operands > 9.
4187
4188 2001-10-10  Richard Henderson  <rth@redhat.com>
4189
4190         * combine.c (try_combine): Handle a SEQUENCE of one insn.
4191
4192         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
4193         (jcc splitters): Add two splitters to simplify compound compares
4194         that simplify_comparison can't handle.
4195
4196 2001-10-10  Richard Henderson  <rth@redhat.com>
4197
4198         * langhooks.c: Include langhooks.h.
4199         * Makefile.in (langhooks.o): Depend on it.
4200
4201 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
4202
4203         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
4204         should not be considered as a no-op.
4205         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
4206
4207 2001-10-10  Stan Shebs  <shebs@apple.com>
4208
4209         * alias.c: Remove uses of "register" specifier in declarations
4210         of arguments and local variables.
4211         * c-common.c: Ditto.
4212         * c-convert.c: Ditto.
4213         * c-decl.c: Ditto.
4214         * c-format.c: Ditto.
4215         * c-semantics.c: Ditto.
4216         * c-typeck.c: Ditto.
4217         * caller-save.c: Ditto.
4218         * calls.c: Ditto.
4219         * cfg.c: Ditto.
4220         * cfgbuild.c: Ditto.
4221         * cfgrtl.c: Ditto.
4222         * collect2.c: Ditto.
4223         * combine.c: Ditto.
4224         * convert.c: Ditto.
4225         * cppexp.c: Ditto.
4226         * cppfiles.c: Ditto.
4227         * cse.c: Ditto.
4228         * dbxout.c: Ditto.
4229         * defaults.h: Ditto.
4230         * df.c: Ditto.
4231         * dwarf2out.c: Ditto.
4232         * dwarfout.c: Ditto.
4233         * emit-rtl.c: Ditto.
4234         * explow.c: Ditto.
4235         * expmed.c: Ditto.
4236         * expr.c: Ditto.
4237         * final.c: Ditto.
4238         * fix-header.c: Ditto.
4239         * floatlib.c: Ditto.
4240         * flow.c: Ditto.
4241         * fold-const.c: Ditto.
4242         * function.c: Ditto.
4243         * gcc.c: Ditto.
4244         * gcse.c: Ditto.
4245         * gen-protos.c: Ditto.
4246         * genattrtab.c: Ditto.
4247         * gencheck.c: Ditto.
4248         * genconfig.c: Ditto.
4249         * genemit.c: Ditto.
4250         * genextract.c: Ditto.
4251         * genflags.c: Ditto.
4252         * gengenrtl.c: Ditto.
4253         * genoutput.c: Ditto.
4254         * genpeep.c: Ditto.
4255         * genrecog.c: Ditto.
4256         * gensupport.c: Ditto.
4257         * global.c: Ditto.
4258         * gmon.c: Ditto.
4259         * graph.c: Ditto.
4260         * haifa-sched.c: Ditto.
4261         * hard-reg-set.h: Ditto.
4262         * hash.c: Ditto.
4263         * integrate.c: Ditto.
4264         * jump.c: Ditto.
4265         * lists.c: Ditto.
4266         * local-alloc.c: Ditto.
4267         * loop.c: Ditto.
4268         * mips-tdump.c: Ditto.
4269         * mips-tfile.c: Ditto.
4270         * optabs.c: Ditto.
4271         * prefix.c: Ditto.
4272         * print-rtl.c: Ditto.
4273         * read-rtl.c: Ditto.
4274         * real.c: Ditto.
4275         * recog.c: Ditto.
4276         * reg-stack.c: Ditto.
4277         * regclass.c: Ditto.
4278         * regmove.c: Ditto.
4279         * reload.c: Ditto.
4280         * reload1.c: Ditto.
4281         * reorg.c: Ditto.
4282         * resource.c: Ditto.
4283         * rtl.c: Ditto.
4284         * rtlanal.c: Ditto.
4285         * scan.c: Ditto.
4286         * sched-deps.c: Ditto.
4287         * sched-rgn.c: Ditto.
4288         * sdbout.c: Ditto.
4289         * simplify-rtx.c: Ditto.
4290         * stmt.c: Ditto.
4291         * stor-layout.c: Ditto.
4292         * toplev.c: Ditto.
4293         * tradcif.y: Ditto.
4294         * tradcpp.c: Ditto.
4295         * tree.c: Ditto.
4296         * unroll.c: Ditto.
4297         * varasm.c: Ditto.
4298         * xcoffout.c: Ditto.
4299
4300 2001-10-10  Richard Henderson  <rth@redhat.com>
4301
4302         * rtl.h (can_reverse_comparison_p): Remove.
4303
4304 2001-10-10  Christopher Faylor <cgf@redhat.com>
4305
4306         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
4307         used.
4308
4309 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4310
4311         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
4312         (Thanks to Chris Faylor for suggesting macro name).
4313         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
4314         WIN32 defines.
4315         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
4316         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
4317         (MATH_LIBRARY): Undef before definition.
4318         (OUTPUT_QUOTED_STRING): Likewise.
4319         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
4320
4321 2001-10-10  Richard Henderson  <rth@redhat.com>
4322
4323         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
4324         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
4325         a tristate comparison value.
4326         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
4327
4328 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4329
4330         PR c++/4512
4331         * unroll.c (loop_iterations): Ignore insns generated by loop
4332         unrolling.
4333
4334         * config.gcc (mips*-*-gnu*): Delete support.
4335         * config/mips/gnu.h: Remove.
4336
4337 2001-10-10  Kazu Hirata  <kazu@hxi.com>
4338
4339         * calls.c: Fix formatting.
4340         * c-decl.c: Likewise.
4341         * cfgcleanup.c: Likewise.
4342         * combine.c: Likewise.
4343         * cppfiles.c: Likewise.
4344         * cpplib.c: Likewise.
4345         * cppmacro.c: Likewise.
4346         * crtstuff.c: Likewise.
4347         * cse.c: Likewise.
4348         * dwarf2out.c: Likewise.
4349         * expmed.c: Likewise.
4350         * expr.c: Likewise.
4351         * fold-const.c: Likewise.
4352         * function.c: Likewise.
4353         * gcse.c: Likewise.
4354         * genattrtab.c: Likewise.
4355         * ggc-page.c: Likewise.
4356         * integrate.c: Likewise.
4357         * libgcc2.c: Likewise.
4358         * loop.c: Likewise.
4359         * optabs.c: Likewise.
4360         * profile.c: Likewise.
4361         * protoize.c: Likewise.
4362         * real.c: Likewise.
4363         * recog.c: Likewise.
4364         * reload1.c: Likewise.
4365         * reload.c: Likewise.
4366         * reorg.c: Likewise.
4367         * resource.c: Likewise.
4368         * sched-rgn.c: Likewise.
4369         * sdbout.c: Likewise.
4370         * stmt.c: Likewise.
4371         * toplev.c: Likewise.
4372         * varasm.c: Likewise.
4373
4374 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
4375
4376         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
4377         * Makefile.in (langhooks.o): Add dependencies.
4378
4379 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
4380
4381         * rs6000.c (rs6000_emit_load_toc_table): Don't
4382         strdup the toc label.
4383         (create_TOC_reference): Likewise.
4384
4385 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4386
4387         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
4388         version default.
4389
4390 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4391
4392         * config/i386/i386.c (ix86_attribute_table): Correct
4393         min_len, max_len fields for dllimport, dllexport and shared.
4394
4395 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4396
4397         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
4398         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
4399         Consistently use "nonzero" instead of "non-zero".
4400
4401 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4402
4403         * acconfig.h: Fix comment formatting.
4404         * c-dump.h: Likewise.
4405         * c-tree.h: Likewise.
4406         * conditions.h: Likewise.
4407         * expr.h: Likewise.
4408         * function.h: Likewise.
4409         * gthr.h: Likewise.
4410         * hwint.h: Likewise.
4411         * integrate.h: Likewise.
4412         * intl.h: Likewise.
4413         * loop.h: Likewise.
4414         * optabs.h: Likewise.
4415
4416 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4417
4418         * c-common.h: Fix comment formatting.
4419         * c-dump.c: Likewise.
4420         * cfg.c: Likewise.
4421         * diagnostic.h: Likewise.
4422         * except.c: Likewise.
4423         * gcc.h: Likewise.
4424         * gcov-io.h: Likewise.
4425         * genattrtab.c: Likewise.
4426         * output.h: Likewise.
4427         * predict.h: Likewise.
4428         * reload1.c: Likewise.
4429         * reload.h: Likewise.
4430         * resource.h: Likewise.
4431         * scan.h: Likewise.
4432         * system.h: Likewise.
4433         * tree.h: Likewise.
4434         * tree-inline.c: Likewise.
4435         * tsystem.h: Likewise.
4436         * varasm.c: Likewise.
4437         * xcoffout.h: Likewise.
4438
4439 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4440
4441         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
4442
4443 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4444
4445         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
4446         config/i386/i386elf.h, config/i386/netbsd-elf.h,
4447         config/i386/netware.h, config/mcore/gfloat.h,
4448         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
4449         config/netware.h, gccbug.in: Update FSF address.
4450
4451 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4452
4453         * c-common.c: Fix comment typos.
4454         * cfgrtl.c: Likewise.
4455         * collect2.c: Likewise.
4456         * cpplex.c: Likewise.
4457         * doloop.c: Likewise.
4458         * dwarf2out.c: Likewise.
4459         * dwarfout.c: Likewise.
4460         * expr.c: Likewise.
4461         * fold-const.c: Likewise.
4462         * gcc.c: Likewise.
4463         * gcov.c: Likewise.
4464         * gcse.c: Likewise.
4465         * global.c: Likewise.
4466         * ifcvt.c: Likewise.
4467         * loop.c: Likewise.
4468         * optabs.c: Likewise.
4469         * protoize.c: Likewise.
4470         * regclass.c: Likewise.
4471         * reorg.c: Likewise.
4472         * rtl.h: Likewise.
4473         * stmt.c: Likewise.
4474         * tree.h: Likewise.
4475         * doc/cpp.texi: Likewise.
4476         * doc/c-tree.texi: Likewise.
4477         * doc/extend.texi: Likewise.
4478         * doc/invoke.texi: Likewise.
4479         * doc/objc.texi: Likewise.
4480         * doc/tm.texi: Likewise.
4481
4482 2001-10-08  Richard Henderson  <rth@redhat.com>
4483
4484         * varasm.c (set_named_section_flags): Initialize "declared".
4485
4486 2001-10-08  Robert Lipe  <robertlipe@usa.net>
4487
4488         * varasm.c (struct in_named_entry): Add declared.
4489         (named_section_first_declaration): New function.
4490         (default_elf_asm_named_section): Use it.
4491         * output.h (named_section_first_declaration): New.
4492
4493 2001-10-08  Richard Henderson  <rth@redhat.com>
4494
4495         * i386.md (movsi_xor): Export.
4496         (setcc peep2): Use it when available; add an alternative to
4497         match zero_extendhisi2_and.
4498
4499 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4500
4501         * romp-protos.h (romp_initialize_trampoline): New function.
4502         * romp.c (romp_initialize_trampoline): Likewise.
4503         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
4504         romp_initialize_trampoline.
4505
4506 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4507
4508         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
4509         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4510         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4511         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4512
4513 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4514
4515         * unroll.c (loop_iterations): Extend check for multiple back edges.
4516
4517 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
4518
4519         * langhooks.h: New file.
4520         * Makefile.in (OBJS): Added langhooks.o.
4521         (c-lang.o): Depend on langhooks.h.
4522         (c-common.o): Don't depend on tree-inline.h.
4523         (tree-inline.o): Depend on toplev.h.
4524         (langhooks.o): New rule.
4525         * c-common.c: Don't include tree-inline.h.
4526         (c_mark_lang_decl): Mark argument c as unused.
4527         (c_common_lang_init): Don't initialize hooks here.
4528         * c-lang.c: Include langhooks.h, then override some macros.
4529         (lang_hooks): Initialize with macros in langhooks.h.
4530         (c_init): Don't initialize hooks here.
4531         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
4532         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
4533         * tree-inline.c: Include toplev.h.  Don't define hook variables.
4534         * tree-inline.h: Don't define hook types nor declare hook
4535         variables.  Move macros to...
4536         * langhooks.c: ... new file, as functions.  Adjust all callers.
4537
4538 2001-10-08  Jeffrey A Law  <law@cygnus.com>
4539
4540         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
4541         purge_mem_unchanging_flag on all instructions, not just on those
4542         before NOTE_INSN_FUNCTION_BEG.
4543
4544 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4545
4546         * cppmacro.c (_cpp_create_definition): Leave comments off.
4547
4548         * doc/cpp.texi: Update.
4549
4550 2001-10-08  DJ Delorie  <dj@redhat.com>
4551
4552         * c-decl.c (grokfield): Make sure the only unnamed fields
4553         we're allowing are either structs or unions.
4554         * doc/extend.texi: Add documentation for the unnamed field
4555         extension.
4556
4557 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
4558
4559         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
4560         * configure.in: Use it.
4561         * configure: Regenerated.
4562         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
4563         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
4564
4565 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4566
4567         * cppfiles.c (open_file): Don't mark zero-length files
4568         never-reread here.  Don't output diagnostics here either.
4569         (stack_include_file): Mark them never-reread here.
4570         (_cpp_read_file): Update.
4571
4572 2001-10-08  Richard Henderson  <rth@redhat.com>
4573
4574         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4575
4576 2001-10-08  Richard Henderson  <rth@redhat.com>
4577
4578         * expr.c (store_expr): When converting a CONST_INT for storage
4579         in a SUBREG, convert it to both SUBREG modes before stripping
4580         the SUBREG.
4581
4582 2001-10-08  Richard Henderson  <rth@redhat.com>
4583
4584         * varasm.c (restore_varasm_status): New.
4585         * function.h: Declare it.
4586         * function.c (pop_function_context_from): Call it.
4587
4588 2001-10-08  Richard Henderson  <rth@redhat.com>
4589
4590         * c-common.h (struct c_lang_decl): Add declared_inline.
4591         * c-tree.h (DECL_DECLARED_INLINE_P): New.
4592         * c-lang.c (c_disregard_inline_limits): Use it.
4593         * c-decl.c (duplicate_decls): Likewise.
4594         (pushdecl, redeclaration_error_message): Likewise.
4595         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
4596         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
4597         Set DECL_INLINE if -finline-functions.
4598         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
4599
4600 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4601
4602         * cppmacro.c (funlike_invocation_p): Move some logic to caller
4603         in enter_macro_context.  Create a padding token in its own context
4604         if necessary when the search for '(' fails.
4605         (enter_macro_context): Update.
4606
4607 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4608
4609         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
4610         genmultilib, toplev.c: Fix spelling errors of "separate" as
4611         "seperate", and corresponding spelling errors of related words.
4612
4613 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4614
4615         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
4616         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
4617         Likewise.
4618         * c-dump.c (dump_option_value_info): Likewise.
4619         * c-format.c (format_length_info, format_char_info,
4620         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
4621         * collect2.c (names): Likewise.
4622         * cppdefault.h (default_include): Likewise.
4623         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
4624         * flow.c (life_analysis): Likewise.
4625         * gcc.c (dir_separator_str, modify_target, option_map,
4626         target_option_translations, spec_list_1, extra_specs_1,
4627         init_spec): Likewise.
4628         * gcov.c (gcov_version_string): Likewise.
4629         * genattr.c (write_units): Likewise.
4630         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
4631         * gengenrtl.c (rtx_definition, defs): Likewise.
4632         * genrecog.c (pred_table): Likewise.
4633         * global.c (global_alloc): Likewise.
4634         * lcm.c (optimize_mode_switching): Likewise.
4635         * local-alloc.c (find_free_reg): Likewise.
4636         * params.h (param_info): Likewise.
4637         * predict.c (predictor_info): Likewise.
4638         * protoize.c (unexpansion_struct): Likewise.
4639         * real.c (bmask): Likewise.
4640         * recog.h (insn_operand_data, insn_data): Likewise.
4641         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
4642         * stmt.c (expand_nl_goto_receiver): Likewise.
4643         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
4644         target_switches, target_options): Likewise.
4645         * tradcif.y (token, tokentab2, yylex): Likewise.
4646         * tree.h (attribute_spec): Likewise.
4647
4648         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
4649         Likewise.
4650         * arc.c (arc_output_function_epilogue): Likewise.
4651         * arm.c (processors, all_cores, all_architectures,
4652         arm_override_options, isr_attribute_arg, isr_attribute_args,
4653         arm_isr_value): Likewise.
4654         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
4655         Likewise.
4656         * c4x.c (c4x_int_reglist): Likewise.
4657         * d30v.c (override_options): Likewise.
4658         * h8300.c (shift_insn): Likewise.
4659         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
4660         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
4661         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
4662         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
4663         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
4664         * i386.h (processor_costs, ix86_cost): Likewise.
4665         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
4666         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
4667         * m68k.c (codes_68881, codes_FPA): Likewise.
4668         * m88k.c (mode_from_align, max_from_align, all_from_align,
4669         best_from_align, m_options): Likewise.
4670         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
4671         * mcore.c (mode_from_align): Likewise.
4672         * mips/elf64.h (UNIQUE_SECTION): Likewise.
4673         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
4674         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
4675         * mips.h (mips_regno_to_class): Likewise.
4676         * ns32k.c (scales): Likewise.
4677         * pa.c (import_string, magic_milli): Likewise.
4678         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
4679         * sparc.c (leaf_reg_remap, sparc_override_options,
4680         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
4681         Likewise.
4682         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
4683
4684 2001-10-07  Dale Johannesen  <dalej@apple.com>
4685
4686         * reload1.c (reload_reg_free_p): Teach register interference
4687         checking that multiple output reloads are emitted in
4688         reverse order.
4689         reload1.c (reload_reg_reaches_end_p):  Ditto.
4690         reload1.c (reloads_conflict):  Ditto.
4691
4692 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4693
4694         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
4695         NULL_TREE inside @code.
4696
4697 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4698
4699         * doc/gcc.texi: Document consistent style of "32-bit",
4700         "Objective-C", and "@code{NULL}".
4701
4702 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
4703
4704         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
4705         (cpp_token_len, cpp_spell_token, cpp_output_token,
4706         _cpp_equiv_tokens): Handle it.
4707         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
4708         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
4709         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
4710         error messages.
4711
4712 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4713
4714         * gcc.c (default_compilers): Remove .ada.
4715
4716 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4717
4718         * doc/cppinternals.texi: Update.
4719
4720 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
4721
4722         * gcc.c (main): Set this_file_error if the appropriate
4723         compiler for a language has not been installed.
4724
4725 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
4726
4727         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
4728
4729 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
4730
4731         * gccbug.in (CATEGORIES): Add ada.
4732
4733 2001-10-05  Catherine Moore  <clm@redhat.com>
4734
4735         * config/stormy16/stormy-abi:  Document abi changes.
4736         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
4737         (ICALL_REGS): New register class.
4738         (NUM_ARGUMENT_REGISTERS): Now 6.
4739         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
4740         in registers.
4741         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
4742         * config/stormy16.md (call_internal, call_value_internal,
4743         indirect_jump): Use new 'z' constraint.
4744
4745 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4746
4747         * doc/cppinternals.texi: Update.
4748
4749 2001-10-05  Richard Henderson  <rth@redhat.com>
4750
4751         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
4752         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
4753         the gas section-name-as-label feature.
4754
4755 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4756
4757         * doc/cppinternals.texi: Update.
4758
4759 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4760
4761         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
4762         to ensure valid SImode constants.
4763
4764 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
4765
4766         * Makefile.in (c-decl.o): Depend on tree-inline.h.
4767         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
4768         * c-decl.c: Include tree-inline.h.
4769         (c_expand_body): Call optimize_inline_calls. Determine whether
4770         a function is inlinable upfront, and only clear
4771         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
4772         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
4773         (c_disregard_inline_limits): New function.
4774         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
4775         (c_post_options): Enable tree inlining if inlining is enabled.
4776         Don't inline trees when instrumenting functions.
4777         (c_init): Initialize lang_disregard_inline_limits and
4778         lang_cannot_inline_tree_fn.
4779         * tree-inline.c (initialize_inlined_parameters): Handle calls
4780         with fewer arguments than declared parameters, and fewer
4781         parameters than passed arguments.  Don't assume value is a
4782         DECL.
4783         (declare_return_variable): Convert return value back to the
4784         original type, if it was promoted.
4785         (tree_inlinable_function_p): New function.
4786         (inlinable_function_p): Don't look at DECL_INLINE if we're
4787         inlining all functions.  Make it work with a NULL id.
4788         Re-check DECL_UNINLINABLE after language-specific checks.
4789         * tree-inline.h (tree_inlinable_function_p): Declare it.
4790         * integrate.c (save_for_inline): Don't bother to prepare argvec
4791         when not inlining.
4792         * cse.c (check_for_label_ref): Don't check deleted labels.
4793
4794         * Makefile.in (tree-inline.o): Depend on newly-included headers.
4795         * tree-inline.c: Include headers needed for the functions moved in.
4796         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
4797         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
4798         (copy_body, initialize_inlined_parameters): Likewise.
4799         (declare_return_variable, inlinable_function_p): Likewise.
4800         (expand_call_inline, expand_calls_inline): Likewise.
4801         (optimize_inline_calls, clone_body): Likewise.
4802         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
4803         (copy_tree_r, remap_save_expr): Likewise.
4804
4805 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
4806
4807         * Makefile.in (OBJS): Added tree-inline.o.
4808         (c-common.o): Depend on tree-inline.h.
4809         (tree-inline.o): New target.
4810         * c-common.c: Include tree-inline.h.
4811         (c_mark_lang_decl): Don't mark saved_tree.
4812         (c_common_lang_init): Set lang_anon_aggr_type_p.
4813         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
4814         (struct c_lang_decl): Moved saved_tree to tree_decl.
4815         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
4816         * integrate.h (function_attribute_inlinable_p): Declare it.
4817         * integrate.c (function_attribute_inlinable_p): Export it.
4818         * tree-inline.c: New file.  Define variables declared in...
4819         * tree-inline.h: New file.  Declare functions to be moved to
4820         tree-inline.c.  Define macros and declare types and hooks for
4821         language-specific tree inlining.
4822         (flag_inline_trees): Moved definition from cp/decl2.c.
4823         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
4824         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
4825         (struct tree_decl): Moved saved_tree from c_lang_decl and
4826         inlined_fns from C++'s lang_decl.
4827
4828 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
4829
4830         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
4831         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
4832
4833 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
4834
4835         * doc/cppinternals.texi: Update.
4836
4837 2001-10-04  Eric Christopher  <echristo@redhat.com>
4838
4839         * config/mips/mips.c (init_cumulative_args): Remember to set
4840         cum->prototype.
4841         * config.gcc: Redo linux configuration. Add target_cpu_default
4842         of soft-float to all mipsisa32 combinations and tx39.
4843         * config/mips/linux.h: Remove include of mips.h.
4844
4845 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
4846
4847         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
4848         HOST_LDFLAGS and HOST_CPPFLAGS.
4849
4850 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
4851
4852         * c-parse.in (objc_inherit_code, objc_pq_context,
4853         objc_public_flag): Make static.
4854         (objc_interface_context, objc_implementation_context,
4855         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
4856         global tree array in objc/objc-act.[ch].
4857         (methoddef): Remove unnecessary code.
4858
4859         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
4860         Hoist struct definitions to objc-act.h.
4861         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
4862         cat_count): Place declaration in objc-act.h.
4863         (objc_tree_index): Move enumeration to objc-act.h.
4864         (objc_global_trees): Place declaration and macro accessors in
4865         objc-act.h.
4866         (implementation_context): Remove duplicate; use
4867         objc_implementation_context instead:
4868         (method_context): Remove duplicate; use objc_method_context
4869         instead.
4870         (objc_ellipsis_node, objc_method_prototype_template,
4871         implemented_classes, function_type): Move global vars to
4872         objc_global_trees.
4873         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
4874         (build_message_expr): Move actual construction of ObjC message
4875         send nodes to finish_message_expr.
4876         (finish_message_expr): New routine, contains code formerly in
4877         build_message_expr.
4878         * objc/objc-act.h (finish_message_expr): New prototype.
4879         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
4880         declarations; these vars are now part of objc_global_trees.
4881         (objc_tree_index, objc_global_trees): Move definitions from
4882         objc-act.c.
4883         * objc/objc-tree.def: Update copyright info.
4884
4885 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
4886
4887         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
4888         op is NULL.
4889         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
4890         only if TARGET_ARCH64.
4891
4892 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
4893
4894         * doc/extend.texi: Fix some problems with previous checkin.
4895         * doc/invoke.texi: Likewise.
4896
4897 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4898
4899         * cpphash.h: Update comments.
4900         (cpp_context): Update.
4901         (spec_nodes): Remove n__Pragma.
4902         * cppinit.c (cpp_create_reader): Update.
4903         (builtin_array): Add _Pragma.
4904         * cpplib.h: Update comments.
4905         (NODE_DISABLED, BT_PRAGMA): New.
4906         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
4907         * cppmacro.c (struct cpp_macro): Remove disabled.
4908         (builtin_macro): Return int, handle _Pragma, push the new token
4909         on the context stack.
4910         (funlike_invocation_p): Unconstify, update.
4911         (enter_macro_context): Handle builtins here.
4912         (replace_args, push_token_context, push_ptoken_context):
4913         Update for prototype changes.
4914         (_cpp_pop_context): Update.
4915         (cpp_get_token): Don't handle buitins, nor _Pragma here.
4916         (cpp_sys_macro_p): Update.
4917         (_cpp_free_definition): Clear disabled flag.
4918         (_cpp_create_definition): Upate.
4919         * cppmain.c: Update comments.
4920
4921 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
4922                                 Andreas Jaeger <aj@suse.de>,
4923                                 Jan Hubicka    <jh@suse.cz>
4924
4925         * doc/invoke.texi (i386 Options): Document x86-64 options.
4926         (i386 and x86-64 Options): Rename i386 options section.
4927
4928         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
4929         (TARGET_SWITCHES): Add -munwind-info.
4930         (MASK_NO_UNWIND_INFO): New.
4931         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
4932         biarch compilation.
4933         (ASM_OUTPUT_DOUBLE_INT): New.
4934
4935         * config/i386/linux64.h: New spec file for Linux x86-64 support.
4936         * config.gcc: Fix tm_file settings for x86-64.
4937         * config/i386/x86-64.h: New file with OS independent x86-64
4938         definitions.
4939         * config/i386/biarch64.h: New file used to configure compiler
4940         to biarch/64bit compilation.
4941
4942         * config/i386/i386.c: (override_options): Set flags default
4943         for 64bit compilation.
4944
4945 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
4946
4947         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
4948         (ix86_expand_int_movcc): Optimize DImode conditional moves with
4949         constants on x86_64.
4950         (ix86_attr_length_immediate_default): Support MODE_DI.
4951         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
4952         condition.
4953         (indirect_jump, tablejump): Turn into expander.
4954
4955 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4956
4957         * c-common.c (c_format_attribute_table): Make format and
4958         format_arg attributes apply to function types rather than to
4959         decls.
4960         (is_valid_printf_arglist): Construct an attribute list and pass
4961         that to check_function_format rather than a name.
4962         * c-common.h (check_function_format): Adjust prototype.
4963         * c-decl.c (duplicate_decls): Preserve attributes from type of
4964         built-in decl when allowing for harmless conflict in types.
4965         * c-format.c (record_function_format,
4966         record_international_format, function_format_list,
4967         international_format_info, international_format_list): Remove.
4968         (function_format_info): Remove next, name and assembler_name.
4969         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
4970         (decode_format_attr): New.
4971         (handle_format_attribute): Handle receiving a type rather than a
4972         decl.  Call decode_format_attr.  Store format information in a
4973         function_format_info.
4974         (handle_format_arg_attribute): Correct comment.  Handle receiving
4975         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
4976         arg_num.
4977         (check_format_info_recurse, check_format_info_main): Take argument
4978         numbers as unsigned HOST_WIDE_INT.
4979         (check_function_format): Take a list of attributes from the
4980         function type rather than a name or assembler name.  Check for
4981         format attributes in that list and the attributes on the type of
4982         the current function rather than looking through
4983         function_format_list.
4984         (check_format_info): Use unsigned HOST_WIDE_INT for argument
4985         numbers.
4986         (check_format_info_recurse): Take format_arg attributes from the
4987         type of the function calls rather than using
4988         international_format_list.  Allow for multiple format_arg
4989         attributes.
4990         * c-typeck.c (build_function_call): Pass type attributes to
4991         check_function_format rather than name or assembler name.  Don't
4992         require there to be a name or assembler name to check formats.
4993
4994 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4995
4996         * attribs.c (decl_attributes): Possibly call
4997         insert_default_attributes to insert default attributes on
4998         functions in a lazy manner.
4999         * builtin-attrs.def: New file; define the default format and
5000         format_arg attributes.
5001         * c-common.c (c_format_attribute_table): Move to earlier in the
5002         file.
5003         (c_common_nodes_and_builtins): Initialize format_attribute_table.
5004         (enum built_in_attribute, built_in_attributes,
5005         c_attrs_initialized, c_init_attributes,
5006         c_common_insert_default_attributes): New.
5007         (c_common_lang_init): Don't initialize format_attribute_table.  Do
5008         call c_init_attributes.
5009         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
5010         * c-common.h (init_function_format_info): Don't declare.
5011         (c_common_insert_default_attributes): Declare.
5012         * c-decl.c (implicitly_declare, builtin_function): Call
5013         decl_attributes.
5014         (init_decl_processing): Don't call init_function_format_info.
5015         (insert_default_attributes): New.
5016         * c-format.c (handle_format_attribute,
5017         handle_format_arg_attribute): Be quiet about inappropriate
5018         declaration when applying default attributes.
5019         (init_function_format_info): Remove.
5020         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
5021         (insert_default_attributes): Declare.
5022
5023 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5024
5025         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
5026
5027 2001-10-01  Jim Wilson  <wilson@redhat.com>
5028
5029         * sched-deps.c (add_dependence): When elide conditional dependence,
5030         check that insn doesn't modify cond2.
5031
5032 2001-10-01  Dale Johannesen  <dalej@apple.com>
5033
5034         * config/rs6000/rs6000.h (enum processor_type): Add support
5035         for 7400 (G4) and 7450.
5036         (RTX_COSTS): Ditto.
5037         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
5038         (rs6000_issue_rate): Ditto.
5039         (rs6000_adjust_cost): Fix cycle counts for compares.
5040         (debug_stack_info):  Fix an obvious typo.
5041         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
5042         * doc/invoke.texi: Document.
5043         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
5044         for Darwin.
5045         (PROCESSOR_DEFAULT): Ditto.
5046
5047 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
5048
5049         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
5050         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
5051         later recursive make invocation.
5052
5053 2001-10-01  Hans Boehm  <boehm@acm.org>
5054
5055         * optabs.c (emit_libcall_block): When using non-call exceptions,
5056         don't add REG_LIBCALL reg notes to trapping calls.
5057
5058 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
5059
5060         * flow.c (propagate_block_delete_libcall): Remove unused first arg
5061         (propagate_one_insn):  Update for above change
5062
5063 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
5064
5065         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
5066         _Unwind_GetTextRelBase): Argument is unused.
5067
5068 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5069
5070         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
5071         Loop through NOPs, placeholders, and components.
5072         Don't go through NOPs if change mode.
5073         (record_alias_subset): Do nothing if SUBSET and SET are the same.
5074         * emit-rtl.c (set_mem_alias_set): Enable check.
5075         * expr.c (find_placeholder): New function.
5076         (expand_expr, case PLACEHOLDER_EXPR): Use it.
5077         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
5078         to modify it and avoid unneeded copies.
5079         * expr.h (expand_expr): Always define.
5080         (find_placeholder): New declaration.
5081
5082 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5083
5084         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
5085         operand 2 is the stack pointer.
5086         ("addr-peephole"): Fix address computation peephole when operand 2
5087         is the stack pointer.
5088
5089 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5090
5091         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
5092         (ix86_setup_incoming_varargs): Likewise.
5093
5094 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
5095
5096         * stor-layout.c (layout_type): Don't complain about too-large
5097         array here.
5098
5099 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5100
5101         * function.c (keep_stack_depressed): Don't use delete_insn.
5102
5103         * expr.h (set_mem_alias_set): Move decl to here.
5104         * rtl.h (mem_attrs): New typedef and struct.
5105         (union rtunion_def): Add field for mem_attrs.
5106         (X0MEMATTR, MEM_ATTRS): New macros.
5107         (MEM_ALIAS_SET): Use MEM_ATTRS.
5108         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
5109         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
5110         (set_mem_alias_set): Delete decl from here.
5111
5112         * alias.c (set_mem_alias_set): Delete from here.
5113         * emit-rtl.c (mem_attrs_htab): New variable.
5114         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
5115         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
5116         (mem_attrs_mark, get_mem_attrs): Likewise.
5117         (gen_rtx_MEM): Clear MEM_ATTRS.
5118         (set_mem_attributes): Move to here.
5119         (set_mem_alias_set): Likewise, and call get_mem_attrs.
5120         (init_emit_once): const_int_htab now deletable htab.
5121         Initialize mem_attrs_htab.
5122         * explow.c (set_mem_attributes): Delete from here.
5123         * function.c (put_var_into_stack): Clear MEM_ATTRS.
5124         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
5125         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
5126         * reload1.c (reload): Rework changing REG to MEM.
5127
5128 2001-09-30  H.J. Lu <hjl@gnu.org>
5129
5130         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
5131         * config.in: Rebuild.
5132
5133 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5134
5135         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
5136         ("tsthi_1"): Avoid allocation in register y.
5137         ("*movqi_68hc12"): Reorganize and fix constraints.
5138         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
5139         ("addqi3"): Likewise.
5140         ("addhi3"): Fix constraints.
5141         ("*logicalhi3_zexthi"): Disparage soft registers.
5142
5143 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5144
5145         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
5146         to tmp reg.
5147
5148 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5149
5150         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
5151         that we use setjmp/longjmp exceptions.
5152
5153 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
5154
5155         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
5156         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
5157         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5158         _cpp_pool_alloc, _cpp_next_chunk): Remove.
5159         (_cpp_extend_buff, BUFF_ROOM): Update.
5160         (_cpp_append_extend_buff): New.
5161         (struct cpp_reader): Remove macro_pool, add a_buff.
5162         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
5163         macro_pool.
5164         (cpp_destroy): Free a_buff instead of macro_pool.
5165         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
5166         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5167         _cpp_pool_alloc, ): Remove.
5168         (parse_number, parse_string): Update use of _cpp_extend_buff.
5169         (_cpp_extend_buff): Update.
5170         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
5171         * cpplib.c (glue_header_name, parse_answer):
5172         Update use of _cpp_extend_buff.
5173         (cpp_register_pragma, cpp_register_pragma_space): Use
5174         _cpp_aligned_alloc.
5175         (do_assert, do_unassert): Check for EOL, update.
5176         * cppmacro.c (stringify_arg, collect_args): Update to use
5177         _cpp_extend_buff and _cpp_append_extend_buff.
5178         (save_parameter, parse_params, alloc_expansion_token,
5179         _cpp_create_definition): Rework memory management.
5180
5181 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
5182
5183         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
5184         update md_exec_prefix.
5185         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
5186         to string constant.
5187
5188 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5189
5190         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
5191         (SELECT_CC_MODE): Use s390_select_ccmode.
5192         * config/s390/s390-protos.h (s390_select_ccmode): Add.
5193         * config/s390/s390.c (s390_select_ccmode): New.
5194         (s390_match_ccmode): Add CCLmode.
5195         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
5196         (output_branch_condition, output_inverse_branch_condition): Removed.
5197         (print_operand): Use s390_branch_condition_mnemonic.
5198         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
5199         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
5200         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
5201
5202         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
5203         when converting conditional branches to far branches.
5204         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
5205         cmpint_di): Use CCSmode instead of CCUmode.
5206
5207         * config/s390/s390.c (legitimate_la_operand_p): New.
5208         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
5209         * config/s390/s390.md (movsi): Convert load address patterns to
5210         arithmetic operations when necessary.
5211         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
5212         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
5213         (*do_la_reg_0): Don't use before reload.
5214
5215         * config/s390/s390.c (legitimize_address): Make more efficient
5216         use of two-register addressing mode.
5217
5218         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
5219         with -mno-backchain in some corner cases.
5220
5221         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
5222
5223 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
5224
5225         * reload.c (find_reloads): Mark new USE insns with QImode.
5226         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
5227         find_reloads_subreg_address): Likewise.
5228         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
5229         encountered.
5230         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
5231         CLOBBERs.
5232         (reload): Make sure there are no USEs with mode other than
5233         VOIDmode.  At the end, remove those marked with QImode.
5234
5235 2001-09-29  Per Bothner  <per@bothner.com>
5236
5237         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
5238         * Makefile.in (includedir):  Rename to local_includedir.
5239         (includedir):  Define as $(prefix)/include.
5240         * config.in (PREFIX_INCLUDE_DIR):  New variable.
5241         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
5242
5243 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
5244
5245         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
5246         storehps builtins.
5247         * doc/extend.texi (Vector Extensions): New node.
5248         * doc/invoke.texi (Machine Dependent Options): Add documentation for
5249         i386 -mmmx, -msse, -m3dnow.
5250
5251 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
5252
5253         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
5254
5255 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
5256
5257         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
5258
5259         * doc/invoke.texi (Optimize Options): Delete spurious @table.
5260
5261 2001-09-28  Richard Henderson  <rth@redhat.com>
5262
5263         * varasm.c (assemble_integer): Bound alignment check by
5264         BIGGEST_ALIGNMENT.
5265
5266         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
5267
5268 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5269
5270         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
5271
5272 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5273
5274         Mostly from Graham Stott  <grahams@redhat.com>
5275         * c-common.c (type_for_mode): Add support for V2SFmode.
5276         * tree.c (build_common_tree_nodes_2): Likewise.
5277         * tree.h (enum tree_index, global_trees): Likewise.
5278         * config/i386/i386.c (x86_3dnow_a): New variable.
5279         (override_options): Support 3Dnow extensions.
5280         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
5281         Athlon's version of 3Dnow.
5282         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
5283         (ix86_expand_builtin): Handle them.
5284         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
5285         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
5286         TARGET_3DNOW_A): New macros.
5287         (TARGET_SWITCHES): Add 3Dnow switches.
5288         (VALID_MMX_REG_MODE_3DNOW): New macro.
5289         (VECTOR_MODE_SUPPORTED_P): Use it.
5290         (enum ix86_builtins): Add entries for 3Dnow builtins.
5291         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
5292         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
5293         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
5294         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
5295         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
5296         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
5297         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
5298         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
5299         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
5300         sfence_insn, prefetch): Make these available if TARGET_SSE or
5301         TARGET_3DNOW_A.
5302
5303 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5304
5305         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
5306         ix86_va_start, ix86_build_va_list): Declare.
5307         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
5308         ix86_va_start, ix86_build_va_list): New global functions.
5309         * i386.md (sse_prologue_save_insn): New insn.
5310         (sse_prologue_save): New expander.
5311         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
5312         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
5313
5314 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5315
5316         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
5317         Use size_t everywhere, make definitions consistent with
5318         prototypes.
5319
5320 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
5321
5322         * gcse.c (replace_store_insn): Use delete_insn.
5323         * loop.c (move_movables): Likewise; avoid delete_insn
5324         from clobbering notes moved elsewhere.
5325         (check_dbra_loop): Use delete_insn.
5326         * ssa.c (convert_from_ssa): Likewise.
5327         * cse.c (cse_insn): Use delete_insn.
5328
5329 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5330
5331         * cpphash.h (struct cpp_buff): Make unsigned.
5332         (_cpp_get_buff): Take length of size_t.
5333         (_cpp_unaligned_alloc): New.
5334         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
5335         (struct cpp_reader): Remove ident_pool.  Add u_buff.
5336         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
5337         (cpp_destroy): Destroy u_buff, not ident_pool.
5338         * cpplex.c (parse_number, parse_string, save_comment,
5339         cpp_token_as_text): Update to use the unaligned buffer.
5340         (new_buff): Make unsigned.
5341         (_cpp_unaligned_alloc): New.
5342         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
5343         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
5344         Similarly.
5345         (collect_args): Make unsigned.
5346
5347 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
5348
5349         * cpplex.c (cpp_output_token): Use a putc loop for
5350         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
5351
5352         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
5353         * configure, config.in: Regenerate.
5354         * system.h: Replace fwrite and fprintf with their unlocked
5355         variants if available.
5356
5357 2001-09-27  Richard Henderson  <rth@redhat.com>
5358
5359         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
5360         in favour of .eh_frame.
5361
5362 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
5363
5364         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
5365         to macros.
5366         (LIBCALL_VALUE): Likewise.
5367
5368 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5369
5370         * cpphash.h: Update comment.
5371         * cpplex.c: Update comments.
5372         (_cpp_can_paste): Remove.
5373         * cpplib.h (_cpp_can_paste): Remove.
5374         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
5375         lexer rather than _cpp_can_paste.
5376
5377 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5378
5379         * doc/cppinternals.texi: Update.
5380
5381 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5382
5383         * cpphash.h (struct cpp_pool): Remove locks and locked.
5384         (struct cpp_context): Add member buff.
5385         (struct cpp_reader): Remove member argument_pool.
5386         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5387         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
5388         * cpplex.c (chunk_suitable): Remove pool argument.
5389         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
5390         (new_buff, _cpp_extend_buff): Update.
5391         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
5392         which buffer is returned.
5393         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
5394         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5395         * cppmacro.c (lock_pools, unlock_pools): Remove.
5396         (push_ptoken_context): Take a _cpp_buff.
5397         (enter_macro_context): Pool locking removed.
5398         (replace_args): Use a _cpp_buff for the replacement list with
5399         arguments replaced.
5400         (push_token_context): Clear buff.
5401         (expand_arg): Use _cpp_pop_context.
5402         (_cpp_pop_context): Free a context's buffer, if any.
5403
5404 2001-09-26  DJ Delorie  <dj@redhat.com>
5405
5406         * c-typeck.c (digest_init): Check for sizeless arrays.
5407
5408 2001-09-26  Richard Henderson  <rth@redhat.com>
5409
5410         * optabs.c (init_one_libfunc): Create a dummy function type
5411         instead of using error_mark_node.
5412
5413 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5414
5415         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
5416         _cpp_extend_buff, _cpp_free_buff): New.
5417         (struct cpp_reader): New member free_buffs.
5418         * cppinit.c (cpp_destroy): Free buffers.
5419         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
5420         _cpp_extend_buff, _cpp_free_buff): New.
5421         * cpplib.h (struct cpp_options): Remove unused member.
5422         * cppmacro.c (collect_args): New.  Combines the old parse_arg
5423         and parse_args.  Use _cpp_buff for memory allocation.
5424         (funlike_invocation_p, replace_args): Update.
5425
5426 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
5427
5428         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
5429
5430 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
5431
5432         * except.c (sjlj_mark_call_sites): Change address inside sequence.
5433
5434 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
5435
5436         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
5437         glibc.
5438
5439 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
5440             Jim Wilson  <wilson@redhat.com>
5441
5442         * doc/install.texi (Specific, ia64-*-linux): Document.
5443
5444 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
5445
5446         * Makefile.in (cfgrtl.o): Add.
5447         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5448         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5449         free_aux_for_edge): Declare.
5450         * cfg.c
5451         (HAVE_return): Undefine.
5452         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5453         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5454         free_aux_for_edge): New global functions.
5455         (first_delete_block): New static variable.
5456         (init_flow): Clear first_delete_block.
5457         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
5458          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
5459          try_redirect_by_replacing_jump, last_loop_beg_note,
5460          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
5461          delete_insn, delete_insn_chain, create_basic_block_structure,
5462          create_basic_block, flow_delete_block, compute_bb_for_insn,
5463          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
5464          set_block_for_new_insns, split_block, merge_blocks_nomove,
5465          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
5466          redirect_edge_and_branch, force_nonfallthru_and_redirect,
5467          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
5468          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
5469          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
5470          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5471          purge_all_dead_edges): Move to ....
5472         * cfgrtl.c: New file; .... Here.
5473
5474         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
5475         (reroder_basic_block): Use alloc_aux_for_blocks.
5476         * predict.c (estimate_bb_frequencies): Likewise; use
5477         alloc_aux_for_edges.
5478         * profile.c (compute_branch_probabilities): Likewise.
5479         (branch_prob): Likewise.
5480         * reg-stack.c (reg_to_stack): Likewise.
5481
5482         * emit-rtl.c (emit_insns_after): Never return NULL.
5483
5484         * basic-block.h (set_block_for_new_insns): Delete.
5485         * cfgrtl.c (set_block_for_new_insns): Delete.
5486
5487         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
5488         calls when crossjumping.
5489
5490         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
5491         * unroll.c (copy_loop_body): Use delete_insn.
5492
5493         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
5494         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
5495         keep_stack_depressed): Likewise.
5496         * gcse.c (cprop_cc0_jump): Likewise.
5497         * local-alloc.c (update_equiv_regs): Likewise.
5498         * loop.c (scan_loop, loop_delete_insns): Likewise.
5499         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
5500         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
5501         delete_output_reload, delete_address_reloads_1,
5502         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
5503         Likewise.
5504         * sibcall.c (replace_call_placeholder): Likewise.
5505         * cse.c (cse_insn): Likewise.
5506
5507 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5508
5509         From Graham Stott  <grahams@redhat.com>
5510         (def_builtin): Only define builtins appropriate for target_flags.  All
5511         callers changed.
5512         (builtin_decsription): Add new field mask which is used to determine
5513         when to define the builtin via the macro def_builtin.
5514
5515         (bdesc_comi): Initialise new mask fields.
5516         (bdesc_2srg): Likewise.
5517         (bdesc_1arg): Likewise.
5518
5519         * config/i386/i386.c (ix86_init_builtins): Correct return type
5520         building v4hi_ftype_v4hi_int_int tree node.
5521         (ix86_expand_sse_comi): Fix typo swapping operands.
5522         Don't swap comparision condition, it is already swapped.
5523         (ix86_expand_sse_compare): Before swapping operands
5524         move operand 1 into new rtx and not the target rtx.
5525         Don't swap comparison condition, it is already swapped.
5526         Always check whether we need to create a new TARGET.
5527
5528         * config/i386/i386.md: (sse_comi) Fix typos.
5529         (sse_ucomi): Likewise.
5530         (cvtss2si): Fix operand 0 contraint.
5531         (cvttss2si): Likewise.
5532         (sse_unpckhps): Fix mode for operand 2.
5533         (sse_unpcklps): Likewise.
5534
5535 2001-09-25  Graham Stott  <grahams@redhat.com>
5536
5537         * sibcall.c (skip_copy_to_return_value): Tighten return value
5538         copy check.
5539
5540 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
5541
5542         * rs6000.c (lwa_operand): Address must be word aligned.
5543
5544 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5545
5546         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
5547         number has been set.
5548         (type_hash_mark): Mark type itself.
5549
5550 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
5551
5552         * c-lex.c (cb_def_pragma): Update.
5553         (c_lex): Update, and skip padding.
5554         * cppexp.c (lex, parse_defined): Update, remove unused variable.
5555         * cpphash.h (struct toklist): Delete.
5556         (union utoken): New.
5557         (struct cpp_context): Update.
5558         (struct cpp_reader): New members eof, avoid_paste.
5559         (_cpp_temp_token): New.
5560         * cppinit.c (cpp_create_reader): Update.
5561         * cpplex.c (_cpp_temp_token): New.
5562         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
5563         (cpp_output_token): Don't print leading whitespace.
5564         (cpp_output_line): Update.
5565         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
5566         do_include_common, do_line, do_ident, do_pragma,
5567         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
5568         parse_assertion): Update.
5569         (get_token_no_padding): New.
5570         * cpplib.h (CPP_PADDING): New.
5571         (AVOID_LPASTE): Delete.
5572         (struct cpp_token): New union member source.
5573         (cpp_get_token): Update.
5574         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
5575         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
5576         replace_args, quote_string, stringify_arg, parse_arg, next_context,
5577         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
5578         _cpp_backup_tokens, _cpp_create_definition): Update.
5579         (push_arg_context): Delete.
5580         (padding_token, push_token_context, push_ptoken_context): New.
5581         (make_string_token, make_number_token): Update, rename.
5582         (cpp_get_token): Update to handle tokens as pointers to const,
5583         and insert padding appropriately.
5584         * cppmain.c (struct printer): New member prev.
5585         (check_multiline_token): Constify.
5586         (do_preprocessing, cb_line_change): Update.
5587         (scan_translation_unit): Update to handle spacing.
5588         * scan-decls.c (get_a_token): New.
5589         (skip_to_closing_brace, scan_decls): Update.
5590         * fix-header.c (read_scan_file): Update.
5591
5592         * doc/cpp.texi: Update.
5593
5594 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5595
5596         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
5597         leak by passing malloc'ed pointer to reconcat, not concat.
5598
5599 2001-09-24  DJ Delorie  <dj@redhat.com>
5600
5601         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
5602
5603 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
5604
5605         * flow.c (delete_dead_jumptables): Delete jumptable if the only
5606         reference is from the literal pool.
5607
5608 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
5609
5610         * doc/install.texi (Final install): Request additional information
5611         in mail about successful builds.
5612
5613 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5614
5615         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
5616         initial value of return pointer register instead of value in frame-20.
5617         Revise comments.
5618
5619 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5620
5621         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
5622         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
5623         the libcall if there isn't a referenced identifier for the symbol.
5624
5625 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5626
5627         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
5628         non 64-bit machines.  Use these as a plabel for the trampoline.
5629         (TRAMPOLINE_SIZE): Adjust size for new words.
5630         (INITIALIZE_TRAMPOLINE): Initialize new words.
5631         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
5632         pointer to the plabel in the trampoline.
5633
5634 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5635
5636         * pa.c (function_arg): Pass floating arguments in both general and
5637         floating registers in indirect (dynamic) calls when generating code
5638         for the 32 bit ABI and the HP assembler.
5639
5640 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5641
5642         * doc/install.texi: Markup fixes.
5643         Use Solaris 2, SunOS 4 as appropriate.
5644         (Specific, *-*-solaris2*): Explain this.
5645         Unconditionally warn against /usr/ucb tools.
5646         Remove Sun as warning, obsolete.
5647         Move X11 header bug workaround here, update patches.
5648         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
5649         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
5650
5651 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
5652
5653         * errors.h (warning, error, fatal, internal_error): Don't mark
5654         with ATTRIBUTE_PRINTF_n.
5655         * toplev.h (internal_error, fatal_io_error, warning, error,
5656         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
5657         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
5658         Likewise.
5659
5660 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5661
5662         * function.c (pop_function_context_from): var_refs_queue
5663         and temp slots now in GC memory.
5664         (mark_function_status, free_after_compilation): Likewise;
5665         also struct function now in GC memory.
5666         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
5667         (combine_temp_slots): Likewise.
5668         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
5669         (prepare_function_start): Use GC memory for struct function.
5670         (mark_temp_slot): Deleted.
5671         (gcc_mark_struct_function): struct function now in GC memory.
5672
5673         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
5674         code for division, not modulus.
5675
5676         * rtl.def (MEM): Remove obsolete part of comment.
5677
5678 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
5679
5680         * c-format.c (init_function_format_info): Check __builtin_printf
5681         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
5682         in gnu89 mode.
5683
5684 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5685
5686         * c-common.c (format_attribute_table): Remove decl.
5687         * tree.h (format_attribute_table, lang_attribute_table): New decls.
5688         (lang_attribute_common): Likewise.
5689
5690         * function.c (fix_lexical_address): Use set_mem_alias_set.
5691         (expand_function_start): Likewise.
5692         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
5693
5694         * varasm.c (output_constant): Fix unused variable warning.
5695
5696         * attribs.c: New file, from c-common.c.
5697         (attribute_tables): Now four elements.
5698         (format_attribute_table, lang_attribute_common): New variables.
5699         (init_attributes): Reflect above changes.
5700         (handle_mode_attribute): Delete check for wider than uintmax.
5701         * c-common.c: Delete parts moved to attribs.c.
5702         (enum attrs): Deleted; unused.
5703         (c_format_attribute_table): New variable.
5704         (c_common_lang_init): Initialize format_attribute_table with it.
5705         * c-common.h (decl_attributes): Remove decl.
5706         * tree.h (decl_attribute): Move it to here.
5707         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
5708         (attribs.o): New rule.
5709
5710 2001-09-22  Andreas Jaeger  <aj@suse.de>
5711
5712         * builtins.c (c_getstr): Remove unused variable.
5713
5714 2001-09-21  Richard Henderson  <rth@redhat.com>
5715
5716         * reload1.c (reload): Use delete_insn instead of splatting
5717         NOTE_INSN_DELETED.
5718
5719 2001-09-21  Richard Henderson  <rth@redhat.com>
5720
5721         * reload.c (push_secondary_reload): Don't check for "=" in output
5722         constraint after ""->ALL_REGS check.
5723
5724 2001-09-21  Richard Henderson  <rth@redhat.com>
5725
5726         * predict.c (expected_value_to_br_prob): Use pc_set.
5727
5728         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
5729         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
5730
5731 2001-09-21  Richard Henderson  <rth@redhat.com>
5732
5733         * rtl.h (LCT_RETURNS_TWICE): New.
5734         * calls.c (emit_call_1): Set current_function_calls_setjmp for
5735         ECF_RETURNS_TWICE.
5736         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
5737         to ECF_RETURNS_TWICE.
5738         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
5739         call to setjmp.
5740
5741         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
5742
5743         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
5744         (JMP_BUF_SIZE): New.
5745
5746 2001-09-21  Richard Henderson  <rth@redhat.com>
5747
5748         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
5749         to R8_REGS.
5750
5751 2001-09-21  Richard Henderson  <rth@redhat.com>
5752
5753         * tree.def (FDESC_EXPR): New.
5754         * expr.c (expand_expr): Handle it.
5755         * varasm.c (initializer_constant_valid_p): Likewise.
5756         (output_constant): Likewise.
5757         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5758         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5759         (ASM_OUTPUT_FDESC): New.
5760         * doc/tm.texi: Document the new macros.
5761
5762 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
5763
5764         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
5765         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
5766         once merging is complete.
5767
5768 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5769
5770         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
5771
5772 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
5773
5774         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
5775         that would be invalid after a merge.
5776
5777 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
5778
5779         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
5780         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
5781         remove some labels.
5782         (flow_delete_insn): This one.
5783         (delete_insn_chain): Rename from ...; do not care labels.
5784         (flow_delete_insn_chain): ... this one.
5785         (flow_delete_block): Remove the insns one BB has been expunged.
5786         (merge_blocks_nomove): Likewise.
5787         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
5788         updating BB boundaries.
5789         (tidy_fallthru_edge): Likewise.
5790         (commit_one_edge_insertion): Likewise.
5791         * cfgbuild.c (find_basic_block): Likewise.
5792         (find_basic_blocks_1): Likewise.
5793         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
5794         (try_crossjump_to_edge): Likewise.
5795         (try_optimize_cfg): Likewise.
5796         * cse.c (delete_trivially_dead_insns): Likewise.
5797         * df.c (df_insn_delete): Likewise.
5798         * doloop.c (doloop_modify): Use delete_related_insns.
5799         * emit-rtl.c (try_split): Likewise.
5800         (remove_insn): Update BB boundaries.
5801         * expect.c (connect_post_landing_pads): Use delete_related_insns.
5802         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
5803         updating BB boundaries.
5804         (propagate_block_delete_insn): Likewise.
5805         (propagate_block_delete_libcall): Likewise.
5806         * function.c (delete_handlers): Use delete_related_insns.
5807         (thread_prologue_and_epilogue_insns): Likewise.
5808         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
5809         * genpeep.c (gen_peephole): Use delete_related_insns.
5810         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
5811         BB boundaries.
5812         (find_cond_trap): Likewise.
5813         * integrate.c (save_for_inline): Use delete_related_insns.
5814         (copy_insn_list): Likewise.
5815         * jump.c (pruge_linie_number_notes): Likewise.
5816         (duplicate_loop_exit_test): Likewise.
5817         (delete_computation): Likewise.
5818         (delete_related_insn): Rename from ...; use delete_insn
5819         (delete_insn): ... this one.
5820         (redirect_jump): Use delete_related_insns.
5821         * loop.c (scan_loop): Likewise.
5822         (move_movables): Likewise.
5823         (find_and_verify_loops): Likewise.
5824         (check_dbra_loop): Likewise.
5825         * recog.c (peephole2_optimize): Likewise.
5826         * reg-stack.c (delete_insn_for_stacker): Remove.
5827         (move_for_stack_reg): Use delete_insn.
5828         * regmove.c (combine_stack_adjustments_for_block): Likewise.
5829         * reload1.c (delete_address_reloads): Use delete_related_insns.
5830         (fixup_abnormal_edges): Use delete_insn.
5831         * recog.c (emit_delay_sequence): Use delete_related_insns.
5832         (delete_from-delay_slot): Likewise.
5833         (delete_scheduled_jump): likewise.
5834         (optimize_skip): Likewise.
5835         (try_merge_delay_insns): Likewise.
5836         (full_simple_delay_slots): Likewise.
5837         (fill_slots_from_thread): Likewise.
5838         (relax_delay_slots): Likewise.
5839         (make_return_insns): Likewise.
5840         (dbr_schedule): Likewise.
5841         * rtl.h (delete_insn): Rename to delete_related_insns.
5842         (delete_insn, delete_insn_chain): New prototypes.
5843         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
5844         by df_insn_delete already.
5845         * ssa-dce.c (delete_insn_bb): Use delete_insn.
5846         * ssa.c (convert_from_ssa): Use delete_related_insns.
5847         * unroll.c (unroll_loop): Likewise.
5848         (calculate_giv_inc): Likewise.
5849         (copy_loop_body): Likewise.
5850
5851         * i386-protos.h (ix86_libcall_value, ix86_function_value,
5852         ix86_function_arg_regno_p, ix86_function_arg_boundary,
5853         ix86_return_in_memory, ix86_function_value): Declare.
5854         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
5855         new static valurables.
5856         (x86_64_reg_class): New enum
5857         (x86_64_reg_class_name): New array.
5858         (classify_argument, examine_argument, construct_container,
5859          merge_classes): New static functions.
5860         (optimization_options): Enable flag_omit_frame_pointer and disable
5861         flag_pcc_struct_return on 64bit.
5862         (ix86_libcall_value, ix86_function_value,
5863         ix86_function_arg_regno_p, ix86_function_arg_boundary,
5864         ix86_return_in_memory, ix86_function_value): New global functions.
5865         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
5866         (function_arg_advance): Handle x86_64 passing conventions.
5867         (function_arg): Likewise.
5868         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
5869         (RETURN_IN_MEMORY): Move offline.
5870         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
5871         (FUNCTION_VALUE_REGNO_P): New macro.
5872         (FUNCTION_ARG_REGNO_P): Move offline.
5873         (struct ix86_args): Add maybe_vaarg.
5874         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
5875         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
5876
5877 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
5878
5879         * s390.md: Changed attributes for scheduling.
5880         * s390.c: (s390_adjust_cost, s390_adjust_priority)
5881         Changed scheduling
5882
5883 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
5884
5885         Table-driven attributes.
5886         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
5887         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
5888         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
5889         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
5890         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
5891         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
5892         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
5893         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
5894         * tree.h (struct tree_decl): Change machine_attributes to
5895         attributes.
5896         * doc/c-tree.texi: Document that all attributes are now attached
5897         to decls and types.
5898         * c-common.c (add_attribute, attrtab, attrtab_idx,
5899         default_valid_lang_attribute, valid_lang_attribute): Remove.
5900         (attribute_tables, attributes_initialized,
5901         c_common_attribute_table, default_lang_attribute_table): New
5902         variables.
5903         (handle_packed_attribute, handle_nocommon_attribute,
5904         handle_common_attribute, handle_noreturn_attribute,
5905         handle_unused_attribute, handle_const_attribute,
5906         handle_transparent_union_attribute, handle_constructor_attribute,
5907         handle_destructor_attribute, handle_mode_attribute,
5908         handle_section_attribute, handle_aligned_attribute,
5909         handle_weak_attribute, handle_alias_attribute,
5910         handle_no_instrument_function_attribute,
5911         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
5912         handle_no_limit_stack_attribute, handle_pure_attribute): New
5913         functions.
5914         (init_attributes, decl_attributes): Rewrite to implement
5915         table-driven attributes.
5916         * c-common.h (enum attribute_flags): Move to tree.h.
5917         * c-format.c (decl_handle_format_attribute,
5918         decl_handle_format_arg_attribute): Rename to
5919         handle_format_attribute and handle_format_arg_attribute.  Update
5920         for table-driven attributes.
5921         * c-common.h (decl_handle_format_attribute,
5922         decl_handle_format_arg_attribute): Remove prototypes.
5923         (handle_format_attribute, handle_format_arg_attribute): Add
5924         prototypes.
5925         * c-decl.c (grokdeclarator): Handle attributes nested inside
5926         declarators.
5927         * c-parse.in (setattrs, maybe_setattrs): Remove.
5928         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
5929         Update to handle nested attributes properly.
5930         (maybe_resetattrs, after_type_declarator,
5931         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
5932         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
5933         properly.
5934         (make_pointer_declarator): Update to handle nested attributes
5935         properly.
5936         * doc/extend.texi: Update documentation of limits of attributes
5937         syntax.  Warn about problems with attribute semantics in C++.
5938         * target.h (struct target): Remove valid_decl_attribute and
5939         valid_type_attribute.  Add attribute_table and
5940         function_attribute_inlinable_p.
5941         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
5942         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
5943         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
5944         Add.
5945         (TARGET_INITIALIZER): Update.
5946         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
5947         definition.
5948         (function_attribute_inlinable_p): New function.  Check for the
5949         presence of any machine attributes before using
5950         targetm.function_attribute_inlinable_p.
5951         (function_cannot_inline_p): Update.
5952         * Makefile.in (integrate.o): Update dependencies.
5953         * doc/tm.texi: Update documentation of target attributes and
5954         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
5955         * tree.c (default_valid_attribute_p, valid_machine_attribute):
5956         Remove.
5957         (default_target_attribute_table,
5958         default_function_attribute_inlinable_p): New.
5959         (lookup_attribute): Update comment to clarify handling of multiple
5960         attributes with the same name.
5961         (merge_attributes, attribute_list_contained): Allow multiple
5962         attributes with the same name but different arguments to appear in
5963         the same attribute list.
5964         * tree.h (default_valid_attribute_p): Remove prototype.
5965         (struct attribute_spec): New.
5966         (default_target_attribute_table): Declare.
5967         (enum attribute_flags): Move from c-common.h.  Add
5968         ATTR_FLAG_TYPE_IN_PLACE.
5969         (default_function_attribute_inlinable_p): Declare.
5970         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
5971         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5972         (TARGET_ATTRIBUTE_TABLE): Define.
5973         (vms_attribute_table): New.
5974         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
5975         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5976         (TARGET_ATTRIBUTE_TABLE): Define.
5977         (arc_attribute_table, arc_handle_interrupt_attribute): New.
5978         * config/arm/arm.c (arm_valid_type_attribute_p,
5979         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
5980         Remove.
5981         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5982         define.
5983         (TARGET_ATTRIBUTE_TABLE): Define.
5984         (arm_attribute_table, arm_handle_fndecl_attribute,
5985         arm_handle_isr_attribute): New.
5986         * config/avr/avr.c (avr_valid_type_attribute,
5987         avr_valid_decl_attribute): Remove.
5988         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
5989         define.
5990         (TARGET_ATTRIBUTE_TABLE): Define.
5991         (avr_attribute_table, avr_handle_progmem_attribute,
5992         avr_handle_fndecl_attribute): New.
5993         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
5994         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5995         (TARGET_ATTRIBUTE_TABLE): Define.
5996         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
5997         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
5998         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5999         (TARGET_ATTRIBUTE_TABLE): Define.
6000         (h8300_attribute_table, h8300_handle_fndecl_attribute,
6001         h8300_handle_eightbit_data_attribute,
6002         h8300_handle_tiny_data_attribute): New.
6003         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
6004         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
6005         Remove prototypes.
6006         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
6007         declarations.
6008         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
6009         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6010         define.
6011         (TARGET_ATTRIBUTE_TABLE): Define.
6012         (ix86_attribute_table, ix86_handle_cdecl_attribute,
6013         ix86_handle_regparm_attribute): New.
6014         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
6015         i386_pe_valid_type_attribute_p): Remove.
6016         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
6017         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
6018         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6019         (TARGET_ATTRIBUTE_TABLE): Define.
6020         (ia64_attribute_table): New.
6021         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
6022         interrupt_ident2, model_ident1, model_ident2): Remove.
6023         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6024         (TARGET_ATTRIBUTE_TABLE): Define.
6025         (init_idents): Update.
6026         (m32r_attribute_table, m32r_handle_model_attribute): New.
6027         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
6028         Remove.
6029         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6030         (TARGET_ATTRIBUTE_TABLE): Define.
6031         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
6032         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
6033         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6034         (TARGET_ATTRIBUTE_TABLE): Define.
6035         (mcore_attribute_table, mcore_handle_naked_attribute): New.
6036         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
6037         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6038         (TARGET_ATTRIBUTE_TABLE): Define.
6039         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
6040         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
6041         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6042         (TARGET_ATTRIBUTE_TABLE): Define.
6043         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
6044         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
6045         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6046         (TARGET_ATTRIBUTE_TABLE): Define.
6047         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
6048         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
6049         New.
6050         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
6051         Remove.
6052         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
6053         (TARGET_ATTRIBUTE_TABLE): Define.
6054         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
6055         New.
6056         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
6057         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6058         (TARGET_ATTRIBUTE_TABLE): Define.
6059         (v850_attribute_table, v850_handle_interrupt_attribute,
6060         v850_handle_data_area_attribute): New.
6061         * config/v850/v850-c.c (mark_current_function_as_interrupt):
6062         Return void.  Call decl_attributes instead of
6063         valid_machine_attribute.
6064
6065 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
6066
6067         * sh-protos.h (sh_pr_n_sets): Declare.
6068         * sh.c (calc_live_regs): If the initial value for PR has been copied,
6069         look at the copy to determine if PR needs to be saved.
6070         sh_pr_n_sets: New function.
6071         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
6072         (ALLOCATE_INITIAL_VALUE): Define.
6073
6074         * sh.c (initial_elimination_offset):
6075         Fix RETURN_ADDRESS_POINTER_REGNUM case.
6076
6077 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
6078
6079         * integrate.c (allocate_initial_values): New function.
6080         * integrate.h (allocate_initial_values): Declare.
6081         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
6082         here...
6083         * reload1.c (reload): And initialization of reg_equiv_memory_loc
6084         from here...
6085         * toplev.c (rest_of_compilation): To here.
6086         Call allocate_initial_values.
6087         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
6088
6089 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6090
6091         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
6092
6093 2001-09-20  DJ Delorie  <dj@redhat.com>
6094
6095         * c-typeck.c (really_start_incremental_init): Discriminate
6096         between zero-length arrays and flexible arrays.
6097         (push_init_level): Detect zero-length arrays and handle them
6098         like fixed-sized arrays.
6099         * expr.c (store_constructor): Handle zero-length arrays and
6100         flexible arrays correctly.
6101         * doc/extend.texi: Update zero-length array notes.
6102
6103 2001-09-20  Jim Wilson  <wilson@redhat.com>
6104
6105         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
6106         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
6107         for issue port conflicts.
6108         (cycle_end_fill_slots): TYPE_L instructions take two slots.
6109
6110 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
6111
6112         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
6113         on ia64.
6114
6115 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6116
6117         * fold-const.c (hashtab.h): Include.
6118         (int_const_binop): Remove FORSIZE arg and compute from type; all
6119         callers changed.
6120         Call size_int_type_wide for all single-word constants.
6121         (size_htab_hash, size_htab_eq): New functions.
6122         (size_int_type_wide): Rework to use hash table.
6123         * ggc-common.c (hashtab.h): Include.
6124         (struct d_htab_root): New struct.
6125         (d_htab_roots): New variable.
6126         (ggc_add_deletable_htab, ggc_htab_delete): New functions
6127         (ggc_mark_roots): Handle deletable htabs.
6128         * ggc-page.c (ggc_marked_p): New function.
6129         * ggc-simple.c (ggc_marked_p): Likewise.
6130         * ggc.h: Reformatting throughout.
6131         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
6132         * tree.c (init_obstacks): Make type_hash_table a deletable root.
6133         (type_hash_add): Allocate struct type_hash from GC memory.
6134         (mark_hash_entry, mark_type_hash): Deleted.
6135         (type_hash_marked_p, type_hash_mark): New functions.
6136         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
6137
6138 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
6139
6140         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
6141         than SImode.
6142
6143 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6144
6145         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
6146         array-too-large test for signed sizetype.
6147
6148 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
6149
6150         * i386.md (indirect_jump): Allow Pmode operand.
6151         (tablejump): LIkewise; perform expansion to 64bit mode.
6152         * i386.c (symbolic_operand): Allow 64bit PIC references.
6153         (pic_symbolic_operand): Likewise.
6154         (ix86_find_base_term): Strip the 64bit PIC references.
6155         (legitimate_pic_address_disp_p): Handle 64bit PIC.
6156         (legitimize_pic_address): Likewise.
6157         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
6158         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
6159
6160 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
6161
6162         * stringpool.c (get_identifier_with_length): New function.
6163         * tree.h (get_identifier_with_length): New prototype.
6164
6165 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
6166             David Edelsohn  <edelsohn@gnu.org>
6167
6168         Revert:
6169         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
6170         already sign-extended.
6171
6172         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
6173         * config/rs6000/rs6000.c (logical_operand): Always compare op as
6174         HOST_WIDE_INT.
6175         (rs6000_emit_set_long_const): Avoid unnecessary shift.
6176         (output_profile_hook): Declare label_name const.
6177         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
6178         to match constraints.
6179
6180 2001-09-19  Stan Shebs  <shebs@apple.com>
6181
6182         * alias.c: Fix typos in comments.
6183         * sched-rgn.c (init_ready_list): Ditto.
6184         * unwind-dw2.c (uw_frame_state_for): Ditto.
6185         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
6186         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
6187         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
6188
6189 2001-09-19  Richard Henderson  <rth@redhat.com>
6190
6191         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
6192         to the exit block.
6193         * Makefile.in (cfg.o): Depend on TM_P_H.
6194
6195 2001-09-19  Richard Henderson  <rth@redhat.com>
6196
6197         * config/alpha/alpha.c (local_symbol_p): Split out from ...
6198         (local_symbolic_operand): ... here.
6199         (small_symbolic_operand): Check mode.
6200         (global_symbolic_operand): New.
6201         (input_operand): Reject symbolics if explicit relocs.
6202         (call_operand): Tidy.
6203         (alpha_legitimize_address): Use movdi_er_high_g.
6204         (alpha_expand_mov): Likewise.
6205         * config/alpha/alpha-protos.h: Update.
6206         * config/alpha/alpha.h (PREDICATE_CODES): Update.
6207         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
6208         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
6209         (UNSPECV_LDGP2): Remove.
6210         (all call patterns): Use 's' not 'i' for symbolic constraint.
6211         (call_osf call_value_osf): Use call_operand.
6212         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
6213         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
6214         (prologue_ldgp_1_er): Remove.
6215         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
6216         (builtin_setjmp_receiver_er patterns): Use them.
6217         (exception_receiver_er): Likewise.
6218
6219 2001-09-19  Richard Henderson  <rth@redhat.com>
6220
6221         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
6222
6223         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
6224         and NON_LOCAL_GOTO notes.
6225         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
6226         copy over CALL_INSN_FUNCTION_USAGE.
6227
6228 2001-09-18  Catherine Moore  <clm@redhat.com>
6229
6230         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
6231         Define as 0.
6232
6233 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
6234
6235         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
6236         new-style tm_file specification.  Specify correct tm_p_file,
6237         md_file, and out_file for s390x.
6238
6239         * config/s390/linux.h, linux64.h:  Don't include other target
6240         macro header files.  Now handled via tm_file.
6241
6242         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
6243         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
6244         are defined before use.
6245
6246 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
6247
6248         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
6249         code generation only for Gnu assembler.
6250
6251 2001-09-18  Catherine Moore  <clm@redhat.com>
6252
6253         * config/stormy16 (LIB_SPEC): Remove -lnosys.
6254
6255 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
6256
6257         * config/mips/mips.c (mips_frame_set): New.
6258         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
6259         a parallel frame-related expression with a set for each register.
6260
6261 2001-09-18  Philip Blundell  <philb@gnu.org>
6262
6263         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
6264         header files.
6265
6266 2001-09-17  Dale Johannesen  <dalej@apple.com>
6267
6268         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
6269         * config/rs6000/aix.h (FIXED_R2): Define.
6270         * config/rs6000/darwin.h (FIXED_R2): Define.
6271         * config/rs6000/sysv4.h (FIXED_R2): Define.
6272
6273 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
6274
6275         * except.c (dw2_build_landing_pads): New local
6276         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
6277         barrier after clobbers.  Fixes c++/4012.
6278
6279 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6280
6281         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
6282
6283 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
6284
6285         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
6286         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
6287
6288 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6289
6290         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
6291         alloca/strcpy.
6292
6293 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6294
6295         * cpphash.h (_cpp_lex_direct): New.
6296         * cpplex.c (_cpp_lex_token): Update.
6297         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
6298         and increment that pointer.
6299         * cppmacro.c (alloc_expansion_token): New.
6300         (lex_expansion_token): Lex macro expansion directly into
6301         macro storage.
6302
6303 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
6304
6305         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
6306
6307 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
6308
6309         * basic-block.h (free_bb_for_insn): Declare.
6310         * bb-reorder.c (label_for_bb): Use block_label.
6311         (emit_jump_to_block_after): Remove.
6312         (insert_intra_1): Do not update block_for_insn.
6313         (insert_inter_bb_scope_notes): Likewise; update bb->end
6314         * cfg.c (free_bb_for_insn): New.
6315         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
6316         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
6317         (commit_one_edge_insertion): Likewise.
6318         (commit_one_edge_insertion): Do not update BB boundary.
6319         (commit_edge_insertions): Do not call compute_bb_for_insn.
6320         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
6321         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
6322         (merge_blocks_move_successor_nojumps): Likewise.
6323         (try_crossjump_to_edge): Do not update block_for_insn.
6324         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
6325         * df.c (df_pattern_emit_later): Do not update BB boundary.
6326         (df_jump_pattern_emit_after): Likewise.
6327         (df_insn_move_before): Use emit_insn_before.
6328         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
6329          properly.
6330         (add_insn_after, add_insn_before, emit_insns_after): Update BB
6331         boundaries and basic_block_for_insn.
6332         (reorder_insns_nobb): Rename from reorder_insns.
6333         (reorder_insns): New.
6334         (emit_block_insn_before, emit_block_insn_after): Kill.
6335         * flow.c (check_function_return_warnings): Do not call
6336         compute_bb_for_insn; Do not free basic_block_for_insn.
6337         (attempt_auto_inc): Do not update basic_block_for_insn.
6338         * function.c (emit_return_into_block): Likewise;
6339         do not update BB boundaries.
6340         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
6341         (insert_insn_end_bb): Use emit_insn_before; Likewise.
6342         (pre_insert_copy_insn): Likewise.
6343         (update_ld_motion_notes): Likewise.
6344         (insert_insn_start_bb): Likewise.
6345         (replace_store_insn): Likewise.
6346         * ifcvt.c (noce_process_if_block): Likewise.
6347         (if_convert): Do not call compute_bb_for_insn.
6348         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
6349         Use emit_insn_before and emit_insn_after.
6350         * recog.c (split_all_insns): Do not update BB boundaries;
6351         Do not call compute_bb_for_insn.
6352         (peephole2_optimize): Do not update BB boundaries.
6353         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
6354         emit_insn_before.
6355         (emit_swap_insn): Likewise.
6356         (convert_regs_1): Likewise.
6357         * reload1.c (reload): Call compute_bb_for_insn.
6358         * rtl.h (reorder_insns_nobb): Declare.
6359         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
6360         * toplev.c (rest_of_compilation): Call free_bb_for_insn
6361         at places CFG is invalidated; do not call compute_bb_for_insn.
6362
6363         * cfg.c (expunge_block): Invalidate BB structure.
6364
6365         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
6366         array.
6367
6368         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
6369
6370 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6371
6372         * cpphash.h (_cpp_lex_token): Update prototype.
6373         * cpplex.c (_cpp_lex_token): New prototype.
6374         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
6375         lex_macro_node, read_flag, do_pragma_poison): Update.
6376         * cppmacro.c (cpp_get_token, parse_params,
6377         lex_expansion_token): Update.
6378
6379 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6380
6381         * cppmain.c (scan_translation_unit): Don't worry about
6382         putting a space after hashes.
6383         * cpplib.c (directive_diagnostics): New.
6384         (_cpp_handle_directive): Update to use directive_diagnostics.
6385         (run_directive): Don't toggle prevent_expansion.
6386         (do_line): Backup in case of the line extension.
6387         * cpplib.h (cpp_lexer_pos): Remove.
6388         * cppmacro.c (_cpp_create_definition): Precede a leading #
6389         with whitespace.
6390
6391 2001-09-15  Richard Henderson  <rth@redhat.com>
6392
6393         * c-typeck.c (comptypes): Handle zero-length arrays properly.
6394
6395 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6396
6397         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
6398
6399 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6400
6401         PR preprocessor/3571
6402         * tradcpp.c (handle_directive): Skip non-vertical space.
6403
6404 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6405
6406         * cppmain.c (setup_callbacks): Set line callback only
6407         if outputting preprocessed source.
6408
6409 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6410
6411         * collect2.c (main): Const-ification.
6412         * gcc.c (translate_options, process_command): Use xstrdup in
6413         lieu of xmalloc/strcpy.
6414         (main): Use concat in lieu of xmalloc/strcpy/strcat.
6415
6416 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6417
6418         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
6419         example.
6420
6421 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6422
6423         * scan-decls.c (scan_decls): Fix typo.
6424
6425 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6426
6427         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
6428         Split mlstring_pos into mls_line and mls_col.
6429         * cppinit.c (cpp_create_reader): Initialize line to 1.
6430         (cpp_destroy): Free tokenruns.
6431         (push_include): Don't update lexer_pos.
6432         * cpplex.c (unterminated, parse_string): Update.
6433         (lex_token): Don't update lexer_pos, update.
6434         * cpplib.c (if_stack): Save line instead of line + col.
6435         (start_directive, _cpp_do__Pragma, do_else, do_elif,
6436         push_conditional, _cpp_pop_buffer): Update.
6437         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
6438         (_cpp_create_definition): Update.
6439
6440 2001-09-15  Eric Christopher  <echristo@redhat.com>
6441
6442         * config/mips/abi64.h: Add support for MEABI.
6443
6444 2001-09-15  Eric Christopher  <echristo@redhat.com>
6445
6446         * config/mips/mips.md: Add unspec #2.
6447         (reload_indi): Use.
6448         (reload_outdi): Ditto.
6449         (reload_outsi): Ditto.
6450         (HILO_delay): New.
6451
6452 2001-09-15  Eric Christopher  <echristo@redhat.com>
6453             Jason Eckhardt  <jle@redhat.com>
6454
6455         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
6456         * config/mips/isa32-linux.h: New file.
6457         * config/mips/isa3264.h: Ditto.
6458         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
6459         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
6460         (output_block_mode): Support MEABI.
6461         (function_arg): Ditto. Fix floating point arg passing.
6462         (mips_va_start): Ditto.
6463         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
6464         processors.
6465         (mips_asm_file_start): Add new section to pass abi to gdb.
6466         (function_arg_pass_by_reference): Support MEABI.
6467         (mips_parse_cpu): Support mips32 and mips64 processors.
6468         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
6469         TARGET_MIPS5KC.  Support isa32 and isa64.
6470         (processor_type): Add r4kc, r5kc, r20kc.
6471         (GENERATE_MULT3_SI): New.
6472         (GENERATE_MULT3_DI): Ditto.
6473         (GENERATE_MULT3): Remove.
6474         (ISA_HAS_64BIT_REGS): Add isa == 64.
6475         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
6476         (ISA_HAS_MADD_MSUB): New.
6477         (ISA_HAS_CLZ_CLO): Ditto.
6478         (ISA_HAS_DCLZ_DCLO): Ditto.
6479         (ABI_GAS_ASM_SPEC): New.
6480         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
6481         (ASM_SPEC): Ditto.
6482         (LINK_SPEC): Ditto.
6483         (SUBTARGET_CC1_SPEC): Ditto.
6484         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
6485         (PAD_VARARGS_DOWN): Support MEABI.
6486         (HARD_REGNO_NREGS): Move to mips.c.
6487         (ASM_OUTPUT_IDENT): Add #undef.
6488         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
6489         (mulsi3): Use GENERATE_MULT3_SI.
6490         (mulsi3_mult3): Ditto.  Support mips32, mips64.
6491         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
6492         (mul_sub_si): New pattern.
6493         (unnamed splitters): New.
6494         (muldi3): Use GENERATE_MULT3_DI.
6495         (muldi3_internal2): Ditto.
6496         (movdicc): Support mips32.
6497         * config/mips/t-isa3264: New file.
6498
6499 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
6500
6501         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
6502         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
6503         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
6504
6505         * reorg.c (fill_slots_from_thread): After call to
6506         steal_delay_list_from_target, update own_thread as new_thread may
6507         have branched.
6508
6509 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6510
6511         * cpperror.c (print_location): Take line and column, for
6512         default positioning use the previously lexed token.
6513         (_cpp_begin_message): Take line and column.
6514         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6515         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6516         * cpphash.h (_cpp_begin_message): Update prototype.
6517         * cppinit.c (push_include): Don't set output line.
6518         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
6519         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
6520         (do_pragma): Kludge for front ends.  Don't expand macros at all.
6521         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
6522         (struct cpp_token): Remove output_line.
6523         (struct cpp_callbacks): New member line_change.
6524         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
6525         cpp_get_token): Preserve BOL flag.
6526         (cpp_get_line): Remove.
6527         (_cpp_backup_tokens): Remove useless abort().
6528         * cppmain.c (cb_line_change): New.
6529         (scan_translation_unit): Don't worry about starting new lines here.
6530         * scan-decls.c (scan_decls): Update.
6531         * c-lex.c (c_lex, init_c_lex): Update.
6532         (cb_line_change, src_lineno): New.
6533
6534 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
6535
6536         * tree.c (append_random_chars): Generate the random
6537         characters in a reproducable fashion.
6538
6539 2001-09-14  Richard Henderson  <rth@redhat.com>
6540
6541         * config/i386/i386.c (internal_label_prefix): New.
6542         (internal_label_prefix_len): New.
6543         (override_options): Set them.
6544         (local_symbolic_operand): New.
6545         (legitimate_pic_address_disp_p): Use it.
6546         (legitimize_pic_address): Likewise.
6547
6548 2001-09-14  Marc Espie <espie@openbsd.org>
6549
6550         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
6551         correctly.
6552
6553 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6554
6555         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
6556         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
6557
6558 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
6559
6560         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
6561         invocation of SUBREG_REGNO_OFFSET.
6562
6563         * haifa-sched.c: Fix typo in FSF copyright statement.
6564         * sched-deps.c: Fix typo in FSF copyright statement.
6565         * sched-ebb.c: Fix typo in FSF copyright statement.
6566         * sched-rgn.c: Fix typo in FSF copyright statement.
6567         * sched-vis.c: Fix typo in FSF copyright statement.
6568
6569         * config.gcc: Move inclusion of arm elf specific header files
6570         from the files themselves into the tm_file variable.  Make
6571         sure that elfos.h is included before target specific elf
6572         headers.
6573         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
6574         already defined.
6575         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
6576         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
6577         ASM_OUTPUT_CASE_LABEL): Protect definition.
6578         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
6579         not already defined.
6580         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
6581         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
6582         Remove duplicate definition.
6583         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
6584         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
6585         (RDATA_SECTION_FUNCTION): Remove redundant definition.
6586         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
6587         Remove inclusion of arm/elf.h.
6588         * config/arm/unknown-elf.h: as for conix-elf.h.
6589         (STARTFILE_SPEC): Include crti.o and crtn.o.
6590         * config/arm/linux-elf.h: as for conix-elf.h.
6591         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
6592         * config/arm/strongarm-elf.h: Remove inclusion of
6593         unknown-elf.h.
6594         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
6595         * config/arm/unknown-elf-oabi.h: Remove inclusion of
6596         unknown-elf.h and elf.h.
6597         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
6598         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
6599         ASM_WEAKEN_LABEL): Remove redundant definition.
6600         * config/arm/elf.h: Test for inclusion of elfos.h
6601         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
6602         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
6603         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
6604         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
6605         redundant definition.
6606         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
6607         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
6608         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
6609         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
6610         Add rules to build crti.o and crtn.o
6611         * crti.asm: New file.
6612         * crtn.asm: New file.
6613
6614 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6615
6616         * c-parse.in (_yylex): Use _cpp_backup_tokens.
6617         * cpphash.h (struct tokenrun): Add prev.
6618         (struct lexer_state): Remove bol.
6619         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
6620         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
6621         : Remove.
6622         * cppinit.c (cpp_create_reader): Don't set bol.
6623         (cpp_destroy): Don't free lookaheads.
6624         * cpplex.c (lex_directive): Remove.
6625         (next_tokenrun): Update.
6626         (_cpp_lex_token): Clean up logic.
6627         (lex_token): Update to return a pointer to lexed token, since it
6628         can move to the start of the buffer.  Simpify newline handling.
6629         * cpplib.c (SEEN_EOL): Update.
6630         (skip_rest_of_line): Remove lookahead stuff.
6631         (end_directive): Line numbers are already incremented.  Revert
6632         to start of lexed token buffer if we can.
6633         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
6634         parse_answer): Use _cpp_backup_tokens.
6635         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
6636         instead.  Don't check for EOL.
6637         (do_include_common, do_line, do_pragma_system_header): Use
6638         skip_rest_of_line.
6639         * cpplib.h (BOL, _cpp_backup_tokens): New.
6640         * cppmacro.c (save_lookahead_token, take_lookahead_token,
6641         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
6642         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
6643         (builtin_macro): Don't use cpp_get_line.
6644         (cpp_get_line): Short term kludge.
6645         (parse_arg): Handle directives in arguments here.  Back up when
6646         appropriate.  Store EOF at end of argument list.
6647         (funlike_invocation_p): Use _cpp_backup_tokens.
6648         (push_arg_context): Account for EOF at end of list.
6649         (cpp_get_token): Remove lookahead stuff.  Update.
6650
6651 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6652
6653         * c-parse.in (yyerror): Const-ification and/or static-ization.
6654         * c-typeck.c (push_member_name): Likewise.
6655         * collect2.c (main): Likewise.
6656         * dbxout.c (dbxout_parms): Likewise.
6657         * diagnostic.c (format_with_decl): Likewise.
6658         * dwarf2out.c (output_ranges): Likewise.
6659         * dwarfout.c (fundamental_type_code): Likewise.
6660         * except.c (dw2_output_call_site_table): Likewise.
6661         * gcc.c (do_spec_1): Likewise.
6662         * genopinit.c (optabs): Likewise.
6663         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
6664         gen_declaration_1, handle_impent): Likewise.
6665         * protoize.c (default_include, in_system_include_dir, abspath):
6666         Likewise.
6667         * sched-vis.c (visualize_stall_cycles): Likewise.
6668         * sdbout.c (plain_type_1, sdbout_end_function,
6669         sdbout_end_epilogue): Likewise.
6670         * varasm.c (decode_reg_name): Likewise.
6671
6672         * 1750a.c (mod_regno_adjust): Likewise.
6673         * alpha.c (alpha_write_one_linkage,
6674         unicosmk_output_default_externs): Likewise.
6675         * arm.c (arm_condition_codes): Likewise.
6676         * arm.h (arm_condition_codes): Likewise.
6677         * avr.c (output_movsisf, encode_section_info): Likewise.
6678         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
6679         Likewise.
6680         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6681         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6682         * m88k.c (output_function_profiler): Likewise.
6683         * mips.c (mips_output_conditional_branch): Likewise.
6684         * ns32k.c (ns32k_out_reg_names): Likewise.
6685         * ns32k.h (ns32k_out_reg_names): Likewise.
6686         * pj.c (pj_output_rval): Likewise.
6687         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
6688         * sparc.c (sparc_flat_function_prologue,
6689         sparc_flat_function_epilogue): Likewise.
6690
6691 2001-09-13  Markus Werle <numerical.simulation@web.de>
6692             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6693
6694         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
6695         Aachen University of Technology".
6696
6697 2001-09-13  Andreas Schwab  <schwab@suse.de>
6698
6699         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
6700         C99.
6701
6702 2001-09-13  Richard Henderson  <rth@redhat.com>
6703
6704         * config/alpha/alpha.c (small_symbolic_operand): New.
6705         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
6706         (some_operand, input_operand): Don't handle HIGH.
6707         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
6708         (alpha_expand_mov): Likewise.
6709         (print_operand) [H]: Just print HIGH symbol.
6710         (print_operand_address): Handle small data.
6711         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
6712         (TARGET_SWITCHES): Add -msmall-data/large-data.
6713         (PIC_OFFSET_TABLE_REGNUM): New.
6714         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
6715         (PREDICATE_COES): Update.
6716         * config/alpha/alpha.md (adddi_er_high): New.
6717         (adddi_er_low): Handle small data.
6718         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
6719         prefer .sdata to .rodata.
6720         (SELECT_RTX_SECTION): Likewise.
6721
6722 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
6723
6724         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
6725         defining __size_t and leaving size_t undefined.
6726
6727 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
6728
6729         * basic-block.h (expunge_block): Declare.
6730         * cfg.c (expunge_block): Remove static declaration.
6731
6732 2001-09-12  Richard Henderson  <rth@redhat.com>
6733
6734         * integrate.c (copy_insn_list): Copy label name from
6735         NOTE_INSN_DELETED_LABEL.
6736
6737 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6738
6739         * c-common.c (c_tree_code_name): Const-ification.
6740         * c-decl.c (c_decode_option): Likewise.
6741         * c-typeck.c (warn_for_assignment): Likewise.
6742         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
6743         Likewise.
6744         * cppinit.c (output_deps): Likewise.
6745         * dependence.c (dependence_string, direction_string): Likewise.
6746         * dwarf2out.c (output_ranges): Likewise.
6747         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
6748         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
6749         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
6750         standard_startfile_prefix, standard_startfile_prefix_1,
6751         standard_startfile_prefix_2, tooldir_base_prefix,
6752         standard_bindir_prefix, find_a_file): Likewise.
6753         * genattrtab.c (make_length_attrs): Likewise.
6754         * gencheck.c (tree_codes): Likewise.
6755         * genemit.c (gen_split): Likewise.
6756         * genrecog.c (special_mode_pred_table): Likewise.
6757         * graph.c (graph_ext): Likewise.
6758         * protoize (default_include): Likewise.
6759         * reload.c (reload_when_needed_name): Likewise.
6760         * sched-vis.c (visualize_stall_cycles): Likewise.
6761         * tlink.c (recompile_files): Likewise.
6762         * toplev.c (decode_g_option): Likewise.
6763         * tradcpp.c (output_deps): Likewise.
6764         * varasm.c (decode_reg_name): Likewise.
6765
6766         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
6767         Const-ification.
6768         * arm.md: Likewise.
6769         * avr.c (avr_regnames, encode_section_info): Likewise.
6770         * c4x.c (float_reg_names): Likewise.
6771         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
6772         * elfos.h (const_section): Likewise.
6773         * i386.c (ix86_comp_type_attributes): Likewise.
6774         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
6775         * ia64/aix.h (UNIQUE_SECTION): Likewise.
6776         * ia64.c (type_names): Likewise.
6777         * m68hc11.c (reg_class_names): Likewise.
6778         * m88k.c (m_options): Likewise.
6779         * mips.c (mips_output_conditional_branch, mips_unique_section):
6780         Likewise.
6781         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
6782         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
6783         ultra_code_names): Likewise.
6784         * sparc.h (OVERRIDE_OPTIONS): Likewise.
6785
6786 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
6787
6788         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
6789         Use --fatal-warnings option for gas.
6790         * configure: Rebuilt.
6791
6792 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6793
6794         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
6795
6796 2001-09-11  Jim Wilson  <wilson@redhat.com>
6797
6798         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
6799
6800 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6801
6802         * builtins.c (c_strlen): Treat an offset too large for a
6803         HOST_WIDE_INT as out of range.
6804
6805 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
6806
6807         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
6808         (EDGE_CRITICAL_P): New predicate.
6809         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
6810         handling.
6811         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
6812         (dump_edge_info): Remove "crit".
6813         * cfganal.c (mark_critical_edges): Kill.
6814         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
6815         * cfgcleanup.c (cleanup_cfg): Likewise.
6816         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
6817         (find_spanning_tree): Likewise.
6818         * reg-stack.c (convert_regs_1): Likewise.
6819         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
6820
6821         * basic-block.h (create_basic_block_structure): New.
6822         (create_basic_block): Update prototype.
6823         (force_nonfallthru): New.
6824         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
6825         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
6826         handle updating of block_for_insn, creating of empty BBs and BBs at
6827         the end of INSN chain.
6828         (create_basic_block): New function.
6829         (split_block): Use create_basic_block.
6830         (force_nonfallthru_and_redirect): Break out from ...; cleanup
6831         (redirect_edge_and_branch_force): ... here.
6832         (force_nonfallthru): New.
6833         (split_edge): Rewrite to use force_nonfallthru and create_block.
6834         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
6835         (find_basic_blocks): Free basic_block_for_insn.
6836         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
6837
6838         * cfg.c: Fix formating.
6839         * cfgcleanup.c: Fix formating.
6840         (merge_blocks, tail_recursion_label_p): Return bool.
6841         (merge_blocks_move_predecessor_nojumps,
6842          merge_blocks_move_successor_nojumps): Return void.
6843
6844 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
6845
6846         * configure.in: Check whether assembler supports section merging.
6847         * config.in: Rebuilt.
6848         * configure: Rebuilt.
6849         * varasm.c (variable_section, output_constant_pool): Pass alignment
6850         to SELECT_SECTION and SELECT_RTX_SECTION.
6851         (mergeable_string_section): New.
6852         (mergeable_constant_section): New.
6853         (default_elf_asm_named_section): Output SECTION_MERGE and
6854         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6855         * output.h (mergeable_string_section): New.
6856         (mergeable_constant_section): New.
6857         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
6858         * toplev.c (flag_merge_constants): New.
6859         (f_options): Add -fmerge-constants and -fmerge-all-constants
6860         options.
6861         (toplev_main): Default to -fno-merge-constants if not optimizing.
6862         * flags.h (flag_merge_constants): Add extern.
6863         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
6864         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
6865         argument.
6866         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
6867         Define if assembler has working .subsection -1 support.
6868         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
6869         Put constant into special SHF_MERGE sections if the linker should
6870         attempt to merge duplicates.
6871         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
6872         macro argument.
6873         Put constant into special SHF_MERGE sections if the linker should
6874         attempt to merge duplicates.
6875         * config/alpha/elf.h: Likewise.
6876         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
6877         has working .subsection -1 support.
6878         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
6879         SELECT_SECTION.
6880         * config/svr3.h: Likewise.
6881         * config/darwin.h: Likewise.
6882         * config/arm/aof.h: Likewise.
6883         * config/arm/linux-elf.h: Likewise.
6884         * config/avr/avr.h: Likewise.
6885         * config/c4x/c4x.h: Likewise.
6886         * config/d30v/d30v.h: Likewise.
6887         * config/i386/dgux.h: Likewise.
6888         * config/i386/osfrose.h: Likewise.
6889         * config/i386/sco5.h: Likewise.
6890         * config/i386/svr3gas.h: Likewise.
6891         * config/ia64/aix.h: Likewise.
6892         * config/m32r/m32r.h: Likewise.
6893         * config/m68k/m68k.h: Likewise.
6894         * config/m88k/dgux.h: Likewise.
6895         * config/m88k/m88k.h: Likewise.
6896         * config/mcore/mcore-pe.h: Likewise.
6897         * config/mips/mips.h: Likewise.
6898         * config/pa/pa.h: Likewise.
6899         * config/pa/pa-linux.h: Likewise.
6900         * config/romp/romp.h: Likewise.
6901         * config/rs6000/sysv4.h: Likewise.
6902         * config/rs6000/xcoff.h: Likewise.
6903         * config/s390/linux.h: Likewise.
6904         * config/sparc/sparc.h: Likewise.
6905         * config/sparc/sysv4.h: Likewise.
6906         * config/stormy16/stormy16.h: Likewise.
6907         * config/v850/v850.h: Likewise.
6908         * config/vax/vms.h: Likewise.
6909         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
6910         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6911         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
6912         default_elf_asm_named_section for SHF_MERGE sections.
6913
6914 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
6915
6916         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
6917         is OK.
6918
6919 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
6920
6921         * c-common.c (split_specs_attrs): Allow for empty attributes with
6922         empty TREE_PURPOSE.  Fixes PR c/4294.
6923
6924 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
6925
6926         * basic-block.h (cached_make_edge, make_single_succ): New.
6927         (make_edge): Remove first parameter.
6928         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
6929         * cfg.c (cached_make_edge): Rename from make_edge; return newly
6930         created edge; use obstack allocation.
6931         (make_edge, make_single_succ_edge): New.
6932         (first_removed_edge): New static variable.
6933         (init_flow): Initialize first_removed_edge and n_edges.
6934         (clear_edges): Use remove_edge.
6935         (flow_delete_block): Likewise.
6936         (remove_edge): Add removed edges to the removed edges list.
6937         (split_block, redirect_edge_and_branch_force, split_edge):
6938         Use make_edge.
6939         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
6940         (add_noreturn_fake_exit_edges): Likewise.
6941         (connect_infinite_loops_to_exit): Liekwise.
6942         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
6943         Use cached_make_edge.
6944         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
6945         * profile.c (branch_prob): Update make_edge call.
6946         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
6947
6948 2001-09-11  Richard Henderson  <rth@redhat.com>
6949
6950         * config/alpha/alpha.c: Tidy formatting.
6951         (local_symbolic_operand): Verify mode.
6952         (alpha_sa_mask): Ignore unicos for eh_return.
6953         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
6954         * config/alpha/alpha.md (umk divsi patterns): Remove.
6955         (extendsfdf2): Remove unicos check.
6956         (tablejump): Merge vms and unicos code; always use direct set
6957         plus label_ref use.
6958
6959 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6960
6961         * config.gcc (alpha*-*-unicosmk*): New target.
6962
6963         * config/alpha/alpha-protos.h (symbolic_operand,
6964         unicosmk_add_call_info_word, unicosmk_add_extern,
6965         unicosmk_defer_case_vector, unicosmk_unique_section,
6966         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
6967         unicosmk_asm_file_start, unicosmk_asm_file_end,
6968         unicosmk_output_common): Declare.
6969
6970         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
6971         direct_return, function_arg, alpha_va_start, alpha_va_arg,
6972         alpha_does_function_need_gp, alpha_end_function): Support Cray
6973         Unicos/Mk.
6974         (alpha_init_machine_status, alpha_mark_machine_status,
6975         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
6976         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
6977         unicosmk_asm_named_section, unicosmk_insert_attributes,
6978         unicosmk_section_type_flags, symbolic_operand,
6979         unicosmk_output_module_name, unicosmk_output_default_externs,
6980         unicosmk_output_dex, unicosmk_output_externs,
6981         unicosmk_output_addr_vec, unicosmk_ssib_name,
6982         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
6983         unicosmk_asm_file_end, unicosmk_output_common,
6984         unicosmk_section_type_flags, unicosmk_unique_section,
6985         unicosmk_add_call_info_word, unicosmk_text_section,
6986         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
6987         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
6988         unicosmk_dex_count, unicosmk_special_name): New.
6989         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
6990         TARGET_ABI_UNICOSMK.
6991         (get_aligned_mem, alpha_expand_unaligned_load,
6992         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
6993         alpha_expand_unaligned_store_words): Support big-endian mode.
6994         (print_operand): Likewise. New format specifier 't'. Use
6995         TARGET_AS_SLASH_BEFORE_SUFFIX.
6996         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
6997         (alpha_pv_save_size): Update with above change.
6998         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
6999         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
7000         Unicos/Mk.
7001
7002         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
7003         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
7004         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
7005         (EXTRA_CONSTRAINT): New constraint 'U'.
7006         (PREDICATE_CODES): Add symbolic_operand.
7007
7008         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
7009         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
7010         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
7011         (integer division and modulus patterns): Split in default and
7012         Unicos/Mk versions.
7013         (*divmodsi_internal, *divmoddi_internal): Disable for
7014         TARGET_ABI_UNICOSMK.
7015         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
7016         little-endian and big-endian versions.
7017         (ext, ins, msk): Likewise.
7018         (extv, extzv, insv): Support big-endian mode.
7019         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
7020         (call_umk, call_value_umk, *call_umk, tablejump_umk,
7021         *tablejump_umk_internal, *call_value_umk): New.
7022         (*movdi_nofix): Add pattern for loading an address into a register on
7023         TARGET_ABI_UNICOSMK.
7024         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
7025         (umk_mismatch_args, arg_home_umk): New.
7026         (various insns): Don't use mov, fmov, nop, fnop and unop.
7027         (realign): Support TARGET_ABI_UNICOSMK.
7028
7029         * config/alpha/unicosmk.h: New file.
7030         * config/alpha/t-unicosmk: New file.
7031
7032         * fixinc/inclhack.def (unicosmk_restrict): New.
7033         * fixinc/fixincl.x: Regenerate.
7034
7035         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
7036         (wchar_t): Check for and define __WCHAR_T__.
7037
7038 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
7039
7040         * combine.c (simplify_shift_const): Treat shifts by the mode
7041         size as undefined.
7042
7043 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7044
7045         * cpphash.h (struct tokenrun): New.
7046         (struct cpp_context): New member bol.
7047         (struct cpp_reader): New members.
7048         (_cpp_init_tokenrun): New.
7049         * cppinit.c (cpp_create_reader): Set up the token runs.
7050         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
7051         (lex_token): New internalised version of _cpp_lex_token.  Don't
7052         handle directives or the multiple include opimisation here any
7053         more.  Simply lex a token.
7054         * cpplib.c (run_directive): Clear bol.
7055         (_cpp_pop_buffer): Set bol.
7056         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
7057         arguments.
7058
7059 2001-09-11  Michael Meissner  <meissner@redhat.com>
7060
7061         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
7062         give an error if the user uses -mfp32.
7063         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
7064         default options.
7065         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
7066         floating point register size.
7067         (EXTRA_SPECS): Add CPP_FPR_SPEC.
7068
7069         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
7070         HOST_WIDE_INT_PRINT_DEC to properly print the result of
7071         int_size_in_bytes.
7072         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7073         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7074
7075 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
7076
7077         * dbxout.c (dbxout_parms): Fix typo in comment.
7078         * unroll.c (loop_find_equiv_value): Ditto.
7079         * toplev.c (rest_of_compilation): Ditto.
7080         * loop.c (scan_loop): Ditto.
7081         * dwarf2out.c (struct dw_fde_struct): Ditto.
7082
7083 2001-09-10  Zack Weinberg  <zackw@panix.com>
7084
7085         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
7086         copying identifier when we're just going to throw it away.
7087         (parse_identifier_slow): New routine to handle abnormal cases.
7088         (_cpp_lex_token): Update call site.
7089
7090         * hashtable.c (ht_lookup): Don't assume that the string we've
7091         been given is NUL-terminated.
7092         * system.h: #define __builtin_expect(a, b) to (a) if not
7093         GCC >=3.0.
7094
7095 2001-09-10  Michael Meissner  <meissner@redhat.com>
7096
7097         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
7098         binutils, gdb.
7099
7100 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
7101
7102         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
7103
7104 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7105
7106         * builtins.c (c_getstr): Correct thinko in last change and further
7107         cleanup.
7108
7109 2001-09-10  Tim Freeman <tim@fungibole.com>
7110
7111         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
7112         into varray's and register them as roots with the garbage
7113         collector so they are not collected too soon.
7114
7115 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
7116
7117         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
7118         New.
7119         * basic-block.h (flow_obstack, label_value_list,
7120         tail_recursion_label_list): Declare
7121         (tidy_fallthru_edges): Declare.
7122         (expunge_block, last_loop_beg_note): Delete.
7123         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
7124         * cfg.c: New file
7125         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
7126         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
7127         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
7128         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
7129         expunge_block, flow_delete_block, compute_bb_for_insn,
7130         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
7131         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
7132         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
7133         try_redirect_by_replacing_jump, last_loop_beg_note,
7134         redirect_edge_and_branch, redirect_edge_and_branch_force,
7135         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
7136         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
7137         commit_edge_insertions, dump_flow_info, debug_flow_info,
7138         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
7139         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
7140         Move here from flow.c
7141         * cfganal.c: New file.
7142         (forwarder_block_p, can_fallthru, mark_critical_edges,
7143          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
7144          find_unreachable_blocks, create_edge_list, free_edge_list,
7145          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
7146          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
7147          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
7148          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
7149          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
7150          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
7151         Move here from flow.c
7152         * cfgbuild.c: New file
7153         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
7154          make_edges, find_basic_blocks_1, find_basic_blocks,
7155          find_sub_basic_blocks): Move here from flow.c
7156         * cfgcleanup.c: New file.
7157         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
7158          merge_blocks_move_predecessor_nojumps,
7159          merge_blocks_move_successor_nojumps, merge_blocks,
7160          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
7161          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
7162         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
7163         if succeeded.
7164         * cfgloop.c: New file
7165         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
7166          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
7167          flow_loop_exit_edges_find, flow_loop_nodes_find,
7168          flow_loop_pre_header_scan, flow_loop_pre_header_find,
7169          flow_loop_tree_node_add, flow_loops_tree_build,
7170          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
7171          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
7172         Move here from flow.c
7173         * flow.c: Remove everything moved elsewhere
7174         * output.h (cleanup_cfg): Return bool.
7175
7176         * bb-reorder.c (reorder_block_def): Remove 'index'.
7177         (insert_intra_1): Add argument BB, set block for new note.
7178         (make_reorder_chain): Do not depdent on BB indexes.
7179         (make_reorder_chain_1): Do not use BB indexes.
7180         (label_for_bb): Likewise; set BB for new insn.
7181         (emit_jump_to_block_after): Likewise.
7182         (fixup_reoder_chain): Sanity check that all basic blocks
7183         are chained; verify newly created insn chain; remove
7184         undocnitional jump simplifying; Do not use BB indexes;
7185         properly initialize count and frequency information;
7186         dump reordered sequence.
7187         (insert_intra_bb_scope_notes): update call of insert_intra_1.
7188         (insert_inter_bb_scope_notes): Set block for new insn.
7189         (reorder_basic_blocks): Dump flow info before reoredering.
7190
7191 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7192
7193         * alias.c (clear_reg_alias_info): Use K&R format definition.
7194         Avoid unsigned warning.
7195         * builtins.c: Use "unsigned int", not "unsigned".
7196         (target_char_cast): Use host_integerp and tree_low_cst.
7197         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
7198         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
7199         (c_getstr): Likewise.
7200         (std_expand_builtin_va_arg): Use int_size_in_bytes.
7201         (builtin_memcpy_read_str): Avoid unsigned warning.
7202         (expand_builtin_memcpy): Alignments are unsigned.
7203         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
7204         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
7205         * predict.c (expensive_function_p): LIMIT now unsigned.
7206         * resource.c (mark_target_live_regs): Make some vars unsigned.
7207         * sdbout.c: Use "unsigned int", not "unsigned".
7208         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
7209         (sdbout_source_line): Likewise.
7210         (sdbout_record_type_name): Remove "const" for NAME declaration.
7211         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
7212
7213 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
7214
7215         * calls.c (store_one_arg): Expand comment.
7216
7217 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7218
7219         * calls.c (store_one_arg): Make sure that the entire argument is
7220         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
7221
7222 2001-09-09  Richard Henderson  <rth@redhat.com>
7223
7224         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
7225
7226 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
7227
7228         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
7229
7230 2001-09-09  Richard Henderson  <rth@redhat.com>
7231
7232         * config/alpha/alpha.c (alpha_next_sequence_number): New.
7233         (alpha_this_literal_sequence_number): New.
7234         (alpha_this_gpdisp_sequence_number): New.
7235         (some_operand, input_operand): Add HIGH.
7236         (local_symbolic_operand): New.
7237         (alpha_encode_section_info): New.
7238         (alpha_legitimate_address_p): Allow LO_SUM.
7239         (alpha_legitimize_address): Generate HIGH+LO_SUM.
7240         (alpha_expand_mov): Likewise.
7241         (secondary_reload_class): Check memory_operand not general_operand
7242         for FP_REGS test.
7243         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
7244         (alpha_expand_unaligned_store): Likewise.
7245         (alpha_expand_unaligned_load_words): Likewise.
7246         (alpha_expand_unaligned_store_words): Likewise.
7247         (alpha_expand_block_clear): Likewise.
7248         (print_operand): Handle %#, %*, %H.
7249         (print_operand_address): Handle LO_SUM.
7250         (find_lo_sum): New.
7251         (alpha_does_function_need_gp): Use it.
7252         (alpha_expand_block_move): Fix signed compare warnings.
7253         (alpha_sa_mask, alpha_align_insns): Likewise.
7254         * config/alpha/alpha-protos.h: Update.
7255         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
7256         (MASK_EXPLICIT_RELOCS): New.
7257         (TARGET_SWITCHES): Add -mexplicit-relocs.
7258         (EXTRA_CONSTRAINT): Add 'T'.
7259         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
7260         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
7261         (ENCODE_SECTION_INFO): Out line.
7262         (REDO_SECTION_INFO_P): New.
7263         (STRIP_NAME_ENCODING): New.
7264         (ASM_OUTPUT_LABELREF): New.
7265         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
7266         (PREDICATE_CODES): Update.
7267         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
7268         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
7269         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
7270         builtin_setjmp_receiver_er, exception_receiver_1_er,
7271         call_value_osf_1_er): New patterns.
7272         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
7273         (movqi, movhi, movsi): Add explicit $31 base register to lda.
7274         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
7275         (FINAL_PRESCAN_INSN): New.
7276
7277 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
7278
7279         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
7280
7281 2001-09-08  Andreas Jaeger  <aj@suse.de>
7282
7283         * i386.h (TARGET_SWITCHES): Fix description.
7284
7285 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
7286
7287         * rs6000.c (num_insns_constant): Compute number of instructions
7288         more accurately.
7289
7290         * doc/install.texi: Explain AIX exception handling work-around.
7291         Update URL for AIX fixes.
7292
7293 2001-09-07  Jim Wilson  <wilson@redhat.com>
7294
7295         * alias.c (clear_reg_alias_info): New.
7296         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
7297         * rtl.h (clear_reg_alias_info): Declare.
7298
7299 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7300
7301         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
7302         available.
7303         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
7304         (m16m,edivm,emulm): Change declaration to match definition.
7305
7306 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
7307
7308         * reload.c (push_reload): Check for subreg_lowpart_p instead of
7309         SUBREG_BYTE being 0 when determining if the inner part of a subreg
7310         can be reloaded.
7311
7312 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7313
7314         * c-common.c (signed_or_unsigned_type): Handle machine mode types
7315         which have no corresponding C type.
7316         * fold_const.c (target_isinf,target_isnan,target_negative): Update
7317         the representation of 64-bit doubles to work with 64-bit ints.
7318
7319 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
7320
7321         * config/mips/mips.c (override_options): Do not override ISA when ABI
7322         specified if MIPS_CPU_STRING_DEFAULT was specified.
7323
7324 2001-09-07  Richard Henderson  <rth@redhat.com>
7325
7326         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
7327         (express_from_1): Wrap lines.
7328         * rtlanal.c (commutative_operand_precedence): Rename from
7329         operand_preference; export.
7330         * rtl.h: Declare it.
7331         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
7332         (simplify_binary_operation): Invoke simplify_plus_minus on
7333         (CONST (PLUS ...)) as well.
7334         (struct simplify_plus_minus_op_data): New.
7335         (simplify_plus_minus_op_data_cmp): New.
7336         (simplify_plus_minus): Use them.  Avoid infinite recursion with
7337         simplify_binary_operation wrt CONST.
7338
7339 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
7340
7341         * h8300-protos.h (general_operand_dst_push): Remove.
7342         * h8300.c (general_operand_dst_push): Likewise.
7343         * h8300.h (OK_FOR_T): Likewise.
7344         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
7345         * h8300.md (pushqi_h8300): New.
7346         (pushqi_h8300hs): Likewise.
7347         (pushqi): Likewise.
7348         (pushhi_h8300): Likewise.
7349         (pushhi_h8300hs): Likewise.
7350         (pushhi): Likewise.
7351
7352 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7353
7354         * genattrtab.c (attr_printf): First arg is unsigned.
7355         Clean up formatting of callers.
7356
7357 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
7358
7359         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
7360         registers.
7361
7362 2001-09-07  Andreas Jaeger  <aj@suse.de>
7363
7364         * i386.h (TARGET_SWITCHES): Fix descriptions.
7365
7366 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7367
7368         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
7369
7370 2001-09-06  Ira Ruben  <ira@apple.com>
7371
7372         Remove OP_IDENTIFIER.
7373         * tree.def (OP_IDENTIFIER): Remove.
7374         * tree.c (tree_node_kind enum): Remove op_id_kind.
7375         (tree_node_kind_names): Remove "op_identifiers".
7376         (make_node): Remove OP_IDENTIFIER test.
7377         (build_op_identifier): Removed because it isn't being used.
7378         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
7379         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
7380
7381 2001-09-06  Richard Henderson  <rth@redhat.com>
7382
7383         * simplify-rtx.c (simplify_binary_operation): Revert last change.
7384
7385 2001-09-06  Richard Henderson  <rth@redhat.com>
7386
7387         * simplify-rtx.c (simplify_binary_operation): Simplify contents
7388         of CONST.
7389
7390 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7391
7392         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
7393         number used for CR register.
7394
7395 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7396                           Joern Rennecke (amylaar@cygnus.com)
7397
7398         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
7399         * h8300.c (initial_offset): Handle offset between RP and FP.
7400         (h8300_return_addr_rtx): New function.
7401         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
7402         return register.
7403         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
7404         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
7405         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
7406         (CAN_ELIMINATE, REGISTER_NAMES):
7407         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
7408
7409 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
7410
7411         Remove TYPE_NONCOPIED_PARTS.
7412         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
7413         (struct tree_type): Remove noncopied_parts.
7414         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
7415         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
7416         (fixed_type_p): Remove.
7417         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
7418         (expand_expr, MODIFY_EXPR): Likewise.
7419         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
7420         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
7421
7422 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
7423
7424         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
7425         compiler warnings.
7426         (mask64_operand): Likewise.
7427         (includes_rldic_lshift_p): Likewise.
7428         (includes_rldicr_lshift_p): Likewise.
7429
7430 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
7431
7432         * objc/objc-act.c (build_message_expr): If a class method cannot
7433         be found, do not issue a warning if a corresponding instance
7434         method exists in the root class.
7435
7436 2001-09-05  Richard Henderson  <rth@redhat.com>
7437
7438         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
7439
7440 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
7441
7442         * function.c (ggc_mark_struct_function): Mark f->outer.
7443         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
7444         * integrate.c (output_inline_function): ... not here.
7445
7446 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
7447
7448         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
7449
7450         * i386.c (size_cost): New static variable.
7451         (override_function): Use size_cost when -Os is specified.
7452
7453         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
7454         properly;  Use current_function_calls_eh_return.
7455         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
7456         use leave to avoid dependency chain.
7457
7458         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
7459         get BB loop_depth instead of computing it from LOOP notes.
7460
7461         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
7462
7463 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7464
7465         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7466         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7467         UNALIGNED_DOUBLE_INT_ASM_OP): Define
7468
7469 2001-09-05  Jeffrey A Law  (law@cygnus.com)
7470             Jason Merrill (jason@redhat.com)
7471
7472         * stor-layout.c (layout_type): Complain if an array's size can
7473         not be represented in a size_t.
7474
7475         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
7476
7477 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
7478
7479         * gcc.c: (process_command) Add parentheses around assignment
7480         used as truth value.
7481
7482 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7483
7484         * config/mips/mips.c (save_restore_insns): Don't mark any register
7485         save slots as unchanging if current_function_calls_eh_return.
7486
7487 2001-09-05  Richard Henderson  <rth@redhat.com>
7488
7489         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
7490         * config/alpha/alpha-protos.h: Declare it.
7491         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
7492         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
7493         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
7494         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
7495         (REG_OK_FOR_BASE_P): Select one of the above.
7496
7497 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7498
7499         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
7500         (crti.o): Prefix name of object file with $(T).
7501         (crtn.o): Likewise.
7502
7503 2001-09-05  David S. Miller  <davem@redhat.com>
7504
7505         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
7506         * config/sparc/linux64.h: Likewise.
7507
7508 2001-09-05  Andreas Jaeger  <aj@suse.de>
7509
7510         * doc/invoke.texi (i386 Options): -mwide-multiply is not
7511         available anymore, remove the documentation.
7512         (i386 Options): Fix typo, cleanup index entries.
7513
7514         * prefix.c (concat): Remove, we can use the version from liberty.
7515
7516 2001-09-05  Richard Henderson  <rth@redhat.com>
7517
7518         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
7519         New functions split out of md file expanders.
7520         * config/alpha/alpha-protos.h: Declare them.
7521         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
7522
7523 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7524
7525         * cppmacro.c (funlike_invocation_p): No need to restore context.
7526
7527 2001-09-04  Richard Henderson  <rth@redhat.com>
7528
7529         * reload.c (push_reload): Export.
7530         * reload.h (push_reload): Declare it.
7531
7532         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
7533         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
7534         * config/alpha/alpha.c (alpha_legitimize_address): New.
7535         (alpha_legitimize_reload_address): Likewise.
7536         * config/alpha/alpha-protos.h: Declare them.
7537
7538 2001-09-04  Stan Shebs  <shebs@apple.com>
7539
7540         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
7541         * config/darwin.c (machopic_stub_name): Account for internally
7542         generated lib calls such as memcpy.
7543
7544 2001-09-04  Richard Henderson  <rth@redhat.com>
7545
7546         * unwind.h (_UA_END_OF_STACK): New flag.
7547         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
7548
7549 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7550
7551         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
7552
7553 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
7554
7555         * config/mips/mips.c (save_restore_insns): Change base_offset to
7556         fp_offset in second call to mips_emit_frame_related_store.
7557
7558 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
7559
7560         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
7561         sometimes be represented as a NOTE of type
7562         NOTE_INSN_DELETED_LABEL.
7563         (Insns): Document NOTE_INSN_DELETED_LABEL.
7564
7565 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
7566
7567         * c-common.h (tree_dump_index): Add more comments.
7568         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
7569         (dump_option_value_info): New struct.
7570         (dump_options): New array.
7571         (dump_switch_p): Parse switch options symbolically.
7572         * doc/invoke.texi (-fdump-ast): Rename to ...
7573         (-fdump-tree): ... here. Document that options are symbolic, and
7574         not all are applicable.
7575
7576 2001-09-04  David S. Miller  <davem@redhat.com>
7577
7578         * config/sparc/sparc.md (define_splits): Kill constraints.
7579
7580         Cleanup redundant and unused insn attributes.
7581         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
7582         binary, and move.  Mark ialu as default.
7583         (commented out define_function_unit "alu"): Kill.
7584         (define_attr "use_clobbered"): Kill.
7585         (whole file): Kill address insn type references.  Replace
7586         all unary/binary/move references with ialu.
7587         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
7588         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
7589         TYPE_IALU.
7590
7591         Simplify length insn attribute and make more judicious use
7592         of insn attribute defaulting.
7593         * config/sparc/sparc.md (all insns with length > one): Mark as
7594         insn type multi if real instructions, else use default if
7595         it is a forced splitter.
7596         (all insns with length == one): Use default insn length.
7597         (all insns of type ialu): Use default insn type.
7598
7599         Fix erroneous insn attribute settings.
7600         (addx): Set insn type to misc.
7601         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
7602         const_umulsidi3_sp64): Set insn type to imul.
7603
7604         Track SFmode vs DFmode insns according to UltraSPARC
7605         scheduling rules.
7606         * config/sparc/sparc.md ("fptype"): New attribute, default
7607         to "single".
7608         (all DFmode single insns): Mark as fptype "double".
7609
7610 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
7611
7612         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
7613
7614 2001-09-03  Richard Henderson  <rth@redhat.com>
7615
7616         * function.h (struct function): Add arg_pointer_save_area_init.
7617         * function.c (expand_function_end): Init arg_pointer_save_area.
7618         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
7619         when called from a nested function.
7620
7621 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
7622
7623         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
7624         is enabled.
7625
7626 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
7627
7628         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
7629
7630 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
7631
7632         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
7633         (emit_push_insn): Use specified padding direction when
7634         STACK_PUSH_CODE is POST_INC.
7635
7636         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
7637
7638 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7639
7640         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
7641
7642 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7643
7644         * cppinit.c (cpp_start_read): Free the imacros list as we
7645         traverse it.  Don't free the chains before returning.
7646         (_cpp_push_next_buffer): Only try pushing buffers if we've
7647         completed -imacros handling.
7648
7649 2001-08-31  Eric Christopher  <echristo@redhat.com>
7650
7651         * gcc.c (handle_braces): Add explaination for abort.
7652
7653 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
7654
7655         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
7656         move adjustment of bitpos instead.
7657
7658 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
7659
7660         * function.c: Remove all_functions.  Make outer_function_chain
7661         static.
7662         (init_function_start): Don't add new function structure to
7663         all_functions.
7664         (find_function_data, push_function_context_to,
7665         pop_function_context_from, put_var_into_stack,
7666         trampoline_address): Update for changed structure element names.
7667         (push_function_context_to): Disentangle.
7668         (free_after_compilation): Also free F.
7669         (expand_dummy_function_end): Don't free cfun here.
7670         (put_var_into_stack): Comment why we can't use find_function_data here.
7671         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
7672         (mark_function_chain): Split into maybe_mark_struct_function and
7673         ggc_mark_struct_function.  Export the latter.
7674         (init_function_once): Mark from cfun and outer_function_chain;
7675         not all_functions.
7676
7677         * function.h (struct function): Kill next_global.  Rename next
7678         to outer.  All users updated to match.
7679         (all_functions, outer_function_chain): Don't declare.
7680
7681         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
7682         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
7683         don't touch f->inlinable, after calling rest_of_compilation.
7684
7685         * tree.h: Forward-declare struct function.  Prototype
7686         ggc_mark_struct_function.
7687
7688 2001-08-31  Kazu Hirata  <kazu@hxi.com>
7689
7690         * config/h8300/h8300.md (*andorhi3): Fix typos.
7691
7692 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7693
7694         * calls.c (emit_library_call_value): Don't use a fixed
7695         argument after VA_CLOSE, i.e. out of scope in traditional C.
7696
7697         * emit-rtl.c (gen_rtvec): Likewise.
7698
7699 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7700
7701         * Makefile.in (c-pragma.o): Depend on output.h.
7702         (reorg.o): Depend on except.h.
7703
7704         * c-pragma.c: Include output.h.
7705
7706         * reorg.c: Include except.h.
7707
7708         * unwind-dw2.c: Call __builtin_alloca, not alloca.
7709
7710 2001-08-31  Richard Henderson  <rth@redhat.com>
7711
7712         * sched-deps.c (add_dependence): Don't elide dependency if the
7713         conditional used by insn is modified in elem.
7714
7715 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
7716
7717         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
7718
7719 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
7720
7721         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
7722         dump_switch_p.
7723
7724 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
7725
7726         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
7727         function.
7728         (stormy16_asm_out_constructor): New function.
7729         (TARGET_ASM_CONSTRUCTOR): Define.
7730         (TARGET_ASM_DESTRUCTOR): Define.
7731
7732 2001-08-31  Andreas Jaeger  <aj@suse.de>
7733
7734         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
7735         * loop.c (add_label_notes): Likewise.
7736         * reload.c (find_reloads): Likewise.
7737         * config/sh/sh.c (machine_dependent_reorg): Likewise.
7738
7739 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
7740
7741         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
7742         code here.  Take _Unwind_{W,Sw}ord*.
7743         (read_encoded_value_with_base): Use them.
7744         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
7745         words.
7746         (extract_cie_info): Simplify read_?leb128 handling.
7747         (execute_stack_op, execute_cfa_program): Likewise.
7748         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
7749
7750 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
7751
7752         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
7753         the frame pointer to pop the stack if convenient.
7754
7755         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
7756         Don't use post-increment before combine.
7757         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
7758         a call-saved register.
7759
7760 2001-08-31  Andreas Jaeger  <aj@suse.de>
7761
7762         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
7763         code was correct.
7764
7765 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
7766
7767         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
7768         not DIV/MOD, of course.
7769
7770 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
7771
7772         * rtl.def: Undo my patch commited 2001-08-27.
7773
7774         * genattrtab.c: Ditto.
7775
7776         * rtl.h: Ditto.
7777
7778         * sched-int.h: Ditto.
7779
7780         * target-def.h: Ditto.
7781
7782         * target.h: Ditto.
7783
7784         * haifa-sched.c: Ditto.
7785
7786         * sched-rgn.c: Ditto.
7787
7788         * sched-vis.c: Ditto.
7789
7790         * Makefile.in: Ditto.
7791
7792         * doc/md.texi: Ditto.
7793
7794         * doc/tm.texi: Ditto.
7795
7796         * doc/contrib.texi: Ditto.
7797
7798         * doc/gcc.texi: Ditto.
7799
7800         * genattrtab.h: Remove it.
7801
7802         * genautomata.c: Remove it.
7803
7804         * genattr.c: Undo my patch and Richard Henderson's patch commited
7805         2001-08-27.
7806
7807 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
7808
7809         * config.gcc (h8300-*-elf*): New case.
7810         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
7811         (SUBTARGET_CPP_SPEC): Define.
7812         (EXTRA_SPECS): Define.
7813         (SUBTARGET_EXTRA_SPECS): Define.
7814         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
7815         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
7816
7817 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
7818
7819         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
7820         (LIB2FUNCS_EXTRA): Define.
7821         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
7822         config/h8300/fixunssfsi.c: New file.
7823
7824 2001-08-30  Kazu Hirata  <kazu@hxi.com>
7825
7826         * config/h8300/h8300.md (zero_extendqihi2): Changes to
7827         define_expand to accommodate target-specific attributes.
7828         (anonymous zero_extendqihi2 patterns): New.
7829
7830 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
7831
7832         * h8300.md (*andorhi3): New pattern.
7833
7834 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
7835
7836         * h8300.c (dosize): Fix test for "sub".
7837
7838 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
7839
7840         * c-typeck.c (pointer_diff): Try to eliminate common term before
7841         doing conversions.
7842
7843 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
7844
7845         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7846         Account for the saves of the FP registers.
7847
7848         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
7849         (TEXT_SECTION_ASM_OP): Define.
7850         (INIT_SECTION_ASM_OP): Define.
7851         (FINI_SECTION_ASM_OP): Define.
7852         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
7853         (RDATA_SECTION_FUNCITON): Provide prototype.
7854
7855 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
7856
7857         * reload1.c (move2add_note_store): Correct typo checking for
7858         argument pushes.
7859
7860 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
7861
7862         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
7863         note should not be considered outside the libcall block.
7864
7865 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7866
7867         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
7868
7869 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7870
7871         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
7872
7873 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7874
7875         * config/h8300/h8300-protos.h: Add a prototype for
7876         emit_logical_op.
7877         * config/h8300/h8300.c (emit_logical_op): New.
7878         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
7879         (andsi3): Likewise.
7880         (iorhi3): Likewise.
7881         (iorsi3): Likewise.
7882         (xorhi3): Likewise.
7883         (xorsi3): Likewise.
7884
7885 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7886
7887         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
7888         comparison with rtx INTVAL.
7889         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
7890         expression.
7891         * pa.h (FUNCTION_ARG_SIZE): Likewise.
7892
7893 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7894
7895         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
7896         comment typos.
7897
7898 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7899
7900         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
7901         (reg n) to (mem (pre_dec (reg n))
7902         (anonymous movsi pattern): Likewise.
7903
7904 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7905
7906         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
7907
7908 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7909
7910         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
7911         several special constants.
7912
7913 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7914
7915         * config/h8300/lib1funcs.asm: Fix comment typos.
7916
7917 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7918
7919         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
7920         Fix format specifier warnings.
7921
7922         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
7923         inet_makeaddr, semctl): Prototype.
7924
7925         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
7926         (save_restore_insns): Use base_offset, not gp_offset.
7927
7928         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
7929         (ASM_OUTPUT_BYTE): Fix format specifier warning.
7930
7931 2001-08-29  Richard Henderson  <rth@redhat.com>
7932
7933         * bb-reorder.c (function_tail_eff_head): New.
7934         (record_effective_endpoints): Set it.
7935         (fixup_reorder_chain): Use it.
7936
7937 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7938
7939         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
7940
7941 2001-08-28  Dale Johannesen  <dalej@apple.com>
7942
7943         * config/darwin.c (machopic_function_base_name): Add const
7944         qualifier to a string.
7945         (darwin_encode_section_info): Ditto.
7946
7947 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7948
7949         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
7950         function definition.
7951
7952 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
7953
7954         * df.h (struct df): Add rts_order variable.
7955
7956         * df.c (df_visit_next_rts): New function.
7957         (df_visit_next): Renamed to df_visit_next_rc
7958         (df_analyse_1): Allocate/compute/free rts_order as well.
7959         (df_rd_global_compute): Use df_visit_next_rc instead of
7960         df_visit_next.
7961         (df_ru_global_compute): Use df_visit_next_rts instead of
7962         df_visit_next.
7963
7964         * flow.c (flow_reverse_top_sort_order_compute): New function.
7965
7966         * basic-block.h: Add prototype.
7967
7968 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
7969
7970         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
7971         blocks, the BB_REACHABLE is now set, rather than aux being
7972         non-NULL. Update the test to reflect this.
7973
7974 2001-08-28  Eric Christopher  <echristo@redhat.com>
7975
7976         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
7977         config/mips/crti.asm: Ditto.
7978
7979 2001-08-28  Eric Christopher <echristo@redhat.com>
7980             Richard Henderson <rth@redhat.com>
7981
7982         * c-pragma.h (add_weak): Move prototype from here...
7983         * output.h (add_weak): ... to here.
7984         * varasm.c (add_weak): Fix typo.
7985         * config/mips/crti.asm: New file.
7986         * config/mips/crtn.asm: Ditto.
7987         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
7988         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
7989         (INVOKE__main): Ditto.
7990         (INIT_SECTION_ASM_OP): New.
7991         (FINI_SECTION_ASM_OP): Ditto.
7992         (STARTFILE_SPEC): Add crti.
7993         (ENDFILE_SPEC): Add crtn.
7994         * config/mips/elf64.h: Same.
7995         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
7996         Remove.
7997         * config/mips/vxworks.h: Ditto.
7998         * config/mips/t-elf: Support crti and crtn.
7999
8000 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
8001
8002         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
8003         INSN_LIST.
8004
8005 2001-08-28  Richard Henderson  <rth@redhat.com>
8006
8007         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
8008         (one_cmplbi2 splitter): Remove redundant test.
8009
8010 2001-08-28  Dale Johannesen  <dalej@apple.com>
8011
8012         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
8013
8014 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
8015
8016         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
8017
8018 2001-08-28  Stan Shebs  <shebs@apple.com>
8019
8020         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
8021         (UNALIGNED_SHORT_ASM_OP): Define.
8022         (UNALIGNED_INT_ASM_OP): Define.
8023
8024 2001-08-28  Will Cohen  <wcohen@redhat.com>
8025
8026         * config/rs6000/rs6000.md (store_multiple): Correct RTL
8027         generation for first set.
8028
8029 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
8030
8031         * flow.c (redirect_edge_succ_nodup): Return new edge.
8032         (try_simplify_condjump): Use new edge.
8033         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
8034
8035         * cse.c (cse_basic_block): Skip note instructions.
8036
8037 2001-08-27  Richard Henderson  <rth@redhat.com>
8038
8039         * combine.c (combine_simplify_rtx): Don't reverse condition
8040         if there is no reverse for the condition.
8041         (simplify_comparison): Don't simplify subregs from INT to FP.
8042
8043         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
8044         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
8045         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
8046         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
8047         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
8048         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
8049
8050 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
8051
8052         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
8053         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
8054         (pushqi1): New.
8055         (adddi_dilshr32, adddi_dishl32): Only data register can be
8056         source for mem destination.
8057
8058         * expmed.c (store_bit_field): Ignore adjustment to bitpos
8059         and use bitnum to decide about register move.
8060
8061 2001-08-27  Richard Henderson  <rth@redhat.com>
8062
8063         * genattr.c (main): Emit state_t even when not doing scheduling.
8064
8065 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
8066             Richard Henderson  <rth@redhat.com>
8067
8068         * gcse.c (reg_first_set, reg_last_set): Replace with ...
8069         (reg_avail_info, current_bb): ... these.
8070         (oprs_unchanged_p, record_last_reg_set_info): Use them.
8071         (compute_hash_table): Likewise.
8072
8073 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
8074
8075         * flow.c (verify_flow_info): Use checksums to verify edges.
8076
8077 2001-08-27  Richard Henderson  <rth@redhat.com>
8078
8079         * genautomata.c (expand_automata): Always create a description.
8080
8081 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
8082
8083         * optabs.c (expand_binop): Correctly handle the carry in multiword
8084         add/subtract operations.
8085
8086 2001-08-27  Fred Fish  <fnf@be.com>
8087
8088         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
8089         __SIZE_TYPE__.
8090
8091 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
8092
8093         * reload.c (find_reloads_toplev): Back out this change:
8094
8095         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
8096
8097         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
8098         mem if the address is a mode_dependent_address_p.
8099
8100 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
8101
8102         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
8103         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
8104         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
8105         RTL constructions.
8106
8107         * genattr.c (main): New variable num_insn_reservations.  Increase
8108         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
8109         pipeline hazard recognizer interface.
8110
8111         * genattrtab.h: New file.
8112
8113         * genattrtab.c: Include genattrtab.h.
8114         (attr_printf, check_attr_test, make_internal_attr,
8115         make_numeric_value): Move protypes into genattrtab.h.  Define them
8116         as external.
8117         (num_dfa_decls): New global variable.
8118         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8119         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8120         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8121         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
8122
8123         * genautomata.c: New file.
8124
8125         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
8126
8127         * sched-int.h: (curr_state): Add the external definition for
8128         automaton pipeline interface.
8129         (haifa_insn_data): Add comments for members blockage and units.
8130
8131         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8132         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8133         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8134         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8135         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8136         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8137         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8138         macros.
8139         (TARGET_SCHED): Use the new macros.
8140
8141         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8142         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8143         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8144         dfa_bubble): New members in gcc_target.sched.
8145
8146         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
8147         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8148         (insn_queue): Redefine it as pointer to array.
8149         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8150         INSN_QUEUE_SIZE.
8151         (max_insn_queue_index_macro_value): New variable.
8152         (curr_state, dfa_state_size, ready_try): New varaibles for
8153         automaton interface.
8154         (ready_element, ready_remove, max_issue): New function prototypes
8155         for automaton interface.
8156         (choose_ready): New function prototype.
8157         (insn_unit, blockage_range): Add comments.
8158         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8159         FUNCTION_UNITS_SIZE == 0.
8160         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8161         actual_hazard, potential_hazard): Add comments.
8162         (insn_cost): Use cost -1 as undefined value.  Remove
8163         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
8164         pipeline interface.
8165         (ready_element, ready_remove): New functions for automaton
8166         interface.
8167         (schedule_insn): Add new code for automaton pipeline interface.
8168         (queue_to_ready): Add new code for automaton pipeline interface.
8169         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8170         (debug_ready_list): Print newline when the queue is empty.
8171         (max_issue): New function for automaton pipeline interface.
8172         (choose_ready): New function.
8173         (schedule_block): Add new code for automaton pipeline interface.
8174         Print ready list before scheduling each insn.
8175         (sched_init): Add new code for automaton pipeline interface.
8176         Initiate insn cost by -1.
8177         (sched_finish): Free the current automaton state and finalize
8178         automaton pipeline interface.
8179
8180         * sched-rgn.c: Include target.h.
8181         (init_ready_list, new_ready, debug_dependencies): Add new code for
8182         automaton pipeline interface.
8183
8184         * sched-vis.c: Include target.h.
8185         (get_visual_tbl_length): Add code for automaton interface.
8186         (target_units, print_block_visualization):  Add comments.
8187
8188         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
8189         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8190         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8191         (getruntime.o, genautomata.o): New entries.
8192         (genattrtab.o): Add new dependency file genattrtab.h.
8193         (genattrtab): Add new dependencies.  Link it with `libm.a'.
8194         (getruntime.o, hashtab.o): New entries for canadian cross.
8195
8196         * doc/md.texi: Description of automaton based model.
8197
8198         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8199         Add comments.
8200         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8201         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8202         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8203         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8204         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8205         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8206         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8207         hook descriptions.
8208         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8209         MAX_DFA_ISSUE_RATE): New macro descriptions.
8210
8211         * doc/contrib.texi: Add dfa based scheduler contribution.
8212
8213         * doc/gcc.texi: Add more information about genattrtab.
8214
8215 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
8216
8217         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
8218         an RTL basic block.
8219
8220 2001-08-27  Richard Henderson  <rth@redhat.com>
8221
8222         * function.c (expand_function_end): Don't init arg_pointer_save_area.
8223         (get_arg_pointer_save_area): New.  Create an init it here.
8224         (fix_lexical_addr): Use it.
8225         * function.h: Declare it.
8226         * builtins.c (expand_builtin_setjmp_receiver): Use it.
8227         * stmt.c (expand_nl_goto_receiver): Use it.
8228
8229 2001-08-27  Richard Henderson  <rth@redhat.com>
8230
8231         * final.c (final_scan_insn): Don't enter APP_ON mode for
8232         empty asm strings.
8233
8234         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
8235         alignment for assemble_integer for DW_EH_PE_aligned.
8236         * except.c (output_function_exception_table): Likewise.
8237
8238 2001-08-26  Andreas Jaeger  <aj@suse.de>
8239
8240         * c-tree.h: Add prototyp for c_sizeof_nowarn.
8241
8242 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
8243
8244         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
8245
8246 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
8247
8248         * config/rs6000/rs6000.c (mask_operand): Rewrite without
8249         bit-shifting loop.
8250         (mask64_operand): Likewise.
8251         (rldic_operand): Delete.
8252         (includes_lshift64_p): Delete.
8253         (includes_rldic_lshift_p): New function.
8254         (includes_rldicr_lshift_p): New function.
8255         (print_operand): Don't call rldic_operand in case 'W'.
8256         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
8257         (includes_lshift64_p): Remove.
8258         (includes_rldic_lshift_p): Declare.
8259         (includes_rldicr_lshift_p): Declare.
8260         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
8261         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
8262         Replace match_operand rldic_operand predicate with
8263         const_int_operand.  Replace includes_lshift64_p condition with
8264         includes_rldic_lshift_p.
8265         <ashldi3_internal 64 bit rldicr patterns>: New.
8266
8267 2001-08-27  Andreas Jaeger  <aj@suse.de>
8268
8269         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8270         * errors.c: Likewise.
8271         * final.c: Likewise.
8272         * dwarf2asm.c: Likewise.
8273         * doprint.c (checkit): Likewise.
8274         * diagnostic.c: Likewise.
8275         * collect2.c: Likewise.
8276         * calls.c: Likewise.
8277         * c-semantics.c (build_stmt): Likewise.
8278         * c-format.c (status_warning): Likewise.
8279         * c-errors.c (pedwarn_c99): Likewise.
8280         * builtins.c (validate_arglist): Likewise.
8281         * config/pj/pj.c (pj_printf): Likewise.
8282         * fix-header.c: Likewise.
8283         * gcc.c: Likewise.
8284         * gcov.c (fnotice): Likewise.
8285         * gensupport.c (message_with_line): Likewise.
8286         * mips-tfile.c: Likewise.
8287         * protoize.c (notice): Likewise.
8288         * read-rtl.c (fatal_with_file_and_line): Likewise.
8289         * rtl-error.c: Likewise.
8290         * tradcpp.c: Likewise.
8291         * tree.c: Likewise.
8292         * cp/tree.c (build_min_nt): Likewise.
8293         (build_min): Likewise.
8294         * cp/lex.c: Likewise.
8295         * cp/errfn.c: Likewise.
8296         * cp/rtti.c (create_pseudo_type_info): Likewise.
8297
8298 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
8299
8300         * df.c (df_uses_record): Return after recording all uses
8301         in ASM_OPERANDS.
8302
8303 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
8304
8305         * df.c (df_insn_modify): Realloc the INSN table here, if
8306         necessary, here, too.
8307
8308 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
8309
8310         * config/mips/mips.c (mips_function_value): Handle complex return
8311         values.
8312
8313 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
8314
8315         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
8316         unshared.
8317         * reload.c (make_memloc): Copy result if it is still
8318         reg_equiv_memory_loc[regno] on return.
8319         (subst_reloads) [ENABLE_CHECKING]: Check that none of
8320         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
8321         reg_equiv_mem are modified by the substitutions.
8322
8323 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
8324
8325         * predict.c (expensive_function_p): New.
8326         * rtl.h (expensive_function_p): Declare.
8327         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
8328         (use_fast_prologue_epilogue): New static variable.
8329         (expand_prologue): Set it; emit short prologues if unset.
8330         (expand_epilogue): Likewise.
8331
8332 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8333
8334         * config.gcc: Add stormy16-*-elf case.
8335         * config/stormy16/stormy-abi: New file.
8336         * config/stormy16/stormy16-lib2.c: New file.
8337         * config/stormy16/stormy16-protos.h: New file.
8338         * config/stormy16/stormy16.c: New file.
8339         * config/stormy16/stormy16.h: New file.
8340         * config/stormy16/stormy16.md: New file.
8341         * config/stormy16/t-stormy16: New file.
8342
8343 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
8344
8345         * i386.h (no-accumulate-outgoing-args): Use proper mask.
8346
8347 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
8348
8349         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
8350         descriptor members are pointer size, not constant 4.
8351         * config/rs6000/rs6000.md (define_splits): Remove more unused
8352         constraints.
8353
8354 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8355
8356         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
8357
8358 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
8359
8360         * cp/rtti.c (VPARAMS): Fix parameter.
8361
8362 2001-08-24  Zack Weinberg  <zackw@panix.com>
8363
8364         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
8365         to zero.
8366         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
8367         to switch.
8368         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
8369         in if controlling use of insv.
8370         (extract_bit_field): Likewise, for extv and extzv.
8371
8372 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
8373
8374         * i386.md (movcc peep2): Fix load of 0.
8375
8376 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8377
8378         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
8379         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
8380
8381 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
8382
8383         * c-pragma.h: Move weak_syms and weak_decls...
8384         * varasm.c: ...here.  Now static.
8385         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
8386         depend on HANDLE_PRAGMA_WEAK.
8387
8388         * c-common.c (c_alignof, c_alignof_expr): Move here...
8389         * c-typeck.c: ...from here.
8390         * c-tree.h, c-common.h: Adjust.
8391
8392 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
8393
8394         * config/ia64/ia64.c (rws_update): If !pred, set write_count
8395         instead of incrementing it.
8396
8397         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
8398         asm ready, don't try to move them all into the same array element.
8399
8400 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
8401
8402         * function.c (thread_prologue_and_epilogue_insns): Avoid
8403         fallthru flag on edge to exit.
8404
8405         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
8406
8407         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
8408         dead edges.
8409
8410 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8411
8412         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
8413         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
8414         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
8415         Remove prototype.
8416
8417 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8418
8419         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
8420         replace "GNU CC" with "GCC".
8421
8422 2001-08-23  Richard Henderson  <rth@redhat.com>
8423
8424         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
8425         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
8426         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
8427         Need GR between FR and not GR_AND_FR.
8428         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
8429         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
8430         AR regs before GR regs.
8431         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
8432         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
8433         (REGISTER_MOVE_COST): Update.
8434         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
8435
8436 2001-08-23  Richard Henderson  <rth@redhat.com>
8437
8438         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
8439         a register class.
8440
8441 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8442
8443         * reload1.c (emit_reload_insns): Don't look for notes
8444         on a NULL store_insn.
8445
8446 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8447
8448         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
8449         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
8450         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
8451         format specifier warnings.
8452         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
8453
8454 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
8455
8456         * config/i386/i386-protos.h: Correct declaration of
8457         i386_pe_asm_named_section.
8458
8459 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8460
8461         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
8462         variable i.
8463         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8464
8465 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8466
8467         * cpperror.c (print_location): Don't show _Pragma.
8468         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
8469         and file change callback generation here.
8470         (stack_include_file): Update use of cpp_push_buffer.
8471         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
8472         (struct cpp_buffer): Remove type, pfile members.
8473         * cppinit.c (cpp_handle_option): Use free_chain.
8474         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
8475         (skip_escaped_newlines, get_effective_char, lex_percent): Take
8476         a cpp_reader rather than a cpp_buffer.
8477         (skip_escaped_newlines, get_effective_char, skip_block_comment,
8478         skip_line_comment, parse_string, lex_percent, lex_dot,
8479         _cpp_lex_token): Update accordingly.
8480         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
8481         generation here.
8482         (cpp_push_buffer): Update prototype.
8483         (run_directive): Update use of cpp_push_buffer.
8484         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
8485         handle_assertion): Update use of run_directive.
8486         * cpplib.h (enum cpp_buffer_type): Remove.
8487         (cpp_push_buffer): Update prototype.
8488         * fix-header.c (read_scan_file): Update.
8489
8490 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8491
8492         * gcc.c (struct prefix_list): Change prefix to const char *.
8493
8494 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8495
8496         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
8497
8498 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
8499
8500         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
8501         from a new MEM.
8502
8503         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
8504         a squeezable note.
8505         * rtl.h: Adjust.
8506         * ifcvt.c (dead_or_predicable): Adjust.
8507         * loop.c (find_and_verify_loops): Adjust.
8508         * stmt.c (expand_end_case): Adjust.
8509         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
8510         head and end insn pointers in the basic block, not just local copies.
8511         (merge_blocks_move_predecessor_nojumps): Likewise.
8512
8513 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
8514
8515         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
8516         bitmap.h, builtin-types.def, builtins.c, builtins.def,
8517         c-aux-info.c, c-common.c, c-common.def, c-common.h,
8518         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
8519         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
8520         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
8521         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
8522         conditions.h, config.gcc, configure.frag, configure.in,
8523         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
8524         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
8525         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
8526         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
8527         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
8528         emit-rtl.c, errors.c, errors.h, except.c, except.h,
8529         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
8530         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
8531         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
8532         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
8533         gencheck.c, gencodes.c, genconfig.c, genemit.c,
8534         genextract.c, genflags.c, gengenrtl.c, genmultilib,
8535         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
8536         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
8537         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
8538         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
8539         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
8540         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
8541         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
8542         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
8543         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
8544         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
8545         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
8546         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
8547         params.h, predict.c, predict.def, predict.h, prefix.c,
8548         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
8549         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
8550         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
8551         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
8552         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
8553         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
8554         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
8555         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
8556         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
8557         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
8558         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
8559         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
8560         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
8561         xcoffout.h: replace "GNU CC" with "GCC".
8562
8563 2001-08-21  Richard Henderson  <rth@redhat.com>
8564
8565         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
8566         (final_scan_insn): Consider jump tables data even if we have no
8567         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
8568         ADDR_VEC_ALIGN.
8569         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
8570         (ASM_OUTPUT_CASE_END): Remove.
8571         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
8572         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
8573         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
8574
8575 2001-08-21  Richard Henderson  <rth@redhat.com>
8576
8577         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
8578         at barrier insns.  Emit stop bits before barriers.
8579
8580         * flow.c (flow_find_cross_jump): Don't consider unconditional
8581         return insns for commoning.
8582
8583         * final.c (compute_alignments): Fix typo.
8584
8585         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
8586         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
8587         (store_bit_field): Use mode_for_extraction more places.
8588         (extract_bit_field): Likewise.
8589
8590 2001-08-21  Zack Weinberg  <zackw@panix.com>
8591
8592         * caller-save.c: Don't include insn-codes.h.
8593         (reg_save_code, reg_restore_code): Make arrays of int.
8594         All uses updated to match.
8595         (insert_save, insert_restore): No need to initialize "code"
8596         variable upon declaration.
8597         * Makefile.in: update dependencies; fix typo in clean rule.
8598
8599 2001-08-21  Richard Henderson  <rth@redhat.com>
8600
8601         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
8602         (merge_if_block): Handle fallout from same.
8603
8604 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8605
8606         * builtins.c (type_to_class): Fix typo in last change.
8607
8608 2001-08-21  Richard Henderson  <rth@redhat.com>
8609
8610         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
8611         ia64_asm_output_label.
8612
8613         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
8614         copy of gp while the real gp register contains garbage.
8615
8616 2001-08-21  Zack Weinberg  <zackw@panix.com>
8617
8618         * expmed.c (mode_for_extraction): New function.
8619         (store_bit_field, extract_bit_field): Use it.
8620         * expr.h: Prototype it and provide an enum for its first argument.
8621
8622         * combine.c, function.c, recog.c: Don't include insn-codes.h.
8623         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
8624         and digging through the insn_data tables.
8625         * Makefile.in: Update dependencies.
8626
8627 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8628
8629         * cppfiles.c (stack_include_file): line-map.c now handles include
8630         depth.
8631         (handle_missing_handler): Similarly.
8632         (_cpp_execute_include): Similarly.
8633         (_cpp_pop_file_buffer): Similarly.
8634         * cpphash.h (struct cpp_reader): Remove system_include_depth,
8635         buffer_stack_depth and include_depth.
8636         * cpplib.c (do_include_common): line-map.c now handles include depth.
8637         (cpp_push_buffer): Similarly.
8638         (_cpp_pop_buffer): Similarly.
8639         * cppmacro.c (builtin_macro): Update.
8640         * line-map.c (init_line_maps): Set depth.
8641         (add_line_map): Increment "used" earlier.  Update and use the
8642         include depth.
8643         (trace_include): Use the include depth.
8644         * line-map.h (struct line_maps): New member depth.
8645
8646 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8647
8648         * cppfiles.c (stack_include_file): Don't handle -H here.
8649         * cppinit.c (cpp_start_read): Set include tracing after
8650         cpp_post_options and after stacking the main file.
8651         * line-map.c (trace_include): New.
8652         (init_line_maps, add_line_map): Update.
8653         * line-map.h (struct line_maps): New member trace_includes.
8654
8655 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8656
8657         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
8658         * cppfiles.c (stack_include_file): Only stack a file if there
8659         is something to do.  Return a boolean indicating whether a
8660         buffer was stacked or not.
8661         (_cpp_execute_include): Similarly.
8662         (_cpp_read_file): Similarly.
8663         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
8664
8665 2001-08-21  Sam Steingold  <sds@gnu.org>
8666
8667         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
8668         (RECACHE): keep obufp_before_macroname up to date
8669
8670 2001-08-21  Zack Weinberg  <zackw@panix.com>
8671
8672         * stmt.c: Don't include insn-codes.h.
8673         (expand_end_case): Machine specific logic moved to expr.c.
8674         No need to worry about __builtin_classify_type.
8675         (check_for_full_enumeration_handling, emit_case_nodes):
8676         Kill #if 0 blocks.
8677
8678         * builtins.o (expand_builtin_classify_type): Split up so code
8679         can be shared with fold_builtin_classify_type.
8680         (type_to_class, fold_builtin_classify_type): New functions.
8681         (fold_builtins): Handle __builtin_classify_type.
8682
8683         * expr.c (do_tablejump): Now static.
8684         (case_values_threshold, try_casesi, try_tablejump): New;
8685         code mostly from stmt.c (expand_end_case).
8686         (expr.h): Update prototypes.
8687
8688         * Makefile.in (stmt.o): Update dependencies.
8689
8690 2001-08-21  Will Cohen  <wcohen@redhat.com>
8691
8692         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
8693         declaration of variable i.
8694         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
8695         declaration of variable i.
8696
8697 2001-08-21  Richard Henderson  <rth@redhat.com>
8698
8699         * crtstuff.c: Fix thinko last change.  Move list tails to start
8700         of CRT_END section.  Tidy ifdefs.
8701         (__EH_FRAME_BEGIN__): Always static for ELF.
8702         (__do_global_ctors_1): Rename from __frame_dummy.
8703         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
8704         name change; don't hide __EH_FRAME_BEGIN__.
8705
8706 2001-08-21  Richard Henderson  <rth@redhat.com>
8707
8708         * gdbinit.in: Move break on exit after break on fancy_abort.
8709
8710         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
8711         sized types.
8712
8713 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8714
8715         * cpphash.h (_cpp_push_next_buffer): New.
8716         * cppinit.c (do_includes): Remove.
8717         (push_include, free_chain, _cpp_push_next_buffer): New.
8718         (cpp_start_read): Use them to rework command line option handling.
8719         (cpp_handle_option): Combine handling of -include and -imacros.
8720         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
8721         appropriate.  Always insert missing \n at EOF.
8722         * cpplib.c (start_directive): Get the directive position right.
8723         * cppmain.c (cb_file_change): Always print the first line, unless
8724         preprocessed.
8725
8726 2001-08-20  Andreas Jaeger  <aj@suse.de>
8727
8728         * profile.c (compute_branch_probabilities): Remove extra new-line
8729         in error message.
8730         * flow.c (verify_flow_info): Likewise.
8731
8732 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
8733
8734         * basic-block.h (basic_block): Add new field 'flags'.
8735         (BB_REACHABLE): Define.
8736         (expunge_block): Declare.
8737         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
8738         (EXIT_BLOCK_PTR): Ditto.
8739         (expunge_block): Remove static declaration.
8740         (cleanup_cfg): Clear bb->aux on every basic block.
8741         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
8742         computing reachability.
8743         (delete_unreachable_blocks): Delete block b if b->flags has
8744         BB_REACHABLE unset.
8745
8746 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
8747
8748         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
8749
8750 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8751
8752         * sparc.c (sparc_variable_issue): Fix typo in last change.
8753
8754 2001-08-20  Richard Henderson  <rth@redhat.com>
8755
8756         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
8757
8758 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8759
8760         * pa.h (RETURN_IN_MEMORY): Improve comment.
8761
8762 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
8763
8764         * doc/invoke.texi (Profiling options): Clarify the interactions
8765         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
8766
8767 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
8768
8769         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
8770         command.
8771
8772 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8773
8774         * gcc.c (make_relative_prefix): Allocate a sufficiently large
8775         buffer.
8776
8777 2001-08-20  Richard Henderson  <rth@redhat.com>
8778
8779         * final.c (end_final): Fix typo last change.
8780
8781 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8782
8783         * cppinit.c (init_standard_includes): The returned buffer
8784         is already malloc-ed.
8785         * gcc.c (add_prefix): Similarly.
8786         * prefix.c (translate_name): Update to support clear buffer
8787         ownership rules.
8788         (update_path): Similarly.  Be sure to free any newly allocated
8789         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
8790         (tr): New function.
8791         * prefix.h (update_path): Update prototype and document.
8792         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
8793         up and update to new buffer ownership rules.
8794         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
8795
8796 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
8797
8798         * final.c (compute_alignments): New function.
8799         (init_insn_lengths): Do not care label_align.
8800         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
8801         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
8802         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
8803         (shorted_branches): Realloc label_align array; do
8804         not call init_insn_lengths; Do not care about loop alignments.
8805         * output.h (compute_alignments): Declare.
8806         * toplev.c (rest_of_compilation): Call compute_alignments.
8807         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
8808
8809         * predict.c (block_info_def): Add npredecesors, remove nvisited;
8810         change visited to tovisit.
8811         (propagate_freq): Use faster traversing algorithm.
8812         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
8813         to tovisit; reverse meaning.
8814
8815         * predict.c (struct block_info_def): Remove nvisited.
8816         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
8817         (estimate_bb_frequencies): Call mark_dfs_back_edges.
8818
8819 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
8820
8821         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
8822         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
8823         (TARGET_FUSED_MADD): New.
8824         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
8825         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
8826         the multiply-add instructions.
8827
8828 2001-08-19  Richard Henderson  <rth@redhat.com>
8829
8830         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
8831         is aligned to pointer size.
8832
8833 2001-08-19  Richard Henderson  <rth@redhat.com>
8834
8835         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
8836         display markers during final schedule.
8837
8838 2001-08-19  Richard Henderson  <rth@redhat.com>
8839
8840         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
8841
8842 2001-08-19  Richard Henderson  <rth@redhat.com>
8843
8844         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
8845         in the same string.
8846         (ASM_NAME_TO_STRING): Remove.
8847         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
8848         in the same string.  Remove support for expressions.
8849
8850 2001-08-19  Richard Henderson  <rth@redhat.com>
8851
8852         * config/i386/i386.md (tablejump): Make an expander; handle
8853         pic relative addressing here.
8854         (tablejump_1): Rename from tablejump_pic.
8855         (casesi): Remove.
8856
8857 2001-08-19  Richard Henderson  <rth@redhat.com>
8858
8859         * regclass.c (fix_register): Fix typo.
8860
8861 2001-08-18  Richard Henderson  <rth@redhat.com>
8862
8863         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
8864         (struct _Unwind_Context): Expand br_loc to hold it.
8865         (uw_frame_state_for): Handle leaf functions better.
8866         (uw_update_reg_address): Update for br_loc change.
8867
8868 2001-08-18  Richard Henderson  <rth@redhat.com>
8869
8870         * crtstuff.c: Move list heads before code that uses them.
8871         (__JCR_LIST__): Remove initial null.
8872         (frame_dummy, __frame_dummy): Do java registration here ...
8873         (__do_global_ctors_aux): ... not here.
8874
8875         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
8876         (__do_global_dtors_aux): Update to match.
8877         (__JCR_LIST__, __do_jv_register_classes): New.
8878         (.init): Call it.
8879         * config/ia64/crtend.asm (__JCR_END__): New.
8880         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
8881         instead of an indirect LTOFF22 reloc.
8882
8883 2001-08-18  Richard Henderson  <rth@redhat.com>
8884
8885         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
8886         * regclass.c (init_reg_sets_1): Fix typo.
8887         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
8888         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
8889         (ia64_compute_frame_size): Make ar.unat live when in use.
8890         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
8891         for ar.pfs; remove ar.unat handling.
8892         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
8893         call-saved.
8894         (PREDICATE_CODES): Add ar_pfs_reg_operand.
8895         * config/ia64/ia64-protos.h: Update decls.
8896         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
8897         (sibcall_pic): Likewise.
8898
8899 2001-08-18  Richard Henderson  <rth@redhat.com>
8900
8901         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
8902         pred_rel_mutex when searching for insn_group_barrier.
8903         * config/ia64/ia64.md (cycle_display): Combine the expander
8904         and insn patterns.
8905
8906         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
8907         bit before asm as needed.
8908
8909 2001-08-18  Richard Henderson  <rth@redhat.com>
8910
8911         * timevar.def (TV_MACH_DEP): New.
8912         * toplev.c (rest_of_compilation): Use it.
8913         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
8914
8915 2001-08-18  Zack Weinberg  <zackw@panix.com>
8916
8917         * unwind-dw2.c (execute_stack_op): Add default aborts to
8918         the inner switches to prevent warnings.
8919
8920 2001-08-18  Richard Henderson  <rth@redhat.com>
8921
8922         * timevar.h (struct timevar_time_def): Change element type to float.
8923         (ticks_to_msec, clocks_to_msec): Likewise.
8924         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
8925         (get_time): Likewise.
8926         (timevar_print): Adjust zero check and printing to match.
8927
8928 2001-08-18  Zack Weinberg  <zackw@panix.com>
8929
8930         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
8931         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
8932         Eliminate overfull or underfull hboxes.
8933
8934 2001-08-18  Zack Weinberg  <zackw@panix.com>
8935
8936         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8937
8938 2001-08-18  Zack Weinberg  <zackw@panix.com>
8939
8940         * haifa-sched.c: Convert to target hooks.  Macros replaced
8941         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
8942         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
8943         MD_SCHED_FINISH, and HAVE_cycle_display.
8944         * target-def.h (TARGET_SCHED_ADJUST_COST,
8945         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
8946         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
8947         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
8948         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
8949         New hook #defines to be overridden.
8950         (TARGET_SCHED): Bring them all together.
8951         (TARGET_INITIALIZER): Update.
8952         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
8953         instead of 'struct rtx_def *' throughout.
8954         (struct sched): New set of hooks for the scheduler.
8955         * Makefile.in (haifa-sched.o): Depend on target.h.
8956         * doc/tm.texi: Document the new scheduler hooks, together in
8957         their own section, instead of scattered around.
8958         Fix a bunch of underfull/overfull hboxes.
8959
8960         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
8961         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
8962         sparc.h: Don't define any of the old scheduler macros.
8963
8964         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
8965         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
8966         sparc.c: Create hook functions from code extracted from
8967         corresponding target header, or make existing hooks static, as
8968         appropriate.  Set the appropriate entries in targetm.
8969
8970         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
8971         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
8972         rs6000-protos.h, s390-protos.h, sparc-protos.h:
8973         Remove prototypes for functions which are now static.
8974
8975         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
8976         related gunk; the Haifa scheduler is now the only choice.
8977
8978 2001-08-18  Zack Weinberg  <zackw@panix.com>
8979
8980         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
8981         * genopinit.c: Put floating point divide insns in sdiv_optab.
8982         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
8983         * config/gofast.h, config/c4x/c4x.h,
8984         config/ia64/hpux_longdouble.h, config/mips/mips.h,
8985         config/pa/long_double.h, config/rs6000/sysv4.h,
8986         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
8987         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
8988         (init_optabs): Use init_optabv for overflow-trapping optabs.
8989         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
8990         cmp_optab RTX codes so have_insn_for can find them.
8991
8992         * optabs.c (expand_simple_binop, expand_simple_unop,
8993         have_insn_for, gen_sub3_insn): New interfaces.
8994         * expr.h: Prototype new functions.
8995         (enum optab_methods): Move here from optabs.h.
8996
8997         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
8998         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
8999         Use new functions instead of working directly with optabs.
9000         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
9001         unroll.c: Don't include optabs.h.
9002         * caller-save.c, combine.c, function.c, stmt.c: Just include
9003         insn-codes.h, not optabs.h.
9004         * Makefile.in: Update dependencies.
9005
9006         * combine.c (make_compound_operation, simplify_comparison):
9007         Fix typos testing for this or that instruction.
9008
9009 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9010
9011         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
9012         generating libgcc.a.
9013
9014 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9015
9016         * except.c (TYPE_HASH): Delete.
9017
9018         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
9019         HOST_WIDE_INT.
9020
9021         * tree.c (TYPE_HASH): Delete.
9022
9023         * tree.h (TYPE_HASH): Define.
9024
9025 2001-08-18  Graham Stott  <grahams@redhat.com>
9026
9027         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
9028         define_split.
9029         (adddi3_internal_2+2): Likewise.
9030         (eh_set_lr_di+1): Likewise.
9031
9032 2001-08-17  Richard Henderson  <rth@redhat.com>
9033
9034         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9035         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
9036         * dwarf2asm.c: ... here.
9037         * dwarfout.c: Remove them.
9038
9039         * varasm.c (assemble_integer): Add align parameter.
9040         (assemble_real, output_constant, output_constructor): Likewise.
9041         * output.h: Update decls.
9042         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
9043         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
9044         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
9045         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
9046         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
9047         Update all callers.
9048
9049         * final.c (end_final): Abort profile block generation if we
9050         havn't layed it out properly.
9051         * output.h (assemble_eh_integer): Remove stale decl.
9052         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
9053         (min_align): New.
9054         (assemble_integer): Handle unaligned data.
9055         (assemble_real): Abort on unaligned data.
9056         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
9057         anything useful.
9058         (default_dtor_section_asm_out_destructor): Use assemble_align.
9059         (default_named_section_asm_out_constructor): Likewise.
9060         (default_ctor_section_asm_out_constructor): Likewise.
9061         * config/darwin.c (machopic_asm_out_constructor): Likewise.
9062         (machopic_asm_out_destructor): Likewise.
9063         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
9064         (nextstep_asm_out_destructor): Likewise.
9065         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
9066         (vms_asm_out_destructor): Likewise.
9067
9068 2001-08-17  Richard Henderson  <rth@redhat.com>
9069
9070         * config/mips/iris6.h (TARGET_IRIX6): New.
9071         (current_section_name, current_section_flags): New.
9072         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
9073         (MAX_OFILE_ALIGNMENT): New.
9074         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
9075         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9076         (copy_file_data): Split out from
9077         (mips_asm_file_end): ... here.
9078         (mips_asm_file_start): Remove extra .section directive.  Use
9079         tmpfile instead of mips_make_temp_file.
9080         (mips_unique_section): Use const char * as needed for warnings.
9081         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
9082         re-add align parameter.
9083         (iris6_asm_named_section): New.
9084         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
9085         (iris6_asm_output_align, iris6_section_align_1): New.
9086         (iris6_asm_file_start, iris6_asm_file_end): New.
9087         * config/mips/mips-protos.h: Update decls.
9088
9089 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
9090
9091         * doc/install.texi (Install GCC): Add links to build status pages.
9092         (Specific): Ditto.
9093         (Final install): Ditto; request updates for specific info
9094
9095 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9096
9097         * cpperror.c (print_location):  Don't take a file name; use the
9098         line map instead.
9099         (_cpp_begin_message): Similarly.
9100         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9101         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9102         (cpp_pedwarn_with_file_and_line): Remove.
9103         * cppfiles.c (stack_include_file): Update; set filename to stdin
9104         here when appropriate.
9105         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
9106         (_cpp_begin_message): Don't take a file name.
9107         * cppinit.c: Add comment.
9108         * cpplex.c: Fix end-of-directive indicator.
9109         * cpplib.c: Don't include intl.h.
9110         (run_directive, do_diagnostic): Update.
9111         (do_line): Update to not use nominal_fname.
9112         (cpp_push_buffer): Don't take a filename.
9113         * cpplib.h (struct ht): Remove.
9114         (cpp_push_buffer): Don't take a filename.
9115         (cpp_pedwarn_with_file_and_line): Remove.
9116         * cppmacro.c (struct cpp_macro): Remove file.
9117         (builtin_macro): Update.
9118         (_cpp_create_definition): Update.
9119         * cppmain.c: Correct comment.
9120         * fix-header.c (read_scan_file): Update.
9121
9122 2001-08-17  Kazu Hirata  <kazu@hxi.com>
9123
9124         * sbitmap.c: Fix comment formatting.
9125         * sched-deps.c: Likewise.
9126         * sibcall.c: Likewise.
9127         * simplify-rtx.c: Likewise.
9128         * ssa.c: Likewise.
9129         * ssa-ccp.c: Likewise.
9130         * stor-layout.c: Likewise.
9131         * timevar.c: Likewise.
9132         * toplev.c: Likewise.
9133         * unwind-dw2.c: Likewise.
9134         * unwind-dw2-fde.c: Likewise.
9135         * varasm.c: Likewise.
9136
9137 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9138
9139         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
9140         or larger than an integer in memory.
9141
9142 2001-08-17  Zack Weinberg  <zackw@panix.com>
9143
9144         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
9145         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
9146         * rtl.h: Don't forward-declare union tree_node here.  Don't
9147         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
9148         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9149         and tree respectively.
9150         * tree.h: Don't forward-declare struct rtx_def here.  Don't
9151         typedef tree here.  Change all uses of struct rtx_def *,
9152         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9153         and tree respectively.
9154
9155 2001-08-17  Richard Henderson  <rth@redhat.com>
9156
9157         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
9158         config/mips/openbsd.h: Fix typos last change.
9159
9160 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9161
9162         * doc/invoke.texi (Optimize Options): The default for
9163         -finline-limit is 600.
9164
9165 2001-08-17  Richard Henderson  <rth@redhat.com>
9166
9167         * varasm.c (text_section): Allow TEXT_SECTION to override the
9168         printing of TEXT_SECTION_ASM_OP.
9169         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
9170         (DATA_SECTION, BSS_SECTION): Remove.
9171         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
9172         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
9173         Rename from s/_NAME//.
9174         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
9175         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
9176         (TEXT_SECTION): ... here.  New.
9177         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
9178         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
9179         * config/mips/openbsd.h: Likewise.
9180         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
9181         (mips_asm_file_end): Likewise test.
9182         (mips_output_function_epilogue): Likewise.  Switch back to data
9183         section after emitting the function.
9184
9185         * doc/tm.texi (Sections): Document TEXT_SECTION.
9186
9187 2001-08-17  Richard Henderson  <rth@redhat.com>
9188
9189         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
9190         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
9191
9192 2001-08-17  Richard Henderson  <rth@redhat.com>
9193
9194         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
9195         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
9196         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
9197         Add aligned attribute.
9198
9199 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
9200
9201         * config/sh/sh.md: Add modes to unspecs in first insn to match
9202         those in the second.
9203
9204         * Makefile.in: Fix collect2 copy for Cygwin.
9205
9206 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
9207
9208         Install the proper patch.
9209         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9210         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9211         (expand_function_start): Likewise.
9212         * stmt.c (expand_decl): Likewise.
9213         * varasm.c (make_decl_rtx): Likewise.
9214
9215 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9216
9217         * final.c: Undo my previous accidental checkin.
9218         * output.h: Likewise.
9219         * tm.texi: Likewise.
9220
9221 2001-08-16  Richard Henderson  <rth@redhat.com>
9222
9223         * varasm.c (named_section_flags): Remove align parameter.
9224         * varasm.c, dwarf2out.c: Update all callers.
9225         * output.h: Update prototypes.
9226
9227         * target.h (target.asm_out.named_section): Remove align parameter.
9228         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
9229         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
9230         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
9231         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
9232         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
9233
9234         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
9235         (get_named_section_flags, set_named_section_flags): New.
9236         (named_section_flags): Use them.
9237         (named_section): Do decl vs section flags check here...
9238         (default_section_type_flags): ... not here.
9239         (init_varasm_once): Create in_named_htab.
9240         (resolve_unique_section): Mark reloc unused.
9241
9242 2001-08-16  Richard Henderson  <rth@redhat.com>
9243
9244         * varasm.c (force_const_mem): Keep pool alignment in bits.
9245         (output_constant_pool): Use assemble_align.
9246
9247 2001-08-16  Zack Weinberg  <zackw@panix.com>
9248
9249         * doc/tm.texi: Remove extra @table command.
9250
9251 2001-08-16  Zack Weinberg  <zackw@panix.com>
9252
9253         * final.c (shorten_branches): Clear the end of the label_align
9254         array only if we made it larger.  Break up messy expressions
9255         for clarity.
9256
9257         * diagnostic.c (internal_error): Check for error recursion
9258         before doing ICE suppression.
9259
9260         * timevar.c: Timing variables now count in milliseconds.
9261         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
9262         (get_time): Not here.
9263         (timevar_print): Don't print any timer whose user, cpu, and
9264         wall times are all zero as displayed.
9265         * timevar.h: Update comment aboout units.  Make timevar
9266         counters unsigned.
9267
9268 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
9269
9270         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9271         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9272         (expand_function_start): Likewise.
9273         * stmt.c (expand_decl): Likewise.
9274         * varasm.c (make_decl_rtx): Likewise.
9275
9276 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
9277
9278         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
9279         (finalize_record_size): Don't set TYPE_USER_ALIGN.
9280
9281 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9282
9283         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
9284         variables.
9285
9286 2001-08-16  Andreas Jaeger  <aj@suse.de>
9287
9288         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
9289         prototype.
9290
9291 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
9292
9293         * rtl.h (only_sets_cc0_p): New prototype.
9294         * jump.c (sets_cc0_p): Handle INSN.
9295         (only_sets_cc0_p): New function.
9296         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
9297         (tidy_fallthru_edge): Likewise.
9298         * integrate.c (copy_insn_list): Likewise.
9299         * unroll.c (unroll_loop): Likewise.
9300         (copy_loop_body): Likewise.
9301
9302 2001-08-15  Jason Eckhardt  <jle@redhat.com>
9303
9304         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
9305
9306 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9307
9308         * predict.c (struct block_info_def): Remove nvisited.
9309         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9310         (estimate_bb_frequencies): Call mark_dfs_back_edges.
9311
9312         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
9313         (ix86_adjust_cost): Teach scheduler that latency to load operand can
9314         be masked.
9315
9316 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
9317
9318         * predict.def: Update hitrates.
9319
9320 2001-08-15  Richard Henderson  <rth@redhat.com>
9321
9322         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
9323
9324 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
9325
9326         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
9327         note from its associated jump.
9328
9329 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9330
9331         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
9332         also on 64-bit s390x targets.
9333
9334 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
9335
9336         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
9337         function.
9338         (arm_expand_prologue): Handled nested functions which take a
9339         variable argument list.
9340         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
9341         macro with an invocation of
9342         arm_compute_initial_elimination_offset.
9343         * config/arm/arm-protos.h: Prototype
9344         arm_compute_initial_elimination_offset.
9345
9346 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9347
9348         * doc/install.texi (Specific, avr): Fix markup.
9349         (Specific, c4x): Ditto.
9350
9351 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9352
9353         * predict.c (dump_prediction): Change `bool' parameter to `int'.
9354
9355 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
9356
9357         * Makefile.in (OBJS): Add rtl-error.o
9358         (rtl-error.o): New rule.
9359         (diagnostic.o): Adjust dependency.
9360         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
9361         error_for_asm, _fatal_insn, _fatal_insn_not_found,
9362         warning_for_asm): Move to...
9363         rtl-error.c: ...here.  New file.
9364
9365 2001-08-14  Richard Henderson  <rth@redhat.com>
9366
9367         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
9368         if USING_SJLJ_EXCEPTIONS.
9369
9370 2001-08-14  Steve Ellcey <sje@cup.hp.com>
9371
9372         * tlink.c (scan_linker_output): Check string for unsatisfied in
9373         addition to undefined and unresolved.
9374
9375 2001-08-14  Graham Stott  <grahams@redhat.com>
9376
9377         * libgcc2.c (*): Replace EH_FRAME_SECTION with
9378         EH_FRAME_SECTION_NAME.
9379
9380 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
9381
9382         * genattrtab.c (simplify_test_exp_in_temp): New function.
9383         (simplify_test_exp): Avoid explicit use of temporary obstack.
9384         (simplify_cond, insert_right_side, evaluate_eq_attr,
9385         simplify_and_tree, simplify_or_tree, eliminate_known_true):
9386         Use simplify_test_exp_in_temp.
9387         (optimize_attrs): Iterate until expression stabilizes.
9388
9389 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
9390
9391         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
9392         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
9393
9394 2001-08-13  Richard Henderson  <rth@redhat.com>
9395
9396         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
9397         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
9398         * config/arm/conix-elf.h: Likewise.
9399
9400 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9401
9402         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
9403         in gcc.c.
9404         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9405
9406         * gcse.c (hash_scan_set): Expressions that are set as part of
9407         jump instructions are not available.
9408
9409 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9410
9411         * config/s390/s390.c (print_operand, s390_function_prologue,
9412         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
9413
9414 2001-08-13  Richard Henderson  <rth@redhat.com>
9415
9416         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
9417         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
9418         * doc/tm.texi (Exception Region Output): Document it.
9419
9420 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9421
9422         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
9423         DWARF2 instead of stabs by default.
9424
9425 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9426
9427         * config/rs6000/rs6000.c: Include optabs.h.
9428
9429 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9430
9431         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
9432         save/restore routines.
9433         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
9434
9435 2001-08-13  Andreas Jaeger  <aj@suse.de>
9436
9437         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
9438         the english is correct.
9439
9440 2001-08-13  Zack Weinberg  <zackw@panix.com>
9441
9442         * expr.h: Split out optab- and libfunc-related code to...
9443         * optabs.h, libfuncs.h: ... these new headers.
9444
9445         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
9446         (OPTABS_H): New.
9447         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
9448         dependencies.
9449         * mkconfig.sh: Don't include insn-codes.h from config.h.
9450
9451         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
9452         enum insn_code is available.  Move reload_in_optab and
9453         reload_out_optab array declarations to optabs.h.
9454         * regmove.c (gen_add3_insn): Move to optabs.c, export from
9455         there, prototype in expr.h.
9456         * gencodes.c: Cleanup: zap global variables, don't use
9457         printf where puts will do, don't bother defining MAX_INSN_CODE
9458         which nothing uses, let CODE_FOR_nothing get its value implicitly.
9459
9460         * genemit.c, genopinit.c: Include optabs.h in generated file.
9461         * genoutput.c: Include insn-codes.h in generated file.
9462         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
9463         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
9464         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
9465         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
9466         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
9467         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
9468         Include optabs.h.
9469         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
9470         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
9471         config/m88k/m88k.c, config/sparc/sparc.c:
9472         Include libfuncs.h.
9473         * reload.c: Include expr.h and optabs.h before reload.h.
9474         * config/alpha/alpha.c: Include tree.h before reload.h.
9475         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
9476         and reload.h in that order.
9477         * config/sparc/sparc.c: Include debug.h.
9478         * recog.c: Include insn-codes.h.
9479
9480 2001-08-13  Andreas Jaeger  <aj@suse.de>
9481
9482         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
9483         s390*linux.
9484
9485 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
9486
9487         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
9488         * gcc.c (init_spec): Fix typo in comment.
9489         * varasm.c (data_section): Fix typo in comment.
9490
9491 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
9492
9493         * predict.c (dump_prediction): New argument "USED".
9494         (combine_predictions_for_insn): Determine the used heuristics,
9495         output the case no heuristic applied.
9496         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
9497
9498 2001-08-13  Andreas Jaeger  <aj@suse.de>
9499
9500         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
9501         register %rip.
9502
9503 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9504
9505         * jump.c: Fix formatting.
9506
9507 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9508
9509         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
9510         length.
9511
9512 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
9513
9514         * loop.c (check_dbra_loop): Use condjump_label to compute
9515         jump_label.
9516
9517         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
9518         to better document the files they're in.
9519
9520 2001-08-12  Zack Weinberg  <zackw@panix.com>
9521
9522         * recog.h (struct insn_operand_data): Shrink 'mode' field
9523         to 16 bits.
9524
9525 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9526
9527         * gcc.c: Fix comment formatting.
9528         * gccspec.c: Likewise.
9529         * gcov.c: Likewise.
9530         * gcse.c: Likewise.
9531         * genemit.c: Likewise.
9532         * gengenrtl.c: Likewise.
9533         * genrecog.c: Likewise.
9534         * gensupport.c: Likewise.
9535         * ggc-page.c: Likewise.
9536         * global.c: Likewise.
9537         * graph.c: Likewise.
9538         * ifcvt.c: Likewise.
9539         * integrate.c: Likewise.
9540         * lcm.c: Likewise.
9541         * libgcc2.c: Likewise.
9542         * loop.c: Likewise.
9543         * mbchar.c: Likewise.
9544         * optabs.c: Likewise.
9545         * predict.c: Likewise.
9546         * prefix.c: Likewise.
9547         * profile.c: Likewise.
9548         * protoize.c: Likewise.
9549         * real.c: Likewise.
9550         * recog.c: Likewise.
9551         * regclass.c: Likewise.
9552         * regmove.c: Likewise.
9553         * reg-stack.c: Likewise.
9554         * reload1.c: Likewise.
9555         * resource.c: Likewise.
9556         * rtlanal.c: Likewise.
9557         * rtl.c: Likewise.
9558
9559 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9560
9561         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
9562         a tree representing a constant is passed to the macro.
9563
9564 2001-08-12  Richard Henderson  <rth@redhat.com>
9565
9566         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
9567         (rs6000_elf_asm_out_destructor): New.
9568         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
9569         (DTORS_SECTION_ASM_OP): Remove.
9570         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9571         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
9572
9573 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
9574
9575         Revert:
9576         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9577         * gcc.c (set_collect_gcc_options): New function, split out from
9578         main.
9579         Ignore elided switches.
9580         (do_spec_1): Invoke before executing command.
9581         (set_input): Export.
9582         Move declaration ...
9583         * gcc.h (set_input): ... here.
9584         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9585         file.
9586
9587 2001-08-12  Richard Henderson  <rth@redhat.com>
9588
9589         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
9590         thinko wrt TARGET_RELOCATABLE.
9591
9592 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
9593
9594         * fix-header.c (cb_file_change): Update prototype.
9595
9596 2001-08-11  Zack Weinberg  <zackw@panix.com>
9597
9598         * toplev.c (set_float_handler): Make static.
9599         * toplev.h: Don't prototype set_float_handler.
9600
9601         * simplify-rtx.c: Don't include setjmp.h.
9602         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
9603         New functions.
9604         (simplify_unary_operation, simplify_binary_operation): Use them,
9605         via do_float_handler.
9606
9607         * fold-const.c: Don't include setjmp.h.
9608         (exact_real_inverse_1): New function.
9609         (exact_real_inverse): Use it, via do_float_handler.
9610
9611         * varasm.c: Don't include setjmp.h.
9612         (assemble_real_1): New function.
9613         (assemble_real): Use it, via do_float_handler.
9614         Call internal_error if we get a trap here.
9615
9616         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
9617         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
9618
9619 2001-08-11  Zack Weinberg  <zackw@panix.com>
9620
9621         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
9622         STACK_BOUNDARY if not already defined.
9623
9624         * calls.c, function.c, reload1.c, explow.c: Don't default
9625         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
9626         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
9627
9628         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
9629         to run-time test.
9630
9631         * doc/tm.texi: Document that STACK_BOUNDARY is required;
9632         clarify difference between it and PREFERRED_STACK_BOUNDARY.
9633
9634 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9635
9636         * cppmacro.c (enter_macro_context): Push macro expansions even
9637         if empty.
9638
9639 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9640
9641         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
9642         (rs6000_elf_section_type_flags): Actually return a value.
9643
9644 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
9645
9646         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
9647         Clean up code: add missing comments and prototypes, fix warnings,
9648         remove obsolete code, fix spacing to conform to coding style.
9649
9650 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
9651
9652         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
9653         and TARGET_ASM_CLOSE_PAREN.
9654         (regclass_map): CC register belongs to class NO_REGS.
9655         (legitimize_pic_address): Don't generate unnecessary moves
9656         (to avoid confusing loop optimization).
9657         (check_and_change_labels): Replace jump_long by indirect_jump.
9658         (s390_final_chunkify): Don't start a new literal pool on section
9659         switch in 64-bit code.
9660         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
9661
9662         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
9663         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
9664         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
9665         modes correctly.
9666         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
9667         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
9668         (CONST_COSTS): Fixed incorrect costs.
9669
9670         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
9671         Use emit_jump instead of emit_jump_insn (gen_jump).
9672         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
9673         (to avoid confusing flow analysis).
9674         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
9675         (casesi, casesi_jump): New.
9676         (jump_long): Removed.  Functionality merged into indirect_jump.
9677         (indirect_jump): Accept address_operand, not just register_operand.
9678         (cjump_long, icjump_long): Use same logic as indirect_jump.
9679         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
9680         Fixed broken setjmp/longjmp handling.
9681         (do_builtin_setjmp_setup): Removed.
9682
9683         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
9684         broken GNU as versions that don't accept .quad with large
9685         negative values.  Use hexadecimal output instead.
9686         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
9687         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
9688         FUNCTION_EPILOGUE): Removed.  Now in targetm.
9689
9690         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
9691
9692         * config/s390/fixdfdi.h: Add missing copyright statement.
9693         Fix type conflicts on 64-bit.  Add missing SFmode routines.
9694
9695         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
9696         email address.
9697
9698 2001-08-11  Richard Henderson  <rth@redhat.com>
9699
9700         * rtl.h (REG_EH_RETHROW): Remove.
9701         * rtl.c (reg_note_name): Update.
9702         * combine.c (distribute_notes): Don't check for it.
9703
9704 2001-08-11  Richard Henderson  <rth@redhat.com>
9705
9706         * combine.c (distribute_notes): Place REG_SETJMP.
9707
9708 2001-08-11  Richard Henderson  <rth@redhat.com>
9709
9710         * doc/extend.texi (Arrays and pointers implementation): Discourage
9711         relying on sign-extension of pointers.
9712
9713 2001-08-11  H.J. Lu <hjl@gnu.org>
9714
9715         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
9716         in_dtors.
9717         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
9718         RDATA_SECTION_ASM_OP.
9719
9720 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9721
9722         * doc/install.texi (Specific, c4x): Fix cross-reference to the
9723         main manual to work both for info and HTML versions.
9724
9725 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9726             Matt Kraai <kraai@alumni.carnegiemellon.edu>
9727
9728         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
9729         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
9730         (struct cpp_pool): New member first.
9731         * cppinit.c (append_include_chain): Plug memory leaks.
9732         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
9733         Allocate pragma structures from the (aligned) macro pool to
9734         avoid leaking memory.
9735         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
9736         so we don't leak memory.
9737         * hashtable.c (ht_destroy): New.
9738         * hashtable.h (ht_destroy): New.
9739
9740 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9741             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9742
9743         * c-lex.c (map): Make const.
9744         (cb_file_change): Update for callback passing a line map.
9745         Don't assume we have a previous map.  Remove sanity check
9746         about popping too many files.
9747         * cpperror.c (print_location): Make map const.
9748         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
9749         (cpp_make_system_header): Similarly.
9750         (search_from): Similarly.
9751         (_cpp_execute_include): Don't remember where we came from.
9752         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
9753         (struct cpp_reader): Make map const.
9754         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
9755         * cpplib.c (do_line): Update; line maps now hold sysp.
9756         (cpp_push_buffer): Similarly.
9757         (_cpp_do_file_change): Similarly; callback with map instead.
9758         (cpp_get_line_maps): Constify return value.
9759         (_cpp_pop_buffer): Update.
9760         * cpplib.h (struct cpp_file_change): Remove.
9761         (struct cpp_callbacks): Update.
9762         (cpp_get_line_maps): Constify return value.
9763         * cppmacro.c (_cpp_create_definition): Update.
9764         * cppmain.c (struct printer): Constify map.
9765         (maybe_print_line): Similarly.
9766         (print_line): Similarly.  Deduce flags 1 and 2 here.
9767         (cb_file_change): Update.
9768         * line-map.c (free_line_maps): Warn regardless.
9769         (add_line_map): Return pointer to const.  When passed NULL to_file
9770         with LC_LEAVE, use the obvious values for the return point so the
9771         caller doesn't have to figure them out.
9772         (lookup_line): Return pointer to const.
9773         (print_containing_files): Take pointer to const.
9774         * line-map.h (struct line_map): New members reason, sysp.
9775         (add_line_map): Return pointer to const.
9776         (lookup_line): Similarly.
9777         (print_containing_files): Take pointer to const.
9778
9779 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
9780             Richard Henderson  <rth@redhat.com>
9781
9782         * regmove.c (regmove_optimize): Avoid setting a register twice in
9783         a parallel set.
9784
9785 2001-08-10  Richard Henderson  <rth@redhat.com>
9786
9787         * doc/extend.texi (Arrays and pointers implementation): Document
9788         behavior of pointer/integer conversion.
9789
9790 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
9791
9792         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
9793
9794 2001-08-10  Richard Henderson  <rth@redhat.com>
9795
9796         * doc/extend.texi (C Implementation): New chapter.
9797         * doc/gcc.texi (Top): Link it in.
9798
9799 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
9800
9801         * doc/install.texi (Specific): Fix CVS merge botch.
9802
9803 2001-08-10  Richard Henderson  <rth@redhat.com>
9804
9805         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
9806         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
9807
9808 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
9809
9810         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
9811         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
9812         this macro is now required.
9813
9814         * cselib.c (cselib_process_insn), flow.c (propagate_block),
9815         loop.c (find_and_verify_loops), reload.c (reload): Check
9816         for rtx code of CALL_INSN, not CALL, when deciding if we
9817         need to check for REG_SETJMP note.
9818
9819         * gcse.c (compute_hash_table, compute_store_table): Update
9820         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
9821         logic.
9822
9823         * config/avr/avr.c: Fix typo.
9824         * config/convex/convex.c (expand_movstr): Use adjust_address.
9825         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
9826         variable.
9827         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
9828         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
9829         Fix typo.
9830         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
9831         Do define STACK_BOUNDARY.
9832         * config/i370/i370.c: Include expr.h.
9833         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
9834         config/pa/som.h, config/v850/v850.h: Take in_ctors and
9835         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
9836         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
9837         * config/m88k/m88k.c: Include c-tree.h after expr.h.
9838         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
9839         * config/romp/romp.c: Include expr.h after tree.h.
9840         Include toplev.h.
9841         (output_fpop): Use xmalloc, not oballoc.
9842         * config/we32k/we32k.c: Include expr.h.
9843
9844 2001-08-10  Kazu Hirata  <kazu@hxi.com>
9845
9846         * config/h8300/h8300.h: Fix formatting.
9847
9848 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
9849
9850         * c-common.h (RETURN_NULLIFIED_P): Lose.
9851         * c-semantics.c (genrtl_return_stmt): Don't check it.
9852
9853 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9854
9855         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
9856         (mips_annotate_frame_insn): New function.
9857         (mips_emit_frame_related_store): New function.
9858         (save_restore_insns): Don't mark instructions that set up the base
9859         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
9860         the store instructions instead.
9861         (mips_expand_prologue): If the stack size is moved into a temporary
9862         register, do not mark that move as frame-related.  Add a
9863         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
9864
9865 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9866
9867         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
9868         stack slot as unchanging if current_function_calls_eh_return.
9869
9870 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9871
9872         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
9873         access the second half of the TFmode scratch operand.
9874
9875 2001-08-10  Anthony Green  <green@redhat.com>
9876
9877         * java/class.c (emit_register_classes): Conditionalize code on
9878         JCR_SECTION_NAME.
9879
9880 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9881
9882         * doc/install.texi (Specific, avr): Fix cross-reference to the
9883         main manual to work both for info and HTML versions.
9884
9885 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9886
9887         * stmt.c (expand_null_return_1): Remove code to generate simple returns
9888         and "use_goto" argument.
9889         (expand_null_return, expand_value_return): Update all callers.
9890         * function.c (expand_function_end): Remove code to generate simple
9891         return.
9892         * config/vax/vax.md (epilogue): New expander for function return.
9893         * doc/md.texi (epilogue): Remove "if defined".
9894
9895 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
9896
9897         * Makefile.in: Partially revert my previous change:
9898         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
9899         of the hashtab.o and safe-ctype.o rules.
9900
9901 2001-08-09  Richard Henderson  <rth@redhat.com>
9902
9903         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
9904         (USE_COLLECT2): Remove duplicate definition.
9905         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
9906         (use_collect2): Remove dead code.
9907         * configure.in (use_collect2): Remove will_use_collect2 and
9908         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
9909         * configure: Rebuild.
9910
9911         * target.h (targetm.asm_out.constructor): New.
9912         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
9913         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
9914         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
9915         * varasm.c (in_ctors, in_dtors): New.
9916         (assemble_constructor, assemble_destructor): Remove.
9917         (default_stabs_asm_out_destructor): New.
9918         (default_named_section_asm_out_destructor): New.
9919         (dtors_section, default_dtor_section_asm_out_destructor): New.
9920         (default_stabs_asm_out_constructor): New.
9921         (default_named_section_asm_out_constructor): New.
9922         (ctors_section, default_ctor_section_asm_out_constructor): New.
9923         * output.h: Update declarations.
9924         * c-decl.c (c_expand_body): Use target hooks instead of
9925         assemble_constructor and assemble_destructor.
9926         * profile.c (output_func_start_profiler): Likewise.
9927         * objc/objc-act.c (finish_objc): Likewise.
9928         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
9929         for the constructor.
9930         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
9931
9932         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
9933         (DTORS_SECTION_ASM_OP): Likewise.
9934         (__CTOR_LIST__): Use attribute section when possible.
9935         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
9936
9937         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
9938         ASM_OUTPUT_CONSTRUCTOR.
9939
9940         * config/darwin.c (machopic_asm_out_constructor): New.
9941         (machopic_asm_out_destructor): New.
9942         * config/darwin-protos.h: Update declarations.
9943         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9944         (ASM_OUTPUT_DESTRUCTOR): Remove.
9945         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9946         * config/nextstep.c (nextstep_asm_out_constructor): New.
9947         (nextstep_asm_out_destructor): New.
9948         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9949         (ASM_OUTPUT_DESTRUCTOR): Remove.
9950         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9951         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
9952         ASM_OUTPUT_*STRUCTOR.
9953         * config/i386/aix386ng.h: Likewise.
9954
9955         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
9956         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
9957         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9958         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9959         * config/lynx.h: Likewise.
9960         * config/netware.h: Likewise.
9961         * config/psos.h: Likewise.
9962         * config/alpha/alpha-interix.h: Likewise.
9963         * config/alpha/elf.h: Likewise.
9964         * config/arc/arc.h: Likewise.
9965         * config/arm/aof.h: Likewise.
9966         * config/arm/coff.h: Likewise.
9967         * config/arm/elf.h: Likewise.
9968         * config/c4x/c4x.h: Likewise.
9969         * config/h8300/h8300.h: Likewise.
9970         * config/i386/cygwin.h: Likewise.
9971         * config/i386/djgpp.h: Likewise.
9972         * config/i386/i386-coff.h: Likewise.
9973         * config/i386/i386-interix.h: Likewise.
9974         * config/i386/sco5.h: Likewise.
9975         * config/i386/vsta.h: Likewise.
9976         * config/i386/win32.h: Likewise.
9977         * config/i960/i960-coff.h: Likewise.
9978         * config/ia64/sysv4.h: Likewise.
9979         * config/m68hc11/m68hc11.h: Likewise.
9980         * config/m68k/coff.h: Likewise.
9981         * config/m68k/mot3300.h: Likewise.
9982         * config/m88k/m88k.h: Likewise.
9983         * config/mcore/mcore-pe.h: Likewise.
9984         * config/mcore/mcore.h: Likewise.
9985         * config/mips/elf.h: Likewise.
9986         * config/mips/elf64.h: Likewise.
9987         * config/mips/iris6.h: Likewise.
9988         * config/pa/pa64-hpux.h: Likewise.
9989         * config/rs6000/sysv4.h: Likewise.
9990         * config/sh/sh.h: Likewise.
9991         * config/sparc/litecoff.h: Likewise.
9992
9993         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
9994         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9995         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9996         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9997         (ASM_OUTPUT_DESTRUCTOR): Remove.
9998         * config/a29k/a29k.c: Move include of tree.h.
9999         * config/a29k/udi.h: Delete file.
10000         * config/alpha/alpha.c (vms_asm_out_constructor): New.
10001         (vms_asm_out_destructor): New.
10002         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
10003         (EXTRA_SECTION_FUNCTIONS): Likewise.
10004         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10005         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10006         * config/c4x/c4x.c: Move include of tree.h.
10007         * config/clipper/clipper.c (clix_asm_out_constructor): New.
10008         (clix_asm_out_destructor): New.
10009         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10010         (ASM_OUTPUT_DESTRUCTOR): Remove.
10011         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10012         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10013         (TARGET_ASM_CONSTRUCTOR): New.
10014         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
10015         (sco_asm_out_constructor): New.
10016         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
10017         * config/i386/svr3gas.h: Remove stack grows up code.
10018         Remove code duplicated from i386/sysv3.h.
10019         (TARGET_ASM_CONSTRUCTOR): New.
10020         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10021         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
10022         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10023         (TARGET_ASM_CONSTRUCTOR): New.
10024         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
10025         (m68hc11_asm_out_destructor): New.
10026         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
10027         (TARGET_ASM_DESTRUCTOR): New.
10028         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
10029         * config/m68k/dpx2.h: Properly undef all the bits inherited from
10030         config/svr3.h pertaining to section manipulation.
10031         * config/m68k/dpx2g.h: Remove #if 0 code.
10032         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
10033         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
10034         (ASM_OUTPUT_CONSTRUCTOR): Remove.
10035         (TARGET_ASM_CONSTRUCTOR): New.
10036         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
10037         (m88k_svr3_asm_out_constructor): New.
10038         (m88k_svr3_asm_out_destructor): New.
10039         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10040         (ASM_OUTPUT_DESTRUCTOR): Remove.
10041         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10042         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
10043         * config/rs6000/aix.h: Likewise.
10044         * config/mips/rtems64.h: Don't undef removed constructor related bits.
10045         * config/mips/vxworks.h: Likewise.
10046         * config/rs6000/lynx.h: Likewise.
10047         * config/sh/elf.h: Likewise.
10048         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
10049         (DTORS_SECTION_ASM_OP): New.
10050         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10051         (ASM_OUTPUT_DESTRUCTOR): Remove.
10052         * config/sparc/sol2-sld-64.h: Likewise.
10053         * config/vax/vax.c (vms_asm_out_constructor): New.
10054         (vms_asm_out_destructor): New.
10055         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10056         (ASM_OUTPUT_DESTRUCTOR): Remove.
10057         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10058
10059         * doc/tm.texi (@node Initialization): Update.
10060
10061 2001-08-09  Richard Henderson  <rth@redhat.com>
10062
10063         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
10064         (__do_global_dtors_aux): Use gp-relative static data to avoid
10065         one dynamic relocation.
10066         (__do_frame_setup): Register Java classes.
10067         * config/alpha/crtend.asm (__JCR_END__): New.
10068
10069 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
10070
10071         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
10072         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
10073         (GEN, STAGESTUFF): Add new files.
10074         (insn-constants.h, s-constants, tm-preds.h, s-preds,
10075         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
10076         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
10077         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
10078         as well as insn-codes.h and insn-flags.h in config.h; and no
10079         extra headers in tconfig.h and hconfig.h.
10080
10081         * gencodes.c: Eliminate code to generate predicate declarations
10082         or #defines for md-file constants.
10083         * genconstants.c, genpreds.c: New files.
10084
10085         * i386.md: Re-order guard expressions such that TARGET_64BIT
10086         comes first, when this permits better optimization.  Add
10087         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
10088         why this is desirable.
10089
10090 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
10091
10092         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
10093         (find_fde_for_dso): Remove.
10094         (_Unwind_IteratePhdrCallback): New.
10095         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
10096         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
10097
10098 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10099
10100         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
10101         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
10102
10103 2001-08-09  Graham Stott  <grahams@redhat.com>
10104
10105         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
10106         (vis_no_unit): Use it.
10107         (visualize_no_unit): Add the insn only if room exists.
10108
10109 2001-08-09  Graham Stott  <grahams@redhat.com>
10110
10111         * predict.c (estimate_probability): Replace magic numbers with
10112         appropriate enumeration.
10113
10114 2001-08-09  Graham Stott  <grahams@redhat.com>
10115
10116         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
10117         parameter.
10118         (EXTRACT_FLAGS): Likewise.
10119
10120 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
10121
10122         * config/mips/mips.c    (mips_legitimate_address_p): Check for
10123         CONST_INT in last patch.
10124
10125 2001-08-08  Anthony Green  <green@redhat.com>
10126
10127         * java/class.c (emit_register_classes): Use assemble_jcr if
10128         possible.  Keep the original mechanism as a fallback.
10129         * defaults.h (JCR_SECTION_NAME): Define if we have named section
10130         and weak symbol support.
10131         * crtstuff.c (__JCR_LIST__): Define.
10132         (__JCR_END__): Define.
10133         (_Jv_RegiserClasses): Define weak symbol if possible.
10134         (__do_global_ctors_aux): Register classes for ELF targets with
10135         weak symbol support.
10136
10137 2001-08-08  Kazu Hirata  <kazu@hxi.com>
10138
10139         * dbxout.c: Fix comment formatting.
10140         * dependence.c: Likewise.
10141         * df.c: Likewise.
10142         * diagnostic.c: Likewise.
10143         * dominance.c: Likewise.
10144         * doprint.c: Likewise.
10145         * dwarf2out.c: Likewise.
10146         * dwarfout.c: Likewise.
10147         * emit-rtl.c: Likewise.
10148         * except.c: Likewise.
10149         * explow.c: Likewise.
10150         * expmed.c: Likewise.
10151         * expr.c: Likewise.
10152         * flow.c: Likewise.
10153         * fold-const.c: Likewise.
10154         * function.c: Likewise.
10155
10156 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10157
10158         * global.c (retry_global_alloc): Avoid shadowing allocno.
10159
10160 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
10161
10162         * except.c (remove_fixup_regions): Fix typo.
10163
10164 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
10165
10166         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
10167         unsigned HOST_WIDE_INT to avoid warning.
10168         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
10169         * flow.c (set_block_for_new_insns): Likewise.
10170
10171 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
10172
10173         * sibcall.c (return_value_pseudo): New static variable.
10174         (skip_copy_to_return_value): Handle return_value_pseudo.
10175         (call_ends_block_p): Ensure that return_value_pseudo is set.
10176         (optimize_sibling_and_tail_recursive_call): Discover the
10177         load of pseudo return value in alternate exit block.
10178
10179 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10180
10181         * calls.c (ECF_ALWAYS_RETURN): New constant.
10182         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
10183         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
10184         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
10185         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
10186         * rtl.c (reg_note_name): New name.
10187         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
10188
10189 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
10190
10191         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
10192
10193 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
10194
10195         * alias.c (get_alias_set): Return a previously calculated
10196         alias set for a VAR_DECL.
10197         * function.c (gen_mem_addressof): Calculate the alias set before
10198         touching the RTL.
10199
10200 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
10201
10202         * predict.def: Set hitrates according our experimental run.
10203
10204 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
10205
10206         * i386.h (HARD_REGNO_RENAME_OK): New macro.
10207
10208 2001-08-08  H.J. Lu <hjl@gnu.org>
10209
10210         * config/mips/mips.c (mips_unique_section): New. Copied from
10211         config/mips/elf.h.
10212
10213         * config/mips/mips-protos.h (mips_unique_section): New
10214         prototype.
10215
10216         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
10217
10218         * config/mips/little.h: New. Generic little endian mips
10219         targets. Only mips*-*-linux* is converted to use it so far.
10220
10221         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
10222         (WCHAR_TYPE): Defined
10223         (WCHAR_TYPE_SIZE): Likewise.
10224         (INIT_SUBTARGET_OPTABS): Likewise.
10225         (BSS_SECTION_ASM_OP): Likewise.
10226         (SBSS_SECTION_ASM_OP): Likewise.
10227         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10228         (ASM_DECLARE_OBJECT_NAME): Likewise.
10229         (UNIQUE_SECTION): Likewise.
10230         (EXTRA_SECTIONS): Likewise.
10231         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
10232         (ASM_OUTPUT_DESTRUCTOR): Likewise.
10233         (ASM_OUTPUT_DEF): Likewise.
10234         (HANDLE_SYSV_PRAGMA): Removed.
10235         (NO_IMPLICIT_EXTERN_C): Likewise.
10236         (TARGET_MEM_FUNCTIONS): Likewise.
10237         (STARTFILE_SPEC): Likewise.
10238         (ENDFILE_SPEC): Likewise.
10239         (LIB_SPEC): Likewise.
10240         (INVOKE__main): Likewise.
10241         (CTOR_LIST_BEGIN): Likewise.
10242         (CTOR_LIST_END): Likewise.
10243         (DTOR_LIST_BEGIN): Likewise.
10244         (DTOR_LIST_END): Likewise.
10245         (SET_ASM_OP): Likewise.
10246         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10247         (ASM_OUTPUT_DEF): Likewise.
10248         (ASM_OUTPUT_IDENT): Likewise.
10249
10250         * config/mips/mips.h (ASM_SPEC): Undefine before define.
10251         (CPLUSPLUS_CPP_SPEC): Likewise.
10252         (ASM_APP_ON) Redefine only if not defined.
10253         (ASM_APP_OFF): Likewise.
10254         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10255         (ASM_OUTPUT_IDENT): Likewise.
10256
10257         * config.gcc: Update tm_file for Linux/mips.
10258
10259 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
10260
10261         * cselib.c (cselib_record_sets): If insn is predicated, turn
10262         sources into IF_THEN_ELSEs.
10263
10264         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
10265         Turn into define_insn_and_split.
10266
10267         * sched-deps.c: Include "cselib.h".
10268         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
10269         Use cselib to turn memory addresses into VALUEs.
10270         (sched_analyze): Call cselib_init/cselib_finish if necessary.
10271         * sched-int.h (struct sched_info): New member USE_CSELIB.
10272         * sched-ebb.c (ebb_sched_info): Initialize it.
10273         * sched-rgn.c (rgn_sched_info): Likewise.
10274         * Makefile.in (sched-deps.o): Update dependencies.
10275
10276         * cselib.h (cselib_subst_to_values): Declare.
10277         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
10278         that have no value and autoincs to be handled by generating a new
10279         dummy value.
10280
10281 2001-08-08  Graham Stott  <grahams@redhat.com>
10282
10283         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
10284         within fixed length SEQUENCE.
10285
10286 2001-08-08  Graham Stott  <grahams@redhat.com>
10287
10288         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
10289         (diagnostic_prefixing_rule): Likewise.
10290         (diagnostic_line_cutoff): Likewise.
10291         (diagnostic_kind_count): Likewise.
10292
10293 2001-08-08  Graham Stott  <grahams@redhat.com>
10294
10295         * alias.c (find_base_decl): Delete redundent assignment.
10296
10297 2001-08-08  Graham Stott  <grahams@redhat.com>
10298
10299         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
10300         (abs): Uppercase and paranthesize macro parameter.
10301         (MEM_DEPENDENCY): Add whitespace.
10302
10303 2001-08-08  Graham Stott  <grahams@redhat.com>
10304
10305         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
10306         failure check for CONST_INT
10307
10308 2001-08-08  Graham Stott  <grahams@redhat.com>
10309
10310         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
10311         (libcall_dead_p): Likewise.
10312
10313         (mark_used_regs): Constify fmt.
10314         (find_use_as_address): Likewise.
10315
10316 2001-08-08  Graham Stott  <grahams@redhat.com>
10317
10318         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
10319          parameter.
10320
10321 2001-08-08  Graham Stott  <grahams@redhat.com>
10322
10323         * combine.c (combine_simplify_rtx): Update comment and
10324         remove erroneous test.
10325
10326 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10327
10328         * cppinit.c (cpp_finish): Pop the final buffer without comment.
10329         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
10330         take care to avoid multiple no-newline at EOF warnings in that
10331         case.
10332
10333 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
10334
10335         * calls.c (expand_call): Do not emit INSN_SETJMP note.
10336         (emit_library_call_value_1): Likewise.
10337         (emit_call_1): Emit REG_SETJMP note.
10338         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
10339         of INSN_SETJMP
10340         * cselib.c (cselib_process_insn): Likewise.
10341         * flow.c (propagate_block): Likewise.
10342         * loop.c (find_and_verify_loops): Likewise.
10343         * reload.c (find_equiv_regs): Likewise.
10344         * reload1.c (reload): Likewise.
10345         * resource.c (mark_referenced_resources,
10346         mark_set_resources): Likewise.
10347         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
10348         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
10349         * haifa-sched.c (unlink_other_notes): Likewise.
10350         (reemit_notes): Likewise.
10351         * sched-ebb.c (sched_ebb): Likewise.
10352         * sched-rgc.c (sched_region): Likewise.
10353         * rtl.c (note_insn_name): Likewise.
10354         (reg_note_name): Add REG_SETJMP
10355         * rtl.h (reg_note): Add REG_SETJMP.
10356         (insn_note): Remove NOTE_INSN_SETJMP.
10357
10358         * profile.c (branch_prob): Add fake edges for setjmp.
10359
10360 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
10361
10362         * config.gcc: Quote target_cpu_default2 correctly for
10363         powerpc*-*-* targets.
10364
10365 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10366
10367         * cpplib.h, line-map.h: Update comments.
10368         * cppmain.c (printer_init): Move inline.
10369         (maybe_print_line, print_line): Take a map pointer.
10370         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
10371         (cb_file_change): Don't use prior value of print.map.
10372
10373 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
10374
10375         * doc/install.texi: Document fine-grained multilib configuration.
10376
10377 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10378
10379         * rtlanal.c (find_first_parameter_load): Call note_stores
10380         only on the instructions.
10381
10382 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10383
10384         * alias.c (nonlocal_mentioned_p):
10385         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
10386         * calls.c (emit_call_1): Likewise.
10387         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
10388         * cselib.c (cselib_process_insn): Likewise.
10389         * df.c (df_insns_modify): Likewise.
10390         * flow.c (need_fake_edge_p): Likewise.
10391         (propagate_one_insn): Likewise.
10392         * haifa-sched.c (reemit_notes): Likewise.
10393         * integrate.c (copy_insn_list): Likewise.
10394         * jump.c (delete_prior_computation): Likewise.
10395         * local-alloc.c (validate_equiv_mem): Likewise.
10396         * loop.c (scan_loop): Likewise.
10397         * predict.c (estimate_probability): Likewise.
10398         * reload.c (reload): Likewise.
10399         * sched-deps (sched_analyze): Likewise.
10400         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
10401         * gcse.c (compute_hash_table): Likewise.
10402         (mark_call): Likewise.
10403         (store_killed_in_insn): Likewise.
10404
10405 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
10406
10407         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
10408
10409 2001-08-06  Richard Henderson  <rth@redhat.com>
10410
10411         * varasm.c (assemble_gc_entry): Remove.
10412         * output.h: Likewise.
10413
10414 2001-08-06  Richard Henderson  <rth@redhat.com>
10415
10416         * varasm.c (assemble_constructor): Take a symbol_ref and a
10417         priority instead of a bare string.  Move priority handling
10418         here from cp/decl2.c.
10419         * output.h: Update decls.
10420
10421         * c-decl.c (c_expand_body): Update calls to assemble_constructor
10422         and assemble_destructor.
10423         * profile.c (output_func_start_profiler): Likewise.
10424         * objc/objc-act.c (finish_objc): Likewise.
10425         (build_module_descriptor): Return the symbol not the symbol name.
10426
10427 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
10428
10429         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
10430         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
10431         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
10432         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
10433         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
10434         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
10435
10436 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10437
10438         * cpperror.c (print_containing_files): Moved to line-map.c.
10439         (print_location): line-map.c handles re-listing or otherwise.
10440         * cpphash.h (struct lexer_state): Remove next_bol.
10441         (struct cpp_buffer): Remove include_stack_listed.
10442         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
10443         Remove faked buffer handling.
10444         (_cpp_do_file_change): Tweak.
10445         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
10446         * cppmain.c (struct printer): Remove filename.
10447         (print_line, cb_file_change): Update accordingly.
10448         * line-map.c: Include intl.h.
10449         (init_line_maps): Initialize last_listed.
10450         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
10451         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
10452         (print_containing_files): New.
10453         * line-map.h (struct line_maps): New member last_listed.
10454         (print_containing_files, INCLUDED_FROM): New.
10455         * Makefile.in: Update.
10456         * po/POTFILES.in: Add line-map.c.
10457
10458 2001-08-06  Richard Henderson  <rth@redhat.com>
10459
10460         * except.c (convert_from_eh_region_ranges_1): Never mark
10461         USE or CLOBBER insns as throwing.
10462
10463         * expr.c (store_constructor): Don't clobber memory targets.
10464
10465 2001-08-06  Andreas Jaeger  <aj@suse.de>
10466
10467         * profile.c (branch_prob): Remove unused variable insn.
10468
10469         * Makefile.in (local-alloc.o): Add dependency on except.h.
10470
10471         * local-alloc.c: Include except.h for can_throw_internal prototype.
10472
10473 2001-08-06  Richard Henderson  <rth@redhat.com>
10474
10475         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
10476         * function.c (expand_main_function): Implement it.
10477         * doc/tm.texi: Document it.
10478
10479 2001-08-06  Stan Shebs  <shebs@apple.com>
10480
10481         * doc/install.texi: Document powerpc-*-darwin* details.
10482
10483 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
10484
10485         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
10486         (ASM_CPU_SPEC): Move back to rs6000.h
10487         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
10488
10489         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
10490
10491         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
10492         readded.
10493
10494         * config/rs6000/linux64.h: Ditto.
10495
10496         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10497         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
10498         nothing.
10499
10500         Remove accidently readded definitions of FUNCTION_PROLOGUE,
10501         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
10502
10503         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10504         to rs6000.h
10505
10506 2001-08-05  Richard Henderson  <rth@redhat.com>
10507
10508         * local-alloc.c (update_equiv_regs): Do not move insns that
10509         can throw.
10510
10511 2001-08-05  Jan Hubicka  <jh@suse.cz>
10512
10513         * Makefile.in (reload1.o): Add dedendancy on except.h
10514         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
10515         prototypes.
10516         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
10517         indicating wehther edges has been cleaned up.
10518         * reload1.c: Inlucde except.h
10519         (fixup_abnormal_edges): Accept deleted insns.
10520         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
10521         after combine.
10522
10523 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10524
10525         * cpplib.c (do_line): Correct line number after pop_buffer.
10526
10527 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10528
10529         PR preprocessor/3824
10530         * line-map.c: Update comments.
10531         * line-map.h: Update comments.
10532         * tradcif.y: Don't consider large numbers unsigned.
10533
10534 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10535
10536         PR preprocessor/3081
10537         * c-lex.c (map): New.
10538         (cb_file_change): Update map and use it.
10539         (cb_def_pragma, cb_define, cb_undef): Use map and line.
10540         (c_lex): Update to use map.
10541         * cpperror.c (print_location): Move to using logical line numbers.
10542         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
10543         (cpp_make_system_header): Similarly.
10544         (_cpp_execute_include): Stop line numbering hacks.  Store the
10545         line we will return to.
10546         * cpphash.h (CPP_BUF_LINE): Remove.
10547         (struct cpp_buffer): Remove lineno and pseudo_newlines.
10548         Add map and return_to_line.
10549         (_cpp_do_file_change): Update.
10550         * cppinit.c (cpp_start_read): Update line kludge.
10551         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
10552         (trigraph_ok): Use logical line numbers for diagnostics.
10553         (skip_block_comment): Likewise.
10554         (skip_whitespace): Likewise.
10555         (skip_line_comment): Use pfile->line instead.
10556         (_cpp_lex_token): Update to use logical line numbering exclusively.
10557         Handle BOL locally.  Accept new lines in directives, but keep
10558         pfile->line decremented.  Diagnostics use logical lines.  Update
10559         directive handling.
10560         * cpplib.c (SEEN_EOL): New.
10561         (skip_rest_of_line, check_eol): Use it.
10562         (end_directive): Increase line number when accepting the newline
10563         at the end of a directive.
10564         (run_directive): Simplify.
10565         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
10566         (_cpp_do_file_change): Update to take buffer line number as an
10567         argument, and store the current map in the cpp_reader.  Remove
10568         line number kludges.
10569         (_cpp_do__Pragma): Restore output position after a _Pragma.
10570         (cpp_push_buffer): Don't set output line or lineno.
10571         (_cpp_pop_buffer): Transfer more info from a faked buffer.
10572         Remove line kludge.  Set output_line.
10573         * cppmacro.c (builtin_macro): Update handling of __LINE__.
10574         (parse_arg): Use logical lines.
10575         (save_lookahead_token): Save EOFs too now.
10576         * cppmain.c (struct printer): Fix comments.
10577         (printer_init): Simplify, let caller do errors.
10578         (scan_translation_unit, check_multiline_token, dump_macro): Update.
10579         (maybe_print_line): Simplify.
10580         (print_line): Don't print a linemarker if -P.
10581         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
10582         (cb_file_change): Simplify.
10583         * line-map.h (LAST_SOURCE_LINE): Fix.
10584         (CURRENT_LINE_MAP): New.
10585
10586 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
10587
10588         * doloop.c (doloop_modify_runtime): Properly compute number of
10589         iterations if loop was unrolled.
10590
10591         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
10592         if their CSELIB_VAL_PTRs are.
10593
10594         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
10595         (setup_spill_pointers): Initialize it.
10596         (spill_restore_mem): Set it.
10597         (do_spill, do_restore): Use it to add REG_INC note.
10598         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
10599
10600         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
10601         asms if other insns are available.
10602
10603         * config/ia64/ia64.c (condop_operator): New predicate.
10604         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
10605         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
10606         patterns.
10607
10608         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
10609         temporary register than directly using a MEM.
10610
10611 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10612
10613         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
10614         parameter in last change.
10615
10616 2001-08-04  Zack Weinberg  <zackw@panix.com>
10617
10618         * sparc.md: Don't use #if inside C test expression.
10619
10620 2001-08-04  Richard Henderson  <rth@redhat.com>
10621
10622         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
10623
10624 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10625
10626         * cpphash.h (struct cpp_reader): New member directive_line.
10627         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
10628         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
10629         do_pragma): Pass line to callbacks.
10630         (start_directive): Record line of directive.
10631         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
10632         cb_include): Similarly.
10633         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
10634         Similarly.
10635
10636 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10637
10638         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
10639         comment.
10640
10641 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10642
10643         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
10644
10645         * reload1.c (fixup_abnormal_edges): New static function.
10646         (reload): Use it.
10647
10648         * flow.c (need_fake_edge_p): New function.
10649         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
10650         avoid call insn to be very last insn in the insn stream.
10651
10652         * profile.c (branch_prob): Call flow_call_edges_add instead of
10653         doing that by hand; cleanup cfg to re-merge basic blocks once
10654         we are done.
10655
10656 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10657
10658         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
10659         are also on line-map.h.
10660         * cppfiles.c (stack_include_file): Update.
10661         * cpphash.h (struct cpp_buffer): New member return_at_eof.
10662         (_cpp_pop_buffer): New.
10663         * cppinit.c (cpp_destroy, cpp_finish): Update.
10664         (do_includes): Mark each buffer to return at EOF.
10665         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
10666         return as requested.
10667         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
10668         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
10669         * cpplib.h (cpp_pop_buffer): Remove.
10670         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
10671         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
10672         buffers.
10673         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
10674         to pop buffers.
10675         (do_preprocessing): Update.
10676         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
10677         * c-parse.in (_yylex): Similarly.
10678         * scan-decls.c (scan_decls): Similarly.
10679         * line-map.h: Update comments.
10680
10681         * objc/Make-lang.in (objc-act.o): Update dependencies.
10682
10683 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10684
10685         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
10686         and soft register for operand 0.
10687         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
10688
10689 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10690
10691         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
10692         register for operand 0.
10693         ("bitcmpqi_z_used"): Allow memory for operand 0.
10694         (split "bitcmpqi"): New split to handle address reg as operand 1.
10695
10696 2001-08-04  Andreas Jaeger  <aj@suse.de>
10697
10698         * gcse.c: Revert Daniel's last patch.
10699
10700 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
10701
10702         * sparc-protos.h: Add prototypes for fp_zero_operand and
10703         reg_or_0_operand.
10704         * sh-protos.h: Add prototype for fpul_operand.
10705
10706 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10707
10708         * doc/extend.texi (Other Builtins): Fix typo in last change.
10709
10710 2001-08-03  Richard Henderson  <rth@redhat.com>
10711
10712         * target.h (gcc_target): Add asm_out.named_section,
10713         section_type_flags, have_named_sections.
10714         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
10715         (TARGET_HAVE_NAMED_SECTIONS): New.
10716         (TARGET_SECTION_TYPE_FLAGS): New.
10717
10718         * Makefile.in (toplev.o): Depend on TARGET_H.
10719         (varasm.o, dbxout.o): Likewise.
10720         * c-common.c (decl_attributes): Check targetm.have_named_sections
10721         instead of ifdef ASM_OUTPUT_SECTION_NAME.
10722         * dbxout.c (dbxout_function_decl): Likewise.
10723         (dbxout_function_end): Likewise.
10724         * toplev.c (compile_file): Likewise.
10725         * varasm.c (exception_section): Likewise.
10726         * cp/decl2.c (finish_objects): Likewise.
10727
10728         * defaults.h (EH_FRAME_SECTION): Remove.
10729         (EH_FRAME_SECTION_ASM_OP): Remove.
10730         (EH_FRAME_SECTION_NAME): New.
10731         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
10732         (UNIQUE_SECTION_P): Remove.
10733         * dwarf2out.c (SECTION_FORMAT): Remove.
10734         (ASM_OUTPUT_SECTION): Remove.
10735         (output_call_frame_info): Use named_section_flags.
10736         (output_comp_unit, dwarf2out_start_source_file): Likewise.
10737         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
10738         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
10739         * varasm.c (in_eh_frame, eh_frame_section): Remove.
10740         (named_section_flags): New.
10741         (named_section): Use it and targetm.section_type_flags.
10742         (resolve_unique_section): New.
10743         (assemble_start_function): Use it.
10744         (asm_emit_uninitialised, assemble_variable): Likewise.
10745         (default_section_type_flags): New.
10746         (default_no_named_section, default_elf_asm_named_section): New.
10747         (default_coff_asm_named_section, default_pe_asm_named_section): New.
10748         * output.h: Update varasm.c decls.
10749         (SECTION_*): New flags.
10750
10751         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
10752         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
10753
10754         * config/elfos.h (UNIQUE_SECTION_P): Remove.
10755         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
10756         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
10757         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10758         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
10759         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
10760         * config/mips/elf.h, config/mips/elf64.h: Likewise.
10761         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
10762         * config/pa/pa64-hpux.h,
10763
10764         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
10765         (TARGET_ASM_NAMED_SECTION): New.
10766         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
10767         * config/alpha/vms.h, config/arm/coff.h: Likewise.
10768         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
10769         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
10770         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
10771         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
10772         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10773         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
10774         * config/i386/sco5.h, config/i386/win32.h: Likewise.
10775         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
10776         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
10777         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
10778         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
10779         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
10780         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
10781         * config/sparc/sysv4.h: Likewise.
10782
10783         * config/nextstep.h: Error until named sections implemented.
10784
10785         * config/a29k/a29k.c (a29k_asm_named_section): New.
10786         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
10787         (vms_section_type_flags, vms_asm_named_section): New.
10788         * config/arm/arm.c (arm_elf_asm_named_section): New.
10789         * config/avr/avr.c (asm_output_section_name): Remove.
10790         * config/avr/avr-protos.h: Update.
10791         * config/c4x/c4x.c (c4x_asm_named_section): New.
10792         * config/h8300/h8300.c (h8300_asm_named_section): New.
10793         * config/i386/i386.c (sco_asm_named_section): New.
10794         * config/i386/winnt.c (SECTION_PE_SHARED): New.
10795         (i386_pe_section_type_flags): New.
10796         (i386_pe_asm_named_section): New.
10797         * config/i386/i386-protos.h: Update.
10798         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
10799         * config/mcore/mcore.c (mcore_asm_named_section): New.
10800         * config/mips/mips.c (iris6_asm_named_section): New.
10801         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
10802         instead of UNIQUE_SECTION_P.
10803         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
10804         (xcoff_asm_named_section): New.
10805         * config/sh/sh.c (sh_asm_named_section): New.
10806         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
10807
10808         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
10809         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
10810         (EH_FRAME_SECTION_NAME): New.
10811         (EXCEPTION_SECTION): New.
10812         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
10813         (DEBUG_*_SECTION): Remove.
10814         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
10815         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
10816         (EH_FRAME_SECTION_ASM_OP): Remove.
10817
10818         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
10819         (ASM_OUTPUT_SECTION_NAME): Remove.
10820         (TARGET_ASM_NAMED_SECTION): New.
10821         (TARGET_HAVE_NAMED_SECTIONS): New.
10822         (TARGET_SECTION_TYPE_FLAGS): New.
10823         (EH_FRAME_SECTION_ASM_OP): Remove.
10824         (EH_FRAME_SECTION_NAME): New.
10825
10826 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
10827
10828         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
10829         for complex expressions when cfun == 0.
10830         * doc/extend.texi: Document that __builtin_constant_p can be
10831         used in data initializers as well as functions.
10832
10833 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
10834
10835         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
10836         variable I locally, instead of expecting a declaration in the
10837         calling context.
10838
10839 2001-08-03  Richard Henderson  <rth@redhat.com>
10840
10841         * except.c (collect_one_action_chain): Add an explicit cleanup
10842         action if regions surrounding a catch were encoded entirely
10843         within the call-site entry.
10844
10845 2001-08-03  Richard Henderson  <rth@redhat.com>
10846
10847         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
10848         don't take REGNO of a non-register.
10849
10850 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10851
10852         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
10853         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
10854         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
10855         (__gthread_mutex_init_function): New function for mutex initialization.
10856
10857 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10858
10859         * Makefile.in: Revert screwed up commit.
10860
10861 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10862
10863         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
10864         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
10865         merged by linker script to get a final _exit().
10866         (__do_global_dtors): New for destructor handling in specific exit
10867         section.
10868         (__do_global_ctors): New for constructors in specific install section.
10869         (__map_data_section): Map data sections before running constructors.
10870         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
10871         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
10872         (DTORS_SECTION_ASM_OP): Likewise.
10873         (CTORS_SECTION_FUNCTION): Define to force a reference to
10874         __do_global_ctors.
10875         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
10876
10877 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10878
10879         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
10880
10881         * Makefile.in: Add df.h to gcse.c dependencies.
10882
10883 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10884
10885         * varasm.c (output_constant_def_contents): Use for the length of a
10886         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
10887         depending on which is larger.
10888
10889 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10890
10891         * gcse.c: Include df.h for use as a dataflow analyzer.
10892         Remove regvec.
10893         Declaration of reg_set_info: gone.
10894         New df_analyzer variable used by store motion.
10895         (reg_set_info): Deleted.
10896         (mark_mem_regs): New function, analyze regs used by a mem.
10897         (store_ops_ok): Use dataflow analyzer results to determine if
10898         necessary regs are changed in the block.
10899         (find_moveable_store): Remove check for symbol ref, we can handle
10900         much more complex expressions now.
10901         (compute_store_table): Remove most of the code, it's unnecessary
10902         now that the dataflow analyzer records the info for us.
10903         (store_killed_after): Add parameter to say whether to do the
10904         store_ops_okay test, used to speed up testing when we already know
10905         the answer, and just want to know if the store itself was killed.
10906         (build_store_vector): Largely rewritten to calculate the various
10907         vectors properly, and somewhat optimized.
10908         (store_motion): Init the df_analyzer, get REG_DEF chains.
10909         Also handle trapping expressions (since mems almost always trap)
10910         (simple_mem): Redefine what a simple mem is.
10911
10912 2001-08-03  DJ Delorie  <dj@redhat.com>
10913
10914         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
10915         set from a constant part of the condition.
10916
10917 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
10918
10919         * mkdeps.c (deps_add_default_target): Make local variable
10920         ``start'' a const char pointer.
10921         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
10922
10923 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10924
10925         * doc/install.texi (Configuration): Fix markup.
10926         (Specific, i?86-*-udk): Likewise.
10927         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
10928         --with-gnu-ld.
10929         Document --enable-threads and --enable-libgcj status.
10930         (Specific, mips-sgi-irix*): Canonicalize triples.
10931         (Specific, mips-sgi-irix5): Warn about problems with this config.
10932         Mention required GNU as patch.
10933         Native assembler problems are fixed.
10934         (Specific, mips-sgi-irix6): Update O32 ABI support status.
10935         Document --enable-threads and --enable-libgcj status.
10936
10937 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10938
10939         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
10940         of mkinstalldirs.
10941
10942 2001-08-03  Richard Henderson  <rth@redhat.com>
10943
10944         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
10945         constant data.
10946
10947 2001-08-03  Richard Henderson  <rth@redhat.com>
10948
10949         * rtlanal.c (find_first_parameter_load): Stop if we
10950         reach a CODE_LABEL at BOUNDARY.
10951
10952 2001-08-03  Richard Henderson  <rth@redhat.com>
10953
10954         * config/alpha/alpha.md (force_movdi): New insn.
10955         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
10956         Tweek FRP marking of VMS prologue insns.
10957         * config/alpha/vms.h (EPILOGUE_USES): New.
10958
10959 2001-08-02  Richard Henderson  <rth@redhat.com>
10960
10961         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
10962
10963 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
10964
10965         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
10966         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
10967         config/convex/convex.h, config/d30v/d30v.c,
10968         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
10969         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
10970         config/mips/mips.h, config/mn10200/mn10200.h,
10971         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
10972         config/v850/v850.h, config/vax/openbsd.h,
10973         config/vax/openbsd1.h, config/vax/ultrix.h,
10974         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
10975         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
10976         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
10977         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
10978         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
10979         in comments and documentation.
10980
10981 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10982
10983         * line-map.c: New.
10984         * line-map.h: New.
10985         * Makefile.in (line-map.o): New.
10986         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
10987         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
10988         * cpperror.c (print_containing_files): Similarly.
10989         (print_location): Update.  Don't output a space before _Pragma.
10990         * cppfiles.c (stack_include_file): Set to line 1 immediately.
10991         (stack_include_filee, cpp_make_system_header): Update.
10992         (_cpp_execute_include): Get logical line number right for calling
10993         as-yet-unterminated #include.
10994         * cpphash.h (struct cpp_reader): Add line_maps.
10995         (_cpp_do_file_change): Update.
10996         * cppinit.c (cpp_create_reader): Initialize line maps.
10997         (cpp_destroy): Destroy line maps.
10998         (cpp_start_read): Get logical line number right.
10999         * cpplex.c (parse_string): Only warn once for multi-line strings.
11000         Use boolean variable for null warning.
11001         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
11002         already.
11003         (do_include_common): End the directive early.
11004         (do_line): Don't warn about out-of-range lines in preprocessed
11005         source.  Update.  Remove unused variables.
11006         (_cpp_do_file_change): Update for new line mapping.
11007         (pragma_cb): New typedef.
11008         (cpp_register_pragma): Stop looking ahead before calling the
11009         handler.  Clean up.
11010         (do_pragma_system_header): End directive early.
11011         (cpp_get_line_maps): New.
11012         (cpp_pop_buffer): Fudge logical line.  Update.
11013         * cpplib.h: Include line-map.h
11014         (enum cpp_fc_reason): Remove.
11015         (struct cpp_file_change): Update.
11016         (cpp_get_line_maps): New.
11017         * cppmain.c (struct_printer): New member map.
11018         (cb_file_change): Update for new mappings.
11019         * fix-header.c (cb_file_change): Similarly.
11020
11021 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11022
11023         * Makefile.in (libgcc.mk): Define mkinstalldirs.
11024         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
11025
11026 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
11027
11028         * config/vax/vax.c: include expr.h.
11029
11030 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
11031
11032         * Makefile.in ($(srcdir)/configure): Only rebuild in
11033         maintainer mode.
11034         ($(srcdir)/config.in): Only define in maintainer mode.
11035         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
11036
11037 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
11038
11039         * doc/install.texi (Install GCC: Binaries): Update Bull info.
11040
11041 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11042
11043         * gcc.c (set_collect_gcc_options): New function, split out from
11044         main.
11045         Ignore elided switches.
11046         (do_spec_1): Invoke before executing command.
11047         (set_input): Export.
11048         Move declaration ...
11049         * gcc.h (set_input): ... here.
11050         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
11051         file.
11052
11053 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
11054
11055         Kill -fhonor-std.
11056         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
11057         interaction.
11058         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
11059
11060 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
11061
11062         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
11063         for the unnamed instructions it expands to.
11064
11065 2001-08-02  Richard Henderson  <rth@redhat.com>
11066
11067         * regclass.c (call_really_used_regs): Conditionally define.
11068         (init_reg_sets_1): Don't use it if not defined.
11069         (fix_register): Similarly, don't set it.
11070
11071 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11072
11073         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
11074         Correct comment that had been missed in the previous change.
11075
11076 2001-08-01  Stan Shebs  <shebs@apple.com>
11077
11078         * config/darwin.c (machopic_stub_name): Try matching by name.
11079         (update_stubs): New function.
11080         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
11081         unconditionally.
11082
11083 2001-08-01  Richard Henderson  <rth@redhat.com>
11084
11085         * except.c (output_function_exception_table): Use assemble_align.
11086         * varasm.c (assemble_eh_label): Remove.
11087         (assemble_eh_align, assemble_eh_integer): Remove.
11088
11089 2001-08-01  Robert Lipe  <robertl@caldera.com>
11090
11091         * dwarfout.c: Remove reference to README.DWARF.
11092
11093 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
11094
11095         * regclass.c (call_really_used_regs): New array for registers which
11096         are actually used by a call.
11097         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
11098         new array.
11099         (fix_register): Set call_really_used too.
11100         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
11101         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
11102
11103 2001-08-01  Richard Henderson  <rth@redhat.com>
11104
11105         * read-rtl.c (read_name): Consider \r whitespace.
11106
11107 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
11108
11109         * config.gcc: Recognize powerpc-*-netbsd*.
11110
11111         * doc/install.texi (Host/target specific installation notes for
11112         GCC): Mention powerpc-*-netbsd*.
11113
11114         * config/rs6000/netbsd.h: New file.
11115         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
11116         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
11117         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
11118         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
11119         (TARGET_VERSION): Redefine.
11120
11121         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
11122         mcall-netbsd as a match for mcall-sysv.
11123         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
11124         (ncrti.S, ncrtn.S): New targets.
11125         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
11126
11127         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
11128         "netbsd' as a V4 ABI.
11129         (ASM_SPEC): Check for -mcall-netbsd.
11130         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
11131         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
11132         (LIB_SPEC, ENDFILE_SPEC): Ditto.
11133         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
11134         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
11135         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
11136         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
11137
11138         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
11139         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
11140
11141 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
11142
11143         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
11144         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
11145         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
11146         including "unwind-pe.h".
11147
11148 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
11149
11150         * rs6000.md (define_splits): Kill unused constraints.
11151
11152 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
11153                               Jan Hubicka  <jh@suse.cz>
11154
11155         * function.c (thread_prologue_and_epilogue_insns): Kill code
11156         dealing with non-existent CFG.
11157
11158 2001-08-01  Kazu Hirata  <kazu@hxi.com>
11159
11160         * alias.c: Fix comment formatting.
11161         * bitmap.c: Likewise.
11162         * builtins.c: Likewise.
11163         * calls.c: Likewise.
11164         * c-common.c: Likewise.
11165         * c-decl.c: Likewise.
11166         * c-dump.c: Likewise.
11167         * c-lex.c: Likewise.
11168         * collect2.c: Likewise.
11169         * combine.c: Likewise.
11170         * conflict.c: Likewise.
11171         * cppfiles.c: Likewise.
11172         * cppinit.c: Likewise.
11173         * cpplex.c: Likewise.
11174         * cpplib.c: Likewise.
11175         * cppmacro.c: Likewise.
11176         * cppspec.c: Likewise.
11177         * c-pragma.c: Likewise.
11178         * crtstuff.c: Likewise.
11179         * cse.c: Likewise.
11180         * cselib.c: Likewise.
11181         * c-semantics.c: Likewise.
11182         * c-typeck.c: Likewise.
11183
11184 2001-08-01  H.J. Lu <hjl@gnu.org>
11185
11186         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
11187
11188 2001-08-01  H.J. Lu <hjl@gnu.org>
11189
11190         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
11191
11192 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
11193
11194         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
11195         contextualizing Objective-C class name lookup by the lexer.
11196         (typespec_reserved_nonattr): Disable ObjC class name lookup after
11197         seeing a TYPESPEC.
11198         (protocoldef): Add support for forward @protocol declarations.
11199         (yylexname): Suppress ObjC class name lookup in certain contexts;
11200         re-enable after lookup is complete.
11201         (_yylex): Re-enable ObjC class name lookup when certain
11202         punctuation marks are seen.
11203
11204         * objc/objc-act.c (check_protocol_recursively): New function used
11205         for finding circular dependencies in protocols.
11206         (objc_declare_protocols): New function for handling forward
11207         @protocol declarations.
11208         (receiver_is_class_object): Detect the case when 'self' is used
11209         inside of a class method.
11210         (build_message_expr): Issue a warning if class method is desired
11211         but instance method is found instead.
11212         (conforms_to_protocol): Streamline.
11213         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
11214         protocol Foo, even if 'Bar foo' does not.
11215         (check_protocols): Streamline.
11216         (start_protocol): Add checks for circular and duplicate protocol
11217         definitions.
11218         (encode_aggregate_within): For typedefs of structs, encode the
11219         underlying struct.
11220         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
11221         (objc_declare_protocols): New prototype.
11222
11223 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11224
11225         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
11226         * cpplex.c (handle_newline): Update prototype.  Maintain logical
11227         line number.
11228         (skip_escaped_newlines, skip_block_comment, parse_string):
11229         Update accordingly.
11230         (_cpp_lex_token): Update, and store token position within the token.
11231         * cpplib.h (struct cpp_token): Add line and column entries.
11232         * cppmacro.c (replace_args): Position stringified tokens correctly.
11233
11234 2001-08-01  Andreas Jaeger  <aj@suse.de>
11235
11236         * basic-block.h: Add prototype for last_loop_beg_note.
11237
11238 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
11239
11240         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
11241         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
11242         comment.
11243         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
11244         while handling WITH_CLEANUP_EXPR node. Use second operand calling
11245         expand_decl_cleanup.
11246         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
11247         the first RTX.
11248         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
11249         operand while calling simple_cst_equal.
11250         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
11251         operand is the cleanup expression, the third is the RTL_EXPR.
11252         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
11253
11254 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
11255
11256         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
11257
11258 2001-07-31  matthew green  <mrg@eterna.com.au>
11259
11260         * config.gcc (i386-*-netbsdelf): New description.
11261         * config/i386/netbsd-elf.h: New file.
11262
11263 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
11264
11265         * loop.c (check_dbra_loop): Use single_set to compute
11266         jump_label.
11267
11268 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
11269
11270         PowerPC reorg and support for powerpc64-*-linux*.
11271
11272         Also fixes emitting of constants on 32 bit and 64 bit
11273         platforms.
11274
11275         * config.gcc: powerpc64-*-linux* is a new target.
11276         Things that needed aix.h now also include xcoff.h
11277
11278         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
11279         xcoff.h.
11280         Move AIX specific stuff into aix.h.
11281         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
11282         with more than just XCOFF now.
11283         (SET_ASM_OP): Remove, now defined where needed.
11284         (FUNCTION_PROLOGUE): New macro definition.
11285         (FUNCTION_EPILOGUE): New macro definition.
11286         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
11287
11288         * config/rs6000/xcoff.h: New file.
11289
11290         * config/rs6000/linux64.h: New file.
11291
11292         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
11293
11294 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
11295
11296         * rs6000.c (print_operand_address): Handle ELF syntax.
11297         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
11298         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
11299         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
11300
11301 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
11302
11303         * rs6000.c (rs6000_override_options): Only disable
11304         flag_function_sections for XCOFF.
11305         (exact_log2_cint_operand): New predicate.
11306         (reg_or_{add,sub}_cint64_operand): New predicates.
11307         (add_operand): Compare CONST_INT with fewer function calls.
11308         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
11309         (print_operand, case 'p'): Ensure positive operand.
11310         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
11311         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
11312         (PREDICATE_CODES): Add new predicates.
11313         * rs6000.md (addsi3): Split 32-bit constants more correctly.
11314         (divsi3, modsi3): Ensure positive power-of-2.
11315         (adddi3): Use new predicate.  Split 32-bit constants more
11316         correctly.  Re-arrange splitter to handle any constant.
11317         (subdi3): Use new predicate.
11318         (divdi3, moddi3): Ensure positive power-of-2.
11319         (movdi): Use rs6000_emit_set_const.
11320         (load_toc_v4_pic_di): Delete.
11321
11322 2001-07-31  Graham Stott <grahams@redhat.com>
11323
11324         * function.c (pad_below): Revert 2001-07-26 patch.
11325
11326 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11327
11328         * reg-stack (convert_regs_1): Fix best edge condition.
11329
11330 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
11331
11332         * jump.c (duplicate_loop_exit_test): Better test for jumps
11333         entering the loop; create loop pre_header.
11334
11335 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
11336
11337         * doc/install.texi: Add s390 and s390x as new targets.
11338         * doc/invoke.texi: Add documentation of S/390 and zSeries
11339         target options.
11340         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
11341
11342 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11343
11344         * config/m68k/m68k.md: Replace all general_operand with
11345         nonimmediate_operand for all destinations.
11346         * config/m68k/m68k.c (not_sp_operand): Likewise.
11347
11348 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
11349
11350         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
11351
11352 2001-07-30  Richard Henderson  <rth@redhat.com>
11353
11354         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
11355         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
11356
11357 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11358
11359         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
11360         Add missing doc strings
11361         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
11362         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
11363
11364 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
11365
11366         * i386.c (ix86_output_main_function_alignment_hack): New function.
11367         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
11368
11369         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
11370         edges by EDGE_DFS_BACK flag.
11371         (dump_edge_info): Add dfs_back flag.
11372         * basic-block.h (EDGE_DFS_BACK): New constant.
11373         (mark_dfs_back_edges): Declare.
11374         * alias.c (loop_p): Remove.
11375         (mark_constant_function): Use mark_dfs_back_edges.
11376
11377         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
11378         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
11379         (compensate_edge): Break out from ...
11380         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
11381         (convert_regs_2): Set block_done once block is really done;
11382         Do updating of the predecessors counts.
11383
11384         * toplev.c (rest_of_compilation): Recompute block_for_insn
11385         before post-reload cfg_cleanup.
11386         * function.c (thread_prologue_epilogue_insns):
11387         Call set_block_for_new_insns when emitting prologue directly.
11388
11389 2001-07-30  Andreas Jaeger  <aj@suse.de>
11390
11391         * jump.c: Add prototype for mark_modified_reg.
11392
11393         * cse.c (set_live_p): Add unused attribute.
11394
11395         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
11396         overflow.
11397         (scan_for_source_files): Use long for count to avoid overflow.
11398         (output_data): Likewise.
11399         (output_data): Don't use string concatatenation to silence gcc
11400         -traditional.
11401
11402         * predict.c: Fix typos and grammar.
11403
11404         * gcse.c (insert_insn_end_bb): Remove unused variables.
11405
11406 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
11407
11408         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
11409         (attempt_auto_inc): LIkewise.
11410         (mark_used_reg): Likewise.
11411         (try_pre_increment_1): Likewise.
11412         * regclass.c (regclass): Likewise.
11413         * global.c (allocno_compare): Update comment; change scaling factor.
11414         * local-alloc.c (QTY_CMP_PRI): Likewise.
11415         * regs.h (REG_FREQ_FROM_BB): New.
11416         (REG_FREQ_MAX): Likewise.
11417
11418 2001-07-30  H.J. Lu <hjl@gnu.org>
11419
11420         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
11421         -D_GNU_SOURCE.
11422
11423 2001-07-30  H.J. Lu  (hjl@gnu.org)
11424
11425         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
11426         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
11427         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
11428
11429 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
11430
11431         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
11432         as -mthumb-interwork when -mcpu=arm7 is specified.
11433
11434 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
11435
11436         * predict.def (noreturn, loop branch, loop exit): Mark as first
11437         match heuristics.
11438
11439 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
11440
11441         * combine.c (try_combine): Avoid barrier after noop jumps.
11442
11443 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11444
11445         * cpphash.h (struct cpp_reader): Remove import_warning.
11446         * cpplib.c (skip_rest_of_line): Don't bother turning off
11447         macro expansion.
11448         (parse_include): Move include handling to...
11449         (do_include_common): ... here.  Move import warning from...
11450         (do_import): ... here.
11451         (do_pragma_poison): Don't do a callback for poison identifiers.
11452         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
11453         * cppmain.c (setup_callbacks): Similarly.
11454
11455 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
11456
11457         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
11458         handle multiple sets.
11459         * except.c (sjlj_mark_call_sites): .... here.
11460         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
11461
11462 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
11463
11464         Suggested by Richard Henderson and Richard Kenner:
11465         * combine.c (recog_for_combine): Use the fake recog
11466         only if instruction does not match.
11467         * rtl.h (NOOP_MOVE_INSN_CODE): New.
11468         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
11469
11470         * combine.c (try_combine): Discover noop jump as direct jump.
11471
11472 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
11473
11474         * df.c (df_rd_global_compute): Add successors to worklist, not
11475         current item.
11476         (df_ru_global_compute): Ditto.
11477
11478 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
11479
11480         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
11481         increment REG_N_SETS.
11482
11483 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
11484
11485         * sbitmap.h: New prototype for sbitmap_a_xor_b.
11486
11487         * sbitmap.c (sbitmap_a_xor_b): New function.
11488         ifdef the basic block stuff on IN_GCC.
11489
11490 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11491
11492         * cppexp.c (parse_defined): Always record the macro name.
11493         (lex): Don't worry about identifiers, or special-case
11494         CPP_NOT here.
11495         (_cpp_parse_expr): Figure out at the end of the routine
11496         whether we saw a valid !defined() expression.
11497         * cppfiles.c (stack_include_file): Update for mi_valid.
11498         (_cpp_pop_file_buffer): Similarly.
11499         * cpplex.c (_cpp_lex_token): Similarly.
11500         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
11501         mi_if_not_defined, mi_lexed): Remove.
11502         (mi_valid): New.
11503         * cpplib.c (do_if): Simplify.
11504         (do_endif, push_conditional, _cpp_handle_directive): Update
11505         for renaming of mi_state to mi_valid.
11506 doc:
11507         * cpp.texi: Add index entries for digraphs, and add comment
11508         that C++ refers to them as alternative tokens.
11509
11510 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
11511
11512         * basic-block.h (CLEANUP_PRE_LOOP): New.
11513         * except.c (finish_eh_generation): Update call of cleanup_cfg.
11514         * sibcall.c (optimize_sibling_calls): Likewise.
11515         * toplev.c (rest_of_compilation): Likewise.
11516         * flow.c (try_forward_edges): Take argument MODE;
11517         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
11518         (try_optimize_cfg): Update call of try_forward_edges.
11519
11520 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
11521                                 Jan Hubicka  <jh@suse.cz>
11522
11523         * (validate_replace_rtx_1): Fix simplification of MINUS.
11524
11525 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
11526
11527         PR preprocessor/3669
11528         * cppinit.c (init_dependency_output): Turn off dump requests
11529         if sending dependencies to stdout.
11530
11531 2001-07-28  Richard Henderson  <rth@redhat.com>
11532
11533         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
11534         not optimizing.
11535
11536 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
11537
11538         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
11539
11540 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11541
11542         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
11543         is VAR_DECL first to prevent an ICE.
11544
11545 2001-07-28  Richard Henderson  <rth@redhat.com>
11546
11547         * varasm.c (immed_real_const_1): Don't elide special cases for
11548         nested functions.
11549         (clear_const_double_mem): Clear const_tiny_rtx too.
11550
11551 2001-07-28  Richard Henderson  <rth@redhat.com>
11552
11553         * dwarf2out.c (dw_val_class_offset): New.
11554         (struct dw_ranges_struct, dw_ranges_ref): New.
11555         (ranges_table, ranges_table_allocated): New.
11556         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
11557         (add_AT_offset, add_ranges, output_ranges): New.
11558         (print_die, output_die): Handle dw_val_class_offset.
11559         (attr_checksum, size_of_die, value_format): Likewise.
11560         (gen_lexical_block_die): Handle non-contiguous blocks.
11561         (gen_block_die): Likewise.
11562         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
11563         if needed.  Dump the ranges table.
11564         * final.c (final_start_function): Remove unnecessary notes and
11565         rebuild the block tree before numbering the blocks.
11566         * function.c (reorder_blocks_0): Walk the existing block tree
11567         to unmark all blocks.
11568         (reorder_blocks_1): Create block fragments when duplicate block
11569         notes are seen.
11570         (reorder_fix_fragments): New.
11571         (reorder_blocks): Call it.
11572         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
11573
11574 2001-07-28  Richard Henderson  <rth@redhat.com>
11575
11576         * emit-rtl.c (adjust_address): Make a copy of the memory address.
11577
11578 2001-07-28  Richard Henderson  <rth@redhat.com>
11579
11580         * flow.c (add_to_mem_set_list): New function.
11581         (init_propagate_block_info): Use it.
11582         (mark_set_1): Likewise.
11583         (insn_dead_p): Canonicalize memory address for dead store
11584         comparison.  Allow wider mode stores to kill narrower mode stores.
11585         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
11586         (invalidate_mems_from_set): Don't handle MEMs.
11587
11588 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11589
11590         * config/h8300/h8300.h: Fix formatting.
11591
11592 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11593
11594         * basic-block.h (EDGE_FREQUENCY): New macro.
11595         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
11596         for new BB/edges.
11597         * flow.c (find_sub_basic_blocks): Likewise.
11598         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
11599         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
11600
11601         * predict.c (DEF_PREDICTOR): New argument FLAGS.
11602         (HITRATE): New macro.
11603         (PRED_FLAG_FIRST_MATCH): New constant.
11604         (predictor_info): New field flgags.
11605         (combine_predictions_for_insn): Use DS theory to combine
11606         probabilities; set the edge probabilities when finished.
11607         (estimate_probability): Avoid duplicated matches
11608         of LOOP_BRANCH heuristics for nested loops; update comment.
11609         * predict.def: Add flags for each prediction, set probabilities
11610         according to B&L paper.
11611         * predict.h (DEF_PREDICTOR): New argument FLAGS.
11612
11613         * profile.c (compute_branch_probabilities):  Cleanup way the edge
11614         probabilities are computed and REG_BR_PROB notes are dropped; if
11615         values does not match, emit error.
11616         (init_branch_prob): Do error instead of warning when profile driven
11617         feedback is missing or corrupt.
11618
11619 2001-07-27  DJ Delorie  <dj@redhat.com>
11620
11621         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
11622         against a constant, try to adjust the compare to have the desired
11623         constant in it so that min/max optimizations happen more often.
11624
11625 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11626
11627         * flow.c (last_loop_beg_note): New function.
11628         (redirect_edge_and_branch): Use it.
11629         (split_edge): Likewise.
11630
11631         * alias.c (loop_p): Avoid uninitialized memory access.
11632
11633         * flow.c (try_forward_edges): Avoid accessing freed memory.
11634
11635         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
11636         variable access.
11637
11638 2001-07-26  Andrew Haley  <aph@redhat.com>
11639         Joern Rennecke <amylaar@redhat.com>
11640
11641         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
11642         (SUBTARGET_CPP_ENDIAN_SPEC): New.
11643         (SUBTARGET_CPP_SPEC): New.
11644         (CPP_SPEC): Remove.
11645         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
11646         (SUBTARGET_CPP_PTR_SPEC): New.
11647         (CPP_DEFAULT_CPU_SPEC): New.
11648         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
11649         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11650         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
11651         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11652         (SUBTARGET_CPP_SPEC): Define as an empty string.
11653
11654 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11655
11656         * doc/install.texi (Configuration): Properly link the host
11657         specific instructions also when generating HTML.
11658
11659 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
11660
11661         * flow.c (redirect_edge_and_branch_force): Test
11662         target->global_live_at_start.
11663
11664 2001-07-26  Richard Henderson  <rth@redhat.com>
11665
11666         * simplify-rtx.c (avoid_constant_pool_reference): Export.
11667         * rtl.h (avoid_constant_pool_reference): Declare it.
11668         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
11669         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
11670
11671 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11672
11673         * rtl.h (cleanup_barriers): Declare.
11674         * jump.c (cleanup_barriers): New function.
11675         * toplev.c (rest_of_compilation): Call cleanup_barriers
11676         before loop optimizer and after bb_reorder.
11677
11678         * flow.c (back_edge_of_syntactic_loop_p): New.
11679         (split_edge): Use it.
11680
11681 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11682
11683         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
11684
11685 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
11686
11687         * cse.c (cse_process_notes): Replace any registers if the address
11688         remains valid.
11689
11690 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
11691
11692         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
11693         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
11694         (propagate_block): Update prototype.
11695         * flow.c (update_life_info): Simplify the CFG and
11696         recalculate the global regs which are alive when
11697         removing dead code during a global update.
11698         (propagate_block): Return non-zero if an INSN is
11699         deleted.
11700
11701 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11702
11703         * Makefile.in (LIBICONV): Define.
11704
11705 2001-07-26  Catherine Moore  <clm@redhat.com>
11706
11707         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
11708         of conditional to avoid tree checking errors.
11709
11710 2001-07-26  Kazu Hirata  <kazu@hxi.com>
11711
11712         * regmove.c (regmove_optimize): Don't replace a reg with
11713         another reg of a different mode.
11714
11715 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
11716
11717         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
11718         limit length of dependency flush list.
11719         * params.h (MAX_PENDING_LIST_LENGTH): Define.
11720         * sched-int.h  (struct deps): Add pending_flush_length field.
11721         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
11722         has 1 element in it.
11723         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
11724         (sched_analyze): After a jump, if the pending memory flush list is too
11725         large, flush the pending lists.
11726         (init_deps): Initialize pending_flush_length to 0.
11727         * doc/invoke.texi (max_pending_list_length): Document parameter.
11728
11729 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
11730
11731         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
11732         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
11733         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
11734
11735 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11736
11737         * cpphash.h (struct_lexer_state): Delete was_skipping.
11738         Move skipping here from struct cpp_reader.
11739         * cpplex.c (parse_identifier): Update.
11740         (_cpp_lex_token): Don't skip tokens in a directive.
11741         * cpplib.c (struct if_stack): Update.
11742         (start_directive, end_directive): Don't change skipping state.
11743         (_cpp_handle_directive): Update.
11744         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
11745         (do_else, do_endif): Update; only check for excess tokens if not
11746         in a skipped conditional block.
11747         (push_conditional): Update for new struct if_stack.
11748
11749 2001-07-26  Graham Stott  <grahams@redhat.com>
11750
11751         * function.c (locate_and_pad_parm): Also pad initial offset
11752         so that the total argument size also includes the padding.
11753
11754 2001-07-26  Graham Stott <grahams@redhat.com>
11755
11756         * gensupport.c (alter_output_for_insn): Correct enable checking failure
11757         change XSTR to XTMPL.
11758
11759         (process_one_cond_exec): Likewise
11760
11761 2001-07-25  Richard Henderson  <rth@redhat.com>
11762
11763         * varasm.c (assemble_variable): Create DECL_RTL before setting
11764         TREE_ASM_WRITTEN.
11765
11766 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
11767
11768         * predict.c (estimate_probability): Avoid duplicated predictions.
11769
11770         * loop.c (find_and_verify_loops): Grok multiple barriers.
11771
11772 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11773
11774         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
11775
11776         * dbxout.c: Consistently use putc instead of fputc.
11777         (print_wide_int): New function; call instead of direct fprintf.
11778         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
11779         (dbxout_type_fields, dbxout_type_method_1): Likewise.
11780         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
11781         (print_int_cst_octal): Likewise.
11782         (print_octal): Show we wrote characters.
11783         (dbxout_type): Set have_used_extensions in more places.
11784
11785 2001-07-25  Catherine Moore  <clm@redhat.com>
11786
11787         * config/v850/v850.c (v850_va_arg):  Use addr
11788         instead of valist to build incr.
11789
11790 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
11791
11792         * flow.c (delete_dead_jumptables): New function.
11793         (life_analyzis): Call it.
11794         * bb-reorder.c (skip_insns_after_block): Handle contradictory
11795         sequences.
11796
11797 2001-07-25  Richard Henderson  <rth@redhat.com>
11798
11799         * except.c (reachable_handlers): Handle a region being removed
11800         out from under a RESX.
11801
11802 2001-07-25  Richard Henderson  <rth@redhat.com>
11803
11804         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
11805         swap GE/GT if it is an fp comparison.
11806
11807 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
11808
11809         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
11810         operands.
11811
11812 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
11813
11814         * ssa.c (rename_insn_1): Do not wrap an assignment to a
11815         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
11816         glitch.
11817
11818         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
11819         throw an exception.
11820         (visit_expression): When attempting to simplify an expression,
11821         retrieve any modes for arguments before they are simplified
11822         to constants.
11823
11824 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
11825             Janis Johnson  <janis@us.ibm.com>
11826
11827         * stmt.c (expand_goto): A nonlocal goto can be a call too.
11828         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
11829         pointer parameters to match documented usage of nonlocal_goto.
11830         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
11831         parameters to their correct order.
11832         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
11833         parameters to their correct order.
11834
11835 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
11836
11837         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
11838
11839 2001-07-25  Jan Hubicka  <jh@suse.cz>
11840             Richard Henderson  <rth@redhat.com>
11841
11842         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
11843         the sequence.
11844         (make_edges): New argument update_p; populate the edge cache if set.
11845         (find_basic_blocks): Update make_edges invocation.
11846
11847 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11848
11849         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
11850
11851 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11852
11853         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
11854         -Acpu and -Amachine.h.
11855         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
11856         Corrected header to say ELF not a.out.
11857         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
11858         when given -msoft-float.
11859
11860 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11861
11862         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
11863         extra multilib parts like arm-elf.
11864         (i960-*-coff*, i960-*-rtems): Should not use collect2.
11865         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
11866         crtfini.o as extra multilib parts.
11867
11868 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11869
11870         * configure.in: Add rtems as a supported thread model.
11871         * gthr-rtems.h: Add missing entry point __gthread_active_p.
11872         * configure: Rebuilt.
11873
11874 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
11875
11876         * stor-layout.c (get_mode_alignment): make it work when
11877         BITS_PER_UNIT is not a power of two.
11878         * builtins.c (get_pointer_alignment): Likewise.
11879
11880 2001-07-24  Richard Henderson  <rth@redhat.com>
11881
11882         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
11883         the retrieved constant into the expected mode.
11884
11885 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
11886
11887         * flow.c (try_simplify_condjump): Avoid duplicated edges.
11888         (verify_flow_info): Check for duplicated edges; clarify
11889         error reporting.
11890
11891         * flow.c (block_label): Update basic_block_for_insn.
11892         (commit_edge_insertions): Call compute_bb_for_insn.
11893
11894         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
11895         returns too.
11896
11897         * flow.c (redirect_edge_and_branch,
11898         try_optimize_cfg): Use redirect_edge_succ_nodup
11899         (redirect_edge_succ_nodup): New.
11900         * basic_block.h (redirect_edge_succ_nodup): Declare.
11901
11902         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
11903         after gcse.
11904
11905 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11906
11907         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
11908         (try_crossjump_to_edge): Update commetns.
11909         (try_crossjump_bb): Likewise.
11910
11911 2001-07-24  Richard Henderson  <rth@redhat.com>
11912
11913         * combine.c (distribute_notes): Move set of need_refresh
11914         for noop_move_p down to catch all cases.
11915
11916 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
11917
11918         * recog.c (split_all_insns_noflow): New.
11919         * rtl.h (split_all_insns_noflow): Declare.
11920         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
11921         * m68hc11.c (m68hc11_reorg): Likewise.
11922         * sh.c (machine_dependent_reorg): Likewise.
11923         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
11924         call.
11925
11926 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
11927
11928         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
11929         (ashlsi3_n splitter): Likewise.
11930         (lshrsi3_n splitter): Likewise.
11931
11932         (GOTaddr2picreg): Make const SImode.
11933         (sym_label2reg): Likewise.
11934         (symGOT2reg): Likewise.
11935         (symGOTOFF2reg) Likewise.
11936
11937         (casesi_worker_0): Make unspec SImode.
11938
11939 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
11940
11941         * config/sh/sh.c (barrier_align): Check that an operand really is
11942         an insn before extracting its INSN_CODE.
11943
11944 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
11945
11946         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
11947         dangling else.
11948
11949         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
11950         for SImode to prevent overflow.
11951
11952 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11953
11954         * config/mips/irix6-libc-compat.c: New file.
11955         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
11956         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
11957         passing workaround.
11958
11959 2001-07-24  lars brinkhoff  <lars@nocrew.org>
11960
11961         * rtl.texi (REG_POINTER): Document.
11962         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
11963         QFmode, HFmode, TQFmode, QCmode, and HCmode.
11964
11965 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
11966
11967         * flow.c (delete_noop_moves): Do not confuse libcall regions.
11968
11969 2001-07-23  Richard Henderson  <rth@redhat.com>
11970
11971         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
11972
11973 2001-07-23  Kazu Hirata  <kazu@hxi.com>
11974
11975         * config/h8300/h8300-protos.h: Add a prototype for
11976         general_operand_dst_push.
11977         * config/h8300/h8300.c (general_operand_dst_push): New.
11978         * config/h8300/h8300.h (OK_FOR_T): New.
11979         (EXTRA_CONSTRAINT): Use it.
11980         * config/h8300/h8300.md (movqi_push): Remove and integrate into
11981         the existing movqi pattern.
11982         (movhi_push): Likewise.
11983
11984         * reload.c: Fix comment typos.
11985
11986 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
11987
11988         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
11989
11990 2001-07-23  H.J. Lu  (hjl@gnu.org)
11991
11992         * doc/extend.texi: Update __builtin_return_address and
11993         __builtin_frame_address.
11994
11995 2001-07-23  Richard Henderson  <rth@redhat.com>
11996
11997         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
11998         before CSE.
11999         * config/i386/i386.md: New setcc+movzbl peephole2.
12000
12001 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12002
12003         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
12004         * objc/objc-act.c: Include debug.h.
12005         (synth_module_prologue): Save and restore debug hooks too.
12006
12007 2001-07-23  lars brinkhoff  <lars@nocrew.org>
12008
12009         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
12010         and C4X_FLOAT_FORMAT.
12011         (BOOL_TYPE_SIZE): Document.
12012
12013 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
12014
12015         * unroll.c (loop_iterations): Fix miscalculation of initial
12016         giv offset.
12017
12018 2001-07-13  Andrew Haley  <aph@redhat.com>
12019
12020         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
12021         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
12022         * config/sh/sh.c (sh_can_redirect_branch): New function.
12023         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
12024         * reorg.c (steal_delay_list_from_target): Use
12025         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
12026
12027 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
12028
12029         * flow.c (try_simplify_condjump): Unlink insn chain on
12030         fallthru edge; use can_fallthru.
12031
12032 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
12033
12034         * basic-block.h (find_sub_basic_block): Declare.
12035         * flow.c (make_edges): New arguments MIN and MAX;
12036         (find_sub_basic_blocks): Revamp to use make_edges
12037         and purge_dead_edges.
12038         (find_basic_blocks): Update call of find_sub_basic_block.
12039
12040         * recog.c (split_all_insns): Always expect CFG to be consistent;
12041         call find_sub_basic_blocks in case something has changed.
12042         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
12043         has been built.
12044
12045         * basic-block.h (delete_noop_moves): Declare.
12046         * combine.c (combine_instructions): Call it.
12047         (recog_for_combine): Tolerate noop moves
12048         (distribute_notes): Force refresh when register dies at noop move.
12049         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
12050         too.
12051         (life_analysis): Update delete_noop_moves call.
12052         (set_noop_p): Move too ...
12053         * rtlanal.c (noop_move_p): ... here.
12054         * rtl.h (noop_move_p): Declare.
12055
12056         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
12057         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
12058         after combine.
12059         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
12060         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
12061
12062 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
12063
12064         * reload.c (push_reload): Fix typo in comment.
12065         (find_reloads_address): Ditto.
12066         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
12067
12068 2001-07-22  Richard Henderson  <rth@redhat.com>
12069
12070         * flow.c: Grammar check and clarify a lot of comments.
12071         (try_simplify_condjump): Rename variables to be clearer.
12072         (try_forward_edges): Skip complex and fallthru edges.
12073         Rearrange tests to avoid duplicate checks.
12074         (flow_find_cross_jump): Likewise.
12075         (outgoing_edges_match): Allow match if neither branch has
12076         probability data.  Loosen probability match to 5%.
12077         (try_crossjump_to_edge): Hoist repeated indirection into
12078         local variables.
12079         (try_crossjump_bb): Don't check complex edges.  Eliminate
12080         redundant crossjump tests.
12081         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
12082         checks before more expensive checks.
12083
12084 2001-07-22  Richard Henderson  <rth@redhat.com>
12085
12086         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
12087         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
12088         arguments.
12089
12090 2001-07-22  Richard Henderson  <rth@redhat.com>
12091
12092         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
12093         (const_sint32_operand): Likewise.
12094         * m68k.md (anon mulsi pattern): Use const_int_operand not
12095         const_sint32_operand.
12096         (umulsi3_highpart): Zero extend a constant input.
12097         (smulsi3_highpart): Don't bother checking SImode constant.
12098         (const_umulsi3_highpart): Give op3 DImode.
12099         (const_smulsi3_highpart): Likewise.
12100
12101 2001-07-22  Richard Henderson  <rth@redhat.com>
12102
12103         * flow.c (split_block): Make sure bb_note is included in the
12104         new block when splitting before a label.
12105
12106 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
12107
12108         * basic-block.h (redirect_edge_and_branch_force,
12109         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
12110         * flow.c (redirect_edge_and_branch_force,
12111         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
12112         (redirect_edge_and_branch_force): Fix copying of lifeness information.
12113         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
12114         * ifcvt.c (dead_or_predictable): Take BB as an new destination
12115         instead of label; update CFG after transformation.
12116         (find_if_case_1): Update call, use redirect_edge_and_branch_force
12117         for finishing the transformation; handle even case where ELSE
12118         does not follow THEN.
12119         (find_if_case_2): Update call of dead_or_predictable; simplify
12120         CFG update.
12121
12122         * emit-rtl.c (split_branch_probability): New global variable.
12123         (try_split): Take care to set split_branch_probability and
12124         create REG_BR_PROB note for new jump insns.
12125         * md.texi (define_split): Document new feature.
12126
12127         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
12128
12129 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12130
12131         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
12132         (asm_out_file): Remove redundant declaration.
12133         (assemble_asm): Remove old #if 0 block.
12134         (assemble_variable): Remove end of function; debug output is
12135         now handled with global_decl.  Remove old #if 0 block.  Update.
12136         Remove saved_in_section and associated no-op code.
12137         * Makefile.in (varasm.o): Correct dependencies.
12138
12139 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
12140
12141         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12142         the definition in defaults.h.
12143
12144 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
12145
12146         * jump.c: Update comments.
12147         (delete_barrier_successors, delete_unreferenced_labels,
12148         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
12149         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
12150         jump_optimize, jump_optimize_minimal): Kill.
12151         (rebuild_jump_labels): Move code from jump_optimize_1.
12152         (purge_line_number_notes): Likewise.
12153         (copy_loop_headers): Likewise.
12154         * reg-stack.c: Update comment.
12155         * stmt.c: Likewise.
12156         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
12157         JUMP_AFTER_REGSCAN): Kill.
12158         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
12159         purge_line_number_notes and copy_loop_headers.
12160
12161 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
12162            Richard Henderson  <rth@redhat.com>
12163
12164         * dbxout.c (dbxout_global_decl): New.
12165         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12166         * sdbout.c (sdbout_finish): New.
12167         (sdbout_debug_hooks): Use it, add comments.
12168         (sdbout_global_decl): Defer initialised public vars to
12169         sdbout_finish.
12170         * varasm.c (assemble_variable): Don't output debug information
12171         for file-scope variables.
12172
12173 2001-07-22  Richard Henderson  <rth@redhat.com>
12174
12175         * config/alpha/alpha.c (get_trap_mode_suffix): New.
12176         (get_round_mode_suffix): New.
12177         (print_operand): Use them for [/].  Remove support for [&'`()+].
12178         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
12179         * config/alpha/alpha.md (attr round_suffix): New.
12180         (attr trap_suffix): New.
12181         (all insns): Set them appropriately.  Use %/ instead of the
12182         myriad punctuators.
12183
12184 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12185
12186         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
12187
12188 2001-07-22  Richard Henderson  <rth@redhat.com>
12189
12190         * regrename.c (regrename_optimize): Compute nregs for each
12191         potential target register.
12192
12193 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
12194            Richard Henderson  <rth@redhat.com>
12195
12196         * dbxout.c (dbxout_global_decl): New.
12197         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12198         * sdbout.c (sdbout_finish): New.
12199         (sdbout_debug_hooks): Use it, add comments.
12200         (sdbout_global_decl): Defer initialised public vars to
12201         sdbout_finish.
12202         * varasm.c (assemble_variable): Don't output debug information
12203         for file-scope variables.
12204
12205 2001-07-21  H.J. Lu  (hjl@gnu.org)
12206
12207         * config/mips/mips.c (mips_cpu): Moved into ...
12208         (override_options): Here.
12209
12210         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
12211         mips_tune.
12212         (mips_cpu): Removed.
12213
12214 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12215
12216         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
12217         ("iorqi3"): Likewise.
12218         ("xorqi3"): Likewise.
12219         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
12220         ("*subhi3_sp): Likewise.
12221         ("*subhi3"): Likewise.
12222         ("extendhisi2"): Accept D, X and Y as source operand to avoid
12223         reload problems.
12224
12225 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
12226
12227         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
12228         * config/freebsd.h: Likewise.
12229         * config/linux.h: Likewise.
12230         * config/openbsd.h: Likewise.
12231         * config/alpha/linux-elf.h: Likewise.
12232         * config/arm/linux-elf.h: Likewise.
12233         * config/d30v/d30v.h: Likewise.
12234         * config/fr30/fr30.h: Likewise.
12235         * config/ia64/aix.h: Likewise.
12236         * config/ia64/ia64.h: Likewise.
12237         * config/mips/linux.h: Likewise.
12238         * config/pj/pj.h: Likewise.
12239         * config/rs6000/linux.h: Likewise.
12240         * config/sparc/linux.h: Likewise.
12241         * config/sparc/linux64.h: Likewise.
12242
12243 2001-07-20  Bruce Korb  <bkorb@gnu.org>
12244
12245         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
12246         because getc() and char* may disagree on signedness.
12247
12248 2001-07-20  Richard Henderson  <rth@redhat.com>
12249
12250         * doc/rtl.texi (REG_DEAD): Update for current semantics.
12251
12252         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
12253         insns to delete in the presence of cc0 in a jump insn.
12254
12255 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
12256                                 Jan Hubicka  <jh@suse.cz>
12257
12258         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
12259         of doing the change by hand.
12260
12261 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
12262
12263         * rtlanal.c (set_noop_p): Return true for noop jumps.
12264
12265         * expr.c (emit_single_push_insn): Add call to push expander.
12266         * expr.h (optab_index): Add OTI_push
12267         (push_optab): New constant.
12268         * genopinit.c (optabs): Add push_optab.
12269         * optabs.c (init_optab): Init push optab.
12270         * md.texi (push??1): Document
12271
12272 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12273
12274         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
12275         expand to emit the pattern; put a REG_INC note for push/pop
12276         instructions.
12277         ("movdf", "movdf_internal"): Likewise.
12278         ("movsi", "movsi_internal"): Likewise.
12279         ("movsf", "movsf_internal"): Likewise.
12280         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
12281
12282 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12283
12284         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
12285         gen_highpart.
12286
12287 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
12288
12289         * params.def: Change default max inline insns to 100.
12290
12291 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
12292
12293         * combine.c (combine_simplify_rtx): Generate a new shift operation
12294         when simplifying the first operand of a (neg (ashift)) expression.
12295
12296 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12297
12298         * regclass.c (N_REG_INTS): Use only 32 bits per element.
12299
12300 2001-07-20  Kelley Cook  <kelley.cook@home.com>
12301
12302         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
12303         information.   Move rest into ...
12304         (*-*-solaris): ... here.  Eliminate redundant information and
12305         reword necessary packages section.  Delete 4.x assembler bug info.
12306         (sparc-sun-*): Merge into ...
12307         (sparc-sun-sunos*): here.
12308
12309 2001-07-20  Catherine Moore  <clm@redhat.com>
12310
12311         * config/v850/v850.md (casesi): Generate LABEL_REF
12312         with Pmode.
12313
12314 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
12315
12316         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
12317         * i386.c (ix86_zero_extend_to_Pmode): Make global.
12318         * i386.md (strclrsi expander): Use it.
12319
12320 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12321
12322         * integrate.c (copy_insn_list): handle
12323         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
12324         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
12325         identically as to CODE_LABEL.
12326
12327         * fold-const (fold): Convert A/B/C to A/(B*C) and
12328         A/(B/C) to (A/B)*C
12329
12330         * except.c (connect_post_landing_pads): Delete the RESX insns.
12331
12332 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
12333
12334         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
12335
12336         * config/mips/mips.md (nmadd/nmsub): Use macro.
12337
12338 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
12339
12340         * cppinit.c (remove_dup_dir): Make static.
12341         (remove_dup_dirs): Make static. Only warn about preempting a
12342         system directory with a non-system directory.
12343
12344 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12345
12346         * ifcvt.c (noce_try_store_flag_constants): Correct order
12347         of parameters to trunc_int_for_mode.
12348
12349 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
12350
12351         * reorg.c (fill_simple_delay_slots): If an instruction might throw
12352         an exception that will be caught within this function, do not fill
12353         its delay slot with any subsequent instruction.
12354
12355 2001-07-19  Steve Ellcey <sje@cup.hp.com>
12356
12357         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
12358         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
12359         pointer extension instruction.
12360         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
12361         * simplify-rtx.c (simplify_unary_operation) Likewise.
12362         * explow.c (convert_memory_address) Check value of
12363         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
12364         less than zero.
12365         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
12366         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
12367         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
12368         Add Multilib Support.
12369         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
12370         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
12371         Add Multilib Support.
12372         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
12373         support.
12374         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
12375         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
12376         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
12377
12378 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
12379
12380         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
12381         old and new operands in `<', `3' and `b'.
12382
12383 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12384
12385         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
12386         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
12387         (toplev.o): Don't depend on xcoffout.h.
12388         * c-decl.c: Include debug.h
12389         (duplicate_decls): Use debug hook.
12390         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
12391         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12392         (dbxout_types): Remove.
12393         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
12394         * debug.c (do_nothing_debug_hooks): Update.
12395         (debug_true_tree, debug_nothing_rtx): New.
12396         * debug.h (struct rtx_def): New.
12397         (struct gcc_debug_hooks): New hooks ignore_block,
12398         outlining_inline_function and label.
12399         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
12400         dwarf2out_frame_finish): New.
12401         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
12402         Make static, update prototype.
12403         (dwarf2_debug_hooks): Update.
12404         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
12405         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
12406         * dwarfout.c (dwarf_debug_hooks): Update.
12407         * emit-rtl.c: Include debug.h.
12408         (remove_unnecessary_notes): Use debug hook.
12409         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
12410         (final_scan_insn): Use debug hook.
12411         * integrate.c (output_inline_function): Use debug hook.
12412         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
12413         (sdb_debug_hooks): Update.
12414         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
12415         * toplev.c: Don't include xcoffout.h.
12416         (note_outlining_of_inline_function, debug_ignore_block): Remove.
12417         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
12418         Remove.
12419         * tree.h (dwarf2out_do_frame): Remove.
12420
12421 2001-07-19  Catherine Moore  <clm@cygnus.com>
12422
12423         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
12424
12425 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12426
12427         * reload1.c (eliminate_regs_in_insn): When updating a set
12428         to the frame pointer to the hardware frame pointer, perform
12429         the update always not just when REPLACE is set.
12430
12431         * reload1.c (choose_reload_regs): Don't inherit a reload
12432         that crosses multiple registers if registers past the first
12433         don't fit in the desired class.
12434
12435         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
12436         when negating constants.
12437
12438 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
12439
12440         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
12441         * doc/tree.texi: Ditto.
12442
12443 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
12444             Jakub Jelinek  <jakub@redhat.com>
12445
12446         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
12447         (extract_cie_info): Handle "eh" augmentation properly,
12448         remember eh_ptr.
12449         (struct frame_state, __frame_state_for): New.
12450
12451 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12452
12453         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
12454         HANDLE_SYSV_PRAGMA): Define.
12455         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
12456         previous args.
12457         (copy_object): Caller changed.
12458
12459 2001-07-19  Andreas Schwab  <schwab@suse.de>
12460
12461         * configure.in (assembler dwarf2 debug_line support): Define nop
12462         insn for m68k.
12463         * configure: Regenerated.
12464
12465 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12466
12467         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
12468         dwarfout.h.
12469         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
12470         to conditionally compiled block.
12471         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12472         * dbxout.h (dbxout_function): Remove.
12473         * debug.c (do_nothing_debug_hooks): Update.
12474         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
12475         global_decl, deferred_inline_function.
12476         * dwarf2out.c (dwarf2_debug_hooks): Update.
12477         (dwarf2out_global_decl): New.
12478         * dwarfout.c: Don't include dwarfout.h.
12479         (dwarfout_global_decl, dwarfout_function_decl,
12480         dwarfout_deferred_inline_function): New.
12481         (dwarf_debug_hooks): Update.
12482         * dwarfout.h: Remove.
12483         * final.c: Don't include dwarfout.h.
12484         * sdbout.c (sdbout_global_decl): New.
12485         (sdbout_debug_hooks): Update.
12486         * toplev.c: Don't include dwarfout.h.
12487         (check_global_declarations, rest_of_compilation): Use new debug hooks.
12488         (note_deferral_of_defined_inline_function): Remove.
12489         * toplev.h (note_deferral_of_defined_inline_function): Remove.
12490         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
12491         * ch/lex.c: Don't include dwarfout.h.
12492         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
12493         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
12494         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
12495         * cp/optimize.c: Include debug.h.
12496         (maybe_clone_body): Use debug hook.
12497         * cp/semantics.c: Include debug.h.
12498         (expand_body): Use debug hook.
12499         * po/POTFILES.in: Remove dwarfout.h.
12500
12501 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12502
12503         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
12504         * c-parse.in (yyerror, _yylex): Similarly.
12505         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
12506         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
12507         Update comments.
12508         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
12509         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
12510
12511 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
12512
12513         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
12514         in-class declaration at -g1.  Fixes c++/2814.
12515
12516 2001-07-18  Richard Henderson  <rth@redhat.com>
12517
12518         * doc/md.texi (reload_in/out): Document restrictions in predicates
12519         and constraints for these patterns.  Document empty string matching
12520         ALL_REGS.
12521
12522 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12523
12524         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
12525
12526 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12527
12528         * cse.c: Undo my previous patch.
12529
12530 2001-07-18  Tom Tromey  <tromey@redhat.com>
12531
12532         For PR java/2812:
12533         * configure: Rebuilt.
12534         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
12535         instead.
12536         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
12537
12538 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
12539                                 Jan Hubicka  <jh@suse.cz>
12540
12541         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
12542         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
12543         * jump.c (mark_jump_label): Do not forward branches.
12544
12545 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
12546
12547         * cse.c (delete_trivially_dead_insns): Delete the libcall block
12548         when return value is unused.
12549
12550 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12551
12552         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
12553
12554 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
12555
12556         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
12557         on error.  We can't blindly return the result of
12558         pthread_mutex_trylock because it returns a positive number on
12559         error, while we must return -1 on error.
12560         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
12561         fixes.
12562         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
12563
12564 2001-07-18  Andreas Jaeger  <aj@suse.de>
12565
12566         * integrate.c (output_inline_function): Correct type of debug_hooks.
12567
12568 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
12569
12570         * combine.c (combine_simplify_rtx): DIV can be treated
12571         associatively for floats if unsafe math optimisations are enabled.
12572
12573 2001-07-17  Richard Henderson  <rth@redhat.com>
12574
12575         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
12576
12577 2001-07-17  Richard Henderson  <rth@redhat.com>
12578
12579         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
12580         don't force the function address into a register.
12581         (expand_call, emit_library_call_value_1): Update callers.
12582         * builtins.c (expand_builtin_apply): Likewise.
12583         * expr.h (prepare_call_address): Update decl.
12584
12585 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
12586
12587         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
12588         config directory.
12589         * config/i386/chorus.h: Move up.
12590         * config/sparc/chorus.h: Likewise.
12591         * config/rs6000/chorus.h: Likewise.
12592         * config/chorus.h: Moved here.
12593
12594 2001-07-17  Andreas Schwab  <schwab@suse.de>
12595
12596         * configure.in  (assembler eh_frame optimization): Handle big
12597         endian.
12598         * configure: Regenerated.
12599
12600 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
12601
12602         * expr.c (epxand_expr): Convert divisions into multiplications by
12603         reciprocals if -ffast-math.
12604
12605 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
12606
12607         * dbxout.c (dbxout_really_begin_function): Rename to
12608         dbxout_begin_function.
12609         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12610         (dbxout_begin_function): Remove.
12611         (dbxout_function): Update.
12612         (dbxout_source_line): Update prototype.
12613         * dbxout.h (dbxout_begin_function): Remove.
12614         * debug.c (do_nothing_debug_hooks): Update.
12615         (debug_nothing_tree): Update.
12616         (debug_nothing_charstar_rtx): Remove.
12617         * debug.h (union tree_node): Declare.
12618         (struct rtx_def): Remove.
12619         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
12620         begin_function.  Change source_line prototype.
12621         (debug_nothing_tree): New.
12622         (debug_nothing_charstar_rtx): Delete.
12623         (dwarf2out_begin_prologue): Moved from ...
12624         * tree.h: ... here.
12625         * dwarf2out.c (dwarf2_debug_hooks): Update.
12626         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
12627         debug info, call dwarf2out_source_line.
12628         (dwarf2out_souce_line): Update prototype.
12629         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
12630         Change prototype, make static.
12631         (dwarfout_source_line): Update prototype.
12632         (dwarf_debug_hooks): Update.
12633         * dwarfout.h (dwarfout_begin_function): Remove.
12634         * final.c (final_start_function, final_scan_insn): Use appropriate
12635         debug hooks, update to use notice_source_line.
12636         (output_source_line): Rename notice_source_line.  Don't call the
12637         source_line debug hook.
12638         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
12639         make static, update prototype.
12640         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
12641         prototype.
12642         (sdbout_end_prologue): New.
12643         (sdbout_source_line): Update prototype.
12644         (sdbout_debug_hooks): Update.
12645         (sdbout_symbol): Remove unused var.
12646         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
12647         Delete.
12648         * varasm.c: Include debug.h.
12649         (assemble_start_function): Use begin_function debug_hook.
12650         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12651         update with prototype.
12652         (xcoffout_source_line): Update prototype.
12653         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12654         update prototype.
12655         (xcoffout_source_line): Update prototype.
12656
12657 2001-07-17  Richard Henderson  <rth@redhat.com>
12658
12659         * c-typeck.c (build_binary_op): Do not shorten unsigned
12660         right shift after sign extension.
12661
12662 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
12663
12664         * combine.c (combine_simplify_rtx): Attempt to simplify
12665         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
12666
12667         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
12668         (simplify_binary_operation, simplify_unary_operation,
12669          simplify_relational_operation): Use it.
12670
12671         * combine.c (combine_simplify_rtx): Don't do associative law
12672         on divisions; allow associative law on floats.
12673
12674 2001-07-17  H.J. Lu <hjl@gnu.org>
12675             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12676
12677         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
12678         ASM_OUTPUT_WEAK_ALIAS are defined.
12679         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
12680         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
12681         Moved ...
12682         * config/mips/iris5.h: ... here.
12683         (HANDLE_SYSV_PRAGMA): Defined as 1.
12684         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
12685         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
12686         symbol.
12687
12688 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
12689
12690         * c-parse.in (all_prefix_attributes): New variable.
12691         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
12692         (maybe_resetattrs): New production.
12693         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
12694         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
12695         notype_initdcl, nested_function, notype_nested_function,
12696         component_decl, components, components_notype,
12697         component_declarator, component_notype_declarator,
12698         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
12699         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
12700         after a comma being applied to more than one declarator.
12701         * doc/extend.texi (Attribute Syntax): Update.  Remove
12702         documentation of bugs that are no longer present.
12703
12704 2001-07-13  Eric Christopher  <echristo@redhat.com>
12705
12706         * config/mips/mips.h: Change TUNE_MIPS* options to use
12707         mips_tune.
12708         (EXTRA_SPECS): Add cc1_cpu_spec.
12709         * config/mips/mips.md (muldf3): Fix typo.
12710
12711 2001-07-16  Richard Henderson  <rth@redhat.com>
12712
12713         * config/m68k/m68k.c: Include expr.h and reload.h.
12714         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
12715         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
12716
12717 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
12718             Richard Henderson  <rth@redhat.com>
12719
12720         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
12721         (insn_live_p): Fix fall off end of function.
12722         (dead_libcall_p): Remove COUNTS argument; update callers.
12723         (delete_trivially_dead_insns): Remove unused variables.
12724
12725 2001-07-17  Andreas Jaeger  <aj@suse.de>
12726
12727         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
12728         x86-64 pic support.
12729
12730         * lcm.c (optimize_mode_switching): Avoid warning for unused
12731         variable if !NORMAL_MODE.
12732
12733         * flow.c (try_crossjump_to_edge): Remove unused variable.
12734
12735 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12736
12737         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
12738         atexit declaration in stdlib.h.
12739
12740 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
12741
12742         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
12743
12744 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12745
12746         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
12747         * except.c (finish_eh_generation): Update call of cleanup_cfg;
12748         do rebuild_jump_labels instead of jump_optimize
12749         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
12750         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
12751         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
12752
12753         * flow.c: Include timevar.h
12754         (find_basic_block): Push/pop timevar;
12755         (cleanup_cfg): Likewise.
12756         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
12757         * Makefile: Add dependencies on timevar.h
12758
12759         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
12760         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
12761
12762         * rtl.h (delete_trivially_dead_insns): Add new parameter.
12763         * toplev.c (rest_of_compilation): Update calls.
12764         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
12765         (delete_trivially_dead_insns): ... here; accept new argument
12766         preserve_basic_blocks; preserve basic blocks if set.
12767
12768         * reg-stack.c (stack_regs_mentioned): Return 0 if
12769         stack_regs_mentioned_data is not initialized.
12770         (reg_to_stack): Make stack_regs_mentioned survive after the
12771         reg-stack is completted; do not call cleanup_cfg.
12772         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
12773         make cleanup_cfg after bb-reorder to output to debug file.
12774
12775 2001-07-16  Richard Henderson  <rth@redhat.com>
12776
12777         * regclass.c (init_reg_sets): Use only 32 bits per initializer
12778         from int_reg_class_contents.
12779
12780 2001-07-16  Richard Henderson  <rth@redhat.com>
12781
12782         * hard-reg-set.h (regs_invalidated_by_call): Declare.
12783         * regclass.c (regs_invalidated_by_call): Move from cse.c.
12784         (init_reg_sets_1): Move initialization from cse_main.
12785         * cse.c (regs_invalidated_by_call): Move to regclass.c.
12786         (cse_main): Move its initialization also.
12787         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
12788         * flow.c (propagate_one_insn): Likewise.
12789         * gcse.c (compute_hash_table): Likewise.
12790         (compute_kill_rd, compute_store_table): Likewise.
12791         * sched-deps.c (sched_analyze_1): Likewise.
12792
12793 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
12794
12795         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
12796         gen_rtx_SET.
12797
12798 2001-07-16  Steve Ellcey <sje@cup.hp.com>
12799
12800         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
12801         in if statement so we don't access undefined memory.
12802
12803 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
12804
12805         * gcse.c: Update comment at top.
12806         Update comment on mem handling.
12807         mem_last_set, mem_first_set, mem_set_in_block: gone.
12808         Declaration of reg_set_info: gone.
12809         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
12810         pointless with load_killed_in_block_p (they are *more*
12811         conservative then it, not less, and less accurate).
12812         (oprs_not_set_p): Ditto.
12813         (alloc_gcse_mem): Don't allocate mem_set_in_block
12814         (free_gcse_mem): Don't free it, either.
12815         (record_last_mem_set_info): Update comment in front, remove
12816         mem_*set_* stuff. Note the reason we don't handle stores directly
12817         here.
12818         (compute_hash_table): Update comments to reflect reality. Remove
12819         mem_*set_* references.
12820         (reset_opr_set_tables): Remove mem_*set_* references.
12821         (mark_call): Ditto.
12822         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
12823         (mark_clobber): Ditto (on both parts, we double set here too).
12824         (expr_killed_p): Remove mem_set_in_block test.
12825         (compute_transp): Remove mem_set_in_block test.
12826
12827         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
12828         of edge, and removal of phi alternative to dump file.
12829         (ssa_ccp_substitute_constants): Add note about register now being
12830         constant, and which uses were replaced in what insns to dump file.
12831
12832 2001-07-16  Andreas Jaeger  <aj@suse.de>
12833
12834         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
12835         variables of type HOST_WIDEST_INT.
12836
12837         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
12838         (__bb_exit_func): Correct type of count_max to avoid overflow.
12839         (num_digits): Handle long long argument.
12840
12841         * combine.c (gen_lowpart_for_combine): Remove unused variable.
12842
12843 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12844
12845         * output.h (sdb_begin_function_line): Restore as an extern
12846         variable.
12847         * sdbout.c (sdb_begin_function_line): Make extern.
12848
12849 2001-07-15  Richard Henderson  <rth@redhat.com>
12850
12851         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
12852         * genrecog.c (maybe_both_true_mode): New.
12853         (maybe_both_true_2): Use it.
12854         (write_switch): Don't put Pmode in a switch.
12855         * rtl.c (mode arrays): Don't explicitly size them.
12856
12857 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12858
12859         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
12860         handling; move unconditional splitting before mode switching.
12861
12862         * i386.md (type): Add fistp type.
12863         (i387, length_attr, scheduling definitions): Handle this type.
12864         (fix_trunc?f?i2): Revamp to use mode switching.
12865         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
12866         * i386.h (fp_cw_mode): New enum
12867         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
12868         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
12869
12870 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12871
12872         * Makefile.in (integrate.o): Add debug.h.
12873         * integrate.c (debug.h): Add.
12874         (output_inline_function): Save, reset, and restore debug_hooks.
12875
12876 2001-07-15  Richard Henderson  <rth@redhat.com>
12877
12878         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
12879         instead of COMPARE for the EQUIV expression.
12880
12881 2001-07-15  Richard Henderson  <rth@redhat.com>
12882
12883         * flow.c (redirect_edge_and_branch_force): Initialize
12884         global_live_at_start and global_live_at_end.
12885         (allocate_bb_life_data): Export.
12886         * basic-block.h (allocate_bb_life_data): Declare.
12887         * toplev.c (rest_of_compilation): Call it.
12888
12889 2001-07-15  Richard Henderson  <rth@redhat.com>
12890
12891         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
12892         (alpha_tablejump_best_label): New.
12893         * config/alpha/alpha-protos.h: Declare them.
12894         * config/alpha/alpha.md: Use braced strings for code blocks.
12895         (tablejump_osf): Break out add with r29.
12896         (tablejump_osf_internal): Remove.
12897         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
12898         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
12899
12900 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12901
12902         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
12903         of the movable.
12904
12905         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
12906
12907         * i386-protos.h (ix86_split_fp_branch): Update prototype.
12908         (ix86_fp_jump_nontrivial_p): New.
12909         * i386.md (fp_jcc_?): Update call of split_fp_branch;
12910         use ix86_fp_jump_nontrivial_p.
12911         * i386.c (ix86_fp_jump_nontrivial_p): New.
12912         (ix86_split_fp_branch): Accept code instead of rtx.
12913         (ix86_expand_compare): Expand comparison early in case
12914         doing so is resonably cheap.
12915
12916 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
12917
12918         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
12919         not 'machine'.
12920         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
12921         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
12922
12923 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
12924
12925         * dbxout.c (dbxout_source_line): Make static, update prototype.
12926         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
12927         (dbxout_init, dbxout_finish, dbxout_source_line,
12928         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
12929         * dbxout.h (dbxout_source_line): Delete.
12930         * debug.c (debug_nothing_file, debug_nothing_file_int,
12931         debug_nothing_file_charstar_rtx): New.
12932         (do_nothing_debug_hooks): Update.
12933         (debug_nothing_void, debug_nothing_charstar_rtx,
12934         dwarf2out_end_epilogue): New.
12935         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12936         * debug.h (struct rtx_def): Declare.
12937         (gcc_debug_hooks): New hooks source_line, end_epilogue
12938         and end_function.
12939         (debug_nothing_void, debug_nothing_charstar_rtx,
12940         dwarf2out_end_epilogue): New.
12941         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12942         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
12943         (dwarf2_debug_hooks): Update.
12944         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
12945         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
12946         * dwarf2out.h (dwarf2out_source_line): Remove.
12947         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
12948         Make static, update prototype.
12949         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
12950         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
12951         (dwarf_debug_hooks): Update.
12952         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
12953         dwarfout_end_function): Remove.
12954         * final.c (profile_function): Use debug hooks for ending functions
12955         and epilogues.
12956         (output_source_line, final_end_function): Update prototype,
12957         use debug hooks.
12958         (final_start_function, final_scan_insn): Update.
12959         * output.h (sdb_begin_function_line): Remove.
12960         (final_end_function): Update prototype.
12961         * sdbout.c (sdb_begin_function_line): Make static.
12962         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
12963         (sdbout_source_line): New.
12964         (sdbout_end_epilogue, sdbout_end_function): Make static, update
12965         prototypes.
12966         (sdb_debug_hooks): Update.
12967         (sdbout_init, sdbout_source_line,
12968         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
12969         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
12970         * toplev.c (compile_file, rest_of_compilation): Update.
12971         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
12972         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
12973         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
12974         Update for prototype changes.
12975         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
12976         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
12977
12978 2001-07-15  Richard Henderson  <rth@redhat.com>
12979
12980         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
12981         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
12982         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
12983         * config/alpha/alpha.c: Likewise.
12984         * config/alpha/alpha.md: Likewise.
12985         * config/alpha/alpha32.h: Likewise.
12986         * config/alpha/vms.h: Likewise.
12987         (OPEN_VMS): Remove.
12988
12989 2001-07-14  Richard Henderson  <rth@redhat.com>
12990
12991         * config/alpha/alpha.md: Use define_constants for unspec values.
12992         Substitute throughout.
12993
12994 2001-07-14  Tim Josling  <tej@melbpc.org.au>
12995
12996         * tree.def (EXPON_EXPR) remove. Never supported anyway.
12997
12998 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12999
13000         * pa.md: Remove unused constraints from define_split's.
13001
13002 2001-04-14  Richard Henderson  <rth@redhat.com>
13003
13004         * ifcvt.c (find_cond_trap): Test for exit block.
13005
13006 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
13007
13008         Re-install recently reverted patch.
13009         * emit-rtl.c (try_split): Update mark_jump_label call.
13010         * flow.c (find_sub_basic_blocks): Likewise.
13011         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13012         jump_back_p): Kill.
13013         (mark_all_labels): Kill second parameter.
13014         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13015         (rebuild_jump_labels, jump_optimize_minimal): Update call
13016         of jump_optimize_1.
13017         (jump_optimize_1): Kill crossjumping code.
13018         (mark_jump_label): Kill cross_jump parameter.
13019         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13020         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13021         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13022          splitting.
13023         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13024         DFI_bpro.
13025         (dump_file_info): Likewise.
13026         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13027         reorganize passes to do reg-stack first, bb-reorder second.
13028         * invoke.texi (-d letters doc): Remove the jump2 pass.
13029
13030 2001-07-14  Richard Henderson  <rth@redhat.com>
13031
13032         * ifcvt.c (find_cond_trap): New.
13033         (find_if_header): Call it.
13034         (merge_if_block): Relax existing jump sanity check.
13035         * jump.c (jump_optimize_1): Remove conditional trap handling.
13036
13037 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
13038
13039         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
13040         millicode.
13041         (insn_refs_are_delayed): Correct comment.
13042         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
13043         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
13044         instead of r31.  Make associated insn !TARGET_64BIT, and
13045         provide an additional 64-bit insn that clobbers r2.
13046         (divsi3): Likewise.
13047         (udivsi3): Likewise.
13048         (modsi3): Likewise.
13049         (umodsi3): Likewise.
13050
13051 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
13052
13053         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
13054
13055         * flow.c (redirect_edge_and_branch_force, split_edge,
13056         try_crossjump_to_edge): Use set_block_for_new_insns.
13057         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
13058
13059 2001-07-13  H.J. Lu  (hjl@gnu.org)
13060
13061         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
13062         the correct patch.
13063
13064 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
13065
13066         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
13067
13068 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
13069
13070         * c-common.c (decl_attributes): Take a pointer to the node to
13071         which attributes are to be attached, and a flags argument.
13072         * c-common.h (enum attribute_flags): New.
13073         (decl_attributes): Update prototype.
13074         * c-decl.c (start_decl, push_parm_decl, finish_struct,
13075         finish_enum, start_function): Update calls to decl_attributes.
13076         * c-parse.in (component_declarator, component_notype_declarator,
13077         label): Update calls to decl_attributes.
13078
13079 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
13080
13081         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
13082         * config/avr/avr.c (legitimate_address_p): Return value changed
13083         from letter to register classes. For better debugging.
13084
13085 2001-07-13  Kazu Hirata  <kazu@hxi.com>
13086
13087         * jump.c (reversed_comparison_code_parts): Fix comment typos.
13088
13089 2001-07-13  H.J. Lu  (hjl@gnu.org)
13090
13091         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
13092
13093 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
13094
13095         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
13096         correctly for shared configurations.
13097         * config/t-libgcc-pic:  New.
13098         * config/{i386,m68k,sparc}/t-openbsd:  New.
13099         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
13100         Support -shared.  Support debugging libraries with -g.
13101         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
13102         frame information does not emit pointer diffs.
13103         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
13104         emit pointer diffs.
13105
13106 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
13107
13108         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
13109
13110 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
13111
13112         * combine.c (try_combine): Ensure const_int pow2 is positive.
13113
13114 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
13115
13116         * config.gcc: Add configuration for s/390.
13117         * config/s390/s390.c: New. Subroutines for code generation.
13118         * config/s390/s390.h: New. Definitions for s/390.
13119         * config/s390/s390-protos.h: New. Prototypes.
13120         * config/s390/linux.h: New. Definitions for linux for s/390.
13121         * config/s390/linux64.h: New. Definitions for linux for zSeries.
13122         * config/s390/t-linux: New. Makefile fragment.
13123         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
13124         * config/s390/fixdfdi.h: New. Fix L_fix*di.
13125
13126 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
13127
13128         * emit-rtl.c (try_split): Update mark_jump_label call.
13129         * flow.c (find_sub_basic_blocks): Likewise.
13130         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13131         jump_back_p): Kill.
13132         (mark_all_labels): Kill second parameter.
13133         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13134         (rebuild_jump_labels, jump_optimize_minimal): Update call
13135         of jump_optimize_1.
13136         (jump_optimize_1): Kill crossjumping code.
13137         (mark_jump_label): Kill cross_jump parameter.
13138         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13139         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13140         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13141          splitting.
13142         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13143         DFI_bpro.
13144         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13145         reorganize passes to do reg-stack first, bb-reorder second.
13146         * invoke.texi (-d letters doc): Remove the jump2 pass.
13147
13148 2001-07-12  Steve Ellcey <sje@cup.hp.com>
13149
13150         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
13151
13152 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13153
13154         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
13155         basic blocks.
13156         (verify_flow_info): Make diagnostics prettier.
13157
13158 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
13159
13160         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
13161
13162         * flow.c (outgoing_edges_match): Return early if condition reversal
13163         failed.
13164
13165 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
13166
13167         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
13168         (mips_move_2words): When splitting a move into two instructions,
13169         prefix the second address operand with '%D'.
13170
13171 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13172
13173         * Makefile.in (final.o): Depend on debug.h.
13174         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
13175         (dbx_debug_hooks): Add new hooks.
13176         (xcoff_debug_hooks): New.
13177         * debug.c (debug_nothing_file_int_int): New.
13178         (do_nothing_debug_hooks): Update.
13179         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
13180         (debug_nothing_file_int_int): New.
13181         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
13182         static, update prototype.
13183         (dwarf2_debug_hooks): Update.
13184         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
13185         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
13186         static, update prototype.
13187         (dwarf_debug_hooks): Update.
13188         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
13189         * final.c: Include debug.h.
13190         (final_scan_insn): Use debug hooks when beginning and ending blocks.
13191         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
13192         static, update prototype.
13193         (sdb_debug_hooks): Update.
13194         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
13195         * toplev.c: Distinguish between xcoff and dbx.
13196
13197         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
13198         Call all debug hooks, not just dwarf ones.
13199
13200 2001-07-11  Timothy Wall  <twall@redhat.com>
13201
13202         * config.gcc: Add configuration for AIX5/IA64.
13203         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
13204         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
13205         support prefix/suffix code.
13206         * config/ia64/t-aix: New.  Makefile fragment.
13207         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
13208
13209 2001-07-11  Kazu Hirata  <kazu@hxi.com>
13210
13211         * recog.c (validate_change): Fix a comment typo.
13212
13213 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13214
13215         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
13216         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
13217         hooks directly.
13218         * dbxout.c (dbx_debug_hooks): Add new hooks.
13219         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
13220         make static.
13221         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
13222         make static.
13223         * dbxout.h (dbxout_start_new_source_file,
13224         dbxout_resume_previous_source_file): Delete.
13225         * debug.c (do_nothing_debug_hooks): Add new hooks.
13226         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13227         (debug_nothing_int_charstar, debug_nothing_int): New.
13228         * debug.h (gcc_debug_hooks): New hooks define, undef,
13229         start_source_file and end_source_file.
13230         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13231         (debug_nothing_int_charstar, debug_nothing_int): New.
13232         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
13233         the conditionally compiled section.
13234         (dwarf2out_start_source_file, dwarf2out_end_source_file,
13235         dwarf2out_define, dwarf2out_undef): Make static.
13236         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
13237         dwarf2out_define, dwarf2out_undef): Remove.
13238         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
13239         (dwarfout_start_source_file, dwarfout_end_source_file,
13240         dwarfout_define, dwarfout_undef): Make static.
13241         (dwarfout_start_source_file_check,
13242         dwarfout_end_source_file_check): New.
13243         (dwarfout_define, dwarfout_finish): Update.
13244         * dwarfout.h (dwarfout_start_new_source_file,
13245         dwarfout_resume_previous_source_file, dwarfout_define,
13246         dwarfout_undef): Remove.
13247         * sdbout.c (sdb_debug_hooks): Add new hooks.
13248         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
13249         make static.
13250         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
13251         make static, take an arg.
13252         * sdbout.h (sdbout_start_new_source_file,
13253         sdbout_resume_previous_source_file): Delete.
13254         * toplev.c (debug_start_source_file, debug_end_source_file,
13255         debug_define, debug_undef): Delete.
13256         * toplev.h (debug_start_source_file, debug_end_source_file,
13257         debug_define, debug_undef): Delete.
13258
13259         * java/jcf-parse.c: Include debug.h.
13260         (parse_class_file): Update to use debug hooks directly.
13261         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
13262
13263 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13264
13265         * alias.c (set_mem_alias_set): New function.
13266         * rtl.h (set_mem_alias_set): Declare it.
13267         * builtins.c (expand_builtin_return_addr): Call it instead of
13268         using MEM_ALIAS_SET accessor.
13269         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
13270         (get_memory_rtx, expand_builtin_va_arg): Likewise.
13271         (expand_builtin_va_copy):Likewise.
13272         * caller-save.c (setup_save_areas): Likewise.
13273         * calls.c (compute_argument_addresses): Likewise.
13274         * explow.c (set_mem_attributes): Likewise.
13275         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
13276         (expand_assignment, store_constructor_field, store_field): Likewise.
13277         (expand_expr_unaligned): Likewise.
13278         * function.c (assign_stack_temp_for_type): Likewise.
13279         (put_reg_into_stack, gen_mem_addressof): Likewise.
13280         * ifcvt.c (noce_try_cmove_arith): Likewise.
13281         * reload1.c (reload, alter_reg): Likewise.
13282         * config/alpha/alpha.c (get_aligned_mem): Likewise.
13283         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
13284         (alpha_expand_unaligned_store): Likewise
13285         (alpha_expand_unaligned_load_words): Likewise.
13286         (alpha_expand_unaligned_store_words): Likewise.
13287         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
13288         (alpha_expand_epilogue): Likewise.
13289         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
13290         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
13291         * config/i386/i386.c (legitimize_pic_address): Likewise.
13292         * config/i960/i960.c (setup_incoming_varargs): Likewise.
13293         * config/ia64/ia64.c (spill_restore_mem): Likewise.
13294         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
13295         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
13296         * config/mips/mips.c (mips_va_arg): Likewise.
13297         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
13298         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
13299         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
13300         (setup_incoming_varargs, rs6000_va_arg): Likewise.
13301         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
13302         (rs6000_emit_epilogue): Likewise.
13303         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
13304         * config/sparc/sparc.c (sparc_va_arg): Likewise.
13305         * config/v850/v850.c (v850_va_arg): Likewise.
13306
13307 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
13308
13309         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
13310         when fallthru edge is present.
13311         (mege_blocks): Handle case where creation of jump insn
13312         is required.
13313
13314         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
13315         CLEANUP_POST_REGSTACK): New constants.
13316         * except.c (finish_eh_generation): Update call of cleanup_cfg,
13317         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
13318         * output.h (cleanup_cfg): Update prototype.
13319         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
13320         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
13321         cleanup_cfg call; kill missleading comment.
13322         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
13323         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
13324         parameter; control optimizations performed using it.
13325         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
13326         try_crossjump_bb): New functions.
13327
13328 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13329
13330         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
13331         extern.
13332         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
13333         pa_output_function_prologue.
13334         * pa-protos.h (pa_output_function_prologue): New prototype.
13335
13336 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13337
13338         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
13339         and low to get correct sign extension in low+high test.
13340
13341 2001-07-11  Janis Johnson <janis@us.ibm.com>
13342
13343         * gcov.c (arcdata): Use gcov_type to fix branch percentage
13344         for large hit count.
13345
13346         * profile.c (branch_prob): Fix .bbg info for computed gotos
13347         and C++ EH code.
13348
13349 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
13350
13351         * stmt.c (parse_output_constraint): New function, split out
13352         from ...
13353         (expand_asm_operands): ... here.  Use parse_output_constraint.
13354         * tree.h (parse_output_constraint): Declare it.
13355
13356 2001-07-11  Richard Henderson  <rth@redhat.com>
13357
13358         * bitmap.c: Comment some functions; fiddle whitespace.
13359         (bitmap_free): Don't export.
13360         (bitmap_element_allocate): Use memset.
13361         * bitmap.h (bitmap_free): Don't declare.
13362
13363 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
13364
13365         * gcse.c, lcm.c, sched-deps.c:
13366         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
13367
13368         * flow.c (flow_loops_find): Free dom if we found no loops, since
13369         we aren't going to save it.
13370
13371         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
13372         done.
13373
13374 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
13375
13376         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
13377
13378 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13379
13380         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
13381         #ifndef DWARF2_DEBUGGING_INFO.
13382
13383 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13384
13385         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
13386
13387 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13388
13389         * config/mips/mips.c (gen_int_relational): Tell the caller not to
13390         reverse a branch if a NE comparison is implemented with GTU.
13391
13392 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13393             H.J. Lu  <hjl@gnu.org>
13394
13395         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
13396         constant addresses.
13397         (call_internal2): Likewise.
13398         (call_value_internal1): Likewise.
13399         (call_value_internal2): Likewise.
13400         (call_value_multiple_internal1): Likewise.
13401         (call_value_multiple_internal2): Likewise.
13402
13403 2001-07-10  Kazu Hirata  <kazu@hxi.com>
13404
13405         * calls.c (emit_library_call_value_1): Fix a comment typo.
13406         * dwarf2out.c (mem_loc_descriptor): Likewise.
13407         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
13408
13409 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
13410
13411         * simplify-rtx.c (simplify_subreg): Fix typo in comment
13412
13413 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13414
13415         * recog.c (offsettable_address_p): Handle LO_SUM case.
13416         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
13417         instead of plus_constant.
13418
13419 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13420
13421         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
13422         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
13423
13424 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13425
13426         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
13427         adjust_address_nv instead of plus_constant.
13428
13429 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
13430
13431         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
13432         dwarf2out.o): Depend on debug.h, wrap long lines.
13433         * dbxout.c: Include debug.h.
13434         (dbx_debug_hooks): New.
13435         (dbxout_init): Make static, take just 2 args.
13436         (dbxout_finish): Make static.
13437         * dbxout.h (dbxout_init, dbxout_finish): Delete.
13438         * debug.c: New file.
13439         * debug.h: New file.
13440         * dwarf2out.c: Include debug.h.
13441         (dwarf2_debug_hooks): New.
13442         (dwarf2out_init): Make static.
13443         (dwarf2out_finish): Make static, take 2 args.
13444         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
13445         * dwarfout.c: Include debug.h.
13446         (dwarf_debug_hooks): New.
13447         (dwarfout_init): Make static.
13448         (dwarfout_finish): Make static, take 2 args.
13449         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
13450         * sdbout.c: Include debug.h.
13451         (sdb_debug_hooks): New.
13452         (sdbout_init): Make static, take 2 args.
13453         * sdbout.h (sdbout_init): Delete.
13454         * toplev.c: Include debug.h.
13455         (debug_hooks): New.
13456         (compile_file): Set deubg_hooks based on command line options.
13457         Use the hooks unconditionally rather than conditional compilation.
13458
13459 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
13460
13461         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
13462         first_insn_after_basic_block_note instead.
13463
13464         * df.c (df_bb_refs_unlink): #if 0 out for now.
13465
13466 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
13467
13468         * ssa.h: Add prototype for ssa_const_prop
13469         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
13470         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
13471         (ssa_fast_dce): Remove unused variable
13472
13473 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13474
13475         * diagnostic.c (finish_diagnostic): Rename to
13476         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
13477         calls thourghout.
13478
13479 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
13480
13481         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
13482         .loc support.
13483
13484         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
13485         (dump_file): Only pad the demangled name with spaces if the
13486         mangled name was padded with spaces.
13487
13488 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
13489
13490         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
13491         edge detection.
13492
13493 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13494
13495         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
13496         extraction if no direct load if either EXPAND_CONST_ADDRESS or
13497         EXPAND_INITIALIZER.
13498
13499         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
13500         whether can put offset inside LO_SUM to check mode alignment, not size.
13501
13502 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13503
13504         * doc/tm.texi (Misc): Fix thinko.
13505
13506 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
13507
13508         * regmove.c (replace_in_call_usage): Fix warnings.
13509         * sched-deps.c (add_dependence): Fix warnings.
13510         * simplify-rtx.c (simplify_subreg): Likewise.
13511         Return NULL_RTX instead of NULL.
13512
13513         * reg-stack.c (emit_swap_insn): Eliminate warnings.
13514         (subst_asm_stack_regs): Likewise.
13515
13516         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
13517         warnings.
13518
13519         * dwarf2out.c (output_call_frame_info): Declare i as int.
13520         (build_abbrev_table): Declare n_alloc as int.
13521         (dwarf2out_finish): Initialize die.
13522         * except.c: Declare sjlj_funcdef_number as unsigned.
13523         (connect_post_landing_pads): Declare j as unsigned.
13524         (convert_to_eh_region_ranges): Initialize call_site.
13525         (output_function_exception_table): Initialize tt_format_size.
13526         * expr.c (move_by_pieces_1): Initialize to1.
13527         (store_constructor): Initialize minelt and maxelt.
13528         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
13529         * function.c (instantiate_decls): Avoid signed/unsigned warning.
13530
13531         * c-decl.c (combine_parm_decls): Unused, remove.
13532         * c-tree.h: Remove prototype for combine_parm_decls.
13533
13534         * reload.c (push_reload): Fix warning.
13535         (regno_clobbered_p): Likewise.
13536         * reload1.c (replace_pseudos_in_call_usage): Likewise.
13537         (reload_combine): Likewise.
13538
13539         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
13540         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
13541         warnings.
13542         * bitmap.c (bitmap_operation): Change user.
13543         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
13544
13545 2001-07-10  Eric Christopher  <echristo@redhat.com>
13546
13547         * config/mips/mips.c (override_options): Fix typo.
13548
13549 2001-07-09  Stan Shebs  <shebs@apple.com>
13550
13551         * target.h (struct gcc_target): New fields init_builtins and
13552         expand_builtin.
13553         * target-def.h (TARGET_INIT_BUILTINS): New macro.
13554         (TARGET_EXPAND_BUILTIN): New macro.
13555         (TARGET_INITIALIZER): Add them.
13556         * builtins.c: Include target.h.
13557         (expand_builtin): Use targetm.expand_builtin.
13558         (default_init_builtins): New function.
13559         (default_expand_builtin): New function.
13560         * expr.h (default_init_builtins): Declare.
13561         (default_expand_builtin): Declare.
13562         * c-common.c (c_common_nodes_and_builtins): Use
13563         targetm.init_builtins.
13564         * defaults.h (MD_INIT_BUILTINS): Remove.
13565         * Makefile.in (builtins.o): Depend on target.h.
13566
13567         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
13568         (TARGET_EXPAND_BUILTIN): Define.
13569         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
13570         (MD_EXPAND_BUILTIN): Remove.
13571
13572         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
13573         (TARGET_EXPAND_BUILTIN): Define.
13574         (c4x_init_builtins): Make endlink arg a local.
13575         (c4x_print_operand): Fix typos in adjust_address usages.
13576         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
13577         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
13578         (MD_EXPAND_BUILTIN): Remove.
13579
13580         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
13581         (TARGET_EXPAND_BUILTIN): Define.
13582         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
13583         (ix86_init_builtins): Call new function only if TARGET_MMX.
13584         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
13585         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
13586         (MD_EXPAND_BUILTIN): Remove.
13587
13588         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
13589         (TARGET_EXPAND_BUILTIN): Define.
13590         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
13591         (MD_EXPAND_BUILTIN): Remove.
13592
13593         * doc/tm.texi: Document these changes.
13594
13595 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
13596
13597         * basic-block.h (tree_node): Forward declare if needed.
13598         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
13599         (BLOCK_HEAD_TREE): Define.
13600         (BLOCK_END_TREE): Define.
13601         (struct loops): Rename field 'tree' to 'tree_root'.
13602         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
13603         'end_tree'.
13604         (flow_loops_tree_build): Rename reference to field 'tree' to
13605         'tree_root'.
13606         (flow_loops_level_compute): Ditto.
13607         * predict.c (estimate_bb_frequencies): Ditto.
13608         * tree.h (struct tree_common): Add field 'aux'.
13609
13610 2001-07-09  Stan Shebs  <shebs@apple.com>
13611
13612         * config/darwin.c (darwin_encode_section_info): Don't mark any
13613         DECL_EXTERNAL node as defined.
13614
13615 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13616
13617         * pa.c (pa_init_machine_status, pa_mark_machine_status,
13618         pa_free_machine_status, hppa_init_pic_save): Delete.
13619         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
13620         (hppa_profile_hook): Use hppa_pic_save_rtx.
13621         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
13622         hppa_init_pic_save): Delete.
13623         (hppa_pic_save_rtx): Declare.
13624         * pa.md (call, call_value, sibcall, sibcall_value,
13625         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
13626
13627 2001-07-09  Kazu Hirata  <kazu@hxi.com>
13628
13629         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
13630         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
13631
13632 2001-07-09  Andreas Jaeger  <aj@suse.de>
13633
13634         * output.h: Add declaration of final_forward_branch_p.
13635
13636         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
13637
13638         * varray.c: Include errors.h for internal_error and trim_filename
13639         declarations.
13640
13641         * Makefile.in (varray.o): Add errors.h.
13642
13643 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
13644
13645         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
13646         * optabs.c (have_add2_insn): Check whether the add insn chosen
13647         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
13648         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
13649
13650 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
13651
13652         * Makefile.in (OBJS): Add ssa-ccp.o
13653         (ssa-ccp.o): Add dependencies.
13654         * toplev.c (DFI_ssa_ccp): New dump file enum.
13655         (dump_file): Add entry for dumping after SSA CCP.
13656         (flag_ssa_ccp): New flag variable.
13657         (f_options): Add -fssa-ccp.
13658         (rest_of_compilation): Run SSA CCP if requested.
13659         * timevar.def (TV_SSA_CCP): New timevar.
13660         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
13661         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
13662         Fix minor typo in SSA DCE documentation.
13663         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
13664         Add documentation for new dump option.  Renumber dump files
13665         appropriately.
13666
13667 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13668
13669         * emit-rtl.c (gen_highpart_mode): New.
13670         * rtl.h (gen_highpart_mode): Declare.
13671         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
13672         operand can be VOIDmode constant.
13673
13674 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
13675
13676         * flow.c (redirect_edge_and_branch_force): New.
13677         (can_fallthru): Ensure that basic blocks are succeeding.
13678         (try_optimize_cfg): Do not delete basic block if it is the last one.
13679
13680         * flow.c (try_redirect_by_replacing_jump): Do not remove
13681         jumps with side effects, unlink chain on fallthru edge;
13682         set block for new jump instruction; avoid basic block to
13683         over by line number note.
13684
13685         * flow.c (try_simplify_condjump): Verify that the condjump
13686         is not always falling through.
13687
13688         Re-install patch:
13689         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13690
13691         * flow.c (forwarder_block_p): Fix for fallthru blocks.
13692         (try_redirect_by_replacing_jump): Update properly the count
13693         and frequency information.
13694
13695 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13696
13697         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
13698         address that is a LO_SUM specially.
13699         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
13700
13701         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
13702
13703         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
13704         (operand_subword): Use them.
13705         (change_address_1): Renamed from change_address; new arg VALIDATE.
13706         * expr.h: Reflect above changes; change_address now macro.
13707         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
13708         making MEM.
13709         * cselib.c (add_mem_for_addr): Likewise.
13710         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
13711         * regmove.c (try_apply_stack_adjustment): Likewise.
13712         * reload.c (push_reload, make_memloc): Likewise.
13713         * reload1.c (eliminate_regs): Likewise.
13714         * simplify-rtx.c (simplify_replace_rtx): Likewise.
13715         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
13716         adjust_addess.
13717         * combine.c (make_extraction, simplify_shift_const): Likewise.
13718         (gen_lowpart_for_combine): Likewise.
13719         * cse.c (gen_lowpart_if_possible): Likewise.
13720         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
13721         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
13722         * optabs.c (gen_move_insn): Likewise.
13723         * reload1.c (alter_reg): Likewise.
13724         * simplify-rtx.c (simplify_subreg): Likewise.
13725         * stmt.c (expand_anon_union_decl): Likewise.
13726         * recog.c (validate_replace_rtx_1): Likewise.
13727         (expr.h): Include.
13728         * Makefile.in (recog.o): Add $(EXPR_H).
13729         * explow.c (stabilize): Call replace_equiv_address.
13730         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
13731         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
13732
13733 2001-07-03  Andrew Haley  <aph@redhat.com>
13734
13735         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
13736         the mode of the memory location.
13737
13738 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
13739
13740         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
13741
13742 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13743
13744         * final.c (output_addr_const): Use target opening and
13745         closing parentheses.
13746         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
13747         defaults, add to TARGET_ASM_OUT.
13748         * target.h (struct gcc_target): Add open_paren and close_paren.
13749         * doc/md.texi: Update.
13750         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
13751         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
13752         TARGET_ASM_CLOSE_PAREN.
13753         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13754         Override.
13755         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13756         Override.
13757         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
13758         * config/a29k/a29k.h: Similarly.
13759         * config/alpha/alpha.h: Similarly.
13760         * config/arc/arc.h: Similarly.
13761         * config/arm/aof.h: Similarly.
13762         * config/arm/aout.h: Similarly.
13763         * config/avr/avr.h: Similarly.
13764         * config/c4x/c4x.h: Similarly.
13765         * config/clipper/clipper.h: Similarly.
13766         * config/convex/convex.h: Similarly.
13767         * config/d30v/d30v.h: Similarly.
13768         * config/dsp16xx/dsp16xx.h: Similarly.
13769         * config/elxsi/elxsi.h: Similarly.
13770         * config/fr30/fr30.h: Similarly.
13771         * config/h8300/h8300.h: Similarly.
13772         * config/i370/i370.h: Similarly.
13773         * config/i386/i386.h: Similarly.
13774         * config/i860/i860.h: Similarly.
13775         * config/i960/i960.h: Similarly.
13776         * config/ia64/ia64.h: Similarly.
13777         * config/m32r/m32r.h: Similarly.
13778         * config/m68hc11/m68hc11.h: Similarly.
13779         * config/m68k/m68k.h: Similarly.
13780         * config/m88k/m88k.h: Similarly.
13781         * config/mcore/mcore.h: Similarly.
13782         * config/mips/mips.h: Similarly.
13783         * config/mn10200/mn10200.h: Similarly.
13784         * config/mn10300/mn10300.h: Similarly.
13785         * config/ns32k/ns32k.h: Similarly.
13786         * config/pa/pa.h: Similarly.
13787         * config/pdp11/pdp11.h: Similarly.
13788         * config/pj/pj.h: Similarly.
13789         * config/romp/romp.h: Similarly.
13790         * config/rs6000/rs6000.h: Similarly.
13791         * config/sh/sh.h: Similarly.
13792         * config/sparc/sparc.h: Similarly.
13793         * config/v850/v850.h: Similarly.
13794         * config/vax/vax.h: Similarly.
13795         * config/we32k/we32k.h: Similarly.
13796
13797 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
13798
13799         * doc/c-tree.texi: Document representation of attributes.
13800
13801 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13802
13803         * doc/tm.texi: Update some places for the rename of target to
13804         targetm.  Fix typo.
13805
13806 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13807
13808         * target.h (struct gcc_target): Add insert_attributes.
13809         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
13810         (TARGET_INITIALIZER): Update.
13811         * tree.c, tree.h (default_insert_attributes): New function.
13812         Update comments on other default functions to refer to targetm,
13813         not target.
13814         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
13815         TARGET_INSERT_ATTRIBUTES.
13816         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
13817         * c-common.c (decl_attributes): Use targetm.insert_attributes.
13818         Don't use PRAGMA_INSERT_ATTRIBUTES.
13819         * Makefile.in (c-common.o): Depend on $(TARGET_H).
13820         * c-decl.c (start_decl, start_function): Don't call
13821         SET_DEFAULT_DECL_ATTRIBUTES.
13822         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13823         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
13824         declare.
13825         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
13826         (c4x_check_attribute): Avoid modifying attribute list itself.
13827         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
13828         Make static.
13829         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
13830         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
13831         declare.
13832         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
13833         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
13834         Make static.
13835         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13836         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
13837         declare.
13838         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
13839         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
13840         Adjust parameters.  Make static.
13841
13842 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13843
13844         * c-common.c (decl_attributes): Only take a single attributes
13845         parameter.
13846         * c-common.h (decl_attributes): Update prototype.
13847         * c-decl.c (start_decl, start_function): Only take a single
13848         attributes parameter.  Update calls to decl_attributes.
13849         (finish_struct, finish_enum): Update calls to decl_attributes.
13850         (push_parm_decl): Expect unified list of attributes.  Update call
13851         to decl_attributes.
13852         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
13853         notype_nested_function, component_declarator,
13854         component_notype_declarator, label): Update calls to
13855         decl_attributes.
13856         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
13857         lists that are passed to push_parm_decl.
13858         * c-tree.h (start_function, start_decl): Update prototypes.
13859         * config/sh/sh-protos.h, config/sh/sh.c
13860         (sh_pragma_insert_attributes): Only take a single attributes
13861         parameter.
13862         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
13863         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
13864         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
13865         build_module_descriptor, generate_static_references,
13866         generate_strings, build_selector_translation_table,
13867         generate_descriptor_table, generate_protocols,
13868         generate_ivars_list, generate_dispatch_table,
13869         generate_protocol_list, generate_category,
13870         generate_shared_structures, really_start_method, add_objc_decls,
13871         generate_classref_translation_entry): Update calls to start_decl
13872         and start_function.
13873         (build_tmp_function_decl, start_method_def): Unify attribute lists
13874         that are passed to push_parm_decl.
13875
13876 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
13877
13878         * final.c (no_asm_to_stream): New.
13879         (final_scan_insn): Use target structures for prologue ends
13880         and epilogue starts.
13881         * output.h (no_asm_to_stream): New.
13882         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
13883         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
13884         (TARGET_ASM_OUT): Update.
13885         * target.h (struct gcc_target): New members function_end_prologue
13886         and function_begin_epilogue.
13887         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
13888         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
13889         * config/alpha/alpha.c (output_end_prologue): Rename to
13890         alpha_output_function_end_prologue.  Use in target struct
13891         and make static.
13892         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
13893         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
13894         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
13895         ia64_output_function_end_prologue.  Use in target struct
13896         and make static.
13897         (ia64_function_prologue, ia64_funciton_epilogue): Rename
13898         mistyped prototypes.
13899         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
13900         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
13901         Delete.
13902         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
13903         an use in target struct, make static.
13904         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
13905         Delete.
13906
13907 2001-07-08  Richard Henderson  <rth@redhat.com>
13908
13909         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
13910
13911 2001-07-08  Richard Henderson  <rth@redhat.com>
13912
13913         * config/i386/i386.md: Remove constraints strings from define_split
13914         and define_peephole2 patterns.
13915         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
13916         (eh_return): Use them.
13917
13918 2001-07-08  Richard Henderson  <rth@redhat.com>
13919
13920         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
13921         Document MD_FALLBACK_FRAME_STATE_FOR.
13922
13923 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13924
13925         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
13926         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
13927         elimination.
13928         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
13929
13930 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
13931
13932         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
13933         of the label inside NAME as opposed to just the end of NAME.
13934
13935 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13936
13937         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
13938         * config/alpha/alpha.c (alpha_init_machine_status,
13939         alpha_mark_machine_status, alpha_free_machine_status): Delete.
13940         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
13941         (vms_valid_decl_attribute_p): Make static, conditionally compile.
13942         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
13943
13944 2001-07-06  Stan Shebs  <shebs@apple.com>
13945
13946         * target.h (targetm): Rename global from "target", so as not to
13947         conflict with local variables.
13948         * c-decl.c: Ditto.
13949         * c-typeck.c: Ditto.
13950         * final.c: Ditto.
13951         * tree.c: Ditto.
13952         * cp/decl.c: Ditto.
13953         * cp/decl2.c: Ditto.
13954         * cp/typeck.c: Ditto.
13955         * 1750a/1750a.c: Ditto.
13956         * a29k/a29k.c: Ditto.
13957         * arc/arc.c: Ditto.
13958         * arm/arm.c: Ditto.
13959         * avr/avr.c: Ditto.
13960         * clipper/clipper.c: Ditto.
13961         * convex/convex.c: Ditto.
13962         * d30v/d30v.c: Ditto.
13963         * dsp16xx/dsp16xx.c: Ditto.
13964         * elxsi/elxsi.c: Ditto.
13965         * fr30/fr30.c: Ditto.
13966         * h8300/h8300.c: Ditto.
13967         * i370/i370.c: Ditto.
13968         * i386/i386.c: Ditto.
13969         * i860/i860.c: Ditto.
13970         * i960/i960.c: Ditto.
13971         * ia64/ia64.c: Ditto.
13972         * m32r/m32r.c: Ditto.
13973         * m68hc11/m68hc11.c: Ditto.
13974         * m68k/m68k.c: Ditto.
13975         * m88k/m88k.c: Ditto.
13976         * mips/mips.c: Ditto.
13977         * ns32k/ns32k.c: Ditto.
13978         * pa/pa.c: Ditto.
13979         * pdp11/pdp11.c: Ditto.
13980         * romp/romp.c: Ditto.
13981         * rs6000/rs6000.c: Ditto.
13982         * sh/sh.c: Ditto.
13983         * sparc/sparc.c: Ditto.
13984         * vax/vax.c: Ditto.
13985         * we32k/we32k.c: Ditto.
13986         * doc/tm.texi: Update the manual to match.
13987
13988 2001-07-06  Richard Henderson  <rth@redhat.com>
13989
13990         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
13991         DWARF2_UNWIND_INFO not just whether it is defined.
13992
13993 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
13994
13995         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
13996         call to simplify_binary_operation returns a new pattern.
13997
13998 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
13999
14000         * glimits.h (__SHRT_MAX__): New.
14001         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
14002         (SHRT_MAX): Define in terms of __SHRT_MAX__.
14003
14004 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
14005
14006         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
14007         avoid warnings.
14008
14009 2001-07-06  Richard Henderson  <rth@redhat.com>
14010
14011         * bitmap.c (bitmap_release_memory): Move adjacent to the
14012         allocation functions.
14013         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
14014         the implementation.  Binary search for the set bit.
14015         (bitmap_union_of_diff): Allocate the temporary on the stack
14016         instead of using xmalloc.
14017
14018 2001-07-06  Richard Henderson  <rth@redhat.com>
14019
14020         * genrecog.c (validate_pattern): Warn for constraints in
14021         define_{expand,split,peephole2}.  Remove strict_low_part
14022         before looking up match_dup.
14023
14024 2001-07-06  DJ Delorie  <dj@redhat.com>
14025
14026         * doc/gcc.texi (Makefile): Rename to be a more general purpose
14027         chapter about various build hints and history.  Add section
14028         talking about the various types of native and cross builds.
14029
14030 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14031
14032         * Makefile.in (final.o): Depend on target.h.
14033         * final.c: Include target.h.
14034         (default_function_pro_epilogue): New.
14035         (final_start_function): Use target structure for function prologues.
14036         (final_end_function): Use target structure for function epilogues.
14037         * fold-const.c (real_hex_to_f): Constify s and p.
14038         * output.h (default_function_pro_epilogue): New.
14039         * real.h (real_hex_to_f): Update prototype.
14040         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
14041         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
14042         (TARGET_INITIALIZER): Update.
14043         * target.h (gcc_target): Add struct asm_out.
14044         * doc/tm.texi: Update.
14045
14046 config:
14047         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
14048         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
14049         in cpu/cpu.c, or rename old functions consistently.  Take
14050         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
14051         redundant macros and prototypes.  Make new functions static.
14052
14053         * 1750a/1750a.c: Similarly.
14054         * 1750a/1750a.h: Similarly.
14055         * a29k/a29k-protos.h: Similarly.
14056         * a29k/a29k.c: Similarly.
14057         * a29k/a29k.h: Similarly.
14058         * arc/arc-protos.h: Similarly.
14059         * arc/arc.c: Similarly.
14060         * arc/arc.h: Similarly.
14061         * arm/arm-protos.h: Similarly.
14062         * arm/arm.c: Similarly.
14063         * arm/arm.h: Similarly.
14064         * avr/avr-protos.h: Similarly.
14065         * avr/avr.c: Similarly.
14066         * avr/avr.h: Similarly.
14067         * clipper/clipper-protos.h: Similarly.
14068         * clipper/clipper.c: Similarly.
14069         * clipper/clipper.h: Similarly.
14070         * convex/convex.c: Similarly.
14071         * convex/convex.h: Similarly.
14072         * d30v/d30v-protos.h: Similarly.
14073         * d30v/d30v.c: Similarly.
14074         * d30v/d30v.h: Similarly.
14075         * d30v/d30v.md: Similarly.
14076         * dsp16xx/dsp16xx-protos.h: Similarly.
14077         * dsp16xx/dsp16xx.c: Similarly.
14078         * dsp16xx/dsp16xx.h: Similarly.
14079         * elxsi/elxsi.c: Similarly.
14080         * elxsi/elxsi.h: Similarly.
14081         * fr30/fr30.c: Similarly.
14082         * fr30/fr30.md: Similarly.
14083         * h8300/h8300-protos.h: Similarly.
14084         * h8300/h8300.c: Similarly.
14085         * h8300/h8300.h: Similarly.
14086         * i370/i370-protos.h: Similarly.
14087         * i370/i370.c: Similarly.
14088         * i370/i370.h: Similarly.
14089         * i386/i386.c: Similarly.
14090         * i386/osf1elf.h: Similarly.
14091         * i386/osfrose.h: Similarly.
14092         * i860/i860-protos.h: Similarly.
14093         * i860/i860.c: Similarly.
14094         * i860/i860.h: Similarly.
14095         * i960/i960-protos.h: Similarly.
14096         * i960/i960.c: Similarly.
14097         * i960/i960.h: Similarly.
14098         * ia64/ia64-protos.h: Similarly.
14099         * ia64/ia64.c: Similarly.
14100         * ia64/ia64.h: Similarly.
14101         * m32r/m32r-protos.h: Similarly.
14102         * m32r/m32r.c: Similarly.
14103         * m32r/m32r.h: Similarly.
14104         * m68hc11/m68hc11-protos.h: Similarly.
14105         * m68hc11/m68hc11.c: Similarly.
14106         * m68hc11/m68hc11.h: Similarly.
14107         * m68k/crds.h: Similarly.
14108         * m68k/dpx2.h: Similarly.
14109         * m68k/m68k-protos.h: Similarly.
14110         * m68k/m68k.c: Similarly.
14111         * m68k/m68k.h: Similarly.
14112         * m68k/news.h: Similarly.
14113         * m88k/m88k-protos.h: Similarly.
14114         * m88k/m88k.c: Similarly.
14115         * m88k/m88k.h: Similarly.
14116         * mips/mips-protos.h: Similarly.
14117         * mips/mips.c: Similarly.
14118         * mips/mips.h: Similarly.
14119         * ns32k/merlin.h: Similarly.
14120         * ns32k/ns32k.c: Similarly.
14121         * ns32k/ns32k.h: Similarly.
14122         * ns32k/tek6000.h: Similarly.
14123         * pa/pa-protos.h: Similarly.
14124         * pa/pa.c: Similarly.
14125         * pa/pa.h: Similarly.
14126         * pdp11/2bsd.h: Similarly.
14127         * pdp11/pdp11-protos.h: Similarly.
14128         * pdp11/pdp11.c: Similarly.
14129         * pdp11/pdp11.h: Similarly.
14130         * romp/romp-protos.h: Similarly.
14131         * romp/romp.c: Similarly.
14132         * romp/romp.h: Similarly.
14133         * rs6000/rs6000-protos.h: Similarly.
14134         * rs6000/rs6000.c: Similarly.
14135         * rs6000/rs6000.h: Similarly.
14136         * rs6000/sysv4.h: Similarly.
14137         * sh/sh-protos.h: Similarly.
14138         * sh/sh.c: Similarly.
14139         * sh/sh.h: Similarly.
14140         * sparc/sparc-protos.h: Similarly.
14141         * sparc/sparc.c: Similarly.
14142         * sparc/sparc.h: Similarly.
14143         * vax/vax.c: Similarly.
14144         * vax/vax.h: Similarly.
14145         * vax/vms.h: Similarly.
14146         * we32k/we32k.c: Similarly.
14147         * we32k/we32k.h: Similarly.
14148
14149 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
14150
14151         * basic-block.h (first_insn_after_basic_block_note): Declare.
14152         * flow.c (first_insn_after_basic_block_note): Define.  Moved
14153         from...
14154         * ssa.c (first_insn_after_basic_block_note): Remove.
14155         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
14156         necessary.
14157         (ssa_eliminate_dead_code): Properly update the CFG and PHI
14158         nodes when we find a dead conditional branch.  Insert BARRIERs
14159         after any blocks with no successors, but which do not have
14160         any BARRIERs.
14161
14162 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
14163
14164         * varray.c (varray_check_failed): Use internal_error.
14165
14166 2001-07-05  Andrew Haley  <aph@redhat.com>
14167
14168         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
14169         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
14170         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
14171
14172 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
14173
14174         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
14175         reference if the target constant is also a SYMBOL_REF.
14176
14177 2001-07-05  Eric Christopher  <echristo@redhat.com>
14178
14179         * config/mips/mips.h (MASK_MIPS3900): Remove.
14180         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
14181         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
14182         (TARGET_MIPS3900): Change to use mips_arch.
14183         (TARGET_MIPS4000): New.
14184         (TARGET_MIPS4100): New.
14185         (TARGET_MIPS4300): New.
14186         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
14187         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
14188         for -mipsX.
14189         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
14190         (ISA_HAS_BRANCHLIKELY): To here.
14191         (CC1_CPU_SPEC):  New.
14192         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
14193         (mips_arch_string): Declare.
14194         (mips_arch): Declare.
14195         (TARGET_OPTIONS): Add -march and -mtune.
14196
14197         * config/mips/mips.c (mips_arch_string): New.
14198         (mips_arch): New.
14199         (override_options): Handle -march for codegen and -mtune
14200         for scheduling. Use mips_arch. Move tx39 target default here.
14201         (mips_parse_cpu): Move error message to override_options.
14202
14203         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
14204
14205         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
14206
14207         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
14208         (MIPS Options): Ditto.  Change mcpu entry to historical text.
14209
14210 2001-07-05  H.J. Lu  (hjl@gnu.org)
14211
14212         * config/mips/mips.c (mips_parse_cpu): New function to parse
14213         -march=*/-mcpu=*.
14214
14215 2001-07-05  Jim Wilson  <wilson@redhat.com>
14216
14217         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
14218         * config/ia64/t-ia64: Likewise.
14219         (LIB1ASMFUNCS): Update comment.
14220
14221 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
14222
14223         * doc/install.texi (Install GCC: Binaries): Fix typo.
14224
14225 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14226
14227         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
14228         reference using the stack pointer, adjust it since we push Y
14229         temporarily.
14230         ("*ashrsi3"): Likewise.
14231         ("*lshrsi3"): Likewise.
14232
14233 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14234
14235         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
14236         when -fomit-frame-pointer is used.
14237
14238 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
14239
14240         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
14241         (try_redirect_by_replacing_jump): Reverse updating properly the
14242         count and frequency information.  Reverse removing cc0 setter.
14243         (forwarder_block_p): Reverse fixing for fallthru blocks.
14244
14245 2001-07-05  DJ Delorie  <dj@redhat.com>
14246
14247         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
14248         (translate_options): If the above is defined, use it to map
14249         given options to new options.
14250         * doc/tm.texi: Document it.
14251
14252 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
14253             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14254
14255         * doc/invoke.texi (Optimize Options): Document that -fgcse may
14256         cause programs using computed gotos to run more slowly.
14257
14258 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14259
14260         * doc/install.texi (Specific): Markup, spelling and typo fixes.
14261         Fixed sorting.
14262         Consistently require binutils 2.11.2, not prereleases.
14263         (Specific, decstation-*): Canonicalize as mips-dec-*.
14264         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
14265         always necessary.
14266         (Specific, m68k-altos): Removed reference to README.altos, deleted.
14267         (Specific, mips-*): Reword MIPS C compiler requirements.
14268         (Specific, powerpc*-*-*): New, mention --with-cpu once.
14269         (Specific, sunv5): Removed, obsolete.
14270
14271 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14272
14273         * dwarf2out.c (output_loc_list): Use an all ones mask for
14274         .text asm output and don't rely on long long
14275         literals. Reformat some long lines.
14276
14277 2001-07-05  Andreas Jaeger  <aj@suse.de>
14278
14279         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
14280         section.
14281
14282 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14283
14284         * dwarf2out.c (dwarf2out_define): Update comment.
14285         (dwarf2out_undef): Ditto.
14286         (dwarf2out_start_source_file): Ditto.
14287         (dwarf2out_end_source_file): Ditto.
14288         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
14289         since we never call the start/end debug hook for the primary file.
14290
14291 2001-07-04  Kazu Hirata  <kazu@hxi.com>
14292
14293         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
14294         from shll.
14295
14296 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14297
14298         * cppinit.c (remove_dup_dirs): Inform if a system include
14299         directory is being reordered.
14300         * doc/invoke.texi (Directory Options): GCC warns if you hide a
14301         system include.
14302         * doc/cpp.texi (Search Paths): Likewise.
14303         * doc/gcc.texi (Interoperation): Remove information about
14304         -I/usr/include.
14305
14306 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14307
14308         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
14309         (VARRAY_TOP_CHAR_PTR): Likewise.
14310
14311 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14312
14313         * gcc.c (process_command): Don't assign elements of a const char*.
14314
14315 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14316
14317         * emit-rtl.c (change_address): Don't abort if invalid address while
14318         reload is in progress.
14319
14320 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14321
14322         * c-lex.c (cb_file_change): Pass line number to
14323         debug_start_source_file.
14324         (cb_undefine): Pass correct line number to debug_undef.
14325
14326         * toplev.c (debug_start_source_file): Add line number to
14327         parameters. Pass it along to dwarf2out_start_source_file.
14328         (decode_g_option): Stop resetting debug level back to normal when
14329         we change debug formats, unless the current level is
14330         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
14331         3).
14332
14333         * toplev.h (debug_start_source_file): Add line number to
14334         parameters.
14335
14336         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
14337         parameters.
14338
14339         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
14340         parameters.
14341         Output debug_macinfo data for starting file if requested.
14342         (dwarf2out_end_source_file): Output debug_macinfo data for ending
14343         file if requested.
14344         (dwarf2out_define): Output debug_macinfo data for defining a macro
14345         if requested.
14346         (dwarf2out_undef): Output debug_macinfo data for undefining a
14347         macro if requested.
14348         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
14349         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
14350         (macinfo_section_label): New. DWARF2 macro info section label.
14351         (dwarf2out_init): If we want macro info, output the start label
14352         for the section.
14353         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
14354         attribute to the compilation unit die pointing to the macro info.
14355
14356 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14357
14358         * dwarf2out.c (new_loc_list): Move to inside #ifdef
14359         DWARF2_DEBUGGING_INFO.
14360         (add_loc_descr_to_loc_list): Ditto.
14361         (output_loc_list): Ditto.
14362         Also, fix thinko in curr not being initialized.
14363         (gen_internal_sym): Ditto.
14364
14365 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14366
14367         * emit-rtl.c (replace_equiv_address): New function.
14368         * expr.h (replace_equiv_address): New declaration.
14369         * explow.c (validize_mem): Call it instead of change_address and
14370         also call if -fforce-addr and address is constant.
14371         * expr.c: Replace more calls to change_address with adjust_address
14372         and/or replace_equiv_address or to validize_mem.
14373         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
14374         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
14375         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14376         * config/i370/i370.md, config/i860/i860.md: Likewise.
14377         * config/i960/i960.md, config/mips/mips.c: Likewise.
14378         * config/mips/mips.md, config/pa/pa.md: Likewise.
14379         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
14380         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
14381
14382 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14383
14384         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
14385
14386         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
14387         function.
14388
14389 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
14390
14391         * doc/include: New directory.
14392         * doc/fdl.texi: Move to doc/include/fdl.texi.
14393         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
14394         * doc/include/funding.texi, doc/include/gpl.texi: New files.
14395         * doc/gcc.texi: Use funding.texi and gpl.texi.
14396         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
14397         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
14398         Update dependencies and use -I $(docdir)/include.
14399
14400 2001-07-04  Anthony Green  <green@redhat.com>
14401
14402         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
14403
14404 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14405
14406         * doc/install.texi (sparc64-*-*): Remove garbage.
14407
14408 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
14409
14410         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
14411         Fix typo in last change to use adjust_address.
14412
14413 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14414
14415         * doc/install.texi (Specific): Update information for *-*-solaris*.
14416
14417 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14418
14419         * explow.c (plus_constant_wide): Reinitialize Y for restart.
14420
14421 2001-07-03  Stan Shebs  <shebs@apple.com>
14422
14423         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
14424         case for flag_no_mach_text_sections.
14425         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
14426         * config/darwin.c (flag_no_mach_text_sections): Remove.
14427         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
14428
14429 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14430
14431         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
14432         and avoid checking for constant as first operand.
14433         * recog.c (find_constant_term_loc): No longer static.
14434         (adj_offettable_operand): Delete.
14435         * rtl.h (adj_offsettable_operand): Delete declaration.
14436         (find_constant_term): Add declaration.
14437         * caller-save.c: Replace calls to adj_offsettable_operand with calls
14438         to adjust_address.
14439         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
14440         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
14441         * config/i386/i386.c, config/i386/i386.md: Likewise.
14442         * config/i860/i860.c, config/i960/i960.c: Likewise.
14443         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
14444         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
14445         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
14446         * config/mips/mips.c, config/mips/mips.md: Likewise.
14447         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
14448         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
14449         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
14450         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
14451         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
14452         * config/ns32k/ns32k.md: Likewise.
14453
14454 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
14455
14456         * rtl.c (copy_rtx): Handle 'T' format letter.
14457         * gensupport.c (collect_insn_data): Likewise.
14458         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
14459
14460 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
14461
14462         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
14463         -B option.  Use 'dir' not 'foo' as example directory name.
14464
14465 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14466
14467         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14468         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
14469
14470 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14471
14472         * doc/cppinternals.texi: Improve formatting and logical markup.
14473
14474 2001-07-03  Andreas Jaeger  <aj@suse.de>
14475
14476         * Makefile.in (insn-recog.o): Add dependency on reload.h.
14477
14478         * genrecog.c (write_header): Include reload.h for prototypes in
14479         insn-recog.c.
14480
14481 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
14482
14483 config:
14484         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
14485         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
14486         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
14487         i386_pe_valid_type_attribute_p): Add.
14488         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
14489         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
14490
14491 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14492
14493         * explow.c (plus_constant_wide, case LO_SUM): New case.
14494         (plus_constant_for_output_wide): Delete.
14495         * rtl.h (plus_constant_for_output): Delete.
14496         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
14497         instead of plus_constant_for_output.
14498         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
14499         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
14500         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
14501         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
14502         * config/sparc/sparc.md: Likewise.
14503         Convert some change_address calls to adjust_address.
14504
14505 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14506
14507         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
14508         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
14509         documentation of -std and -Wwrite-strings.
14510
14511 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14512
14513         * cse.c (canon_hash): Don't register registers in very small
14514         register classes, as extending their lifetime might cause
14515         reload to fail.
14516
14517 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14518
14519         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14520
14521         * flow.c (forwarder_block_p): Fix for fallthru blocks.
14522         (try_redirect_by_replacing_jump): Update properly the count
14523         and frequency information.
14524
14525 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
14526
14527         * toplev.c (dump_file_index): Move SSA dumps just after first
14528         jump dump.
14529         (dump_file): Corresponding changes.
14530         (rest_of_compilation): Move SSA path to just after the first
14531         jump pass.
14532         * doc/gcc.texi (Passes): Update due to movement of SSA path.
14533         * doc/invoke.texi: Update dump file #s as they were completely
14534         out of date with reality.
14535
14536 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14537
14538         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
14539
14540         * expr.c (emit_move_insn_1): Deal with non-default
14541         STACK_PUSH_CODE.
14542
14543         * expr.c (emit_single_push_insn): Fix warning.
14544
14545 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14546
14547         * expr.c (emit_move_insn_1): Avoid modifying
14548         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
14549
14550 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14551
14552         * emit-rtl.c (adjust_address): New function.
14553         * expr.h (adjust_address): Add declaration.
14554         * builtins.c: Replace some calls to change_address with calls to it
14555         or to validize_mem.
14556         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
14557         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
14558         * config/arm/arm.c, config/convex/convex.c: Likewise.
14559         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14560         * config/i386/i386.c, config/i386/i386.md: Likewise.
14561         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
14562         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
14563         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
14564         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
14565         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
14566
14567 2001-07-02  Jim Wilson  <wilson@redhat.com>
14568
14569         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
14570
14571 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
14572
14573         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
14574         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
14575
14576 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14577
14578         * cppinit.c (lang_defaults): New table.
14579         (set_lang): Just read from lang_defaults into the live options
14580         structure.
14581
14582 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14583
14584         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
14585         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
14586         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
14587
14588 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14589
14590         * doc/install.texi: Various spelling and markup fixes.
14591         (Installing GCC): Component specific installation instructions are
14592         gone.
14593         Fix reference.
14594         Warn about removing old install dir in the presence of shared libs.
14595         (Configuration): Invoke with options target to match configure
14596         --help.
14597         Consistently refer to gas, gld pathnames.
14598         Invert --enable-multilib documentation.
14599         Remove references to old compiler versions.
14600
14601 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14602
14603         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
14604
14605 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14606
14607         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
14608         section.
14609         (Specific, mips*-sgi-irix5): Note IDO download.
14610         Reworded MIPS C hints.
14611         Use GNU as instead of GAS.
14612         Markup fixes.
14613         Removed SGI Freeware reference, IRIX 6 only.
14614         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
14615         Note N64 library requirement/workaround.
14616         Update O32 hints.
14617         Complete list of structure passing bug victims.
14618
14619 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14620
14621         * doc/install.texi: Remove CVS Id.
14622
14623 2001-07-02  Andreas Jaeger  <aj@suse.de>
14624
14625         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
14626         (find_inherently_necessary): Remove unused variable.
14627
14628 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
14629
14630         * c-common.h (TDI_inlined): New ast dump phase.
14631         (dump_flag_name): New function.
14632         * c-dump.c (dump_files): Add inlined phase.
14633         (dump_flag_name): Define.
14634         * doc/invoke.texi (-fdump-ast-inlined): Document.
14635
14636 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14637
14638         * stor-layout.c (layout_decl): Revert change to handling of alignment
14639         in packed types.
14640
14641 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14642
14643         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
14644         for FIELD_DECL.
14645
14646 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
14647
14648         * doc/tm.texi (FUNCTION_ARG): Document that the last call
14649         is special.
14650
14651 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
14652
14653         * tlink.c (recompile_files): Remove COMPILER_PATH and
14654         LIBRARY_PATH from the environment.
14655
14656 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
14657
14658         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
14659         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
14660         enumerators.
14661         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
14662
14663         * c-parse.in (OBJC_STRING): Kill.
14664         (objc_string): Decompose to [objc_string] '@' STRING.
14665         (reswords): Take the leading '@' off all the Objective C keywords.
14666         (objc_rid_sans_at): Kill.
14667         (init_reswords): Don't initialize it.
14668         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
14669         (_yylex): Kill reconsider label.  Look ahead one token after
14670         an '@'; if we get an identifier, check whether it's an
14671         Objective C @-keyword.  If so, return the keyword.  Otherwise,
14672         put back the token and return the '@' as a terminal.
14673
14674         * cpplib.c (lex_macro_node): Remove unnecessary check for
14675         leading '@' on identifier.  Clarify control flow and commentary.
14676
14677 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14678
14679         * cse.c (new_label_ref): Variable deleted.
14680         (insert): Remove set of new_label_ref.
14681         (check_for_label_ref): New function.
14682         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
14683
14684 See ChangeLog.5 for earlier changes.