OSDN Git Service

cdce1b94397e29c0584f1165ca9735e8690323b4
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-19  Jason Merrill  <jason@redhat.com>
2
3         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4         cur_token, not after.
5
6         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
7         Lose ASM_OUTPUT_CONSTRUCTOR.
8         * system.h: Poison it and INT_ASM_OP.
9         * c-lang.c (finish_file): Don't check for it.
10         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
11
12 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13
14         * mmix.c (mmix_cc1_ignored_option): Const-ify.
15         (mmix_init_machine_status): Make static to match declaration.
16         (mmix_unique_section): Const-ify.
17         (mmix_output_quoted_string): Avoid automatic aggregate
18         initialization.
19         (mmix_output_register_setting): Likewise.
20         (mmix_output_shiftvalue_op_from_str): Likewise.
21
22         * mmix.h (mmix_cc1_ignored_option): Const-ify.
23         (ASM_OUTPUT_BYTE): Fix format specifier warning.
24         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
25
26 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
27
28         PR c/4448
29         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
30         name __objc_thread_exit_status so that it matches the 
31         variable defined in objc/thr.h.
32
33 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
34
35         PR bootstrap/4020
36         * mklibgcc.in: Add missing semi-colons.
37         * Makefile.in: Same.
38
39 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
40
41         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
42         after re-laying out decl in incomplete case.
43         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
44
45 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
46
47         * doc/install-old.texi: Move some sections out to ...
48         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
49         ... here.  New files.  Make into chapters rather than sections.
50         * doc/gcc.texi: Include the new files and add menu entries for
51         them.
52         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
53
54 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
55
56         * tree.h (TYPE_ALIGN_OK): New flag.
57         * emit-rtl.c (set_mem_attributes): Handle it.
58         * expr.c (emit_single_push_insn): Only set to alias set 0 if
59         doing sibcall optimization.
60         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
61         when make temporary.
62         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
63         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
64
65         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
66
67 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
68
69         * c-decl.c (c_decode_option): Give deprecation warning for
70         -traditional.
71         * doc/invoke.texi (-traditional): Note that this option is
72         deprecated.
73
74 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
75
76         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
77         arg to HOST_WIDE_INT, not long.
78
79         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
80         (HAS_INIT_SECTION): Define.
81         (REAL_ARITHMETIC): Don't undefine.
82
83 2001-11-18  Egor Duda  <deo@logos-m.ru>
84
85         * config/i386/cygwin.h: Strip leading '*' from name, if any.
86
87 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
88
89         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
90         * c-common.c: Include diagnostic.h.
91         (c_common_finish): New.
92         * c-common.h (c_common_finish): New.
93         * c-lang.c (LANG_HOOKS_FINISH): Override.
94         * c-parse.in: Don't include diagnostic.h.
95         (finish_parse): Remove.
96         * langhooks.h: Update comments.
97         * toplev.c (lang_dependent_init): New prototype.
98         (finalize): New.
99         (compile_file): Split cleanup code out to finalize.
100         (lang_dependent_init): Stop if lang_hooks.init fails.
101         (toplev_main): Update.
102         * tree.h (finish_parse): Remove.
103 objc:
104         * objc-act.c (LANG_HOOKS_FINISH): Override.
105
106 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
107
108         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
109         * config/alpha/vms_tramp.asm: New file.
110         * config/alpha/vms-tramp.asm: Removed.
111
112 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
113
114         * c-common.c (struct disabled_builtin, disabled_builtins,
115         disable_builtin_function, builtin_function_disabled_p): New.
116         (builtin_function_2): Check for disabled built-in functions.
117         * c-common.h (disable_builtin_function): Declare.
118         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
119         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
120         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
121
122 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
123
124         PR target/4606
125         * config.gcc: Remove reference to va-clipper.h.
126
127 2001-11-17  Stan Shebs  <shebs@apple.com>
128
129         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
130         AltiVec-related bitfields.
131
132 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
133
134         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
135         (mark_eh_region, case ERT_UKNONW): New case.
136
137 2001-11-17  Christopher Faylor  <cgf@redhat.com>
138             Corinna Vinschen  <vinschen@redhat.com>
139
140         * config/i386/cygwin.h: Search target specific include directory for
141         w32api stuff, if appropriate.
142
143 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
144
145         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
146
147 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
148
149         * config/rs6000/rs6000.md: Change all ldvx to lvx.
150
151 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
152
153         * gensupport.c (process_rtx): Don't assume filename is the first
154         argument of any rtl.
155
156 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
157
158         * vax-protos.h (reg_was_0_p): New prototype.
159         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
160         * vax.c (follows_p, reg_was_0_p): New functions.
161
162 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
163
164         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
165         (casesi1): Likewise.  Define new pattern which arises by simplification
166         when operand 1 is a constant int.  Correct pattern which arises by
167         simplification when operand 1 is zero.
168
169 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
170
171         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
172         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
173         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
174         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
175         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
176         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
177         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
178         * config/arm/aof.h: Don't include arm.h.
179         * config/arm/aout.h: Likewise.
180         * config/arm/coff.h: Don't include semi.h and aout.h.
181         * config/arm/elf.h: Don't include aout.h.
182         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
183         (TARGET_VERSION): Undef before defining.
184         (ARM_OS_NAME): Likewise
185         (TARGET_DEFAULT): Likewise
186         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
187         * config/arm/pe.h: Don't include arm/coff.h.
188         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
189         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
190         * config/arm/riscix1-1.h: Likewise.
191         * config/arm/rix-gas.h: Don't include riscix.h.
192         (DBX_CONTIN_LENGTH): Undef before defining.
193         * config/arm/semi.h: Don't include aout.h.
194         * config/arm/semiaof.h: Don't include aof.h.
195         * config/arm/strongarm-coff.h: Don't include coff.h.
196         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
197         * config/arm/vxarm.h: Don't include arm/coff.h.
198         * config/arm/xscale-coff.h: Don't include coff.h.
199
200 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
201
202         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
203         emit_cmp_insn.
204
205 2001-11-16  Andreas Jaeger  <aj@suse.de>
206
207         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
208         to ....
209         (fixup_fallthru_exit_predecessor): ... this.
210         Change callers and prototype.
211
212 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
213
214         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
215         hand; don't use gen_setcc_2.
216         (ix86_expand_builtin): Fix pshufw.
217         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
218         case UNORDERED to emit the right assembler instruction.
219         (mmx_pshufw): Lose operand 2.
220         (cvtsi2ss): Fix representation.
221         From Graham Stott:
222         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
223
224 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
225
226         * doc/include/linux-and-gnu.texi: Remove.
227         * doc/gnu.texi: New.
228         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
229         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
230
231 2001-11-16  Kazu Hirata  <kazu@hxi.com>
232
233         * config/a29k/a29k.c: Fix comment formatting.
234         * config/a29k/a29k.h: Likewise.
235         * config/arc/arc.c: Likewise.
236         * config/arc/arc.h: Likewise.
237         * config/vax/vax.c: Likewise.
238         * config/vax/vax.h: Likewise.
239         * config/we32k/we32k.c: Likewise.
240         * config/we32k/we32k.h: Likewise.
241
242 2001-11-16  Jeff Law  <law@redhat.com>
243
244         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
245         creating a new jump insn.
246
247 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
248
249         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
250         copy misaligned data.
251         * varasm.c (assemble_variable): Set alignment into MEM when changed.
252
253 2001-11-16  Graham Stott  <grahams@redhat.com>
254
255         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
256         OPALIGN type.
257
258 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
259
260         * except.c: Support for catching a list of types with a single handler
261         (struct eh_region): Change type and filter to lists for catch regions.
262         (mark_eh_region): Mark the filter list for GC also.
263         (expand_start_catch): Always build a list if argument not NULL and
264         register each type of the list through add_type_for_runtime.
265         (duplicate_eh_region_1): Change type into type_list for catch regions.
266         (assign_filter_values): Assign a filter to each type associated with a
267         catch region. Assign filter for NULL types in a unique entry in the
268         filter list.
269         (build_post_landing_pads): Emit compare and jump for each filter of
270         the list associated with a catch region.
271         (reachable_next_level): When the type thrown is known, stop the search
272         as soon as one type within a catch list matches. Also, a handler is
273         potentially reachable only if at least one of the types it catches
274         has not been previously caught.
275         (collect_one_action_chain): Retrieve the filter for a NULL type list
276         from the first filter list entry. For non NULL type lists, add an
277         action record for every filter assigned.
278         * except.h: Reflect changes in comment before expand_start_catch.
279
280 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
281
282         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
283         BLKmode.
284
285 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
286
287         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
288
289 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
290
291         * c-lang.c (finish_file): Don't emit static inline functions if
292         they weren't referenced.
293
294 2001-11-15  Stan Shebs  <shebs@apple.com>
295
296         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
297
298 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
299
300         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
301         call.
302         * config/i386/i386.md: Likewise.
303
304 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
305
306         * timevar.c (rtl.h): Include so get fancy abort.
307
308 2001-11-15  Dale Johannesen  <dalej@apple.com>
309
310         * config/darwin.h (SELECT_RTX_SECTION):  Force address
311         initializers into 'const' section
312         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
313         if_then_else to match result, not operands
314
315 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
316
317         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
318         * emit-rtl.c (change_address): Fix typo in default alignment.
319         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
320         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
321         * rtl.h (REGNO_PTR_FRAME_P): New macro.
322
323         * expr.c (store_field): Pass tree instead of max size; callers changed.
324         Change handling of alignment.
325         Only copy to_rtx if is TARGET.
326         (expand_expr_unaligned): Delete; callers now use expand_expr.
327         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
328         (expand_assignment): Change handling of alignment.
329         Only copy to_rtx if was original.
330         (get_inner_reference): No longer return alginment; callers changed.
331         (expand_expr, case COMPONENT_REF): Change handling of alignment.
332         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
333         (compare_from_rtx): Delete ALIGN parm; all callers changed.
334         (do_compare_rtx_and_jump): Likewise.
335         * expr.h: Reflect above changes.
336         * tree.h: Likewise.
337         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
338         to get_inner_reference.
339         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
340         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
341         * optabs.c: Likewise.
342         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
343         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
344         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
345         compare_rtx_and_jump, and emit_cmp_jump_insns.
346         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
347         * function.c (assign_stack_temp_for_type): No longer static.
348         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
349         (prepare_cmp_insn): Delete declaration.
350         * rtl.h (assign_stack_temp_for_type): Add declaration.
351         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
352         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
353         * config/i386/i386.c,config/mips/mips.c: Likewise.
354         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
355         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
356
357 2001-11-15  Stan Shebs  <shebs@apple.com>
358
359         * config/rs6000/rs6000.h: Fix a comment typo.
360         (RTX_COSTS): Sort processor versions better.
361
362 2001-11-15  Kazu Hirata  <kazu@hxi.com>
363
364         * config/h8300/h8300.md: Fix insn length of bit insns.
365
366 2001-11-15  Jason Merrill  <jason@redhat.com>
367
368         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
369         DIEs if there were errors in the source.
370
371         * config/alpha/alpha-interix.h, config/alpha/elf.h,
372         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
373         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
374         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
375         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
376         config/elfos.h, config/lynx.h, config/netware.h,
377         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
378         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
379         uses to use ASM_LONG.
380
381 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
382
383         * gensupport.c  process_include : Change call to alloca to
384         xmalloc.
385
386 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
387
388         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
389         templates.
390
391 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
392
393         * final.c (alter_subreg): If simplify_subreg can't do anything,
394         handle REG ourselves and abort for others.
395
396 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
397
398         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
399         routines.
400
401 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
402
403         * fix-header.c (read_scan_file): Update.
404
405 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
406
407         * toplev.c (toplev_main): Don't start timing until after
408         command-line options are parsed.
409
410 2001-11-15  Andreas Schwab  <schwab@suse.de>
411
412         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
413         makefile frag, not host makefile frag.
414         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
415         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
416         used.
417         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
418         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
419         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
420         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
421         * config/i386/t-dgux (STMP_FIXPROTO): Define.
422         * config/x-interix: Don't define STMP_FIXPROTO and
423         FIXPROTO_DEFINES.
424         * config/t-interix: New file, define STMP_FIXPROTO.
425         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
426         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
427         * config/t-svr4 (FIXPROTO_DEFINES): Define.
428         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
429         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
430         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
431         * config/m68k/t-hp3200: Renamed from x-hp3200.
432         * config/i370/t-oe: Renamed from x-oe.
433         * config/mips/t-iris: Renamed from x-iris.
434         * config/pa/t-bsd: Renamed from x-pa.
435         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
436         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
437         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
438         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
439         config/rs6000/x-cygwin: Remove files.
440
441         * configure.in: Check for target objdump and use that in eh_frame
442         optimization test.
443         * configure: Regenerated.
444
445 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
446
447         * jump.c (squeeze_notes): Return true if no real insns were found.
448         * rtl.h (squeeze_notes): Adjust prototype.
449         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
450         squeeze_notes finds no real instructions, abort.
451         (merge_blocks_move_successor_nojumps): Likewise.
452         * loop.c (find_and_verify_loops): Likewise.
453         * stmt.c (expand_end_case): Likewise.
454         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
455         find any real instructions.
456
457         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
458
459         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
460         conditional jump, request updating life into for the block
461         containing it.  Fix a typo which prevented life info update.
462         Clear blocks bitmap before using it.
463
464 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
465
466         * c-common.c: Include c-lex.h.
467         (c_common_lang_init): Change prototype.  Call init_c_lex and
468         init_pragma from here.
469         * c-common.h (c_common_lang_init): Change prototype.
470         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
471         * c-lang.c (c_init): Change prototype.  Update.
472         (c_init_options): Update.
473         * c-lex.c (cpp_filename): Remove.
474         (init_c_lex): Update.  Read the main file, and get the original
475         file name.
476         (yyparse): Finish the command line options.
477         * c-parse.in (c_parse_init): Call init_reswords here.
478         (init_parse): Remove.
479         * c-tree.h (c_init_decl_processing): New.
480         * cpphash.c (_cpp_init_hashtable): After initializing the hash
481         table, populate it.
482         * cppinit.c (read_original_filename, cpp_finish_options): New.
483         (cpp_create_reader): New prototype. Defer hash table initialization.
484         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
485         hash table.  Get the original filename.
486         * cpplib.h (cpp_create_reader): Update.
487         (cpp_start_read): Remove.
488         (cpp_read_main_file, cpp_finish_options): New.
489         * cppmain.c (main, do_preprocessing): Update.
490         * langhooks.h (struct langhooks): Update init prototype.
491         * toplev.c (general_init, parse_options_and_default_flags,
492         process_options, lang_indpendent_init, lang_dependent_init,
493         init_asm_output): New; perform the bulk of initialization.
494         (compile_file): Move most of initialization to above functions.
495         (debug_hooks): Initialize statically.
496         (set_Wunused): Relocate.
497         (toplev_main): Move most of initialization to other init functions.
498         Have a clear logic flow.
499         * tree.h (init_parse, init_decl_processing): Remove.
500 objc:
501         * objc-act.c (objc_init): Update prototype, combine with old
502         init_parse.
503         (objc_init_options): Update.
504
505
506 2001-11-15  Andreas Jaeger  <aj@suse.de>
507
508         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
509         portability.
510         * basic-block.h: Adjust prototype.
511
512 2001-11-15  Kazu Hirata  <kazu@hxi.com>
513
514         * config/rs6000/aix31.h: Fix comment formatting.
515         * config/rs6000/beos.h: Likewise.
516         * config/rs6000/darwin.h: Likewise.
517         * config/rs6000/eabi.asm: Likewise.
518         * config/rs6000/linux.h: Likewise.
519         * config/rs6000/linux64.h: Likewise.
520         * config/rs6000/lynx.h: Likewise.
521         * config/rs6000/netbsd.h: Likewise.
522         * config/rs6000/rs6000.c: Likewise.
523         * config/rs6000/rs6000.h: Likewise.
524         * config/rs6000/rs6000.md: Likewise.
525         * config/rs6000/sol2.h: Likewise.
526         * config/rs6000/tramp.asm: Likewise.
527         * config/rs6000/xcoff.h: Likewise.
528         * config/rs6000/xm-beos.h: Likewise.
529
530 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
531
532         * rtl.def (INCLUDE) : Define.
533         * gensupport.c  (init_include_reader, process_include,
534         save_string) :  New functions to implement an include facility
535         in .md files.
536         * gensupport.h : Add prototype for init_md_reader_args.
537         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
538         genextract.c genflags.c genopinit.c genoutput.c
539         genpeep.c genrecog.c: Change call to init_md_reader to
540         init_md_reader_args.
541         * md.texi: Document (include "path") and -I directives for RTL
542         generation tools.
543
544 2001-11-14  DJ Delorie  <dj@redhat.com>
545
546         * integrate.c (get_hard_reg_initial_reg): New.
547         * integrate.h (get_hard_reg_initial_reg): Prototype.
548         * local-alloc.c (block_alloc): Don't tie pseudos that
549         represent call-saved hard regs' initial values.
550
551 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
552
553         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
554         recursion.
555
556 2001-11-14  Roger Sayle <roger@eyesopen.com>
557
558         * fold-const.c (fold): Optimize strlen comparisons against zero.
559
560 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
561
562         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
563         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
564         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
565         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
566         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
567         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
568         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
569         Include various CPU headers via tm_file.  a.out based platforms now
570         properly include sparc/aout.h.  sol2.h usage now implies including
571         elfos.h, svr4.h, and sparc/sysv4.h.
572         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
573         Also define to '1'.
574         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
575         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
576         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
577         Remove.  They are a.out specific and belong in sparc/aout.h.
578         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
579         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
580         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
581         sparc/sparc.h.
582         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
583         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
584         Moved here from sparc/sparc.h.
585         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
586         defining.
587         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
588         * config/sparc/lynx.h:  Don't include lynx.h.
589         (SELECT_SECTION): Do not undef.
590         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
591         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
592         and sparc/sysv4.h.
593         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
594         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
595         sparc/aout.h now.
596         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
597         Don't undef, there is no need.
598         * config/sparc/splet.h (CPP_PREDEFINES): Define.
599         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
600         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
601         Don't include sparc/sparc.h.
602         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
603         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
604         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
605         elfos.h and svr4.h.
606         (TARGET_VERSION): Define.
607         * config/sparc/vxsim.h (TARGET_VERSION): Define.
608
609 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
610
611         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
612         (cfg_layout_finalize): Use it.
613         * bb-reorder.c (HAVE_epilogue): Remove.
614         (make_reorder_chain): Do not care special placement of
615         last basic block.
616
617         * predict.c (expected_value_to_br_prob): Delete the note
618         once transformed.
619
620         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
621         measure integration time separately.
622
623 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
624
625         * function.c (struct temp_slot): ALIGN now unsigned.
626
627 2001-11-14  Kazu Hirata  <kazu@hxi.com>
628
629         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
630         * config/dsp16xx/dsp16xx.h: Likewise.
631         * config/dsp16xx/dsp16xx.md: Likewise.
632
633 2001-11-14  Kazu Hirata  <kazu@hxi.com>
634
635         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
636         that deals with 7-bit shifts in HImode.
637
638 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
639
640         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
641         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
642         (final_scan_insn): Update call of alter_subreg.
643         (cleanup_subreg_operands): Likewise.
644         (alter_subreg): Rewrite using simplify_subreg.
645         (output_address, output_operand): Update call of alter_subreg.
646         * output.h (alter_subreg): Update prototype.
647         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
648         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
649         * Makefile.in (final.o): Add depdendancy on expr.h
650
651 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
652
653         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
654
655 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
656
657         * doc/install.texi (sparc-*-linux*): Mention requirements for
658         binutils and glibc.
659
660 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
661
662         * Makefile.in (POD2MAN): Don't include --section=1.
663         (manext): Rename to man1ext.  All users changed.
664         (man7ext): New.
665         (man7dir): New.
666         (generated-manpages): Also depend on $(docdir)/gfdl.7,
667         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
668         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
669         --section=1 in calls to $(POD2MAN).
670         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
671         (maintainer-clean, install, uninstall): Handle the new man pages.
672         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
673         (installdirs): Create man7dir.
674         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
675         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
676         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
677         the SEE ALSO man page section.
678         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
679         and fsf-funding(7) in the SEE ALSO man page section.
680         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
681         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
682         * doc/include/fdl.texi, doc/include/funding.texi,
683         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
684         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
685
686 2001-11-13  Richard Henderson  <rth@redhat.com>
687
688         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
689         as appropriate for the artificial decl.
690
691 2001-11-13  Richard Henderson  <rth@redhat.com>
692
693         * loop.c (combine_movables): Turn off combination until
694         move_movables validation bugs are fixed.
695
696 2001-11-13  DJ Delorie  <dj@redhat.com>
697
698         * config.gcc (powerpc|rs6000): Set default cpp options based
699         on --with-cpu settings.
700         * config/rs6000/softfloat.h: New.
701
702 2001-11-13  Kazu Hirata  <kazu@hxi.com>
703
704         * config/h8300/h8300.c (shift_alg_si): Use special code for
705         25-bit shifts on H8/S.
706         (get_shift_alg): Generate special code for 25-bit shifts on
707         H8/S.
708
709 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
710
711         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
712         (adjust_automodify_address_1): New.
713         * expr.h (adjust_address, adjust_address_nv): Adjust.
714         (adjust_automodify_address, adjust_automodify_address_nv): Define.
715         (adjust_address_1): Update prototype.
716         (adjust_automodify_address_1): Add prototype.
717         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
718         (store_by_pieces_2): Likewise.
719
720 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
721
722         * Makefile.in (explow.o): Now depends on ggc.h.
723         * explow.c (ggc.h): Include.
724         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
725
726         * Makefile.in (expr.o): Depends on insn-attr.h.
727         * expr.c (insn-attr.h): New include.
728         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
729         of MEM.
730         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
731         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
732         clean up related usage in ADDR_EXPR.
733         (expand_expr_unaligned): Likewise.
734
735         * emit-rtl.c (change_address): Fix typo in alias setting.
736
737 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
738
739         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
740
741 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
742
743         PR bootstrap/3451
744         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
745         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
746
747 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
748
749         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
750         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
751         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
752         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
753         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
754         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
755         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
756         sparc64-*-linux*):  Include various CPU headers via tm_file.
757         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
758         (SELECT_SECTION): Likewise.
759         (SELECT_RTX_SECTION): Likewise.
760         * config/sparc/sparc_bi.h: New file.
761         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
762         * config/sparc/linux-aout.h: Likewise.
763         * config/sparc/linux.h: Don't include sparc/sysv4.h.
764         * config/sparc/linux64.h: Likewise.
765         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
766         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
767         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
768         and dbxcoff.h
769         (ASM_OUTPUT_IDENT): Do not #undef.
770         (SELECT_SECTION): Likewise.
771         (SELECT_RTX_SECTION): Likewise.
772         * config/sparc/liteelf.h: Don't include gofast.h.
773         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
774         * config/sparc/lynx.h: Don't include sparc/sparc.h.
775         * config/sparc/pbd.h: Likewise.
776         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
777         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
778         * config/sparc/rtemself.h: Don't include rtems.h.
779         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
780         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
781         sparc_bi.h instead.
782         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
783         * config/sparc/sol2.h: Include sparc/sparc.h directly.
784         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
785         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
786         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
787         * config/sparc/sp86x-elf.h: Don't include gofast.h.
788         * config/sparc/splet.h: Don't include sparc/aout.h.
789         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
790         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
791         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
792         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
793         * config/sparc/vxsparc64.h: Don't include gofast.h.
794         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
795
796 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
797
798         * doc/standards.texi: Mention C99 TC1.
799
800 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
801
802         * mips-protos.h (mips_output_conditional_branch): Const-ify.
803         * mips.c (mips_output_conditional_branch): Likewise.
804
805 2001-11-12  Kazu Hirata  <kazu@hxi.com>
806
807         * config/h8300/h8300.c (shift_alg_si): Use special code for
808         15-bit logical shifts and 31-bit logical shifts.
809         (get_shift_alg): Generate special code for 15-bit and 31-bit
810         logical shifts.
811
812 2001-11-12  Kazu Hirata  <kazu@hxi.com>
813
814         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
815         doing 6-bit logical shifts on H8/S.
816         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
817         (get_shift_alg): Generate special code for 21-bit shifts on
818         H8/S.
819
820 2001-11-12  Kazu Hirata  <kazu@hxi.com>
821
822         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
823         label.
824
825 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
826
827         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
828         if both size and offset known.
829
830 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
831
832         * config/ia64/freebsd.h: Fix misspelling.
833
834 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
835
836         * doc/gcc.texi: Move several chapters out to ...
837         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
838         doc/include/linux-and-gnu.texi, doc/interface.texi,
839         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
840         ... here.  New files.
841         * doc/gcc.texi, doc/contrib.texi: Move section headings into
842         contrib.texi.
843         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
844
845 2001-11-12  Kazu Hirata  <kazu@hxi.com>
846
847         * config/alpha/alpha-interix.h: Fix comment formatting.
848         * config/alpha/alpha.c: Likewise.
849         * config/alpha/alpha.h: Likewise.
850         * config/alpha/alpha32.h: Likewise.
851         * config/alpha/freebsd.h: Likewise.
852         * config/alpha/unicosmk.h: Likewise.
853         * config/alpha/vms.h: Likewise.
854
855 2001-11-12  Kazu Hirata  <kazu@hxi.com>
856
857         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
858
859 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
860
861         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
862         numbers.
863
864 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
865
866         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
867         from type.
868         (replace_equiv_address): Call update_temp_slot_address.
869
870         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
871
872         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
873
874 2001-11-12  Kazu Hirata  <kazu@hxi.com>
875
876         * config/h8300/h8300.c (shift_alg_qi): New.
877         (shift_alg_hi): Likewise.
878         (shift_alg_si): Likewise.
879         (get_shift_alg): Change the type of count to unsigned int.
880         Use the tables.
881
882 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
883
884         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
885         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
886         to decide whether to defer a function.
887         (finish_function): Adjust.
888         (c_expand_deferred_function): New function.
889         * c-lang.c (deferred_fns): New variable.
890         (c_init): Initialize it, and mark it as a root.
891         (defer_fn): New function.
892         (finish_file): Expand all deferred functions.
893         * c-tree.h (defer_fn): Declare.
894         (c_expand_deferred_function): Likewise.
895         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
896         * objc-act.c (deferred_fns): New variable.
897         (objc_init): Initialize it, and mark it as a root.
898         (defer_fn): New function.
899         (finish_file): Expand all deferred functions.
900
901 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
902
903         * alpha.c (unicosmk_special_name): Prototype.
904         (unicosmk_ssib_name): Delete unused variable.
905         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
906         * alpha/vms.h (PREFIX): Undef before defining.
907         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
908         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
909         controlling usage.  Const-ify.
910         (alias_number): Delete unused variable.
911         * m32r/m32r.c (m32r_sched_init): Add missing argument.
912         (m32r_expand_block_move): Fix uninitialized warnings.
913         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
914         always true' warnings.
915         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
916         * sh/sh.c: Include "integrate.h".
917         (output_far_jump): Fix uninitialized warning.
918         * final.c (shorten_branches): Avoid automatic aggregate
919         initialization.
920         * integrate.c (subst_constants): Likewise.
921
922 2001-11-11  Kazu Hirata  <kazu@hxi.com>
923
924         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
925         (get_shift_alg): Remove redundant code.
926
927 2001-11-11  Kazu Hirata  <kazu@hxi.com>
928
929         * config/pa/milli64.S: Fix comment formatting.
930         * config/pa/pa-64.h: Likewise.
931         * config/pa/pa-linux.h: Likewise.
932         * config/pa/pa-protos.h: Likewise.
933         * config/pa/pa.c: Likewise.
934         * config/pa/pa.h: Likewise.
935         * config/pa/pa32-linux.h: Likewise.
936         * config/pa/pa32-regs.h: Likewise.
937         * config/pa/pa64-hpux.h: Likewise.
938         * config/pa/pa64-regs.h: Likewise.
939         * config/pa/som.h: Likewise.
940
941 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
942
943         * doc/gcc.texi: Move several chapters out to ...
944         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
945         doc/service.texi, doc/standards.texi, doc/trouble.texi,
946         doc/vms.texi: ... here.  New files.
947         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
948
949 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
950
951         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
952         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
953         collect2.c, combine.c, config.in, configure, configure.in,
954         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
955         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
956         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
957         spelling errors.
958
959 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
960
961         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
962         Adjust operand number in CONST_DOUBLE.
963
964         * expmed.c (extract_bit_field): No longer pass in alignment.
965         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
966         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
967         Likewise.
968         * expr.c (store_constructor, store_constructor_field): Likewise.
969         (store_field, emit_group_load, emit_group_store): Likewise.
970         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
971         (store_bit_field, extract_bit_field): Likewise.
972         * calls.c, expr.c, function.c: Change calls to above functions.
973         * ifcvt.c, stmt.c: Likewise.
974
975         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
976         constant and one is on frame.
977         If know memref offset, adjust size from decl.
978
979 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
980
981         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
982         format specifier warning.
983         * convex.h (ASM_OUTPUT_BYTE): Likewise.
984         * elfos.h (ALIGN_ASM_OP): Undef before defining.
985         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
986         warning.
987         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
988         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
989         * i386-interix.h (gen_stdcall_suffix): Prototype.
990         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
991         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
992         ASM_OUTPUT_LONG_DOUBLE): Likewise.
993         * i386/interix.c (gen_stdcall_suffix): Const-ify.
994         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
995         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
996         specifier warnings.
997         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
998         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
999         ASM_OUTPUT_LONG_DOUBLE): Likewise.
1000         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1001         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1002         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1003         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1004         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1005         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1006         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1007         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1008         Likewise.
1009         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1010         Likewise.
1011         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
1012         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1013         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
1014         Likewise.
1015         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
1016         Likewise.
1017         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1018         Likewise.
1019         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
1020         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1021         * m68k/news.h (PRINT_OPERAND): Likewise.
1022         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1023         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1024         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1025         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
1026         definition.
1027         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1028         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
1029         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
1030         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1031         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
1032         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
1033         PRINT_OPERAND): Likewise.
1034         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1035         Likewise.
1036         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1037         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1038         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
1039         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1040         * mips.c (mips_output_external_libcall): Mark parameter with
1041         ATTRIBUTE_UNUSED.
1042         (mips_asm_file_start): Move variable into the scope where it's
1043         used.
1044         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
1045         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1046         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
1047         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1048         * ns32k.c (print_operand): Likewise.
1049         * pa.c (print_operand, output_div_insn): Likewise.
1050         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
1051         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
1052         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
1053         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1054         specifier warnings.
1055         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1056         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1057         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
1058         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1059         specifier warnings.
1060         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1061
1062         * sdbout.c (sdbout_end_epilogue): Mark parameter with
1063         ATTRIBUTE_UNUSED.
1064         * varasm.c (assemble_global): Likewise.
1065
1066 2001-11-11  H.J. Lu <hjl@gnu.org>
1067
1068         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
1069
1070 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
1071
1072         * final.c (*_MAX_SKIP): Use *_max_skip variables.
1073         * flags.h (align_loops_max_skip, align_jumps_max_skip,
1074         align_labels_max_skip): New global variables.
1075         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
1076         align_labels_max_skip): New global variables.
1077         (toplev_main): Set new variables.
1078         * i386.c (override_options): Set max_skip values.
1079
1080 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
1081
1082         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1083         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1084         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1085         don't print an @fptr for labels either.
1086         (xstormy16_output_addr_vec): Don't print @fptr here.
1087         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1088
1089 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
1090
1091         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1092         an ANSI/ISO definitino.
1093         (ssa_const_prop): Likewise.
1094
1095 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
1096
1097         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1098         altivec registers.
1099
1100 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1101
1102         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1103         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1104         * cppmain.c (general_init): Call hex_init.
1105         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
1106
1107         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1108
1109         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1110         of dgux.c:output_file_start().
1111
1112         * i386/dgux.c: Delete file.
1113
1114 2001-11-09  Richard Henderson  <rth@redhat.com>
1115
1116         * config/alpha/alpha.c (decl_in_text_section): New.
1117         (current_file_function_operand): Use it.
1118         (alpha_encode_section_info, alpha_end_function): Likewise.
1119
1120 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
1121
1122         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1123         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1124         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1125         so OS specific files and use CPP_PREDEFINES for their needs.
1126         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
1127         target headers to tm_file.
1128         * config/ia64/aix.h (TARGET_VERSION): Likewise.
1129         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1130         * config/ia64/linux.h (TARGET_VERSION): Likewise.
1131         (FUNCTION_PROFILER): Remove.
1132         * config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
1133         version in config/ia64/linux.h.
1134         * config/ia64/freebsd.h: New file.
1135         * config/freebsd.h: Tidy up.
1136         (_USING_CONFIG_FREEBSD): Define.
1137         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
1138         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
1139         (FBSD_STARTFILE_SPEC): Likewise.
1140         (FBSD_ENDFILE_SPEC): Likewise.
1141         (FBSD_LIB_SPEC): Likewise.
1142         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
1143         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
1144         set an ELF-improper one.
1145
1146 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1147
1148         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
1149         constant can be loaded in a single instruction to a register.  When
1150         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
1151         depdi for insertion of most significant 32-bits on 64-bit hosts.
1152         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
1153         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
1154         * pa.md: New addmove pattern for adding constant_int to HImode
1155         register and moving result to HImode register.  Remove HImode HIGH
1156         and LO_SUM patterns.
1157
1158 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1159
1160         * Makefile.in: Update.
1161         * c-decl.c (print_lang_decl, print_lang_type): Remove.
1162         (print_lang_identifier): Rename c_print_identifier.
1163         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1164         (print_lang_statistics, lang_print_xnode): Remove.
1165         * c-parse.in (set_yydebug): Rename c_set_yydebug.
1166         * c-tree.h (c_set_yydebug, c_print_identifier): New.
1167         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
1168         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
1169         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
1170         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1171         (LANG_HOOKS_INITIALIZER): Update.
1172         * langhooks.h (struct lang_hooks): New members.
1173         (lang_print_tree_hook): New.
1174         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
1175         * print-tree.c: Include langhooks.h.
1176         (print_node): Update.
1177         * toplev.c (decode_d_option): Update.
1178         * tree.c: Include langhooks.h.
1179         (dump_tree_statistics): Update.
1180         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
1181         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
1182 objc:
1183         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
1184         LANG_HOOKS_SET_YYDEBUG): Override.
1185         (lang_print_xnode, print_lang_statistics): Remove.
1186
1187 2001-11-09  Richard Henderson  <rth@redhat.com>
1188
1189         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
1190         on the symbol string.
1191
1192 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1193
1194         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
1195         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
1196         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
1197
1198         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
1199
1200         * tlink.c (recompile_files): Copy strings passed to `putenv'.
1201
1202 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
1203
1204         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
1205         (TYPE_READONLY): Likewise.
1206
1207         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
1208
1209         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
1210         don't pass --gdwarf2 to the assembler if the compiler will also
1211         provide debug info.
1212
1213         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
1214         Don't change INDEX.
1215
1216 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1217
1218         * alias.c (nonoverlapping_memrefs_p): New function.
1219         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
1220
1221         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
1222
1223 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
1224
1225         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
1226         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
1227         generating altivec code.
1228         (FIXED_REGISTERS): VRSAVE is fixed.
1229         (CALL_USED_REGISTERS): VRSAVE is call used.
1230
1231 2001-11-09  Jason Eckhardt  <jle@rice.edu>
1232
1233         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
1234         code the branch target as ".+16/.+12", but rather use labels.
1235
1236 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
1237
1238         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
1239         to work around limitations of certain versions of GAS.
1240
1241         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
1242         (muldi3): Update due to SUBREG_BYTE changes.
1243         (casesi): Similarly.
1244
1245 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
1246
1247         * doc/invoke.texi: Remove comment referring to -xf77-version.
1248
1249 2001-11-09  Kazu Hirata  <kazu@hxi.com>
1250
1251         * config/convex/convex.c: Fix comment formatting.
1252         * config/convex/convex.h: Likewise.
1253
1254 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
1255
1256         * Makefile.in (.po.pox): Look both in srcdir and builddir
1257         for $(PACKAGE).pot.
1258         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
1259         to the source directory.
1260
1261 2001-11-09 Ben Elliston  <bje@redhat.com>
1262            Michael Meissner  <meissner@redhat.com>
1263            Andrew MacLeod  <amacleod@redhat.com>
1264            Richard Henderson  <rth@redhat.com>
1265            Nick Clifton  <nickc@redhat.com>
1266            Catherine Moore  <clm@redhat.com>
1267
1268         * m32r.c: Add support for m32rx processor.
1269         * m32r.h: Ditto.
1270         * m32r.md: Ditto.
1271         * t-m32r: Ditto.
1272         * m32r-protos.h: Add prototypes for m32rx functions.
1273         * doc/invoke.texi: Document -m32rx option.
1274
1275 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1276
1277         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
1278         or after reload.
1279
1280 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1281
1282         * doc/install.texi2html: Use $MAKEINFO --no-split.
1283
1284 2001-11-09  Andreas Schwab  <schwab@suse.de>
1285
1286         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
1287         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
1288         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1289         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
1290         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
1291
1292 2001-11-09  H.J. Lu <hjl@gnu.org>
1293
1294         * config/mips/mips.c (mips_output_function_prologues): Cast
1295         `tsize' to long for output.
1296
1297 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1298
1299         * c-lang.c (LANG_HOOKS_NAME): New.
1300         (lang_hooks): Constify.
1301         (c_init_options): Update.
1302         (lang_identify): Remove.
1303         * c-parse.in (language_string): Remove.
1304         * dbxout.c: Include langhooks.h.
1305         (dbxout_symbol_location): Update.
1306         * dwarf2out.c: Include langhooks.h.
1307         (gen_compile_unit_die): Update.
1308         * dwarfout.c: Include langhooks.h.
1309         (prototyped_attribute, output_compile_unit_die): Update.
1310         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
1311         (LANG_HOOKS_INITIALIZER): Update.
1312         * langhooks.h (struct lang_hooks): New members.  Constify.
1313         * stringpool.c: Don't include toplev.h.
1314         (set_identifier_size): Remove.
1315         * toplev.c (toplev_main): Initialize identifier size.
1316         (print_version): Update.
1317         * tree.h (language_string, init_lex, lang_identify,
1318         set_identifier_size): Remove.
1319         * Makefile.in: Update dependencies.
1320         * config/darwin.c: Include langhooks.h.
1321         (func_name_maybe_scoped): Update.
1322         * config/darwin.h (ASM_END_FILE): Update.
1323         * config/nextstep.h (ASM_END_FILE): Update.
1324         * config/nextstep21.h (ASM_END_FILE): Update.
1325         * config/i386/sun386.h (ASM_END_FILE): Update.
1326         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
1327         (rs6000_output_function_epilogue): Update.
1328 objc:
1329         * objc-act.c (LANG_HOOKS_NAME): Override.
1330         (struct lang_hooks): Constify.
1331         (objc_init_options): Update.
1332         (lang_identify): Remove.
1333
1334 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
1335
1336         * fold-const.c (lshift_double): Honor PREC.
1337         (rshift_double): Likewise.
1338
1339 2001-11-08  Kazu Hirata  <kazu@hxi.com>
1340
1341         * config/1750a/1750a.c: Fix comment formatting.
1342         * config/1750a/1750a.h: Likewise.
1343
1344 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
1345
1346         * configure.in (--enable-languages): Be more permissive about
1347         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
1348         * configure: Regenerated.
1349
1350 2001-11-08  Richard Henderson  <rth@redhat.com>
1351
1352         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
1353
1354 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
1355
1356         * config.gcc: Rename stormy16 to xstormy16.
1357         * config/stormy16/stormy-abi: Likewise.
1358         * config/stormy16/stormy16-protos.h: Likewise.
1359         * config/stormy16/stormy16.c: Likewise.
1360         * config/stormy16/stormy16.h: Likewise.
1361         * config/stormy16/stormy16.md: Likewise.
1362
1363 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
1364
1365         * tree.h (TYPE_VOLATILE): Add enable-checking code.
1366         (TYPE_READONLY): Likewise.
1367
1368 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1369
1370         * reload1.c (reload): Don't delete equiv insn if can throw.
1371
1372         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
1373         (clear_storage): Likewise, for OBJECT.
1374
1375 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
1376
1377         * pa.c (emit_move_sequence): Fix SUBREG expression to
1378         use proper byte offset when extending a constant from
1379         SImode to DImode.
1380
1381 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
1382
1383         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
1384         which cannot throw.
1385
1386 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1387
1388         * explow.c (convert_memory_address, case SUBREG): Only return
1389         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
1390
1391 2001-11-08  Richard Henderson  <rth@redhat.com>
1392
1393         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
1394         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
1395         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
1396
1397 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
1398
1399         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
1400
1401 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1402
1403         * dwarf2out.c (debug_str_hash): New.
1404         (struct indirect_string_node): New.
1405         (struct dw_val_struct): Change type of val_str to it.
1406         (DEBUG_STR_SECTION_FLAGS): Define.
1407         (add_AT_string): Push string into hashtable, increment reference
1408         counter.
1409         (AT_string): Return string from ht_identifier.
1410         (AT_string_form): New.
1411         (free_AT): For dw_val_class_str, just decrement reference counter.
1412         (size_of_string): Remove.
1413         (size_of_die): Use AT_string_form to decide what size the string
1414         occupies in DIE.
1415         (size_of_pubnames): Use strlen instead of size_of_string.
1416         (value_format): Use AT_string_form for dw_val_class_str.
1417         (output_die): Output DW_FORM_strp strings using
1418         dw2_asm_output_offset.
1419         (indirect_string_alloc, output_indirect_string): New.
1420         (dwarf2out_finish): Emit .debug_str strings if there are any.
1421
1422 2001-11-08  Andreas Franck  <afranck@gmx.de>
1423
1424         * configure.in: Add AC_ARG_PROGRAM to support program name
1425         transformation with --program-prefix, --program-suffix and
1426         --program-transform-name.
1427         * configure: Regenerated.
1428         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
1429         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
1430         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
1431         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
1432         program_transform_name the way suggested by autoconf.
1433         (GCC_TARGET_INSTALL_NAME): Define.
1434         (install-driver): Use the transformed target alias name.
1435
1436 2001-11-08  Richard Henderson  <rth@redhat.com>
1437
1438         * config/mips/mips.c (save_restore_insns): Remove GP from the
1439         restore registers mask early instead of special casing it inside
1440         the loop.
1441
1442 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1443
1444         * cp/decl.c (shadow_warning): New function.
1445         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
1446         and an error when a block scope decl shadows a parameter.
1447
1448 2001-11-08  Richard Henderson  <rth@redhat.com>
1449
1450         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
1451         case as well.
1452
1453 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1454
1455         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
1456         to implement floating negation on processors prior to PA 2.0.
1457
1458 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
1459
1460         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
1461         (USE_LINKONCE_INDIRECT): Define.
1462         (dw2_output_indirect_constant_1): Try to output indirect constants
1463         into linkonce sections if possible.
1464         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
1465         (dw2_output_indirect_constants): Likewise.
1466
1467 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1468
1469         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
1470
1471 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
1472
1473         * c-decl.c (pushdecl): Remove file and line.
1474         * c-typeck.c (pop_init_level): Remove size.
1475
1476 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
1477
1478         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
1479         for rs6000.
1480
1481         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
1482         (TARGET_ALTIVEC): New.
1483         (TARGET_SWITCHES): Add altivec.
1484         (FIRST_PSEUDO_REGISTER): Change to 109.
1485         (CALL_USED_REGISTERS): Same.
1486         (FIRST_ALTIVEC_REGNO): New.
1487         (LAST_ALTIVEC_REGNO): New.
1488         (ALTIVEC_REGNO_P): New.
1489         (UNITS_PER_ALTIVEC_WORD): New.
1490         (ALTIVEC_VECTOR_MODE): New.
1491         (FIXED_REGISTERS): Add altivec registers.
1492         (REG_ALLOC_ORDER): Same.
1493         (HARD_REGNO_NREGS): Adjust for altivec registers.
1494         (HARD_REGNO_MODE_OK): Same.
1495         (MODES_TIEABLE_P): Same.
1496         (REGISTER_MOVE_COST): Same.
1497         (REGNO_REG_CLASS): Same.
1498         (reg_class): Add ALTIVEC_REGS.
1499         (REG_CLASS_NAMES): Same.
1500         (REG_CLASS_CONTENTS): Same.
1501         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
1502         (ALTIVEC_ARG_RETURN): New.
1503         (FUNCTION_VALUE): Handle VECTOR_TYPE.
1504         (LIBCALL_VALUE): Handle altivec vector modes.
1505         (VECTOR_MODE_SUPPORTED_P): New.
1506         (ALTIVEC_ARG_MIN_REG): New.
1507         (ALTIVEC_ARG_MAX_REG): New.
1508         (ALTIVEC_ARG_NUM_REG): New.
1509         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
1510         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
1511         (REGISTER_NAMES): Add altivec regs.
1512         (DEBUG_REGISTER_NAMES): Same.
1513         (ADDITIONAL_REGISTER_NAMES): Same.
1514         (rs6000_builtins): New.
1515         (MD_EXPAND_BUILTIN): New.
1516         (MD_INIT_BUILTINS): New.
1517         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
1518         for AltiVec instructions.
1519         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1520         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
1521         registers.
1522         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
1523         (TARGET_SWITCHES): Add no-altivec.
1524         (DATA_ALIGNMENT): Align vectors to 128 bits.
1525         (TARGET_OPTIONS): Add abi= option.
1526         Add rs6000_abi_string extern.
1527         (LOCAL_ALIGNMENT): New.
1528         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
1529         (MASK_ALTIVEC_ABI): New.
1530         (TARGET_ALTIVEC_ABI): New.
1531         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
1532         call-saved.
1533         (STACK_BOUNDARY): Adjust for altivec.
1534         (BIGGEST_ALIGNMENT): Same.
1535         (rs6000_args): Add vregno.
1536         (USE_ALTIVEC_FOR_ARG_P): New.
1537         (FIXED_REGISTERS): Add vrsave register.
1538         (CALL_USED_REGISTERS): Same.
1539         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
1540         (VRSAVE_REGNO): New.
1541         (reg_class): Add VRSAVE_REGS.
1542         (REG_CLASS_NAMES): Same.
1543         (REG_CLASS_CONTENTS): Same.
1544         (REGNO_REG_CLASS): Same.
1545
1546         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
1547         (ABI_STACK_BOUNDARY): Same.
1548         (BIGGEST_ALIGNMENT): Same.
1549         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
1550         (ROUND_TYPE_ALIGN): Same.
1551
1552         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1553         to 64.
1554
1555         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1556         to 64.
1557
1558         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1559         to 64.
1560
1561         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
1562         (altivec_expand_builtin): New.
1563         (altivec_init_builtins): New.
1564         (TARGET_EXPAND_BUILTIN): New.
1565         (TARGET_INIT_BUILTINS): New.
1566         (rs6000_init_builtins): New.
1567         (struct builtin_description): New.
1568         (bdesc_2arg): New.
1569         (rs6000_reg_names): Add altivec registers.
1570         (alt_reg_names): Same.
1571         (secondary_reload_class): Altivec regs can hold altivec regs and
1572         memory.
1573         (rs6000_emit_move): Force constants into memory for AltiVec moves.
1574         (print_operand): Add 'y' case for printing altivec memory
1575         operands.
1576         (rs6000_legitimize_address): Legitimize vector addresses into
1577         [REG+REG] or [REG].
1578         (altivec_expand_binop_builtin): New.
1579         New string rs6000_current_abi.
1580         (rs6000_override_options): Call rs6000_parse_abi_options.
1581         (rs6000_parse_abi_options): New.
1582         (function_arg_boundary): Vector arguments must be 16
1583         byte aligned.
1584         (function_arg_advance): Handle vector arguments.
1585         (function_arg_partial_nregs): Same.
1586         (init_cumulative_args): Same.
1587         (function_arg): Same.
1588
1589         * config/rs6000/rs6000.md (altivec_lvx): New.
1590         (type): Add altivec attribute.
1591         (movv4si): New.
1592         (*movv4si_internal): New.
1593         (movv16qi): New.
1594         (*movv16qi_internal): New.
1595         (movv8hi): New.
1596         (*movv8hi_internal1): New.
1597         (movv4sf): New.
1598         (*movv4sf_internal1): New.
1599         (altivec_stvx): New.
1600         (vaddubm): New.
1601         (vadduhm): New.
1602         (vadduwm): New.
1603         (vaddfp): New.
1604         (vaddcuw): New.
1605         (vaddubs): New.
1606         (vaddsbs): New.
1607         (vadduhs): New.
1608         (vaddshs): New.
1609         (vadduws): New.
1610         (vaddsws): New.
1611         (vand): New.
1612         (vandc): New.
1613         (vavgub): New.
1614         (vavgsb): New.
1615         (vavguh): New.
1616         (vavgsh): New.
1617         (vavguw): New.
1618         (vavgsw): New.
1619         (vcmpbfp): New.
1620         (vcmpequb): New.
1621         (vcmpequh): New.
1622         (vcmpequw): New.
1623         (vcmpeqfp): New.
1624         (vcmpgefp): New.
1625         (vcmpgtub): New.
1626         (vcmpgtsb): New.
1627         (vcmpgtuh): New.
1628         (vcmpgtsh): New.
1629         (vcmpgtuw): New.
1630         (vcmpgtsw): New.
1631         (vcmpgtfp): New.
1632         (vcmpgefp): New.
1633         (vcmpgtub): New.
1634         (vcmpgtsb): New.
1635         (vcmpgtuh): New.
1636         (vcmpgtsh): New.
1637         (vcmpgtuw): New.
1638         (vcmpgtsw): New.
1639         (vcmpgtfp): New.
1640         (vmaxub): New.
1641         (vmaxsb): New.
1642         (vmaxuh): New.
1643         (vmaxsh): New.
1644         (vmaxuw): New.
1645         (vmaxsw): New.
1646         (vmaxfp): New.
1647         (vmrghb): New.
1648         (vmrghh): New.
1649         (vmrghw): New.
1650         (vmrglb): New.
1651         (vmrglh): New.
1652         (vmrglw): New.
1653         (vminub): New.
1654         (vminsb): New.
1655         (vminuh): New.
1656         (vminsh): New.
1657         (vminuw): New.
1658         (vminsw): New.
1659         (vminfp): New.
1660         (vmuleub): New.
1661         (vmulesb): New.
1662         (vmuleuh): New.
1663         (vmulesh): New.
1664         (vmuloub): New.
1665         (vmulosb): New.
1666         (vmulouh): New.
1667         (vmulosh): New.
1668         (vnor): New.
1669         (vor): New.
1670         (vpkuhum): New.
1671         (vpkuwum): New.
1672         (vpkpx): New.
1673         (vpkuhss): New.
1674         (vpkshss): New.
1675         (vpkuwss): New.
1676         (vpkswss): New.
1677         (vpkuhus): New.
1678         (vpkshus): New.
1679         (vpkuwus): New.
1680         (vpkswus): New.
1681         (vrlb): New.
1682         (vrlh): New.
1683         (vrlw): New.
1684         (vslb): New.
1685         (vslh): New.
1686         (vslw): New.
1687         (vsl): New.
1688         (vslo): New.
1689         (vsrb): New.
1690         (vrsh): New.
1691         (vrsw): New.
1692         (vsrab): New.
1693         (vsrah): New.
1694         (vsraw): New.
1695         (vsr): New.
1696         (vsro): New.
1697         (vsububm): New.
1698         (vsubuhm): New.
1699         (vsubuwm): New.
1700         (vsubfp): New.
1701         (vsubcuw): New.
1702         (vsububs): New.
1703         (vsubsbs): New.
1704         (vsubuhs): New.
1705         (vsubshs): New.
1706         (vsubuws): New.
1707         (vsubsws): New.
1708         (vsum4ubs): New.
1709         (vsum4sbs): New.
1710         (vsum4shs): New.
1711         (vsum2sws): New.
1712         (vsumsws): New.
1713         (vxor): New.
1714
1715 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
1716
1717         * Makefile.in (df.o): Add fibheap.h to dependencies.
1718
1719         * df.h: Add prototypes for transfer functions, iterative_dataflow
1720         functions.
1721         (enum df_flow_dir): New enum.
1722         (enum df_confluence_op): New enum.
1723         (struct df): Add inverse_rts_map.
1724
1725         * df.c: Add sbitmap.h to the list of includes.
1726         (df_rd_global_compute): Removed.
1727         (df_ru_global_compute): Removed.
1728         (df_lr_global_compute): Removed.
1729         (df_rd_transfer_function): New function.
1730         (df_ru_transfer_function): New function.
1731         (df_lr_transfer_function): New function.
1732         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
1733         Use iterative_dataflow_bitmap instead of df_*_global_compute.
1734         (iterative_dataflow_sbitmap): New function.
1735         (iterative_dataflow_bitmap): New function.
1736
1737 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1738
1739         * doc/gcc.texi: Move terminology and spelling conventions to
1740         htdocs/codingconventions.html.
1741
1742 2001-11-07  Graham Stott  <grahams@redhat.com>
1743
1744         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
1745
1746 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
1747
1748         * expmed.c (expand_mult): Force operand to register before computing
1749         cost.
1750         * i386.c (x86_decompose_lea): New global vairable.
1751         * i386.h (x86_decompose_lea): Declare.
1752         (TARGET_DECOMPOSE_LEA): New macro.
1753         (RTX_COST): Handle leas properly.
1754
1755 2001-11-06  Richard Henderson  <rth@redhat.com>
1756
1757         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
1758         defined for a CONSTRUCTOR; don't check it.
1759
1760 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
1761
1762         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
1763         test for absolute pathnames.
1764
1765 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
1766
1767         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
1768         instructions up to the target pc inclusive.
1769
1770 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
1771
1772         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
1773
1774 2001-11-06  Eric Christopher  <echristo@redhat.com>
1775
1776         * config/mips/mips.md(movdf_internal2): Add constraints for float
1777         to general register move.
1778         * config/mips/elf64.h: Add default ABI.
1779
1780 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1781
1782         * alias.c:: Include langhooks.h.
1783         * emit-rtl.c: Similarly.
1784         * toplev.c: Similarly.
1785         * tree-inline.c: Similarly.
1786         * langhooks-def.h: New, the old langhooks.h.  Give the default
1787         hooks a common prefix.
1788         * langhooks.h: Contents extracted from toplev.h.
1789         * toplev.h: Move langhook stuff to langhooks.h.
1790         * langhooks.c: Give default hooks a common prefix.
1791
1792         * c-lang.c: Include langhooks-def.h.
1793         * objc/objc-act.c: Similarly.
1794         * Makefile.in: Update.
1795         * objc/Make-lang.in: Update.
1796
1797 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1798
1799         * doc/install.texi: Document that configure options not listed in
1800         this file are unsupported.  Document --with-system-zlib.
1801
1802 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1803
1804         * rtl.h (mem_for_const_double): New declaration.
1805         * varasm.c (mem_for_const_double): New function.
1806         * config/convex/convex.md (movdf): Use it.
1807         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
1808         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
1809         * config/m68k/m68kv4.h: Likewise.
1810
1811         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
1812         of new GP reg classes.
1813
1814         * expr.c (store_field): When making temp object for unaligned
1815         component, set it to alias set 0.
1816
1817 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
1818
1819         * c-common.c (c_expand_expr_stmt): Apply default conversions to
1820         non-lvalue arrays if C99.
1821         * c-typeck.c (default_conversion): Split out code handling
1822         array-to-pointer and function-to-pointer conversions into a
1823         separate default_function_array_conversion function.
1824         (default_function_array_conversion): New function.  Keep track of
1825         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
1826         arrays unchanged outside C99 mode instead of giving an error for
1827         them.
1828         (build_component_ref): Use pedantic_non_lvalue when handling
1829         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
1830         (convert_arguments): Use default_function_array_conversion.
1831         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
1832         non-lvalues are OK.
1833         (unary_complex_lvalue): Likewise.
1834         (internal_build_compound_expr): Use
1835         default_function_array_conversion.  Apply default conversions to
1836         function in compound expression.
1837         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
1838         Use default_function_array_conversion.
1839         * doc/extend.texi: Update documentation of subscripting non-lvalue
1840         arrays.
1841         Fixes PR c/461.
1842
1843 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
1844
1845         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
1846         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
1847         corresponding to the complete set of .po and .gmo files in
1848         the source directory's po subdir, modified by LINGUAS.  Don't
1849         look at ALL_LINGUAS.
1850         * configure.in: Don't set ALL_LINGUAS.
1851         * configure: Regenerate.
1852
1853         * Makefile.in (.po.gmo): Don't move into source directory.
1854         (.po.pox): Clarify comments.
1855         (install-po): Look for .gmo files in both srcdir and objdir;
1856         don't fail if a file is totally missing.
1857         (distclean): rmdir ada subdirectory too.
1858
1859 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
1860
1861         * config/rs6000/rs6000.c (rs6000_select_section): Handle
1862         CONSTRUCTORs _correctly_.
1863
1864 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1865
1866         * c-decl.c (delete_block): Remove.
1867         * c-tree.h (delete_block): Remove.
1868
1869 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1870
1871         * cppexp.c (lex, parse_defined): Update warning about defined.
1872
1873 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
1874
1875         * config/rs6000/rs6000.c (rs6000_select_section): Handle
1876         CONSTRUCTORs too.
1877
1878 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
1879
1880         * config/arm/arm.c (arm_return_in_memory): Cope with
1881         int_size_in_bytes returning -1.
1882
1883         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
1884         DECL being NULL.
1885
1886 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
1887
1888         * Makefile.in (bb-reoder.o): Add dependency on cfglayout.h;
1889         remove unneeded dependencies;
1890         (cfglayout.o): New.
1891         * cfglayout.c, cfglayout.h: New files; break out from ...
1892         * bb-reorder.c: ... here; Remove unneeded includes;
1893
1894 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
1895
1896         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
1897
1898 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
1899
1900         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
1901         mode as well.  Do not explicitly create intermediate regs.
1902
1903 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1904
1905         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
1906         (common_section): Delete unused variable.
1907         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
1908         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1909         * arm-protos.h (arm_poke_function_name, aof_add_import,
1910         aof_delete_import): Const-ify.
1911         * arm.c (legitimize_pic_address): Wrap variables in the macro
1912         controlling their usage.
1913         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
1914         (arm_poke_function_name, pic_chain, import, aof_add_import,
1915         aof_delete_import): Const-ify.
1916         * i386.c (ix86_osf_output_function_prologue): Const-ify.
1917         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1918         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
1919         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
1920         * i860/sysv3.h: Add missing comment closure.
1921         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
1922         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
1923         to symbolic_operand.
1924
1925         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
1926         (i960-*-*): Set tmake_file.
1927         (sparc86x-*-elf*): Fix typo in header name.
1928
1929         * sched-rgn.c (schedule_insns): Delete unused variable.
1930
1931 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1932
1933         PR c/2820
1934         * c-typeck.c (lookup_field): Rework to return a chain down to
1935         the looked-up field.
1936         (build_component_ref): Use the new lookup_field to handle
1937         nested anonymous entities correctly.
1938
1939 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1940
1941         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
1942         Change parameters to gen_rtx_CONST_DOUBLE.
1943         (GEN_INT64, sparc_emit_set_const64): Likewise.
1944         * config/sparc/sparc.md (movdf split): Likewise.
1945
1946 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
1947
1948         * unroll.c (calculate_giv_inc): Use find_last_value rather
1949         than just hoping the last instruction is the right SET.
1950         [Fixes 990604-1.c on stormy16.]
1951
1952         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
1953         library at all if -T is used.
1954
1955         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
1956         some uses of uninitialized variables in error cases.
1957
1958         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
1959         look at 'temp' if we won't be using it.
1960
1961         * config/stormy16/stormy16.h (CONST_COSTS): Define.
1962         (RTX_COSTS): Define.
1963         (ADDRESS_COST): Define.
1964         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
1965
1966         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
1967
1968         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
1969         stormy16_asm_output_mi_thunk.
1970         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
1971         function.
1972         * config/stormy16/stormy16-protos.h
1973         (stormy16_asm_output_mi_thunk): New prototype.
1974
1975 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1976
1977         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
1978         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
1979         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
1980         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
1981         sched-int.h, toplev.c, config/alpha/alpha.c,
1982         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
1983         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
1984         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
1985         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
1986         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
1987         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
1988         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
1989
1990 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1991
1992         * Makefile.in (dbxout.o): Depend on function.h.
1993         * collect2.c (is_in_list): Hide unused function.
1994         * dbxout.c: Include function.h.
1995         (source_label_number, dbxout_source_line, dbxout_source_file,
1996         dbxout_function_end, dbxout_begin_function): Wrap/move inside
1997         macros controlling usage.
1998         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
1999         * output.h (exports_section): Prototype.
2000
2001         * convex.c (convex_output_function_prologue): Fix format specifier
2002         warning.
2003         (asm_declare_function_name): Fix signed/unsigned warning.
2004         (print_operand): Fix format specifier warning.
2005         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2006         * dsp16xx-protos.h (uns_comparison_operator,
2007         num_1600_core_shifts): Prototype.
2008         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
2009         (frame_size, frame_pointer_offset): Delete.
2010         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
2011         Make static.  Fix format specifier warnings.
2012         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
2013         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
2014         * dsp16xx.md: Add default case in switches.
2015         * fr30.h (IN_RANGE): Delete.
2016         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2017         * mcore-protos.h (mcore_output_cmov): Const-ify.
2018         * mcore.c (mcore_output_cmov): Likewise.
2019         * mcore.h (switch_to_section): Make static and prototype.
2020         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
2021         unsigned>=0 warnings.
2022         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
2023         * rs6000-protos.h (read_only_data_section,
2024         read_only_private_data_section): Prototype.
2025         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2026         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
2027         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
2028
2029 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2030
2031         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
2032         ATTRIBUTE_UNUSED.
2033         * final.c (final_scan_insn): Add brackets around body of if-stmt.
2034         * gcc.c (convert_filename): Add static prototype.  Const-ify.
2035         Wrap variable in macros controlling its use.
2036         * output.h (sdata_section): Add prototype.
2037
2038         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2039         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
2040         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
2041         (ASM_FILE_START): Const-ify.
2042         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
2043         specifier warning.
2044         * c4x.md: Don't use the 'U' integer suffix.
2045         * clipper.md (clipper_movstr): Delete declaration.
2046         * d30v-protos.h (d30v_move_2words): Const-ify.
2047         (debug_stack_info): Add prototype.
2048         * d30v.c: Include "integrate.h".
2049         (d30v_function_arg_boundary, d30v_function_arg,
2050         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
2051         signed/unsigned warnings.
2052         (d30v_print_operand_memory_reference, d30v_move_2words):
2053         Const-ify.
2054         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
2055         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
2056         * fr30.md: Const-ify.
2057         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2058         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
2059         (mvs_get_label_page): Hide unused static function.
2060         * i860.c (current_function_original_name): Const-ify.
2061         * i860/sysv3.h (current_function_original_name): Likewise.
2062         * i860/sysv4.h (current_function_original_name): Likewise.
2063         * i960.md: Add default case in switches.  Remove unused variable.
2064         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
2065         * m32r.md: Const-ify.
2066         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
2067         * m68hc11.c: Include "reload.h".
2068         (static_chain_reg, print_options, m68hc11_asm_file_start):
2069         Const-ify.
2070         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
2071         around & in comparison.
2072         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2073         * mn10200.c (shift_mode): Remove trailing comma.
2074         * mn10300-protos.h (output_tst): Const-ify.
2075         * mn10300.c (output_tst): Likewise.
2076         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
2077         warnings.
2078         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
2079         * pa.c (output_ascii): Likewise.
2080         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2081         * pdp11.md (expand_unop): Delete declarations.
2082         * pj-protos.h (pj_output_addsi3): Const-ify.
2083         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2084         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2085         unique_src_operand): Add prototypes.
2086         (pj_output_store_into_lval): Make definition static.
2087         (pj_function_incoming_arg): Don't use unary plus.
2088         (pj_output_addsi3): Const-ify.
2089         * romp.md (get_symref): Delete declarations.
2090         * v850-c.c (mark_current_function_as_interrupt): Don't return
2091         value from void function.
2092         * v850.c: Include "integrate.h".
2093         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2094         * vax-protos.h (const_section): Add prototype.
2095
2096 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
2097
2098         * machmode.def: Add documentation for the seventh argument in
2099         vector modes.
2100
2101 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
2102
2103         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2104         consistently.
2105         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2106         <-melf>: Don't have markup for ELF acronym.
2107
2108 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
2109
2110         * config.gcc (mmix-*-*): New target.
2111         * doc/invoke.texi: Document MMIX options.
2112         * doc/contrib.texi: Add note about MMIX port to my entry.
2113         * config/mmix/t-mmix: New file.
2114         * config/mmix/mmix.h: New file.
2115         * config/mmix/mmix-protos.h: New file.
2116         * config/mmix/mmix.c: New file.
2117         * config/mmix/mmix.md: New file.
2118         * config/mmix/crti.asm: New file.
2119         * config/mmix/crtn.asm: New file.
2120
2121 2001-11-03  Kazu Hirata  <kazu@hxi.com>
2122
2123         * config/sparc/linux-aout.h: Fix comment formatting.
2124         * config/sparc/linux.h: Likewise.
2125         * config/sparc/linux64.h: Likewise.
2126         * config/sparc/lynx.h: Likewise.
2127         * config/sparc/pbd.h: Likewise.
2128         * config/sparc/sol2-sld-64.h: Likewise.
2129         * config/sparc/sol2.h: Likewise.
2130         * config/sparc/sparc.c: Likewise.
2131         * config/sparc/sparc.h: Likewise.
2132         * config/sparc/sparc.md: Likewise.
2133         * config/sparc/sunos4.h: Likewise.
2134         * config/sparc/vxsim.h: Likewise.
2135         * config/sparc/vxsparc.h: Likewise.
2136         * config/sparc/vxsparc64.h: Likewise.
2137
2138 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2139
2140         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
2141         reference to CONST_DOUBLE_MEM in comment.
2142         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
2143         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
2144         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
2145         * function.c (pop_function_context_from): Don't call
2146         restore_varasm_status.
2147         * function.h (restore_varasm_status): Delete declaration.
2148         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
2149         * rtl.c: Likewise.
2150         * rtl.def (CONST_DOUBLE): Update comment.
2151         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
2152         (CONST_DOUBLE_CHAIN): Likewise.
2153         (CONST_DOUBLE_MEM): Delete.
2154         (gen_rtx_CONST_DOUBLE): Update parameters.
2155         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
2156         Remove reference to CONST_DOUBLE_MEM.
2157         (const_alias_set): New variable.
2158         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
2159         (immed_real_const_1): Adjust tests for 0, 1, and 2.
2160         Don't set CONST_DOUBLE_MEM.
2161         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
2162         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
2163         Put constant in const_alias_set.
2164         (struct pool_constant): ALIGN now unsigned.
2165         OFFSET now HOST_WIDE_INT.
2166         Delete LABEL.
2167         (restore_varasm_status): Deleted.
2168         (mark_pool_constant): Mark desc->rtl.
2169         (force_const_mem): Rework to store rtl in hash table,
2170         not CONST_DOUBLE_MEM.
2171         Put constant in const_alias_set.
2172         (find_pool_constant): Check desc->rtl.
2173         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
2174         (init_varasm_once): Initialize const_alias_set.
2175
2176         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
2177         force_const_mem.
2178
2179         * reload.c (combine_reloads): Don't combine an output reload if there
2180         are other reloads around for part of the output.
2181
2182         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
2183         constant expression.
2184         (set_mem_decl): New function.
2185         * expr.h (set_mem_decl): New declaration.
2186         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
2187         (output_asm_operand_names): Add tab.
2188         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
2189
2190         * builtins.c (get_memory_rtx): Properly set MEM alias set and
2191         attributes.
2192
2193 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2194
2195         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
2196         Use "invalid" instead of "illegal".  Use @r in comments in
2197         examples.
2198
2199 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2200
2201         * c-decl.c (pushdecl): Move block inside if conditional to remove
2202         possibility of a segfault.  Lookup block-level extern
2203         variables in enclosing scopes correctly.
2204
2205         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
2206
2207 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2208
2209         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
2210         SUBREG so we avoid SUBREGing memory.
2211
2212         * expmed.c (store_bit_field): Same.
2213
2214 2001-11-02  DJ Delorie  <dj@redhat.com>
2215
2216         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
2217         using FP registers for DImode mem-mem moves is acceptable.
2218
2219 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
2220
2221         * builtins.c (apply_args_size): Handle vector arguments.
2222         (apply_result_size): Same.
2223
2224         * machmode.def: Set WIDER mode field for all vector entries.
2225
2226 2001-11-02  Graham Stott  <grahams@redhat.com>
2227
2228         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
2229
2230 2001-11-01  Eric Christopher  <echristo@redhat.com>
2231
2232         * config.gcc: Revert part of earlier patch.
2233         * config/mips/linux.h: Ditto.
2234         * df.c: Include tm_p.h to avoid warnings.
2235         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
2236         #if/#endif.
2237         * config/mips/mips.c: Define mips_abi regardless.
2238         (mips_output_function_prologues): Add long casts for .frame
2239         output.
2240         (override_options): Allow use of ABI_32.
2241
2242 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2243
2244         * config/m68hc11/m68hc11.c: Fix comment formatting.
2245         * config/m68hc11/m68hc11.h: Likewise.
2246         * config/m68hc11/m68hc11.md: Likewise.
2247
2248 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2249
2250         * c-typeck.c (default_conversion): Retain the original expression
2251         codes.
2252         * gcc.dg/Wparentheses.c: New tests.
2253
2254 2001-11-01  David S. Miller  <davem@redhat.com>
2255
2256         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
2257         64-bit Sparc description more in line with reality.
2258
2259 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
2260
2261         * Makefile.in (GCOV_OBJS): Add version.o.
2262         * gcov.c: Include "version.h" and <getopt.h>.
2263         (gcov_version_string): Remove.
2264         (print_usage): Take a parameter to determine whether this is a
2265         call from --help or an error message.  Give fuller output that
2266         follows the GNU Coding Standards for --help.
2267         (print_version): New function.
2268         (options): New.
2269         (process_args): Use getopt_long.  Support long options.  Follow
2270         GNU Coding Standards for --help and --version.
2271         * doc/gcov.texi: Document long options.
2272         Addresses part of PR other/704.
2273
2274 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2275
2276         * pa.c (output_move_double): Fix typo in double load.
2277
2278 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2279
2280         * config/h8300/h8300.c (h8300_encode_label): Compute a string
2281         before passing it to ggc_alloc_string.
2282
2283 2001-11-01  Kazu Hirata  <kazu@hxi.com>
2284
2285         * config/m68k/3b1.h: Fix comment formatting.
2286         * config/m68k/3b1g.h: Likewise.
2287         * config/m68k/a-ux.h: Likewise.
2288         * config/m68k/amix.h: Likewise.
2289         * config/m68k/apollo68.h: Likewise.
2290         * config/m68k/atari.h: Likewise.
2291         * config/m68k/aux-exit.c: Likewise.
2292         * config/m68k/ccur-GAS.h: Likewise.
2293         * config/m68k/crds.h: Likewise.
2294         * config/m68k/dpx2.h: Likewise.
2295         * config/m68k/dpx2g.h: Likewise.
2296         * config/m68k/hp310.h: Likewise.
2297         * config/m68k/hp320.h: Likewise.
2298         * config/m68k/isi.h: Likewise.
2299         * config/m68k/linux.h: Likewise.
2300         * config/m68k/lynx.h: Likewise.
2301         * config/m68k/m68k-psos.h: Likewise.
2302         * config/m68k/m68k.c: Likewise.
2303         * config/m68k/m68k.h: Likewise.
2304         * config/m68k/m68k.md: Likewise.
2305         * config/m68k/m68kelf.h: Likewise.
2306         * config/m68k/m68kv4.h: Likewise.
2307         * config/m68k/mot3300.h: Likewise.
2308         * config/m68k/news.h: Likewise.
2309         * config/m68k/next.h: Likewise.
2310         * config/m68k/pbb.h: Likewise.
2311         * config/m68k/plexus.h: Likewise.
2312         * config/m68k/sgs.h: Likewise.
2313         * config/m68k/sun3.h: Likewise.
2314         * config/m68k/tower.h: Likewise.
2315         * config/m68k/vxm68k.h: Likewise.
2316
2317 2001-10-31  DJ Delorie  <dj@redhat.com>
2318
2319         * config/mips/mips.h (mips_cache_flush_func): Prototype.
2320         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
2321         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
2322         * config/mips/mips.c (mips_cache_flush_func): New.
2323         * doc/invoke.texi: Document the new options.
2324
2325 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
2326
2327         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
2328         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
2329
2330         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
2331
2332         * config/cris/cris.c: Include output.h after tree.h but before
2333         target.h.
2334
2335 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
2336
2337         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
2338         (INTL_SUBDIRS): Just intl.
2339         (.SUFFIXES): Add .gmo .po .pox.
2340         (native): Also depend on build-@POSUB@.
2341         (intl.all, intl.install): Depend on config.h and things it includes.
2342         (po-generated): New target; depend on c-parse.c and tradcif.c.
2343         (install-normal): Also depend on install-@POSUB@.
2344         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
2345         (build-, install-, build-po, update-po, install-po,
2346         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
2347
2348         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
2349         * configure.in: Don't munge XGETTEXT.  Don't generate
2350         po/Makefile.in.
2351         * configure: Regenerate.
2352
2353         * exgettext: Delete.
2354         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
2355         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2356
2357 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2358
2359         * config/h8300/h8300.md (two anonymous patterns): New.
2360
2361 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
2362
2363         * tree.h (tree_index): Add support for V16QI and V8HI.
2364         (V8HI_type_node): New.
2365         (V16QI_type_node): New.
2366
2367         * tree.c (build_common_tree_nodes_2): Same.
2368
2369         * c-common.c (type_for_mode): Same.
2370
2371 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2372
2373         * config/i386/att.h: Fix comment formatting.
2374         * config/i386/beos-elf.h: Likewise.
2375         * config/i386/bsd.h: Likewise.
2376         * config/i386/bsd386.h: Likewise.
2377         * config/i386/crtdll.h: Likewise.
2378         * config/i386/cygwin.asm: Likewise.
2379         * config/i386/cygwin.h: Likewise.
2380         * config/i386/djgpp.h: Likewise.
2381         * config/i386/freebsd-aout.h: Likewise.
2382         * config/i386/freebsd.h: Likewise.
2383         * config/i386/gas.h: Likewise.
2384         * config/i386/i386-interix.h: Likewise.
2385         * config/i386/i386-protos.h: Likewise.
2386         * config/i386/i386.c: Likewise.
2387         * config/i386/i386.h: Likewise.
2388         * config/i386/i386.md: Likewise.
2389         * config/i386/i386elf.h: Likewise.
2390         * config/i386/interix.c: Likewise.
2391         * config/i386/isc.h: Likewise.
2392         * config/i386/isccoff.h: Likewise.
2393         * config/i386/iscdbx.h: Likewise.
2394         * config/i386/linux.h: Likewise.
2395         * config/i386/lynx.h: Likewise.
2396         * config/i386/mingw32.h: Likewise.
2397         * config/i386/netbsd-elf.h: Likewise.
2398         * config/i386/next.h: Likewise.
2399         * config/i386/osf1elf.h: Likewise.
2400         * config/i386/osfrose.h: Likewise.
2401         * config/i386/sco5.h: Likewise.
2402         * config/i386/seq-gas.h: Likewise.
2403         * config/i386/seq-sysv3.h: Likewise.
2404         * config/i386/sequent.h: Likewise.
2405         * config/i386/sol2.h: Likewise.
2406         * config/i386/sun386.h: Likewise.
2407         * config/i386/uwin.asm: Likewise.
2408         * config/i386/uwin.h: Likewise.
2409         * config/i386/vxi386.h: Likewise.
2410         * config/i386/win32.h: Likewise.
2411         * config/i386/winnt.c: Likewise.
2412         * config/i386/xm-cygwin.h: Likewise.
2413         * config/i386/xm-mingw32.h: Likewise.
2414
2415 2001-10-31  Kazu Hirata  <kazu@hxi.com>
2416
2417         * builtins.def: Fix comment typos.
2418         * config/alpha.c: Likewise.
2419         * config/arm/arm.c: Likewise.
2420         * config/avr/avr.h: Likewise.
2421         * config/d30v/d30v.c: Likewise.
2422         * config/d30v/d30v.h: Likewise.
2423         * config/d30v/d30v.md: Likewise.
2424         * config/dsp16xx/dsp16xx.c: Likewise.
2425         * config/fr30/fr30.c: Likewise.
2426         * config/fr30/fr30.md: Likewise.
2427         * config/i386/i386.c: Likewise.
2428         * config/i860/i860.c: Likewise.
2429         * config/i960/i960.c: Likewise.
2430         * config/ia64/ia64.c: Likewise.
2431         * config/mips/mips.c: Likewise.
2432         * config/pa/pa.c: Likewise.
2433         * config/rs6000/rs6000.c: Likewise.
2434         * config/s390/s390.c: Likewise.
2435         * config/sparc/sparc.c: Likewise.
2436
2437 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2438
2439         * config/mips/elf.h: Fix comment formatting.
2440         * config/mips/elf64.h: Likewise.
2441         * config/mips/iris5.h: Likewise.
2442         * config/mips/iris5gas.h: Likewise.
2443         * config/mips/iris6.h: Likewise.
2444         * config/mips/isa3264.h: Likewise.
2445         * config/mips/linux.h: Likewise.
2446         * config/mips/mips.c: Likewise.
2447         * config/mips/mips.h: Likewise.
2448         * config/mips/mips.md: Likewise.
2449         * config/mips/mips16.S: Likewise.
2450         * config/mips/netbsd.h: Likewise.
2451         * config/mips/osfrose.h: Likewise.
2452         * config/mips/r3900.h: Likewise.
2453         * config/mips/sni-svr4.h: Likewise.
2454         * config/mips/svr4-t.h: Likewise.
2455         * config/mips/ultrix.h: Likewise.
2456
2457 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
2458
2459         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
2460         when we update head->current.
2461
2462 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2463
2464         * tree.c (id_string_size): Remove.
2465         (dump_tree_statistics): Update.
2466         * toplev.c (compile_file): If dumping stats, dump tree stats too.
2467
2468 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
2469
2470         * sched-rgn.c (schedule_insns): Fix comment.
2471
2472 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
2473
2474         * configure.in: Correct previous change: don't assume that
2475         gas's version number _isn't_ the last thing on the line, or
2476         isn't the only number on the line, either.
2477         * configure: Regenerate.
2478
2479 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2480
2481         * cfgcleanup.c: Fix a comment typo.
2482
2483 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2484
2485         * alias.c: Fix comment formatting.
2486         * recog.c: Likewise.
2487         * config/cris/cris.c: Likewise.
2488         * config/cris/cris.h: Likewise.
2489         * config/i960/i960.c: Likewise.
2490         * config/i960/i960.h: Likewise.
2491
2492 2001-10-30  Kazu Hirata  <kazu@hxi.com>
2493
2494         * config/arm/arm.c: Fix a comment typo.
2495         * config/arm/arm.h: Likewise.
2496         * config/ia64/ia64.c: Likewise.
2497
2498 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
2499
2500         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
2501         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
2502         * rtl.h (set_unique_reg_note): Change return value.
2503         * gcse.c (try_replace_reg): Use set_unique_reg_note.
2504         * cse.c (cse_insn): Likewise.
2505         * expr.c (emit_move_insn): Likewise.
2506         * explow.c (force_reg): Likewise.
2507         * local-alloc (update_equiv_regs): Likewise.
2508         * loop.c (move_moveables, load_mems): Likewise.
2509         * reload (find_reloads): Likewise.
2510
2511 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
2512
2513         Localization fixes.
2514         * c-decl.c (parmlist_tags_warning, start_struct,
2515         check_for_loop_decls): Separate messages for struct, union and
2516         enum cases to allow for languages in which they have different
2517         genders.
2518         * c-format.c (scanf_flag_specs): Separate short and long name of
2519         the assignment suppression feature.
2520         (check_format_types): Localize "pointer" and "different types"
2521         strings.
2522         * c-lex.c (lex_number): Localize "an unsigned long int" and
2523         related strings.
2524         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
2525         warning message.
2526         * c-typeck.c (build_unary_up): Separate messages for increment and
2527         decrement cases to allow for languages in which they use different
2528         articles.  Localize the strings "increment" and "decrement" in one
2529         case.
2530
2531 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
2532
2533         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
2534         when no changes has been made.
2535
2536         * gcse.c (reg_set_bitmap): Turn into reg_set.
2537         (modify_mem_list_set, canon_modify_mem_list_set)
2538         (clear_modify_mem_tables, free_modify_mem_tables): New.
2539         (gcse_main); Use free_modify_mem_tables.
2540         (free_gcse_mem): Likewise; free the bitmaps.
2541         (alloc_gcse_main): Initialize the bitmaps.
2542         (canon_list_insert): Set canon_modify_mem_list_set.
2543         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
2544         (compute_hash_table): Use clear_modify_mem_tables.
2545         (reset_opr_set_tables): Likewise.
2546         (oprs_not_set_p): reg_set_bitmap is regset.
2547         (mark_set, mark_clobber): Likewise.
2548
2549         * df.h (DF_EQUIV_NOTES): New constant.
2550         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
2551         when asked for.
2552
2553         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
2554         (init_regions, schedule_insns): Conditionalize the checking
2555         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
2556
2557 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
2558
2559         * i386.md (movti_rex64 splitter): Fix condition.
2560
2561 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
2562
2563         * configure.in: Do not assume that gas's version number is the
2564         last thing on the first line of as --version output.
2565         * configure: Regenerate.
2566
2567         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
2568         MT_WARNING, MT_ERROR, MT_FATAL.
2569         (main): Call gcc_init_libintl.
2570         (v_message): Call gettext on msgid and "warning: "
2571         * tradcif.y: Include intl.h.
2572         (yyerror): Make parameter definition consistent with
2573         prototype.  Call gettext on msgid argument.
2574
2575 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2576
2577         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
2578         warnings.
2579
2580         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
2581
2582 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2583
2584         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
2585         before referencing it.
2586
2587 2001-10-26  DJ Delorie  <dj@redhat.com>
2588
2589         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
2590         override -G, and force -G0.
2591
2592 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2593
2594         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
2595         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
2596         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
2597         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
2598
2599         * loop.h (struct induction): Rename ext_dependant to
2600         ext_dependent.
2601         * loop.c: Change all uses.
2602         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
2603         All callers changed.
2604         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
2605
2606 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2607
2608         * c-parse.in (expr_no_commas, primary), c-typeck.c
2609         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
2610
2611 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
2612
2613         Undo assemble_name change in earlier patch.
2614
2615 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
2616
2617         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
2618         determining the type of the receiver, do not check that TREE_CODE
2619         of receiver is CALL_EXPR before calling receiver_is_class_object().
2620         (receiver_is_class_object): For the GNU runtime: recognize
2621         the case that the receiver is self in a class method context.
2622         Check that TREE_CODE of receiver is CALL_EXPR when checking that
2623         the receiver is a call to objc_get_class.
2624
2625 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2626
2627         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
2628
2629 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2630
2631         * Makefile.in (OBJS): Put all files in alphabetical order.
2632
2633         * dwarf2out.c (add_const_value_attribute): Fix error in last
2634         change.
2635
2636 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
2637
2638         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
2639         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
2640         fix warning.
2641         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
2642         (life_analysis): call purge_all_dead_edges after deleting noops.
2643         (delete_noop_move): Do not purge CFG.
2644         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
2645
2646 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
2647
2648         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
2649         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
2650         (ASM_GLOBALIZE_LABEL): Use assemble_name.
2651         (ASM_OUTPUT_COMMON): Likewise.
2652         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
2653         (rs6000_output_function_epilogue): Likewise.
2654         (output_mi_thunk): Fix typo.
2655         (rs6000_output_symbol_ref): Use assemble_name.
2656         (output_toc): Likewise.
2657         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
2658         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
2659         assemble_name calls STRIP_NAME_ENCODING.
2660         (ASM_OUTPUT_LABEL): Use assemble_name.
2661         (ASM_GLOBALIZE_LABEL): Likewise.
2662         (ASM_DECLARE_FUNCTION_NAME): Likewise.
2663         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
2664         (ASM_OUTPUT_LOCAL): Likewise.
2665
2666 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2667
2668         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
2669         (expand_builtin_apply, expand_builtin_return): Likewise.
2670         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
2671
2672 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2673
2674         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2675         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
2676         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
2677         configure, configure.in, except.c, except.h, flow.c, function.c,
2678         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
2679         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
2680         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
2681         unroll.c: Fix spelling errors.
2682
2683         * doc/extend.texi, doc/invoke.texi: Fix spelling.
2684
2685         * doc/gcc.texi: Document use of "dependent" and American spelling.
2686
2687 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
2688
2689         * expr.c (emit_group_load): Support CONCATs by storing them to memory
2690         and reloading.
2691
2692 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2693
2694         * expr.c (store_constructor_field): Only call adjust_address on MEM.
2695
2696 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
2697
2698         * genrecog.c (write_switch):  Output if before switch for
2699         DT_elt_zero_wide_safe.
2700
2701 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2702
2703         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
2704         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
2705         (FUNCTION_PROFILER): Const-ify.
2706         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
2707         (eliminate_constant_term, assemble_name, output_addr_const):
2708         Remove declarations.
2709         (ptr_half_pic_address_p, half_pic_hash): Prototype.
2710         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
2711         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
2712         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
2713         (half_pic_declare, half_pic_external): Const-ify.
2714         * toplev.c: Include "halfpic.h".
2715
2716 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2717
2718         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
2719         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
2720         config/i386/i386.c, config/i386/i386-interix.h,
2721         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
2722         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
2723         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
2724         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
2725         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
2726         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
2727         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
2728         spelling errors.
2729
2730         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2731         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
2732         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
2733         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
2734         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
2735         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
2736         system.h, toplev.c: Fix spelling errors.
2737
2738 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2739
2740         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
2741
2742         * dwarf2out.c (reg_number): Abort if pseudo.
2743         (reg_loc_descriptor): Return 0 if pseudo.
2744         (is_based_loc): Return 0 if pseudo.
2745         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
2746         recursive calls.
2747         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
2748         (loc_descriptor): Return 0 if can't find location and handle 0
2749         return from recursive calls.
2750         (loc_descriptor_from_tree): Likewise.
2751         Fix handling of indirect.
2752         Also return 0 for PLACEHOLDER_EXPR.
2753         Clean up COMPONENT_REF cases.
2754         (add_AT_location_descriptor): Simplify, but handle 0 return from
2755         loc_descriptor.
2756         (add_const_value_attribute): Avoid shift count warning.
2757         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
2758         Set comp_unit_die as context if not in function.
2759
2760         * config/mips/mips-protos.h: Break up long lines.
2761         Remove needless #ifdef/#endif blocks.
2762         Don't declare functions declared in file made by genpreds or recog.h.
2763         * config/mips/mips.c (mips_output_function_prologue): TSIZE
2764         is now HOST_WIDE_INT; delete unneeded casts.
2765         * config/mips/mips.h: Don't use #elif.
2766
2767         * expr.c (stor_constructor_field): Always call adjust_address.
2768         Copy TARGET before changing its alias set.
2769         (store_field): Likewise, for TO_RTX.
2770         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
2771         replacement.
2772         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
2773         (find_placeholder): Return 0 if can't find object.
2774         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
2775         returns 0.
2776
2777 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2778
2779         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
2780
2781 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
2782
2783         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
2784         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
2785         (merge_blocks): Properly udpate life after making edge nonfallthru.
2786         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
2787
2788 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2789
2790         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2791
2792 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
2793
2794         * c-typeck.c (convert_arguments): When comparing for enumeral
2795         type equality, use TYPE_MAIN_VARIANT.
2796         * gcc.dg/Wconversion.c: New tests.
2797
2798 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2799
2800         * s390/s390.c: Fix comment typos.
2801         * s390/s390.h: Likewise.
2802         * s390/s390.md: Likewise.
2803
2804 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2805
2806         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
2807         (walk_tree): Use it for tail calls where appropriate.
2808
2809 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2810
2811         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
2812         non-local label_refs.
2813
2814 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2815
2816         * config/h8300/h8300.md (4 anonymous patterns): New.
2817
2818 2001-10-26  Kazu Hirata  <kazu@hxi.com>
2819
2820         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
2821         algorithm through the shift_info structure.
2822         (emit_a_shift): Update the use of get_shift_alg.
2823
2824 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
2825
2826         * sched-rgn.c: Remove bitset typedef.
2827         Change bitset to sbitmap in prototypes / variable types.
2828         Remove bbset_size.
2829         Remove edgeset_bits.
2830         Remove edgeset_size.
2831         s/BITSET_ADD/SET_BIT/g
2832         s/BITSET_INVERT/sbitmap_ones/g
2833         s/BITSET_INTER/sbitmap_a_and_b/g
2834         s/BITSET_UNION/sbitmap_a_or_b/g
2835         s/BITSET_DIFFER/sbitmap_difference/g
2836         s/bitset_member/TEST_BIT/g
2837         (BITSET_*): Removed.
2838         (bitset_member): Removed.
2839         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
2840         EXECUTE_IF_SET_IN_SBITMAP.
2841         (split_edges): Rewrite, use sbitmap functions instead of bitset
2842         operations.
2843         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
2844
2845 2001-10-26  Andreas Schwab  <schwab@suse.de>
2846
2847         * reload1.c (emit_input_reload_insns): Fix parens in last
2848         (undocumented) change that was supposed to change only whitespace.
2849
2850 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2851
2852         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
2853
2854         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
2855         ASM_OPERANDS.
2856
2857 2001-10-26  Andreas Jaeger  <aj@suse.de>
2858
2859         * flow.c (clear_log_links): Remove unused variable.
2860         * cfgcleanup.c (cleanup_cfg): Likewise.
2861
2862 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
2863
2864         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
2865         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
2866
2867 2001-10-26  Richard Henderson  <rth@redhat.com>
2868
2869         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
2870         rename PV_REG to R27_REG.
2871         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
2872         (REG_CLASS_FROM_LETTER): Update.
2873         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
2874         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
2875         (udivsi3, modsi3, umodsi3): Likewise.
2876         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
2877
2878 2001-10-26  Richard Henderson  <rth@redhat.com>
2879
2880         * cfg.c (clear_aux_for_blocks): Split out of ...
2881         (free_aux_for_blocks): here.
2882         (clear_aux_for_edges): Split from ...
2883         (free_aux_for_edges): here.
2884         * basic-block.h: Declare them.
2885         * lcm.c (compute_antinout_edge): Use them.
2886         (compute_laterin, compute_available, compute_nearerout): Likewise.
2887         (optimize_mode_switching): Likewise.
2888
2889 2001-10-26  Richard Henderson  <rth@redhat.com>
2890
2891         * Makefile.in (unstage*): Remove as, ld, collect-ld before
2892         moving everything back to the main build directory.
2893
2894 2001-10-26  Christopher Faylor  <cgf@redhat.com>
2895
2896         * config/i386/cygwin.h: Search target specific include directory, if
2897         appropriate.
2898
2899 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2900
2901         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
2902         of macro guards. Fix #endif comment.
2903
2904         * output.h (default_exception_section, default_eh_frame_section):
2905         Move prototypes outside of macro guard.
2906
2907         * crtstuff.c: Fix #endif comment.
2908
2909 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
2910
2911         * doc/md.texi (movMM): Clarify semantics of storing into a
2912         non-paradoxical SUBREG.
2913
2914 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
2915
2916         * langhooks.c (lang_hook_default_clear_binding_stack): New.
2917         (lang_hook_default_get_alias_set): Move next to other alias
2918         hooks.
2919         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
2920         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
2921         (LANG_HOOKS_INITIALIZER): Add it.
2922         * toplev.h (struct lang_hooks): Add clear_binding_stack.
2923         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
2924         instead of a loop calling poplevel.
2925
2926 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
2927
2928         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
2929         occurrences of #elif with #if...#endif.
2930
2931 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2932
2933         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
2934
2935 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2936
2937         * alias.c (can_address_p): No longer static.
2938         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
2939         Return 0 if all parameters are default values.
2940         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
2941         (adjust_address_1): Try harder to compute a size.
2942         * expr.c (expand_assignment, store_constructor): If can't address,
2943         set MEM_KEEP_ALIAS_SET_P.
2944         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
2945         (store_field): Likewise.
2946         (store_constructor): Simplify call to store_constructor_field.
2947         * expr.h (can_address_p): New declaration.
2948         * gensupport.c (gen_rtx_CONST_INT): New function.
2949         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
2950         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
2951         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
2952
2953         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
2954
2955 2001-10-24  Christopher Faylor  <cgf@redhat.com>
2956
2957         * config/i386/cygwin.h: Use proper path for mingw crt files when
2958         -mno-cygwin.
2959
2960 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2961
2962         * dwarf2out.c (file_info_cmp): Always return consistent results.
2963
2964 2001-10-24  Roger Sayle <roger@eyesopen.com>
2965
2966         * stmt.c (expand_end_case): Index jumptables from zero for
2967         suitably small values of minval.
2968
2969 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
2970
2971         * stor-layout.c (place_union_field): If any field was aligned with
2972         attribute aligned, set record type's TYPE_USER_ALIGN.
2973         (place_field): Likewise.
2974         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
2975         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
2976
2977 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
2978
2979         * c-common.h (struct c_common_identifier): Remove rid_code field.
2980         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
2981
2982         * c-typeck.c (constructor_designated): New local flag.
2983         (struct constructor_stack): Add "designated" field to match.
2984         (start_init): Clear it.
2985         (really_start_incremental_init, push_init_level): Push and
2986         clear it.
2987         (pop_init_level): Pop it.
2988         (set_designator): Set it.
2989
2990         (pop_init_level): Suppress "missing initializer" warnings if
2991         constructor_designated is true.
2992         (process_init_element): Suppress warning about union
2993         initialization under traditional C, if constructor_designated
2994         is true.
2995
2996 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2997
2998         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
2999         change.
3000
3001 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
3002
3003         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3004
3005 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
3006
3007         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3008         the node was already a set to a constant.
3009
3010 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3011
3012         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
3013         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
3014
3015 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3016
3017         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
3018         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
3019         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3020         * s390.c (s390_final_chunkify): Don't use string concatenation.
3021         (s390_function_prologue, s390_function_epilogue): Const-ify.
3022         * s390.h (FUNCTION_PROFILER): Remove unused variable.
3023
3024 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
3025
3026         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
3027         prototypes.
3028
3029 2001-10-23  Stan Shebs  <shebs@apple.com>
3030
3031         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
3032         -traditional-cpp in first-stage compilation.
3033
3034 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3035
3036         * gensupport.c (target_flags): Add.
3037
3038 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
3039
3040         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
3041         if needed.
3042         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
3043         * except.c (expand_builtin_frob_return_addr): Likewise.
3044         (expand_builtin_eh_return): Likewise.
3045         * stmt.c (expand_computed_goto): Likewise.
3046         * explow.c (memory_address): Likewise.
3047         (allocate_dynamic_stack_space): Clean up predicate testing.
3048         (probe_stack_range): Convert SIZE to Pmode.
3049         * calls.c (rtx_for_function_call): Only call convert_memory_address
3050         if needed.
3051         Pass function call operand as ptr_mode, not Pmode.
3052         * expr.c (expand_assignment): Clean up calls to convert_memory
3053         address by only doing so when needed and making offsets Pmode.
3054         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
3055         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
3056         is in Pmode, not ptr_mode.
3057
3058 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3059
3060         * darwin-protos.h (constructor_section, destructor_section,
3061         mod_init_section, mod_term_section): Prototype.
3062         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
3063         Const-ify.
3064         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
3065         Likewise.
3066         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
3067         objc_section_init declaration.
3068         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
3069         (objc_section_init, try_section_alias): Make static.
3070         (alias_section): Make static and hide unused function.
3071         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3072
3073 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3074
3075         * alias.c (can_address_p): Compnonents are not addressable if
3076         the containing type has alias set 0.
3077         (get_alias_set): Rework to use STRIP_NOPS.
3078         Only call front-end routine on object, type, or object with
3079         NOPs stripped, not inner values.
3080         Use language hook to call front-end routine.
3081         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3082         (expand_builtin_apply): Call set_mem_align on MEMs we make.
3083         Don't pass alignment to emit_block_move.
3084         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3085         (expand_builtin_memset): Likewise, but for clear_storage.
3086         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3087         and remove C++ specific parts.
3088         * c-common.h (c_common_get_alias_set): Add declaration.
3089         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3090         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3091         (save_fixed_argument_area): Call set_mem_align.
3092         Remove alignment in call to emit_block_move.
3093         (emit_library_call_value_1, store_one_arg): Likewise.
3094         (target_for_arg): Remove; disabled long ago.
3095         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3096         once and similar cleanups.
3097         (offset_address): Use proper introductory comment.
3098         * expr.c (emit_block_move): Use alignment from that of MEM args, not
3099         from explicit operand; all callers changed.
3100         (clear_storage): Likewise.
3101         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3102         (store_field): Remove kludge on alias set used for to_rtx.
3103         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3104         (expand_expr_unaligned): Call set_mem_attributes instead of
3105         set_mem_alias_set.
3106         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3107         * function.c (assign_stack_temp_for_type): Set MEM alignment.
3108         (expand_function_end): Track MEM attributes of trampolines.
3109         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3110         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3111         attributes from original.
3112         * langhooks.c (lang_hook_default_get_alias_set): New function.
3113         (hook_get_alias_set_0): New function.
3114         * langhooks.h (hook_get_alias_set_0): New declaration.
3115         (lang_hook_default_get_alias_set): Likewise.
3116         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3117         * reload1.c (alter_reg): Use adjust_address_nv.
3118         * rtl.c (get_mode_alignment): Moved to here.
3119         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3120         change default if unknown from 1 to BITS_PER_UNIT.
3121         * stor-layout.c (get_mode_alignment): Remove from here.
3122         * toplev.h (struct lang_hoks): Add get_alias_set field.
3123         * tree.h (lang_get_alias_set): Delete declaration.
3124         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3125         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3126         (ix86_va_arg): Likewise.
3127         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3128         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3129         * config/sparc/sparc.c (sparc_va_arg): Likewise.
3130         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3131         (expand_block_move_mem): Remove dead code.
3132
3133 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
3134
3135         * c-common.c (warn_div_by_zero): New.
3136         * c-common.h (warn_div_by_zero): New.
3137         * c-decl.c (c_decode_option): Take it on the command line.
3138         * c-typeck.c (build_binary_op): Warn about division by zero.
3139         * doc/invoke.texi: Document the new command line option, fix
3140         documentation of -Wmultichar.
3141         * testsuite/gcc.dg/divbyzero.c: New tests.
3142         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
3143
3144 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3145
3146         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
3147
3148         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
3149         to avoid update_life_info call.
3150         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
3151         * cfgcleanup.c (bb_flags): New enum.
3152         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
3153         (notice_new_block, update_forwarder_flag): New functions.
3154         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
3155         (try_forward_edges): Likewise; update flags.
3156         (merge_blocks): Likewise.
3157         (outgoing_edges_match): Likewise.
3158         (try_crossjump_to_edge): Likewise.
3159         (try_optimize_cfg): Likewise; initialize and clear the flags;
3160         recompute life info if needed.
3161         (cleanup_cfg): No need to clear aux pointers.
3162
3163 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
3164
3165         * config/i386/i386.c (override_options): Default to minimum
3166         stack alignment when optimizing for code size.
3167         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
3168         change.
3169
3170         * config/i386/i386.c (override_options): Set upper limit of
3171         -mpreferred-stack-boundary to 12.
3172
3173 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
3174
3175         * recog.c (peephole2_optimize): Add default case to switch.
3176
3177 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3178
3179         * doc/gcc.texi (Sending Patches): Remove.
3180
3181 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
3182
3183         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
3184         fields when comparing.
3185
3186 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3187
3188         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
3189         * arm.c (HOST_INT, HOST_UINT): Likewise.
3190
3191 2001-10-22  Stan Shebs  <shebs@apple.com>
3192
3193         * config/darwin-protos.h (darwin_exception_section): Declare.
3194         (darwin_eh_frame_section): Declare.
3195
3196 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
3197
3198         * i386.md (movti_rex64): Fix mode.
3199
3200 2001-10-22  Stan Shebs  <shebs@apple.com>
3201
3202         * target.h (struct gcc_target): Add asm_out.exception_section,
3203         asm_out.eh_frame_section.
3204         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
3205         (TARGET_ASM_EH_FRAME_SECTION): New.
3206         (TARGET_INITIALIZER): Update.
3207         * output.h (default_exception_section): Declare.
3208         (default_eh_frame_section): Declare.
3209         * dwarf2out.c: Include target.h.
3210         (output_call_frame_info): Call target hook for eh frames.
3211         (default_eh_frame_section): New function.
3212         * except.c: Include target.h.
3213         (output_function_exception_table): Call target hook for exception
3214         section.
3215         * varasm.c (default_exception_section): Rename from
3216         exception_section, remove EXCEPTION_SECTION macro.
3217
3218         * config/darwin.h (darwin_eh_frame_section): New function.
3219         (EXCEPTION_SECTION): Remove.
3220         (TARGET_ASM_EXCEPTION_SECTION): Define.
3221         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
3222         (nextstep_exception_section): New function.
3223         (nextstep_eh_frame_section): New function.
3224         (TARGET_ASM_EXCEPTION_SECTION): Define.
3225         (TARGET_ASM_EH_FRAME_SECTION): Define.
3226
3227         * config/pa/som.h (EXCEPTION_SECTION): Remove.
3228         (TARGET_ASM_EXCEPTION_SECTION): Define.
3229         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
3230         (EXCEPTION_SECTION): Remove.
3231         (TARGET_ASM_EXCEPTION_SECTION): Define.
3232         * config/stormy16/stormy16.h: Remove comments referencing
3233         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
3234
3235         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
3236         TARGET_ASM_EH_FRAME_SECTION.
3237
3238 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
3239
3240         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
3241         terms.
3242
3243         * c-format.c: Fix spelling typo in comment.
3244
3245         * sched-int.h: Fix typo in GCC preamble.
3246
3247 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3248
3249         PR debug/4252
3250         * doc/invoke.texi: Remove references to -fdump-translation-unit.
3251
3252 2001-10-22  Richard Henderson  <rth@redhat.com>
3253
3254         * config/i386/i386.c (ix86_expand_clear): New.
3255         * config/i386/i386-protos.h: Declare it.
3256         * config/i386/i386.md (setcc peep2s): Use it.
3257         (movsi_xor): Unexport.
3258
3259 2001-10-22  Richard Henderson  <rth@redhat.com>
3260
3261         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
3262         free_EXPR_LIST_list for LOG_LINKS.
3263
3264 2001-10-21  Robert Lipe  <robertlipe@usa.net>
3265
3266         * config/i386/i386.c (sco_asm_named_section): Delete.
3267         (sco_asm_out_constructor): Delete.
3268         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
3269         (ASM_OUTPUT_DOUBLE_INT): Likewise.
3270         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
3271         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
3272         (EXCEPTION_SECTION): Delete EH scn renaming hack.
3273
3274 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3275
3276         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
3277         and/or fold extra calls into fewer ones.
3278         * collect2.c (dump_file): Likewise.
3279         * cppexp.c (parse_number): Likewise.
3280         * cpplex.c (_cpp_lex_direct): Likewise.
3281         * final.c (output_asm_insn, asm_fprintf): Likewise.
3282         * fix-header.c (inf_scan_ident, main): Likewise.
3283         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3284         Likewise.
3285         * fold-const.c (real_hex_to_f): Likewise.
3286         * gen-protos.c (parse_fn_proto): Likewise.
3287         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
3288         * genrecog.c (change_state, write_action): Likewise.
3289         * gensupport.c (shift_output_template): Likewise.
3290         * local-alloc.c (requires_inout): Likewise.
3291         * mips-tfile.c (IS_ASM_IDENT): Likewise.
3292         * protoize.c (is_id_char, main): Likewise.
3293         * real.c (asctoeg): Likewise.
3294         * recog.c (asm_operand_ok): Likewise.
3295         * reload.c (find_reloads): Likewise.
3296         * scan.c (scan_identget_token): Likewise.
3297         * sched-vis.c (print_value): Likewise.
3298         * stringpool.c (ggc_alloc_string): Likewise.
3299         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
3300         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
3301         * tradcpp.c (rescan): Likewise.
3302         * tree.c (clean_symbol_name): Likewise.
3303         * varasm.c (decode_reg_name): Likewise.
3304
3305         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
3306         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
3307         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
3308         * m88k.c (output_ascii): Likewise.
3309         * m88k.h (OVERRIDE_OPTIONS): Likewise.
3310         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
3311         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
3312         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
3313
3314 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3315
3316         * langhooks.c (lang_hook_default_do_nothing,
3317         lang_hook_default_decode_option): New defaults.
3318         * langhooks.h: Make hooks unconditional and non-NULL.
3319         * toplev.c (compile_file, toplev_main): Update.
3320         * toplev.h: Update comments.
3321         * objc/objc-act.c (lang_hooks): Update to new paradigm.
3322
3323 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3324
3325         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
3326
3327         * system.h (IN_RANGE): New macro.
3328
3329 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
3330
3331         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
3332         INTLDEPS variable, which does not include $LIBICONV.
3333         * Makefile.in: Use INTLDEPS in LIBDEPS.
3334         * configure: Regenerate.
3335
3336 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
3337
3338         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
3339         * cpplex.c (lex_percent, lex_dot): Remove.
3340         (get_effective_char, skip_block_comment, skip_line_comment,
3341         parse_identifier_slow, parse_number, parse_string, save_comment,
3342         _cpp_lex_direct): Update to do lookback freely.
3343         (IF_NEXT_IS, BACKUP): New macros.
3344         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
3345         * cppmacro.c (paste_tokens): Update.
3346
3347 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
3348
3349         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
3350
3351 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
3352
3353         * reload1.c (reload): Check CONSTANT_P before calling
3354         LEGITIMATE_PIC_OPERAND_P.
3355         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
3356         workaround of 2001-10-13.
3357
3358 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
3359
3360         * i386.c (split_di): Handle splitting of DFmode.
3361
3362 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3363
3364         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
3365         (adjust_address_1, offset_address): Likewise.
3366
3367         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
3368         (output_asm_insn): Call it for each line output.
3369         Don't record an operand more than once.
3370
3371         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
3372         * main.c: Include config.h and system.h, but not ansidecl.h.
3373         * Makefile.in (main.o): Update accordingly.
3374
3375 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3376
3377         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
3378
3379 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
3380
3381         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
3382         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
3383         Break out from ...
3384         (find_sub_basic_blocks): ... here;
3385         (find_many_sub_basic_blocks): New.
3386         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
3387
3388         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
3389
3390         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
3391
3392         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
3393
3394         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
3395         * flow.c (update_life_info): Measure time.
3396         * c-decl.c: Include timevar.h
3397         (c_expand_body): Measure time.
3398         * toplev.c (rest_of_compilation): Measure time of mode switching
3399         separately.
3400         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
3401
3402         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
3403         (lang_independent_options): Add asynchronous-unwind-tables
3404         (toplev_main): flag_asynchronous_unwind_tables implies
3405         flag_unwind_tables.
3406         * flags.h (flag_asynchronous_unwind_tables): Declare.
3407         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
3408         flag_asynchronous_unwind_tables.
3409         (output_call_frame_info): Likewise.
3410         * invoke.texi (-fasynchronous-unwind-tables): Document.
3411         * i386.c (optimization_options): Enable
3412         flag_asynchronous_unwind_tables.
3413
3414         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
3415         * i386.md (s* expanders): Destination is QImode.
3416
3417         * toplev.c (rest_of_compilation): Do not call clear_log_links.
3418         * rtl.h (clear_log_links): Kill.
3419         * flow.c (clear_log_links): Make static; accept blocks parameter;
3420         do no clear life info.
3421         (update_life_info): Call clear_log_links.
3422
3423         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
3424
3425 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3426
3427         * cpplex.c (handle_newline, skip_escaped_newlines,
3428         get_effective_char, skip_block_comment, skip_line_comment,
3429         parse_identifier_slow, parse_number, parse_string,
3430         _cpp_lex_direct): Update to do more stepping back.
3431         (trigraph_ok): Similarly.  Rename trigraph_p.
3432         (SAVE_STATE, RESTORE_STATE): Remove.
3433         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
3434
3435         * cpplib.c (destringize): Rename destringize_and_run, and
3436         call run_directive directly.
3437         (_cpp_do__Pragma): Simplify.
3438
3439 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3440
3441         * pe.c (arm_pe_unique_section): Const-ify.
3442         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3443         (switch_to_section): Add static prototype.
3444
3445         * output.h (drectve_section): Prototype.
3446
3447 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3448
3449         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
3450         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
3451         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
3452         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
3453         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3454         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
3455         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
3456         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
3457         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
3458         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
3459         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
3460         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
3461         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
3462         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
3463         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3464         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3465         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3466         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3467         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3468         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
3469         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
3470         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
3471         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
3472         cris-*-none, cris-*-linux*: Update ${tmfile} list.
3473         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
3474         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
3475         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
3476         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
3477         v850-*-*): Delete superflous ${cpu_type} setting.
3478         * config/linux.h: Delete svr4.h include.
3479         (SET_ASM_OP): Delete.
3480         * config/netware.h (INT_ASM_OP): Undef before define.
3481         * config/ptx4.h: Delete elfos.h include.
3482         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
3483         * config/svr4.h: Delete elfos.h include. Update commentary.
3484         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
3485         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
3486         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
3487         config/v850/v850.h: Delete svr4.h include.
3488         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
3489         config/m68k/m68kv4.h, config/m88k/sysv4.h,
3490         config/sparc/sysv4.h: Update includes.
3491         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
3492         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
3493         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
3494         config/m88k/dguxbcs.h: Delete includes.
3495         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
3496         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
3497         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
3498         it.
3499         * config/m88k/dgux.h: Delete include.
3500         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
3501         defining it.
3502         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
3503         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
3504         * config/sh/elf.h: Update include.
3505         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
3506         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
3507
3508 2001-10-19  Catherine Moore  <clm@redhat.com>
3509
3510         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
3511         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
3512         base and count fields.
3513         (stormy16_expand_builtin_va_start):  last_reg_count changed to
3514         size_of_reg_args.  Use count + size in first comparison.
3515
3516 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3517
3518         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
3519         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
3520         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
3521         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
3522         Set alignment from type if INDIRECT_REF.
3523         (adjust_address_1, offset_address): Simplify alignment compuitation.
3524         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
3525         here; done by set_mem_attributes.
3526
3527 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3528
3529         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
3530         * arm-protos.h (rdata_section, zero_init_section, common_section):
3531         Prototype.
3532         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
3533         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
3534         traditional mode stringification.
3535         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
3536         in macros controling its use.
3537         * rtlanal.c: Include tm_p.h.
3538         * varasm.c (asm_output_aligned_bss): Mark parameter with
3539         ATTRIBUTE_UNUSED.
3540         (assemble_constant_align, assemble_start_function, assemble_align,
3541         assemble_variable, assemble_trampoline_template,
3542         output_constant_def_contents): Wrap potentially empty if-stmt body
3543         in brackets.
3544
3545 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3546
3547         * a29k-protos.h (literal_section): Prototype.
3548         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
3549         * a29k.md: Ensure function pointers are prototyped.
3550         * genattrtab.c (write_eligible_delay): Mark parameter with
3551         ATTRIBUTE_UNUSED.
3552
3553 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3554
3555         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
3556         * 1750a.c (print_operand): Fix format specifier warning.
3557         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
3558         * 1750a.md: Likewise.
3559         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
3560         * genemit.c (output_add_clobbers): Mark parameter with
3561         ATTRIBUTE_UNUSED.
3562         * genrecog.c (write_subroutine): Likewise.
3563         * integrate.c (expand_inline_function): Delete unused variable.
3564         * varasm.c (remove_from_pending_weak_list): Wrap with
3565         ASM_WEAKEN_LABEL.
3566
3567 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
3568
3569         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
3570         field is different to previous argument's neg field.
3571
3572         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
3573
3574 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3575
3576         * final.c (get_decl_from_op): New function.
3577         (output_asm_insn): Call it; write "*" when item with decl is address.
3578
3579 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
3580
3581         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
3582         about 64-bit support from the 3.0_branch version.
3583
3584 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
3585
3586         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
3587         USE_INCLUDED_LIBINTL when appropriate.
3588         * configure, config.in: Regenerate.
3589         * Makefile.in (datadir): Set to @datadir@.
3590         (intl.o): Also depend on $(CONFIG_H) and system.h.
3591
3592         * intl.c: Factor out common gettext initialization sequence.
3593         (gcc_init_libintl):  New function.
3594         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
3595         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
3596         off NLS.  Add multiple include guard.  No need to #ifdef-guard
3597         an #undef.  Prototype gcc_init_libintl here.
3598
3599         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
3600         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
3601         Use gcc_init_libintl.
3602
3603 2001-10-19  Catherine Moore  <clm@redhat.com>
3604
3605         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
3606
3607         * config/stormy16/stormy16.c (stormy16_split_move):  Make
3608         sure that REG_INC notes are present for auto_inc operands.
3609
3610 2001-10-19  Andreas Jaeger  <aj@suse.de>
3611
3612         * configure: Regenerated.
3613         * configure.in: Add x86_64 to switch statements.
3614
3615 2001-10-18  Richard Henderson  <rth@redhat.com>
3616
3617         * config/alpha/alpha.md (sibcall_osf_1): Load destination
3618         address into $27 explicitly.
3619         (sibcall_value_osf_1): Likewise.
3620
3621 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3622
3623         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
3624         (offset_address): New function.
3625         (free_emit_status): Free regno_decl.
3626         (init_emit): Pass proper number of elements to xcalloc.
3627         Allocate regno_decl.
3628         (mark_emit_status): Mark regno_decl values.
3629         * expr.c (highest_pow2_factor): New function.
3630         (expand_assigment): Use it and offset_address.
3631         Properly handle ptr_mode vs. Pmode in offset calculation.
3632         (store_constructor, expand_expr_unaligned): Likewise.
3633         (expand_expr, case COMPONENT_EXPR): Likewise.
3634         * expr.h (offset_address): New decl.
3635         * function.h (struct emit_status): Add regno_decl.
3636         (REGNO_DECL): New macro.
3637         * final.c (output_asm_name): Move in file and don't conditionalize
3638         on flag_print_asm_name.
3639         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
3640         Output names of operands, if known.
3641         * function.c (assign_parms): Set REGNO_DECL.
3642         * integrate.c (integrate_decl_tree): Likewise.
3643         * stmt.c (expand_decl): Likewise.
3644         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
3645
3646 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
3647
3648         * attribs.c (handle_noinline_attribute): New function.
3649         (handle_used_attribute): Likewise.
3650         (c_common_attribute_table): Added noinline and used.
3651         * doc/extend.texi (Function Attributes): Document them.
3652         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
3653         Warn when merging inline with attribute noinline.
3654         (start_decl, start_function): Warn if inline and attribute
3655         noinline appear in the same declaration.
3656
3657 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
3658
3659         * config.gcc: Update c4x and i370 for C front end-specific
3660         dependencies.
3661         * config/c4x/c4x-c.c: New.
3662         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
3663         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3664         New declarations.
3665         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
3666         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3667         Make extern.
3668         (c4x_init_pragma): Remove.
3669         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
3670         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
3671         c4x_pr_ignored): Move to c4x-c.c.
3672         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3673         * config/c4x/t-c4x: Update.
3674         * config/i370/i370-c.c: New.
3675         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
3676         (i370_pr_map): Move to i370-c.c.
3677         * config/i370/t-i370: New.
3678
3679         * doc/tm.texi: Update.
3680
3681 2001-10-17  Stan Shebs  <shebs@apple.com>
3682
3683         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
3684         typo fixes throughout.
3685         (machopic_output_stub): Remove some dead code.
3686
3687 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
3688
3689         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
3690         leak.
3691
3692 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3693
3694         * Makefile.in (print-rtl.o): Depend on TREE_H.
3695         * alias.c (get_alias_set): Make two passes over objects to first
3696         see if inner object is access via restricted pointer.
3697         Defer allocating alias set for restricted pointer until here.
3698         Call find_placeholder with second arg nonzero.
3699         Minor cleanups.
3700         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
3701         set for restricted pointer types.
3702         * emit-rtl.c (set_mem_attributes): Set more attributes.
3703         (set_mem_align, change_address, adjust_address_1): New functions.
3704         (change_address_1): Now static.
3705         (adjust_address, adjust_address_nv): Deleted.
3706         (replace_equiv_address): Call change_address_1.
3707         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
3708         (find_placeholder): Get starting point from PLIST arg.
3709         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
3710         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
3711         (adjust_address, adjust_address_nv): New macros.
3712         * print-rtl.c (tree.h): New include.
3713         (print_rtx, case MEM): Print all memory attributes.
3714
3715 2001-10-17  Richard Henderson  <rth@redhat.com>
3716
3717         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
3718
3719 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
3720
3721         * c-tree.texi: Eliminate duplicated word.
3722         * cpp.texi: Likewise.
3723         * install.texi: Likewise.
3724         * invoke.texi: Likewise.
3725         * tm.texi: Likewise.
3726
3727 2001-10-17  Michael Collison  <collison@isisinc.net>
3728
3729         * dsp16xx.c: Fix comment formatting to match GNU standards.
3730         (dsp16xx_output_function_prologue): Change type of 'size'
3731         parameter from 'int' to HOST_WIDE_INT.
3732         (dsp16xx_output_function_epilogue): Change type of 'size'
3733         parameter from 'int' to HOST_WIDE_INT.
3734
3735 2001-10-16  Richard Henderson  <rth@redhat.com>
3736
3737         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
3738         * configure, config.in: Rebuild.
3739
3740         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
3741         (ix86_output_addr_diff_elt): New.
3742         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
3743         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3744         (JUMP_TABLES_IN_TEXT_SECTION): New.
3745         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
3746         * config/i386/i386-protos.h: Update.
3747
3748         * config/i386/386bsd.h, config/i386/beos-elf.h,
3749         config/i386/freebsd-aout.h, config/i386/freebsd.h,
3750         config/i386/i386-interix.h, config/i386/i386elf.h,
3751         config/i386/linux.h, config/i386/netbsd-elf.h,
3752         config/i386/netbsd.h, config/i386/openbsd.h,
3753         config/i386/ptx4-i.h, config/i386/rtemself.h,
3754         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
3755         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
3756
3757 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
3758
3759         * stmt.c (expand_asm_operands): Update commentary.
3760
3761 2001-10-16  Stan Shebs  <shebs@apple.com>
3762
3763         * config/darwin.h (GCC_NAME): Remove, no longer used.
3764         (NO_MATH_LIBRARY): Ditto.
3765         (MATH_LIBRARY): Define to emptiness.
3766         (DWARF2_DEBUGGING_INFO): Define.
3767         (PREFERRED_DEBUGGING_TYPE): Define.
3768         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
3769         (EXCEPTION_SECTION): Define.
3770         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3771         * config/darwin.c (darwin_encode_section_info): Handle case of
3772         DECL_INITIAL being error_mark_node.
3773
3774 2001-10-16  Richard Henderson  <rth@redhat.com>
3775
3776         * alpha.c (current_file_function_operand): Don't fail for profiling.
3777         (direct_call_operand): New.
3778         * alpha-protos.h: Declare it.
3779         * alpha.h (EXTRA_CONSTRAINT): Use it.
3780         (PREDICATE_CODES): Add it.
3781         (ASM_OUTPUT_MI_THUNK): Remove.
3782         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
3783         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
3784
3785 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
3786
3787         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
3788         (JUMP_TABLES_IN_TEXT_SECTION): Define.
3789
3790 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
3791
3792         * cfg.c (free_edge): Break out from ....
3793         (remove_edge): ... here.
3794         (clear_edges): Use free_edge.
3795
3796         * att.h (ASM_QUAD): Add comment.
3797         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
3798
3799 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
3800
3801         * i386.c (split_ti): New function.
3802         (ix86_split_to_parts): Support TImodes.
3803         * i386.h (VALID_INT_MODE_P): Add TImode.
3804         * i386.md (movdi splitter): Fix.
3805         (movti): Support 64bit integer registers.
3806         (movti_rex64): New function and splitter.
3807
3808         * i386.c (*_cost): Add movsx/movzx cost.
3809         * i386.h (struct processor_costs): Add movsx/movzx fields.
3810         (RTX_COSTS): Handle zero/sign extend + avoid believing that
3811         64bit operations require split on 64bit machine.
3812         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
3813
3814         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
3815         (ix86_expand_move): Avoid pushes of memory if size does not match;
3816         move long constants to register.
3817         (x86_initialize_trampoline): Fix mode.
3818         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
3819         Use ASM_QUAD on 64bit.
3820         * i386.md (test pattern): Disallow impossible constants.
3821         (tablejump PIC expander): Fix emitting of sum.
3822         (movdicc_rex64): Rename to movdicc.
3823         * linux64.h (LINK_SPEC): Add missing '%'.
3824
3825 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
3826
3827         * tree-inline.c (inlinable_function_p): Leave it up to the
3828         front-end to turn -finline-functions into DECL_INLINE set for all
3829         functions.
3830
3831 2001-10-16  Stan Shebs  <shebs@apple.com>
3832
3833         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
3834
3835 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
3836
3837         * recog.c: Formatting and comment typo fixes.
3838
3839         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
3840         version in single tree build.
3841         * configure: Regenerate.
3842
3843 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
3844
3845         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
3846         MODE arguments to gen_rtx and compare operand with const0_rtx.
3847
3848 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3849
3850         * system.h: Poison old unused target macros.
3851         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
3852         * config/stormy16/stormy16.c: Update references to obsolete macros.
3853         * config/stormy16/stormy16.h: Similarly.
3854         * config/stormy16/stormy16.md: Similarly.
3855         * config/cris/cris.h: Similarly.
3856
3857 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3858
3859         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
3860         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
3861         cpp_register_pragma): Update accordingly.
3862
3863 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3864
3865         * c-pragma.h (cpp_register_pragma_space): Remove.
3866         * cpplib.h (cpp_register_pragma_space): Remove.
3867         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
3868         (cpp_register_pragma_space): Remove.
3869         (cpp_register_pragma): Simplify using lookup_pragma_entry,
3870         add sanity checks.
3871         (do_pragma): Similarly.
3872         (_cpp_init_internal_pragmas): Don't register namespaces.
3873
3874         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
3875         Don't register namespaces.
3876         * cp/lex.c (init_cp_pragma): Similarly.
3877         * doc/tm.texi: Update.
3878
3879 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3880
3881         PR c/4157
3882         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
3883
3884 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
3885
3886         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
3887         add scheduling support.
3888         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
3889         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
3890         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
3891
3892
3893 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
3894
3895         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
3896         missing CONSTANT_P test in core GCC.
3897
3898 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
3899
3900         * cppmain.c (struct printer): New member source.
3901         (scan_translation_unit): Fix spacing at start of lines.
3902         (cb_line_change): Update.
3903
3904         * gcc.dg/cpp/spacing2.c: New test.
3905
3906 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
3907
3908         * config/cris/arit.c: Use __builtin_labs, not abs.
3909
3910         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
3911
3912         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
3913         misplaced sprintf and fprintf argument.
3914
3915 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
3916
3917         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
3918         * configure.in, Makefile.in: Take out obsolete check-po logic.
3919         * configure, config.in: Regenerate.
3920
3921 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
3922
3923         * objc/objc-act.c (finish_objc): Correct precondition for emitting
3924         symtab declarations.
3925
3926 2001-10-12  Stan Shebs  <shebs@apple.com>
3927
3928         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
3929         declarations of arguments and local variables.
3930
3931 2001-10-12  Christopher Faylor  <cgf@redhat.com>
3932
3933         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
3934         ENDFILE_SPEC definition.
3935
3936 2001-10-12  Kazu Hirata  <kazu@hxi.com>
3937
3938         * gthr-dce.h: Fix comment formatting.
3939         * gthr-posix.h: Likewise.
3940         * gthr-single.h: Likewise.
3941         * gthr-solaris.h: Likewise.
3942         * gthr-vxworks.h: Likewise.
3943         * gthr-win32.h: Likewise.
3944
3945 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
3946
3947         * final.c (output_asm_insn): Make sure assembly dialects are
3948         terminated, not nested.  Output `|' and `}' characters if they
3949         don't appear inside assembly dialect selection.
3950         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
3951         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
3952         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
3953         strsetsi_rex_1): Add {} braces.
3954
3955 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
3956
3957         * toplev.c (compile_file): Ignore return value from yyparse.
3958         Always pop any nested binding levels after yyparse returns.
3959
3960 2001-10-11  Richard Henderson  <rth@redhat.com>
3961
3962         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
3963
3964 2001-10-11  Richard Henderson  <rth@redhat.com>
3965
3966         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
3967         fall back to add_AT_long_long for large CONST_INT.
3968
3969 2001-10-11  Richard Henderson  <rth@redhat.com>
3970
3971         * config/i386/i386.md (setcc splitters): Add four splitters to
3972         simplify compound compares that simplify_comparison can't handle.
3973
3974 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
3975
3976         * cpplex.c (digraph_spellings, token_spellings): Make static.
3977
3978 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3979
3980         * unroll.c (loop_iterations): Fixup last patch.
3981
3982 2001-10-11  Richard Henderson  <rth@redhat.com>
3983
3984         * rtl.h (REG_VTABLE_REF): New.
3985         * rtl.c (reg_note_name): Add it.
3986         * combine.c (distribute_notes): Handle it.
3987         * final.c (final_scan_insn): Handle it.
3988         * tree.def (VTABLE_REF): New.
3989         * expr.c (expand_expr): Handle it.
3990         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
3991         * output.h: Declare them.
3992
3993 2001-10-11  Richard Henderson  <rth@redhat.com>
3994
3995         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
3996         for a DECL_INITIAL.
3997
3998 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
3999
4000         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
4001         available in 64-bit mode.
4002
4003 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4004
4005         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
4006         cris-*-linux* cases.
4007         * config/cris/cris-protos.h: New file.
4008         * config/cris/cris.c: New file.
4009         * config/cris/cris.h: New file.
4010         * config/cris/cris.md: New file.
4011         * config/cris/linux.h: New file.
4012         * config/cris/aout.h: New file.
4013         * config/cris/arit.c: New file.
4014         * config/cris/cris_abi_symbol.c: New file.
4015         * config/cris/mulsi3.asm: New file.
4016         * config/cris/t-aout: New file.
4017         * config/cris/t-cris: New file.
4018         * config/cris/t-elfmulti: New file.
4019         * config/cris/t-linux: New file.
4020         * doc/invoke.texi: Add CRIS options.
4021         * doc/install.texi (Specific): Add blurb for CRIS.
4022
4023 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
4024
4025         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
4026         before using it.
4027         * config/float/i32.h: Likewise.
4028         * config/float-i386.h: Likewise.
4029         * config/float-i64.h: Likewise.
4030         * config/float-m68k.h: Likewise.
4031         * config/float-sh.h: Likewise.
4032         * config/float-sparc.h: Likewise.
4033
4034 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
4035
4036         * doc/contrib.texi: Add note about CRIS port to my entry.
4037
4038 2001-10-11  Kazu Hirata  <kazu@hxi.com>
4039
4040         * basic-block.h: Fix formatting.
4041         * bitmap.h: Likewise.
4042         * cpplib.h: Likewise.
4043         * c-tree.h: Likewise.
4044         * diagnostic.h: Likewise.
4045         * flags.h: Likewise.
4046         * ggc.h: Likewise.
4047         * longlong.h: Likewise.
4048         * real.h: Likewise.
4049         * reload.h: Likewise.
4050         * rtl.h: Likewise.
4051         * tree.h: Likewise.
4052
4053 2001-10-10  Richard Henderson  <rth@redhat.com>
4054
4055         * c-parse.in (asm_operand): Allow named operands.
4056         * genconfig.c (max_recog_operands): Set to 29.
4057         * local-alloc.c (requires_inout): Skip multiple digits.
4058         * recog.c (asm_operand_ok): Likewise.
4059         (preprocess_constraints): Use strtoul for matching constraints.
4060         (constrain_operands): Likewise.
4061         * regmove.c (find_matches): Likewise.
4062         * reload.c (find_reloads): Likewise.
4063         * stmt.c (parse_output_constraint): Don't reject in-out
4064         constraint on operands > 9.  Reject '[' in constraint.
4065         (expand_asm_operands): Handle named operands.  Use strtoul
4066         for matching constraints.
4067         (check_operand_nalternatives): Split out from expand_asm_operands.
4068         (check_unique_operand_names): New.
4069         (resolve_operand_names, resolve_operand_name_1): New.
4070
4071         * doc/extend.texi (Extended Asm): Document named operands.
4072         * doc/md.texi (Simple Constraints): Document matching constraints
4073         on operands > 9.
4074
4075 2001-10-10  Richard Henderson  <rth@redhat.com>
4076
4077         * combine.c (try_combine): Handle a SEQUENCE of one insn.
4078
4079         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
4080         (jcc splitters): Add two splitters to simplify compound compares
4081         that simplify_comparison can't handle.
4082
4083 2001-10-10  Richard Henderson  <rth@redhat.com>
4084
4085         * langhooks.c: Include langhooks.h.
4086         * Makefile.in (langhooks.o): Depend on it.
4087
4088 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
4089
4090         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
4091         should not be considered as a no-op.
4092         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
4093
4094 2001-10-10  Stan Shebs  <shebs@apple.com>
4095
4096         * alias.c: Remove uses of "register" specifier in declarations
4097         of arguments and local variables.
4098         * c-common.c: Ditto.
4099         * c-convert.c: Ditto.
4100         * c-decl.c: Ditto.
4101         * c-format.c: Ditto.
4102         * c-semantics.c: Ditto.
4103         * c-typeck.c: Ditto.
4104         * caller-save.c: Ditto.
4105         * calls.c: Ditto.
4106         * cfg.c: Ditto.
4107         * cfgbuild.c: Ditto.
4108         * cfgrtl.c: Ditto.
4109         * collect2.c: Ditto.
4110         * combine.c: Ditto.
4111         * convert.c: Ditto.
4112         * cppexp.c: Ditto.
4113         * cppfiles.c: Ditto.
4114         * cse.c: Ditto.
4115         * dbxout.c: Ditto.
4116         * defaults.h: Ditto.
4117         * df.c: Ditto.
4118         * dwarf2out.c: Ditto.
4119         * dwarfout.c: Ditto.
4120         * emit-rtl.c: Ditto.
4121         * explow.c: Ditto.
4122         * expmed.c: Ditto.
4123         * expr.c: Ditto.
4124         * final.c: Ditto.
4125         * fix-header.c: Ditto.
4126         * floatlib.c: Ditto.
4127         * flow.c: Ditto.
4128         * fold-const.c: Ditto.
4129         * function.c: Ditto.
4130         * gcc.c: Ditto.
4131         * gcse.c: Ditto.
4132         * gen-protos.c: Ditto.
4133         * genattrtab.c: Ditto.
4134         * gencheck.c: Ditto.
4135         * genconfig.c: Ditto.
4136         * genemit.c: Ditto.
4137         * genextract.c: Ditto.
4138         * genflags.c: Ditto.
4139         * gengenrtl.c: Ditto.
4140         * genoutput.c: Ditto.
4141         * genpeep.c: Ditto.
4142         * genrecog.c: Ditto.
4143         * gensupport.c: Ditto.
4144         * global.c: Ditto.
4145         * gmon.c: Ditto.
4146         * graph.c: Ditto.
4147         * haifa-sched.c: Ditto.
4148         * hard-reg-set.h: Ditto.
4149         * hash.c: Ditto.
4150         * integrate.c: Ditto.
4151         * jump.c: Ditto.
4152         * lists.c: Ditto.
4153         * local-alloc.c: Ditto.
4154         * loop.c: Ditto.
4155         * mips-tdump.c: Ditto.
4156         * mips-tfile.c: Ditto.
4157         * optabs.c: Ditto.
4158         * prefix.c: Ditto.
4159         * print-rtl.c: Ditto.
4160         * read-rtl.c: Ditto.
4161         * real.c: Ditto.
4162         * recog.c: Ditto.
4163         * reg-stack.c: Ditto.
4164         * regclass.c: Ditto.
4165         * regmove.c: Ditto.
4166         * reload.c: Ditto.
4167         * reload1.c: Ditto.
4168         * reorg.c: Ditto.
4169         * resource.c: Ditto.
4170         * rtl.c: Ditto.
4171         * rtlanal.c: Ditto.
4172         * scan.c: Ditto.
4173         * sched-deps.c: Ditto.
4174         * sched-rgn.c: Ditto.
4175         * sdbout.c: Ditto.
4176         * simplify-rtx.c: Ditto.
4177         * stmt.c: Ditto.
4178         * stor-layout.c: Ditto.
4179         * toplev.c: Ditto.
4180         * tradcif.y: Ditto.
4181         * tradcpp.c: Ditto.
4182         * tree.c: Ditto.
4183         * unroll.c: Ditto.
4184         * varasm.c: Ditto.
4185         * xcoffout.c: Ditto.
4186
4187 2001-10-10  Richard Henderson  <rth@redhat.com>
4188
4189         * rtl.h (can_reverse_comparison_p): Remove.
4190
4191 2001-10-10  Christopher Faylor <cgf@redhat.com>
4192
4193         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
4194         used.
4195
4196 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4197
4198         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
4199         (Thanks to Chris Faylor for suggesting macro name).
4200         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
4201         WIN32 defines.
4202         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
4203         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
4204         (MATH_LIBRARY): Undef before definition.
4205         (OUTPUT_QUOTED_STRING): Likewise.
4206         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
4207
4208 2001-10-10  Richard Henderson  <rth@redhat.com>
4209
4210         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
4211         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
4212         a tristate comparison value.
4213         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
4214
4215 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4216
4217         PR c++/4512
4218         * unroll.c (loop_iterations): Ignore insns generated by loop
4219         unrolling.
4220
4221         * config.gcc (mips*-*-gnu*): Delete support.
4222         * config/mips/gnu.h: Remove.
4223
4224 2001-10-10  Kazu Hirata  <kazu@hxi.com>
4225
4226         * calls.c: Fix formatting.
4227         * c-decl.c: Likewise.
4228         * cfgcleanup.c: Likewise.
4229         * combine.c: Likewise.
4230         * cppfiles.c: Likewise.
4231         * cpplib.c: Likewise.
4232         * cppmacro.c: Likewise.
4233         * crtstuff.c: Likewise.
4234         * cse.c: Likewise.
4235         * dwarf2out.c: Likewise.
4236         * expmed.c: Likewise.
4237         * expr.c: Likewise.
4238         * fold-const.c: Likewise.
4239         * function.c: Likewise.
4240         * gcse.c: Likewise.
4241         * genattrtab.c: Likewise.
4242         * ggc-page.c: Likewise.
4243         * integrate.c: Likewise.
4244         * libgcc2.c: Likewise.
4245         * loop.c: Likewise.
4246         * optabs.c: Likewise.
4247         * profile.c: Likewise.
4248         * protoize.c: Likewise.
4249         * real.c: Likewise.
4250         * recog.c: Likewise.
4251         * reload1.c: Likewise.
4252         * reload.c: Likewise.
4253         * reorg.c: Likewise.
4254         * resource.c: Likewise.
4255         * sched-rgn.c: Likewise.
4256         * sdbout.c: Likewise.
4257         * stmt.c: Likewise.
4258         * toplev.c: Likewise.
4259         * varasm.c: Likewise.
4260
4261 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
4262
4263         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
4264         * Makefile.in (langhooks.o): Add dependencies.
4265
4266 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
4267
4268         * rs6000.c (rs6000_emit_load_toc_table): Don't
4269         strdup the toc label.
4270         (create_TOC_reference): Likewise.
4271
4272 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4273
4274         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
4275         version default.
4276
4277 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
4278
4279         * config/i386/i386.c (ix86_attribute_table): Correct
4280         min_len, max_len fields for dllimport, dllexport and shared.
4281
4282 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4283
4284         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
4285         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
4286         Consistently use "nonzero" instead of "non-zero".
4287
4288 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4289
4290         * acconfig.h: Fix comment formatting.
4291         * c-dump.h: Likewise.
4292         * c-tree.h: Likewise.
4293         * conditions.h: Likewise.
4294         * expr.h: Likewise.
4295         * function.h: Likewise.
4296         * gthr.h: Likewise.
4297         * hwint.h: Likewise.
4298         * integrate.h: Likewise.
4299         * intl.h: Likewise.
4300         * loop.h: Likewise.
4301         * optabs.h: Likewise.
4302
4303 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4304
4305         * c-common.h: Fix comment formatting.
4306         * c-dump.c: Likewise.
4307         * cfg.c: Likewise.
4308         * diagnostic.h: Likewise.
4309         * except.c: Likewise.
4310         * gcc.h: Likewise.
4311         * gcov-io.h: Likewise.
4312         * genattrtab.c: Likewise.
4313         * output.h: Likewise.
4314         * predict.h: Likewise.
4315         * reload1.c: Likewise.
4316         * reload.h: Likewise.
4317         * resource.h: Likewise.
4318         * scan.h: Likewise.
4319         * system.h: Likewise.
4320         * tree.h: Likewise.
4321         * tree-inline.c: Likewise.
4322         * tsystem.h: Likewise.
4323         * varasm.c: Likewise.
4324         * xcoffout.h: Likewise.
4325
4326 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4327
4328         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
4329
4330 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4331
4332         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
4333         config/i386/i386elf.h, config/i386/netbsd-elf.h,
4334         config/i386/netware.h, config/mcore/gfloat.h,
4335         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
4336         config/netware.h, gccbug.in: Update FSF address.
4337
4338 2001-10-09  Kazu Hirata  <kazu@hxi.com>
4339
4340         * c-common.c: Fix comment typos.
4341         * cfgrtl.c: Likewise.
4342         * collect2.c: Likewise.
4343         * cpplex.c: Likewise.
4344         * doloop.c: Likewise.
4345         * dwarf2out.c: Likewise.
4346         * dwarfout.c: Likewise.
4347         * expr.c: Likewise.
4348         * fold-const.c: Likewise.
4349         * gcc.c: Likewise.
4350         * gcov.c: Likewise.
4351         * gcse.c: Likewise.
4352         * global.c: Likewise.
4353         * ifcvt.c: Likewise.
4354         * loop.c: Likewise.
4355         * optabs.c: Likewise.
4356         * protoize.c: Likewise.
4357         * regclass.c: Likewise.
4358         * reorg.c: Likewise.
4359         * rtl.h: Likewise.
4360         * stmt.c: Likewise.
4361         * tree.h: Likewise.
4362         * doc/cpp.texi: Likewise.
4363         * doc/c-tree.texi: Likewise.
4364         * doc/extend.texi: Likewise.
4365         * doc/invoke.texi: Likewise.
4366         * doc/objc.texi: Likewise.
4367         * doc/tm.texi: Likewise.
4368
4369 2001-10-08  Richard Henderson  <rth@redhat.com>
4370
4371         * varasm.c (set_named_section_flags): Initialize "declared".
4372
4373 2001-10-08  Robert Lipe  <robertlipe@usa.net>
4374
4375         * varasm.c (struct in_named_entry): Add declared.
4376         (named_section_first_declaration): New function.
4377         (default_elf_asm_named_section): Use it.
4378         * output.h (named_section_first_declaration): New.
4379
4380 2001-10-08  Richard Henderson  <rth@redhat.com>
4381
4382         * i386.md (movsi_xor): Export.
4383         (setcc peep2): Use it when available; add an alternative to
4384         match zero_extendhisi2_and.
4385
4386 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4387
4388         * romp-protos.h (romp_initialize_trampoline): New function.
4389         * romp.c (romp_initialize_trampoline): Likewise.
4390         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
4391         romp_initialize_trampoline.
4392
4393 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4394
4395         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
4396         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4397         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4398         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4399
4400 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4401
4402         * unroll.c (loop_iterations): Extend check for multiple back edges.
4403
4404 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
4405
4406         * langhooks.h: New file.
4407         * Makefile.in (OBJS): Added langhooks.o.
4408         (c-lang.o): Depend on langhooks.h.
4409         (c-common.o): Don't depend on tree-inline.h.
4410         (tree-inline.o): Depend on toplev.h.
4411         (langhooks.o): New rule.
4412         * c-common.c: Don't include tree-inline.h.
4413         (c_mark_lang_decl): Mark argument c as unused.
4414         (c_common_lang_init): Don't initialize hooks here.
4415         * c-lang.c: Include langhooks.h, then override some macros.
4416         (lang_hooks): Initialize with macros in langhooks.h.
4417         (c_init): Don't initialize hooks here.
4418         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
4419         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
4420         * tree-inline.c: Include toplev.h.  Don't define hook variables.
4421         * tree-inline.h: Don't define hook types nor declare hook
4422         variables.  Move macros to...
4423         * langhooks.c: ... new file, as functions.  Adjust all callers.
4424
4425 2001-10-08  Jeffrey A Law  <law@cygnus.com>
4426
4427         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
4428         purge_mem_unchanging_flag on all instructions, not just on those
4429         before NOTE_INSN_FUNCTION_BEG.
4430
4431 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4432
4433         * cppmacro.c (_cpp_create_definition): Leave comments off.
4434
4435         * doc/cpp.texi: Update.
4436
4437 2001-10-08  DJ Delorie  <dj@redhat.com>
4438
4439         * c-decl.c (grokfield): Make sure the only unnamed fields
4440         we're allowing are either structs or unions.
4441         * doc/extend.texi: Add documentation for the unnamed field
4442         extension.
4443
4444 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
4445
4446         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
4447         * configure.in: Use it.
4448         * configure: Regenerated.
4449         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
4450         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
4451
4452 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4453
4454         * cppfiles.c (open_file): Don't mark zero-length files
4455         never-reread here.  Don't output diagnostics here either.
4456         (stack_include_file): Mark them never-reread here.
4457         (_cpp_read_file): Update.
4458
4459 2001-10-08  Richard Henderson  <rth@redhat.com>
4460
4461         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4462
4463 2001-10-08  Richard Henderson  <rth@redhat.com>
4464
4465         * expr.c (store_expr): When converting a CONST_INT for storage
4466         in a SUBREG, convert it to both SUBREG modes before stripping
4467         the SUBREG.
4468
4469 2001-10-08  Richard Henderson  <rth@redhat.com>
4470
4471         * varasm.c (restore_varasm_status): New.
4472         * function.h: Declare it.
4473         * function.c (pop_function_context_from): Call it.
4474
4475 2001-10-08  Richard Henderson  <rth@redhat.com>
4476
4477         * c-common.h (struct c_lang_decl): Add declared_inline.
4478         * c-tree.h (DECL_DECLARED_INLINE_P): New.
4479         * c-lang.c (c_disregard_inline_limits): Use it.
4480         * c-decl.c (duplicate_decls): Likewise.
4481         (pushdecl, redeclaration_error_message): Likewise.
4482         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
4483         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
4484         Set DECL_INLINE if -finline-functions.
4485         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
4486
4487 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4488
4489         * cppmacro.c (funlike_invocation_p): Move some logic to caller
4490         in enter_macro_context.  Create a padding token in its own context
4491         if necessary when the search for '(' fails.
4492         (enter_macro_context): Update.
4493
4494 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4495
4496         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
4497         genmultilib, toplev.c: Fix spelling errors of "separate" as
4498         "seperate", and corresponding spelling errors of related words.
4499
4500 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4501
4502         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
4503         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
4504         Likewise.
4505         * c-dump.c (dump_option_value_info): Likewise.
4506         * c-format.c (format_length_info, format_char_info,
4507         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
4508         * collect2.c (names): Likewise.
4509         * cppdefault.h (default_include): Likewise.
4510         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
4511         * flow.c (life_analysis): Likewise.
4512         * gcc.c (dir_separator_str, modify_target, option_map,
4513         target_option_translations, spec_list_1, extra_specs_1,
4514         init_spec): Likewise.
4515         * gcov.c (gcov_version_string): Likewise.
4516         * genattr.c (write_units): Likewise.
4517         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
4518         * gengenrtl.c (rtx_definition, defs): Likewise.
4519         * genrecog.c (pred_table): Likewise.
4520         * global.c (global_alloc): Likewise.
4521         * lcm.c (optimize_mode_switching): Likewise.
4522         * local-alloc.c (find_free_reg): Likewise.
4523         * params.h (param_info): Likewise.
4524         * predict.c (predictor_info): Likewise.
4525         * protoize.c (unexpansion_struct): Likewise.
4526         * real.c (bmask): Likewise.
4527         * recog.h (insn_operand_data, insn_data): Likewise.
4528         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
4529         * stmt.c (expand_nl_goto_receiver): Likewise.
4530         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
4531         target_switches, target_options): Likewise.
4532         * tradcif.y (token, tokentab2, yylex): Likewise.
4533         * tree.h (attribute_spec): Likewise.
4534
4535         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
4536         Likewise.
4537         * arc.c (arc_output_function_epilogue): Likewise.
4538         * arm.c (processors, all_cores, all_architectures,
4539         arm_override_options, isr_attribute_arg, isr_attribute_args,
4540         arm_isr_value): Likewise.
4541         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
4542         Likewise.
4543         * c4x.c (c4x_int_reglist): Likewise.
4544         * d30v.c (override_options): Likewise.
4545         * h8300.c (shift_insn): Likewise.
4546         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
4547         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
4548         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
4549         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
4550         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
4551         * i386.h (processor_costs, ix86_cost): Likewise.
4552         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
4553         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
4554         * m68k.c (codes_68881, codes_FPA): Likewise.
4555         * m88k.c (mode_from_align, max_from_align, all_from_align,
4556         best_from_align, m_options): Likewise.
4557         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
4558         * mcore.c (mode_from_align): Likewise.
4559         * mips/elf64.h (UNIQUE_SECTION): Likewise.
4560         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
4561         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
4562         * mips.h (mips_regno_to_class): Likewise.
4563         * ns32k.c (scales): Likewise.
4564         * pa.c (import_string, magic_milli): Likewise.
4565         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
4566         * sparc.c (leaf_reg_remap, sparc_override_options,
4567         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
4568         Likewise.
4569         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
4570
4571 2001-10-07  Dale Johannesen  <dalej@apple.com>
4572
4573         * reload1.c (reload_reg_free_p): Teach register interference
4574         checking that multiple output reloads are emitted in
4575         reverse order.
4576         reload1.c (reload_reg_reaches_end_p):  Ditto.
4577         reload1.c (reloads_conflict):  Ditto.
4578
4579 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4580
4581         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
4582         NULL_TREE inside @code.
4583
4584 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4585
4586         * doc/gcc.texi: Document consistent style of "32-bit",
4587         "Objective-C", and "@code{NULL}".
4588
4589 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
4590
4591         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
4592         (cpp_token_len, cpp_spell_token, cpp_output_token,
4593         _cpp_equiv_tokens): Handle it.
4594         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
4595         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
4596         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
4597         error messages.
4598
4599 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4600
4601         * gcc.c (default_compilers): Remove .ada.
4602
4603 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4604
4605         * doc/cppinternals.texi: Update.
4606
4607 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
4608
4609         * gcc.c (main): Set this_file_error if the appropriate
4610         compiler for a language has not been installed.
4611
4612 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
4613
4614         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
4615
4616 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
4617
4618         * gccbug.in (CATEGORIES): Add ada.
4619
4620 2001-10-05  Catherine Moore  <clm@redhat.com>
4621
4622         * config/stormy16/stormy-abi:  Document abi changes.
4623         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
4624         (ICALL_REGS): New register class.
4625         (NUM_ARGUMENT_REGISTERS): Now 6.
4626         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
4627         in registers.
4628         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
4629         * config/stormy16.md (call_internal, call_value_internal,
4630         indirect_jump): Use new 'z' constraint.
4631
4632 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4633
4634         * doc/cppinternals.texi: Update.
4635
4636 2001-10-05  Richard Henderson  <rth@redhat.com>
4637
4638         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
4639         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
4640         the gas section-name-as-label feature.
4641
4642 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4643
4644         * doc/cppinternals.texi: Update.
4645
4646 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4647
4648         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
4649         to ensure valid SImode constants.
4650
4651 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
4652
4653         * Makefile.in (c-decl.o): Depend on tree-inline.h.
4654         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
4655         * c-decl.c: Include tree-inline.h.
4656         (c_expand_body): Call optimize_inline_calls. Determine whether
4657         a function is inlinable upfront, and only clear
4658         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
4659         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
4660         (c_disregard_inline_limits): New function.
4661         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
4662         (c_post_options): Enable tree inlining if inlining is enabled.
4663         Don't inline trees when instrumenting functions.
4664         (c_init): Initialize lang_disregard_inline_limits and
4665         lang_cannot_inline_tree_fn.
4666         * tree-inline.c (initialize_inlined_parameters): Handle calls
4667         with fewer arguments than declared parameters, and fewer
4668         parameters than passed arguments.  Don't assume value is a
4669         DECL.
4670         (declare_return_variable): Convert return value back to the
4671         original type, if it was promoted.
4672         (tree_inlinable_function_p): New function.
4673         (inlinable_function_p): Don't look at DECL_INLINE if we're
4674         inlining all functions.  Make it work with a NULL id.
4675         Re-check DECL_UNINLINABLE after language-specific checks.
4676         * tree-inline.h (tree_inlinable_function_p): Declare it.
4677         * integrate.c (save_for_inline): Don't bother to prepare argvec
4678         when not inlining.
4679         * cse.c (check_for_label_ref): Don't check deleted labels.
4680
4681         * Makefile.in (tree-inline.o): Depend on newly-included headers.
4682         * tree-inline.c: Include headers needed for the functions moved in.
4683         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
4684         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
4685         (copy_body, initialize_inlined_parameters): Likewise.
4686         (declare_return_variable, inlinable_function_p): Likewise.
4687         (expand_call_inline, expand_calls_inline): Likewise.
4688         (optimize_inline_calls, clone_body): Likewise.
4689         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
4690         (copy_tree_r, remap_save_expr): Likewise.
4691
4692 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
4693
4694         * Makefile.in (OBJS): Added tree-inline.o.
4695         (c-common.o): Depend on tree-inline.h.
4696         (tree-inline.o): New target.
4697         * c-common.c: Include tree-inline.h.
4698         (c_mark_lang_decl): Don't mark saved_tree.
4699         (c_common_lang_init): Set lang_anon_aggr_type_p.
4700         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
4701         (struct c_lang_decl): Moved saved_tree to tree_decl.
4702         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
4703         * integrate.h (function_attribute_inlinable_p): Declare it.
4704         * integrate.c (function_attribute_inlinable_p): Export it.
4705         * tree-inline.c: New file.  Define variables declared in...
4706         * tree-inline.h: New file.  Declare functions to be moved to
4707         tree-inline.c.  Define macros and declare types and hooks for
4708         language-specific tree inlining.
4709         (flag_inline_trees): Moved definition from cp/decl2.c.
4710         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
4711         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
4712         (struct tree_decl): Moved saved_tree from c_lang_decl and
4713         inlined_fns from C++'s lang_decl.
4714
4715 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
4716
4717         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
4718         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
4719
4720 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
4721
4722         * doc/cppinternals.texi: Update.
4723
4724 2001-10-04  Eric Christopher  <echristo@redhat.com>
4725
4726         * config/mips/mips.c (init_cumulative_args): Remember to set
4727         cum->prototype.
4728         * config.gcc: Redo linux configuration. Add target_cpu_default
4729         of soft-float to all mipsisa32 combinations and tx39.
4730         * config/mips/linux.h: Remove include of mips.h.
4731
4732 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
4733
4734         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
4735         HOST_LDFLAGS and HOST_CPPFLAGS.
4736
4737 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
4738
4739         * c-parse.in (objc_inherit_code, objc_pq_context,
4740         objc_public_flag): Make static.
4741         (objc_interface_context, objc_implementation_context,
4742         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
4743         global tree array in objc/objc-act.[ch].
4744         (methoddef): Remove unnecessary code.
4745
4746         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
4747         Hoist struct definitions to objc-act.h.
4748         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
4749         cat_count): Place declaration in objc-act.h.
4750         (objc_tree_index): Move enumeration to objc-act.h.
4751         (objc_global_trees): Place declaration and macro accessors in
4752         objc-act.h.
4753         (implementation_context): Remove duplicate; use
4754         objc_implementation_context instead:
4755         (method_context): Remove duplicate; use objc_method_context
4756         instead.
4757         (objc_ellipsis_node, objc_method_prototype_template,
4758         implemented_classes, function_type): Move global vars to
4759         objc_global_trees.
4760         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
4761         (build_message_expr): Move actual construction of ObjC message
4762         send nodes to finish_message_expr.
4763         (finish_message_expr): New routine, contains code formerly in
4764         build_message_expr.
4765         * objc/objc-act.h (finish_message_expr): New prototype.
4766         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
4767         declarations; these vars are now part of objc_global_trees.
4768         (objc_tree_index, objc_global_trees): Move definitions from
4769         objc-act.c.
4770         * objc/objc-tree.def: Update copyright info.
4771
4772 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
4773
4774         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
4775         op is NULL.
4776         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
4777         only if TARGET_ARCH64.
4778
4779 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
4780
4781         * doc/extend.texi: Fix some problems with previous checkin.
4782         * doc/invoke.texi: Likewise.
4783
4784 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4785
4786         * cpphash.h: Update comments.
4787         (cpp_context): Update.
4788         (spec_nodes): Remove n__Pragma.
4789         * cppinit.c (cpp_create_reader): Update.
4790         (builtin_array): Add _Pragma.
4791         * cpplib.h: Update comments.
4792         (NODE_DISABLED, BT_PRAGMA): New.
4793         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
4794         * cppmacro.c (struct cpp_macro): Remove disabled.
4795         (builtin_macro): Return int, handle _Pragma, push the new token
4796         on the context stack.
4797         (funlike_invocation_p): Unconstify, update.
4798         (enter_macro_context): Handle builtins here.
4799         (replace_args, push_token_context, push_ptoken_context):
4800         Update for prototype changes.
4801         (_cpp_pop_context): Update.
4802         (cpp_get_token): Don't handle buitins, nor _Pragma here.
4803         (cpp_sys_macro_p): Update.
4804         (_cpp_free_definition): Clear disabled flag.
4805         (_cpp_create_definition): Upate.
4806         * cppmain.c: Update comments.
4807
4808 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
4809                                 Andreas Jaeger <aj@suse.de>,
4810                                 Jan Hubicka    <jh@suse.cz>
4811
4812         * doc/invoke.texi (i386 Options): Document x86-64 options.
4813         (i386 and x86-64 Options): Rename i386 options section.
4814
4815         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
4816         (TARGET_SWITCHES): Add -munwind-info.
4817         (MASK_NO_UNWIND_INFO): New.
4818         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
4819         biarch compilation.
4820         (ASM_OUTPUT_DOUBLE_INT): New.
4821
4822         * config/i386/linux64.h: New spec file for Linux x86-64 support.
4823         * config.gcc: Fix tm_file settings for x86-64.
4824         * config/i386/x86-64.h: New file with OS independent x86-64
4825         definitions.
4826         * config/i386/biarch64.h: New file used to configure compiler
4827         to biarch/64bit compilation.
4828
4829         * config/i386/i386.c: (override_options): Set flags default
4830         for 64bit compilation.
4831
4832 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
4833
4834         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
4835         (ix86_expand_int_movcc): Optimize DImode conditional moves with
4836         constants on x86_64.
4837         (ix86_attr_length_immediate_default): Support MODE_DI.
4838         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
4839         condition.
4840         (indirect_jump, tablejump): Turn into expander.
4841
4842 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4843
4844         * c-common.c (c_format_attribute_table): Make format and
4845         format_arg attributes apply to function types rather than to
4846         decls.
4847         (is_valid_printf_arglist): Construct an attribute list and pass
4848         that to check_function_format rather than a name.
4849         * c-common.h (check_function_format): Adjust prototype.
4850         * c-decl.c (duplicate_decls): Preserve attributes from type of
4851         built-in decl when allowing for harmless conflict in types.
4852         * c-format.c (record_function_format,
4853         record_international_format, function_format_list,
4854         international_format_info, international_format_list): Remove.
4855         (function_format_info): Remove next, name and assembler_name.
4856         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
4857         (decode_format_attr): New.
4858         (handle_format_attribute): Handle receiving a type rather than a
4859         decl.  Call decode_format_attr.  Store format information in a
4860         function_format_info.
4861         (handle_format_arg_attribute): Correct comment.  Handle receiving
4862         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
4863         arg_num.
4864         (check_format_info_recurse, check_format_info_main): Take argument
4865         numbers as unsigned HOST_WIDE_INT.
4866         (check_function_format): Take a list of attributes from the
4867         function type rather than a name or assembler name.  Check for
4868         format attributes in that list and the attributes on the type of
4869         the current function rather than looking through
4870         function_format_list.
4871         (check_format_info): Use unsigned HOST_WIDE_INT for argument
4872         numbers.
4873         (check_format_info_recurse): Take format_arg attributes from the
4874         type of the function calls rather than using
4875         international_format_list.  Allow for multiple format_arg
4876         attributes.
4877         * c-typeck.c (build_function_call): Pass type attributes to
4878         check_function_format rather than name or assembler name.  Don't
4879         require there to be a name or assembler name to check formats.
4880
4881 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4882
4883         * attribs.c (decl_attributes): Possibly call
4884         insert_default_attributes to insert default attributes on
4885         functions in a lazy manner.
4886         * builtin-attrs.def: New file; define the default format and
4887         format_arg attributes.
4888         * c-common.c (c_format_attribute_table): Move to earlier in the
4889         file.
4890         (c_common_nodes_and_builtins): Initialize format_attribute_table.
4891         (enum built_in_attribute, built_in_attributes,
4892         c_attrs_initialized, c_init_attributes,
4893         c_common_insert_default_attributes): New.
4894         (c_common_lang_init): Don't initialize format_attribute_table.  Do
4895         call c_init_attributes.
4896         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
4897         * c-common.h (init_function_format_info): Don't declare.
4898         (c_common_insert_default_attributes): Declare.
4899         * c-decl.c (implicitly_declare, builtin_function): Call
4900         decl_attributes.
4901         (init_decl_processing): Don't call init_function_format_info.
4902         (insert_default_attributes): New.
4903         * c-format.c (handle_format_attribute,
4904         handle_format_arg_attribute): Be quiet about inappropriate
4905         declaration when applying default attributes.
4906         (init_function_format_info): Remove.
4907         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
4908         (insert_default_attributes): Declare.
4909
4910 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4911
4912         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
4913
4914 2001-10-01  Jim Wilson  <wilson@redhat.com>
4915
4916         * sched-deps.c (add_dependence): When elide conditional dependence,
4917         check that insn doesn't modify cond2.
4918
4919 2001-10-01  Dale Johannesen  <dalej@apple.com>
4920
4921         * config/rs6000/rs6000.h (enum processor_type): Add support
4922         for 7400 (G4) and 7450.
4923         (RTX_COSTS): Ditto.
4924         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
4925         (rs6000_issue_rate): Ditto.
4926         (rs6000_adjust_cost): Fix cycle counts for compares.
4927         (debug_stack_info):  Fix an obvious typo.
4928         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
4929         * doc/invoke.texi: Document.
4930         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
4931         for Darwin.
4932         (PROCESSOR_DEFAULT): Ditto.
4933
4934 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
4935
4936         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
4937         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
4938         later recursive make invocation.
4939
4940 2001-10-01  Hans Boehm  <boehm@acm.org>
4941
4942         * optabs.c (emit_libcall_block): When using non-call exceptions,
4943         don't add REG_LIBCALL reg notes to trapping calls.
4944
4945 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
4946
4947         * flow.c (propagate_block_delete_libcall): Remove unused first arg
4948         (propagate_one_insn):  Update for above change
4949
4950 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
4951
4952         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
4953         _Unwind_GetTextRelBase): Argument is unused.
4954
4955 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4956
4957         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
4958         Loop through NOPs, placeholders, and components.
4959         Don't go through NOPs if change mode.
4960         (record_alias_subset): Do nothing if SUBSET and SET are the same.
4961         * emit-rtl.c (set_mem_alias_set): Enable check.
4962         * expr.c (find_placeholder): New function.
4963         (expand_expr, case PLACEHOLDER_EXPR): Use it.
4964         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
4965         to modify it and avoid unneeded copies.
4966         * expr.h (expand_expr): Always define.
4967         (find_placeholder): New declaration.
4968
4969 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4970
4971         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
4972         operand 2 is the stack pointer.
4973         ("addr-peephole"): Fix address computation peephole when operand 2
4974         is the stack pointer.
4975
4976 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4977
4978         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
4979         (ix86_setup_incoming_varargs): Likewise.
4980
4981 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
4982
4983         * stor-layout.c (layout_type): Don't complain about too-large
4984         array here.
4985
4986 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4987
4988         * function.c (keep_stack_depressed): Don't use delete_insn.
4989
4990         * expr.h (set_mem_alias_set): Move decl to here.
4991         * rtl.h (mem_attrs): New typedef and struct.
4992         (union rtunion_def): Add field for mem_attrs.
4993         (X0MEMATTR, MEM_ATTRS): New macros.
4994         (MEM_ALIAS_SET): Use MEM_ATTRS.
4995         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
4996         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
4997         (set_mem_alias_set): Delete decl from here.
4998
4999         * alias.c (set_mem_alias_set): Delete from here.
5000         * emit-rtl.c (mem_attrs_htab): New variable.
5001         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
5002         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
5003         (mem_attrs_mark, get_mem_attrs): Likewise.
5004         (gen_rtx_MEM): Clear MEM_ATTRS.
5005         (set_mem_attributes): Move to here.
5006         (set_mem_alias_set): Likewise, and call get_mem_attrs.
5007         (init_emit_once): const_int_htab now deletable htab.
5008         Initialize mem_attrs_htab.
5009         * explow.c (set_mem_attributes): Delete from here.
5010         * function.c (put_var_into_stack): Clear MEM_ATTRS.
5011         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
5012         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
5013         * reload1.c (reload): Rework changing REG to MEM.
5014
5015 2001-09-30  H.J. Lu <hjl@gnu.org>
5016
5017         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
5018         * config.in: Rebuild.
5019
5020 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5021
5022         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
5023         ("tsthi_1"): Avoid allocation in register y.
5024         ("*movqi_68hc12"): Reorganize and fix constraints.
5025         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
5026         ("addqi3"): Likewise.
5027         ("addhi3"): Fix constraints.
5028         ("*logicalhi3_zexthi"): Disparage soft registers.
5029
5030 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5031
5032         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
5033         to tmp reg.
5034
5035 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5036
5037         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
5038         that we use setjmp/longjmp exceptions.
5039
5040 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
5041
5042         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
5043         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
5044         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5045         _cpp_pool_alloc, _cpp_next_chunk): Remove.
5046         (_cpp_extend_buff, BUFF_ROOM): Update.
5047         (_cpp_append_extend_buff): New.
5048         (struct cpp_reader): Remove macro_pool, add a_buff.
5049         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
5050         macro_pool.
5051         (cpp_destroy): Free a_buff instead of macro_pool.
5052         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
5053         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5054         _cpp_pool_alloc, ): Remove.
5055         (parse_number, parse_string): Update use of _cpp_extend_buff.
5056         (_cpp_extend_buff): Update.
5057         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
5058         * cpplib.c (glue_header_name, parse_answer):
5059         Update use of _cpp_extend_buff.
5060         (cpp_register_pragma, cpp_register_pragma_space): Use
5061         _cpp_aligned_alloc.
5062         (do_assert, do_unassert): Check for EOL, update.
5063         * cppmacro.c (stringify_arg, collect_args): Update to use
5064         _cpp_extend_buff and _cpp_append_extend_buff.
5065         (save_parameter, parse_params, alloc_expansion_token,
5066         _cpp_create_definition): Rework memory management.
5067
5068 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
5069
5070         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
5071         update md_exec_prefix.
5072         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
5073         to string constant.
5074
5075 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5076
5077         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
5078         (SELECT_CC_MODE): Use s390_select_ccmode.
5079         * config/s390/s390-protos.h (s390_select_ccmode): Add.
5080         * config/s390/s390.c (s390_select_ccmode): New.
5081         (s390_match_ccmode): Add CCLmode.
5082         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
5083         (output_branch_condition, output_inverse_branch_condition): Removed.
5084         (print_operand): Use s390_branch_condition_mnemonic.
5085         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
5086         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
5087         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
5088
5089         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
5090         when converting conditional branches to far branches.
5091         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
5092         cmpint_di): Use CCSmode instead of CCUmode.
5093
5094         * config/s390/s390.c (legitimate_la_operand_p): New.
5095         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
5096         * config/s390/s390.md (movsi): Convert load address patterns to
5097         arithmetic operations when necessary.
5098         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
5099         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
5100         (*do_la_reg_0): Don't use before reload.
5101
5102         * config/s390/s390.c (legitimize_address): Make more efficient
5103         use of two-register addressing mode.
5104
5105         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
5106         with -mno-backchain in some corner cases.
5107
5108         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
5109
5110 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
5111
5112         * reload.c (find_reloads): Mark new USE insns with QImode.
5113         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
5114         find_reloads_subreg_address): Likewise.
5115         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
5116         encountered.
5117         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
5118         CLOBBERs.
5119         (reload): Make sure there are no USEs with mode other than
5120         VOIDmode.  At the end, remove those marked with QImode.
5121
5122 2001-09-29  Per Bothner  <per@bothner.com>
5123
5124         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
5125         * Makefile.in (includedir):  Rename to local_includedir.
5126         (includedir):  Define as $(prefix)/include.
5127         * config.in (PREFIX_INCLUDE_DIR):  New variable.
5128         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
5129
5130 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
5131
5132         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
5133         storehps builtins.
5134         * doc/extend.texi (Vector Extensions): New node.
5135         * doc/invoke.texi (Machine Dependent Options): Add documentation for
5136         i386 -mmmx, -msse, -m3dnow.
5137
5138 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
5139
5140         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
5141
5142 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
5143
5144         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
5145
5146         * doc/invoke.texi (Optimize Options): Delete spurious @table.
5147
5148 2001-09-28  Richard Henderson  <rth@redhat.com>
5149
5150         * varasm.c (assemble_integer): Bound alignment check by
5151         BIGGEST_ALIGNMENT.
5152
5153         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
5154
5155 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5156
5157         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
5158
5159 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5160
5161         Mostly from Graham Stott  <grahams@redhat.com>
5162         * c-common.c (type_for_mode): Add support for V2SFmode.
5163         * tree.c (build_common_tree_nodes_2): Likewise.
5164         * tree.h (enum tree_index, global_trees): Likewise.
5165         * config/i386/i386.c (x86_3dnow_a): New variable.
5166         (override_options): Support 3Dnow extensions.
5167         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
5168         Athlon's version of 3Dnow.
5169         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
5170         (ix86_expand_builtin): Handle them.
5171         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
5172         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
5173         TARGET_3DNOW_A): New macros.
5174         (TARGET_SWITCHES): Add 3Dnow switches.
5175         (VALID_MMX_REG_MODE_3DNOW): New macro.
5176         (VECTOR_MODE_SUPPORTED_P): Use it.
5177         (enum ix86_builtins): Add entries for 3Dnow builtins.
5178         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
5179         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
5180         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
5181         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
5182         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
5183         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
5184         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
5185         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
5186         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
5187         sfence_insn, prefetch): Make these available if TARGET_SSE or
5188         TARGET_3DNOW_A.
5189
5190 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5191
5192         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
5193         ix86_va_start, ix86_build_va_list): Declare.
5194         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
5195         ix86_va_start, ix86_build_va_list): New global functions.
5196         * i386.md (sse_prologue_save_insn): New insn.
5197         (sse_prologue_save): New expander.
5198         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
5199         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
5200
5201 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5202
5203         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
5204         Use size_t everywhere, make definitions consistent with
5205         prototypes.
5206
5207 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
5208
5209         * gcse.c (replace_store_insn): Use delete_insn.
5210         * loop.c (move_movables): Likewise; avoid delete_insn
5211         from clobbering notes moved elsewhere.
5212         (check_dbra_loop): Use delete_insn.
5213         * ssa.c (convert_from_ssa): Likewise.
5214         * cse.c (cse_insn): Use delete_insn.
5215
5216 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5217
5218         * cpphash.h (struct cpp_buff): Make unsigned.
5219         (_cpp_get_buff): Take length of size_t.
5220         (_cpp_unaligned_alloc): New.
5221         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
5222         (struct cpp_reader): Remove ident_pool.  Add u_buff.
5223         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
5224         (cpp_destroy): Destroy u_buff, not ident_pool.
5225         * cpplex.c (parse_number, parse_string, save_comment,
5226         cpp_token_as_text): Update to use the unaligned buffer.
5227         (new_buff): Make unsigned.
5228         (_cpp_unaligned_alloc): New.
5229         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
5230         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
5231         Similarly.
5232         (collect_args): Make unsigned.
5233
5234 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
5235
5236         * cpplex.c (cpp_output_token): Use a putc loop for
5237         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
5238
5239         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
5240         * configure, config.in: Regenerate.
5241         * system.h: Replace fwrite and fprintf with their unlocked
5242         variants if available.
5243
5244 2001-09-27  Richard Henderson  <rth@redhat.com>
5245
5246         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
5247         in favour of .eh_frame.
5248
5249 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
5250
5251         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
5252         to macros.
5253         (LIBCALL_VALUE): Likewise.
5254
5255 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5256
5257         * cpphash.h: Update comment.
5258         * cpplex.c: Update comments.
5259         (_cpp_can_paste): Remove.
5260         * cpplib.h (_cpp_can_paste): Remove.
5261         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
5262         lexer rather than _cpp_can_paste.
5263
5264 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5265
5266         * doc/cppinternals.texi: Update.
5267
5268 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5269
5270         * cpphash.h (struct cpp_pool): Remove locks and locked.
5271         (struct cpp_context): Add member buff.
5272         (struct cpp_reader): Remove member argument_pool.
5273         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5274         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
5275         * cpplex.c (chunk_suitable): Remove pool argument.
5276         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
5277         (new_buff, _cpp_extend_buff): Update.
5278         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
5279         which buffer is returned.
5280         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
5281         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5282         * cppmacro.c (lock_pools, unlock_pools): Remove.
5283         (push_ptoken_context): Take a _cpp_buff.
5284         (enter_macro_context): Pool locking removed.
5285         (replace_args): Use a _cpp_buff for the replacement list with
5286         arguments replaced.
5287         (push_token_context): Clear buff.
5288         (expand_arg): Use _cpp_pop_context.
5289         (_cpp_pop_context): Free a context's buffer, if any.
5290
5291 2001-09-26  DJ Delorie  <dj@redhat.com>
5292
5293         * c-typeck.c (digest_init): Check for sizeless arrays.
5294
5295 2001-09-26  Richard Henderson  <rth@redhat.com>
5296
5297         * optabs.c (init_one_libfunc): Create a dummy function type
5298         instead of using error_mark_node.
5299
5300 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5301
5302         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
5303         _cpp_extend_buff, _cpp_free_buff): New.
5304         (struct cpp_reader): New member free_buffs.
5305         * cppinit.c (cpp_destroy): Free buffers.
5306         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
5307         _cpp_extend_buff, _cpp_free_buff): New.
5308         * cpplib.h (struct cpp_options): Remove unused member.
5309         * cppmacro.c (collect_args): New.  Combines the old parse_arg
5310         and parse_args.  Use _cpp_buff for memory allocation.
5311         (funlike_invocation_p, replace_args): Update.
5312
5313 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
5314
5315         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
5316
5317 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
5318
5319         * except.c (sjlj_mark_call_sites): Change address inside sequence.
5320
5321 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
5322
5323         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
5324         glibc.
5325
5326 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
5327             Jim Wilson  <wilson@redhat.com>
5328
5329         * doc/install.texi (Specific, ia64-*-linux): Document.
5330
5331 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
5332
5333         * Makefile.in (cfgrtl.o): Add.
5334         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5335         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5336         free_aux_for_edge): Declare.
5337         * cfg.c
5338         (HAVE_return): Undefine.
5339         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5340         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5341         free_aux_for_edge): New global functions.
5342         (first_delete_block): New static variable.
5343         (init_flow): Clear first_delete_block.
5344         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
5345          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
5346          try_redirect_by_replacing_jump, last_loop_beg_note,
5347          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
5348          delete_insn, delete_insn_chain, create_basic_block_structure,
5349          create_basic_block, flow_delete_block, compute_bb_for_insn,
5350          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
5351          set_block_for_new_insns, split_block, merge_blocks_nomove,
5352          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
5353          redirect_edge_and_branch, force_nonfallthru_and_redirect,
5354          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
5355          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
5356          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
5357          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5358          purge_all_dead_edges): Move to ....
5359         * cfgrtl.c: New file; .... Here.
5360
5361         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
5362         (reroder_basic_block): Use alloc_aux_for_blocks.
5363         * predict.c (estimate_bb_frequencies): Likewise; use
5364         alloc_aux_for_edges.
5365         * profile.c (compute_branch_probabilities): Likewise.
5366         (branch_prob): Likewise.
5367         * reg-stack.c (reg_to_stack): Likewise.
5368
5369         * emit-rtl.c (emit_insns_after): Never return NULL.
5370
5371         * basic-block.h (set_block_for_new_insns): Delete.
5372         * cfgrtl.c (set_block_for_new_insns): Delete.
5373
5374         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
5375         calls when crossjumping.
5376
5377         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
5378         * unroll.c (copy_loop_body): Use delete_insn.
5379
5380         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
5381         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
5382         keep_stack_depressed): Likewise.
5383         * gcse.c (cprop_cc0_jump): Likewise.
5384         * local-alloc.c (update_equiv_regs): Likewise.
5385         * loop.c (scan_loop, loop_delete_insns): Likewise.
5386         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
5387         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
5388         delete_output_reload, delete_address_reloads_1,
5389         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
5390         Likewise.
5391         * sibcall.c (replace_call_placeholder): Likewise.
5392         * cse.c (cse_insn): Likewise.
5393
5394 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
5395
5396         From Graham Stott  <grahams@redhat.com>
5397         (def_builtin): Only define builtins appropriate for target_flags.  All
5398         callers changed.
5399         (builtin_decsription): Add new field mask which is used to determine
5400         when to define the builtin via the macro def_builtin.
5401
5402         (bdesc_comi): Initialise new mask fields.
5403         (bdesc_2srg): Likewise.
5404         (bdesc_1arg): Likewise.
5405
5406         * config/i386/i386.c (ix86_init_builtins): Correct return type
5407         building v4hi_ftype_v4hi_int_int tree node.
5408         (ix86_expand_sse_comi): Fix typo swapping operands.
5409         Don't swap comparision condition, it is already swapped.
5410         (ix86_expand_sse_compare): Before swapping operands
5411         move operand 1 into new rtx and not the target rtx.
5412         Don't swap comparison condition, it is already swapped.
5413         Always check whether we need to create a new TARGET.
5414
5415         * config/i386/i386.md: (sse_comi) Fix typos.
5416         (sse_ucomi): Likewise.
5417         (cvtss2si): Fix operand 0 contraint.
5418         (cvttss2si): Likewise.
5419         (sse_unpckhps): Fix mode for operand 2.
5420         (sse_unpcklps): Likewise.
5421
5422 2001-09-25  Graham Stott  <grahams@redhat.com>
5423
5424         * sibcall.c (skip_copy_to_return_value): Tighten return value
5425         copy check.
5426
5427 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
5428
5429         * rs6000.c (lwa_operand): Address must be word aligned.
5430
5431 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5432
5433         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
5434         number has been set.
5435         (type_hash_mark): Mark type itself.
5436
5437 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
5438
5439         * c-lex.c (cb_def_pragma): Update.
5440         (c_lex): Update, and skip padding.
5441         * cppexp.c (lex, parse_defined): Update, remove unused variable.
5442         * cpphash.h (struct toklist): Delete.
5443         (union utoken): New.
5444         (struct cpp_context): Update.
5445         (struct cpp_reader): New members eof, avoid_paste.
5446         (_cpp_temp_token): New.
5447         * cppinit.c (cpp_create_reader): Update.
5448         * cpplex.c (_cpp_temp_token): New.
5449         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
5450         (cpp_output_token): Don't print leading whitespace.
5451         (cpp_output_line): Update.
5452         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
5453         do_include_common, do_line, do_ident, do_pragma,
5454         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
5455         parse_assertion): Update.
5456         (get_token_no_padding): New.
5457         * cpplib.h (CPP_PADDING): New.
5458         (AVOID_LPASTE): Delete.
5459         (struct cpp_token): New union member source.
5460         (cpp_get_token): Update.
5461         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
5462         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
5463         replace_args, quote_string, stringify_arg, parse_arg, next_context,
5464         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
5465         _cpp_backup_tokens, _cpp_create_definition): Update.
5466         (push_arg_context): Delete.
5467         (padding_token, push_token_context, push_ptoken_context): New.
5468         (make_string_token, make_number_token): Update, rename.
5469         (cpp_get_token): Update to handle tokens as pointers to const,
5470         and insert padding appropriately.
5471         * cppmain.c (struct printer): New member prev.
5472         (check_multiline_token): Constify.
5473         (do_preprocessing, cb_line_change): Update.
5474         (scan_translation_unit): Update to handle spacing.
5475         * scan-decls.c (get_a_token): New.
5476         (skip_to_closing_brace, scan_decls): Update.
5477         * fix-header.c (read_scan_file): Update.
5478
5479         * doc/cpp.texi: Update.
5480
5481 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5482
5483         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
5484         leak by passing malloc'ed pointer to reconcat, not concat.
5485
5486 2001-09-24  DJ Delorie  <dj@redhat.com>
5487
5488         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
5489
5490 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
5491
5492         * flow.c (delete_dead_jumptables): Delete jumptable if the only
5493         reference is from the literal pool.
5494
5495 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
5496
5497         * doc/install.texi (Final install): Request additional information
5498         in mail about successful builds.
5499
5500 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5501
5502         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
5503         initial value of return pointer register instead of value in frame-20.
5504         Revise comments.
5505
5506 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5507
5508         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
5509         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
5510         the libcall if there isn't a referenced identifier for the symbol.
5511
5512 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5513
5514         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
5515         non 64-bit machines.  Use these as a plabel for the trampoline.
5516         (TRAMPOLINE_SIZE): Adjust size for new words.
5517         (INITIALIZE_TRAMPOLINE): Initialize new words.
5518         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
5519         pointer to the plabel in the trampoline.
5520
5521 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5522
5523         * pa.c (function_arg): Pass floating arguments in both general and
5524         floating registers in indirect (dynamic) calls when generating code
5525         for the 32 bit ABI and the HP assembler.
5526
5527 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5528
5529         * doc/install.texi: Markup fixes.
5530         Use Solaris 2, SunOS 4 as appropriate.
5531         (Specific, *-*-solaris2*): Explain this.
5532         Unconditionally warn against /usr/ucb tools.
5533         Remove Sun as warning, obsolete.
5534         Move X11 header bug workaround here, update patches.
5535         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
5536         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
5537
5538 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
5539
5540         * errors.h (warning, error, fatal, internal_error): Don't mark
5541         with ATTRIBUTE_PRINTF_n.
5542         * toplev.h (internal_error, fatal_io_error, warning, error,
5543         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
5544         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
5545         Likewise.
5546
5547 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5548
5549         * function.c (pop_function_context_from): var_refs_queue
5550         and temp slots now in GC memory.
5551         (mark_function_status, free_after_compilation): Likewise;
5552         also struct function now in GC memory.
5553         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
5554         (combine_temp_slots): Likewise.
5555         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
5556         (prepare_function_start): Use GC memory for struct function.
5557         (mark_temp_slot): Deleted.
5558         (gcc_mark_struct_function): struct function now in GC memory.
5559
5560         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
5561         code for division, not modulus.
5562
5563         * rtl.def (MEM): Remove obsolete part of comment.
5564
5565 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
5566
5567         * c-format.c (init_function_format_info): Check __builtin_printf
5568         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
5569         in gnu89 mode.
5570
5571 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5572
5573         * c-common.c (format_attribute_table): Remove decl.
5574         * tree.h (format_attribute_table, lang_attribute_table): New decls.
5575         (lang_attribute_common): Likewise.
5576
5577         * function.c (fix_lexical_address): Use set_mem_alias_set.
5578         (expand_function_start): Likewise.
5579         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
5580
5581         * varasm.c (output_constant): Fix unused variable warning.
5582
5583         * attribs.c: New file, from c-common.c.
5584         (attribute_tables): Now four elements.
5585         (format_attribute_table, lang_attribute_common): New variables.
5586         (init_attributes): Reflect above changes.
5587         (handle_mode_attribute): Delete check for wider than uintmax.
5588         * c-common.c: Delete parts moved to attribs.c.
5589         (enum attrs): Deleted; unused.
5590         (c_format_attribute_table): New variable.
5591         (c_common_lang_init): Initialize format_attribute_table with it.
5592         * c-common.h (decl_attributes): Remove decl.
5593         * tree.h (decl_attribute): Move it to here.
5594         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
5595         (attribs.o): New rule.
5596
5597 2001-09-22  Andreas Jaeger  <aj@suse.de>
5598
5599         * builtins.c (c_getstr): Remove unused variable.
5600
5601 2001-09-21  Richard Henderson  <rth@redhat.com>
5602
5603         * reload1.c (reload): Use delete_insn instead of splatting
5604         NOTE_INSN_DELETED.
5605
5606 2001-09-21  Richard Henderson  <rth@redhat.com>
5607
5608         * reload.c (push_secondary_reload): Don't check for "=" in output
5609         constraint after ""->ALL_REGS check.
5610
5611 2001-09-21  Richard Henderson  <rth@redhat.com>
5612
5613         * predict.c (expected_value_to_br_prob): Use pc_set.
5614
5615         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
5616         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
5617
5618 2001-09-21  Richard Henderson  <rth@redhat.com>
5619
5620         * rtl.h (LCT_RETURNS_TWICE): New.
5621         * calls.c (emit_call_1): Set current_function_calls_setjmp for
5622         ECF_RETURNS_TWICE.
5623         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
5624         to ECF_RETURNS_TWICE.
5625         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
5626         call to setjmp.
5627
5628         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
5629
5630         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
5631         (JMP_BUF_SIZE): New.
5632
5633 2001-09-21  Richard Henderson  <rth@redhat.com>
5634
5635         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
5636         to R8_REGS.
5637
5638 2001-09-21  Richard Henderson  <rth@redhat.com>
5639
5640         * tree.def (FDESC_EXPR): New.
5641         * expr.c (expand_expr): Handle it.
5642         * varasm.c (initializer_constant_valid_p): Likewise.
5643         (output_constant): Likewise.
5644         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5645         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5646         (ASM_OUTPUT_FDESC): New.
5647         * doc/tm.texi: Document the new macros.
5648
5649 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
5650
5651         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
5652         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
5653         once merging is complete.
5654
5655 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5656
5657         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
5658
5659 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
5660
5661         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
5662         that would be invalid after a merge.
5663
5664 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
5665
5666         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
5667         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
5668         remove some labels.
5669         (flow_delete_insn): This one.
5670         (delete_insn_chain): Rename from ...; do not care labels.
5671         (flow_delete_insn_chain): ... this one.
5672         (flow_delete_block): Remove the insns one BB has been expunged.
5673         (merge_blocks_nomove): Likewise.
5674         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
5675         updating BB boundaries.
5676         (tidy_fallthru_edge): Likewise.
5677         (commit_one_edge_insertion): Likewise.
5678         * cfgbuild.c (find_basic_block): Likewise.
5679         (find_basic_blocks_1): Likewise.
5680         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
5681         (try_crossjump_to_edge): Likewise.
5682         (try_optimize_cfg): Likewise.
5683         * cse.c (delete_trivially_dead_insns): Likewise.
5684         * df.c (df_insn_delete): Likewise.
5685         * doloop.c (doloop_modify): Use delete_related_insns.
5686         * emit-rtl.c (try_split): Likewise.
5687         (remove_insn): Update BB boundaries.
5688         * expect.c (connect_post_landing_pads): Use delete_related_insns.
5689         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
5690         updating BB boundaries.
5691         (propagate_block_delete_insn): Likewise.
5692         (propagate_block_delete_libcall): Likewise.
5693         * function.c (delete_handlers): Use delete_related_insns.
5694         (thread_prologue_and_epilogue_insns): Likewise.
5695         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
5696         * genpeep.c (gen_peephole): Use delete_related_insns.
5697         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
5698         BB boundaries.
5699         (find_cond_trap): Likewise.
5700         * integrate.c (save_for_inline): Use delete_related_insns.
5701         (copy_insn_list): Likewise.
5702         * jump.c (pruge_linie_number_notes): Likewise.
5703         (duplicate_loop_exit_test): Likewise.
5704         (delete_computation): Likewise.
5705         (delete_related_insn): Rename from ...; use delete_insn
5706         (delete_insn): ... this one.
5707         (redirect_jump): Use delete_related_insns.
5708         * loop.c (scan_loop): Likewise.
5709         (move_movables): Likewise.
5710         (find_and_verify_loops): Likewise.
5711         (check_dbra_loop): Likewise.
5712         * recog.c (peephole2_optimize): Likewise.
5713         * reg-stack.c (delete_insn_for_stacker): Remove.
5714         (move_for_stack_reg): Use delete_insn.
5715         * regmove.c (combine_stack_adjustments_for_block): Likewise.
5716         * reload1.c (delete_address_reloads): Use delete_related_insns.
5717         (fixup_abnormal_edges): Use delete_insn.
5718         * recog.c (emit_delay_sequence): Use delete_related_insns.
5719         (delete_from-delay_slot): Likewise.
5720         (delete_scheduled_jump): likewise.
5721         (optimize_skip): Likewise.
5722         (try_merge_delay_insns): Likewise.
5723         (full_simple_delay_slots): Likewise.
5724         (fill_slots_from_thread): Likewise.
5725         (relax_delay_slots): Likewise.
5726         (make_return_insns): Likewise.
5727         (dbr_schedule): Likewise.
5728         * rtl.h (delete_insn): Rename to delete_related_insns.
5729         (delete_insn, delete_insn_chain): New prototypes.
5730         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
5731         by df_insn_delete already.
5732         * ssa-dce.c (delete_insn_bb): Use delete_insn.
5733         * ssa.c (convert_from_ssa): Use delete_related_insns.
5734         * unroll.c (unroll_loop): Likewise.
5735         (calculate_giv_inc): Likewise.
5736         (copy_loop_body): Likewise.
5737
5738         * i386-protos.h (ix86_libcall_value, ix86_function_value,
5739         ix86_function_arg_regno_p, ix86_function_arg_boundary,
5740         ix86_return_in_memory, ix86_function_value): Declare.
5741         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
5742         new static valurables.
5743         (x86_64_reg_class): New enum
5744         (x86_64_reg_class_name): New array.
5745         (classify_argument, examine_argument, construct_container,
5746          merge_classes): New static functions.
5747         (optimization_options): Enable flag_omit_frame_pointer and disable
5748         flag_pcc_struct_return on 64bit.
5749         (ix86_libcall_value, ix86_function_value,
5750         ix86_function_arg_regno_p, ix86_function_arg_boundary,
5751         ix86_return_in_memory, ix86_function_value): New global functions.
5752         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
5753         (function_arg_advance): Handle x86_64 passing conventions.
5754         (function_arg): Likewise.
5755         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
5756         (RETURN_IN_MEMORY): Move offline.
5757         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
5758         (FUNCTION_VALUE_REGNO_P): New macro.
5759         (FUNCTION_ARG_REGNO_P): Move offline.
5760         (struct ix86_args): Add maybe_vaarg.
5761         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
5762         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
5763
5764 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
5765
5766         * s390.md: Changed attributes for scheduling.
5767         * s390.c: (s390_adjust_cost, s390_adjust_priority)
5768         Changed scheduling
5769
5770 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
5771
5772         Table-driven attributes.
5773         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
5774         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
5775         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
5776         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
5777         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
5778         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
5779         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
5780         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
5781         * tree.h (struct tree_decl): Change machine_attributes to
5782         attributes.
5783         * doc/c-tree.texi: Document that all attributes are now attached
5784         to decls and types.
5785         * c-common.c (add_attribute, attrtab, attrtab_idx,
5786         default_valid_lang_attribute, valid_lang_attribute): Remove.
5787         (attribute_tables, attributes_initialized,
5788         c_common_attribute_table, default_lang_attribute_table): New
5789         variables.
5790         (handle_packed_attribute, handle_nocommon_attribute,
5791         handle_common_attribute, handle_noreturn_attribute,
5792         handle_unused_attribute, handle_const_attribute,
5793         handle_transparent_union_attribute, handle_constructor_attribute,
5794         handle_destructor_attribute, handle_mode_attribute,
5795         handle_section_attribute, handle_aligned_attribute,
5796         handle_weak_attribute, handle_alias_attribute,
5797         handle_no_instrument_function_attribute,
5798         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
5799         handle_no_limit_stack_attribute, handle_pure_attribute): New
5800         functions.
5801         (init_attributes, decl_attributes): Rewrite to implement
5802         table-driven attributes.
5803         * c-common.h (enum attribute_flags): Move to tree.h.
5804         * c-format.c (decl_handle_format_attribute,
5805         decl_handle_format_arg_attribute): Rename to
5806         handle_format_attribute and handle_format_arg_attribute.  Update
5807         for table-driven attributes.
5808         * c-common.h (decl_handle_format_attribute,
5809         decl_handle_format_arg_attribute): Remove prototypes.
5810         (handle_format_attribute, handle_format_arg_attribute): Add
5811         prototypes.
5812         * c-decl.c (grokdeclarator): Handle attributes nested inside
5813         declarators.
5814         * c-parse.in (setattrs, maybe_setattrs): Remove.
5815         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
5816         Update to handle nested attributes properly.
5817         (maybe_resetattrs, after_type_declarator,
5818         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
5819         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
5820         properly.
5821         (make_pointer_declarator): Update to handle nested attributes
5822         properly.
5823         * doc/extend.texi: Update documentation of limits of attributes
5824         syntax.  Warn about problems with attribute semantics in C++.
5825         * target.h (struct target): Remove valid_decl_attribute and
5826         valid_type_attribute.  Add attribute_table and
5827         function_attribute_inlinable_p.
5828         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
5829         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
5830         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
5831         Add.
5832         (TARGET_INITIALIZER): Update.
5833         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
5834         definition.
5835         (function_attribute_inlinable_p): New function.  Check for the
5836         presence of any machine attributes before using
5837         targetm.function_attribute_inlinable_p.
5838         (function_cannot_inline_p): Update.
5839         * Makefile.in (integrate.o): Update dependencies.
5840         * doc/tm.texi: Update documentation of target attributes and
5841         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
5842         * tree.c (default_valid_attribute_p, valid_machine_attribute):
5843         Remove.
5844         (default_target_attribute_table,
5845         default_function_attribute_inlinable_p): New.
5846         (lookup_attribute): Update comment to clarify handling of multiple
5847         attributes with the same name.
5848         (merge_attributes, attribute_list_contained): Allow multiple
5849         attributes with the same name but different arguments to appear in
5850         the same attribute list.
5851         * tree.h (default_valid_attribute_p): Remove prototype.
5852         (struct attribute_spec): New.
5853         (default_target_attribute_table): Declare.
5854         (enum attribute_flags): Move from c-common.h.  Add
5855         ATTR_FLAG_TYPE_IN_PLACE.
5856         (default_function_attribute_inlinable_p): Declare.
5857         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
5858         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5859         (TARGET_ATTRIBUTE_TABLE): Define.
5860         (vms_attribute_table): New.
5861         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
5862         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5863         (TARGET_ATTRIBUTE_TABLE): Define.
5864         (arc_attribute_table, arc_handle_interrupt_attribute): New.
5865         * config/arm/arm.c (arm_valid_type_attribute_p,
5866         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
5867         Remove.
5868         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5869         define.
5870         (TARGET_ATTRIBUTE_TABLE): Define.
5871         (arm_attribute_table, arm_handle_fndecl_attribute,
5872         arm_handle_isr_attribute): New.
5873         * config/avr/avr.c (avr_valid_type_attribute,
5874         avr_valid_decl_attribute): Remove.
5875         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
5876         define.
5877         (TARGET_ATTRIBUTE_TABLE): Define.
5878         (avr_attribute_table, avr_handle_progmem_attribute,
5879         avr_handle_fndecl_attribute): New.
5880         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
5881         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5882         (TARGET_ATTRIBUTE_TABLE): Define.
5883         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
5884         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
5885         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5886         (TARGET_ATTRIBUTE_TABLE): Define.
5887         (h8300_attribute_table, h8300_handle_fndecl_attribute,
5888         h8300_handle_eightbit_data_attribute,
5889         h8300_handle_tiny_data_attribute): New.
5890         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
5891         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
5892         Remove prototypes.
5893         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
5894         declarations.
5895         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
5896         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5897         define.
5898         (TARGET_ATTRIBUTE_TABLE): Define.
5899         (ix86_attribute_table, ix86_handle_cdecl_attribute,
5900         ix86_handle_regparm_attribute): New.
5901         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
5902         i386_pe_valid_type_attribute_p): Remove.
5903         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
5904         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
5905         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5906         (TARGET_ATTRIBUTE_TABLE): Define.
5907         (ia64_attribute_table): New.
5908         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
5909         interrupt_ident2, model_ident1, model_ident2): Remove.
5910         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5911         (TARGET_ATTRIBUTE_TABLE): Define.
5912         (init_idents): Update.
5913         (m32r_attribute_table, m32r_handle_model_attribute): New.
5914         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
5915         Remove.
5916         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5917         (TARGET_ATTRIBUTE_TABLE): Define.
5918         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
5919         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
5920         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5921         (TARGET_ATTRIBUTE_TABLE): Define.
5922         (mcore_attribute_table, mcore_handle_naked_attribute): New.
5923         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
5924         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5925         (TARGET_ATTRIBUTE_TABLE): Define.
5926         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
5927         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
5928         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5929         (TARGET_ATTRIBUTE_TABLE): Define.
5930         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
5931         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
5932         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5933         (TARGET_ATTRIBUTE_TABLE): Define.
5934         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
5935         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
5936         New.
5937         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
5938         Remove.
5939         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
5940         (TARGET_ATTRIBUTE_TABLE): Define.
5941         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
5942         New.
5943         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
5944         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5945         (TARGET_ATTRIBUTE_TABLE): Define.
5946         (v850_attribute_table, v850_handle_interrupt_attribute,
5947         v850_handle_data_area_attribute): New.
5948         * config/v850/v850-c.c (mark_current_function_as_interrupt):
5949         Return void.  Call decl_attributes instead of
5950         valid_machine_attribute.
5951
5952 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
5953
5954         * sh-protos.h (sh_pr_n_sets): Declare.
5955         * sh.c (calc_live_regs): If the initial value for PR has been copied,
5956         look at the copy to determine if PR needs to be saved.
5957         sh_pr_n_sets: New function.
5958         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
5959         (ALLOCATE_INITIAL_VALUE): Define.
5960
5961         * sh.c (initial_elimination_offset):
5962         Fix RETURN_ADDRESS_POINTER_REGNUM case.
5963
5964 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
5965
5966         * integrate.c (allocate_initial_values): New function.
5967         * integrate.h (allocate_initial_values): Declare.
5968         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
5969         here...
5970         * reload1.c (reload): And initialization of reg_equiv_memory_loc
5971         from here...
5972         * toplev.c (rest_of_compilation): To here.
5973         Call allocate_initial_values.
5974         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
5975
5976 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5977
5978         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
5979
5980 2001-09-20  DJ Delorie  <dj@redhat.com>
5981
5982         * c-typeck.c (really_start_incremental_init): Discriminate
5983         between zero-length arrays and flexible arrays.
5984         (push_init_level): Detect zero-length arrays and handle them
5985         like fixed-sized arrays.
5986         * expr.c (store_constructor): Handle zero-length arrays and
5987         flexible arrays correctly.
5988         * doc/extend.texi: Update zero-length array notes.
5989
5990 2001-09-20  Jim Wilson  <wilson@redhat.com>
5991
5992         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
5993         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
5994         for issue port conflicts.
5995         (cycle_end_fill_slots): TYPE_L instructions take two slots.
5996
5997 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
5998
5999         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
6000         on ia64.
6001
6002 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6003
6004         * fold-const.c (hashtab.h): Include.
6005         (int_const_binop): Remove FORSIZE arg and compute from type; all
6006         callers changed.
6007         Call size_int_type_wide for all single-word constants.
6008         (size_htab_hash, size_htab_eq): New functions.
6009         (size_int_type_wide): Rework to use hash table.
6010         * ggc-common.c (hashtab.h): Include.
6011         (struct d_htab_root): New struct.
6012         (d_htab_roots): New variable.
6013         (ggc_add_deletable_htab, ggc_htab_delete): New functions
6014         (ggc_mark_roots): Handle deletable htabs.
6015         * ggc-page.c (ggc_marked_p): New function.
6016         * ggc-simple.c (ggc_marked_p): Likewise.
6017         * ggc.h: Reformatting throughout.
6018         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
6019         * tree.c (init_obstacks): Make type_hash_table a deletable root.
6020         (type_hash_add): Allocate struct type_hash from GC memory.
6021         (mark_hash_entry, mark_type_hash): Deleted.
6022         (type_hash_marked_p, type_hash_mark): New functions.
6023         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
6024
6025 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
6026
6027         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
6028         than SImode.
6029
6030 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6031
6032         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
6033         array-too-large test for signed sizetype.
6034
6035 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
6036
6037         * i386.md (indirect_jump): Allow Pmode operand.
6038         (tablejump): LIkewise; perform expansion to 64bit mode.
6039         * i386.c (symbolic_operand): Allow 64bit PIC references.
6040         (pic_symbolic_operand): Likewise.
6041         (ix86_find_base_term): Strip the 64bit PIC references.
6042         (legitimate_pic_address_disp_p): Handle 64bit PIC.
6043         (legitimize_pic_address): Likewise.
6044         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
6045         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
6046
6047 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
6048
6049         * stringpool.c (get_identifier_with_length): New function.
6050         * tree.h (get_identifier_with_length): New prototype.
6051
6052 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
6053             David Edelsohn  <edelsohn@gnu.org>
6054
6055         Revert:
6056         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
6057         already sign-extended.
6058
6059         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
6060         * config/rs6000/rs6000.c (logical_operand): Always compare op as
6061         HOST_WIDE_INT.
6062         (rs6000_emit_set_long_const): Avoid unnecessary shift.
6063         (output_profile_hook): Declare label_name const.
6064         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
6065         to match constraints.
6066
6067 2001-09-19  Stan Shebs  <shebs@apple.com>
6068
6069         * alias.c: Fix typos in comments.
6070         * sched-rgn.c (init_ready_list): Ditto.
6071         * unwind-dw2.c (uw_frame_state_for): Ditto.
6072         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
6073         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
6074         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
6075
6076 2001-09-19  Richard Henderson  <rth@redhat.com>
6077
6078         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
6079         to the exit block.
6080         * Makefile.in (cfg.o): Depend on TM_P_H.
6081
6082 2001-09-19  Richard Henderson  <rth@redhat.com>
6083
6084         * config/alpha/alpha.c (local_symbol_p): Split out from ...
6085         (local_symbolic_operand): ... here.
6086         (small_symbolic_operand): Check mode.
6087         (global_symbolic_operand): New.
6088         (input_operand): Reject symbolics if explicit relocs.
6089         (call_operand): Tidy.
6090         (alpha_legitimize_address): Use movdi_er_high_g.
6091         (alpha_expand_mov): Likewise.
6092         * config/alpha/alpha-protos.h: Update.
6093         * config/alpha/alpha.h (PREDICATE_CODES): Update.
6094         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
6095         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
6096         (UNSPECV_LDGP2): Remove.
6097         (all call patterns): Use 's' not 'i' for symbolic constraint.
6098         (call_osf call_value_osf): Use call_operand.
6099         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
6100         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
6101         (prologue_ldgp_1_er): Remove.
6102         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
6103         (builtin_setjmp_receiver_er patterns): Use them.
6104         (exception_receiver_er): Likewise.
6105
6106 2001-09-19  Richard Henderson  <rth@redhat.com>
6107
6108         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
6109
6110         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
6111         and NON_LOCAL_GOTO notes.
6112         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
6113         copy over CALL_INSN_FUNCTION_USAGE.
6114
6115 2001-09-18  Catherine Moore  <clm@redhat.com>
6116
6117         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
6118         Define as 0.
6119
6120 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
6121
6122         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
6123         new-style tm_file specification.  Specify correct tm_p_file,
6124         md_file, and out_file for s390x.
6125
6126         * config/s390/linux.h, linux64.h:  Don't include other target
6127         macro header files.  Now handled via tm_file.
6128
6129         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
6130         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
6131         are defined before use.
6132
6133 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
6134
6135         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
6136         code generation only for Gnu assembler.
6137
6138 2001-09-18  Catherine Moore  <clm@redhat.com>
6139
6140         * config/stormy16 (LIB_SPEC): Remove -lnosys.
6141
6142 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
6143
6144         * config/mips/mips.c (mips_frame_set): New.
6145         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
6146         a parallel frame-related expression with a set for each register.
6147
6148 2001-09-18  Philip Blundell  <philb@gnu.org>
6149
6150         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
6151         header files.
6152
6153 2001-09-17  Dale Johannesen  <dalej@apple.com>
6154
6155         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
6156         * config/rs6000/aix.h (FIXED_R2): Define.
6157         * config/rs6000/darwin.h (FIXED_R2): Define.
6158         * config/rs6000/sysv4.h (FIXED_R2): Define.
6159
6160 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
6161
6162         * except.c (dw2_build_landing_pads): New local
6163         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
6164         barrier after clobbers.  Fixes c++/4012.
6165
6166 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6167
6168         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
6169
6170 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
6171
6172         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
6173         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
6174
6175 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6176
6177         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
6178         alloca/strcpy.
6179
6180 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6181
6182         * cpphash.h (_cpp_lex_direct): New.
6183         * cpplex.c (_cpp_lex_token): Update.
6184         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
6185         and increment that pointer.
6186         * cppmacro.c (alloc_expansion_token): New.
6187         (lex_expansion_token): Lex macro expansion directly into
6188         macro storage.
6189
6190 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
6191
6192         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
6193
6194 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
6195
6196         * basic-block.h (free_bb_for_insn): Declare.
6197         * bb-reorder.c (label_for_bb): Use block_label.
6198         (emit_jump_to_block_after): Remove.
6199         (insert_intra_1): Do not update block_for_insn.
6200         (insert_inter_bb_scope_notes): Likewise; update bb->end
6201         * cfg.c (free_bb_for_insn): New.
6202         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
6203         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
6204         (commit_one_edge_insertion): Likewise.
6205         (commit_one_edge_insertion): Do not update BB boundary.
6206         (commit_edge_insertions): Do not call compute_bb_for_insn.
6207         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
6208         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
6209         (merge_blocks_move_successor_nojumps): Likewise.
6210         (try_crossjump_to_edge): Do not update block_for_insn.
6211         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
6212         * df.c (df_pattern_emit_later): Do not update BB boundary.
6213         (df_jump_pattern_emit_after): Likewise.
6214         (df_insn_move_before): Use emit_insn_before.
6215         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
6216          properly.
6217         (add_insn_after, add_insn_before, emit_insns_after): Update BB
6218         boundaries and basic_block_for_insn.
6219         (reorder_insns_nobb): Rename from reorder_insns.
6220         (reorder_insns): New.
6221         (emit_block_insn_before, emit_block_insn_after): Kill.
6222         * flow.c (check_function_return_warnings): Do not call
6223         compute_bb_for_insn; Do not free basic_block_for_insn.
6224         (attempt_auto_inc): Do not update basic_block_for_insn.
6225         * function.c (emit_return_into_block): Likewise;
6226         do not update BB boundaries.
6227         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
6228         (insert_insn_end_bb): Use emit_insn_before; Likewise.
6229         (pre_insert_copy_insn): Likewise.
6230         (update_ld_motion_notes): Likewise.
6231         (insert_insn_start_bb): Likewise.
6232         (replace_store_insn): Likewise.
6233         * ifcvt.c (noce_process_if_block): Likewise.
6234         (if_convert): Do not call compute_bb_for_insn.
6235         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
6236         Use emit_insn_before and emit_insn_after.
6237         * recog.c (split_all_insns): Do not update BB boundaries;
6238         Do not call compute_bb_for_insn.
6239         (peephole2_optimize): Do not update BB boundaries.
6240         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
6241         emit_insn_before.
6242         (emit_swap_insn): Likewise.
6243         (convert_regs_1): Likewise.
6244         * reload1.c (reload): Call compute_bb_for_insn.
6245         * rtl.h (reorder_insns_nobb): Declare.
6246         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
6247         * toplev.c (rest_of_compilation): Call free_bb_for_insn
6248         at places CFG is invalidated; do not call compute_bb_for_insn.
6249
6250         * cfg.c (expunge_block): Invalidate BB structure.
6251
6252         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
6253         array.
6254
6255         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
6256
6257 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6258
6259         * cpphash.h (_cpp_lex_token): Update prototype.
6260         * cpplex.c (_cpp_lex_token): New prototype.
6261         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
6262         lex_macro_node, read_flag, do_pragma_poison): Update.
6263         * cppmacro.c (cpp_get_token, parse_params,
6264         lex_expansion_token): Update.
6265
6266 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
6267
6268         * cppmain.c (scan_translation_unit): Don't worry about
6269         putting a space after hashes.
6270         * cpplib.c (directive_diagnostics): New.
6271         (_cpp_handle_directive): Update to use directive_diagnostics.
6272         (run_directive): Don't toggle prevent_expansion.
6273         (do_line): Backup in case of the line extension.
6274         * cpplib.h (cpp_lexer_pos): Remove.
6275         * cppmacro.c (_cpp_create_definition): Precede a leading #
6276         with whitespace.
6277
6278 2001-09-15  Richard Henderson  <rth@redhat.com>
6279
6280         * c-typeck.c (comptypes): Handle zero-length arrays properly.
6281
6282 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6283
6284         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
6285
6286 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6287
6288         PR preprocessor/3571
6289         * tradcpp.c (handle_directive): Skip non-vertical space.
6290
6291 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6292
6293         * cppmain.c (setup_callbacks): Set line callback only
6294         if outputting preprocessed source.
6295
6296 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6297
6298         * collect2.c (main): Const-ification.
6299         * gcc.c (translate_options, process_command): Use xstrdup in
6300         lieu of xmalloc/strcpy.
6301         (main): Use concat in lieu of xmalloc/strcpy/strcat.
6302
6303 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6304
6305         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
6306         example.
6307
6308 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6309
6310         * scan-decls.c (scan_decls): Fix typo.
6311
6312 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6313
6314         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
6315         Split mlstring_pos into mls_line and mls_col.
6316         * cppinit.c (cpp_create_reader): Initialize line to 1.
6317         (cpp_destroy): Free tokenruns.
6318         (push_include): Don't update lexer_pos.
6319         * cpplex.c (unterminated, parse_string): Update.
6320         (lex_token): Don't update lexer_pos, update.
6321         * cpplib.c (if_stack): Save line instead of line + col.
6322         (start_directive, _cpp_do__Pragma, do_else, do_elif,
6323         push_conditional, _cpp_pop_buffer): Update.
6324         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
6325         (_cpp_create_definition): Update.
6326
6327 2001-09-15  Eric Christopher  <echristo@redhat.com>
6328
6329         * config/mips/abi64.h: Add support for MEABI.
6330
6331 2001-09-15  Eric Christopher  <echristo@redhat.com>
6332
6333         * config/mips/mips.md: Add unspec #2.
6334         (reload_indi): Use.
6335         (reload_outdi): Ditto.
6336         (reload_outsi): Ditto.
6337         (HILO_delay): New.
6338
6339 2001-09-15  Eric Christopher  <echristo@redhat.com>
6340             Jason Eckhardt  <jle@redhat.com>
6341
6342         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
6343         * config/mips/isa32-linux.h: New file.
6344         * config/mips/isa3264.h: Ditto.
6345         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
6346         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
6347         (output_block_mode): Support MEABI.
6348         (function_arg): Ditto. Fix floating point arg passing.
6349         (mips_va_start): Ditto.
6350         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
6351         processors.
6352         (mips_asm_file_start): Add new section to pass abi to gdb.
6353         (function_arg_pass_by_reference): Support MEABI.
6354         (mips_parse_cpu): Support mips32 and mips64 processors.
6355         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
6356         TARGET_MIPS5KC.  Support isa32 and isa64.
6357         (processor_type): Add r4kc, r5kc, r20kc.
6358         (GENERATE_MULT3_SI): New.
6359         (GENERATE_MULT3_DI): Ditto.
6360         (GENERATE_MULT3): Remove.
6361         (ISA_HAS_64BIT_REGS): Add isa == 64.
6362         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
6363         (ISA_HAS_MADD_MSUB): New.
6364         (ISA_HAS_CLZ_CLO): Ditto.
6365         (ISA_HAS_DCLZ_DCLO): Ditto.
6366         (ABI_GAS_ASM_SPEC): New.
6367         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
6368         (ASM_SPEC): Ditto.
6369         (LINK_SPEC): Ditto.
6370         (SUBTARGET_CC1_SPEC): Ditto.
6371         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
6372         (PAD_VARARGS_DOWN): Support MEABI.
6373         (HARD_REGNO_NREGS): Move to mips.c.
6374         (ASM_OUTPUT_IDENT): Add #undef.
6375         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
6376         (mulsi3): Use GENERATE_MULT3_SI.
6377         (mulsi3_mult3): Ditto.  Support mips32, mips64.
6378         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
6379         (mul_sub_si): New pattern.
6380         (unnamed splitters): New.
6381         (muldi3): Use GENERATE_MULT3_DI.
6382         (muldi3_internal2): Ditto.
6383         (movdicc): Support mips32.
6384         * config/mips/t-isa3264: New file.
6385
6386 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
6387
6388         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
6389         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
6390         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
6391
6392         * reorg.c (fill_slots_from_thread): After call to
6393         steal_delay_list_from_target, update own_thread as new_thread may
6394         have branched.
6395
6396 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6397
6398         * cpperror.c (print_location): Take line and column, for
6399         default positioning use the previously lexed token.
6400         (_cpp_begin_message): Take line and column.
6401         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6402         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6403         * cpphash.h (_cpp_begin_message): Update prototype.
6404         * cppinit.c (push_include): Don't set output line.
6405         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
6406         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
6407         (do_pragma): Kludge for front ends.  Don't expand macros at all.
6408         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
6409         (struct cpp_token): Remove output_line.
6410         (struct cpp_callbacks): New member line_change.
6411         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
6412         cpp_get_token): Preserve BOL flag.
6413         (cpp_get_line): Remove.
6414         (_cpp_backup_tokens): Remove useless abort().
6415         * cppmain.c (cb_line_change): New.
6416         (scan_translation_unit): Don't worry about starting new lines here.
6417         * scan-decls.c (scan_decls): Update.
6418         * c-lex.c (c_lex, init_c_lex): Update.
6419         (cb_line_change, src_lineno): New.
6420
6421 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
6422
6423         * tree.c (append_random_chars): Generate the random
6424         characters in a reproducable fashion.
6425
6426 2001-09-14  Richard Henderson  <rth@redhat.com>
6427
6428         * config/i386/i386.c (internal_label_prefix): New.
6429         (internal_label_prefix_len): New.
6430         (override_options): Set them.
6431         (local_symbolic_operand): New.
6432         (legitimate_pic_address_disp_p): Use it.
6433         (legitimize_pic_address): Likewise.
6434
6435 2001-09-14  Marc Espie <espie@openbsd.org>
6436
6437         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
6438         correctly.
6439
6440 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6441
6442         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
6443         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
6444
6445 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
6446
6447         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
6448         invocation of SUBREG_REGNO_OFFSET.
6449
6450         * haifa-sched.c: Fix typo in FSF copyright statement.
6451         * sched-deps.c: Fix typo in FSF copyright statement.
6452         * sched-ebb.c: Fix typo in FSF copyright statement.
6453         * sched-rgn.c: Fix typo in FSF copyright statement.
6454         * sched-vis.c: Fix typo in FSF copyright statement.
6455
6456         * config.gcc: Move inclusion of arm elf specific header files
6457         from the files themselves into the tm_file variable.  Make
6458         sure that elfos.h is included before target specific elf
6459         headers.
6460         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
6461         already defined.
6462         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
6463         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
6464         ASM_OUTPUT_CASE_LABEL): Protect definition.
6465         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
6466         not already defined.
6467         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
6468         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
6469         Remove duplicate definition.
6470         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
6471         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
6472         (RDATA_SECTION_FUNCTION): Remove redundant definition.
6473         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
6474         Remove inclusion of arm/elf.h.
6475         * config/arm/unknown-elf.h: as for conix-elf.h.
6476         (STARTFILE_SPEC): Include crti.o and crtn.o.
6477         * config/arm/linux-elf.h: as for conix-elf.h.
6478         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
6479         * config/arm/strongarm-elf.h: Remove inclusion of
6480         unknown-elf.h.
6481         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
6482         * config/arm/unknown-elf-oabi.h: Remove inclusion of
6483         unknown-elf.h and elf.h.
6484         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
6485         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
6486         ASM_WEAKEN_LABEL): Remove redundant definition.
6487         * config/arm/elf.h: Test for inclusion of elfos.h
6488         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
6489         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
6490         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
6491         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
6492         redundant definition.
6493         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
6494         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
6495         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
6496         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
6497         Add rules to build crti.o and crtn.o
6498         * crti.asm: New file.
6499         * crtn.asm: New file.
6500
6501 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6502
6503         * c-parse.in (_yylex): Use _cpp_backup_tokens.
6504         * cpphash.h (struct tokenrun): Add prev.
6505         (struct lexer_state): Remove bol.
6506         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
6507         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
6508         : Remove.
6509         * cppinit.c (cpp_create_reader): Don't set bol.
6510         (cpp_destroy): Don't free lookaheads.
6511         * cpplex.c (lex_directive): Remove.
6512         (next_tokenrun): Update.
6513         (_cpp_lex_token): Clean up logic.
6514         (lex_token): Update to return a pointer to lexed token, since it
6515         can move to the start of the buffer.  Simpify newline handling.
6516         * cpplib.c (SEEN_EOL): Update.
6517         (skip_rest_of_line): Remove lookahead stuff.
6518         (end_directive): Line numbers are already incremented.  Revert
6519         to start of lexed token buffer if we can.
6520         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
6521         parse_answer): Use _cpp_backup_tokens.
6522         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
6523         instead.  Don't check for EOL.
6524         (do_include_common, do_line, do_pragma_system_header): Use
6525         skip_rest_of_line.
6526         * cpplib.h (BOL, _cpp_backup_tokens): New.
6527         * cppmacro.c (save_lookahead_token, take_lookahead_token,
6528         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
6529         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
6530         (builtin_macro): Don't use cpp_get_line.
6531         (cpp_get_line): Short term kludge.
6532         (parse_arg): Handle directives in arguments here.  Back up when
6533         appropriate.  Store EOF at end of argument list.
6534         (funlike_invocation_p): Use _cpp_backup_tokens.
6535         (push_arg_context): Account for EOF at end of list.
6536         (cpp_get_token): Remove lookahead stuff.  Update.
6537
6538 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6539
6540         * c-parse.in (yyerror): Const-ification and/or static-ization.
6541         * c-typeck.c (push_member_name): Likewise.
6542         * collect2.c (main): Likewise.
6543         * dbxout.c (dbxout_parms): Likewise.
6544         * diagnostic.c (format_with_decl): Likewise.
6545         * dwarf2out.c (output_ranges): Likewise.
6546         * dwarfout.c (fundamental_type_code): Likewise.
6547         * except.c (dw2_output_call_site_table): Likewise.
6548         * gcc.c (do_spec_1): Likewise.
6549         * genopinit.c (optabs): Likewise.
6550         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
6551         gen_declaration_1, handle_impent): Likewise.
6552         * protoize.c (default_include, in_system_include_dir, abspath):
6553         Likewise.
6554         * sched-vis.c (visualize_stall_cycles): Likewise.
6555         * sdbout.c (plain_type_1, sdbout_end_function,
6556         sdbout_end_epilogue): Likewise.
6557         * varasm.c (decode_reg_name): Likewise.
6558
6559         * 1750a.c (mod_regno_adjust): Likewise.
6560         * alpha.c (alpha_write_one_linkage,
6561         unicosmk_output_default_externs): Likewise.
6562         * arm.c (arm_condition_codes): Likewise.
6563         * arm.h (arm_condition_codes): Likewise.
6564         * avr.c (output_movsisf, encode_section_info): Likewise.
6565         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
6566         Likewise.
6567         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6568         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6569         * m88k.c (output_function_profiler): Likewise.
6570         * mips.c (mips_output_conditional_branch): Likewise.
6571         * ns32k.c (ns32k_out_reg_names): Likewise.
6572         * ns32k.h (ns32k_out_reg_names): Likewise.
6573         * pj.c (pj_output_rval): Likewise.
6574         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
6575         * sparc.c (sparc_flat_function_prologue,
6576         sparc_flat_function_epilogue): Likewise.
6577
6578 2001-09-13  Markus Werle <numerical.simulation@web.de>
6579             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6580
6581         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
6582         Aachen University of Technology".
6583
6584 2001-09-13  Andreas Schwab  <schwab@suse.de>
6585
6586         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
6587         C99.
6588
6589 2001-09-13  Richard Henderson  <rth@redhat.com>
6590
6591         * config/alpha/alpha.c (small_symbolic_operand): New.
6592         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
6593         (some_operand, input_operand): Don't handle HIGH.
6594         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
6595         (alpha_expand_mov): Likewise.
6596         (print_operand) [H]: Just print HIGH symbol.
6597         (print_operand_address): Handle small data.
6598         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
6599         (TARGET_SWITCHES): Add -msmall-data/large-data.
6600         (PIC_OFFSET_TABLE_REGNUM): New.
6601         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
6602         (PREDICATE_COES): Update.
6603         * config/alpha/alpha.md (adddi_er_high): New.
6604         (adddi_er_low): Handle small data.
6605         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
6606         prefer .sdata to .rodata.
6607         (SELECT_RTX_SECTION): Likewise.
6608
6609 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
6610
6611         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
6612         defining __size_t and leaving size_t undefined.
6613
6614 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
6615
6616         * basic-block.h (expunge_block): Declare.
6617         * cfg.c (expunge_block): Remove static declaration.
6618
6619 2001-09-12  Richard Henderson  <rth@redhat.com>
6620
6621         * integrate.c (copy_insn_list): Copy label name from
6622         NOTE_INSN_DELETED_LABEL.
6623
6624 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6625
6626         * c-common.c (c_tree_code_name): Const-ification.
6627         * c-decl.c (c_decode_option): Likewise.
6628         * c-typeck.c (warn_for_assignment): Likewise.
6629         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
6630         Likewise.
6631         * cppinit.c (output_deps): Likewise.
6632         * dependence.c (dependence_string, direction_string): Likewise.
6633         * dwarf2out.c (output_ranges): Likewise.
6634         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
6635         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
6636         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
6637         standard_startfile_prefix, standard_startfile_prefix_1,
6638         standard_startfile_prefix_2, tooldir_base_prefix,
6639         standard_bindir_prefix, find_a_file): Likewise.
6640         * genattrtab.c (make_length_attrs): Likewise.
6641         * gencheck.c (tree_codes): Likewise.
6642         * genemit.c (gen_split): Likewise.
6643         * genrecog.c (special_mode_pred_table): Likewise.
6644         * graph.c (graph_ext): Likewise.
6645         * protoize (default_include): Likewise.
6646         * reload.c (reload_when_needed_name): Likewise.
6647         * sched-vis.c (visualize_stall_cycles): Likewise.
6648         * tlink.c (recompile_files): Likewise.
6649         * toplev.c (decode_g_option): Likewise.
6650         * tradcpp.c (output_deps): Likewise.
6651         * varasm.c (decode_reg_name): Likewise.
6652
6653         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
6654         Const-ification.
6655         * arm.md: Likewise.
6656         * avr.c (avr_regnames, encode_section_info): Likewise.
6657         * c4x.c (float_reg_names): Likewise.
6658         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
6659         * elfos.h (const_section): Likewise.
6660         * i386.c (ix86_comp_type_attributes): Likewise.
6661         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
6662         * ia64/aix.h (UNIQUE_SECTION): Likewise.
6663         * ia64.c (type_names): Likewise.
6664         * m68hc11.c (reg_class_names): Likewise.
6665         * m88k.c (m_options): Likewise.
6666         * mips.c (mips_output_conditional_branch, mips_unique_section):
6667         Likewise.
6668         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
6669         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
6670         ultra_code_names): Likewise.
6671         * sparc.h (OVERRIDE_OPTIONS): Likewise.
6672
6673 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
6674
6675         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
6676         Use --fatal-warnings option for gas.
6677         * configure: Rebuilt.
6678
6679 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6680
6681         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
6682
6683 2001-09-11  Jim Wilson  <wilson@redhat.com>
6684
6685         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
6686
6687 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6688
6689         * builtins.c (c_strlen): Treat an offset too large for a
6690         HOST_WIDE_INT as out of range.
6691
6692 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
6693
6694         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
6695         (EDGE_CRITICAL_P): New predicate.
6696         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
6697         handling.
6698         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
6699         (dump_edge_info): Remove "crit".
6700         * cfganal.c (mark_critical_edges): Kill.
6701         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
6702         * cfgcleanup.c (cleanup_cfg): Likewise.
6703         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
6704         (find_spanning_tree): Likewise.
6705         * reg-stack.c (convert_regs_1): Likewise.
6706         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
6707
6708         * basic-block.h (create_basic_block_structure): New.
6709         (create_basic_block): Update prototype.
6710         (force_nonfallthru): New.
6711         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
6712         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
6713         handle updating of block_for_insn, creating of empty BBs and BBs at
6714         the end of INSN chain.
6715         (create_basic_block): New function.
6716         (split_block): Use create_basic_block.
6717         (force_nonfallthru_and_redirect): Break out from ...; cleanup
6718         (redirect_edge_and_branch_force): ... here.
6719         (force_nonfallthru): New.
6720         (split_edge): Rewrite to use force_nonfallthru and create_block.
6721         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
6722         (find_basic_blocks): Free basic_block_for_insn.
6723         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
6724
6725         * cfg.c: Fix formating.
6726         * cfgcleanup.c: Fix formating.
6727         (merge_blocks, tail_recursion_label_p): Return bool.
6728         (merge_blocks_move_predecessor_nojumps,
6729          merge_blocks_move_successor_nojumps): Return void.
6730
6731 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
6732
6733         * configure.in: Check whether assembler supports section merging.
6734         * config.in: Rebuilt.
6735         * configure: Rebuilt.
6736         * varasm.c (variable_section, output_constant_pool): Pass alignment
6737         to SELECT_SECTION and SELECT_RTX_SECTION.
6738         (mergeable_string_section): New.
6739         (mergeable_constant_section): New.
6740         (default_elf_asm_named_section): Output SECTION_MERGE and
6741         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6742         * output.h (mergeable_string_section): New.
6743         (mergeable_constant_section): New.
6744         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
6745         * toplev.c (flag_merge_constants): New.
6746         (f_options): Add -fmerge-constants and -fmerge-all-constants
6747         options.
6748         (toplev_main): Default to -fno-merge-constants if not optimizing.
6749         * flags.h (flag_merge_constants): Add extern.
6750         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
6751         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
6752         argument.
6753         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
6754         Define if assembler has working .subsection -1 support.
6755         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
6756         Put constant into special SHF_MERGE sections if the linker should
6757         attempt to merge duplicates.
6758         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
6759         macro argument.
6760         Put constant into special SHF_MERGE sections if the linker should
6761         attempt to merge duplicates.
6762         * config/alpha/elf.h: Likewise.
6763         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
6764         has working .subsection -1 support.
6765         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
6766         SELECT_SECTION.
6767         * config/svr3.h: Likewise.
6768         * config/darwin.h: Likewise.
6769         * config/arm/aof.h: Likewise.
6770         * config/arm/linux-elf.h: Likewise.
6771         * config/avr/avr.h: Likewise.
6772         * config/c4x/c4x.h: Likewise.
6773         * config/d30v/d30v.h: Likewise.
6774         * config/i386/dgux.h: Likewise.
6775         * config/i386/osfrose.h: Likewise.
6776         * config/i386/sco5.h: Likewise.
6777         * config/i386/svr3gas.h: Likewise.
6778         * config/ia64/aix.h: Likewise.
6779         * config/m32r/m32r.h: Likewise.
6780         * config/m68k/m68k.h: Likewise.
6781         * config/m88k/dgux.h: Likewise.
6782         * config/m88k/m88k.h: Likewise.
6783         * config/mcore/mcore-pe.h: Likewise.
6784         * config/mips/mips.h: Likewise.
6785         * config/pa/pa.h: Likewise.
6786         * config/pa/pa-linux.h: Likewise.
6787         * config/romp/romp.h: Likewise.
6788         * config/rs6000/sysv4.h: Likewise.
6789         * config/rs6000/xcoff.h: Likewise.
6790         * config/s390/linux.h: Likewise.
6791         * config/sparc/sparc.h: Likewise.
6792         * config/sparc/sysv4.h: Likewise.
6793         * config/stormy16/stormy16.h: Likewise.
6794         * config/v850/v850.h: Likewise.
6795         * config/vax/vms.h: Likewise.
6796         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
6797         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6798         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
6799         default_elf_asm_named_section for SHF_MERGE sections.
6800
6801 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
6802
6803         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
6804         is OK.
6805
6806 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
6807
6808         * c-common.c (split_specs_attrs): Allow for empty attributes with
6809         empty TREE_PURPOSE.  Fixes PR c/4294.
6810
6811 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
6812
6813         * basic-block.h (cached_make_edge, make_single_succ): New.
6814         (make_edge): Remove first parameter.
6815         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
6816         * cfg.c (cached_make_edge): Rename from make_edge; return newly
6817         created edge; use obstack allocation.
6818         (make_edge, make_single_succ_edge): New.
6819         (first_removed_edge): New static variable.
6820         (init_flow): Initialize first_removed_edge and n_edges.
6821         (clear_edges): Use remove_edge.
6822         (flow_delete_block): Likewise.
6823         (remove_edge): Add removed edges to the removed edges list.
6824         (split_block, redirect_edge_and_branch_force, split_edge):
6825         Use make_edge.
6826         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
6827         (add_noreturn_fake_exit_edges): Likewise.
6828         (connect_infinite_loops_to_exit): Liekwise.
6829         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
6830         Use cached_make_edge.
6831         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
6832         * profile.c (branch_prob): Update make_edge call.
6833         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
6834
6835 2001-09-11  Richard Henderson  <rth@redhat.com>
6836
6837         * config/alpha/alpha.c: Tidy formatting.
6838         (local_symbolic_operand): Verify mode.
6839         (alpha_sa_mask): Ignore unicos for eh_return.
6840         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
6841         * config/alpha/alpha.md (umk divsi patterns): Remove.
6842         (extendsfdf2): Remove unicos check.
6843         (tablejump): Merge vms and unicos code; always use direct set
6844         plus label_ref use.
6845
6846 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6847
6848         * config.gcc (alpha*-*-unicosmk*): New target.
6849
6850         * config/alpha/alpha-protos.h (symbolic_operand,
6851         unicosmk_add_call_info_word, unicosmk_add_extern,
6852         unicosmk_defer_case_vector, unicosmk_unique_section,
6853         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
6854         unicosmk_asm_file_start, unicosmk_asm_file_end,
6855         unicosmk_output_common): Declare.
6856
6857         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
6858         direct_return, function_arg, alpha_va_start, alpha_va_arg,
6859         alpha_does_function_need_gp, alpha_end_function): Support Cray
6860         Unicos/Mk.
6861         (alpha_init_machine_status, alpha_mark_machine_status,
6862         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
6863         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
6864         unicosmk_asm_named_section, unicosmk_insert_attributes,
6865         unicosmk_section_type_flags, symbolic_operand,
6866         unicosmk_output_module_name, unicosmk_output_default_externs,
6867         unicosmk_output_dex, unicosmk_output_externs,
6868         unicosmk_output_addr_vec, unicosmk_ssib_name,
6869         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
6870         unicosmk_asm_file_end, unicosmk_output_common,
6871         unicosmk_section_type_flags, unicosmk_unique_section,
6872         unicosmk_add_call_info_word, unicosmk_text_section,
6873         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
6874         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
6875         unicosmk_dex_count, unicosmk_special_name): New.
6876         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
6877         TARGET_ABI_UNICOSMK.
6878         (get_aligned_mem, alpha_expand_unaligned_load,
6879         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
6880         alpha_expand_unaligned_store_words): Support big-endian mode.
6881         (print_operand): Likewise. New format specifier 't'. Use
6882         TARGET_AS_SLASH_BEFORE_SUFFIX.
6883         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
6884         (alpha_pv_save_size): Update with above change.
6885         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
6886         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
6887         Unicos/Mk.
6888
6889         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
6890         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
6891         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
6892         (EXTRA_CONSTRAINT): New constraint 'U'.
6893         (PREDICATE_CODES): Add symbolic_operand.
6894
6895         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
6896         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
6897         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
6898         (integer division and modulus patterns): Split in default and
6899         Unicos/Mk versions.
6900         (*divmodsi_internal, *divmoddi_internal): Disable for
6901         TARGET_ABI_UNICOSMK.
6902         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
6903         little-endian and big-endian versions.
6904         (ext, ins, msk): Likewise.
6905         (extv, extzv, insv): Support big-endian mode.
6906         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
6907         (call_umk, call_value_umk, *call_umk, tablejump_umk,
6908         *tablejump_umk_internal, *call_value_umk): New.
6909         (*movdi_nofix): Add pattern for loading an address into a register on
6910         TARGET_ABI_UNICOSMK.
6911         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
6912         (umk_mismatch_args, arg_home_umk): New.
6913         (various insns): Don't use mov, fmov, nop, fnop and unop.
6914         (realign): Support TARGET_ABI_UNICOSMK.
6915
6916         * config/alpha/unicosmk.h: New file.
6917         * config/alpha/t-unicosmk: New file.
6918
6919         * fixinc/inclhack.def (unicosmk_restrict): New.
6920         * fixinc/fixincl.x: Regenerate.
6921
6922         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
6923         (wchar_t): Check for and define __WCHAR_T__.
6924
6925 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
6926
6927         * combine.c (simplify_shift_const): Treat shifts by the mode
6928         size as undefined.
6929
6930 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6931
6932         * cpphash.h (struct tokenrun): New.
6933         (struct cpp_context): New member bol.
6934         (struct cpp_reader): New members.
6935         (_cpp_init_tokenrun): New.
6936         * cppinit.c (cpp_create_reader): Set up the token runs.
6937         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
6938         (lex_token): New internalised version of _cpp_lex_token.  Don't
6939         handle directives or the multiple include opimisation here any
6940         more.  Simply lex a token.
6941         * cpplib.c (run_directive): Clear bol.
6942         (_cpp_pop_buffer): Set bol.
6943         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
6944         arguments.
6945
6946 2001-09-11  Michael Meissner  <meissner@redhat.com>
6947
6948         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
6949         give an error if the user uses -mfp32.
6950         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
6951         default options.
6952         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
6953         floating point register size.
6954         (EXTRA_SPECS): Add CPP_FPR_SPEC.
6955
6956         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
6957         HOST_WIDE_INT_PRINT_DEC to properly print the result of
6958         int_size_in_bytes.
6959         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
6960         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
6961
6962 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
6963
6964         * dbxout.c (dbxout_parms): Fix typo in comment.
6965         * unroll.c (loop_find_equiv_value): Ditto.
6966         * toplev.c (rest_of_compilation): Ditto.
6967         * loop.c (scan_loop): Ditto.
6968         * dwarf2out.c (struct dw_fde_struct): Ditto.
6969
6970 2001-09-10  Zack Weinberg  <zackw@panix.com>
6971
6972         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
6973         copying identifier when we're just going to throw it away.
6974         (parse_identifier_slow): New routine to handle abnormal cases.
6975         (_cpp_lex_token): Update call site.
6976
6977         * hashtable.c (ht_lookup): Don't assume that the string we've
6978         been given is NUL-terminated.
6979         * system.h: #define __builtin_expect(a, b) to (a) if not
6980         GCC >=3.0.
6981
6982 2001-09-10  Michael Meissner  <meissner@redhat.com>
6983
6984         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
6985         binutils, gdb.
6986
6987 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
6988
6989         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
6990
6991 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6992
6993         * builtins.c (c_getstr): Correct thinko in last change and further
6994         cleanup.
6995
6996 2001-09-10  Tim Freeman <tim@fungibole.com>
6997
6998         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
6999         into varray's and register them as roots with the garbage
7000         collector so they are not collected too soon.
7001
7002 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
7003
7004         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
7005         New.
7006         * basic-block.h (flow_obstack, label_value_list,
7007         tail_recursion_label_list): Declare
7008         (tidy_fallthru_edges): Declare.
7009         (expunge_block, last_loop_beg_note): Delete.
7010         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
7011         * cfg.c: New file
7012         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
7013         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
7014         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
7015         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
7016         expunge_block, flow_delete_block, compute_bb_for_insn,
7017         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
7018         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
7019         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
7020         try_redirect_by_replacing_jump, last_loop_beg_note,
7021         redirect_edge_and_branch, redirect_edge_and_branch_force,
7022         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
7023         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
7024         commit_edge_insertions, dump_flow_info, debug_flow_info,
7025         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
7026         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
7027         Move here from flow.c
7028         * cfganal.c: New file.
7029         (forwarder_block_p, can_fallthru, mark_critical_edges,
7030          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
7031          find_unreachable_blocks, create_edge_list, free_edge_list,
7032          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
7033          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
7034          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
7035          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
7036          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
7037          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
7038         Move here from flow.c
7039         * cfgbuild.c: New file
7040         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
7041          make_edges, find_basic_blocks_1, find_basic_blocks,
7042          find_sub_basic_blocks): Move here from flow.c
7043         * cfgcleanup.c: New file.
7044         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
7045          merge_blocks_move_predecessor_nojumps,
7046          merge_blocks_move_successor_nojumps, merge_blocks,
7047          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
7048          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
7049         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
7050         if succeeded.
7051         * cfgloop.c: New file
7052         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
7053          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
7054          flow_loop_exit_edges_find, flow_loop_nodes_find,
7055          flow_loop_pre_header_scan, flow_loop_pre_header_find,
7056          flow_loop_tree_node_add, flow_loops_tree_build,
7057          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
7058          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
7059         Move here from flow.c
7060         * flow.c: Remove everything moved elsewhere
7061         * output.h (cleanup_cfg): Return bool.
7062
7063         * bb-reorder.c (reorder_block_def): Remove 'index'.
7064         (insert_intra_1): Add argument BB, set block for new note.
7065         (make_reorder_chain): Do not depdent on BB indexes.
7066         (make_reorder_chain_1): Do not use BB indexes.
7067         (label_for_bb): Likewise; set BB for new insn.
7068         (emit_jump_to_block_after): Likewise.
7069         (fixup_reoder_chain): Sanity check that all basic blocks
7070         are chained; verify newly created insn chain; remove
7071         undocnitional jump simplifying; Do not use BB indexes;
7072         properly initialize count and frequency information;
7073         dump reordered sequence.
7074         (insert_intra_bb_scope_notes): update call of insert_intra_1.
7075         (insert_inter_bb_scope_notes): Set block for new insn.
7076         (reorder_basic_blocks): Dump flow info before reoredering.
7077
7078 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7079
7080         * alias.c (clear_reg_alias_info): Use K&R format definition.
7081         Avoid unsigned warning.
7082         * builtins.c: Use "unsigned int", not "unsigned".
7083         (target_char_cast): Use host_integerp and tree_low_cst.
7084         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
7085         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
7086         (c_getstr): Likewise.
7087         (std_expand_builtin_va_arg): Use int_size_in_bytes.
7088         (builtin_memcpy_read_str): Avoid unsigned warning.
7089         (expand_builtin_memcpy): Alignments are unsigned.
7090         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
7091         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
7092         * predict.c (expensive_function_p): LIMIT now unsigned.
7093         * resource.c (mark_target_live_regs): Make some vars unsigned.
7094         * sdbout.c: Use "unsigned int", not "unsigned".
7095         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
7096         (sdbout_source_line): Likewise.
7097         (sdbout_record_type_name): Remove "const" for NAME declaration.
7098         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
7099
7100 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
7101
7102         * calls.c (store_one_arg): Expand comment.
7103
7104 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7105
7106         * calls.c (store_one_arg): Make sure that the entire argument is
7107         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
7108
7109 2001-09-09  Richard Henderson  <rth@redhat.com>
7110
7111         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
7112
7113 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
7114
7115         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
7116
7117 2001-09-09  Richard Henderson  <rth@redhat.com>
7118
7119         * config/alpha/alpha.c (alpha_next_sequence_number): New.
7120         (alpha_this_literal_sequence_number): New.
7121         (alpha_this_gpdisp_sequence_number): New.
7122         (some_operand, input_operand): Add HIGH.
7123         (local_symbolic_operand): New.
7124         (alpha_encode_section_info): New.
7125         (alpha_legitimate_address_p): Allow LO_SUM.
7126         (alpha_legitimize_address): Generate HIGH+LO_SUM.
7127         (alpha_expand_mov): Likewise.
7128         (secondary_reload_class): Check memory_operand not general_operand
7129         for FP_REGS test.
7130         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
7131         (alpha_expand_unaligned_store): Likewise.
7132         (alpha_expand_unaligned_load_words): Likewise.
7133         (alpha_expand_unaligned_store_words): Likewise.
7134         (alpha_expand_block_clear): Likewise.
7135         (print_operand): Handle %#, %*, %H.
7136         (print_operand_address): Handle LO_SUM.
7137         (find_lo_sum): New.
7138         (alpha_does_function_need_gp): Use it.
7139         (alpha_expand_block_move): Fix signed compare warnings.
7140         (alpha_sa_mask, alpha_align_insns): Likewise.
7141         * config/alpha/alpha-protos.h: Update.
7142         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
7143         (MASK_EXPLICIT_RELOCS): New.
7144         (TARGET_SWITCHES): Add -mexplicit-relocs.
7145         (EXTRA_CONSTRAINT): Add 'T'.
7146         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
7147         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
7148         (ENCODE_SECTION_INFO): Out line.
7149         (REDO_SECTION_INFO_P): New.
7150         (STRIP_NAME_ENCODING): New.
7151         (ASM_OUTPUT_LABELREF): New.
7152         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
7153         (PREDICATE_CODES): Update.
7154         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
7155         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
7156         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
7157         builtin_setjmp_receiver_er, exception_receiver_1_er,
7158         call_value_osf_1_er): New patterns.
7159         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
7160         (movqi, movhi, movsi): Add explicit $31 base register to lda.
7161         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
7162         (FINAL_PRESCAN_INSN): New.
7163
7164 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
7165
7166         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
7167
7168 2001-09-08  Andreas Jaeger  <aj@suse.de>
7169
7170         * i386.h (TARGET_SWITCHES): Fix description.
7171
7172 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
7173
7174         * rs6000.c (num_insns_constant): Compute number of instructions
7175         more accurately.
7176
7177         * doc/install.texi: Explain AIX exception handling work-around.
7178         Update URL for AIX fixes.
7179
7180 2001-09-07  Jim Wilson  <wilson@redhat.com>
7181
7182         * alias.c (clear_reg_alias_info): New.
7183         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
7184         * rtl.h (clear_reg_alias_info): Declare.
7185
7186 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7187
7188         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
7189         available.
7190         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
7191         (m16m,edivm,emulm): Change declaration to match definition.
7192
7193 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
7194
7195         * reload.c (push_reload): Check for subreg_lowpart_p instead of
7196         SUBREG_BYTE being 0 when determining if the inner part of a subreg
7197         can be reloaded.
7198
7199 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
7200
7201         * c-common.c (signed_or_unsigned_type): Handle machine mode types
7202         which have no corresponding C type.
7203         * fold_const.c (target_isinf,target_isnan,target_negative): Update
7204         the representation of 64-bit doubles to work with 64-bit ints.
7205
7206 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
7207
7208         * config/mips/mips.c (override_options): Do not override ISA when ABI
7209         specified if MIPS_CPU_STRING_DEFAULT was specified.
7210
7211 2001-09-07  Richard Henderson  <rth@redhat.com>
7212
7213         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
7214         (express_from_1): Wrap lines.
7215         * rtlanal.c (commutative_operand_precedence): Rename from
7216         operand_preference; export.
7217         * rtl.h: Declare it.
7218         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
7219         (simplify_binary_operation): Invoke simplify_plus_minus on
7220         (CONST (PLUS ...)) as well.
7221         (struct simplify_plus_minus_op_data): New.
7222         (simplify_plus_minus_op_data_cmp): New.
7223         (simplify_plus_minus): Use them.  Avoid infinite recursion with
7224         simplify_binary_operation wrt CONST.
7225
7226 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
7227
7228         * h8300-protos.h (general_operand_dst_push): Remove.
7229         * h8300.c (general_operand_dst_push): Likewise.
7230         * h8300.h (OK_FOR_T): Likewise.
7231         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
7232         * h8300.md (pushqi_h8300): New.
7233         (pushqi_h8300hs): Likewise.
7234         (pushqi): Likewise.
7235         (pushhi_h8300): Likewise.
7236         (pushhi_h8300hs): Likewise.
7237         (pushhi): Likewise.
7238
7239 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7240
7241         * genattrtab.c (attr_printf): First arg is unsigned.
7242         Clean up formatting of callers.
7243
7244 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
7245
7246         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
7247         registers.
7248
7249 2001-09-07  Andreas Jaeger  <aj@suse.de>
7250
7251         * i386.h (TARGET_SWITCHES): Fix descriptions.
7252
7253 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7254
7255         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
7256
7257 2001-09-06  Ira Ruben  <ira@apple.com>
7258
7259         Remove OP_IDENTIFIER.
7260         * tree.def (OP_IDENTIFIER): Remove.
7261         * tree.c (tree_node_kind enum): Remove op_id_kind.
7262         (tree_node_kind_names): Remove "op_identifiers".
7263         (make_node): Remove OP_IDENTIFIER test.
7264         (build_op_identifier): Removed because it isn't being used.
7265         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
7266         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
7267
7268 2001-09-06  Richard Henderson  <rth@redhat.com>
7269
7270         * simplify-rtx.c (simplify_binary_operation): Revert last change.
7271
7272 2001-09-06  Richard Henderson  <rth@redhat.com>
7273
7274         * simplify-rtx.c (simplify_binary_operation): Simplify contents
7275         of CONST.
7276
7277 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7278
7279         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
7280         number used for CR register.
7281
7282 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7283                           Joern Rennecke (amylaar@cygnus.com)
7284
7285         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
7286         * h8300.c (initial_offset): Handle offset between RP and FP.
7287         (h8300_return_addr_rtx): New function.
7288         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
7289         return register.
7290         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
7291         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
7292         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
7293         (CAN_ELIMINATE, REGISTER_NAMES):
7294         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
7295
7296 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
7297
7298         Remove TYPE_NONCOPIED_PARTS.
7299         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
7300         (struct tree_type): Remove noncopied_parts.
7301         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
7302         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
7303         (fixed_type_p): Remove.
7304         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
7305         (expand_expr, MODIFY_EXPR): Likewise.
7306         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
7307         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
7308
7309 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
7310
7311         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
7312         compiler warnings.
7313         (mask64_operand): Likewise.
7314         (includes_rldic_lshift_p): Likewise.
7315         (includes_rldicr_lshift_p): Likewise.
7316
7317 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
7318
7319         * objc/objc-act.c (build_message_expr): If a class method cannot
7320         be found, do not issue a warning if a corresponding instance
7321         method exists in the root class.
7322
7323 2001-09-05  Richard Henderson  <rth@redhat.com>
7324
7325         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
7326
7327 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
7328
7329         * function.c (ggc_mark_struct_function): Mark f->outer.
7330         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
7331         * integrate.c (output_inline_function): ... not here.
7332
7333 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
7334
7335         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
7336
7337         * i386.c (size_cost): New static variable.
7338         (override_function): Use size_cost when -Os is specified.
7339
7340         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
7341         properly;  Use current_function_calls_eh_return.
7342         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
7343         use leave to avoid dependency chain.
7344
7345         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
7346         get BB loop_depth instead of computing it from LOOP notes.
7347
7348         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
7349
7350 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7351
7352         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7353         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7354         UNALIGNED_DOUBLE_INT_ASM_OP): Define
7355
7356 2001-09-05  Jeffrey A Law  (law@cygnus.com)
7357             Jason Merrill (jason@redhat.com)
7358
7359         * stor-layout.c (layout_type): Complain if an array's size can
7360         not be represented in a size_t.
7361
7362         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
7363
7364 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
7365
7366         * gcc.c: (process_command) Add parentheses around assignment
7367         used as truth value.
7368
7369 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7370
7371         * config/mips/mips.c (save_restore_insns): Don't mark any register
7372         save slots as unchanging if current_function_calls_eh_return.
7373
7374 2001-09-05  Richard Henderson  <rth@redhat.com>
7375
7376         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
7377         * config/alpha/alpha-protos.h: Declare it.
7378         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
7379         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
7380         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
7381         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
7382         (REG_OK_FOR_BASE_P): Select one of the above.
7383
7384 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
7385
7386         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
7387         (crti.o): Prefix name of object file with $(T).
7388         (crtn.o): Likewise.
7389
7390 2001-09-05  David S. Miller  <davem@redhat.com>
7391
7392         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
7393         * config/sparc/linux64.h: Likewise.
7394
7395 2001-09-05  Andreas Jaeger  <aj@suse.de>
7396
7397         * doc/invoke.texi (i386 Options): -mwide-multiply is not
7398         available anymore, remove the documentation.
7399         (i386 Options): Fix typo, cleanup index entries.
7400
7401         * prefix.c (concat): Remove, we can use the version from liberty.
7402
7403 2001-09-05  Richard Henderson  <rth@redhat.com>
7404
7405         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
7406         New functions split out of md file expanders.
7407         * config/alpha/alpha-protos.h: Declare them.
7408         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
7409
7410 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7411
7412         * cppmacro.c (funlike_invocation_p): No need to restore context.
7413
7414 2001-09-04  Richard Henderson  <rth@redhat.com>
7415
7416         * reload.c (push_reload): Export.
7417         * reload.h (push_reload): Declare it.
7418
7419         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
7420         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
7421         * config/alpha/alpha.c (alpha_legitimize_address): New.
7422         (alpha_legitimize_reload_address): Likewise.
7423         * config/alpha/alpha-protos.h: Declare them.
7424
7425 2001-09-04  Stan Shebs  <shebs@apple.com>
7426
7427         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
7428         * config/darwin.c (machopic_stub_name): Account for internally
7429         generated lib calls such as memcpy.
7430
7431 2001-09-04  Richard Henderson  <rth@redhat.com>
7432
7433         * unwind.h (_UA_END_OF_STACK): New flag.
7434         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
7435
7436 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
7437
7438         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
7439
7440 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
7441
7442         * config/mips/mips.c (save_restore_insns): Change base_offset to
7443         fp_offset in second call to mips_emit_frame_related_store.
7444
7445 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
7446
7447         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
7448         sometimes be represented as a NOTE of type
7449         NOTE_INSN_DELETED_LABEL.
7450         (Insns): Document NOTE_INSN_DELETED_LABEL.
7451
7452 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
7453
7454         * c-common.h (tree_dump_index): Add more comments.
7455         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
7456         (dump_option_value_info): New struct.
7457         (dump_options): New array.
7458         (dump_switch_p): Parse switch options symbolically.
7459         * doc/invoke.texi (-fdump-ast): Rename to ...
7460         (-fdump-tree): ... here. Document that options are symbolic, and
7461         not all are applicable.
7462
7463 2001-09-04  David S. Miller  <davem@redhat.com>
7464
7465         * config/sparc/sparc.md (define_splits): Kill constraints.
7466
7467         Cleanup redundant and unused insn attributes.
7468         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
7469         binary, and move.  Mark ialu as default.
7470         (commented out define_function_unit "alu"): Kill.
7471         (define_attr "use_clobbered"): Kill.
7472         (whole file): Kill address insn type references.  Replace
7473         all unary/binary/move references with ialu.
7474         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
7475         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
7476         TYPE_IALU.
7477
7478         Simplify length insn attribute and make more judicious use
7479         of insn attribute defaulting.
7480         * config/sparc/sparc.md (all insns with length > one): Mark as
7481         insn type multi if real instructions, else use default if
7482         it is a forced splitter.
7483         (all insns with length == one): Use default insn length.
7484         (all insns of type ialu): Use default insn type.
7485
7486         Fix erroneous insn attribute settings.
7487         (addx): Set insn type to misc.
7488         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
7489         const_umulsidi3_sp64): Set insn type to imul.
7490
7491         Track SFmode vs DFmode insns according to UltraSPARC
7492         scheduling rules.
7493         * config/sparc/sparc.md ("fptype"): New attribute, default
7494         to "single".
7495         (all DFmode single insns): Mark as fptype "double".
7496
7497 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
7498
7499         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
7500
7501 2001-09-03  Richard Henderson  <rth@redhat.com>
7502
7503         * function.h (struct function): Add arg_pointer_save_area_init.
7504         * function.c (expand_function_end): Init arg_pointer_save_area.
7505         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
7506         when called from a nested function.
7507
7508 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
7509
7510         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
7511         is enabled.
7512
7513 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
7514
7515         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
7516
7517 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
7518
7519         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
7520         (emit_push_insn): Use specified padding direction when
7521         STACK_PUSH_CODE is POST_INC.
7522
7523         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
7524
7525 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7526
7527         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
7528
7529 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7530
7531         * cppinit.c (cpp_start_read): Free the imacros list as we
7532         traverse it.  Don't free the chains before returning.
7533         (_cpp_push_next_buffer): Only try pushing buffers if we've
7534         completed -imacros handling.
7535
7536 2001-08-31  Eric Christopher  <echristo@redhat.com>
7537
7538         * gcc.c (handle_braces): Add explaination for abort.
7539
7540 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
7541
7542         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
7543         move adjustment of bitpos instead.
7544
7545 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
7546
7547         * function.c: Remove all_functions.  Make outer_function_chain
7548         static.
7549         (init_function_start): Don't add new function structure to
7550         all_functions.
7551         (find_function_data, push_function_context_to,
7552         pop_function_context_from, put_var_into_stack,
7553         trampoline_address): Update for changed structure element names.
7554         (push_function_context_to): Disentangle.
7555         (free_after_compilation): Also free F.
7556         (expand_dummy_function_end): Don't free cfun here.
7557         (put_var_into_stack): Comment why we can't use find_function_data here.
7558         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
7559         (mark_function_chain): Split into maybe_mark_struct_function and
7560         ggc_mark_struct_function.  Export the latter.
7561         (init_function_once): Mark from cfun and outer_function_chain;
7562         not all_functions.
7563
7564         * function.h (struct function): Kill next_global.  Rename next
7565         to outer.  All users updated to match.
7566         (all_functions, outer_function_chain): Don't declare.
7567
7568         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
7569         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
7570         don't touch f->inlinable, after calling rest_of_compilation.
7571
7572         * tree.h: Forward-declare struct function.  Prototype
7573         ggc_mark_struct_function.
7574
7575 2001-08-31  Kazu Hirata  <kazu@hxi.com>
7576
7577         * config/h8300/h8300.md (*andorhi3): Fix typos.
7578
7579 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7580
7581         * calls.c (emit_library_call_value): Don't use a fixed
7582         argument after VA_CLOSE, i.e. out of scope in traditional C.
7583
7584         * emit-rtl.c (gen_rtvec): Likewise.
7585
7586 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7587
7588         * Makefile.in (c-pragma.o): Depend on output.h.
7589         (reorg.o): Depend on except.h.
7590
7591         * c-pragma.c: Include output.h.
7592
7593         * reorg.c: Include except.h.
7594
7595         * unwind-dw2.c: Call __builtin_alloca, not alloca.
7596
7597 2001-08-31  Richard Henderson  <rth@redhat.com>
7598
7599         * sched-deps.c (add_dependence): Don't elide dependency if the
7600         conditional used by insn is modified in elem.
7601
7602 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
7603
7604         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
7605
7606 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
7607
7608         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
7609         dump_switch_p.
7610
7611 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
7612
7613         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
7614         function.
7615         (stormy16_asm_out_constructor): New function.
7616         (TARGET_ASM_CONSTRUCTOR): Define.
7617         (TARGET_ASM_DESTRUCTOR): Define.
7618
7619 2001-08-31  Andreas Jaeger  <aj@suse.de>
7620
7621         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
7622         * loop.c (add_label_notes): Likewise.
7623         * reload.c (find_reloads): Likewise.
7624         * config/sh/sh.c (machine_dependent_reorg): Likewise.
7625
7626 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
7627
7628         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
7629         code here.  Take _Unwind_{W,Sw}ord*.
7630         (read_encoded_value_with_base): Use them.
7631         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
7632         words.
7633         (extract_cie_info): Simplify read_?leb128 handling.
7634         (execute_stack_op, execute_cfa_program): Likewise.
7635         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
7636
7637 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
7638
7639         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
7640         the frame pointer to pop the stack if convenient.
7641
7642         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
7643         Don't use post-increment before combine.
7644         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
7645         a call-saved register.
7646
7647 2001-08-31  Andreas Jaeger  <aj@suse.de>
7648
7649         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
7650         code was correct.
7651
7652 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
7653
7654         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
7655         not DIV/MOD, of course.
7656
7657 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
7658
7659         * rtl.def: Undo my patch commited 2001-08-27.
7660
7661         * genattrtab.c: Ditto.
7662
7663         * rtl.h: Ditto.
7664
7665         * sched-int.h: Ditto.
7666
7667         * target-def.h: Ditto.
7668
7669         * target.h: Ditto.
7670
7671         * haifa-sched.c: Ditto.
7672
7673         * sched-rgn.c: Ditto.
7674
7675         * sched-vis.c: Ditto.
7676
7677         * Makefile.in: Ditto.
7678
7679         * doc/md.texi: Ditto.
7680
7681         * doc/tm.texi: Ditto.
7682
7683         * doc/contrib.texi: Ditto.
7684
7685         * doc/gcc.texi: Ditto.
7686
7687         * genattrtab.h: Remove it.
7688
7689         * genautomata.c: Remove it.
7690
7691         * genattr.c: Undo my patch and Richard Henderson's patch commited
7692         2001-08-27.
7693
7694 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
7695
7696         * config.gcc (h8300-*-elf*): New case.
7697         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
7698         (SUBTARGET_CPP_SPEC): Define.
7699         (EXTRA_SPECS): Define.
7700         (SUBTARGET_EXTRA_SPECS): Define.
7701         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
7702         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
7703
7704 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
7705
7706         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
7707         (LIB2FUNCS_EXTRA): Define.
7708         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
7709         config/h8300/fixunssfsi.c: New file.
7710
7711 2001-08-30  Kazu Hirata  <kazu@hxi.com>
7712
7713         * config/h8300/h8300.md (zero_extendqihi2): Changes to
7714         define_expand to accommodate target-specific attributes.
7715         (anonymous zero_extendqihi2 patterns): New.
7716
7717 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
7718
7719         * h8300.md (*andorhi3): New pattern.
7720
7721 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
7722
7723         * h8300.c (dosize): Fix test for "sub".
7724
7725 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
7726
7727         * c-typeck.c (pointer_diff): Try to eliminate common term before
7728         doing conversions.
7729
7730 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
7731
7732         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7733         Account for the saves of the FP registers.
7734
7735         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
7736         (TEXT_SECTION_ASM_OP): Define.
7737         (INIT_SECTION_ASM_OP): Define.
7738         (FINI_SECTION_ASM_OP): Define.
7739         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
7740         (RDATA_SECTION_FUNCITON): Provide prototype.
7741
7742 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
7743
7744         * reload1.c (move2add_note_store): Correct typo checking for
7745         argument pushes.
7746
7747 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
7748
7749         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
7750         note should not be considered outside the libcall block.
7751
7752 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7753
7754         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
7755
7756 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7757
7758         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
7759
7760 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7761
7762         * config/h8300/h8300-protos.h: Add a prototype for
7763         emit_logical_op.
7764         * config/h8300/h8300.c (emit_logical_op): New.
7765         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
7766         (andsi3): Likewise.
7767         (iorhi3): Likewise.
7768         (iorsi3): Likewise.
7769         (xorhi3): Likewise.
7770         (xorsi3): Likewise.
7771
7772 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7773
7774         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
7775         comparison with rtx INTVAL.
7776         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
7777         expression.
7778         * pa.h (FUNCTION_ARG_SIZE): Likewise.
7779
7780 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7781
7782         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
7783         comment typos.
7784
7785 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7786
7787         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
7788         (reg n) to (mem (pre_dec (reg n))
7789         (anonymous movsi pattern): Likewise.
7790
7791 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7792
7793         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
7794
7795 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7796
7797         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
7798         several special constants.
7799
7800 2001-08-29  Kazu Hirata  <kazu@hxi.com>
7801
7802         * config/h8300/lib1funcs.asm: Fix comment typos.
7803
7804 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7805
7806         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
7807         Fix format specifier warnings.
7808
7809         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
7810         inet_makeaddr, semctl): Prototype.
7811
7812         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
7813         (save_restore_insns): Use base_offset, not gp_offset.
7814
7815         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
7816         (ASM_OUTPUT_BYTE): Fix format specifier warning.
7817
7818 2001-08-29  Richard Henderson  <rth@redhat.com>
7819
7820         * bb-reorder.c (function_tail_eff_head): New.
7821         (record_effective_endpoints): Set it.
7822         (fixup_reorder_chain): Use it.
7823
7824 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7825
7826         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
7827
7828 2001-08-28  Dale Johannesen  <dalej@apple.com>
7829
7830         * config/darwin.c (machopic_function_base_name): Add const
7831         qualifier to a string.
7832         (darwin_encode_section_info): Ditto.
7833
7834 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7835
7836         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
7837         function definition.
7838
7839 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
7840
7841         * df.h (struct df): Add rts_order variable.
7842
7843         * df.c (df_visit_next_rts): New function.
7844         (df_visit_next): Renamed to df_visit_next_rc
7845         (df_analyse_1): Allocate/compute/free rts_order as well.
7846         (df_rd_global_compute): Use df_visit_next_rc instead of
7847         df_visit_next.
7848         (df_ru_global_compute): Use df_visit_next_rts instead of
7849         df_visit_next.
7850
7851         * flow.c (flow_reverse_top_sort_order_compute): New function.
7852
7853         * basic-block.h: Add prototype.
7854
7855 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
7856
7857         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
7858         blocks, the BB_REACHABLE is now set, rather than aux being
7859         non-NULL. Update the test to reflect this.
7860
7861 2001-08-28  Eric Christopher  <echristo@redhat.com>
7862
7863         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
7864         config/mips/crti.asm: Ditto.
7865
7866 2001-08-28  Eric Christopher <echristo@redhat.com>
7867             Richard Henderson <rth@redhat.com>
7868
7869         * c-pragma.h (add_weak): Move prototype from here...
7870         * output.h (add_weak): ... to here.
7871         * varasm.c (add_weak): Fix typo.
7872         * config/mips/crti.asm: New file.
7873         * config/mips/crtn.asm: Ditto.
7874         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
7875         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
7876         (INVOKE__main): Ditto.
7877         (INIT_SECTION_ASM_OP): New.
7878         (FINI_SECTION_ASM_OP): Ditto.
7879         (STARTFILE_SPEC): Add crti.
7880         (ENDFILE_SPEC): Add crtn.
7881         * config/mips/elf64.h: Same.
7882         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
7883         Remove.
7884         * config/mips/vxworks.h: Ditto.
7885         * config/mips/t-elf: Support crti and crtn.
7886
7887 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
7888
7889         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
7890         INSN_LIST.
7891
7892 2001-08-28  Richard Henderson  <rth@redhat.com>
7893
7894         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
7895         (one_cmplbi2 splitter): Remove redundant test.
7896
7897 2001-08-28  Dale Johannesen  <dalej@apple.com>
7898
7899         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
7900
7901 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
7902
7903         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
7904
7905 2001-08-28  Stan Shebs  <shebs@apple.com>
7906
7907         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
7908         (UNALIGNED_SHORT_ASM_OP): Define.
7909         (UNALIGNED_INT_ASM_OP): Define.
7910
7911 2001-08-28  Will Cohen  <wcohen@redhat.com>
7912
7913         * config/rs6000/rs6000.md (store_multiple): Correct RTL
7914         generation for first set.
7915
7916 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
7917
7918         * flow.c (redirect_edge_succ_nodup): Return new edge.
7919         (try_simplify_condjump): Use new edge.
7920         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
7921
7922         * cse.c (cse_basic_block): Skip note instructions.
7923
7924 2001-08-27  Richard Henderson  <rth@redhat.com>
7925
7926         * combine.c (combine_simplify_rtx): Don't reverse condition
7927         if there is no reverse for the condition.
7928         (simplify_comparison): Don't simplify subregs from INT to FP.
7929
7930         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
7931         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
7932         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
7933         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
7934         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
7935         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
7936
7937 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
7938
7939         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
7940         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
7941         (pushqi1): New.
7942         (adddi_dilshr32, adddi_dishl32): Only data register can be
7943         source for mem destination.
7944
7945         * expmed.c (store_bit_field): Ignore adjustment to bitpos
7946         and use bitnum to decide about register move.
7947
7948 2001-08-27  Richard Henderson  <rth@redhat.com>
7949
7950         * genattr.c (main): Emit state_t even when not doing scheduling.
7951
7952 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
7953             Richard Henderson  <rth@redhat.com>
7954
7955         * gcse.c (reg_first_set, reg_last_set): Replace with ...
7956         (reg_avail_info, current_bb): ... these.
7957         (oprs_unchanged_p, record_last_reg_set_info): Use them.
7958         (compute_hash_table): Likewise.
7959
7960 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
7961
7962         * flow.c (verify_flow_info): Use checksums to verify edges.
7963
7964 2001-08-27  Richard Henderson  <rth@redhat.com>
7965
7966         * genautomata.c (expand_automata): Always create a description.
7967
7968 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
7969
7970         * optabs.c (expand_binop): Correctly handle the carry in multiword
7971         add/subtract operations.
7972
7973 2001-08-27  Fred Fish  <fnf@be.com>
7974
7975         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
7976         __SIZE_TYPE__.
7977
7978 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
7979
7980         * reload.c (find_reloads_toplev): Back out this change:
7981
7982         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
7983
7984         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
7985         mem if the address is a mode_dependent_address_p.
7986
7987 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
7988
7989         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
7990         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
7991         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
7992         RTL constructions.
7993
7994         * genattr.c (main): New variable num_insn_reservations.  Increase
7995         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
7996         pipeline hazard recognizer interface.
7997
7998         * genattrtab.h: New file.
7999
8000         * genattrtab.c: Include genattrtab.h.
8001         (attr_printf, check_attr_test, make_internal_attr,
8002         make_numeric_value): Move protypes into genattrtab.h.  Define them
8003         as external.
8004         (num_dfa_decls): New global variable.
8005         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8006         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8007         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8008         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
8009
8010         * genautomata.c: New file.
8011
8012         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
8013
8014         * sched-int.h: (curr_state): Add the external definition for
8015         automaton pipeline interface.
8016         (haifa_insn_data): Add comments for members blockage and units.
8017
8018         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8019         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8020         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8021         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8022         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8023         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8024         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8025         macros.
8026         (TARGET_SCHED): Use the new macros.
8027
8028         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8029         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8030         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8031         dfa_bubble): New members in gcc_target.sched.
8032
8033         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
8034         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8035         (insn_queue): Redefine it as pointer to array.
8036         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8037         INSN_QUEUE_SIZE.
8038         (max_insn_queue_index_macro_value): New variable.
8039         (curr_state, dfa_state_size, ready_try): New varaibles for
8040         automaton interface.
8041         (ready_element, ready_remove, max_issue): New function prototypes
8042         for automaton interface.
8043         (choose_ready): New function prototype.
8044         (insn_unit, blockage_range): Add comments.
8045         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8046         FUNCTION_UNITS_SIZE == 0.
8047         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8048         actual_hazard, potential_hazard): Add comments.
8049         (insn_cost): Use cost -1 as undefined value.  Remove
8050         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
8051         pipeline interface.
8052         (ready_element, ready_remove): New functions for automaton
8053         interface.
8054         (schedule_insn): Add new code for automaton pipeline interface.
8055         (queue_to_ready): Add new code for automaton pipeline interface.
8056         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8057         (debug_ready_list): Print newline when the queue is empty.
8058         (max_issue): New function for automaton pipeline interface.
8059         (choose_ready): New function.
8060         (schedule_block): Add new code for automaton pipeline interface.
8061         Print ready list before scheduling each insn.
8062         (sched_init): Add new code for automaton pipeline interface.
8063         Initiate insn cost by -1.
8064         (sched_finish): Free the current automaton state and finalize
8065         automaton pipeline interface.
8066
8067         * sched-rgn.c: Include target.h.
8068         (init_ready_list, new_ready, debug_dependencies): Add new code for
8069         automaton pipeline interface.
8070
8071         * sched-vis.c: Include target.h.
8072         (get_visual_tbl_length): Add code for automaton interface.
8073         (target_units, print_block_visualization):  Add comments.
8074
8075         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
8076         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8077         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8078         (getruntime.o, genautomata.o): New entries.
8079         (genattrtab.o): Add new dependency file genattrtab.h.
8080         (genattrtab): Add new dependencies.  Link it with `libm.a'.
8081         (getruntime.o, hashtab.o): New entries for canadian cross.
8082
8083         * doc/md.texi: Description of automaton based model.
8084
8085         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8086         Add comments.
8087         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8088         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8089         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8090         TARGET_SCHED_DFA_POST_CYCLE_INSN,
8091         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8092         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8093         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8094         hook descriptions.
8095         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8096         MAX_DFA_ISSUE_RATE): New macro descriptions.
8097
8098         * doc/contrib.texi: Add dfa based scheduler contribution.
8099
8100         * doc/gcc.texi: Add more information about genattrtab.
8101
8102 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
8103
8104         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
8105         an RTL basic block.
8106
8107 2001-08-27  Richard Henderson  <rth@redhat.com>
8108
8109         * function.c (expand_function_end): Don't init arg_pointer_save_area.
8110         (get_arg_pointer_save_area): New.  Create an init it here.
8111         (fix_lexical_addr): Use it.
8112         * function.h: Declare it.
8113         * builtins.c (expand_builtin_setjmp_receiver): Use it.
8114         * stmt.c (expand_nl_goto_receiver): Use it.
8115
8116 2001-08-27  Richard Henderson  <rth@redhat.com>
8117
8118         * final.c (final_scan_insn): Don't enter APP_ON mode for
8119         empty asm strings.
8120
8121         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
8122         alignment for assemble_integer for DW_EH_PE_aligned.
8123         * except.c (output_function_exception_table): Likewise.
8124
8125 2001-08-26  Andreas Jaeger  <aj@suse.de>
8126
8127         * c-tree.h: Add prototyp for c_sizeof_nowarn.
8128
8129 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
8130
8131         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
8132
8133 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
8134
8135         * config/rs6000/rs6000.c (mask_operand): Rewrite without
8136         bit-shifting loop.
8137         (mask64_operand): Likewise.
8138         (rldic_operand): Delete.
8139         (includes_lshift64_p): Delete.
8140         (includes_rldic_lshift_p): New function.
8141         (includes_rldicr_lshift_p): New function.
8142         (print_operand): Don't call rldic_operand in case 'W'.
8143         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
8144         (includes_lshift64_p): Remove.
8145         (includes_rldic_lshift_p): Declare.
8146         (includes_rldicr_lshift_p): Declare.
8147         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
8148         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
8149         Replace match_operand rldic_operand predicate with
8150         const_int_operand.  Replace includes_lshift64_p condition with
8151         includes_rldic_lshift_p.
8152         <ashldi3_internal 64 bit rldicr patterns>: New.
8153
8154 2001-08-27  Andreas Jaeger  <aj@suse.de>
8155
8156         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8157         * errors.c: Likewise.
8158         * final.c: Likewise.
8159         * dwarf2asm.c: Likewise.
8160         * doprint.c (checkit): Likewise.
8161         * diagnostic.c: Likewise.
8162         * collect2.c: Likewise.
8163         * calls.c: Likewise.
8164         * c-semantics.c (build_stmt): Likewise.
8165         * c-format.c (status_warning): Likewise.
8166         * c-errors.c (pedwarn_c99): Likewise.
8167         * builtins.c (validate_arglist): Likewise.
8168         * config/pj/pj.c (pj_printf): Likewise.
8169         * fix-header.c: Likewise.
8170         * gcc.c: Likewise.
8171         * gcov.c (fnotice): Likewise.
8172         * gensupport.c (message_with_line): Likewise.
8173         * mips-tfile.c: Likewise.
8174         * protoize.c (notice): Likewise.
8175         * read-rtl.c (fatal_with_file_and_line): Likewise.
8176         * rtl-error.c: Likewise.
8177         * tradcpp.c: Likewise.
8178         * tree.c: Likewise.
8179         * cp/tree.c (build_min_nt): Likewise.
8180         (build_min): Likewise.
8181         * cp/lex.c: Likewise.
8182         * cp/errfn.c: Likewise.
8183         * cp/rtti.c (create_pseudo_type_info): Likewise.
8184
8185 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
8186
8187         * df.c (df_uses_record): Return after recording all uses
8188         in ASM_OPERANDS.
8189
8190 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
8191
8192         * df.c (df_insn_modify): Realloc the INSN table here, if
8193         necessary, here, too.
8194
8195 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
8196
8197         * config/mips/mips.c (mips_function_value): Handle complex return
8198         values.
8199
8200 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
8201
8202         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
8203         unshared.
8204         * reload.c (make_memloc): Copy result if it is still
8205         reg_equiv_memory_loc[regno] on return.
8206         (subst_reloads) [ENABLE_CHECKING]: Check that none of
8207         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
8208         reg_equiv_mem are modified by the substitutions.
8209
8210 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
8211
8212         * predict.c (expensive_function_p): New.
8213         * rtl.h (expensive_function_p): Declare.
8214         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
8215         (use_fast_prologue_epilogue): New static variable.
8216         (expand_prologue): Set it; emit short prologues if unset.
8217         (expand_epilogue): Likewise.
8218
8219 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8220
8221         * config.gcc: Add stormy16-*-elf case.
8222         * config/stormy16/stormy-abi: New file.
8223         * config/stormy16/stormy16-lib2.c: New file.
8224         * config/stormy16/stormy16-protos.h: New file.
8225         * config/stormy16/stormy16.c: New file.
8226         * config/stormy16/stormy16.h: New file.
8227         * config/stormy16/stormy16.md: New file.
8228         * config/stormy16/t-stormy16: New file.
8229
8230 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
8231
8232         * i386.h (no-accumulate-outgoing-args): Use proper mask.
8233
8234 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
8235
8236         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
8237         descriptor members are pointer size, not constant 4.
8238         * config/rs6000/rs6000.md (define_splits): Remove more unused
8239         constraints.
8240
8241 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8242
8243         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
8244
8245 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
8246
8247         * cp/rtti.c (VPARAMS): Fix parameter.
8248
8249 2001-08-24  Zack Weinberg  <zackw@panix.com>
8250
8251         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
8252         to zero.
8253         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
8254         to switch.
8255         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
8256         in if controlling use of insv.
8257         (extract_bit_field): Likewise, for extv and extzv.
8258
8259 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
8260
8261         * i386.md (movcc peep2): Fix load of 0.
8262
8263 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8264
8265         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
8266         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
8267
8268 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
8269
8270         * c-pragma.h: Move weak_syms and weak_decls...
8271         * varasm.c: ...here.  Now static.
8272         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
8273         depend on HANDLE_PRAGMA_WEAK.
8274
8275         * c-common.c (c_alignof, c_alignof_expr): Move here...
8276         * c-typeck.c: ...from here.
8277         * c-tree.h, c-common.h: Adjust.
8278
8279 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
8280
8281         * config/ia64/ia64.c (rws_update): If !pred, set write_count
8282         instead of incrementing it.
8283
8284         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
8285         asm ready, don't try to move them all into the same array element.
8286
8287 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
8288
8289         * function.c (thread_prologue_and_epilogue_insns): Avoid
8290         fallthru flag on edge to exit.
8291
8292         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
8293
8294         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
8295         dead edges.
8296
8297 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8298
8299         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
8300         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
8301         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
8302         Remove prototype.
8303
8304 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
8305
8306         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
8307         replace "GNU CC" with "GCC".
8308
8309 2001-08-23  Richard Henderson  <rth@redhat.com>
8310
8311         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
8312         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
8313         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
8314         Need GR between FR and not GR_AND_FR.
8315         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
8316         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
8317         AR regs before GR regs.
8318         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
8319         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
8320         (REGISTER_MOVE_COST): Update.
8321         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
8322
8323 2001-08-23  Richard Henderson  <rth@redhat.com>
8324
8325         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
8326         a register class.
8327
8328 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
8329
8330         * reload1.c (emit_reload_insns): Don't look for notes
8331         on a NULL store_insn.
8332
8333 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8334
8335         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
8336         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
8337         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
8338         format specifier warnings.
8339         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
8340
8341 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
8342
8343         * config/i386/i386-protos.h: Correct declaration of
8344         i386_pe_asm_named_section.
8345
8346 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8347
8348         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
8349         variable i.
8350         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8351
8352 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8353
8354         * cpperror.c (print_location): Don't show _Pragma.
8355         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
8356         and file change callback generation here.
8357         (stack_include_file): Update use of cpp_push_buffer.
8358         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
8359         (struct cpp_buffer): Remove type, pfile members.
8360         * cppinit.c (cpp_handle_option): Use free_chain.
8361         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
8362         (skip_escaped_newlines, get_effective_char, lex_percent): Take
8363         a cpp_reader rather than a cpp_buffer.
8364         (skip_escaped_newlines, get_effective_char, skip_block_comment,
8365         skip_line_comment, parse_string, lex_percent, lex_dot,
8366         _cpp_lex_token): Update accordingly.
8367         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
8368         generation here.
8369         (cpp_push_buffer): Update prototype.
8370         (run_directive): Update use of cpp_push_buffer.
8371         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
8372         handle_assertion): Update use of run_directive.
8373         * cpplib.h (enum cpp_buffer_type): Remove.
8374         (cpp_push_buffer): Update prototype.
8375         * fix-header.c (read_scan_file): Update.
8376
8377 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8378
8379         * gcc.c (struct prefix_list): Change prefix to const char *.
8380
8381 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8382
8383         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
8384
8385 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
8386
8387         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
8388         from a new MEM.
8389
8390         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
8391         a squeezable note.
8392         * rtl.h: Adjust.
8393         * ifcvt.c (dead_or_predicable): Adjust.
8394         * loop.c (find_and_verify_loops): Adjust.
8395         * stmt.c (expand_end_case): Adjust.
8396         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
8397         head and end insn pointers in the basic block, not just local copies.
8398         (merge_blocks_move_predecessor_nojumps): Likewise.
8399
8400 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
8401
8402         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
8403         bitmap.h, builtin-types.def, builtins.c, builtins.def,
8404         c-aux-info.c, c-common.c, c-common.def, c-common.h,
8405         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
8406         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
8407         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
8408         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
8409         conditions.h, config.gcc, configure.frag, configure.in,
8410         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
8411         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
8412         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
8413         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
8414         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
8415         emit-rtl.c, errors.c, errors.h, except.c, except.h,
8416         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
8417         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
8418         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
8419         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
8420         gencheck.c, gencodes.c, genconfig.c, genemit.c,
8421         genextract.c, genflags.c, gengenrtl.c, genmultilib,
8422         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
8423         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
8424         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
8425         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
8426         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
8427         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
8428         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
8429         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
8430         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
8431         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
8432         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
8433         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
8434         params.h, predict.c, predict.def, predict.h, prefix.c,
8435         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
8436         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
8437         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
8438         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
8439         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
8440         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
8441         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
8442         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
8443         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
8444         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
8445         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
8446         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
8447         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
8448         xcoffout.h: replace "GNU CC" with "GCC".
8449
8450 2001-08-21  Richard Henderson  <rth@redhat.com>
8451
8452         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
8453         (final_scan_insn): Consider jump tables data even if we have no
8454         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
8455         ADDR_VEC_ALIGN.
8456         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
8457         (ASM_OUTPUT_CASE_END): Remove.
8458         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
8459         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
8460         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
8461
8462 2001-08-21  Richard Henderson  <rth@redhat.com>
8463
8464         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
8465         at barrier insns.  Emit stop bits before barriers.
8466
8467         * flow.c (flow_find_cross_jump): Don't consider unconditional
8468         return insns for commoning.
8469
8470         * final.c (compute_alignments): Fix typo.
8471
8472         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
8473         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
8474         (store_bit_field): Use mode_for_extraction more places.
8475         (extract_bit_field): Likewise.
8476
8477 2001-08-21  Zack Weinberg  <zackw@panix.com>
8478
8479         * caller-save.c: Don't include insn-codes.h.
8480         (reg_save_code, reg_restore_code): Make arrays of int.
8481         All uses updated to match.
8482         (insert_save, insert_restore): No need to initialize "code"
8483         variable upon declaration.
8484         * Makefile.in: update dependencies; fix typo in clean rule.
8485
8486 2001-08-21  Richard Henderson  <rth@redhat.com>
8487
8488         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
8489         (merge_if_block): Handle fallout from same.
8490
8491 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8492
8493         * builtins.c (type_to_class): Fix typo in last change.
8494
8495 2001-08-21  Richard Henderson  <rth@redhat.com>
8496
8497         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
8498         ia64_asm_output_label.
8499
8500         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
8501         copy of gp while the real gp register contains garbage.
8502
8503 2001-08-21  Zack Weinberg  <zackw@panix.com>
8504
8505         * expmed.c (mode_for_extraction): New function.
8506         (store_bit_field, extract_bit_field): Use it.
8507         * expr.h: Prototype it and provide an enum for its first argument.
8508
8509         * combine.c, function.c, recog.c: Don't include insn-codes.h.
8510         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
8511         and digging through the insn_data tables.
8512         * Makefile.in: Update dependencies.
8513
8514 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8515
8516         * cppfiles.c (stack_include_file): line-map.c now handles include
8517         depth.
8518         (handle_missing_handler): Similarly.
8519         (_cpp_execute_include): Similarly.
8520         (_cpp_pop_file_buffer): Similarly.
8521         * cpphash.h (struct cpp_reader): Remove system_include_depth,
8522         buffer_stack_depth and include_depth.
8523         * cpplib.c (do_include_common): line-map.c now handles include depth.
8524         (cpp_push_buffer): Similarly.
8525         (_cpp_pop_buffer): Similarly.
8526         * cppmacro.c (builtin_macro): Update.
8527         * line-map.c (init_line_maps): Set depth.
8528         (add_line_map): Increment "used" earlier.  Update and use the
8529         include depth.
8530         (trace_include): Use the include depth.
8531         * line-map.h (struct line_maps): New member depth.
8532
8533 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8534
8535         * cppfiles.c (stack_include_file): Don't handle -H here.
8536         * cppinit.c (cpp_start_read): Set include tracing after
8537         cpp_post_options and after stacking the main file.
8538         * line-map.c (trace_include): New.
8539         (init_line_maps, add_line_map): Update.
8540         * line-map.h (struct line_maps): New member trace_includes.
8541
8542 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8543
8544         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
8545         * cppfiles.c (stack_include_file): Only stack a file if there
8546         is something to do.  Return a boolean indicating whether a
8547         buffer was stacked or not.
8548         (_cpp_execute_include): Similarly.
8549         (_cpp_read_file): Similarly.
8550         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
8551
8552 2001-08-21  Sam Steingold  <sds@gnu.org>
8553
8554         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
8555         (RECACHE): keep obufp_before_macroname up to date
8556
8557 2001-08-21  Zack Weinberg  <zackw@panix.com>
8558
8559         * stmt.c: Don't include insn-codes.h.
8560         (expand_end_case): Machine specific logic moved to expr.c.
8561         No need to worry about __builtin_classify_type.
8562         (check_for_full_enumeration_handling, emit_case_nodes):
8563         Kill #if 0 blocks.
8564
8565         * builtins.o (expand_builtin_classify_type): Split up so code
8566         can be shared with fold_builtin_classify_type.
8567         (type_to_class, fold_builtin_classify_type): New functions.
8568         (fold_builtins): Handle __builtin_classify_type.
8569
8570         * expr.c (do_tablejump): Now static.
8571         (case_values_threshold, try_casesi, try_tablejump): New;
8572         code mostly from stmt.c (expand_end_case).
8573         (expr.h): Update prototypes.
8574
8575         * Makefile.in (stmt.o): Update dependencies.
8576
8577 2001-08-21  Will Cohen  <wcohen@redhat.com>
8578
8579         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
8580         declaration of variable i.
8581         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
8582         declaration of variable i.
8583
8584 2001-08-21  Richard Henderson  <rth@redhat.com>
8585
8586         * crtstuff.c: Fix thinko last change.  Move list tails to start
8587         of CRT_END section.  Tidy ifdefs.
8588         (__EH_FRAME_BEGIN__): Always static for ELF.
8589         (__do_global_ctors_1): Rename from __frame_dummy.
8590         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
8591         name change; don't hide __EH_FRAME_BEGIN__.
8592
8593 2001-08-21  Richard Henderson  <rth@redhat.com>
8594
8595         * gdbinit.in: Move break on exit after break on fancy_abort.
8596
8597         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
8598         sized types.
8599
8600 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8601
8602         * cpphash.h (_cpp_push_next_buffer): New.
8603         * cppinit.c (do_includes): Remove.
8604         (push_include, free_chain, _cpp_push_next_buffer): New.
8605         (cpp_start_read): Use them to rework command line option handling.
8606         (cpp_handle_option): Combine handling of -include and -imacros.
8607         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
8608         appropriate.  Always insert missing \n at EOF.
8609         * cpplib.c (start_directive): Get the directive position right.
8610         * cppmain.c (cb_file_change): Always print the first line, unless
8611         preprocessed.
8612
8613 2001-08-20  Andreas Jaeger  <aj@suse.de>
8614
8615         * profile.c (compute_branch_probabilities): Remove extra new-line
8616         in error message.
8617         * flow.c (verify_flow_info): Likewise.
8618
8619 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
8620
8621         * basic-block.h (basic_block): Add new field 'flags'.
8622         (BB_REACHABLE): Define.
8623         (expunge_block): Declare.
8624         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
8625         (EXIT_BLOCK_PTR): Ditto.
8626         (expunge_block): Remove static declaration.
8627         (cleanup_cfg): Clear bb->aux on every basic block.
8628         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
8629         computing reachability.
8630         (delete_unreachable_blocks): Delete block b if b->flags has
8631         BB_REACHABLE unset.
8632
8633 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
8634
8635         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
8636
8637 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8638
8639         * sparc.c (sparc_variable_issue): Fix typo in last change.
8640
8641 2001-08-20  Richard Henderson  <rth@redhat.com>
8642
8643         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
8644
8645 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8646
8647         * pa.h (RETURN_IN_MEMORY): Improve comment.
8648
8649 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
8650
8651         * doc/invoke.texi (Profiling options): Clarify the interactions
8652         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
8653
8654 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
8655
8656         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
8657         command.
8658
8659 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8660
8661         * gcc.c (make_relative_prefix): Allocate a sufficiently large
8662         buffer.
8663
8664 2001-08-20  Richard Henderson  <rth@redhat.com>
8665
8666         * final.c (end_final): Fix typo last change.
8667
8668 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8669
8670         * cppinit.c (init_standard_includes): The returned buffer
8671         is already malloc-ed.
8672         * gcc.c (add_prefix): Similarly.
8673         * prefix.c (translate_name): Update to support clear buffer
8674         ownership rules.
8675         (update_path): Similarly.  Be sure to free any newly allocated
8676         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
8677         (tr): New function.
8678         * prefix.h (update_path): Update prototype and document.
8679         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
8680         up and update to new buffer ownership rules.
8681         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
8682
8683 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
8684
8685         * final.c (compute_alignments): New function.
8686         (init_insn_lengths): Do not care label_align.
8687         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
8688         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
8689         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
8690         (shorted_branches): Realloc label_align array; do
8691         not call init_insn_lengths; Do not care about loop alignments.
8692         * output.h (compute_alignments): Declare.
8693         * toplev.c (rest_of_compilation): Call compute_alignments.
8694         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
8695
8696         * predict.c (block_info_def): Add npredecesors, remove nvisited;
8697         change visited to tovisit.
8698         (propagate_freq): Use faster traversing algorithm.
8699         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
8700         to tovisit; reverse meaning.
8701
8702         * predict.c (struct block_info_def): Remove nvisited.
8703         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
8704         (estimate_bb_frequencies): Call mark_dfs_back_edges.
8705
8706 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
8707
8708         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
8709         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
8710         (TARGET_FUSED_MADD): New.
8711         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
8712         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
8713         the multiply-add instructions.
8714
8715 2001-08-19  Richard Henderson  <rth@redhat.com>
8716
8717         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
8718         is aligned to pointer size.
8719
8720 2001-08-19  Richard Henderson  <rth@redhat.com>
8721
8722         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
8723         display markers during final schedule.
8724
8725 2001-08-19  Richard Henderson  <rth@redhat.com>
8726
8727         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
8728
8729 2001-08-19  Richard Henderson  <rth@redhat.com>
8730
8731         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
8732         in the same string.
8733         (ASM_NAME_TO_STRING): Remove.
8734         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
8735         in the same string.  Remove support for expressions.
8736
8737 2001-08-19  Richard Henderson  <rth@redhat.com>
8738
8739         * config/i386/i386.md (tablejump): Make an expander; handle
8740         pic relative addressing here.
8741         (tablejump_1): Rename from tablejump_pic.
8742         (casesi): Remove.
8743
8744 2001-08-19  Richard Henderson  <rth@redhat.com>
8745
8746         * regclass.c (fix_register): Fix typo.
8747
8748 2001-08-18  Richard Henderson  <rth@redhat.com>
8749
8750         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
8751         (struct _Unwind_Context): Expand br_loc to hold it.
8752         (uw_frame_state_for): Handle leaf functions better.
8753         (uw_update_reg_address): Update for br_loc change.
8754
8755 2001-08-18  Richard Henderson  <rth@redhat.com>
8756
8757         * crtstuff.c: Move list heads before code that uses them.
8758         (__JCR_LIST__): Remove initial null.
8759         (frame_dummy, __frame_dummy): Do java registration here ...
8760         (__do_global_ctors_aux): ... not here.
8761
8762         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
8763         (__do_global_dtors_aux): Update to match.
8764         (__JCR_LIST__, __do_jv_register_classes): New.
8765         (.init): Call it.
8766         * config/ia64/crtend.asm (__JCR_END__): New.
8767         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
8768         instead of an indirect LTOFF22 reloc.
8769
8770 2001-08-18  Richard Henderson  <rth@redhat.com>
8771
8772         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
8773         * regclass.c (init_reg_sets_1): Fix typo.
8774         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
8775         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
8776         (ia64_compute_frame_size): Make ar.unat live when in use.
8777         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
8778         for ar.pfs; remove ar.unat handling.
8779         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
8780         call-saved.
8781         (PREDICATE_CODES): Add ar_pfs_reg_operand.
8782         * config/ia64/ia64-protos.h: Update decls.
8783         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
8784         (sibcall_pic): Likewise.
8785
8786 2001-08-18  Richard Henderson  <rth@redhat.com>
8787
8788         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
8789         pred_rel_mutex when searching for insn_group_barrier.
8790         * config/ia64/ia64.md (cycle_display): Combine the expander
8791         and insn patterns.
8792
8793         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
8794         bit before asm as needed.
8795
8796 2001-08-18  Richard Henderson  <rth@redhat.com>
8797
8798         * timevar.def (TV_MACH_DEP): New.
8799         * toplev.c (rest_of_compilation): Use it.
8800         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
8801
8802 2001-08-18  Zack Weinberg  <zackw@panix.com>
8803
8804         * unwind-dw2.c (execute_stack_op): Add default aborts to
8805         the inner switches to prevent warnings.
8806
8807 2001-08-18  Richard Henderson  <rth@redhat.com>
8808
8809         * timevar.h (struct timevar_time_def): Change element type to float.
8810         (ticks_to_msec, clocks_to_msec): Likewise.
8811         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
8812         (get_time): Likewise.
8813         (timevar_print): Adjust zero check and printing to match.
8814
8815 2001-08-18  Zack Weinberg  <zackw@panix.com>
8816
8817         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
8818         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
8819         Eliminate overfull or underfull hboxes.
8820
8821 2001-08-18  Zack Weinberg  <zackw@panix.com>
8822
8823         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8824
8825 2001-08-18  Zack Weinberg  <zackw@panix.com>
8826
8827         * haifa-sched.c: Convert to target hooks.  Macros replaced
8828         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
8829         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
8830         MD_SCHED_FINISH, and HAVE_cycle_display.
8831         * target-def.h (TARGET_SCHED_ADJUST_COST,
8832         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
8833         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
8834         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
8835         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
8836         New hook #defines to be overridden.
8837         (TARGET_SCHED): Bring them all together.
8838         (TARGET_INITIALIZER): Update.
8839         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
8840         instead of 'struct rtx_def *' throughout.
8841         (struct sched): New set of hooks for the scheduler.
8842         * Makefile.in (haifa-sched.o): Depend on target.h.
8843         * doc/tm.texi: Document the new scheduler hooks, together in
8844         their own section, instead of scattered around.
8845         Fix a bunch of underfull/overfull hboxes.
8846
8847         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
8848         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
8849         sparc.h: Don't define any of the old scheduler macros.
8850
8851         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
8852         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
8853         sparc.c: Create hook functions from code extracted from
8854         corresponding target header, or make existing hooks static, as
8855         appropriate.  Set the appropriate entries in targetm.
8856
8857         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
8858         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
8859         rs6000-protos.h, s390-protos.h, sparc-protos.h:
8860         Remove prototypes for functions which are now static.
8861
8862         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
8863         related gunk; the Haifa scheduler is now the only choice.
8864
8865 2001-08-18  Zack Weinberg  <zackw@panix.com>
8866
8867         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
8868         * genopinit.c: Put floating point divide insns in sdiv_optab.
8869         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
8870         * config/gofast.h, config/c4x/c4x.h,
8871         config/ia64/hpux_longdouble.h, config/mips/mips.h,
8872         config/pa/long_double.h, config/rs6000/sysv4.h,
8873         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
8874         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
8875         (init_optabs): Use init_optabv for overflow-trapping optabs.
8876         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
8877         cmp_optab RTX codes so have_insn_for can find them.
8878
8879         * optabs.c (expand_simple_binop, expand_simple_unop,
8880         have_insn_for, gen_sub3_insn): New interfaces.
8881         * expr.h: Prototype new functions.
8882         (enum optab_methods): Move here from optabs.h.
8883
8884         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
8885         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
8886         Use new functions instead of working directly with optabs.
8887         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
8888         unroll.c: Don't include optabs.h.
8889         * caller-save.c, combine.c, function.c, stmt.c: Just include
8890         insn-codes.h, not optabs.h.
8891         * Makefile.in: Update dependencies.
8892
8893         * combine.c (make_compound_operation, simplify_comparison):
8894         Fix typos testing for this or that instruction.
8895
8896 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
8897
8898         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
8899         generating libgcc.a.
8900
8901 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8902
8903         * except.c (TYPE_HASH): Delete.
8904
8905         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
8906         HOST_WIDE_INT.
8907
8908         * tree.c (TYPE_HASH): Delete.
8909
8910         * tree.h (TYPE_HASH): Define.
8911
8912 2001-08-18  Graham Stott  <grahams@redhat.com>
8913
8914         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
8915         define_split.
8916         (adddi3_internal_2+2): Likewise.
8917         (eh_set_lr_di+1): Likewise.
8918
8919 2001-08-17  Richard Henderson  <rth@redhat.com>
8920
8921         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
8922         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
8923         * dwarf2asm.c: ... here.
8924         * dwarfout.c: Remove them.
8925
8926         * varasm.c (assemble_integer): Add align parameter.
8927         (assemble_real, output_constant, output_constructor): Likewise.
8928         * output.h: Update decls.
8929         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
8930         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
8931         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
8932         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
8933         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
8934         Update all callers.
8935
8936         * final.c (end_final): Abort profile block generation if we
8937         havn't layed it out properly.
8938         * output.h (assemble_eh_integer): Remove stale decl.
8939         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
8940         (min_align): New.
8941         (assemble_integer): Handle unaligned data.
8942         (assemble_real): Abort on unaligned data.
8943         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
8944         anything useful.
8945         (default_dtor_section_asm_out_destructor): Use assemble_align.
8946         (default_named_section_asm_out_constructor): Likewise.
8947         (default_ctor_section_asm_out_constructor): Likewise.
8948         * config/darwin.c (machopic_asm_out_constructor): Likewise.
8949         (machopic_asm_out_destructor): Likewise.
8950         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
8951         (nextstep_asm_out_destructor): Likewise.
8952         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
8953         (vms_asm_out_destructor): Likewise.
8954
8955 2001-08-17  Richard Henderson  <rth@redhat.com>
8956
8957         * config/mips/iris6.h (TARGET_IRIX6): New.
8958         (current_section_name, current_section_flags): New.
8959         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
8960         (MAX_OFILE_ALIGNMENT): New.
8961         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
8962         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
8963         (copy_file_data): Split out from
8964         (mips_asm_file_end): ... here.
8965         (mips_asm_file_start): Remove extra .section directive.  Use
8966         tmpfile instead of mips_make_temp_file.
8967         (mips_unique_section): Use const char * as needed for warnings.
8968         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
8969         re-add align parameter.
8970         (iris6_asm_named_section): New.
8971         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
8972         (iris6_asm_output_align, iris6_section_align_1): New.
8973         (iris6_asm_file_start, iris6_asm_file_end): New.
8974         * config/mips/mips-protos.h: Update decls.
8975
8976 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
8977
8978         * doc/install.texi (Install GCC): Add links to build status pages.
8979         (Specific): Ditto.
8980         (Final install): Ditto; request updates for specific info
8981
8982 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8983
8984         * cpperror.c (print_location):  Don't take a file name; use the
8985         line map instead.
8986         (_cpp_begin_message): Similarly.
8987         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
8988         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
8989         (cpp_pedwarn_with_file_and_line): Remove.
8990         * cppfiles.c (stack_include_file): Update; set filename to stdin
8991         here when appropriate.
8992         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
8993         (_cpp_begin_message): Don't take a file name.
8994         * cppinit.c: Add comment.
8995         * cpplex.c: Fix end-of-directive indicator.
8996         * cpplib.c: Don't include intl.h.
8997         (run_directive, do_diagnostic): Update.
8998         (do_line): Update to not use nominal_fname.
8999         (cpp_push_buffer): Don't take a filename.
9000         * cpplib.h (struct ht): Remove.
9001         (cpp_push_buffer): Don't take a filename.
9002         (cpp_pedwarn_with_file_and_line): Remove.
9003         * cppmacro.c (struct cpp_macro): Remove file.
9004         (builtin_macro): Update.
9005         (_cpp_create_definition): Update.
9006         * cppmain.c: Correct comment.
9007         * fix-header.c (read_scan_file): Update.
9008
9009 2001-08-17  Kazu Hirata  <kazu@hxi.com>
9010
9011         * sbitmap.c: Fix comment formatting.
9012         * sched-deps.c: Likewise.
9013         * sibcall.c: Likewise.
9014         * simplify-rtx.c: Likewise.
9015         * ssa.c: Likewise.
9016         * ssa-ccp.c: Likewise.
9017         * stor-layout.c: Likewise.
9018         * timevar.c: Likewise.
9019         * toplev.c: Likewise.
9020         * unwind-dw2.c: Likewise.
9021         * unwind-dw2-fde.c: Likewise.
9022         * varasm.c: Likewise.
9023
9024 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9025
9026         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
9027         or larger than an integer in memory.
9028
9029 2001-08-17  Zack Weinberg  <zackw@panix.com>
9030
9031         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
9032         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
9033         * rtl.h: Don't forward-declare union tree_node here.  Don't
9034         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
9035         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9036         and tree respectively.
9037         * tree.h: Don't forward-declare struct rtx_def here.  Don't
9038         typedef tree here.  Change all uses of struct rtx_def *,
9039         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9040         and tree respectively.
9041
9042 2001-08-17  Richard Henderson  <rth@redhat.com>
9043
9044         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
9045         config/mips/openbsd.h: Fix typos last change.
9046
9047 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9048
9049         * doc/invoke.texi (Optimize Options): The default for
9050         -finline-limit is 600.
9051
9052 2001-08-17  Richard Henderson  <rth@redhat.com>
9053
9054         * varasm.c (text_section): Allow TEXT_SECTION to override the
9055         printing of TEXT_SECTION_ASM_OP.
9056         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
9057         (DATA_SECTION, BSS_SECTION): Remove.
9058         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
9059         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
9060         Rename from s/_NAME//.
9061         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
9062         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
9063         (TEXT_SECTION): ... here.  New.
9064         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
9065         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
9066         * config/mips/openbsd.h: Likewise.
9067         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
9068         (mips_asm_file_end): Likewise test.
9069         (mips_output_function_epilogue): Likewise.  Switch back to data
9070         section after emitting the function.
9071
9072         * doc/tm.texi (Sections): Document TEXT_SECTION.
9073
9074 2001-08-17  Richard Henderson  <rth@redhat.com>
9075
9076         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
9077         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
9078
9079 2001-08-17  Richard Henderson  <rth@redhat.com>
9080
9081         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
9082         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
9083         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
9084         Add aligned attribute.
9085
9086 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
9087
9088         * config/sh/sh.md: Add modes to unspecs in first insn to match
9089         those in the second.
9090
9091         * Makefile.in: Fix collect2 copy for Cygwin.
9092
9093 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
9094
9095         Install the proper patch.
9096         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9097         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9098         (expand_function_start): Likewise.
9099         * stmt.c (expand_decl): Likewise.
9100         * varasm.c (make_decl_rtx): Likewise.
9101
9102 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
9103
9104         * final.c: Undo my previous accidental checkin.
9105         * output.h: Likewise.
9106         * tm.texi: Likewise.
9107
9108 2001-08-16  Richard Henderson  <rth@redhat.com>
9109
9110         * varasm.c (named_section_flags): Remove align parameter.
9111         * varasm.c, dwarf2out.c: Update all callers.
9112         * output.h: Update prototypes.
9113
9114         * target.h (target.asm_out.named_section): Remove align parameter.
9115         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
9116         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
9117         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
9118         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
9119         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
9120
9121         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
9122         (get_named_section_flags, set_named_section_flags): New.
9123         (named_section_flags): Use them.
9124         (named_section): Do decl vs section flags check here...
9125         (default_section_type_flags): ... not here.
9126         (init_varasm_once): Create in_named_htab.
9127         (resolve_unique_section): Mark reloc unused.
9128
9129 2001-08-16  Richard Henderson  <rth@redhat.com>
9130
9131         * varasm.c (force_const_mem): Keep pool alignment in bits.
9132         (output_constant_pool): Use assemble_align.
9133
9134 2001-08-16  Zack Weinberg  <zackw@panix.com>
9135
9136         * doc/tm.texi: Remove extra @table command.
9137
9138 2001-08-16  Zack Weinberg  <zackw@panix.com>
9139
9140         * final.c (shorten_branches): Clear the end of the label_align
9141         array only if we made it larger.  Break up messy expressions
9142         for clarity.
9143
9144         * diagnostic.c (internal_error): Check for error recursion
9145         before doing ICE suppression.
9146
9147         * timevar.c: Timing variables now count in milliseconds.
9148         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
9149         (get_time): Not here.
9150         (timevar_print): Don't print any timer whose user, cpu, and
9151         wall times are all zero as displayed.
9152         * timevar.h: Update comment aboout units.  Make timevar
9153         counters unsigned.
9154
9155 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
9156
9157         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9158         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9159         (expand_function_start): Likewise.
9160         * stmt.c (expand_decl): Likewise.
9161         * varasm.c (make_decl_rtx): Likewise.
9162
9163 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
9164
9165         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
9166         (finalize_record_size): Don't set TYPE_USER_ALIGN.
9167
9168 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9169
9170         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
9171         variables.
9172
9173 2001-08-16  Andreas Jaeger  <aj@suse.de>
9174
9175         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
9176         prototype.
9177
9178 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
9179
9180         * rtl.h (only_sets_cc0_p): New prototype.
9181         * jump.c (sets_cc0_p): Handle INSN.
9182         (only_sets_cc0_p): New function.
9183         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
9184         (tidy_fallthru_edge): Likewise.
9185         * integrate.c (copy_insn_list): Likewise.
9186         * unroll.c (unroll_loop): Likewise.
9187         (copy_loop_body): Likewise.
9188
9189 2001-08-15  Jason Eckhardt  <jle@redhat.com>
9190
9191         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
9192
9193 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
9194
9195         * predict.c (struct block_info_def): Remove nvisited.
9196         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9197         (estimate_bb_frequencies): Call mark_dfs_back_edges.
9198
9199         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
9200         (ix86_adjust_cost): Teach scheduler that latency to load operand can
9201         be masked.
9202
9203 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
9204
9205         * predict.def: Update hitrates.
9206
9207 2001-08-15  Richard Henderson  <rth@redhat.com>
9208
9209         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
9210
9211 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
9212
9213         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
9214         note from its associated jump.
9215
9216 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9217
9218         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
9219         also on 64-bit s390x targets.
9220
9221 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
9222
9223         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
9224         function.
9225         (arm_expand_prologue): Handled nested functions which take a
9226         variable argument list.
9227         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
9228         macro with an invocation of
9229         arm_compute_initial_elimination_offset.
9230         * config/arm/arm-protos.h: Prototype
9231         arm_compute_initial_elimination_offset.
9232
9233 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9234
9235         * doc/install.texi (Specific, avr): Fix markup.
9236         (Specific, c4x): Ditto.
9237
9238 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9239
9240         * predict.c (dump_prediction): Change `bool' parameter to `int'.
9241
9242 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
9243
9244         * Makefile.in (OBJS): Add rtl-error.o
9245         (rtl-error.o): New rule.
9246         (diagnostic.o): Adjust dependency.
9247         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
9248         error_for_asm, _fatal_insn, _fatal_insn_not_found,
9249         warning_for_asm): Move to...
9250         rtl-error.c: ...here.  New file.
9251
9252 2001-08-14  Richard Henderson  <rth@redhat.com>
9253
9254         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
9255         if USING_SJLJ_EXCEPTIONS.
9256
9257 2001-08-14  Steve Ellcey <sje@cup.hp.com>
9258
9259         * tlink.c (scan_linker_output): Check string for unsatisfied in
9260         addition to undefined and unresolved.
9261
9262 2001-08-14  Graham Stott  <grahams@redhat.com>
9263
9264         * libgcc2.c (*): Replace EH_FRAME_SECTION with
9265         EH_FRAME_SECTION_NAME.
9266
9267 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
9268
9269         * genattrtab.c (simplify_test_exp_in_temp): New function.
9270         (simplify_test_exp): Avoid explicit use of temporary obstack.
9271         (simplify_cond, insert_right_side, evaluate_eq_attr,
9272         simplify_and_tree, simplify_or_tree, eliminate_known_true):
9273         Use simplify_test_exp_in_temp.
9274         (optimize_attrs): Iterate until expression stabilizes.
9275
9276 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
9277
9278         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
9279         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
9280
9281 2001-08-13  Richard Henderson  <rth@redhat.com>
9282
9283         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
9284         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
9285         * config/arm/conix-elf.h: Likewise.
9286
9287 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9288
9289         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
9290         in gcc.c.
9291         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9292
9293         * gcse.c (hash_scan_set): Expressions that are set as part of
9294         jump instructions are not available.
9295
9296 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
9297
9298         * config/s390/s390.c (print_operand, s390_function_prologue,
9299         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
9300
9301 2001-08-13  Richard Henderson  <rth@redhat.com>
9302
9303         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
9304         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
9305         * doc/tm.texi (Exception Region Output): Document it.
9306
9307 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
9308
9309         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
9310         DWARF2 instead of stabs by default.
9311
9312 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9313
9314         * config/rs6000/rs6000.c: Include optabs.h.
9315
9316 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
9317
9318         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
9319         save/restore routines.
9320         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
9321
9322 2001-08-13  Andreas Jaeger  <aj@suse.de>
9323
9324         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
9325         the english is correct.
9326
9327 2001-08-13  Zack Weinberg  <zackw@panix.com>
9328
9329         * expr.h: Split out optab- and libfunc-related code to...
9330         * optabs.h, libfuncs.h: ... these new headers.
9331
9332         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
9333         (OPTABS_H): New.
9334         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
9335         dependencies.
9336         * mkconfig.sh: Don't include insn-codes.h from config.h.
9337
9338         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
9339         enum insn_code is available.  Move reload_in_optab and
9340         reload_out_optab array declarations to optabs.h.
9341         * regmove.c (gen_add3_insn): Move to optabs.c, export from
9342         there, prototype in expr.h.
9343         * gencodes.c: Cleanup: zap global variables, don't use
9344         printf where puts will do, don't bother defining MAX_INSN_CODE
9345         which nothing uses, let CODE_FOR_nothing get its value implicitly.
9346
9347         * genemit.c, genopinit.c: Include optabs.h in generated file.
9348         * genoutput.c: Include insn-codes.h in generated file.
9349         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
9350         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
9351         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
9352         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
9353         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
9354         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
9355         Include optabs.h.
9356         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
9357         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
9358         config/m88k/m88k.c, config/sparc/sparc.c:
9359         Include libfuncs.h.
9360         * reload.c: Include expr.h and optabs.h before reload.h.
9361         * config/alpha/alpha.c: Include tree.h before reload.h.
9362         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
9363         and reload.h in that order.
9364         * config/sparc/sparc.c: Include debug.h.
9365         * recog.c: Include insn-codes.h.
9366
9367 2001-08-13  Andreas Jaeger  <aj@suse.de>
9368
9369         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
9370         s390*linux.
9371
9372 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
9373
9374         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
9375         * gcc.c (init_spec): Fix typo in comment.
9376         * varasm.c (data_section): Fix typo in comment.
9377
9378 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
9379
9380         * predict.c (dump_prediction): New argument "USED".
9381         (combine_predictions_for_insn): Determine the used heuristics,
9382         output the case no heuristic applied.
9383         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
9384
9385 2001-08-13  Andreas Jaeger  <aj@suse.de>
9386
9387         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
9388         register %rip.
9389
9390 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9391
9392         * jump.c: Fix formatting.
9393
9394 2001-08-13  Kazu Hirata  <kazu@hxi.com>
9395
9396         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
9397         length.
9398
9399 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
9400
9401         * loop.c (check_dbra_loop): Use condjump_label to compute
9402         jump_label.
9403
9404         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
9405         to better document the files they're in.
9406
9407 2001-08-12  Zack Weinberg  <zackw@panix.com>
9408
9409         * recog.h (struct insn_operand_data): Shrink 'mode' field
9410         to 16 bits.
9411
9412 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9413
9414         * gcc.c: Fix comment formatting.
9415         * gccspec.c: Likewise.
9416         * gcov.c: Likewise.
9417         * gcse.c: Likewise.
9418         * genemit.c: Likewise.
9419         * gengenrtl.c: Likewise.
9420         * genrecog.c: Likewise.
9421         * gensupport.c: Likewise.
9422         * ggc-page.c: Likewise.
9423         * global.c: Likewise.
9424         * graph.c: Likewise.
9425         * ifcvt.c: Likewise.
9426         * integrate.c: Likewise.
9427         * lcm.c: Likewise.
9428         * libgcc2.c: Likewise.
9429         * loop.c: Likewise.
9430         * mbchar.c: Likewise.
9431         * optabs.c: Likewise.
9432         * predict.c: Likewise.
9433         * prefix.c: Likewise.
9434         * profile.c: Likewise.
9435         * protoize.c: Likewise.
9436         * real.c: Likewise.
9437         * recog.c: Likewise.
9438         * regclass.c: Likewise.
9439         * regmove.c: Likewise.
9440         * reg-stack.c: Likewise.
9441         * reload1.c: Likewise.
9442         * resource.c: Likewise.
9443         * rtlanal.c: Likewise.
9444         * rtl.c: Likewise.
9445
9446 2001-08-12  Kazu Hirata  <kazu@hxi.com>
9447
9448         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
9449         a tree representing a constant is passed to the macro.
9450
9451 2001-08-12  Richard Henderson  <rth@redhat.com>
9452
9453         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
9454         (rs6000_elf_asm_out_destructor): New.
9455         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
9456         (DTORS_SECTION_ASM_OP): Remove.
9457         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9458         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
9459
9460 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
9461
9462         Revert:
9463         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9464         * gcc.c (set_collect_gcc_options): New function, split out from
9465         main.
9466         Ignore elided switches.
9467         (do_spec_1): Invoke before executing command.
9468         (set_input): Export.
9469         Move declaration ...
9470         * gcc.h (set_input): ... here.
9471         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9472         file.
9473
9474 2001-08-12  Richard Henderson  <rth@redhat.com>
9475
9476         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
9477         thinko wrt TARGET_RELOCATABLE.
9478
9479 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
9480
9481         * fix-header.c (cb_file_change): Update prototype.
9482
9483 2001-08-11  Zack Weinberg  <zackw@panix.com>
9484
9485         * toplev.c (set_float_handler): Make static.
9486         * toplev.h: Don't prototype set_float_handler.
9487
9488         * simplify-rtx.c: Don't include setjmp.h.
9489         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
9490         New functions.
9491         (simplify_unary_operation, simplify_binary_operation): Use them,
9492         via do_float_handler.
9493
9494         * fold-const.c: Don't include setjmp.h.
9495         (exact_real_inverse_1): New function.
9496         (exact_real_inverse): Use it, via do_float_handler.
9497
9498         * varasm.c: Don't include setjmp.h.
9499         (assemble_real_1): New function.
9500         (assemble_real): Use it, via do_float_handler.
9501         Call internal_error if we get a trap here.
9502
9503         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
9504         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
9505
9506 2001-08-11  Zack Weinberg  <zackw@panix.com>
9507
9508         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
9509         STACK_BOUNDARY if not already defined.
9510
9511         * calls.c, function.c, reload1.c, explow.c: Don't default
9512         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
9513         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
9514
9515         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
9516         to run-time test.
9517
9518         * doc/tm.texi: Document that STACK_BOUNDARY is required;
9519         clarify difference between it and PREFERRED_STACK_BOUNDARY.
9520
9521 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9522
9523         * cppmacro.c (enter_macro_context): Push macro expansions even
9524         if empty.
9525
9526 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9527
9528         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
9529         (rs6000_elf_section_type_flags): Actually return a value.
9530
9531 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
9532
9533         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
9534         Clean up code: add missing comments and prototypes, fix warnings,
9535         remove obsolete code, fix spacing to conform to coding style.
9536
9537 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
9538
9539         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
9540         and TARGET_ASM_CLOSE_PAREN.
9541         (regclass_map): CC register belongs to class NO_REGS.
9542         (legitimize_pic_address): Don't generate unnecessary moves
9543         (to avoid confusing loop optimization).
9544         (check_and_change_labels): Replace jump_long by indirect_jump.
9545         (s390_final_chunkify): Don't start a new literal pool on section
9546         switch in 64-bit code.
9547         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
9548
9549         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
9550         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
9551         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
9552         modes correctly.
9553         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
9554         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
9555         (CONST_COSTS): Fixed incorrect costs.
9556
9557         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
9558         Use emit_jump instead of emit_jump_insn (gen_jump).
9559         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
9560         (to avoid confusing flow analysis).
9561         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
9562         (casesi, casesi_jump): New.
9563         (jump_long): Removed.  Functionality merged into indirect_jump.
9564         (indirect_jump): Accept address_operand, not just register_operand.
9565         (cjump_long, icjump_long): Use same logic as indirect_jump.
9566         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
9567         Fixed broken setjmp/longjmp handling.
9568         (do_builtin_setjmp_setup): Removed.
9569
9570         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
9571         broken GNU as versions that don't accept .quad with large
9572         negative values.  Use hexadecimal output instead.
9573         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
9574         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
9575         FUNCTION_EPILOGUE): Removed.  Now in targetm.
9576
9577         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
9578
9579         * config/s390/fixdfdi.h: Add missing copyright statement.
9580         Fix type conflicts on 64-bit.  Add missing SFmode routines.
9581
9582         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
9583         email address.
9584
9585 2001-08-11  Richard Henderson  <rth@redhat.com>
9586
9587         * rtl.h (REG_EH_RETHROW): Remove.
9588         * rtl.c (reg_note_name): Update.
9589         * combine.c (distribute_notes): Don't check for it.
9590
9591 2001-08-11  Richard Henderson  <rth@redhat.com>
9592
9593         * combine.c (distribute_notes): Place REG_SETJMP.
9594
9595 2001-08-11  Richard Henderson  <rth@redhat.com>
9596
9597         * doc/extend.texi (Arrays and pointers implementation): Discourage
9598         relying on sign-extension of pointers.
9599
9600 2001-08-11  H.J. Lu <hjl@gnu.org>
9601
9602         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
9603         in_dtors.
9604         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
9605         RDATA_SECTION_ASM_OP.
9606
9607 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9608
9609         * doc/install.texi (Specific, c4x): Fix cross-reference to the
9610         main manual to work both for info and HTML versions.
9611
9612 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9613             Matt Kraai <kraai@alumni.carnegiemellon.edu>
9614
9615         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
9616         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
9617         (struct cpp_pool): New member first.
9618         * cppinit.c (append_include_chain): Plug memory leaks.
9619         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
9620         Allocate pragma structures from the (aligned) macro pool to
9621         avoid leaking memory.
9622         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
9623         so we don't leak memory.
9624         * hashtable.c (ht_destroy): New.
9625         * hashtable.h (ht_destroy): New.
9626
9627 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9628             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9629
9630         * c-lex.c (map): Make const.
9631         (cb_file_change): Update for callback passing a line map.
9632         Don't assume we have a previous map.  Remove sanity check
9633         about popping too many files.
9634         * cpperror.c (print_location): Make map const.
9635         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
9636         (cpp_make_system_header): Similarly.
9637         (search_from): Similarly.
9638         (_cpp_execute_include): Don't remember where we came from.
9639         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
9640         (struct cpp_reader): Make map const.
9641         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
9642         * cpplib.c (do_line): Update; line maps now hold sysp.
9643         (cpp_push_buffer): Similarly.
9644         (_cpp_do_file_change): Similarly; callback with map instead.
9645         (cpp_get_line_maps): Constify return value.
9646         (_cpp_pop_buffer): Update.
9647         * cpplib.h (struct cpp_file_change): Remove.
9648         (struct cpp_callbacks): Update.
9649         (cpp_get_line_maps): Constify return value.
9650         * cppmacro.c (_cpp_create_definition): Update.
9651         * cppmain.c (struct printer): Constify map.
9652         (maybe_print_line): Similarly.
9653         (print_line): Similarly.  Deduce flags 1 and 2 here.
9654         (cb_file_change): Update.
9655         * line-map.c (free_line_maps): Warn regardless.
9656         (add_line_map): Return pointer to const.  When passed NULL to_file
9657         with LC_LEAVE, use the obvious values for the return point so the
9658         caller doesn't have to figure them out.
9659         (lookup_line): Return pointer to const.
9660         (print_containing_files): Take pointer to const.
9661         * line-map.h (struct line_map): New members reason, sysp.
9662         (add_line_map): Return pointer to const.
9663         (lookup_line): Similarly.
9664         (print_containing_files): Take pointer to const.
9665
9666 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
9667             Richard Henderson  <rth@redhat.com>
9668
9669         * regmove.c (regmove_optimize): Avoid setting a register twice in
9670         a parallel set.
9671
9672 2001-08-10  Richard Henderson  <rth@redhat.com>
9673
9674         * doc/extend.texi (Arrays and pointers implementation): Document
9675         behavior of pointer/integer conversion.
9676
9677 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
9678
9679         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
9680
9681 2001-08-10  Richard Henderson  <rth@redhat.com>
9682
9683         * doc/extend.texi (C Implementation): New chapter.
9684         * doc/gcc.texi (Top): Link it in.
9685
9686 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
9687
9688         * doc/install.texi (Specific): Fix CVS merge botch.
9689
9690 2001-08-10  Richard Henderson  <rth@redhat.com>
9691
9692         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
9693         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
9694
9695 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
9696
9697         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
9698         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
9699         this macro is now required.
9700
9701         * cselib.c (cselib_process_insn), flow.c (propagate_block),
9702         loop.c (find_and_verify_loops), reload.c (reload): Check
9703         for rtx code of CALL_INSN, not CALL, when deciding if we
9704         need to check for REG_SETJMP note.
9705
9706         * gcse.c (compute_hash_table, compute_store_table): Update
9707         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
9708         logic.
9709
9710         * config/avr/avr.c: Fix typo.
9711         * config/convex/convex.c (expand_movstr): Use adjust_address.
9712         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
9713         variable.
9714         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
9715         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
9716         Fix typo.
9717         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
9718         Do define STACK_BOUNDARY.
9719         * config/i370/i370.c: Include expr.h.
9720         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
9721         config/pa/som.h, config/v850/v850.h: Take in_ctors and
9722         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
9723         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
9724         * config/m88k/m88k.c: Include c-tree.h after expr.h.
9725         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
9726         * config/romp/romp.c: Include expr.h after tree.h.
9727         Include toplev.h.
9728         (output_fpop): Use xmalloc, not oballoc.
9729         * config/we32k/we32k.c: Include expr.h.
9730
9731 2001-08-10  Kazu Hirata  <kazu@hxi.com>
9732
9733         * config/h8300/h8300.h: Fix formatting.
9734
9735 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
9736
9737         * c-common.h (RETURN_NULLIFIED_P): Lose.
9738         * c-semantics.c (genrtl_return_stmt): Don't check it.
9739
9740 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9741
9742         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
9743         (mips_annotate_frame_insn): New function.
9744         (mips_emit_frame_related_store): New function.
9745         (save_restore_insns): Don't mark instructions that set up the base
9746         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
9747         the store instructions instead.
9748         (mips_expand_prologue): If the stack size is moved into a temporary
9749         register, do not mark that move as frame-related.  Add a
9750         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
9751
9752 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9753
9754         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
9755         stack slot as unchanging if current_function_calls_eh_return.
9756
9757 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
9758
9759         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
9760         access the second half of the TFmode scratch operand.
9761
9762 2001-08-10  Anthony Green  <green@redhat.com>
9763
9764         * java/class.c (emit_register_classes): Conditionalize code on
9765         JCR_SECTION_NAME.
9766
9767 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9768
9769         * doc/install.texi (Specific, avr): Fix cross-reference to the
9770         main manual to work both for info and HTML versions.
9771
9772 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9773
9774         * stmt.c (expand_null_return_1): Remove code to generate simple returns
9775         and "use_goto" argument.
9776         (expand_null_return, expand_value_return): Update all callers.
9777         * function.c (expand_function_end): Remove code to generate simple
9778         return.
9779         * config/vax/vax.md (epilogue): New expander for function return.
9780         * doc/md.texi (epilogue): Remove "if defined".
9781
9782 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
9783
9784         * Makefile.in: Partially revert my previous change:
9785         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
9786         of the hashtab.o and safe-ctype.o rules.
9787
9788 2001-08-09  Richard Henderson  <rth@redhat.com>
9789
9790         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
9791         (USE_COLLECT2): Remove duplicate definition.
9792         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
9793         (use_collect2): Remove dead code.
9794         * configure.in (use_collect2): Remove will_use_collect2 and
9795         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
9796         * configure: Rebuild.
9797
9798         * target.h (targetm.asm_out.constructor): New.
9799         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
9800         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
9801         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
9802         * varasm.c (in_ctors, in_dtors): New.
9803         (assemble_constructor, assemble_destructor): Remove.
9804         (default_stabs_asm_out_destructor): New.
9805         (default_named_section_asm_out_destructor): New.
9806         (dtors_section, default_dtor_section_asm_out_destructor): New.
9807         (default_stabs_asm_out_constructor): New.
9808         (default_named_section_asm_out_constructor): New.
9809         (ctors_section, default_ctor_section_asm_out_constructor): New.
9810         * output.h: Update declarations.
9811         * c-decl.c (c_expand_body): Use target hooks instead of
9812         assemble_constructor and assemble_destructor.
9813         * profile.c (output_func_start_profiler): Likewise.
9814         * objc/objc-act.c (finish_objc): Likewise.
9815         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
9816         for the constructor.
9817         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
9818
9819         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
9820         (DTORS_SECTION_ASM_OP): Likewise.
9821         (__CTOR_LIST__): Use attribute section when possible.
9822         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
9823
9824         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
9825         ASM_OUTPUT_CONSTRUCTOR.
9826
9827         * config/darwin.c (machopic_asm_out_constructor): New.
9828         (machopic_asm_out_destructor): New.
9829         * config/darwin-protos.h: Update declarations.
9830         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9831         (ASM_OUTPUT_DESTRUCTOR): Remove.
9832         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9833         * config/nextstep.c (nextstep_asm_out_constructor): New.
9834         (nextstep_asm_out_destructor): New.
9835         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9836         (ASM_OUTPUT_DESTRUCTOR): Remove.
9837         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9838         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
9839         ASM_OUTPUT_*STRUCTOR.
9840         * config/i386/aix386ng.h: Likewise.
9841
9842         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
9843         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
9844         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9845         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9846         * config/lynx.h: Likewise.
9847         * config/netware.h: Likewise.
9848         * config/psos.h: Likewise.
9849         * config/alpha/alpha-interix.h: Likewise.
9850         * config/alpha/elf.h: Likewise.
9851         * config/arc/arc.h: Likewise.
9852         * config/arm/aof.h: Likewise.
9853         * config/arm/coff.h: Likewise.
9854         * config/arm/elf.h: Likewise.
9855         * config/c4x/c4x.h: Likewise.
9856         * config/h8300/h8300.h: Likewise.
9857         * config/i386/cygwin.h: Likewise.
9858         * config/i386/djgpp.h: Likewise.
9859         * config/i386/i386-coff.h: Likewise.
9860         * config/i386/i386-interix.h: Likewise.
9861         * config/i386/sco5.h: Likewise.
9862         * config/i386/vsta.h: Likewise.
9863         * config/i386/win32.h: Likewise.
9864         * config/i960/i960-coff.h: Likewise.
9865         * config/ia64/sysv4.h: Likewise.
9866         * config/m68hc11/m68hc11.h: Likewise.
9867         * config/m68k/coff.h: Likewise.
9868         * config/m68k/mot3300.h: Likewise.
9869         * config/m88k/m88k.h: Likewise.
9870         * config/mcore/mcore-pe.h: Likewise.
9871         * config/mcore/mcore.h: Likewise.
9872         * config/mips/elf.h: Likewise.
9873         * config/mips/elf64.h: Likewise.
9874         * config/mips/iris6.h: Likewise.
9875         * config/pa/pa64-hpux.h: Likewise.
9876         * config/rs6000/sysv4.h: Likewise.
9877         * config/sh/sh.h: Likewise.
9878         * config/sparc/litecoff.h: Likewise.
9879
9880         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
9881         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9882         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9883         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9884         (ASM_OUTPUT_DESTRUCTOR): Remove.
9885         * config/a29k/a29k.c: Move include of tree.h.
9886         * config/a29k/udi.h: Delete file.
9887         * config/alpha/alpha.c (vms_asm_out_constructor): New.
9888         (vms_asm_out_destructor): New.
9889         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
9890         (EXTRA_SECTION_FUNCTIONS): Likewise.
9891         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9892         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9893         * config/c4x/c4x.c: Move include of tree.h.
9894         * config/clipper/clipper.c (clix_asm_out_constructor): New.
9895         (clix_asm_out_destructor): New.
9896         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9897         (ASM_OUTPUT_DESTRUCTOR): Remove.
9898         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9899         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9900         (TARGET_ASM_CONSTRUCTOR): New.
9901         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
9902         (sco_asm_out_constructor): New.
9903         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
9904         * config/i386/svr3gas.h: Remove stack grows up code.
9905         Remove code duplicated from i386/sysv3.h.
9906         (TARGET_ASM_CONSTRUCTOR): New.
9907         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9908         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
9909         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9910         (TARGET_ASM_CONSTRUCTOR): New.
9911         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
9912         (m68hc11_asm_out_destructor): New.
9913         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
9914         (TARGET_ASM_DESTRUCTOR): New.
9915         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
9916         * config/m68k/dpx2.h: Properly undef all the bits inherited from
9917         config/svr3.h pertaining to section manipulation.
9918         * config/m68k/dpx2g.h: Remove #if 0 code.
9919         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
9920         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
9921         (ASM_OUTPUT_CONSTRUCTOR): Remove.
9922         (TARGET_ASM_CONSTRUCTOR): New.
9923         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
9924         (m88k_svr3_asm_out_constructor): New.
9925         (m88k_svr3_asm_out_destructor): New.
9926         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9927         (ASM_OUTPUT_DESTRUCTOR): Remove.
9928         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9929         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
9930         * config/rs6000/aix.h: Likewise.
9931         * config/mips/rtems64.h: Don't undef removed constructor related bits.
9932         * config/mips/vxworks.h: Likewise.
9933         * config/rs6000/lynx.h: Likewise.
9934         * config/sh/elf.h: Likewise.
9935         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
9936         (DTORS_SECTION_ASM_OP): New.
9937         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9938         (ASM_OUTPUT_DESTRUCTOR): Remove.
9939         * config/sparc/sol2-sld-64.h: Likewise.
9940         * config/vax/vax.c (vms_asm_out_constructor): New.
9941         (vms_asm_out_destructor): New.
9942         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9943         (ASM_OUTPUT_DESTRUCTOR): Remove.
9944         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9945
9946         * doc/tm.texi (@node Initialization): Update.
9947
9948 2001-08-09  Richard Henderson  <rth@redhat.com>
9949
9950         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
9951         (__do_global_dtors_aux): Use gp-relative static data to avoid
9952         one dynamic relocation.
9953         (__do_frame_setup): Register Java classes.
9954         * config/alpha/crtend.asm (__JCR_END__): New.
9955
9956 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
9957
9958         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
9959         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
9960         (GEN, STAGESTUFF): Add new files.
9961         (insn-constants.h, s-constants, tm-preds.h, s-preds,
9962         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
9963         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
9964         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
9965         as well as insn-codes.h and insn-flags.h in config.h; and no
9966         extra headers in tconfig.h and hconfig.h.
9967
9968         * gencodes.c: Eliminate code to generate predicate declarations
9969         or #defines for md-file constants.
9970         * genconstants.c, genpreds.c: New files.
9971
9972         * i386.md: Re-order guard expressions such that TARGET_64BIT
9973         comes first, when this permits better optimization.  Add
9974         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
9975         why this is desirable.
9976
9977 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
9978
9979         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
9980         (find_fde_for_dso): Remove.
9981         (_Unwind_IteratePhdrCallback): New.
9982         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
9983         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
9984
9985 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9986
9987         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
9988         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
9989
9990 2001-08-09  Graham Stott  <grahams@redhat.com>
9991
9992         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
9993         (vis_no_unit): Use it.
9994         (visualize_no_unit): Add the insn only if room exists.
9995
9996 2001-08-09  Graham Stott  <grahams@redhat.com>
9997
9998         * predict.c (estimate_probability): Replace magic numbers with
9999         appropriate enumeration.
10000
10001 2001-08-09  Graham Stott  <grahams@redhat.com>
10002
10003         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
10004         parameter.
10005         (EXTRACT_FLAGS): Likewise.
10006
10007 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
10008
10009         * config/mips/mips.c    (mips_legitimate_address_p): Check for
10010         CONST_INT in last patch.
10011
10012 2001-08-08  Anthony Green  <green@redhat.com>
10013
10014         * java/class.c (emit_register_classes): Use assemble_jcr if
10015         possible.  Keep the original mechanism as a fallback.
10016         * defaults.h (JCR_SECTION_NAME): Define if we have named section
10017         and weak symbol support.
10018         * crtstuff.c (__JCR_LIST__): Define.
10019         (__JCR_END__): Define.
10020         (_Jv_RegiserClasses): Define weak symbol if possible.
10021         (__do_global_ctors_aux): Register classes for ELF targets with
10022         weak symbol support.
10023
10024 2001-08-08  Kazu Hirata  <kazu@hxi.com>
10025
10026         * dbxout.c: Fix comment formatting.
10027         * dependence.c: Likewise.
10028         * df.c: Likewise.
10029         * diagnostic.c: Likewise.
10030         * dominance.c: Likewise.
10031         * doprint.c: Likewise.
10032         * dwarf2out.c: Likewise.
10033         * dwarfout.c: Likewise.
10034         * emit-rtl.c: Likewise.
10035         * except.c: Likewise.
10036         * explow.c: Likewise.
10037         * expmed.c: Likewise.
10038         * expr.c: Likewise.
10039         * flow.c: Likewise.
10040         * fold-const.c: Likewise.
10041         * function.c: Likewise.
10042
10043 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10044
10045         * global.c (retry_global_alloc): Avoid shadowing allocno.
10046
10047 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
10048
10049         * except.c (remove_fixup_regions): Fix typo.
10050
10051 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
10052
10053         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
10054         unsigned HOST_WIDE_INT to avoid warning.
10055         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
10056         * flow.c (set_block_for_new_insns): Likewise.
10057
10058 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
10059
10060         * sibcall.c (return_value_pseudo): New static variable.
10061         (skip_copy_to_return_value): Handle return_value_pseudo.
10062         (call_ends_block_p): Ensure that return_value_pseudo is set.
10063         (optimize_sibling_and_tail_recursive_call): Discover the
10064         load of pseudo return value in alternate exit block.
10065
10066 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10067
10068         * calls.c (ECF_ALWAYS_RETURN): New constant.
10069         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
10070         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
10071         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
10072         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
10073         * rtl.c (reg_note_name): New name.
10074         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
10075
10076 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
10077
10078         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
10079
10080 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
10081
10082         * alias.c (get_alias_set): Return a previously calculated
10083         alias set for a VAR_DECL.
10084         * function.c (gen_mem_addressof): Calculate the alias set before
10085         touching the RTL.
10086
10087 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
10088
10089         * predict.def: Set hitrates according our experimental run.
10090
10091 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
10092
10093         * i386.h (HARD_REGNO_RENAME_OK): New macro.
10094
10095 2001-08-08  H.J. Lu <hjl@gnu.org>
10096
10097         * config/mips/mips.c (mips_unique_section): New. Copied from
10098         config/mips/elf.h.
10099
10100         * config/mips/mips-protos.h (mips_unique_section): New
10101         prototype.
10102
10103         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
10104
10105         * config/mips/little.h: New. Generic little endian mips
10106         targets. Only mips*-*-linux* is converted to use it so far.
10107
10108         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
10109         (WCHAR_TYPE): Defined
10110         (WCHAR_TYPE_SIZE): Likewise.
10111         (INIT_SUBTARGET_OPTABS): Likewise.
10112         (BSS_SECTION_ASM_OP): Likewise.
10113         (SBSS_SECTION_ASM_OP): Likewise.
10114         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10115         (ASM_DECLARE_OBJECT_NAME): Likewise.
10116         (UNIQUE_SECTION): Likewise.
10117         (EXTRA_SECTIONS): Likewise.
10118         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
10119         (ASM_OUTPUT_DESTRUCTOR): Likewise.
10120         (ASM_OUTPUT_DEF): Likewise.
10121         (HANDLE_SYSV_PRAGMA): Removed.
10122         (NO_IMPLICIT_EXTERN_C): Likewise.
10123         (TARGET_MEM_FUNCTIONS): Likewise.
10124         (STARTFILE_SPEC): Likewise.
10125         (ENDFILE_SPEC): Likewise.
10126         (LIB_SPEC): Likewise.
10127         (INVOKE__main): Likewise.
10128         (CTOR_LIST_BEGIN): Likewise.
10129         (CTOR_LIST_END): Likewise.
10130         (DTOR_LIST_BEGIN): Likewise.
10131         (DTOR_LIST_END): Likewise.
10132         (SET_ASM_OP): Likewise.
10133         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10134         (ASM_OUTPUT_DEF): Likewise.
10135         (ASM_OUTPUT_IDENT): Likewise.
10136
10137         * config/mips/mips.h (ASM_SPEC): Undefine before define.
10138         (CPLUSPLUS_CPP_SPEC): Likewise.
10139         (ASM_APP_ON) Redefine only if not defined.
10140         (ASM_APP_OFF): Likewise.
10141         (ASM_OUTPUT_SOURCE_LINE): Likewise.
10142         (ASM_OUTPUT_IDENT): Likewise.
10143
10144         * config.gcc: Update tm_file for Linux/mips.
10145
10146 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
10147
10148         * cselib.c (cselib_record_sets): If insn is predicated, turn
10149         sources into IF_THEN_ELSEs.
10150
10151         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
10152         Turn into define_insn_and_split.
10153
10154         * sched-deps.c: Include "cselib.h".
10155         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
10156         Use cselib to turn memory addresses into VALUEs.
10157         (sched_analyze): Call cselib_init/cselib_finish if necessary.
10158         * sched-int.h (struct sched_info): New member USE_CSELIB.
10159         * sched-ebb.c (ebb_sched_info): Initialize it.
10160         * sched-rgn.c (rgn_sched_info): Likewise.
10161         * Makefile.in (sched-deps.o): Update dependencies.
10162
10163         * cselib.h (cselib_subst_to_values): Declare.
10164         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
10165         that have no value and autoincs to be handled by generating a new
10166         dummy value.
10167
10168 2001-08-08  Graham Stott  <grahams@redhat.com>
10169
10170         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
10171         within fixed length SEQUENCE.
10172
10173 2001-08-08  Graham Stott  <grahams@redhat.com>
10174
10175         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
10176         (diagnostic_prefixing_rule): Likewise.
10177         (diagnostic_line_cutoff): Likewise.
10178         (diagnostic_kind_count): Likewise.
10179
10180 2001-08-08  Graham Stott  <grahams@redhat.com>
10181
10182         * alias.c (find_base_decl): Delete redundent assignment.
10183
10184 2001-08-08  Graham Stott  <grahams@redhat.com>
10185
10186         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
10187         (abs): Uppercase and paranthesize macro parameter.
10188         (MEM_DEPENDENCY): Add whitespace.
10189
10190 2001-08-08  Graham Stott  <grahams@redhat.com>
10191
10192         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
10193         failure check for CONST_INT
10194
10195 2001-08-08  Graham Stott  <grahams@redhat.com>
10196
10197         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
10198         (libcall_dead_p): Likewise.
10199
10200         (mark_used_regs): Constify fmt.
10201         (find_use_as_address): Likewise.
10202
10203 2001-08-08  Graham Stott  <grahams@redhat.com>
10204
10205         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
10206          parameter.
10207
10208 2001-08-08  Graham Stott  <grahams@redhat.com>
10209
10210         * combine.c (combine_simplify_rtx): Update comment and
10211         remove erroneous test.
10212
10213 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10214
10215         * cppinit.c (cpp_finish): Pop the final buffer without comment.
10216         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
10217         take care to avoid multiple no-newline at EOF warnings in that
10218         case.
10219
10220 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
10221
10222         * calls.c (expand_call): Do not emit INSN_SETJMP note.
10223         (emit_library_call_value_1): Likewise.
10224         (emit_call_1): Emit REG_SETJMP note.
10225         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
10226         of INSN_SETJMP
10227         * cselib.c (cselib_process_insn): Likewise.
10228         * flow.c (propagate_block): Likewise.
10229         * loop.c (find_and_verify_loops): Likewise.
10230         * reload.c (find_equiv_regs): Likewise.
10231         * reload1.c (reload): Likewise.
10232         * resource.c (mark_referenced_resources,
10233         mark_set_resources): Likewise.
10234         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
10235         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
10236         * haifa-sched.c (unlink_other_notes): Likewise.
10237         (reemit_notes): Likewise.
10238         * sched-ebb.c (sched_ebb): Likewise.
10239         * sched-rgc.c (sched_region): Likewise.
10240         * rtl.c (note_insn_name): Likewise.
10241         (reg_note_name): Add REG_SETJMP
10242         * rtl.h (reg_note): Add REG_SETJMP.
10243         (insn_note): Remove NOTE_INSN_SETJMP.
10244
10245         * profile.c (branch_prob): Add fake edges for setjmp.
10246
10247 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
10248
10249         * config.gcc: Quote target_cpu_default2 correctly for
10250         powerpc*-*-* targets.
10251
10252 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
10253
10254         * cpplib.h, line-map.h: Update comments.
10255         * cppmain.c (printer_init): Move inline.
10256         (maybe_print_line, print_line): Take a map pointer.
10257         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
10258         (cb_file_change): Don't use prior value of print.map.
10259
10260 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
10261
10262         * doc/install.texi: Document fine-grained multilib configuration.
10263
10264 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10265
10266         * rtlanal.c (find_first_parameter_load): Call note_stores
10267         only on the instructions.
10268
10269 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
10270
10271         * alias.c (nonlocal_mentioned_p):
10272         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
10273         * calls.c (emit_call_1): Likewise.
10274         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
10275         * cselib.c (cselib_process_insn): Likewise.
10276         * df.c (df_insns_modify): Likewise.
10277         * flow.c (need_fake_edge_p): Likewise.
10278         (propagate_one_insn): Likewise.
10279         * haifa-sched.c (reemit_notes): Likewise.
10280         * integrate.c (copy_insn_list): Likewise.
10281         * jump.c (delete_prior_computation): Likewise.
10282         * local-alloc.c (validate_equiv_mem): Likewise.
10283         * loop.c (scan_loop): Likewise.
10284         * predict.c (estimate_probability): Likewise.
10285         * reload.c (reload): Likewise.
10286         * sched-deps (sched_analyze): Likewise.
10287         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
10288         * gcse.c (compute_hash_table): Likewise.
10289         (mark_call): Likewise.
10290         (store_killed_in_insn): Likewise.
10291
10292 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
10293
10294         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
10295
10296 2001-08-06  Richard Henderson  <rth@redhat.com>
10297
10298         * varasm.c (assemble_gc_entry): Remove.
10299         * output.h: Likewise.
10300
10301 2001-08-06  Richard Henderson  <rth@redhat.com>
10302
10303         * varasm.c (assemble_constructor): Take a symbol_ref and a
10304         priority instead of a bare string.  Move priority handling
10305         here from cp/decl2.c.
10306         * output.h: Update decls.
10307
10308         * c-decl.c (c_expand_body): Update calls to assemble_constructor
10309         and assemble_destructor.
10310         * profile.c (output_func_start_profiler): Likewise.
10311         * objc/objc-act.c (finish_objc): Likewise.
10312         (build_module_descriptor): Return the symbol not the symbol name.
10313
10314 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
10315
10316         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
10317         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
10318         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
10319         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
10320         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
10321         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
10322
10323 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10324
10325         * cpperror.c (print_containing_files): Moved to line-map.c.
10326         (print_location): line-map.c handles re-listing or otherwise.
10327         * cpphash.h (struct lexer_state): Remove next_bol.
10328         (struct cpp_buffer): Remove include_stack_listed.
10329         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
10330         Remove faked buffer handling.
10331         (_cpp_do_file_change): Tweak.
10332         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
10333         * cppmain.c (struct printer): Remove filename.
10334         (print_line, cb_file_change): Update accordingly.
10335         * line-map.c: Include intl.h.
10336         (init_line_maps): Initialize last_listed.
10337         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
10338         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
10339         (print_containing_files): New.
10340         * line-map.h (struct line_maps): New member last_listed.
10341         (print_containing_files, INCLUDED_FROM): New.
10342         * Makefile.in: Update.
10343         * po/POTFILES.in: Add line-map.c.
10344
10345 2001-08-06  Richard Henderson  <rth@redhat.com>
10346
10347         * except.c (convert_from_eh_region_ranges_1): Never mark
10348         USE or CLOBBER insns as throwing.
10349
10350         * expr.c (store_constructor): Don't clobber memory targets.
10351
10352 2001-08-06  Andreas Jaeger  <aj@suse.de>
10353
10354         * profile.c (branch_prob): Remove unused variable insn.
10355
10356         * Makefile.in (local-alloc.o): Add dependency on except.h.
10357
10358         * local-alloc.c: Include except.h for can_throw_internal prototype.
10359
10360 2001-08-06  Richard Henderson  <rth@redhat.com>
10361
10362         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
10363         * function.c (expand_main_function): Implement it.
10364         * doc/tm.texi: Document it.
10365
10366 2001-08-06  Stan Shebs  <shebs@apple.com>
10367
10368         * doc/install.texi: Document powerpc-*-darwin* details.
10369
10370 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
10371
10372         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
10373         (ASM_CPU_SPEC): Move back to rs6000.h
10374         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
10375
10376         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
10377
10378         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
10379         readded.
10380
10381         * config/rs6000/linux64.h: Ditto.
10382
10383         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10384         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
10385         nothing.
10386
10387         Remove accidently readded definitions of FUNCTION_PROLOGUE,
10388         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
10389
10390         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10391         to rs6000.h
10392
10393 2001-08-05  Richard Henderson  <rth@redhat.com>
10394
10395         * local-alloc.c (update_equiv_regs): Do not move insns that
10396         can throw.
10397
10398 2001-08-05  Jan Hubicka  <jh@suse.cz>
10399
10400         * Makefile.in (reload1.o): Add dedendancy on except.h
10401         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
10402         prototypes.
10403         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
10404         indicating wehther edges has been cleaned up.
10405         * reload1.c: Inlucde except.h
10406         (fixup_abnormal_edges): Accept deleted insns.
10407         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
10408         after combine.
10409
10410 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10411
10412         * cpplib.c (do_line): Correct line number after pop_buffer.
10413
10414 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10415
10416         PR preprocessor/3824
10417         * line-map.c: Update comments.
10418         * line-map.h: Update comments.
10419         * tradcif.y: Don't consider large numbers unsigned.
10420
10421 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10422
10423         PR preprocessor/3081
10424         * c-lex.c (map): New.
10425         (cb_file_change): Update map and use it.
10426         (cb_def_pragma, cb_define, cb_undef): Use map and line.
10427         (c_lex): Update to use map.
10428         * cpperror.c (print_location): Move to using logical line numbers.
10429         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
10430         (cpp_make_system_header): Similarly.
10431         (_cpp_execute_include): Stop line numbering hacks.  Store the
10432         line we will return to.
10433         * cpphash.h (CPP_BUF_LINE): Remove.
10434         (struct cpp_buffer): Remove lineno and pseudo_newlines.
10435         Add map and return_to_line.
10436         (_cpp_do_file_change): Update.
10437         * cppinit.c (cpp_start_read): Update line kludge.
10438         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
10439         (trigraph_ok): Use logical line numbers for diagnostics.
10440         (skip_block_comment): Likewise.
10441         (skip_whitespace): Likewise.
10442         (skip_line_comment): Use pfile->line instead.
10443         (_cpp_lex_token): Update to use logical line numbering exclusively.
10444         Handle BOL locally.  Accept new lines in directives, but keep
10445         pfile->line decremented.  Diagnostics use logical lines.  Update
10446         directive handling.
10447         * cpplib.c (SEEN_EOL): New.
10448         (skip_rest_of_line, check_eol): Use it.
10449         (end_directive): Increase line number when accepting the newline
10450         at the end of a directive.
10451         (run_directive): Simplify.
10452         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
10453         (_cpp_do_file_change): Update to take buffer line number as an
10454         argument, and store the current map in the cpp_reader.  Remove
10455         line number kludges.
10456         (_cpp_do__Pragma): Restore output position after a _Pragma.
10457         (cpp_push_buffer): Don't set output line or lineno.
10458         (_cpp_pop_buffer): Transfer more info from a faked buffer.
10459         Remove line kludge.  Set output_line.
10460         * cppmacro.c (builtin_macro): Update handling of __LINE__.
10461         (parse_arg): Use logical lines.
10462         (save_lookahead_token): Save EOFs too now.
10463         * cppmain.c (struct printer): Fix comments.
10464         (printer_init): Simplify, let caller do errors.
10465         (scan_translation_unit, check_multiline_token, dump_macro): Update.
10466         (maybe_print_line): Simplify.
10467         (print_line): Don't print a linemarker if -P.
10468         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
10469         (cb_file_change): Simplify.
10470         * line-map.h (LAST_SOURCE_LINE): Fix.
10471         (CURRENT_LINE_MAP): New.
10472
10473 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
10474
10475         * doloop.c (doloop_modify_runtime): Properly compute number of
10476         iterations if loop was unrolled.
10477
10478         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
10479         if their CSELIB_VAL_PTRs are.
10480
10481         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
10482         (setup_spill_pointers): Initialize it.
10483         (spill_restore_mem): Set it.
10484         (do_spill, do_restore): Use it to add REG_INC note.
10485         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
10486
10487         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
10488         asms if other insns are available.
10489
10490         * config/ia64/ia64.c (condop_operator): New predicate.
10491         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
10492         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
10493         patterns.
10494
10495         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
10496         temporary register than directly using a MEM.
10497
10498 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10499
10500         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
10501         parameter in last change.
10502
10503 2001-08-04  Zack Weinberg  <zackw@panix.com>
10504
10505         * sparc.md: Don't use #if inside C test expression.
10506
10507 2001-08-04  Richard Henderson  <rth@redhat.com>
10508
10509         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
10510
10511 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10512
10513         * cpphash.h (struct cpp_reader): New member directive_line.
10514         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
10515         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
10516         do_pragma): Pass line to callbacks.
10517         (start_directive): Record line of directive.
10518         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
10519         cb_include): Similarly.
10520         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
10521         Similarly.
10522
10523 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10524
10525         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
10526         comment.
10527
10528 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10529
10530         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
10531
10532         * reload1.c (fixup_abnormal_edges): New static function.
10533         (reload): Use it.
10534
10535         * flow.c (need_fake_edge_p): New function.
10536         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
10537         avoid call insn to be very last insn in the insn stream.
10538
10539         * profile.c (branch_prob): Call flow_call_edges_add instead of
10540         doing that by hand; cleanup cfg to re-merge basic blocks once
10541         we are done.
10542
10543 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10544
10545         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
10546         are also on line-map.h.
10547         * cppfiles.c (stack_include_file): Update.
10548         * cpphash.h (struct cpp_buffer): New member return_at_eof.
10549         (_cpp_pop_buffer): New.
10550         * cppinit.c (cpp_destroy, cpp_finish): Update.
10551         (do_includes): Mark each buffer to return at EOF.
10552         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
10553         return as requested.
10554         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
10555         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
10556         * cpplib.h (cpp_pop_buffer): Remove.
10557         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
10558         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
10559         buffers.
10560         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
10561         to pop buffers.
10562         (do_preprocessing): Update.
10563         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
10564         * c-parse.in (_yylex): Similarly.
10565         * scan-decls.c (scan_decls): Similarly.
10566         * line-map.h: Update comments.
10567
10568         * objc/Make-lang.in (objc-act.o): Update dependencies.
10569
10570 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10571
10572         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
10573         and soft register for operand 0.
10574         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
10575
10576 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10577
10578         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
10579         register for operand 0.
10580         ("bitcmpqi_z_used"): Allow memory for operand 0.
10581         (split "bitcmpqi"): New split to handle address reg as operand 1.
10582
10583 2001-08-04  Andreas Jaeger  <aj@suse.de>
10584
10585         * gcse.c: Revert Daniel's last patch.
10586
10587 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
10588
10589         * sparc-protos.h: Add prototypes for fp_zero_operand and
10590         reg_or_0_operand.
10591         * sh-protos.h: Add prototype for fpul_operand.
10592
10593 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
10594
10595         * doc/extend.texi (Other Builtins): Fix typo in last change.
10596
10597 2001-08-03  Richard Henderson  <rth@redhat.com>
10598
10599         * target.h (gcc_target): Add asm_out.named_section,
10600         section_type_flags, have_named_sections.
10601         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
10602         (TARGET_HAVE_NAMED_SECTIONS): New.
10603         (TARGET_SECTION_TYPE_FLAGS): New.
10604
10605         * Makefile.in (toplev.o): Depend on TARGET_H.
10606         (varasm.o, dbxout.o): Likewise.
10607         * c-common.c (decl_attributes): Check targetm.have_named_sections
10608         instead of ifdef ASM_OUTPUT_SECTION_NAME.
10609         * dbxout.c (dbxout_function_decl): Likewise.
10610         (dbxout_function_end): Likewise.
10611         * toplev.c (compile_file): Likewise.
10612         * varasm.c (exception_section): Likewise.
10613         * cp/decl2.c (finish_objects): Likewise.
10614
10615         * defaults.h (EH_FRAME_SECTION): Remove.
10616         (EH_FRAME_SECTION_ASM_OP): Remove.
10617         (EH_FRAME_SECTION_NAME): New.
10618         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
10619         (UNIQUE_SECTION_P): Remove.
10620         * dwarf2out.c (SECTION_FORMAT): Remove.
10621         (ASM_OUTPUT_SECTION): Remove.
10622         (output_call_frame_info): Use named_section_flags.
10623         (output_comp_unit, dwarf2out_start_source_file): Likewise.
10624         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
10625         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
10626         * varasm.c (in_eh_frame, eh_frame_section): Remove.
10627         (named_section_flags): New.
10628         (named_section): Use it and targetm.section_type_flags.
10629         (resolve_unique_section): New.
10630         (assemble_start_function): Use it.
10631         (asm_emit_uninitialised, assemble_variable): Likewise.
10632         (default_section_type_flags): New.
10633         (default_no_named_section, default_elf_asm_named_section): New.
10634         (default_coff_asm_named_section, default_pe_asm_named_section): New.
10635         * output.h: Update varasm.c decls.
10636         (SECTION_*): New flags.
10637
10638         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
10639         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
10640
10641         * config/elfos.h (UNIQUE_SECTION_P): Remove.
10642         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
10643         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
10644         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10645         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
10646         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
10647         * config/mips/elf.h, config/mips/elf64.h: Likewise.
10648         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
10649         * config/pa/pa64-hpux.h,
10650
10651         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
10652         (TARGET_ASM_NAMED_SECTION): New.
10653         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
10654         * config/alpha/vms.h, config/arm/coff.h: Likewise.
10655         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
10656         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
10657         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
10658         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
10659         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10660         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
10661         * config/i386/sco5.h, config/i386/win32.h: Likewise.
10662         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
10663         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
10664         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
10665         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
10666         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
10667         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
10668         * config/sparc/sysv4.h: Likewise.
10669
10670         * config/nextstep.h: Error until named sections implemented.
10671
10672         * config/a29k/a29k.c (a29k_asm_named_section): New.
10673         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
10674         (vms_section_type_flags, vms_asm_named_section): New.
10675         * config/arm/arm.c (arm_elf_asm_named_section): New.
10676         * config/avr/avr.c (asm_output_section_name): Remove.
10677         * config/avr/avr-protos.h: Update.
10678         * config/c4x/c4x.c (c4x_asm_named_section): New.
10679         * config/h8300/h8300.c (h8300_asm_named_section): New.
10680         * config/i386/i386.c (sco_asm_named_section): New.
10681         * config/i386/winnt.c (SECTION_PE_SHARED): New.
10682         (i386_pe_section_type_flags): New.
10683         (i386_pe_asm_named_section): New.
10684         * config/i386/i386-protos.h: Update.
10685         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
10686         * config/mcore/mcore.c (mcore_asm_named_section): New.
10687         * config/mips/mips.c (iris6_asm_named_section): New.
10688         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
10689         instead of UNIQUE_SECTION_P.
10690         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
10691         (xcoff_asm_named_section): New.
10692         * config/sh/sh.c (sh_asm_named_section): New.
10693         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
10694
10695         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
10696         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
10697         (EH_FRAME_SECTION_NAME): New.
10698         (EXCEPTION_SECTION): New.
10699         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
10700         (DEBUG_*_SECTION): Remove.
10701         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
10702         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
10703         (EH_FRAME_SECTION_ASM_OP): Remove.
10704
10705         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
10706         (ASM_OUTPUT_SECTION_NAME): Remove.
10707         (TARGET_ASM_NAMED_SECTION): New.
10708         (TARGET_HAVE_NAMED_SECTIONS): New.
10709         (TARGET_SECTION_TYPE_FLAGS): New.
10710         (EH_FRAME_SECTION_ASM_OP): Remove.
10711         (EH_FRAME_SECTION_NAME): New.
10712
10713 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
10714
10715         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
10716         for complex expressions when cfun == 0.
10717         * doc/extend.texi: Document that __builtin_constant_p can be
10718         used in data initializers as well as functions.
10719
10720 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
10721
10722         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
10723         variable I locally, instead of expecting a declaration in the
10724         calling context.
10725
10726 2001-08-03  Richard Henderson  <rth@redhat.com>
10727
10728         * except.c (collect_one_action_chain): Add an explicit cleanup
10729         action if regions surrounding a catch were encoded entirely
10730         within the call-site entry.
10731
10732 2001-08-03  Richard Henderson  <rth@redhat.com>
10733
10734         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
10735         don't take REGNO of a non-register.
10736
10737 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10738
10739         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
10740         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
10741         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
10742         (__gthread_mutex_init_function): New function for mutex initialization.
10743
10744 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10745
10746         * Makefile.in: Revert screwed up commit.
10747
10748 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
10749
10750         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
10751         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
10752         merged by linker script to get a final _exit().
10753         (__do_global_dtors): New for destructor handling in specific exit
10754         section.
10755         (__do_global_ctors): New for constructors in specific install section.
10756         (__map_data_section): Map data sections before running constructors.
10757         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
10758         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
10759         (DTORS_SECTION_ASM_OP): Likewise.
10760         (CTORS_SECTION_FUNCTION): Define to force a reference to
10761         __do_global_ctors.
10762         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
10763
10764 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10765
10766         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
10767
10768         * Makefile.in: Add df.h to gcse.c dependencies.
10769
10770 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10771
10772         * varasm.c (output_constant_def_contents): Use for the length of a
10773         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
10774         depending on which is larger.
10775
10776 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
10777
10778         * gcse.c: Include df.h for use as a dataflow analyzer.
10779         Remove regvec.
10780         Declaration of reg_set_info: gone.
10781         New df_analyzer variable used by store motion.
10782         (reg_set_info): Deleted.
10783         (mark_mem_regs): New function, analyze regs used by a mem.
10784         (store_ops_ok): Use dataflow analyzer results to determine if
10785         necessary regs are changed in the block.
10786         (find_moveable_store): Remove check for symbol ref, we can handle
10787         much more complex expressions now.
10788         (compute_store_table): Remove most of the code, it's unnecessary
10789         now that the dataflow analyzer records the info for us.
10790         (store_killed_after): Add parameter to say whether to do the
10791         store_ops_okay test, used to speed up testing when we already know
10792         the answer, and just want to know if the store itself was killed.
10793         (build_store_vector): Largely rewritten to calculate the various
10794         vectors properly, and somewhat optimized.
10795         (store_motion): Init the df_analyzer, get REG_DEF chains.
10796         Also handle trapping expressions (since mems almost always trap)
10797         (simple_mem): Redefine what a simple mem is.
10798
10799 2001-08-03  DJ Delorie  <dj@redhat.com>
10800
10801         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
10802         set from a constant part of the condition.
10803
10804 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
10805
10806         * mkdeps.c (deps_add_default_target): Make local variable
10807         ``start'' a const char pointer.
10808         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
10809
10810 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10811
10812         * doc/install.texi (Configuration): Fix markup.
10813         (Specific, i?86-*-udk): Likewise.
10814         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
10815         --with-gnu-ld.
10816         Document --enable-threads and --enable-libgcj status.
10817         (Specific, mips-sgi-irix*): Canonicalize triples.
10818         (Specific, mips-sgi-irix5): Warn about problems with this config.
10819         Mention required GNU as patch.
10820         Native assembler problems are fixed.
10821         (Specific, mips-sgi-irix6): Update O32 ABI support status.
10822         Document --enable-threads and --enable-libgcj status.
10823
10824 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10825
10826         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
10827         of mkinstalldirs.
10828
10829 2001-08-03  Richard Henderson  <rth@redhat.com>
10830
10831         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
10832         constant data.
10833
10834 2001-08-03  Richard Henderson  <rth@redhat.com>
10835
10836         * rtlanal.c (find_first_parameter_load): Stop if we
10837         reach a CODE_LABEL at BOUNDARY.
10838
10839 2001-08-03  Richard Henderson  <rth@redhat.com>
10840
10841         * config/alpha/alpha.md (force_movdi): New insn.
10842         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
10843         Tweek FRP marking of VMS prologue insns.
10844         * config/alpha/vms.h (EPILOGUE_USES): New.
10845
10846 2001-08-02  Richard Henderson  <rth@redhat.com>
10847
10848         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
10849
10850 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
10851
10852         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
10853         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
10854         config/convex/convex.h, config/d30v/d30v.c,
10855         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
10856         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
10857         config/mips/mips.h, config/mn10200/mn10200.h,
10858         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
10859         config/v850/v850.h, config/vax/openbsd.h,
10860         config/vax/openbsd1.h, config/vax/ultrix.h,
10861         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
10862         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
10863         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
10864         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
10865         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
10866         in comments and documentation.
10867
10868 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10869
10870         * line-map.c: New.
10871         * line-map.h: New.
10872         * Makefile.in (line-map.o): New.
10873         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
10874         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
10875         * cpperror.c (print_containing_files): Similarly.
10876         (print_location): Update.  Don't output a space before _Pragma.
10877         * cppfiles.c (stack_include_file): Set to line 1 immediately.
10878         (stack_include_filee, cpp_make_system_header): Update.
10879         (_cpp_execute_include): Get logical line number right for calling
10880         as-yet-unterminated #include.
10881         * cpphash.h (struct cpp_reader): Add line_maps.
10882         (_cpp_do_file_change): Update.
10883         * cppinit.c (cpp_create_reader): Initialize line maps.
10884         (cpp_destroy): Destroy line maps.
10885         (cpp_start_read): Get logical line number right.
10886         * cpplex.c (parse_string): Only warn once for multi-line strings.
10887         Use boolean variable for null warning.
10888         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
10889         already.
10890         (do_include_common): End the directive early.
10891         (do_line): Don't warn about out-of-range lines in preprocessed
10892         source.  Update.  Remove unused variables.
10893         (_cpp_do_file_change): Update for new line mapping.
10894         (pragma_cb): New typedef.
10895         (cpp_register_pragma): Stop looking ahead before calling the
10896         handler.  Clean up.
10897         (do_pragma_system_header): End directive early.
10898         (cpp_get_line_maps): New.
10899         (cpp_pop_buffer): Fudge logical line.  Update.
10900         * cpplib.h: Include line-map.h
10901         (enum cpp_fc_reason): Remove.
10902         (struct cpp_file_change): Update.
10903         (cpp_get_line_maps): New.
10904         * cppmain.c (struct_printer): New member map.
10905         (cb_file_change): Update for new mappings.
10906         * fix-header.c (cb_file_change): Similarly.
10907
10908 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10909
10910         * Makefile.in (libgcc.mk): Define mkinstalldirs.
10911         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
10912
10913 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
10914
10915         * config/vax/vax.c: include expr.h.
10916
10917 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
10918
10919         * Makefile.in ($(srcdir)/configure): Only rebuild in
10920         maintainer mode.
10921         ($(srcdir)/config.in): Only define in maintainer mode.
10922         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
10923
10924 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
10925
10926         * doc/install.texi (Install GCC: Binaries): Update Bull info.
10927
10928 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10929
10930         * gcc.c (set_collect_gcc_options): New function, split out from
10931         main.
10932         Ignore elided switches.
10933         (do_spec_1): Invoke before executing command.
10934         (set_input): Export.
10935         Move declaration ...
10936         * gcc.h (set_input): ... here.
10937         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
10938         file.
10939
10940 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
10941
10942         Kill -fhonor-std.
10943         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
10944         interaction.
10945         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
10946
10947 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
10948
10949         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
10950         for the unnamed instructions it expands to.
10951
10952 2001-08-02  Richard Henderson  <rth@redhat.com>
10953
10954         * regclass.c (call_really_used_regs): Conditionally define.
10955         (init_reg_sets_1): Don't use it if not defined.
10956         (fix_register): Similarly, don't set it.
10957
10958 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10959
10960         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
10961         Correct comment that had been missed in the previous change.
10962
10963 2001-08-01  Stan Shebs  <shebs@apple.com>
10964
10965         * config/darwin.c (machopic_stub_name): Try matching by name.
10966         (update_stubs): New function.
10967         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
10968         unconditionally.
10969
10970 2001-08-01  Richard Henderson  <rth@redhat.com>
10971
10972         * except.c (output_function_exception_table): Use assemble_align.
10973         * varasm.c (assemble_eh_label): Remove.
10974         (assemble_eh_align, assemble_eh_integer): Remove.
10975
10976 2001-08-01  Robert Lipe  <robertl@caldera.com>
10977
10978         * dwarfout.c: Remove reference to README.DWARF.
10979
10980 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
10981
10982         * regclass.c (call_really_used_regs): New array for registers which
10983         are actually used by a call.
10984         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
10985         new array.
10986         (fix_register): Set call_really_used too.
10987         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
10988         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
10989
10990 2001-08-01  Richard Henderson  <rth@redhat.com>
10991
10992         * read-rtl.c (read_name): Consider \r whitespace.
10993
10994 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
10995
10996         * config.gcc: Recognize powerpc-*-netbsd*.
10997
10998         * doc/install.texi (Host/target specific installation notes for
10999         GCC): Mention powerpc-*-netbsd*.
11000
11001         * config/rs6000/netbsd.h: New file.
11002         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
11003         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
11004         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
11005         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
11006         (TARGET_VERSION): Redefine.
11007
11008         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
11009         mcall-netbsd as a match for mcall-sysv.
11010         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
11011         (ncrti.S, ncrtn.S): New targets.
11012         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
11013
11014         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
11015         "netbsd' as a V4 ABI.
11016         (ASM_SPEC): Check for -mcall-netbsd.
11017         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
11018         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
11019         (LIB_SPEC, ENDFILE_SPEC): Ditto.
11020         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
11021         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
11022         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
11023         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
11024
11025         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
11026         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
11027
11028 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
11029
11030         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
11031         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
11032         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
11033         including "unwind-pe.h".
11034
11035 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
11036
11037         * rs6000.md (define_splits): Kill unused constraints.
11038
11039 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
11040                               Jan Hubicka  <jh@suse.cz>
11041
11042         * function.c (thread_prologue_and_epilogue_insns): Kill code
11043         dealing with non-existent CFG.
11044
11045 2001-08-01  Kazu Hirata  <kazu@hxi.com>
11046
11047         * alias.c: Fix comment formatting.
11048         * bitmap.c: Likewise.
11049         * builtins.c: Likewise.
11050         * calls.c: Likewise.
11051         * c-common.c: Likewise.
11052         * c-decl.c: Likewise.
11053         * c-dump.c: Likewise.
11054         * c-lex.c: Likewise.
11055         * collect2.c: Likewise.
11056         * combine.c: Likewise.
11057         * conflict.c: Likewise.
11058         * cppfiles.c: Likewise.
11059         * cppinit.c: Likewise.
11060         * cpplex.c: Likewise.
11061         * cpplib.c: Likewise.
11062         * cppmacro.c: Likewise.
11063         * cppspec.c: Likewise.
11064         * c-pragma.c: Likewise.
11065         * crtstuff.c: Likewise.
11066         * cse.c: Likewise.
11067         * cselib.c: Likewise.
11068         * c-semantics.c: Likewise.
11069         * c-typeck.c: Likewise.
11070
11071 2001-08-01  H.J. Lu <hjl@gnu.org>
11072
11073         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
11074
11075 2001-08-01  H.J. Lu <hjl@gnu.org>
11076
11077         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
11078
11079 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
11080
11081         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
11082         contextualizing Objective-C class name lookup by the lexer.
11083         (typespec_reserved_nonattr): Disable ObjC class name lookup after
11084         seeing a TYPESPEC.
11085         (protocoldef): Add support for forward @protocol declarations.
11086         (yylexname): Suppress ObjC class name lookup in certain contexts;
11087         re-enable after lookup is complete.
11088         (_yylex): Re-enable ObjC class name lookup when certain
11089         punctuation marks are seen.
11090
11091         * objc/objc-act.c (check_protocol_recursively): New function used
11092         for finding circular dependencies in protocols.
11093         (objc_declare_protocols): New function for handling forward
11094         @protocol declarations.
11095         (receiver_is_class_object): Detect the case when 'self' is used
11096         inside of a class method.
11097         (build_message_expr): Issue a warning if class method is desired
11098         but instance method is found instead.
11099         (conforms_to_protocol): Streamline.
11100         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
11101         protocol Foo, even if 'Bar foo' does not.
11102         (check_protocols): Streamline.
11103         (start_protocol): Add checks for circular and duplicate protocol
11104         definitions.
11105         (encode_aggregate_within): For typedefs of structs, encode the
11106         underlying struct.
11107         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
11108         (objc_declare_protocols): New prototype.
11109
11110 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11111
11112         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
11113         * cpplex.c (handle_newline): Update prototype.  Maintain logical
11114         line number.
11115         (skip_escaped_newlines, skip_block_comment, parse_string):
11116         Update accordingly.
11117         (_cpp_lex_token): Update, and store token position within the token.
11118         * cpplib.h (struct cpp_token): Add line and column entries.
11119         * cppmacro.c (replace_args): Position stringified tokens correctly.
11120
11121 2001-08-01  Andreas Jaeger  <aj@suse.de>
11122
11123         * basic-block.h: Add prototype for last_loop_beg_note.
11124
11125 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
11126
11127         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
11128         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
11129         comment.
11130         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
11131         while handling WITH_CLEANUP_EXPR node. Use second operand calling
11132         expand_decl_cleanup.
11133         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
11134         the first RTX.
11135         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
11136         operand while calling simple_cst_equal.
11137         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
11138         operand is the cleanup expression, the third is the RTL_EXPR.
11139         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
11140
11141 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
11142
11143         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
11144
11145 2001-07-31  matthew green  <mrg@eterna.com.au>
11146
11147         * config.gcc (i386-*-netbsdelf): New description.
11148         * config/i386/netbsd-elf.h: New file.
11149
11150 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
11151
11152         * loop.c (check_dbra_loop): Use single_set to compute
11153         jump_label.
11154
11155 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
11156
11157         PowerPC reorg and support for powerpc64-*-linux*.
11158
11159         Also fixes emitting of constants on 32 bit and 64 bit
11160         platforms.
11161
11162         * config.gcc: powerpc64-*-linux* is a new target.
11163         Things that needed aix.h now also include xcoff.h
11164
11165         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
11166         xcoff.h.
11167         Move AIX specific stuff into aix.h.
11168         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
11169         with more than just XCOFF now.
11170         (SET_ASM_OP): Remove, now defined where needed.
11171         (FUNCTION_PROLOGUE): New macro definition.
11172         (FUNCTION_EPILOGUE): New macro definition.
11173         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
11174
11175         * config/rs6000/xcoff.h: New file.
11176
11177         * config/rs6000/linux64.h: New file.
11178
11179         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
11180
11181 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
11182
11183         * rs6000.c (print_operand_address): Handle ELF syntax.
11184         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
11185         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
11186         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
11187
11188 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
11189
11190         * rs6000.c (rs6000_override_options): Only disable
11191         flag_function_sections for XCOFF.
11192         (exact_log2_cint_operand): New predicate.
11193         (reg_or_{add,sub}_cint64_operand): New predicates.
11194         (add_operand): Compare CONST_INT with fewer function calls.
11195         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
11196         (print_operand, case 'p'): Ensure positive operand.
11197         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
11198         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
11199         (PREDICATE_CODES): Add new predicates.
11200         * rs6000.md (addsi3): Split 32-bit constants more correctly.
11201         (divsi3, modsi3): Ensure positive power-of-2.
11202         (adddi3): Use new predicate.  Split 32-bit constants more
11203         correctly.  Re-arrange splitter to handle any constant.
11204         (subdi3): Use new predicate.
11205         (divdi3, moddi3): Ensure positive power-of-2.
11206         (movdi): Use rs6000_emit_set_const.
11207         (load_toc_v4_pic_di): Delete.
11208
11209 2001-07-31  Graham Stott <grahams@redhat.com>
11210
11211         * function.c (pad_below): Revert 2001-07-26 patch.
11212
11213 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11214
11215         * reg-stack (convert_regs_1): Fix best edge condition.
11216
11217 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
11218
11219         * jump.c (duplicate_loop_exit_test): Better test for jumps
11220         entering the loop; create loop pre_header.
11221
11222 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
11223
11224         * doc/install.texi: Add s390 and s390x as new targets.
11225         * doc/invoke.texi: Add documentation of S/390 and zSeries
11226         target options.
11227         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
11228
11229 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11230
11231         * config/m68k/m68k.md: Replace all general_operand with
11232         nonimmediate_operand for all destinations.
11233         * config/m68k/m68k.c (not_sp_operand): Likewise.
11234
11235 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
11236
11237         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
11238
11239 2001-07-30  Richard Henderson  <rth@redhat.com>
11240
11241         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
11242         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
11243
11244 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
11245
11246         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
11247         Add missing doc strings
11248         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
11249         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
11250
11251 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
11252
11253         * i386.c (ix86_output_main_function_alignment_hack): New function.
11254         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
11255
11256         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
11257         edges by EDGE_DFS_BACK flag.
11258         (dump_edge_info): Add dfs_back flag.
11259         * basic-block.h (EDGE_DFS_BACK): New constant.
11260         (mark_dfs_back_edges): Declare.
11261         * alias.c (loop_p): Remove.
11262         (mark_constant_function): Use mark_dfs_back_edges.
11263
11264         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
11265         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
11266         (compensate_edge): Break out from ...
11267         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
11268         (convert_regs_2): Set block_done once block is really done;
11269         Do updating of the predecessors counts.
11270
11271         * toplev.c (rest_of_compilation): Recompute block_for_insn
11272         before post-reload cfg_cleanup.
11273         * function.c (thread_prologue_epilogue_insns):
11274         Call set_block_for_new_insns when emitting prologue directly.
11275
11276 2001-07-30  Andreas Jaeger  <aj@suse.de>
11277
11278         * jump.c: Add prototype for mark_modified_reg.
11279
11280         * cse.c (set_live_p): Add unused attribute.
11281
11282         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
11283         overflow.
11284         (scan_for_source_files): Use long for count to avoid overflow.
11285         (output_data): Likewise.
11286         (output_data): Don't use string concatatenation to silence gcc
11287         -traditional.
11288
11289         * predict.c: Fix typos and grammar.
11290
11291         * gcse.c (insert_insn_end_bb): Remove unused variables.
11292
11293 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
11294
11295         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
11296         (attempt_auto_inc): LIkewise.
11297         (mark_used_reg): Likewise.
11298         (try_pre_increment_1): Likewise.
11299         * regclass.c (regclass): Likewise.
11300         * global.c (allocno_compare): Update comment; change scaling factor.
11301         * local-alloc.c (QTY_CMP_PRI): Likewise.
11302         * regs.h (REG_FREQ_FROM_BB): New.
11303         (REG_FREQ_MAX): Likewise.
11304
11305 2001-07-30  H.J. Lu <hjl@gnu.org>
11306
11307         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
11308         -D_GNU_SOURCE.
11309
11310 2001-07-30  H.J. Lu  (hjl@gnu.org)
11311
11312         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
11313         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
11314         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
11315
11316 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
11317
11318         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
11319         as -mthumb-interwork when -mcpu=arm7 is specified.
11320
11321 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
11322
11323         * predict.def (noreturn, loop branch, loop exit): Mark as first
11324         match heuristics.
11325
11326 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
11327
11328         * combine.c (try_combine): Avoid barrier after noop jumps.
11329
11330 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11331
11332         * cpphash.h (struct cpp_reader): Remove import_warning.
11333         * cpplib.c (skip_rest_of_line): Don't bother turning off
11334         macro expansion.
11335         (parse_include): Move include handling to...
11336         (do_include_common): ... here.  Move import warning from...
11337         (do_import): ... here.
11338         (do_pragma_poison): Don't do a callback for poison identifiers.
11339         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
11340         * cppmain.c (setup_callbacks): Similarly.
11341
11342 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
11343
11344         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
11345         handle multiple sets.
11346         * except.c (sjlj_mark_call_sites): .... here.
11347         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
11348
11349 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
11350
11351         Suggested by Richard Henderson and Richard Kenner:
11352         * combine.c (recog_for_combine): Use the fake recog
11353         only if instruction does not match.
11354         * rtl.h (NOOP_MOVE_INSN_CODE): New.
11355         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
11356
11357         * combine.c (try_combine): Discover noop jump as direct jump.
11358
11359 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
11360
11361         * df.c (df_rd_global_compute): Add successors to worklist, not
11362         current item.
11363         (df_ru_global_compute): Ditto.
11364
11365 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
11366
11367         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
11368         increment REG_N_SETS.
11369
11370 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
11371
11372         * sbitmap.h: New prototype for sbitmap_a_xor_b.
11373
11374         * sbitmap.c (sbitmap_a_xor_b): New function.
11375         ifdef the basic block stuff on IN_GCC.
11376
11377 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11378
11379         * cppexp.c (parse_defined): Always record the macro name.
11380         (lex): Don't worry about identifiers, or special-case
11381         CPP_NOT here.
11382         (_cpp_parse_expr): Figure out at the end of the routine
11383         whether we saw a valid !defined() expression.
11384         * cppfiles.c (stack_include_file): Update for mi_valid.
11385         (_cpp_pop_file_buffer): Similarly.
11386         * cpplex.c (_cpp_lex_token): Similarly.
11387         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
11388         mi_if_not_defined, mi_lexed): Remove.
11389         (mi_valid): New.
11390         * cpplib.c (do_if): Simplify.
11391         (do_endif, push_conditional, _cpp_handle_directive): Update
11392         for renaming of mi_state to mi_valid.
11393 doc:
11394         * cpp.texi: Add index entries for digraphs, and add comment
11395         that C++ refers to them as alternative tokens.
11396
11397 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
11398
11399         * basic-block.h (CLEANUP_PRE_LOOP): New.
11400         * except.c (finish_eh_generation): Update call of cleanup_cfg.
11401         * sibcall.c (optimize_sibling_calls): Likewise.
11402         * toplev.c (rest_of_compilation): Likewise.
11403         * flow.c (try_forward_edges): Take argument MODE;
11404         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
11405         (try_optimize_cfg): Update call of try_forward_edges.
11406
11407 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
11408                                 Jan Hubicka  <jh@suse.cz>
11409
11410         * (validate_replace_rtx_1): Fix simplification of MINUS.
11411
11412 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
11413
11414         PR preprocessor/3669
11415         * cppinit.c (init_dependency_output): Turn off dump requests
11416         if sending dependencies to stdout.
11417
11418 2001-07-28  Richard Henderson  <rth@redhat.com>
11419
11420         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
11421         not optimizing.
11422
11423 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
11424
11425         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
11426
11427 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11428
11429         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
11430         is VAR_DECL first to prevent an ICE.
11431
11432 2001-07-28  Richard Henderson  <rth@redhat.com>
11433
11434         * varasm.c (immed_real_const_1): Don't elide special cases for
11435         nested functions.
11436         (clear_const_double_mem): Clear const_tiny_rtx too.
11437
11438 2001-07-28  Richard Henderson  <rth@redhat.com>
11439
11440         * dwarf2out.c (dw_val_class_offset): New.
11441         (struct dw_ranges_struct, dw_ranges_ref): New.
11442         (ranges_table, ranges_table_allocated): New.
11443         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
11444         (add_AT_offset, add_ranges, output_ranges): New.
11445         (print_die, output_die): Handle dw_val_class_offset.
11446         (attr_checksum, size_of_die, value_format): Likewise.
11447         (gen_lexical_block_die): Handle non-contiguous blocks.
11448         (gen_block_die): Likewise.
11449         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
11450         if needed.  Dump the ranges table.
11451         * final.c (final_start_function): Remove unnecessary notes and
11452         rebuild the block tree before numbering the blocks.
11453         * function.c (reorder_blocks_0): Walk the existing block tree
11454         to unmark all blocks.
11455         (reorder_blocks_1): Create block fragments when duplicate block
11456         notes are seen.
11457         (reorder_fix_fragments): New.
11458         (reorder_blocks): Call it.
11459         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
11460
11461 2001-07-28  Richard Henderson  <rth@redhat.com>
11462
11463         * emit-rtl.c (adjust_address): Make a copy of the memory address.
11464
11465 2001-07-28  Richard Henderson  <rth@redhat.com>
11466
11467         * flow.c (add_to_mem_set_list): New function.
11468         (init_propagate_block_info): Use it.
11469         (mark_set_1): Likewise.
11470         (insn_dead_p): Canonicalize memory address for dead store
11471         comparison.  Allow wider mode stores to kill narrower mode stores.
11472         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
11473         (invalidate_mems_from_set): Don't handle MEMs.
11474
11475 2001-07-28  Kazu Hirata  <kazu@hxi.com>
11476
11477         * config/h8300/h8300.h: Fix formatting.
11478
11479 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11480
11481         * basic-block.h (EDGE_FREQUENCY): New macro.
11482         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
11483         for new BB/edges.
11484         * flow.c (find_sub_basic_blocks): Likewise.
11485         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
11486         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
11487
11488         * predict.c (DEF_PREDICTOR): New argument FLAGS.
11489         (HITRATE): New macro.
11490         (PRED_FLAG_FIRST_MATCH): New constant.
11491         (predictor_info): New field flgags.
11492         (combine_predictions_for_insn): Use DS theory to combine
11493         probabilities; set the edge probabilities when finished.
11494         (estimate_probability): Avoid duplicated matches
11495         of LOOP_BRANCH heuristics for nested loops; update comment.
11496         * predict.def: Add flags for each prediction, set probabilities
11497         according to B&L paper.
11498         * predict.h (DEF_PREDICTOR): New argument FLAGS.
11499
11500         * profile.c (compute_branch_probabilities):  Cleanup way the edge
11501         probabilities are computed and REG_BR_PROB notes are dropped; if
11502         values does not match, emit error.
11503         (init_branch_prob): Do error instead of warning when profile driven
11504         feedback is missing or corrupt.
11505
11506 2001-07-27  DJ Delorie  <dj@redhat.com>
11507
11508         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
11509         against a constant, try to adjust the compare to have the desired
11510         constant in it so that min/max optimizations happen more often.
11511
11512 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11513
11514         * flow.c (last_loop_beg_note): New function.
11515         (redirect_edge_and_branch): Use it.
11516         (split_edge): Likewise.
11517
11518         * alias.c (loop_p): Avoid uninitialized memory access.
11519
11520         * flow.c (try_forward_edges): Avoid accessing freed memory.
11521
11522         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
11523         variable access.
11524
11525 2001-07-26  Andrew Haley  <aph@redhat.com>
11526         Joern Rennecke <amylaar@redhat.com>
11527
11528         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
11529         (SUBTARGET_CPP_ENDIAN_SPEC): New.
11530         (SUBTARGET_CPP_SPEC): New.
11531         (CPP_SPEC): Remove.
11532         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
11533         (SUBTARGET_CPP_PTR_SPEC): New.
11534         (CPP_DEFAULT_CPU_SPEC): New.
11535         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
11536         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11537         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
11538         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11539         (SUBTARGET_CPP_SPEC): Define as an empty string.
11540
11541 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11542
11543         * doc/install.texi (Configuration): Properly link the host
11544         specific instructions also when generating HTML.
11545
11546 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
11547
11548         * flow.c (redirect_edge_and_branch_force): Test
11549         target->global_live_at_start.
11550
11551 2001-07-26  Richard Henderson  <rth@redhat.com>
11552
11553         * simplify-rtx.c (avoid_constant_pool_reference): Export.
11554         * rtl.h (avoid_constant_pool_reference): Declare it.
11555         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
11556         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
11557
11558 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11559
11560         * rtl.h (cleanup_barriers): Declare.
11561         * jump.c (cleanup_barriers): New function.
11562         * toplev.c (rest_of_compilation): Call cleanup_barriers
11563         before loop optimizer and after bb_reorder.
11564
11565         * flow.c (back_edge_of_syntactic_loop_p): New.
11566         (split_edge): Use it.
11567
11568 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11569
11570         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
11571
11572 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
11573
11574         * cse.c (cse_process_notes): Replace any registers if the address
11575         remains valid.
11576
11577 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
11578
11579         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
11580         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
11581         (propagate_block): Update prototype.
11582         * flow.c (update_life_info): Simplify the CFG and
11583         recalculate the global regs which are alive when
11584         removing dead code during a global update.
11585         (propagate_block): Return non-zero if an INSN is
11586         deleted.
11587
11588 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11589
11590         * Makefile.in (LIBICONV): Define.
11591
11592 2001-07-26  Catherine Moore  <clm@redhat.com>
11593
11594         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
11595         of conditional to avoid tree checking errors.
11596
11597 2001-07-26  Kazu Hirata  <kazu@hxi.com>
11598
11599         * regmove.c (regmove_optimize): Don't replace a reg with
11600         another reg of a different mode.
11601
11602 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
11603
11604         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
11605         limit length of dependency flush list.
11606         * params.h (MAX_PENDING_LIST_LENGTH): Define.
11607         * sched-int.h  (struct deps): Add pending_flush_length field.
11608         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
11609         has 1 element in it.
11610         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
11611         (sched_analyze): After a jump, if the pending memory flush list is too
11612         large, flush the pending lists.
11613         (init_deps): Initialize pending_flush_length to 0.
11614         * doc/invoke.texi (max_pending_list_length): Document parameter.
11615
11616 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
11617
11618         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
11619         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
11620         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
11621
11622 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11623
11624         * cpphash.h (struct_lexer_state): Delete was_skipping.
11625         Move skipping here from struct cpp_reader.
11626         * cpplex.c (parse_identifier): Update.
11627         (_cpp_lex_token): Don't skip tokens in a directive.
11628         * cpplib.c (struct if_stack): Update.
11629         (start_directive, end_directive): Don't change skipping state.
11630         (_cpp_handle_directive): Update.
11631         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
11632         (do_else, do_endif): Update; only check for excess tokens if not
11633         in a skipped conditional block.
11634         (push_conditional): Update for new struct if_stack.
11635
11636 2001-07-26  Graham Stott  <grahams@redhat.com>
11637
11638         * function.c (locate_and_pad_parm): Also pad initial offset
11639         so that the total argument size also includes the padding.
11640
11641 2001-07-26  Graham Stott <grahams@redhat.com>
11642
11643         * gensupport.c (alter_output_for_insn): Correct enable checking failure
11644         change XSTR to XTMPL.
11645
11646         (process_one_cond_exec): Likewise
11647
11648 2001-07-25  Richard Henderson  <rth@redhat.com>
11649
11650         * varasm.c (assemble_variable): Create DECL_RTL before setting
11651         TREE_ASM_WRITTEN.
11652
11653 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
11654
11655         * predict.c (estimate_probability): Avoid duplicated predictions.
11656
11657         * loop.c (find_and_verify_loops): Grok multiple barriers.
11658
11659 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11660
11661         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
11662
11663         * dbxout.c: Consistently use putc instead of fputc.
11664         (print_wide_int): New function; call instead of direct fprintf.
11665         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
11666         (dbxout_type_fields, dbxout_type_method_1): Likewise.
11667         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
11668         (print_int_cst_octal): Likewise.
11669         (print_octal): Show we wrote characters.
11670         (dbxout_type): Set have_used_extensions in more places.
11671
11672 2001-07-25  Catherine Moore  <clm@redhat.com>
11673
11674         * config/v850/v850.c (v850_va_arg):  Use addr
11675         instead of valist to build incr.
11676
11677 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
11678
11679         * flow.c (delete_dead_jumptables): New function.
11680         (life_analyzis): Call it.
11681         * bb-reorder.c (skip_insns_after_block): Handle contradictory
11682         sequences.
11683
11684 2001-07-25  Richard Henderson  <rth@redhat.com>
11685
11686         * except.c (reachable_handlers): Handle a region being removed
11687         out from under a RESX.
11688
11689 2001-07-25  Richard Henderson  <rth@redhat.com>
11690
11691         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
11692         swap GE/GT if it is an fp comparison.
11693
11694 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
11695
11696         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
11697         operands.
11698
11699 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
11700
11701         * ssa.c (rename_insn_1): Do not wrap an assignment to a
11702         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
11703         glitch.
11704
11705         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
11706         throw an exception.
11707         (visit_expression): When attempting to simplify an expression,
11708         retrieve any modes for arguments before they are simplified
11709         to constants.
11710
11711 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
11712             Janis Johnson  <janis@us.ibm.com>
11713
11714         * stmt.c (expand_goto): A nonlocal goto can be a call too.
11715         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
11716         pointer parameters to match documented usage of nonlocal_goto.
11717         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
11718         parameters to their correct order.
11719         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
11720         parameters to their correct order.
11721
11722 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
11723
11724         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
11725
11726 2001-07-25  Jan Hubicka  <jh@suse.cz>
11727             Richard Henderson  <rth@redhat.com>
11728
11729         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
11730         the sequence.
11731         (make_edges): New argument update_p; populate the edge cache if set.
11732         (find_basic_blocks): Update make_edges invocation.
11733
11734 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11735
11736         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
11737
11738 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11739
11740         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
11741         -Acpu and -Amachine.h.
11742         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
11743         Corrected header to say ELF not a.out.
11744         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
11745         when given -msoft-float.
11746
11747 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11748
11749         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
11750         extra multilib parts like arm-elf.
11751         (i960-*-coff*, i960-*-rtems): Should not use collect2.
11752         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
11753         crtfini.o as extra multilib parts.
11754
11755 2001-07-24  Joel Sherrill <joel@OARcorp.com>
11756
11757         * configure.in: Add rtems as a supported thread model.
11758         * gthr-rtems.h: Add missing entry point __gthread_active_p.
11759         * configure: Rebuilt.
11760
11761 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
11762
11763         * stor-layout.c (get_mode_alignment): make it work when
11764         BITS_PER_UNIT is not a power of two.
11765         * builtins.c (get_pointer_alignment): Likewise.
11766
11767 2001-07-24  Richard Henderson  <rth@redhat.com>
11768
11769         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
11770         the retrieved constant into the expected mode.
11771
11772 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
11773
11774         * flow.c (try_simplify_condjump): Avoid duplicated edges.
11775         (verify_flow_info): Check for duplicated edges; clarify
11776         error reporting.
11777
11778         * flow.c (block_label): Update basic_block_for_insn.
11779         (commit_edge_insertions): Call compute_bb_for_insn.
11780
11781         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
11782         returns too.
11783
11784         * flow.c (redirect_edge_and_branch,
11785         try_optimize_cfg): Use redirect_edge_succ_nodup
11786         (redirect_edge_succ_nodup): New.
11787         * basic_block.h (redirect_edge_succ_nodup): Declare.
11788
11789         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
11790         after gcse.
11791
11792 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11793
11794         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
11795         (try_crossjump_to_edge): Update commetns.
11796         (try_crossjump_bb): Likewise.
11797
11798 2001-07-24  Richard Henderson  <rth@redhat.com>
11799
11800         * combine.c (distribute_notes): Move set of need_refresh
11801         for noop_move_p down to catch all cases.
11802
11803 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
11804
11805         * recog.c (split_all_insns_noflow): New.
11806         * rtl.h (split_all_insns_noflow): Declare.
11807         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
11808         * m68hc11.c (m68hc11_reorg): Likewise.
11809         * sh.c (machine_dependent_reorg): Likewise.
11810         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
11811         call.
11812
11813 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
11814
11815         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
11816         (ashlsi3_n splitter): Likewise.
11817         (lshrsi3_n splitter): Likewise.
11818
11819         (GOTaddr2picreg): Make const SImode.
11820         (sym_label2reg): Likewise.
11821         (symGOT2reg): Likewise.
11822         (symGOTOFF2reg) Likewise.
11823
11824         (casesi_worker_0): Make unspec SImode.
11825
11826 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
11827
11828         * config/sh/sh.c (barrier_align): Check that an operand really is
11829         an insn before extracting its INSN_CODE.
11830
11831 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
11832
11833         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
11834         dangling else.
11835
11836         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
11837         for SImode to prevent overflow.
11838
11839 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11840
11841         * config/mips/irix6-libc-compat.c: New file.
11842         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
11843         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
11844         passing workaround.
11845
11846 2001-07-24  lars brinkhoff  <lars@nocrew.org>
11847
11848         * rtl.texi (REG_POINTER): Document.
11849         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
11850         QFmode, HFmode, TQFmode, QCmode, and HCmode.
11851
11852 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
11853
11854         * flow.c (delete_noop_moves): Do not confuse libcall regions.
11855
11856 2001-07-23  Richard Henderson  <rth@redhat.com>
11857
11858         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
11859
11860 2001-07-23  Kazu Hirata  <kazu@hxi.com>
11861
11862         * config/h8300/h8300-protos.h: Add a prototype for
11863         general_operand_dst_push.
11864         * config/h8300/h8300.c (general_operand_dst_push): New.
11865         * config/h8300/h8300.h (OK_FOR_T): New.
11866         (EXTRA_CONSTRAINT): Use it.
11867         * config/h8300/h8300.md (movqi_push): Remove and integrate into
11868         the existing movqi pattern.
11869         (movhi_push): Likewise.
11870
11871         * reload.c: Fix comment typos.
11872
11873 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
11874
11875         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
11876
11877 2001-07-23  H.J. Lu  (hjl@gnu.org)
11878
11879         * doc/extend.texi: Update __builtin_return_address and
11880         __builtin_frame_address.
11881
11882 2001-07-23  Richard Henderson  <rth@redhat.com>
11883
11884         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
11885         before CSE.
11886         * config/i386/i386.md: New setcc+movzbl peephole2.
11887
11888 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11889
11890         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
11891         * objc/objc-act.c: Include debug.h.
11892         (synth_module_prologue): Save and restore debug hooks too.
11893
11894 2001-07-23  lars brinkhoff  <lars@nocrew.org>
11895
11896         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
11897         and C4X_FLOAT_FORMAT.
11898         (BOOL_TYPE_SIZE): Document.
11899
11900 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
11901
11902         * unroll.c (loop_iterations): Fix miscalculation of initial
11903         giv offset.
11904
11905 2001-07-13  Andrew Haley  <aph@redhat.com>
11906
11907         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
11908         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
11909         * config/sh/sh.c (sh_can_redirect_branch): New function.
11910         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
11911         * reorg.c (steal_delay_list_from_target): Use
11912         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
11913
11914 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
11915
11916         * flow.c (try_simplify_condjump): Unlink insn chain on
11917         fallthru edge; use can_fallthru.
11918
11919 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
11920
11921         * basic-block.h (find_sub_basic_block): Declare.
11922         * flow.c (make_edges): New arguments MIN and MAX;
11923         (find_sub_basic_blocks): Revamp to use make_edges
11924         and purge_dead_edges.
11925         (find_basic_blocks): Update call of find_sub_basic_block.
11926
11927         * recog.c (split_all_insns): Always expect CFG to be consistent;
11928         call find_sub_basic_blocks in case something has changed.
11929         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
11930         has been built.
11931
11932         * basic-block.h (delete_noop_moves): Declare.
11933         * combine.c (combine_instructions): Call it.
11934         (recog_for_combine): Tolerate noop moves
11935         (distribute_notes): Force refresh when register dies at noop move.
11936         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
11937         too.
11938         (life_analysis): Update delete_noop_moves call.
11939         (set_noop_p): Move too ...
11940         * rtlanal.c (noop_move_p): ... here.
11941         * rtl.h (noop_move_p): Declare.
11942
11943         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
11944         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
11945         after combine.
11946         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
11947         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
11948
11949 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
11950
11951         * reload.c (push_reload): Fix typo in comment.
11952         (find_reloads_address): Ditto.
11953         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
11954
11955 2001-07-22  Richard Henderson  <rth@redhat.com>
11956
11957         * flow.c: Grammar check and clarify a lot of comments.
11958         (try_simplify_condjump): Rename variables to be clearer.
11959         (try_forward_edges): Skip complex and fallthru edges.
11960         Rearrange tests to avoid duplicate checks.
11961         (flow_find_cross_jump): Likewise.
11962         (outgoing_edges_match): Allow match if neither branch has
11963         probability data.  Loosen probability match to 5%.
11964         (try_crossjump_to_edge): Hoist repeated indirection into
11965         local variables.
11966         (try_crossjump_bb): Don't check complex edges.  Eliminate
11967         redundant crossjump tests.
11968         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
11969         checks before more expensive checks.
11970
11971 2001-07-22  Richard Henderson  <rth@redhat.com>
11972
11973         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
11974         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
11975         arguments.
11976
11977 2001-07-22  Richard Henderson  <rth@redhat.com>
11978
11979         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
11980         (const_sint32_operand): Likewise.
11981         * m68k.md (anon mulsi pattern): Use const_int_operand not
11982         const_sint32_operand.
11983         (umulsi3_highpart): Zero extend a constant input.
11984         (smulsi3_highpart): Don't bother checking SImode constant.
11985         (const_umulsi3_highpart): Give op3 DImode.
11986         (const_smulsi3_highpart): Likewise.
11987
11988 2001-07-22  Richard Henderson  <rth@redhat.com>
11989
11990         * flow.c (split_block): Make sure bb_note is included in the
11991         new block when splitting before a label.
11992
11993 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
11994
11995         * basic-block.h (redirect_edge_and_branch_force,
11996         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
11997         * flow.c (redirect_edge_and_branch_force,
11998         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
11999         (redirect_edge_and_branch_force): Fix copying of lifeness information.
12000         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
12001         * ifcvt.c (dead_or_predictable): Take BB as an new destination
12002         instead of label; update CFG after transformation.
12003         (find_if_case_1): Update call, use redirect_edge_and_branch_force
12004         for finishing the transformation; handle even case where ELSE
12005         does not follow THEN.
12006         (find_if_case_2): Update call of dead_or_predictable; simplify
12007         CFG update.
12008
12009         * emit-rtl.c (split_branch_probability): New global variable.
12010         (try_split): Take care to set split_branch_probability and
12011         create REG_BR_PROB note for new jump insns.
12012         * md.texi (define_split): Document new feature.
12013
12014         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
12015
12016 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12017
12018         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
12019         (asm_out_file): Remove redundant declaration.
12020         (assemble_asm): Remove old #if 0 block.
12021         (assemble_variable): Remove end of function; debug output is
12022         now handled with global_decl.  Remove old #if 0 block.  Update.
12023         Remove saved_in_section and associated no-op code.
12024         * Makefile.in (varasm.o): Correct dependencies.
12025
12026 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
12027
12028         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12029         the definition in defaults.h.
12030
12031 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
12032
12033         * jump.c: Update comments.
12034         (delete_barrier_successors, delete_unreferenced_labels,
12035         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
12036         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
12037         jump_optimize, jump_optimize_minimal): Kill.
12038         (rebuild_jump_labels): Move code from jump_optimize_1.
12039         (purge_line_number_notes): Likewise.
12040         (copy_loop_headers): Likewise.
12041         * reg-stack.c: Update comment.
12042         * stmt.c: Likewise.
12043         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
12044         JUMP_AFTER_REGSCAN): Kill.
12045         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
12046         purge_line_number_notes and copy_loop_headers.
12047
12048 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
12049            Richard Henderson  <rth@redhat.com>
12050
12051         * dbxout.c (dbxout_global_decl): New.
12052         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12053         * sdbout.c (sdbout_finish): New.
12054         (sdbout_debug_hooks): Use it, add comments.
12055         (sdbout_global_decl): Defer initialised public vars to
12056         sdbout_finish.
12057         * varasm.c (assemble_variable): Don't output debug information
12058         for file-scope variables.
12059
12060 2001-07-22  Richard Henderson  <rth@redhat.com>
12061
12062         * config/alpha/alpha.c (get_trap_mode_suffix): New.
12063         (get_round_mode_suffix): New.
12064         (print_operand): Use them for [/].  Remove support for [&'`()+].
12065         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
12066         * config/alpha/alpha.md (attr round_suffix): New.
12067         (attr trap_suffix): New.
12068         (all insns): Set them appropriately.  Use %/ instead of the
12069         myriad punctuators.
12070
12071 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12072
12073         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
12074
12075 2001-07-22  Richard Henderson  <rth@redhat.com>
12076
12077         * regrename.c (regrename_optimize): Compute nregs for each
12078         potential target register.
12079
12080 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
12081            Richard Henderson  <rth@redhat.com>
12082
12083         * dbxout.c (dbxout_global_decl): New.
12084         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12085         * sdbout.c (sdbout_finish): New.
12086         (sdbout_debug_hooks): Use it, add comments.
12087         (sdbout_global_decl): Defer initialised public vars to
12088         sdbout_finish.
12089         * varasm.c (assemble_variable): Don't output debug information
12090         for file-scope variables.
12091
12092 2001-07-21  H.J. Lu  (hjl@gnu.org)
12093
12094         * config/mips/mips.c (mips_cpu): Moved into ...
12095         (override_options): Here.
12096
12097         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
12098         mips_tune.
12099         (mips_cpu): Removed.
12100
12101 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12102
12103         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
12104         ("iorqi3"): Likewise.
12105         ("xorqi3"): Likewise.
12106         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
12107         ("*subhi3_sp): Likewise.
12108         ("*subhi3"): Likewise.
12109         ("extendhisi2"): Accept D, X and Y as source operand to avoid
12110         reload problems.
12111
12112 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
12113
12114         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
12115         * config/freebsd.h: Likewise.
12116         * config/linux.h: Likewise.
12117         * config/openbsd.h: Likewise.
12118         * config/alpha/linux-elf.h: Likewise.
12119         * config/arm/linux-elf.h: Likewise.
12120         * config/d30v/d30v.h: Likewise.
12121         * config/fr30/fr30.h: Likewise.
12122         * config/ia64/aix.h: Likewise.
12123         * config/ia64/ia64.h: Likewise.
12124         * config/mips/linux.h: Likewise.
12125         * config/pj/pj.h: Likewise.
12126         * config/rs6000/linux.h: Likewise.
12127         * config/sparc/linux.h: Likewise.
12128         * config/sparc/linux64.h: Likewise.
12129
12130 2001-07-20  Bruce Korb  <bkorb@gnu.org>
12131
12132         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
12133         because getc() and char* may disagree on signedness.
12134
12135 2001-07-20  Richard Henderson  <rth@redhat.com>
12136
12137         * doc/rtl.texi (REG_DEAD): Update for current semantics.
12138
12139         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
12140         insns to delete in the presence of cc0 in a jump insn.
12141
12142 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
12143                                 Jan Hubicka  <jh@suse.cz>
12144
12145         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
12146         of doing the change by hand.
12147
12148 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
12149
12150         * rtlanal.c (set_noop_p): Return true for noop jumps.
12151
12152         * expr.c (emit_single_push_insn): Add call to push expander.
12153         * expr.h (optab_index): Add OTI_push
12154         (push_optab): New constant.
12155         * genopinit.c (optabs): Add push_optab.
12156         * optabs.c (init_optab): Init push optab.
12157         * md.texi (push??1): Document
12158
12159 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12160
12161         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
12162         expand to emit the pattern; put a REG_INC note for push/pop
12163         instructions.
12164         ("movdf", "movdf_internal"): Likewise.
12165         ("movsi", "movsi_internal"): Likewise.
12166         ("movsf", "movsf_internal"): Likewise.
12167         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
12168
12169 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12170
12171         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
12172         gen_highpart.
12173
12174 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
12175
12176         * params.def: Change default max inline insns to 100.
12177
12178 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
12179
12180         * combine.c (combine_simplify_rtx): Generate a new shift operation
12181         when simplifying the first operand of a (neg (ashift)) expression.
12182
12183 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12184
12185         * regclass.c (N_REG_INTS): Use only 32 bits per element.
12186
12187 2001-07-20  Kelley Cook  <kelley.cook@home.com>
12188
12189         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
12190         information.   Move rest into ...
12191         (*-*-solaris): ... here.  Eliminate redundant information and
12192         reword necessary packages section.  Delete 4.x assembler bug info.
12193         (sparc-sun-*): Merge into ...
12194         (sparc-sun-sunos*): here.
12195
12196 2001-07-20  Catherine Moore  <clm@redhat.com>
12197
12198         * config/v850/v850.md (casesi): Generate LABEL_REF
12199         with Pmode.
12200
12201 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
12202
12203         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
12204         * i386.c (ix86_zero_extend_to_Pmode): Make global.
12205         * i386.md (strclrsi expander): Use it.
12206
12207 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12208
12209         * integrate.c (copy_insn_list): handle
12210         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
12211         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
12212         identically as to CODE_LABEL.
12213
12214         * fold-const (fold): Convert A/B/C to A/(B*C) and
12215         A/(B/C) to (A/B)*C
12216
12217         * except.c (connect_post_landing_pads): Delete the RESX insns.
12218
12219 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
12220
12221         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
12222
12223         * config/mips/mips.md (nmadd/nmsub): Use macro.
12224
12225 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
12226
12227         * cppinit.c (remove_dup_dir): Make static.
12228         (remove_dup_dirs): Make static. Only warn about preempting a
12229         system directory with a non-system directory.
12230
12231 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12232
12233         * ifcvt.c (noce_try_store_flag_constants): Correct order
12234         of parameters to trunc_int_for_mode.
12235
12236 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
12237
12238         * reorg.c (fill_simple_delay_slots): If an instruction might throw
12239         an exception that will be caught within this function, do not fill
12240         its delay slot with any subsequent instruction.
12241
12242 2001-07-19  Steve Ellcey <sje@cup.hp.com>
12243
12244         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
12245         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
12246         pointer extension instruction.
12247         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
12248         * simplify-rtx.c (simplify_unary_operation) Likewise.
12249         * explow.c (convert_memory_address) Check value of
12250         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
12251         less than zero.
12252         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
12253         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
12254         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
12255         Add Multilib Support.
12256         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
12257         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
12258         Add Multilib Support.
12259         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
12260         support.
12261         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
12262         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
12263         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
12264
12265 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
12266
12267         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
12268         old and new operands in `<', `3' and `b'.
12269
12270 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12271
12272         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
12273         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
12274         (toplev.o): Don't depend on xcoffout.h.
12275         * c-decl.c: Include debug.h
12276         (duplicate_decls): Use debug hook.
12277         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
12278         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12279         (dbxout_types): Remove.
12280         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
12281         * debug.c (do_nothing_debug_hooks): Update.
12282         (debug_true_tree, debug_nothing_rtx): New.
12283         * debug.h (struct rtx_def): New.
12284         (struct gcc_debug_hooks): New hooks ignore_block,
12285         outlining_inline_function and label.
12286         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
12287         dwarf2out_frame_finish): New.
12288         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
12289         Make static, update prototype.
12290         (dwarf2_debug_hooks): Update.
12291         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
12292         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
12293         * dwarfout.c (dwarf_debug_hooks): Update.
12294         * emit-rtl.c: Include debug.h.
12295         (remove_unnecessary_notes): Use debug hook.
12296         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
12297         (final_scan_insn): Use debug hook.
12298         * integrate.c (output_inline_function): Use debug hook.
12299         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
12300         (sdb_debug_hooks): Update.
12301         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
12302         * toplev.c: Don't include xcoffout.h.
12303         (note_outlining_of_inline_function, debug_ignore_block): Remove.
12304         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
12305         Remove.
12306         * tree.h (dwarf2out_do_frame): Remove.
12307
12308 2001-07-19  Catherine Moore  <clm@cygnus.com>
12309
12310         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
12311
12312 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
12313
12314         * reload1.c (eliminate_regs_in_insn): When updating a set
12315         to the frame pointer to the hardware frame pointer, perform
12316         the update always not just when REPLACE is set.
12317
12318         * reload1.c (choose_reload_regs): Don't inherit a reload
12319         that crosses multiple registers if registers past the first
12320         don't fit in the desired class.
12321
12322         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
12323         when negating constants.
12324
12325 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
12326
12327         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
12328         * doc/tree.texi: Ditto.
12329
12330 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
12331             Jakub Jelinek  <jakub@redhat.com>
12332
12333         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
12334         (extract_cie_info): Handle "eh" augmentation properly,
12335         remember eh_ptr.
12336         (struct frame_state, __frame_state_for): New.
12337
12338 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12339
12340         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
12341         HANDLE_SYSV_PRAGMA): Define.
12342         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
12343         previous args.
12344         (copy_object): Caller changed.
12345
12346 2001-07-19  Andreas Schwab  <schwab@suse.de>
12347
12348         * configure.in (assembler dwarf2 debug_line support): Define nop
12349         insn for m68k.
12350         * configure: Regenerated.
12351
12352 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12353
12354         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
12355         dwarfout.h.
12356         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
12357         to conditionally compiled block.
12358         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12359         * dbxout.h (dbxout_function): Remove.
12360         * debug.c (do_nothing_debug_hooks): Update.
12361         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
12362         global_decl, deferred_inline_function.
12363         * dwarf2out.c (dwarf2_debug_hooks): Update.
12364         (dwarf2out_global_decl): New.
12365         * dwarfout.c: Don't include dwarfout.h.
12366         (dwarfout_global_decl, dwarfout_function_decl,
12367         dwarfout_deferred_inline_function): New.
12368         (dwarf_debug_hooks): Update.
12369         * dwarfout.h: Remove.
12370         * final.c: Don't include dwarfout.h.
12371         * sdbout.c (sdbout_global_decl): New.
12372         (sdbout_debug_hooks): Update.
12373         * toplev.c: Don't include dwarfout.h.
12374         (check_global_declarations, rest_of_compilation): Use new debug hooks.
12375         (note_deferral_of_defined_inline_function): Remove.
12376         * toplev.h (note_deferral_of_defined_inline_function): Remove.
12377         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
12378         * ch/lex.c: Don't include dwarfout.h.
12379         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
12380         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
12381         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
12382         * cp/optimize.c: Include debug.h.
12383         (maybe_clone_body): Use debug hook.
12384         * cp/semantics.c: Include debug.h.
12385         (expand_body): Use debug hook.
12386         * po/POTFILES.in: Remove dwarfout.h.
12387
12388 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
12389
12390         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
12391         * c-parse.in (yyerror, _yylex): Similarly.
12392         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
12393         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
12394         Update comments.
12395         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
12396         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
12397
12398 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
12399
12400         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
12401         in-class declaration at -g1.  Fixes c++/2814.
12402
12403 2001-07-18  Richard Henderson  <rth@redhat.com>
12404
12405         * doc/md.texi (reload_in/out): Document restrictions in predicates
12406         and constraints for these patterns.  Document empty string matching
12407         ALL_REGS.
12408
12409 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12410
12411         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
12412
12413 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12414
12415         * cse.c: Undo my previous patch.
12416
12417 2001-07-18  Tom Tromey  <tromey@redhat.com>
12418
12419         For PR java/2812:
12420         * configure: Rebuilt.
12421         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
12422         instead.
12423         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
12424
12425 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
12426                                 Jan Hubicka  <jh@suse.cz>
12427
12428         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
12429         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
12430         * jump.c (mark_jump_label): Do not forward branches.
12431
12432 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
12433
12434         * cse.c (delete_trivially_dead_insns): Delete the libcall block
12435         when return value is unused.
12436
12437 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12438
12439         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
12440
12441 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
12442
12443         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
12444         on error.  We can't blindly return the result of
12445         pthread_mutex_trylock because it returns a positive number on
12446         error, while we must return -1 on error.
12447         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
12448         fixes.
12449         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
12450
12451 2001-07-18  Andreas Jaeger  <aj@suse.de>
12452
12453         * integrate.c (output_inline_function): Correct type of debug_hooks.
12454
12455 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
12456
12457         * combine.c (combine_simplify_rtx): DIV can be treated
12458         associatively for floats if unsafe math optimisations are enabled.
12459
12460 2001-07-17  Richard Henderson  <rth@redhat.com>
12461
12462         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
12463
12464 2001-07-17  Richard Henderson  <rth@redhat.com>
12465
12466         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
12467         don't force the function address into a register.
12468         (expand_call, emit_library_call_value_1): Update callers.
12469         * builtins.c (expand_builtin_apply): Likewise.
12470         * expr.h (prepare_call_address): Update decl.
12471
12472 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
12473
12474         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
12475         config directory.
12476         * config/i386/chorus.h: Move up.
12477         * config/sparc/chorus.h: Likewise.
12478         * config/rs6000/chorus.h: Likewise.
12479         * config/chorus.h: Moved here.
12480
12481 2001-07-17  Andreas Schwab  <schwab@suse.de>
12482
12483         * configure.in  (assembler eh_frame optimization): Handle big
12484         endian.
12485         * configure: Regenerated.
12486
12487 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
12488
12489         * expr.c (epxand_expr): Convert divisions into multiplications by
12490         reciprocals if -ffast-math.
12491
12492 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
12493
12494         * dbxout.c (dbxout_really_begin_function): Rename to
12495         dbxout_begin_function.
12496         (dbx_debug_hooks, xcoff_debug_hooks): Update.
12497         (dbxout_begin_function): Remove.
12498         (dbxout_function): Update.
12499         (dbxout_source_line): Update prototype.
12500         * dbxout.h (dbxout_begin_function): Remove.
12501         * debug.c (do_nothing_debug_hooks): Update.
12502         (debug_nothing_tree): Update.
12503         (debug_nothing_charstar_rtx): Remove.
12504         * debug.h (union tree_node): Declare.
12505         (struct rtx_def): Remove.
12506         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
12507         begin_function.  Change source_line prototype.
12508         (debug_nothing_tree): New.
12509         (debug_nothing_charstar_rtx): Delete.
12510         (dwarf2out_begin_prologue): Moved from ...
12511         * tree.h: ... here.
12512         * dwarf2out.c (dwarf2_debug_hooks): Update.
12513         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
12514         debug info, call dwarf2out_source_line.
12515         (dwarf2out_souce_line): Update prototype.
12516         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
12517         Change prototype, make static.
12518         (dwarfout_source_line): Update prototype.
12519         (dwarf_debug_hooks): Update.
12520         * dwarfout.h (dwarfout_begin_function): Remove.
12521         * final.c (final_start_function, final_scan_insn): Use appropriate
12522         debug hooks, update to use notice_source_line.
12523         (output_source_line): Rename notice_source_line.  Don't call the
12524         source_line debug hook.
12525         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
12526         make static, update prototype.
12527         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
12528         prototype.
12529         (sdbout_end_prologue): New.
12530         (sdbout_source_line): Update prototype.
12531         (sdbout_debug_hooks): Update.
12532         (sdbout_symbol): Remove unused var.
12533         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
12534         Delete.
12535         * varasm.c: Include debug.h.
12536         (assemble_start_function): Use begin_function debug_hook.
12537         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12538         update with prototype.
12539         (xcoffout_source_line): Update prototype.
12540         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12541         update prototype.
12542         (xcoffout_source_line): Update prototype.
12543
12544 2001-07-17  Richard Henderson  <rth@redhat.com>
12545
12546         * c-typeck.c (build_binary_op): Do not shorten unsigned
12547         right shift after sign extension.
12548
12549 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
12550
12551         * combine.c (combine_simplify_rtx): Attempt to simplify
12552         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
12553
12554         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
12555         (simplify_binary_operation, simplify_unary_operation,
12556          simplify_relational_operation): Use it.
12557
12558         * combine.c (combine_simplify_rtx): Don't do associative law
12559         on divisions; allow associative law on floats.
12560
12561 2001-07-17  H.J. Lu <hjl@gnu.org>
12562             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12563
12564         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
12565         ASM_OUTPUT_WEAK_ALIAS are defined.
12566         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
12567         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
12568         Moved ...
12569         * config/mips/iris5.h: ... here.
12570         (HANDLE_SYSV_PRAGMA): Defined as 1.
12571         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
12572         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
12573         symbol.
12574
12575 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
12576
12577         * c-parse.in (all_prefix_attributes): New variable.
12578         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
12579         (maybe_resetattrs): New production.
12580         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
12581         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
12582         notype_initdcl, nested_function, notype_nested_function,
12583         component_decl, components, components_notype,
12584         component_declarator, component_notype_declarator,
12585         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
12586         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
12587         after a comma being applied to more than one declarator.
12588         * doc/extend.texi (Attribute Syntax): Update.  Remove
12589         documentation of bugs that are no longer present.
12590
12591 2001-07-13  Eric Christopher  <echristo@redhat.com>
12592
12593         * config/mips/mips.h: Change TUNE_MIPS* options to use
12594         mips_tune.
12595         (EXTRA_SPECS): Add cc1_cpu_spec.
12596         * config/mips/mips.md (muldf3): Fix typo.
12597
12598 2001-07-16  Richard Henderson  <rth@redhat.com>
12599
12600         * config/m68k/m68k.c: Include expr.h and reload.h.
12601         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
12602         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
12603
12604 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
12605             Richard Henderson  <rth@redhat.com>
12606
12607         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
12608         (insn_live_p): Fix fall off end of function.
12609         (dead_libcall_p): Remove COUNTS argument; update callers.
12610         (delete_trivially_dead_insns): Remove unused variables.
12611
12612 2001-07-17  Andreas Jaeger  <aj@suse.de>
12613
12614         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
12615         x86-64 pic support.
12616
12617         * lcm.c (optimize_mode_switching): Avoid warning for unused
12618         variable if !NORMAL_MODE.
12619
12620         * flow.c (try_crossjump_to_edge): Remove unused variable.
12621
12622 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12623
12624         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
12625         atexit declaration in stdlib.h.
12626
12627 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
12628
12629         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
12630
12631 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12632
12633         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
12634         * except.c (finish_eh_generation): Update call of cleanup_cfg;
12635         do rebuild_jump_labels instead of jump_optimize
12636         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
12637         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
12638         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
12639
12640         * flow.c: Include timevar.h
12641         (find_basic_block): Push/pop timevar;
12642         (cleanup_cfg): Likewise.
12643         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
12644         * Makefile: Add dependencies on timevar.h
12645
12646         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
12647         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
12648
12649         * rtl.h (delete_trivially_dead_insns): Add new parameter.
12650         * toplev.c (rest_of_compilation): Update calls.
12651         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
12652         (delete_trivially_dead_insns): ... here; accept new argument
12653         preserve_basic_blocks; preserve basic blocks if set.
12654
12655         * reg-stack.c (stack_regs_mentioned): Return 0 if
12656         stack_regs_mentioned_data is not initialized.
12657         (reg_to_stack): Make stack_regs_mentioned survive after the
12658         reg-stack is completted; do not call cleanup_cfg.
12659         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
12660         make cleanup_cfg after bb-reorder to output to debug file.
12661
12662 2001-07-16  Richard Henderson  <rth@redhat.com>
12663
12664         * regclass.c (init_reg_sets): Use only 32 bits per initializer
12665         from int_reg_class_contents.
12666
12667 2001-07-16  Richard Henderson  <rth@redhat.com>
12668
12669         * hard-reg-set.h (regs_invalidated_by_call): Declare.
12670         * regclass.c (regs_invalidated_by_call): Move from cse.c.
12671         (init_reg_sets_1): Move initialization from cse_main.
12672         * cse.c (regs_invalidated_by_call): Move to regclass.c.
12673         (cse_main): Move its initialization also.
12674         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
12675         * flow.c (propagate_one_insn): Likewise.
12676         * gcse.c (compute_hash_table): Likewise.
12677         (compute_kill_rd, compute_store_table): Likewise.
12678         * sched-deps.c (sched_analyze_1): Likewise.
12679
12680 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
12681
12682         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
12683         gen_rtx_SET.
12684
12685 2001-07-16  Steve Ellcey <sje@cup.hp.com>
12686
12687         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
12688         in if statement so we don't access undefined memory.
12689
12690 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
12691
12692         * gcse.c: Update comment at top.
12693         Update comment on mem handling.
12694         mem_last_set, mem_first_set, mem_set_in_block: gone.
12695         Declaration of reg_set_info: gone.
12696         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
12697         pointless with load_killed_in_block_p (they are *more*
12698         conservative then it, not less, and less accurate).
12699         (oprs_not_set_p): Ditto.
12700         (alloc_gcse_mem): Don't allocate mem_set_in_block
12701         (free_gcse_mem): Don't free it, either.
12702         (record_last_mem_set_info): Update comment in front, remove
12703         mem_*set_* stuff. Note the reason we don't handle stores directly
12704         here.
12705         (compute_hash_table): Update comments to reflect reality. Remove
12706         mem_*set_* references.
12707         (reset_opr_set_tables): Remove mem_*set_* references.
12708         (mark_call): Ditto.
12709         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
12710         (mark_clobber): Ditto (on both parts, we double set here too).
12711         (expr_killed_p): Remove mem_set_in_block test.
12712         (compute_transp): Remove mem_set_in_block test.
12713
12714         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
12715         of edge, and removal of phi alternative to dump file.
12716         (ssa_ccp_substitute_constants): Add note about register now being
12717         constant, and which uses were replaced in what insns to dump file.
12718
12719 2001-07-16  Andreas Jaeger  <aj@suse.de>
12720
12721         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
12722         variables of type HOST_WIDEST_INT.
12723
12724         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
12725         (__bb_exit_func): Correct type of count_max to avoid overflow.
12726         (num_digits): Handle long long argument.
12727
12728         * combine.c (gen_lowpart_for_combine): Remove unused variable.
12729
12730 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12731
12732         * output.h (sdb_begin_function_line): Restore as an extern
12733         variable.
12734         * sdbout.c (sdb_begin_function_line): Make extern.
12735
12736 2001-07-15  Richard Henderson  <rth@redhat.com>
12737
12738         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
12739         * genrecog.c (maybe_both_true_mode): New.
12740         (maybe_both_true_2): Use it.
12741         (write_switch): Don't put Pmode in a switch.
12742         * rtl.c (mode arrays): Don't explicitly size them.
12743
12744 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12745
12746         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
12747         handling; move unconditional splitting before mode switching.
12748
12749         * i386.md (type): Add fistp type.
12750         (i387, length_attr, scheduling definitions): Handle this type.
12751         (fix_trunc?f?i2): Revamp to use mode switching.
12752         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
12753         * i386.h (fp_cw_mode): New enum
12754         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
12755         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
12756
12757 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12758
12759         * Makefile.in (integrate.o): Add debug.h.
12760         * integrate.c (debug.h): Add.
12761         (output_inline_function): Save, reset, and restore debug_hooks.
12762
12763 2001-07-15  Richard Henderson  <rth@redhat.com>
12764
12765         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
12766         instead of COMPARE for the EQUIV expression.
12767
12768 2001-07-15  Richard Henderson  <rth@redhat.com>
12769
12770         * flow.c (redirect_edge_and_branch_force): Initialize
12771         global_live_at_start and global_live_at_end.
12772         (allocate_bb_life_data): Export.
12773         * basic-block.h (allocate_bb_life_data): Declare.
12774         * toplev.c (rest_of_compilation): Call it.
12775
12776 2001-07-15  Richard Henderson  <rth@redhat.com>
12777
12778         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
12779         (alpha_tablejump_best_label): New.
12780         * config/alpha/alpha-protos.h: Declare them.
12781         * config/alpha/alpha.md: Use braced strings for code blocks.
12782         (tablejump_osf): Break out add with r29.
12783         (tablejump_osf_internal): Remove.
12784         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
12785         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
12786
12787 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12788
12789         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
12790         of the movable.
12791
12792         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
12793
12794         * i386-protos.h (ix86_split_fp_branch): Update prototype.
12795         (ix86_fp_jump_nontrivial_p): New.
12796         * i386.md (fp_jcc_?): Update call of split_fp_branch;
12797         use ix86_fp_jump_nontrivial_p.
12798         * i386.c (ix86_fp_jump_nontrivial_p): New.
12799         (ix86_split_fp_branch): Accept code instead of rtx.
12800         (ix86_expand_compare): Expand comparison early in case
12801         doing so is resonably cheap.
12802
12803 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
12804
12805         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
12806         not 'machine'.
12807         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
12808         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
12809
12810 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
12811
12812         * dbxout.c (dbxout_source_line): Make static, update prototype.
12813         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
12814         (dbxout_init, dbxout_finish, dbxout_source_line,
12815         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
12816         * dbxout.h (dbxout_source_line): Delete.
12817         * debug.c (debug_nothing_file, debug_nothing_file_int,
12818         debug_nothing_file_charstar_rtx): New.
12819         (do_nothing_debug_hooks): Update.
12820         (debug_nothing_void, debug_nothing_charstar_rtx,
12821         dwarf2out_end_epilogue): New.
12822         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12823         * debug.h (struct rtx_def): Declare.
12824         (gcc_debug_hooks): New hooks source_line, end_epilogue
12825         and end_function.
12826         (debug_nothing_void, debug_nothing_charstar_rtx,
12827         dwarf2out_end_epilogue): New.
12828         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12829         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
12830         (dwarf2_debug_hooks): Update.
12831         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
12832         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
12833         * dwarf2out.h (dwarf2out_source_line): Remove.
12834         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
12835         Make static, update prototype.
12836         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
12837         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
12838         (dwarf_debug_hooks): Update.
12839         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
12840         dwarfout_end_function): Remove.
12841         * final.c (profile_function): Use debug hooks for ending functions
12842         and epilogues.
12843         (output_source_line, final_end_function): Update prototype,
12844         use debug hooks.
12845         (final_start_function, final_scan_insn): Update.
12846         * output.h (sdb_begin_function_line): Remove.
12847         (final_end_function): Update prototype.
12848         * sdbout.c (sdb_begin_function_line): Make static.
12849         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
12850         (sdbout_source_line): New.
12851         (sdbout_end_epilogue, sdbout_end_function): Make static, update
12852         prototypes.
12853         (sdb_debug_hooks): Update.
12854         (sdbout_init, sdbout_source_line,
12855         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
12856         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
12857         * toplev.c (compile_file, rest_of_compilation): Update.
12858         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
12859         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
12860         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
12861         Update for prototype changes.
12862         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
12863         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
12864
12865 2001-07-15  Richard Henderson  <rth@redhat.com>
12866
12867         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
12868         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
12869         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
12870         * config/alpha/alpha.c: Likewise.
12871         * config/alpha/alpha.md: Likewise.
12872         * config/alpha/alpha32.h: Likewise.
12873         * config/alpha/vms.h: Likewise.
12874         (OPEN_VMS): Remove.
12875
12876 2001-07-14  Richard Henderson  <rth@redhat.com>
12877
12878         * config/alpha/alpha.md: Use define_constants for unspec values.
12879         Substitute throughout.
12880
12881 2001-07-14  Tim Josling  <tej@melbpc.org.au>
12882
12883         * tree.def (EXPON_EXPR) remove. Never supported anyway.
12884
12885 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12886
12887         * pa.md: Remove unused constraints from define_split's.
12888
12889 2001-04-14  Richard Henderson  <rth@redhat.com>
12890
12891         * ifcvt.c (find_cond_trap): Test for exit block.
12892
12893 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
12894
12895         Re-install recently reverted patch.
12896         * emit-rtl.c (try_split): Update mark_jump_label call.
12897         * flow.c (find_sub_basic_blocks): Likewise.
12898         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
12899         jump_back_p): Kill.
12900         (mark_all_labels): Kill second parameter.
12901         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
12902         (rebuild_jump_labels, jump_optimize_minimal): Update call
12903         of jump_optimize_1.
12904         (jump_optimize_1): Kill crossjumping code.
12905         (mark_jump_label): Kill cross_jump parameter.
12906         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
12907         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
12908         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
12909          splitting.
12910         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
12911         DFI_bpro.
12912         (dump_file_info): Likewise.
12913         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
12914         reorganize passes to do reg-stack first, bb-reorder second.
12915         * invoke.texi (-d letters doc): Remove the jump2 pass.
12916
12917 2001-07-14  Richard Henderson  <rth@redhat.com>
12918
12919         * ifcvt.c (find_cond_trap): New.
12920         (find_if_header): Call it.
12921         (merge_if_block): Relax existing jump sanity check.
12922         * jump.c (jump_optimize_1): Remove conditional trap handling.
12923
12924 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
12925
12926         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
12927         millicode.
12928         (insn_refs_are_delayed): Correct comment.
12929         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
12930         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
12931         instead of r31.  Make associated insn !TARGET_64BIT, and
12932         provide an additional 64-bit insn that clobbers r2.
12933         (divsi3): Likewise.
12934         (udivsi3): Likewise.
12935         (modsi3): Likewise.
12936         (umodsi3): Likewise.
12937
12938 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
12939
12940         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
12941
12942         * flow.c (redirect_edge_and_branch_force, split_edge,
12943         try_crossjump_to_edge): Use set_block_for_new_insns.
12944         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
12945
12946 2001-07-13  H.J. Lu  (hjl@gnu.org)
12947
12948         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
12949         the correct patch.
12950
12951 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
12952
12953         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
12954
12955 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
12956
12957         * c-common.c (decl_attributes): Take a pointer to the node to
12958         which attributes are to be attached, and a flags argument.
12959         * c-common.h (enum attribute_flags): New.
12960         (decl_attributes): Update prototype.
12961         * c-decl.c (start_decl, push_parm_decl, finish_struct,
12962         finish_enum, start_function): Update calls to decl_attributes.
12963         * c-parse.in (component_declarator, component_notype_declarator,
12964         label): Update calls to decl_attributes.
12965
12966 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
12967
12968         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
12969         * config/avr/avr.c (legitimate_address_p): Return value changed
12970         from letter to register classes. For better debugging.
12971
12972 2001-07-13  Kazu Hirata  <kazu@hxi.com>
12973
12974         * jump.c (reversed_comparison_code_parts): Fix comment typos.
12975
12976 2001-07-13  H.J. Lu  (hjl@gnu.org)
12977
12978         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
12979
12980 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
12981
12982         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
12983         correctly for shared configurations.
12984         * config/t-libgcc-pic:  New.
12985         * config/{i386,m68k,sparc}/t-openbsd:  New.
12986         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
12987         Support -shared.  Support debugging libraries with -g.
12988         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
12989         frame information does not emit pointer diffs.
12990         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
12991         emit pointer diffs.
12992
12993 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
12994
12995         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
12996
12997 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
12998
12999         * combine.c (try_combine): Ensure const_int pow2 is positive.
13000
13001 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
13002
13003         * config.gcc: Add configuration for s/390.
13004         * config/s390/s390.c: New. Subroutines for code generation.
13005         * config/s390/s390.h: New. Definitions for s/390.
13006         * config/s390/s390-protos.h: New. Prototypes.
13007         * config/s390/linux.h: New. Definitions for linux for s/390.
13008         * config/s390/linux64.h: New. Definitions for linux for zSeries.
13009         * config/s390/t-linux: New. Makefile fragment.
13010         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
13011         * config/s390/fixdfdi.h: New. Fix L_fix*di.
13012
13013 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
13014
13015         * emit-rtl.c (try_split): Update mark_jump_label call.
13016         * flow.c (find_sub_basic_blocks): Likewise.
13017         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13018         jump_back_p): Kill.
13019         (mark_all_labels): Kill second parameter.
13020         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13021         (rebuild_jump_labels, jump_optimize_minimal): Update call
13022         of jump_optimize_1.
13023         (jump_optimize_1): Kill crossjumping code.
13024         (mark_jump_label): Kill cross_jump parameter.
13025         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13026         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13027         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13028          splitting.
13029         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13030         DFI_bpro.
13031         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13032         reorganize passes to do reg-stack first, bb-reorder second.
13033         * invoke.texi (-d letters doc): Remove the jump2 pass.
13034
13035 2001-07-12  Steve Ellcey <sje@cup.hp.com>
13036
13037         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
13038
13039 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13040
13041         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
13042         basic blocks.
13043         (verify_flow_info): Make diagnostics prettier.
13044
13045 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
13046
13047         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
13048
13049         * flow.c (outgoing_edges_match): Return early if condition reversal
13050         failed.
13051
13052 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
13053
13054         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
13055         (mips_move_2words): When splitting a move into two instructions,
13056         prefix the second address operand with '%D'.
13057
13058 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13059
13060         * Makefile.in (final.o): Depend on debug.h.
13061         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
13062         (dbx_debug_hooks): Add new hooks.
13063         (xcoff_debug_hooks): New.
13064         * debug.c (debug_nothing_file_int_int): New.
13065         (do_nothing_debug_hooks): Update.
13066         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
13067         (debug_nothing_file_int_int): New.
13068         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
13069         static, update prototype.
13070         (dwarf2_debug_hooks): Update.
13071         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
13072         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
13073         static, update prototype.
13074         (dwarf_debug_hooks): Update.
13075         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
13076         * final.c: Include debug.h.
13077         (final_scan_insn): Use debug hooks when beginning and ending blocks.
13078         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
13079         static, update prototype.
13080         (sdb_debug_hooks): Update.
13081         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
13082         * toplev.c: Distinguish between xcoff and dbx.
13083
13084         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
13085         Call all debug hooks, not just dwarf ones.
13086
13087 2001-07-11  Timothy Wall  <twall@redhat.com>
13088
13089         * config.gcc: Add configuration for AIX5/IA64.
13090         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
13091         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
13092         support prefix/suffix code.
13093         * config/ia64/t-aix: New.  Makefile fragment.
13094         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
13095
13096 2001-07-11  Kazu Hirata  <kazu@hxi.com>
13097
13098         * recog.c (validate_change): Fix a comment typo.
13099
13100 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13101
13102         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
13103         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
13104         hooks directly.
13105         * dbxout.c (dbx_debug_hooks): Add new hooks.
13106         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
13107         make static.
13108         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
13109         make static.
13110         * dbxout.h (dbxout_start_new_source_file,
13111         dbxout_resume_previous_source_file): Delete.
13112         * debug.c (do_nothing_debug_hooks): Add new hooks.
13113         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13114         (debug_nothing_int_charstar, debug_nothing_int): New.
13115         * debug.h (gcc_debug_hooks): New hooks define, undef,
13116         start_source_file and end_source_file.
13117         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13118         (debug_nothing_int_charstar, debug_nothing_int): New.
13119         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
13120         the conditionally compiled section.
13121         (dwarf2out_start_source_file, dwarf2out_end_source_file,
13122         dwarf2out_define, dwarf2out_undef): Make static.
13123         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
13124         dwarf2out_define, dwarf2out_undef): Remove.
13125         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
13126         (dwarfout_start_source_file, dwarfout_end_source_file,
13127         dwarfout_define, dwarfout_undef): Make static.
13128         (dwarfout_start_source_file_check,
13129         dwarfout_end_source_file_check): New.
13130         (dwarfout_define, dwarfout_finish): Update.
13131         * dwarfout.h (dwarfout_start_new_source_file,
13132         dwarfout_resume_previous_source_file, dwarfout_define,
13133         dwarfout_undef): Remove.
13134         * sdbout.c (sdb_debug_hooks): Add new hooks.
13135         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
13136         make static.
13137         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
13138         make static, take an arg.
13139         * sdbout.h (sdbout_start_new_source_file,
13140         sdbout_resume_previous_source_file): Delete.
13141         * toplev.c (debug_start_source_file, debug_end_source_file,
13142         debug_define, debug_undef): Delete.
13143         * toplev.h (debug_start_source_file, debug_end_source_file,
13144         debug_define, debug_undef): Delete.
13145
13146         * java/jcf-parse.c: Include debug.h.
13147         (parse_class_file): Update to use debug hooks directly.
13148         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
13149
13150 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13151
13152         * alias.c (set_mem_alias_set): New function.
13153         * rtl.h (set_mem_alias_set): Declare it.
13154         * builtins.c (expand_builtin_return_addr): Call it instead of
13155         using MEM_ALIAS_SET accessor.
13156         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
13157         (get_memory_rtx, expand_builtin_va_arg): Likewise.
13158         (expand_builtin_va_copy):Likewise.
13159         * caller-save.c (setup_save_areas): Likewise.
13160         * calls.c (compute_argument_addresses): Likewise.
13161         * explow.c (set_mem_attributes): Likewise.
13162         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
13163         (expand_assignment, store_constructor_field, store_field): Likewise.
13164         (expand_expr_unaligned): Likewise.
13165         * function.c (assign_stack_temp_for_type): Likewise.
13166         (put_reg_into_stack, gen_mem_addressof): Likewise.
13167         * ifcvt.c (noce_try_cmove_arith): Likewise.
13168         * reload1.c (reload, alter_reg): Likewise.
13169         * config/alpha/alpha.c (get_aligned_mem): Likewise.
13170         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
13171         (alpha_expand_unaligned_store): Likewise
13172         (alpha_expand_unaligned_load_words): Likewise.
13173         (alpha_expand_unaligned_store_words): Likewise.
13174         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
13175         (alpha_expand_epilogue): Likewise.
13176         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
13177         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
13178         * config/i386/i386.c (legitimize_pic_address): Likewise.
13179         * config/i960/i960.c (setup_incoming_varargs): Likewise.
13180         * config/ia64/ia64.c (spill_restore_mem): Likewise.
13181         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
13182         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
13183         * config/mips/mips.c (mips_va_arg): Likewise.
13184         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
13185         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
13186         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
13187         (setup_incoming_varargs, rs6000_va_arg): Likewise.
13188         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
13189         (rs6000_emit_epilogue): Likewise.
13190         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
13191         * config/sparc/sparc.c (sparc_va_arg): Likewise.
13192         * config/v850/v850.c (v850_va_arg): Likewise.
13193
13194 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
13195
13196         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
13197         when fallthru edge is present.
13198         (mege_blocks): Handle case where creation of jump insn
13199         is required.
13200
13201         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
13202         CLEANUP_POST_REGSTACK): New constants.
13203         * except.c (finish_eh_generation): Update call of cleanup_cfg,
13204         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
13205         * output.h (cleanup_cfg): Update prototype.
13206         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
13207         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
13208         cleanup_cfg call; kill missleading comment.
13209         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
13210         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
13211         parameter; control optimizations performed using it.
13212         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
13213         try_crossjump_bb): New functions.
13214
13215 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13216
13217         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
13218         extern.
13219         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
13220         pa_output_function_prologue.
13221         * pa-protos.h (pa_output_function_prologue): New prototype.
13222
13223 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13224
13225         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
13226         and low to get correct sign extension in low+high test.
13227
13228 2001-07-11  Janis Johnson <janis@us.ibm.com>
13229
13230         * gcov.c (arcdata): Use gcov_type to fix branch percentage
13231         for large hit count.
13232
13233         * profile.c (branch_prob): Fix .bbg info for computed gotos
13234         and C++ EH code.
13235
13236 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
13237
13238         * stmt.c (parse_output_constraint): New function, split out
13239         from ...
13240         (expand_asm_operands): ... here.  Use parse_output_constraint.
13241         * tree.h (parse_output_constraint): Declare it.
13242
13243 2001-07-11  Richard Henderson  <rth@redhat.com>
13244
13245         * bitmap.c: Comment some functions; fiddle whitespace.
13246         (bitmap_free): Don't export.
13247         (bitmap_element_allocate): Use memset.
13248         * bitmap.h (bitmap_free): Don't declare.
13249
13250 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
13251
13252         * gcse.c, lcm.c, sched-deps.c:
13253         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
13254
13255         * flow.c (flow_loops_find): Free dom if we found no loops, since
13256         we aren't going to save it.
13257
13258         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
13259         done.
13260
13261 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
13262
13263         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
13264
13265 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13266
13267         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
13268         #ifndef DWARF2_DEBUGGING_INFO.
13269
13270 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13271
13272         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
13273
13274 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13275
13276         * config/mips/mips.c (gen_int_relational): Tell the caller not to
13277         reverse a branch if a NE comparison is implemented with GTU.
13278
13279 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
13280             H.J. Lu  <hjl@gnu.org>
13281
13282         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
13283         constant addresses.
13284         (call_internal2): Likewise.
13285         (call_value_internal1): Likewise.
13286         (call_value_internal2): Likewise.
13287         (call_value_multiple_internal1): Likewise.
13288         (call_value_multiple_internal2): Likewise.
13289
13290 2001-07-10  Kazu Hirata  <kazu@hxi.com>
13291
13292         * calls.c (emit_library_call_value_1): Fix a comment typo.
13293         * dwarf2out.c (mem_loc_descriptor): Likewise.
13294         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
13295
13296 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
13297
13298         * simplify-rtx.c (simplify_subreg): Fix typo in comment
13299
13300 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13301
13302         * recog.c (offsettable_address_p): Handle LO_SUM case.
13303         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
13304         instead of plus_constant.
13305
13306 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13307
13308         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
13309         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
13310
13311 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13312
13313         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
13314         adjust_address_nv instead of plus_constant.
13315
13316 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
13317
13318         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
13319         dwarf2out.o): Depend on debug.h, wrap long lines.
13320         * dbxout.c: Include debug.h.
13321         (dbx_debug_hooks): New.
13322         (dbxout_init): Make static, take just 2 args.
13323         (dbxout_finish): Make static.
13324         * dbxout.h (dbxout_init, dbxout_finish): Delete.
13325         * debug.c: New file.
13326         * debug.h: New file.
13327         * dwarf2out.c: Include debug.h.
13328         (dwarf2_debug_hooks): New.
13329         (dwarf2out_init): Make static.
13330         (dwarf2out_finish): Make static, take 2 args.
13331         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
13332         * dwarfout.c: Include debug.h.
13333         (dwarf_debug_hooks): New.
13334         (dwarfout_init): Make static.
13335         (dwarfout_finish): Make static, take 2 args.
13336         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
13337         * sdbout.c: Include debug.h.
13338         (sdb_debug_hooks): New.
13339         (sdbout_init): Make static, take 2 args.
13340         * sdbout.h (sdbout_init): Delete.
13341         * toplev.c: Include debug.h.
13342         (debug_hooks): New.
13343         (compile_file): Set deubg_hooks based on command line options.
13344         Use the hooks unconditionally rather than conditional compilation.
13345
13346 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
13347
13348         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
13349         first_insn_after_basic_block_note instead.
13350
13351         * df.c (df_bb_refs_unlink): #if 0 out for now.
13352
13353 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
13354
13355         * ssa.h: Add prototype for ssa_const_prop
13356         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
13357         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
13358         (ssa_fast_dce): Remove unused variable
13359
13360 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13361
13362         * diagnostic.c (finish_diagnostic): Rename to
13363         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
13364         calls thourghout.
13365
13366 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
13367
13368         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
13369         .loc support.
13370
13371         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
13372         (dump_file): Only pad the demangled name with spaces if the
13373         mangled name was padded with spaces.
13374
13375 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
13376
13377         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
13378         edge detection.
13379
13380 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13381
13382         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
13383         extraction if no direct load if either EXPAND_CONST_ADDRESS or
13384         EXPAND_INITIALIZER.
13385
13386         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
13387         whether can put offset inside LO_SUM to check mode alignment, not size.
13388
13389 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
13390
13391         * doc/tm.texi (Misc): Fix thinko.
13392
13393 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
13394
13395         * regmove.c (replace_in_call_usage): Fix warnings.
13396         * sched-deps.c (add_dependence): Fix warnings.
13397         * simplify-rtx.c (simplify_subreg): Likewise.
13398         Return NULL_RTX instead of NULL.
13399
13400         * reg-stack.c (emit_swap_insn): Eliminate warnings.
13401         (subst_asm_stack_regs): Likewise.
13402
13403         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
13404         warnings.
13405
13406         * dwarf2out.c (output_call_frame_info): Declare i as int.
13407         (build_abbrev_table): Declare n_alloc as int.
13408         (dwarf2out_finish): Initialize die.
13409         * except.c: Declare sjlj_funcdef_number as unsigned.
13410         (connect_post_landing_pads): Declare j as unsigned.
13411         (convert_to_eh_region_ranges): Initialize call_site.
13412         (output_function_exception_table): Initialize tt_format_size.
13413         * expr.c (move_by_pieces_1): Initialize to1.
13414         (store_constructor): Initialize minelt and maxelt.
13415         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
13416         * function.c (instantiate_decls): Avoid signed/unsigned warning.
13417
13418         * c-decl.c (combine_parm_decls): Unused, remove.
13419         * c-tree.h: Remove prototype for combine_parm_decls.
13420
13421         * reload.c (push_reload): Fix warning.
13422         (regno_clobbered_p): Likewise.
13423         * reload1.c (replace_pseudos_in_call_usage): Likewise.
13424         (reload_combine): Likewise.
13425
13426         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
13427         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
13428         warnings.
13429         * bitmap.c (bitmap_operation): Change user.
13430         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
13431
13432 2001-07-10  Eric Christopher  <echristo@redhat.com>
13433
13434         * config/mips/mips.c (override_options): Fix typo.
13435
13436 2001-07-09  Stan Shebs  <shebs@apple.com>
13437
13438         * target.h (struct gcc_target): New fields init_builtins and
13439         expand_builtin.
13440         * target-def.h (TARGET_INIT_BUILTINS): New macro.
13441         (TARGET_EXPAND_BUILTIN): New macro.
13442         (TARGET_INITIALIZER): Add them.
13443         * builtins.c: Include target.h.
13444         (expand_builtin): Use targetm.expand_builtin.
13445         (default_init_builtins): New function.
13446         (default_expand_builtin): New function.
13447         * expr.h (default_init_builtins): Declare.
13448         (default_expand_builtin): Declare.
13449         * c-common.c (c_common_nodes_and_builtins): Use
13450         targetm.init_builtins.
13451         * defaults.h (MD_INIT_BUILTINS): Remove.
13452         * Makefile.in (builtins.o): Depend on target.h.
13453
13454         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
13455         (TARGET_EXPAND_BUILTIN): Define.
13456         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
13457         (MD_EXPAND_BUILTIN): Remove.
13458
13459         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
13460         (TARGET_EXPAND_BUILTIN): Define.
13461         (c4x_init_builtins): Make endlink arg a local.
13462         (c4x_print_operand): Fix typos in adjust_address usages.
13463         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
13464         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
13465         (MD_EXPAND_BUILTIN): Remove.
13466
13467         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
13468         (TARGET_EXPAND_BUILTIN): Define.
13469         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
13470         (ix86_init_builtins): Call new function only if TARGET_MMX.
13471         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
13472         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
13473         (MD_EXPAND_BUILTIN): Remove.
13474
13475         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
13476         (TARGET_EXPAND_BUILTIN): Define.
13477         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
13478         (MD_EXPAND_BUILTIN): Remove.
13479
13480         * doc/tm.texi: Document these changes.
13481
13482 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
13483
13484         * basic-block.h (tree_node): Forward declare if needed.
13485         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
13486         (BLOCK_HEAD_TREE): Define.
13487         (BLOCK_END_TREE): Define.
13488         (struct loops): Rename field 'tree' to 'tree_root'.
13489         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
13490         'end_tree'.
13491         (flow_loops_tree_build): Rename reference to field 'tree' to
13492         'tree_root'.
13493         (flow_loops_level_compute): Ditto.
13494         * predict.c (estimate_bb_frequencies): Ditto.
13495         * tree.h (struct tree_common): Add field 'aux'.
13496
13497 2001-07-09  Stan Shebs  <shebs@apple.com>
13498
13499         * config/darwin.c (darwin_encode_section_info): Don't mark any
13500         DECL_EXTERNAL node as defined.
13501
13502 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13503
13504         * pa.c (pa_init_machine_status, pa_mark_machine_status,
13505         pa_free_machine_status, hppa_init_pic_save): Delete.
13506         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
13507         (hppa_profile_hook): Use hppa_pic_save_rtx.
13508         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
13509         hppa_init_pic_save): Delete.
13510         (hppa_pic_save_rtx): Declare.
13511         * pa.md (call, call_value, sibcall, sibcall_value,
13512         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
13513
13514 2001-07-09  Kazu Hirata  <kazu@hxi.com>
13515
13516         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
13517         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
13518
13519 2001-07-09  Andreas Jaeger  <aj@suse.de>
13520
13521         * output.h: Add declaration of final_forward_branch_p.
13522
13523         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
13524
13525         * varray.c: Include errors.h for internal_error and trim_filename
13526         declarations.
13527
13528         * Makefile.in (varray.o): Add errors.h.
13529
13530 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
13531
13532         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
13533         * optabs.c (have_add2_insn): Check whether the add insn chosen
13534         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
13535         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
13536
13537 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
13538
13539         * Makefile.in (OBJS): Add ssa-ccp.o
13540         (ssa-ccp.o): Add dependencies.
13541         * toplev.c (DFI_ssa_ccp): New dump file enum.
13542         (dump_file): Add entry for dumping after SSA CCP.
13543         (flag_ssa_ccp): New flag variable.
13544         (f_options): Add -fssa-ccp.
13545         (rest_of_compilation): Run SSA CCP if requested.
13546         * timevar.def (TV_SSA_CCP): New timevar.
13547         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
13548         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
13549         Fix minor typo in SSA DCE documentation.
13550         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
13551         Add documentation for new dump option.  Renumber dump files
13552         appropriately.
13553
13554 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13555
13556         * emit-rtl.c (gen_highpart_mode): New.
13557         * rtl.h (gen_highpart_mode): Declare.
13558         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
13559         operand can be VOIDmode constant.
13560
13561 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
13562
13563         * flow.c (redirect_edge_and_branch_force): New.
13564         (can_fallthru): Ensure that basic blocks are succeeding.
13565         (try_optimize_cfg): Do not delete basic block if it is the last one.
13566
13567         * flow.c (try_redirect_by_replacing_jump): Do not remove
13568         jumps with side effects, unlink chain on fallthru edge;
13569         set block for new jump instruction; avoid basic block to
13570         over by line number note.
13571
13572         * flow.c (try_simplify_condjump): Verify that the condjump
13573         is not always falling through.
13574
13575         Re-install patch:
13576         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13577
13578         * flow.c (forwarder_block_p): Fix for fallthru blocks.
13579         (try_redirect_by_replacing_jump): Update properly the count
13580         and frequency information.
13581
13582 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13583
13584         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
13585         address that is a LO_SUM specially.
13586         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
13587
13588         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
13589
13590         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
13591         (operand_subword): Use them.
13592         (change_address_1): Renamed from change_address; new arg VALIDATE.
13593         * expr.h: Reflect above changes; change_address now macro.
13594         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
13595         making MEM.
13596         * cselib.c (add_mem_for_addr): Likewise.
13597         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
13598         * regmove.c (try_apply_stack_adjustment): Likewise.
13599         * reload.c (push_reload, make_memloc): Likewise.
13600         * reload1.c (eliminate_regs): Likewise.
13601         * simplify-rtx.c (simplify_replace_rtx): Likewise.
13602         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
13603         adjust_addess.
13604         * combine.c (make_extraction, simplify_shift_const): Likewise.
13605         (gen_lowpart_for_combine): Likewise.
13606         * cse.c (gen_lowpart_if_possible): Likewise.
13607         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
13608         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
13609         * optabs.c (gen_move_insn): Likewise.
13610         * reload1.c (alter_reg): Likewise.
13611         * simplify-rtx.c (simplify_subreg): Likewise.
13612         * stmt.c (expand_anon_union_decl): Likewise.
13613         * recog.c (validate_replace_rtx_1): Likewise.
13614         (expr.h): Include.
13615         * Makefile.in (recog.o): Add $(EXPR_H).
13616         * explow.c (stabilize): Call replace_equiv_address.
13617         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
13618         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
13619
13620 2001-07-03  Andrew Haley  <aph@redhat.com>
13621
13622         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
13623         the mode of the memory location.
13624
13625 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
13626
13627         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
13628
13629 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13630
13631         * final.c (output_addr_const): Use target opening and
13632         closing parentheses.
13633         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
13634         defaults, add to TARGET_ASM_OUT.
13635         * target.h (struct gcc_target): Add open_paren and close_paren.
13636         * doc/md.texi: Update.
13637         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
13638         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
13639         TARGET_ASM_CLOSE_PAREN.
13640         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13641         Override.
13642         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13643         Override.
13644         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
13645         * config/a29k/a29k.h: Similarly.
13646         * config/alpha/alpha.h: Similarly.
13647         * config/arc/arc.h: Similarly.
13648         * config/arm/aof.h: Similarly.
13649         * config/arm/aout.h: Similarly.
13650         * config/avr/avr.h: Similarly.
13651         * config/c4x/c4x.h: Similarly.
13652         * config/clipper/clipper.h: Similarly.
13653         * config/convex/convex.h: Similarly.
13654         * config/d30v/d30v.h: Similarly.
13655         * config/dsp16xx/dsp16xx.h: Similarly.
13656         * config/elxsi/elxsi.h: Similarly.
13657         * config/fr30/fr30.h: Similarly.
13658         * config/h8300/h8300.h: Similarly.
13659         * config/i370/i370.h: Similarly.
13660         * config/i386/i386.h: Similarly.
13661         * config/i860/i860.h: Similarly.
13662         * config/i960/i960.h: Similarly.
13663         * config/ia64/ia64.h: Similarly.
13664         * config/m32r/m32r.h: Similarly.
13665         * config/m68hc11/m68hc11.h: Similarly.
13666         * config/m68k/m68k.h: Similarly.
13667         * config/m88k/m88k.h: Similarly.
13668         * config/mcore/mcore.h: Similarly.
13669         * config/mips/mips.h: Similarly.
13670         * config/mn10200/mn10200.h: Similarly.
13671         * config/mn10300/mn10300.h: Similarly.
13672         * config/ns32k/ns32k.h: Similarly.
13673         * config/pa/pa.h: Similarly.
13674         * config/pdp11/pdp11.h: Similarly.
13675         * config/pj/pj.h: Similarly.
13676         * config/romp/romp.h: Similarly.
13677         * config/rs6000/rs6000.h: Similarly.
13678         * config/sh/sh.h: Similarly.
13679         * config/sparc/sparc.h: Similarly.
13680         * config/v850/v850.h: Similarly.
13681         * config/vax/vax.h: Similarly.
13682         * config/we32k/we32k.h: Similarly.
13683
13684 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
13685
13686         * doc/c-tree.texi: Document representation of attributes.
13687
13688 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13689
13690         * doc/tm.texi: Update some places for the rename of target to
13691         targetm.  Fix typo.
13692
13693 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13694
13695         * target.h (struct gcc_target): Add insert_attributes.
13696         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
13697         (TARGET_INITIALIZER): Update.
13698         * tree.c, tree.h (default_insert_attributes): New function.
13699         Update comments on other default functions to refer to targetm,
13700         not target.
13701         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
13702         TARGET_INSERT_ATTRIBUTES.
13703         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
13704         * c-common.c (decl_attributes): Use targetm.insert_attributes.
13705         Don't use PRAGMA_INSERT_ATTRIBUTES.
13706         * Makefile.in (c-common.o): Depend on $(TARGET_H).
13707         * c-decl.c (start_decl, start_function): Don't call
13708         SET_DEFAULT_DECL_ATTRIBUTES.
13709         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13710         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
13711         declare.
13712         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
13713         (c4x_check_attribute): Avoid modifying attribute list itself.
13714         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
13715         Make static.
13716         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
13717         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
13718         declare.
13719         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
13720         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
13721         Make static.
13722         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13723         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
13724         declare.
13725         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
13726         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
13727         Adjust parameters.  Make static.
13728
13729 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
13730
13731         * c-common.c (decl_attributes): Only take a single attributes
13732         parameter.
13733         * c-common.h (decl_attributes): Update prototype.
13734         * c-decl.c (start_decl, start_function): Only take a single
13735         attributes parameter.  Update calls to decl_attributes.
13736         (finish_struct, finish_enum): Update calls to decl_attributes.
13737         (push_parm_decl): Expect unified list of attributes.  Update call
13738         to decl_attributes.
13739         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
13740         notype_nested_function, component_declarator,
13741         component_notype_declarator, label): Update calls to
13742         decl_attributes.
13743         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
13744         lists that are passed to push_parm_decl.
13745         * c-tree.h (start_function, start_decl): Update prototypes.
13746         * config/sh/sh-protos.h, config/sh/sh.c
13747         (sh_pragma_insert_attributes): Only take a single attributes
13748         parameter.
13749         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
13750         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
13751         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
13752         build_module_descriptor, generate_static_references,
13753         generate_strings, build_selector_translation_table,
13754         generate_descriptor_table, generate_protocols,
13755         generate_ivars_list, generate_dispatch_table,
13756         generate_protocol_list, generate_category,
13757         generate_shared_structures, really_start_method, add_objc_decls,
13758         generate_classref_translation_entry): Update calls to start_decl
13759         and start_function.
13760         (build_tmp_function_decl, start_method_def): Unify attribute lists
13761         that are passed to push_parm_decl.
13762
13763 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
13764
13765         * final.c (no_asm_to_stream): New.
13766         (final_scan_insn): Use target structures for prologue ends
13767         and epilogue starts.
13768         * output.h (no_asm_to_stream): New.
13769         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
13770         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
13771         (TARGET_ASM_OUT): Update.
13772         * target.h (struct gcc_target): New members function_end_prologue
13773         and function_begin_epilogue.
13774         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
13775         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
13776         * config/alpha/alpha.c (output_end_prologue): Rename to
13777         alpha_output_function_end_prologue.  Use in target struct
13778         and make static.
13779         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
13780         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
13781         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
13782         ia64_output_function_end_prologue.  Use in target struct
13783         and make static.
13784         (ia64_function_prologue, ia64_funciton_epilogue): Rename
13785         mistyped prototypes.
13786         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
13787         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
13788         Delete.
13789         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
13790         an use in target struct, make static.
13791         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
13792         Delete.
13793
13794 2001-07-08  Richard Henderson  <rth@redhat.com>
13795
13796         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
13797
13798 2001-07-08  Richard Henderson  <rth@redhat.com>
13799
13800         * config/i386/i386.md: Remove constraints strings from define_split
13801         and define_peephole2 patterns.
13802         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
13803         (eh_return): Use them.
13804
13805 2001-07-08  Richard Henderson  <rth@redhat.com>
13806
13807         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
13808         Document MD_FALLBACK_FRAME_STATE_FOR.
13809
13810 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13811
13812         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
13813         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
13814         elimination.
13815         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
13816
13817 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
13818
13819         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
13820         of the label inside NAME as opposed to just the end of NAME.
13821
13822 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13823
13824         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
13825         * config/alpha/alpha.c (alpha_init_machine_status,
13826         alpha_mark_machine_status, alpha_free_machine_status): Delete.
13827         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
13828         (vms_valid_decl_attribute_p): Make static, conditionally compile.
13829         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
13830
13831 2001-07-06  Stan Shebs  <shebs@apple.com>
13832
13833         * target.h (targetm): Rename global from "target", so as not to
13834         conflict with local variables.
13835         * c-decl.c: Ditto.
13836         * c-typeck.c: Ditto.
13837         * final.c: Ditto.
13838         * tree.c: Ditto.
13839         * cp/decl.c: Ditto.
13840         * cp/decl2.c: Ditto.
13841         * cp/typeck.c: Ditto.
13842         * 1750a/1750a.c: Ditto.
13843         * a29k/a29k.c: Ditto.
13844         * arc/arc.c: Ditto.
13845         * arm/arm.c: Ditto.
13846         * avr/avr.c: Ditto.
13847         * clipper/clipper.c: Ditto.
13848         * convex/convex.c: Ditto.
13849         * d30v/d30v.c: Ditto.
13850         * dsp16xx/dsp16xx.c: Ditto.
13851         * elxsi/elxsi.c: Ditto.
13852         * fr30/fr30.c: Ditto.
13853         * h8300/h8300.c: Ditto.
13854         * i370/i370.c: Ditto.
13855         * i386/i386.c: Ditto.
13856         * i860/i860.c: Ditto.
13857         * i960/i960.c: Ditto.
13858         * ia64/ia64.c: Ditto.
13859         * m32r/m32r.c: Ditto.
13860         * m68hc11/m68hc11.c: Ditto.
13861         * m68k/m68k.c: Ditto.
13862         * m88k/m88k.c: Ditto.
13863         * mips/mips.c: Ditto.
13864         * ns32k/ns32k.c: Ditto.
13865         * pa/pa.c: Ditto.
13866         * pdp11/pdp11.c: Ditto.
13867         * romp/romp.c: Ditto.
13868         * rs6000/rs6000.c: Ditto.
13869         * sh/sh.c: Ditto.
13870         * sparc/sparc.c: Ditto.
13871         * vax/vax.c: Ditto.
13872         * we32k/we32k.c: Ditto.
13873         * doc/tm.texi: Update the manual to match.
13874
13875 2001-07-06  Richard Henderson  <rth@redhat.com>
13876
13877         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
13878         DWARF2_UNWIND_INFO not just whether it is defined.
13879
13880 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
13881
13882         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
13883         call to simplify_binary_operation returns a new pattern.
13884
13885 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
13886
13887         * glimits.h (__SHRT_MAX__): New.
13888         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
13889         (SHRT_MAX): Define in terms of __SHRT_MAX__.
13890
13891 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
13892
13893         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
13894         avoid warnings.
13895
13896 2001-07-06  Richard Henderson  <rth@redhat.com>
13897
13898         * bitmap.c (bitmap_release_memory): Move adjacent to the
13899         allocation functions.
13900         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
13901         the implementation.  Binary search for the set bit.
13902         (bitmap_union_of_diff): Allocate the temporary on the stack
13903         instead of using xmalloc.
13904
13905 2001-07-06  Richard Henderson  <rth@redhat.com>
13906
13907         * genrecog.c (validate_pattern): Warn for constraints in
13908         define_{expand,split,peephole2}.  Remove strict_low_part
13909         before looking up match_dup.
13910
13911 2001-07-06  DJ Delorie  <dj@redhat.com>
13912
13913         * doc/gcc.texi (Makefile): Rename to be a more general purpose
13914         chapter about various build hints and history.  Add section
13915         talking about the various types of native and cross builds.
13916
13917 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
13918
13919         * Makefile.in (final.o): Depend on target.h.
13920         * final.c: Include target.h.
13921         (default_function_pro_epilogue): New.
13922         (final_start_function): Use target structure for function prologues.
13923         (final_end_function): Use target structure for function epilogues.
13924         * fold-const.c (real_hex_to_f): Constify s and p.
13925         * output.h (default_function_pro_epilogue): New.
13926         * real.h (real_hex_to_f): Update prototype.
13927         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
13928         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
13929         (TARGET_INITIALIZER): Update.
13930         * target.h (gcc_target): Add struct asm_out.
13931         * doc/tm.texi: Update.
13932
13933 config:
13934         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
13935         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
13936         in cpu/cpu.c, or rename old functions consistently.  Take
13937         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
13938         redundant macros and prototypes.  Make new functions static.
13939
13940         * 1750a/1750a.c: Similarly.
13941         * 1750a/1750a.h: Similarly.
13942         * a29k/a29k-protos.h: Similarly.
13943         * a29k/a29k.c: Similarly.
13944         * a29k/a29k.h: Similarly.
13945         * arc/arc-protos.h: Similarly.
13946         * arc/arc.c: Similarly.
13947         * arc/arc.h: Similarly.
13948         * arm/arm-protos.h: Similarly.
13949         * arm/arm.c: Similarly.
13950         * arm/arm.h: Similarly.
13951         * avr/avr-protos.h: Similarly.
13952         * avr/avr.c: Similarly.
13953         * avr/avr.h: Similarly.
13954         * clipper/clipper-protos.h: Similarly.
13955         * clipper/clipper.c: Similarly.
13956         * clipper/clipper.h: Similarly.
13957         * convex/convex.c: Similarly.
13958         * convex/convex.h: Similarly.
13959         * d30v/d30v-protos.h: Similarly.
13960         * d30v/d30v.c: Similarly.
13961         * d30v/d30v.h: Similarly.
13962         * d30v/d30v.md: Similarly.
13963         * dsp16xx/dsp16xx-protos.h: Similarly.
13964         * dsp16xx/dsp16xx.c: Similarly.
13965         * dsp16xx/dsp16xx.h: Similarly.
13966         * elxsi/elxsi.c: Similarly.
13967         * elxsi/elxsi.h: Similarly.
13968         * fr30/fr30.c: Similarly.
13969         * fr30/fr30.md: Similarly.
13970         * h8300/h8300-protos.h: Similarly.
13971         * h8300/h8300.c: Similarly.
13972         * h8300/h8300.h: Similarly.
13973         * i370/i370-protos.h: Similarly.
13974         * i370/i370.c: Similarly.
13975         * i370/i370.h: Similarly.
13976         * i386/i386.c: Similarly.
13977         * i386/osf1elf.h: Similarly.
13978         * i386/osfrose.h: Similarly.
13979         * i860/i860-protos.h: Similarly.
13980         * i860/i860.c: Similarly.
13981         * i860/i860.h: Similarly.
13982         * i960/i960-protos.h: Similarly.
13983         * i960/i960.c: Similarly.
13984         * i960/i960.h: Similarly.
13985         * ia64/ia64-protos.h: Similarly.
13986         * ia64/ia64.c: Similarly.
13987         * ia64/ia64.h: Similarly.
13988         * m32r/m32r-protos.h: Similarly.
13989         * m32r/m32r.c: Similarly.
13990         * m32r/m32r.h: Similarly.
13991         * m68hc11/m68hc11-protos.h: Similarly.
13992         * m68hc11/m68hc11.c: Similarly.
13993         * m68hc11/m68hc11.h: Similarly.
13994         * m68k/crds.h: Similarly.
13995         * m68k/dpx2.h: Similarly.
13996         * m68k/m68k-protos.h: Similarly.
13997         * m68k/m68k.c: Similarly.
13998         * m68k/m68k.h: Similarly.
13999         * m68k/news.h: Similarly.
14000         * m88k/m88k-protos.h: Similarly.
14001         * m88k/m88k.c: Similarly.
14002         * m88k/m88k.h: Similarly.
14003         * mips/mips-protos.h: Similarly.
14004         * mips/mips.c: Similarly.
14005         * mips/mips.h: Similarly.
14006         * ns32k/merlin.h: Similarly.
14007         * ns32k/ns32k.c: Similarly.
14008         * ns32k/ns32k.h: Similarly.
14009         * ns32k/tek6000.h: Similarly.
14010         * pa/pa-protos.h: Similarly.
14011         * pa/pa.c: Similarly.
14012         * pa/pa.h: Similarly.
14013         * pdp11/2bsd.h: Similarly.
14014         * pdp11/pdp11-protos.h: Similarly.
14015         * pdp11/pdp11.c: Similarly.
14016         * pdp11/pdp11.h: Similarly.
14017         * romp/romp-protos.h: Similarly.
14018         * romp/romp.c: Similarly.
14019         * romp/romp.h: Similarly.
14020         * rs6000/rs6000-protos.h: Similarly.
14021         * rs6000/rs6000.c: Similarly.
14022         * rs6000/rs6000.h: Similarly.
14023         * rs6000/sysv4.h: Similarly.
14024         * sh/sh-protos.h: Similarly.
14025         * sh/sh.c: Similarly.
14026         * sh/sh.h: Similarly.
14027         * sparc/sparc-protos.h: Similarly.
14028         * sparc/sparc.c: Similarly.
14029         * sparc/sparc.h: Similarly.
14030         * vax/vax.c: Similarly.
14031         * vax/vax.h: Similarly.
14032         * vax/vms.h: Similarly.
14033         * we32k/we32k.c: Similarly.
14034         * we32k/we32k.h: Similarly.
14035
14036 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
14037
14038         * basic-block.h (first_insn_after_basic_block_note): Declare.
14039         * flow.c (first_insn_after_basic_block_note): Define.  Moved
14040         from...
14041         * ssa.c (first_insn_after_basic_block_note): Remove.
14042         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
14043         necessary.
14044         (ssa_eliminate_dead_code): Properly update the CFG and PHI
14045         nodes when we find a dead conditional branch.  Insert BARRIERs
14046         after any blocks with no successors, but which do not have
14047         any BARRIERs.
14048
14049 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
14050
14051         * varray.c (varray_check_failed): Use internal_error.
14052
14053 2001-07-05  Andrew Haley  <aph@redhat.com>
14054
14055         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
14056         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
14057         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
14058
14059 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
14060
14061         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
14062         reference if the target constant is also a SYMBOL_REF.
14063
14064 2001-07-05  Eric Christopher  <echristo@redhat.com>
14065
14066         * config/mips/mips.h (MASK_MIPS3900): Remove.
14067         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
14068         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
14069         (TARGET_MIPS3900): Change to use mips_arch.
14070         (TARGET_MIPS4000): New.
14071         (TARGET_MIPS4100): New.
14072         (TARGET_MIPS4300): New.
14073         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
14074         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
14075         for -mipsX.
14076         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
14077         (ISA_HAS_BRANCHLIKELY): To here.
14078         (CC1_CPU_SPEC):  New.
14079         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
14080         (mips_arch_string): Declare.
14081         (mips_arch): Declare.
14082         (TARGET_OPTIONS): Add -march and -mtune.
14083
14084         * config/mips/mips.c (mips_arch_string): New.
14085         (mips_arch): New.
14086         (override_options): Handle -march for codegen and -mtune
14087         for scheduling. Use mips_arch. Move tx39 target default here.
14088         (mips_parse_cpu): Move error message to override_options.
14089
14090         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
14091
14092         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
14093
14094         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
14095         (MIPS Options): Ditto.  Change mcpu entry to historical text.
14096
14097 2001-07-05  H.J. Lu  (hjl@gnu.org)
14098
14099         * config/mips/mips.c (mips_parse_cpu): New function to parse
14100         -march=*/-mcpu=*.
14101
14102 2001-07-05  Jim Wilson  <wilson@redhat.com>
14103
14104         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
14105         * config/ia64/t-ia64: Likewise.
14106         (LIB1ASMFUNCS): Update comment.
14107
14108 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
14109
14110         * doc/install.texi (Install GCC: Binaries): Fix typo.
14111
14112 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14113
14114         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
14115         reference using the stack pointer, adjust it since we push Y
14116         temporarily.
14117         ("*ashrsi3"): Likewise.
14118         ("*lshrsi3"): Likewise.
14119
14120 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14121
14122         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
14123         when -fomit-frame-pointer is used.
14124
14125 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
14126
14127         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
14128         (try_redirect_by_replacing_jump): Reverse updating properly the
14129         count and frequency information.  Reverse removing cc0 setter.
14130         (forwarder_block_p): Reverse fixing for fallthru blocks.
14131
14132 2001-07-05  DJ Delorie  <dj@redhat.com>
14133
14134         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
14135         (translate_options): If the above is defined, use it to map
14136         given options to new options.
14137         * doc/tm.texi: Document it.
14138
14139 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
14140             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14141
14142         * doc/invoke.texi (Optimize Options): Document that -fgcse may
14143         cause programs using computed gotos to run more slowly.
14144
14145 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14146
14147         * doc/install.texi (Specific): Markup, spelling and typo fixes.
14148         Fixed sorting.
14149         Consistently require binutils 2.11.2, not prereleases.
14150         (Specific, decstation-*): Canonicalize as mips-dec-*.
14151         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
14152         always necessary.
14153         (Specific, m68k-altos): Removed reference to README.altos, deleted.
14154         (Specific, mips-*): Reword MIPS C compiler requirements.
14155         (Specific, powerpc*-*-*): New, mention --with-cpu once.
14156         (Specific, sunv5): Removed, obsolete.
14157
14158 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14159
14160         * dwarf2out.c (output_loc_list): Use an all ones mask for
14161         .text asm output and don't rely on long long
14162         literals. Reformat some long lines.
14163
14164 2001-07-05  Andreas Jaeger  <aj@suse.de>
14165
14166         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
14167         section.
14168
14169 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14170
14171         * dwarf2out.c (dwarf2out_define): Update comment.
14172         (dwarf2out_undef): Ditto.
14173         (dwarf2out_start_source_file): Ditto.
14174         (dwarf2out_end_source_file): Ditto.
14175         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
14176         since we never call the start/end debug hook for the primary file.
14177
14178 2001-07-04  Kazu Hirata  <kazu@hxi.com>
14179
14180         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
14181         from shll.
14182
14183 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14184
14185         * cppinit.c (remove_dup_dirs): Inform if a system include
14186         directory is being reordered.
14187         * doc/invoke.texi (Directory Options): GCC warns if you hide a
14188         system include.
14189         * doc/cpp.texi (Search Paths): Likewise.
14190         * doc/gcc.texi (Interoperation): Remove information about
14191         -I/usr/include.
14192
14193 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
14194
14195         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
14196         (VARRAY_TOP_CHAR_PTR): Likewise.
14197
14198 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14199
14200         * gcc.c (process_command): Don't assign elements of a const char*.
14201
14202 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14203
14204         * emit-rtl.c (change_address): Don't abort if invalid address while
14205         reload is in progress.
14206
14207 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14208
14209         * c-lex.c (cb_file_change): Pass line number to
14210         debug_start_source_file.
14211         (cb_undefine): Pass correct line number to debug_undef.
14212
14213         * toplev.c (debug_start_source_file): Add line number to
14214         parameters. Pass it along to dwarf2out_start_source_file.
14215         (decode_g_option): Stop resetting debug level back to normal when
14216         we change debug formats, unless the current level is
14217         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
14218         3).
14219
14220         * toplev.h (debug_start_source_file): Add line number to
14221         parameters.
14222
14223         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
14224         parameters.
14225
14226         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
14227         parameters.
14228         Output debug_macinfo data for starting file if requested.
14229         (dwarf2out_end_source_file): Output debug_macinfo data for ending
14230         file if requested.
14231         (dwarf2out_define): Output debug_macinfo data for defining a macro
14232         if requested.
14233         (dwarf2out_undef): Output debug_macinfo data for undefining a
14234         macro if requested.
14235         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
14236         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
14237         (macinfo_section_label): New. DWARF2 macro info section label.
14238         (dwarf2out_init): If we want macro info, output the start label
14239         for the section.
14240         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
14241         attribute to the compilation unit die pointing to the macro info.
14242
14243 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
14244
14245         * dwarf2out.c (new_loc_list): Move to inside #ifdef
14246         DWARF2_DEBUGGING_INFO.
14247         (add_loc_descr_to_loc_list): Ditto.
14248         (output_loc_list): Ditto.
14249         Also, fix thinko in curr not being initialized.
14250         (gen_internal_sym): Ditto.
14251
14252 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14253
14254         * emit-rtl.c (replace_equiv_address): New function.
14255         * expr.h (replace_equiv_address): New declaration.
14256         * explow.c (validize_mem): Call it instead of change_address and
14257         also call if -fforce-addr and address is constant.
14258         * expr.c: Replace more calls to change_address with adjust_address
14259         and/or replace_equiv_address or to validize_mem.
14260         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
14261         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
14262         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14263         * config/i370/i370.md, config/i860/i860.md: Likewise.
14264         * config/i960/i960.md, config/mips/mips.c: Likewise.
14265         * config/mips/mips.md, config/pa/pa.md: Likewise.
14266         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
14267         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
14268
14269 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14270
14271         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
14272
14273         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
14274         function.
14275
14276 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
14277
14278         * doc/include: New directory.
14279         * doc/fdl.texi: Move to doc/include/fdl.texi.
14280         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
14281         * doc/include/funding.texi, doc/include/gpl.texi: New files.
14282         * doc/gcc.texi: Use funding.texi and gpl.texi.
14283         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
14284         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
14285         Update dependencies and use -I $(docdir)/include.
14286
14287 2001-07-04  Anthony Green  <green@redhat.com>
14288
14289         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
14290
14291 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14292
14293         * doc/install.texi (sparc64-*-*): Remove garbage.
14294
14295 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
14296
14297         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
14298         Fix typo in last change to use adjust_address.
14299
14300 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14301
14302         * doc/install.texi (Specific): Update information for *-*-solaris*.
14303
14304 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14305
14306         * explow.c (plus_constant_wide): Reinitialize Y for restart.
14307
14308 2001-07-03  Stan Shebs  <shebs@apple.com>
14309
14310         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
14311         case for flag_no_mach_text_sections.
14312         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
14313         * config/darwin.c (flag_no_mach_text_sections): Remove.
14314         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
14315
14316 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14317
14318         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
14319         and avoid checking for constant as first operand.
14320         * recog.c (find_constant_term_loc): No longer static.
14321         (adj_offettable_operand): Delete.
14322         * rtl.h (adj_offsettable_operand): Delete declaration.
14323         (find_constant_term): Add declaration.
14324         * caller-save.c: Replace calls to adj_offsettable_operand with calls
14325         to adjust_address.
14326         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
14327         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
14328         * config/i386/i386.c, config/i386/i386.md: Likewise.
14329         * config/i860/i860.c, config/i960/i960.c: Likewise.
14330         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
14331         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
14332         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
14333         * config/mips/mips.c, config/mips/mips.md: Likewise.
14334         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
14335         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
14336         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
14337         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
14338         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
14339         * config/ns32k/ns32k.md: Likewise.
14340
14341 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
14342
14343         * rtl.c (copy_rtx): Handle 'T' format letter.
14344         * gensupport.c (collect_insn_data): Likewise.
14345         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
14346
14347 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
14348
14349         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
14350         -B option.  Use 'dir' not 'foo' as example directory name.
14351
14352 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14353
14354         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14355         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
14356
14357 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14358
14359         * doc/cppinternals.texi: Improve formatting and logical markup.
14360
14361 2001-07-03  Andreas Jaeger  <aj@suse.de>
14362
14363         * Makefile.in (insn-recog.o): Add dependency on reload.h.
14364
14365         * genrecog.c (write_header): Include reload.h for prototypes in
14366         insn-recog.c.
14367
14368 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
14369
14370 config:
14371         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
14372         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
14373         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
14374         i386_pe_valid_type_attribute_p): Add.
14375         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
14376         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
14377
14378 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14379
14380         * explow.c (plus_constant_wide, case LO_SUM): New case.
14381         (plus_constant_for_output_wide): Delete.
14382         * rtl.h (plus_constant_for_output): Delete.
14383         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
14384         instead of plus_constant_for_output.
14385         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
14386         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
14387         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
14388         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
14389         * config/sparc/sparc.md: Likewise.
14390         Convert some change_address calls to adjust_address.
14391
14392 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
14393
14394         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
14395         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
14396         documentation of -std and -Wwrite-strings.
14397
14398 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14399
14400         * cse.c (canon_hash): Don't register registers in very small
14401         register classes, as extending their lifetime might cause
14402         reload to fail.
14403
14404 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14405
14406         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14407
14408         * flow.c (forwarder_block_p): Fix for fallthru blocks.
14409         (try_redirect_by_replacing_jump): Update properly the count
14410         and frequency information.
14411
14412 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
14413
14414         * toplev.c (dump_file_index): Move SSA dumps just after first
14415         jump dump.
14416         (dump_file): Corresponding changes.
14417         (rest_of_compilation): Move SSA path to just after the first
14418         jump pass.
14419         * doc/gcc.texi (Passes): Update due to movement of SSA path.
14420         * doc/invoke.texi: Update dump file #s as they were completely
14421         out of date with reality.
14422
14423 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
14424
14425         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
14426
14427         * expr.c (emit_move_insn_1): Deal with non-default
14428         STACK_PUSH_CODE.
14429
14430         * expr.c (emit_single_push_insn): Fix warning.
14431
14432 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14433
14434         * expr.c (emit_move_insn_1): Avoid modifying
14435         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
14436
14437 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14438
14439         * emit-rtl.c (adjust_address): New function.
14440         * expr.h (adjust_address): Add declaration.
14441         * builtins.c: Replace some calls to change_address with calls to it
14442         or to validize_mem.
14443         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
14444         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
14445         * config/arm/arm.c, config/convex/convex.c: Likewise.
14446         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14447         * config/i386/i386.c, config/i386/i386.md: Likewise.
14448         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
14449         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
14450         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
14451         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
14452         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
14453
14454 2001-07-02  Jim Wilson  <wilson@redhat.com>
14455
14456         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
14457
14458 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
14459
14460         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
14461         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
14462
14463 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14464
14465         * cppinit.c (lang_defaults): New table.
14466         (set_lang): Just read from lang_defaults into the live options
14467         structure.
14468
14469 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
14470
14471         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
14472         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
14473         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
14474
14475 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14476
14477         * doc/install.texi: Various spelling and markup fixes.
14478         (Installing GCC): Component specific installation instructions are
14479         gone.
14480         Fix reference.
14481         Warn about removing old install dir in the presence of shared libs.
14482         (Configuration): Invoke with options target to match configure
14483         --help.
14484         Consistently refer to gas, gld pathnames.
14485         Invert --enable-multilib documentation.
14486         Remove references to old compiler versions.
14487
14488 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14489
14490         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
14491
14492 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14493
14494         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
14495         section.
14496         (Specific, mips*-sgi-irix5): Note IDO download.
14497         Reworded MIPS C hints.
14498         Use GNU as instead of GAS.
14499         Markup fixes.
14500         Removed SGI Freeware reference, IRIX 6 only.
14501         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
14502         Note N64 library requirement/workaround.
14503         Update O32 hints.
14504         Complete list of structure passing bug victims.
14505
14506 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14507
14508         * doc/install.texi: Remove CVS Id.
14509
14510 2001-07-02  Andreas Jaeger  <aj@suse.de>
14511
14512         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
14513         (find_inherently_necessary): Remove unused variable.
14514
14515 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
14516
14517         * c-common.h (TDI_inlined): New ast dump phase.
14518         (dump_flag_name): New function.
14519         * c-dump.c (dump_files): Add inlined phase.
14520         (dump_flag_name): Define.
14521         * doc/invoke.texi (-fdump-ast-inlined): Document.
14522
14523 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14524
14525         * stor-layout.c (layout_decl): Revert change to handling of alignment
14526         in packed types.
14527
14528 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14529
14530         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
14531         for FIELD_DECL.
14532
14533 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
14534
14535         * doc/tm.texi (FUNCTION_ARG): Document that the last call
14536         is special.
14537
14538 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
14539
14540         * tlink.c (recompile_files): Remove COMPILER_PATH and
14541         LIBRARY_PATH from the environment.
14542
14543 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
14544
14545         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
14546         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
14547         enumerators.
14548         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
14549
14550         * c-parse.in (OBJC_STRING): Kill.
14551         (objc_string): Decompose to [objc_string] '@' STRING.
14552         (reswords): Take the leading '@' off all the Objective C keywords.
14553         (objc_rid_sans_at): Kill.
14554         (init_reswords): Don't initialize it.
14555         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
14556         (_yylex): Kill reconsider label.  Look ahead one token after
14557         an '@'; if we get an identifier, check whether it's an
14558         Objective C @-keyword.  If so, return the keyword.  Otherwise,
14559         put back the token and return the '@' as a terminal.
14560
14561         * cpplib.c (lex_macro_node): Remove unnecessary check for
14562         leading '@' on identifier.  Clarify control flow and commentary.
14563
14564 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14565
14566         * cse.c (new_label_ref): Variable deleted.
14567         (insert): Remove set of new_label_ref.
14568         (check_for_label_ref): New function.
14569         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
14570
14571 See ChangeLog.5 for earlier changes.