OSDN Git Service

* c-common.c (combine_strings): Complain if concatenating
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2
3         * c-common.c (combine_strings): Complain if concatenating
4         __FUNCTION__.
5         * c-parse.in (yylexname): Flag artificial strings.
6         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
7 doc:
8         * extend.texi: Update.
9
10 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
11
12         * c-common.c (type_for_mode): Handle unsigned vectors.
13         (type_for_mode): Remove redundant calls to TYPE_MODE.
14
15         * tree.c (make_vector): New.
16         (build_common_tree_nodes_2): Use make_vector for vector types.
17         Add unsigned vector types.
18
19         * tree.h (tree_index): Add unsigned types for vectors.
20         (unsigned_V16QI_type_node): New.
21         (unsigned_V4SI_type_node): New.
22         (unsigned_V8QI_type_node): New.
23         (unsigned_V8HI_type_node): New.
24         (unsigned_V4HI_type_node): New.
25         (unsigned_V2SI_type_node): New.
26
27 2001-12-11  Stan Shebs  <shebs@apple.com>
28
29         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
30         test of class names.
31
32 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
33
34         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
35         cpu configuration headers.
36         * config/h8300/elf.h: Include dbxelf.h.
37         * config/m68k/linux.h: Likewise.
38         * config/m68k/m68020-elf.h: Likewise.
39         * config/m68k/m68kv4.h: Likewise.
40         * config/sh/elf.h: Likewise.
41         * config/m68k/m68kemb.h: Add comment about the its purpose.
42
43 2001-12-11  Richard Henderson  <rth@redhat.com>
44
45         * objc/objc-act.c (build_constructor): Cast initializer values
46         to the proper field types.
47
48 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
49
50         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
51
52 2001-12-10  Roger Sayle <roger@eyesopen.com>
53
54         * builtins.c (expand_builtin): Use a switch statement to list
55         those functions not expanded without optimizations, instead of a
56         series of equality tests.
57
58 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
59
60         * config/alpha/vms.h (LIB_SPEC): Define.
61         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
62
63         * libgcc2.c (_bb): Remove ctime declaration.
64
65         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
66         that works if LN_S = cp.
67
68         * config/alpha/x-vms (version): Change "." to "_".
69
70         * configure.in: Hardcode that vfork works on VMS host.
71         * configure: Regenerated.
72
73 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
74
75         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
76         unless do_obj true.
77         (process_command): Modify calls to convert_filename.
78
79 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
80
81         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
82
83 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
84
85         * combine.c (known_cond): Check mode of each operand to determine
86         if COND is comparing floating point values.
87
88 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
89
90         * rs6000.h (processor_type): Add PPC405.
91         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
92         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
93         rios1, rs64, and ppc630 processors.
94         * rs6000.c (processor_target_table): Add PPC405.
95
96 2001-12-10  Richard Henderson  <rth@redhat.com>
97
98         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
99         instead of hardcoding subregs into the _be and _le patterns.
100
101 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
102
103         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
104
105 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
106
107         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
108         what insn does.
109
110 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
111
112         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
113         copyright notice formerly conditioned on @ifinfo on @ifnottex
114         instead.
115
116 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
117
118         * vmsdbgout.c (lookup_filename): Remove warning.
119
120 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
121
122         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
123
124         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
125         (exeext, target_alias, prefix, local_prefix): Define.
126         * config/alpha/x-vms (USE_COLLECT2): Make empty.
127         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
128         file specifications. Remove ".".
129         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
130         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
131
132 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
133
134         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
135
136 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
137
138         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
139         Add rules for building [vp]crt0.o
140         * config/alpha/vms.h (START_FILE_SPEC): Define.
141         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
142         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
143         * doc/invoke.texi: Document special Alpha/VMS options.
144
145 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
146
147         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
148         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
149         not GNUC.
150
151 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
152                           Douglas B. Rupp  <rupp@gnat.com>
153
154         * tree.c (append_random_char): Conditionalize INO for VMS.
155
156 2001-12-09  Richard Henderson  <rth@redhat.com>
157
158         * cfgcleanup.c (label_is_jump_target_p): New function.
159         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
160         target of a JUMP_INSN from the preceding block.
161
162 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
163
164         * vmsdbgout.c (lookup_filename): Assign null string instead
165         of null pointer to fnam.
166
167 2001-12-09  Richard Henderson  <rth@redhat.com>
168
169         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
170         immediately after a call; insert nops before a call.
171
172 2001-12-09  Richard Henderson  <rth@redhat.com>
173
174         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
175         not FUNCTION_BOUNDARY.
176         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
177         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
178         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
179
180 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
181
182         * config/mmix/mmix.c (mmix_function_block_profiler,
183         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
184         unused functions.
185         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
186         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
187         prototypes.
188
189         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
190         Delete obsoleted macros.
191
192 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
193
194         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
195         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
196
197         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
198         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
199         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
200         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
201         config/i370/i370.c, config/i386/i386.c,
202         config/i386/i386-interix.h, config/i386/i386.md,
203         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
204         config/m32r/m32r-protos.h, config/mcore/mcore.h,
205         config/rs6000/rs6000.h, config/sparc/linux64.h,
206         config/sparc/sparc.c, config/v850/v850-protos.h,
207         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
208         spelling errors.
209
210 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
211
212         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
213         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
214
215         * config/rs6000/rs6000.c: Ditto.
216
217         * config/rs6000/rs6000.md: Ditto.
218
219 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
220
221         * 1750a.md: Add default case in switch.
222         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
223         if-else statement.
224         * dsp16xx.c (print_operand_address): Likewise.
225         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
226         * ia64.md: Add missing braces.
227         * rs6000-protos.h (s8bit_cint_operand): Prototype.
228         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
229         if-else statement.
230         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
231         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
232         * dbxout.c (dbxout_source_file): Move a variable into the scope
233         where it is used.
234         * final.c (profile_function): Mark parameter with
235         ATTRIBUTE_UNUSED.
236         * genemit.c (gen_expand): Likewise for generated file.
237         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
238
239         * vmsdbg.h: Delete spurious close-comment.
240         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
241         * vmsdbgout.c (write_modbeg): Define return type.
242
243         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
244         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
245         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
246         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
247         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
248         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
249         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
250
251 2001-12-08  Tom Rix  <trix@redhat.com>
252
253         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
254         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
255         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
256         for powerpc64.
257         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
258         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
259         * config/rs6000/rs6000.c (expand_block_move): Do not use
260         gen_movstrsi_2reg and powerpc64.
261
262 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
263
264         * c-common.h (rid): Add RID_CHOOSE_EXPR and
265         RID_TYPES_COMPATIBLE_P.
266
267         * c-parse.in (reswords): Add __builtin_choose_expr.
268         Add __builtin_types_compatible_p.
269         Add CHOOSE_EXPR token.
270         Add TYPES_COMPATIBLE_P token.
271         Add production for CHOOSE_EXPR.
272         Add production for TYPES_COMPATIBLE_P.
273
274         * doc/extend.texi (__builtin_choose_expr): Add documentation.
275         (__builtin_types_compatible_p): Likewise.
276
277 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
278
279         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
280         to unions.
281
282 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
283
284         * c-parse.in: Take string literals in assembler constructs,
285         not expressions.
286         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
287         check the strings are STRING_CSTs.
288
289 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
290
291         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
292         using combine_strings to do the concatenation.
293         * c-parse.in: Replace uses of the string non-terminal with STRING.
294         Don't attempt string concatenation.
295         (OBJC_STRING): New terminal.
296         (string): Remove non-terminal.
297         (_yylex): Call combine_strings on function names.  Generate
298         OBJC_STRING terminals; don't pass '@' on to yacc.
299         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
300         (build_asm_stmt): Similarly.
301
302 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
303
304         * rtlanal.c (get_jump_table_offset): Delete unused variable.
305
306 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
307
308         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
309         (prefetch): Rewrite using PREFETCH RTL primitive.
310         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
311         * arm.c (arm_init_builtins): Don't initialize a builtin for
312         __builtin_prefetch here.
313         (arm_expand_builtin): Don't expand __builtin_prefetch here.
314
315 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
316
317         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
318         in test for a subreg.
319
320 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
321
322         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
323         strings.
324
325 2001-12-07  Richard Henderson  <rth@redhat.com>
326
327         * doc/extend.texi: Fix typo last change.
328
329         * c-decl.c (c_language): Remove duplicate.
330
331 2001-12-07  Dale Johannesen  <dalej@apple.com>
332
333         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
334         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
335         specific codegen, eliminate a register copy.
336         (print_operand_address): Add support for Darwin's lo16(constant)
337         syntax.
338         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
339         generation of addresses within very large data objects.
340         (s8bit_cint_operand):  New.
341         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
342         Move "mtjmpr" to correct functional unit for 750/7400/7450.
343         Add imul2 and imul3 insn types for multiplication by 16- and
344         8-bit constants.
345         Change tablejump patterns to strongly discourage using LR
346         rather than CTR.
347         Add %lo16 patterns for Darwin loads and stores.
348
349 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
350
351         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
352
353 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
354
355         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
356         with %sp because it can cause the delayed instruction to load
357         below the stack.
358
359 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
360
361         * alpha.c (alpha_expand_unaligned_store,
362         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
363         call to immed_double_const.
364
365 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
366
367         * doc/extend.texi (Variable Attributes): Document vector_size.
368
369         * attribs.c (c_common_attribute_table): Add vector_size.
370         (handle_vector_size_attribute): New.
371         (vector_size_helper): New.
372         (decl_attributes): Relayout the decl after calculating attribs.
373
374 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
375
376         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
377         description for Trouble section.
378         * doc/install-old.texi: Adjust for inclusion as chapter of new
379         installation manual.
380         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
381         Adjust to include old installation chapter as chapter of new
382         installation manual.
383
384 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
385
386         * rtl.h (get_jump_table_offset): Declare.
387         * rtlanal.c (get_jump_table_offset): Implement.
388
389 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
390
391         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
392         Deleted; were used only by BB profiler code.
393         (sbb_head, sbb_tail, sbb_label_num): Likewise.
394         (end_final): Delete now-unused vars I, PTR, and SPTR.
395
396         * expr.c (store_field): Remove warning.
397         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
398         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
399         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
400         divisor constant power of 2.
401         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
402
403 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
404
405         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
406         shifting.
407
408 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
409
410         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
411         (DWARF_FRAME_REGISTERS): Delete.
412
413 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
414
415         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
416         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
417         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
418         with defaults for read prefetch with high degree of locality.
419         * doc/extend.texi (__builtin_prefetch): Update documentation.
420         * doc/md.texi (prefetch): Add documentation.
421
422 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
423
424         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
425         UNIX V5.1A stdio.h.
426         * fixinc/fixincl.x: Regenerate.
427         Fixes PR libf2c/4826.
428
429 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
430             Richard Henderson  <rth@redhat.com>
431
432         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
433         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
434
435         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
436         to PRE_GCC3_DWARF_FRAME_REGISTERS.
437         (frame_state): Same.
438         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
439
440 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
441
442         * langhooks.c (lhd_staticp): Mark parameter with
443         ATTRIBUTE_UNUSED.
444
445 2001-12-06  H.J. Lu <hjl@gnu.org>
446
447         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
448         reduce noise.
449         (.po.pox): Likewise.
450         (o/$(PACKAGE).pot): Likewise.
451
452 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
453
454         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
455         * tree-inline.c (expand_call_inline): ... here.
456
457 2001-12-06  H.J. Lu <hjl@gnu.org>
458
459         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
460         (.po.pox): Likewise.
461         (o/$(PACKAGE).pot): Likewise.
462
463 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
464
465         * config.gcc: Include dbxelf.h before elfos.h.
466         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
467
468 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
469
470         * cppfiles.c (open_file): If we've opened a directory by
471         mistake, close it.
472         (find_include_file): Avoid turning / into // or // into ///.
473
474 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
475
476         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
477         (STRUCT_VALUE_REGNUM): Restore definition.
478
479 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
480
481         * flow.c (find_regno_partial): Return register, not the expression
482         the register is in.
483
484 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
485
486         * function.c (handle_epilogue_set): Check for FP setting case when
487         SP is set from FP in same insn.
488
489 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
490
491         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
492         RTX when calling alter_subreg().
493         (store_multiple_sequence): Pass pointer to RTX when calling
494         alter_subreg().
495
496 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
497
498         * function.c (assing_parms): Fix typo in last change.
499         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
500         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
501         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
502         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
503
504 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
505
506         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
507         correct code selecting section.
508
509 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
510
511         * final.c (count_basic_block, add_bb, add_bb_string):
512         Kill.
513         (end_final, final_start_function, final, final_scan_insn,
514         leaf_function_p): Kill BB profiler related code.
515         * flags.h (profile_block_flag): Kill.
516         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
517         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
518         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
519         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
520         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
521         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
522         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
523         __bb_init_trace_func): Kill.
524         * toplev.c (profile_block_flag): Kill.
525         (indepdendent_decode_option, process_options): Kill -a related code.
526         * alpha.c (direct_call_operand): Likewise.
527         * arm.c (arm_expand_prologue, thumb_expand_prologue,
528         thumb_expand_epilogue): Likewise.
529         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
530         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
531         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
532         MACHINE_STATE_RESTORE): Kill.
533         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
534         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
535         MACHINE_STATE_RESTORE): Kill.
536         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
537         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
538         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
539         code.
540         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
541         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
542         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
543         MACHINE_STATE_RESTORE): Kill.
544         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
545         * i960.c (i960_output_function_prologue): Kill BB profiler related
546         code.
547         * ia64.c (ia64_compute_frame_size): Likewise.
548         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
549         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
550         MACHINE_STATE_RESTORE): Kill.
551         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
552         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
553         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
554         MACHINE_STATE_RESTORE): Kill.
555         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
556         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
557         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
558         MACHINE_STATE_RESTORE): Kill.
559         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
560         Kill BB profiler related code.
561         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
562         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
563         MACHINE_STATE_RESTORE): Kill.
564         * mips.c (mips_expand_prologue): Kill BB profiler related code.
565         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
566         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
567         MACHINE_STATE_RESTORE): Kill.
568         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
569         * s960.c (s390_function_prologue): Kill BB profiler related code.
570         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
571         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
572         MACHINE_STATE_RESTORE): Kill.
573         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
574         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
575         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
576         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
577         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
578         sparc_nonflat_function_epilogue): Kill BB profiler related code.
579         (sparc_function_block_profiler, sparc_block_profiler,
580         sparc_function_block_profiler_exit): Kill.
581         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
582         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
583         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
584         MACHINE_STATE_RESTORE): Kill.
585         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
586         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
587         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
588         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
589         MACHINE_STATE_RESTORE): Kill.
590         * doc/invoke.texi: Kill documentation of -a and -ax.
591         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
592         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
593         MACHINE_STATE_RESTORE): Kill.
594
595 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
596
597         * doc/rtl.texi: Use a table to display RTL format characters.
598
599 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
600
601         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
602
603 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
604
605         * function.c (keep_stack_depressed): Check global_live_at_start
606         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
607
608 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
609
610         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
611         as set by the generic FreeBSD configure framework.
612
613 2001-12-04  Jason Merrill  <jason@redhat.com>
614
615         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
616         start_inlining, end_inlining.
617         * tree-inline.c (expand_call_inline): Call them.
618         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
619         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
620         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
621         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
622         (lhd_tree_inlining_end_inlining): New fn.
623
624 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
625
626         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
627         * c-common.h (shadow_warning): New.
628         * c-decl.c: Include c-common.h.
629         (warn_if_shadowing): New, broken out of pushdecl.
630         (pushdecl): Use warn_if_shadowing.
631         (store_parm_decls): Prevent duplicate -Wshadow warnings.
632
633 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
634
635         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
636         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
637         (LIB_SPEC): Remove.
638
639 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
640
641         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
642         (QUAL_UNION_TYPE): New type.
643
644         * varasm.c (output_constant, case ERROR_MARK): New case.
645
646         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
647         (c_com): Delete its reference.
648         * builtins.c: Delete memory checking code.
649         * calls.c, expr.c, function.c, stmt.c: Likewise.
650         * builtins.c (expand_builtin_arg_info): Remove reference to
651         EXPAND_MEMORY_USE_* modifiers.
652         * explow.c (expr_size): Likewise.
653         * expr.c (expand_expr, expand_increment): Likewise.
654         * expr.h (ARGS_SIZE_RTX): Likewise.
655         * function.c (assign_parms, expand_pending_sizeso): Likewise.
656         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
657         * expr.c (in_check_memory_usage): Delete.
658         (get_push_address, get_memory_usage_from_modifier): Delete.
659         (expand_assigment): Use EXPAND_WRITE on destination.
660         (expand_expr): Delete ro_modifier.
661         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
662         add EXPAND_WRITE.
663         (memory_use_mode): Delete.
664         * flags.h (flag_check_memory_usage): Deleted.
665         (flag_prefix_function_name): Likewise.
666         * function.c (expand_function_start): Don't set
667         current_function_check_memory_usage.
668         * function.h (check_memory_usage): Delete.
669         * libfuncs.h, optabs.c: Delete chkr_* stuff.
670         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
671         EXPAND_WRITE.
672         * toplev.c (flag_check_memory_usage): Deleted.
673         (flag_prefix_function_name): Likewise.
674         (f_options, process_options): Delete references to above.
675         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
676         * varasm.c (CHKR_PREFIX): Deleted.
677         (make_decl_rtl): Remove flag_prefix_function_name handling.
678         (assemble_name): Likewise.
679         * doc/extend.texi: Remove no_check_memory_usage attribute.
680         * doc/invoke.texi: Remove -fcheck-memory-usage
681         and -fprefix-function-name.
682
683 2001-12-05  Andreas Schwab  <schwab@suse.de>
684
685         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
686         from autoconf.
687
688 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
689
690         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
691
692 2001-12-05  William Cohen  <wcohen@redhat.com>
693
694         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
695         instruction.
696
697 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
698
699         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
700         builtins.
701
702         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
703         better reflect reality (change from Apple's tree).
704         Add more of altivec instructions.
705         Add ftruncv4sf2 pattern.
706         Remove more unspecs (vector merge instructions, etc).
707
708         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
709         builtins.
710         (bdesc_1arg): New, for 1 argument altivec builtins.
711         (altivec_expand_builtin): Handle unary and ternary ops.
712         (altivec_init_builtins): Ditto.
713
714 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
715
716         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
717         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
718
719 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
720
721         * gcse.c (store_killed_in_insn): Consider pure calls
722         as potential store killers in addition to normal calls.
723
724 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
725
726         * expr.c (expand_expr): When checking promoted value, use
727         DECL_MODE (exp) and not mode.
728
729 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
730
731         * c-typeck.c (output_init_element): Call digest_init
732         just once, not in each if branch and check its return value for
733         error_mark_node.
734
735 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
736
737         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
738         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
739         (finish_struct): Break the loop if n_incomplete went to 0.
740         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
741
742 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
743
744         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
745
746 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
747                           Douglas B. Rupp  <rupp@gnat.com>
748
749         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
750         * doc/invoke.texi: Add -gvms.
751         * doc/passes.texi: Add mention of vmsdbgout.c.
752         * doc/tm.texi: Document VMS debugging output.
753
754 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
755
756         * function.h (tree, rtx): Remove no-longer-needed definitions.
757
758         * function.c (keep_stack_depressed): Refine check for register
759         clobbered over call.
760
761         * expr.c (store_expr): When copying string constant into array,
762         use functions that update memrefs instead of computations on
763         addresses to better track MEMs.  Also properly handle 32/64 pointers.
764         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
765         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
766
767         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
768         underneath COMPONENT_REFs.
769         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
770
771 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
772
773         * toplev.c (display_target_options): Don't print twice.
774
775 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
776
777         * emit-rtl.c (set_unique_reg_note): Don't set
778         a REG_EQUAL or REG_EQUIV note if multiple sets
779         are present.
780
781 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
782
783         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
784         CASE_DROPS_THROUGH.
785
786 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
787
788         * rtl.h (initialize_uninitialized_subregs): New prototype.
789         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
790         when optimization is on.
791         * flow.c (find_regno_partial): Find subregs within an expression.
792         (initialize_uninitialized_subregs): Initialize live on entry registers
793         which are used in subreg expressions.
794
795 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
796
797         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
798
799 2001-12-04  DJ Delorie  <dj@redhat.com>
800
801         * fixinc/fixincl.c (initialize): Avoid problemsome macro
802         parameter names (PR 3388).
803
804 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
805
806         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
807         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
808
809 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
810
811         * c-common.def (COMPOUND_LITERAL_EXPR): New.
812         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
813         (c_staticp): New function.
814         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
815         (c_staticp): Declare.
816         * c-typeck.c (default_function_array_conversion, build_unary_op):
817         Don't handle CONSTRUCTOR specially.
818         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
819         * c-decl.c (build_compound_literal): New function.
820         * c-tree.h (build_compound_literal): Declare.
821         * c-parse.in (primary): Use build_compound_literal.
822         * c-lang.c (LANG_HOOKS_STATICP): Define.
823         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
824         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
825         * doc/extend.texi: Update documentation of compound literals.
826         Fixes PR c/4787.
827
828 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
829
830         * langhooks.h (struct lang_hooks): Add staticp.
831         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
832         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
833         * langhooks.c (lhd_staticp): New function.
834         * tree.c (staticp): Call lang_hooks.staticp for language-specific
835         tree codes.
836
837 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
838
839         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
840         * gcc.c (process_command): Ensure the cpp driver sees
841         --help and --target-help, and that the help is printed
842         exactly once.
843
844 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
845
846         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
847
848 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
849
850         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
851         flag_strict_aliasing.  Use separate assignment statements.
852
853 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
854
855         * build-make, cross-make: Delete file.
856         * configure.in: Set and substitute CROSS, ALL,
857         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
858         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
859         whether build == host and host == target.  Do not
860         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
861         AC_SUBST cross_defines or extra_c_flags.
862         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
863         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
864         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
865         partially or completely with autoconf-substituted @variable@
866         notation.
867         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
868         @build_overrides@, @extra_c_flags@, all.build, install-build,
869         install-cross-rest, install-float-h-cross): Deleted.
870         (install-normal): Rename to install.  Delete old "install"
871         indirection rule.
872
873 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
874
875         * stmt.c (expand_return): Clear destination instead of clobbering it
876         when setting a return value via bitsets.
877
878 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
879
880         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
881         it has DECL_SAVED_TREE.
882
883         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
884         is in a different binding level, get its abstract origin to be
885         olddecl.
886         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
887         check earlier.
888         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
889         DECL_INITIAL is NULL.
890
891 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
892
893         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
894         Return correct value if one of the subexpressions was optimized to
895         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
896         (and_reg_cond): Similarly.
897
898 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
899
900         * function.c (assign_parms): Set last_named only for last named
901         argument.
902
903 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
904
905         * doc/install.texi: Use the GFDL.  Include years from old install
906         manual in copyright notice.  Include copyright and GFDL notice on
907         HTML index page.  Include usual footer on testing.html.
908         * doc/install.texi2html: Build gfdl.html.  Use -I
909         $SOURCEDIR/include.
910         * doc/include/fdl.texi: Adapt for use in the install manual.
911
912 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
913
914         * doc/install.texi: Document that installed native compiler for
915         building cross compilers should be GCC 2.95 or later.
916
917 2001-12-03  Eric Christopher  <echristo@redhat.com>
918
919         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
920         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
921         patterns.
922
923 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
924
925         * rtl.def (PREFETCH): New rtx code.
926         * doc/rtl.texi (PREFETCH): Add documentation.
927         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
928         * rtlanal.c (reg_referenced_p): Ditto.
929         * sched-vis.c (print_exp):  Ditto.
930         * ssa-dce.c (find_inherently_necessary):  Ditto.
931
932         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
933           (PREFETCH_BLOCK): Define.
934         * config/ia64/ia64.md (itanium_class): Add lfetch.
935           (prefetch, prefetch_internal): New.
936
937         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
938         * builtins.def (BUILT_IN_PREFETCH): New.
939         * builtins.c (expand_builtin_expect): New.
940           (expand_builtin): Call it.
941         * doc/extend.texi: Document __builtin_prefetch.
942
943         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
944           conflicts with new generic prefetch functionality.
945         * config/i386/i386.c (ix86_expand_builtin): Use new name for
946           prefetch_sse.
947
948 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
949
950         * objc/Make-lang.in: Update copyright.
951         (OBJC_OBJS): Add objc-lang.o.
952         (objc-lang.o): New rule.
953         * objc/config-lang.in: Fix file description and update
954         copyright.
955         * objc/objc-act.c: Do not include langhooks.h and
956         langhooks-def.h
957         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
958         (objc_post_options): Move to objc-lang.c.
959         (objc_init_options): Move to objc-lang.c.
960         (objc_init): Make non-static.
961         (objc_decode_option): Make non-static.
962         (HASHFUNCTION): Remove macro.
963         (hash_func): New function.
964         (hash_enter): Replace HASHFUNCTION with hash_func.
965         (hash_lookup): Replace HASHFUNCTION with hash_func.
966         (maybe_objc_tree_codes): New function.
967         (init_objc): Move ObjC tree code initialization to
968         maybe_objc_tree_codes().
969         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
970         (objc_init): New public prototype.
971         (objc_decode_option): New public prototype.
972         (maybe_add_objc_tree_codes): New public prototype.
973         * objc/objc-lang.c: New file.
974         (lang_hooks): Moved from objc-act.c.
975         (objc_post_options): Moved from objc-act.c.
976         (objc_init_options): Moved from objc-act.c.
977
978 2001-12-03  Geoff Keating  <geoffk@redhat.com>
979
980         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
981         of array elements.
982
983 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
984
985         PR c/4988
986         * gcc.c (process_command): Don't add a preprocessor option for
987         --help and --target-help; cc1 is enough.
988
989 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
990
991         * c-decl.c (grokdeclarator): Use ISO word.
992         * cppinit.c: Remove leading capital from diagnostic messages, as
993         per GNU coding standards.
994         * emit-rtl.c: Similarly.
995         * final.c: Similarly.
996         * gcc.c: Similarly.
997         * tradcpp.c: Similarly.
998         * config/arm/arm.c: Similarly.
999         * config/arm/arm.h: Similarly.
1000         * config/avr/avr.c: Similarly.
1001         * config/avr/avr.h: Similarly.
1002         * config/c4x/c4x.c: Similarly.
1003         * config/cris/cris.c: Similarly.
1004         * config/cris/cris.h: Similarly.
1005         * config/d30v/d30v.c: Similarly.
1006         * config/dsp16xx/dsp16xx.c: Similarly.
1007         * config/dsp16xx/dsp16xx.h: Similarly.
1008         * config/h8300/h8300.c: Similarly.
1009         * config/i386/i386.c: Similarly.
1010         * config/i386/xm-djgpp.h: Similarly.
1011         * config/i960/i960.h: Similarly.
1012         * config/m32r/m32r.c: Similarly.
1013         * config/m68hc11/m68hc11.c: Similarly.
1014         * config/m88k/m88k.c: Similarly.
1015         * config/m88k/m88k.h: Similarly.
1016         * config/mcore/mcore.c: Similarly.
1017         * config/mcore/mcore.h: Similarly.
1018         * config/mips/mips.c: Similarly.
1019         * config/mmix/mmix.c: Similarly.
1020         * config/pa/pa.c: Similarly.
1021         * config/rs6000/rs6000.c: Similarly.
1022         * config/rs6000/sysv4.h: Similarly.
1023         * config/s390/s390.c: Similarly.
1024         * config/sparc/sparc.c: Similarly.
1025         * config/v850/v850-c.c: Similarly.
1026         * config/v850/v850.c: Similarly.
1027
1028 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
1029
1030         * rs6000.h (RETURN_IN_MEMORY): Cast result of
1031         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
1032
1033 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
1034
1035         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
1036         bit twiddling constant.
1037
1038 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
1039
1040         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
1041         call purge_dead_edges after removing.
1042         (delete_null_pointer_checks): Do not handle delete_list.
1043
1044         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
1045         (count_basic_blocks): ... here.
1046         (find_basic_blocks, find_bb_boundaries): Cleanup.
1047
1048         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
1049         overflow for types greater then 2 * HOST_WIDE_INT.
1050
1051         * reload.c (find_reloads): Update the duplicates after swapingg.
1052
1053 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
1054
1055         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
1056
1057 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
1058
1059         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
1060         MASK_LONG_DOUBLE_128): Delete.
1061         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
1062         TARGET_AIX_STRUCT_RET): New flags.
1063         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
1064         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
1065         and -m(no-)svr4-struct-return.
1066         (TARGET_OPTIONS): Add entry for -mlong-double-.
1067         (rs6000_long_double_size_string, rs6000_long_double_type_size,
1068         rs6000_altivec_abi): Declare.
1069         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
1070         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
1071         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
1072         structures of size <= 8 bytes in registers.
1073         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
1074
1075         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
1076         rs6000_long_double_type_size, rs6000_altivec_abi): New
1077         globals.
1078         (rs6000_override_options): Set rs6000_long_double_type_size
1079         from rs6000_long_double_size_string, if nonzero.  Set the
1080         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
1081         not already set.
1082         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
1083         target_flags bit.
1084         (rs6000_init_builtins): This hook now takes no arguments.
1085
1086         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
1087         DRAFT_V4_STRUCT_RET to 1.
1088
1089 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1090
1091         * c-typeck.c (really_start_incremental_init, push_init_level):
1092         Avoid constructor_max_index being other than an INTEGER_CST.
1093
1094 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
1095
1096         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
1097         unsigned.
1098         (ASM_GENERATE_INTERNAL_LABEL): Same.
1099         (UNIQUE_SECTION): Fix typo.
1100
1101 2001-12-02  Richard Henderson  <rth@redhat.com>
1102
1103         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
1104
1105 2001-12-02  Richard Henderson  <rth@redhat.com>
1106
1107         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
1108         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
1109         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
1110         * expr.h, final.c, reload1.c: Adjust users.
1111
1112         * alias.c (nonoverlapping_component_refs_p): New.
1113         (decl_for_component_ref, adjust_offset_for_component_ref): New.
1114         (nonoverlapping_memrefs_p): Use them.
1115         * emit-rtl.c (component_ref_for_mem_expr): New.
1116         (set_mem_attributes): Use it.
1117         (set_mem_offset): New.
1118         * expr.c (expand_assignment): Call set_mem_attributes for
1119         inner references; adjust the memory offset as needed.
1120         * print-rtl.c (print_mem_expr): New.
1121         (print_rtx): Use it.
1122
1123 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
1124
1125         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
1126
1127         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
1128         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
1129         (ASM_SPEC): Don't redefine.
1130         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
1131         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
1132         * config/alpha/vms-dwarf2.asm: New file.
1133
1134         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
1135         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
1136         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
1137         (vmsdbgout_after_prologue): New declaration.
1138         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
1139         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
1140         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
1141         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
1142         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
1143         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
1144         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
1145         Test VMS_DEBUGGING_INFO.
1146         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
1147         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
1148         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
1149         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
1150         VMS_AND_DWARF2_DEBUG.
1151         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
1152         (decode_g_option): Add "vms" to debug_type_names.
1153         (process_options): Set vmsdbg_debug_hooks if -gvms.
1154         (lang_independent_init): Emit line number for VMS unless -g0.
1155         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
1156         * vmsdbg.h, vmsdbgout.c: New files.
1157
1158 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1159
1160         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
1161
1162 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1163
1164         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
1165         * dwarf2out.c (is_cxx): Prototype.
1166         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
1167         warning.
1168         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
1169
1170 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1171
1172         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
1173
1174 2001-12-02  Geoff Keating  <geoffk@redhat.com>
1175
1176         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
1177         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
1178         rather than simplify_subreg.  Check for volatile-ness.  Check that
1179         we're not splitting one slow operation into two slow operations.
1180
1181 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
1182
1183         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
1184         before shifting.
1185
1186 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1187
1188         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
1189         capital from diagnostics.
1190         * c-lex.c (cb_file_change): Similarly.
1191         * c-parse.in : Similarly.
1192         * cfgrtl.c (verify_flow_info): Similarly.
1193         * collect2.c: Similarly.
1194         * cppfiles.c (find_include_file): Similarly.
1195         * cppinit.c (cpp_handle_option): Similarly.
1196         * cpplex.c (cpp_spell_token): Similarly.
1197         * cppmain.c (do_preprocessing): Similarly.
1198         * gcc.c (translate_options, process_command, do_spec1,
1199         main, pfatal_execute): Similarly.
1200         * genattr.c (main): Similarly.
1201         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
1202         write_test_expr, main): Similarly.
1203         * gencodes.c (main): Similarly.
1204         * genconfig.c (main): Similarly.
1205         * genconstants.c (main): Similarly.
1206         * genemit.c (main): Similarly.
1207         * genextract.c (main): Similarly.
1208         * genflags.c (main): Similarly.
1209         * genopinit.c (main): Similarly.
1210         * genoutput.c (process_template, main): Similarly.
1211         * genpeep.c (main): Similarly.
1212         * genrecog.c (main): Similarly.
1213         * gensupport.c (is_predicable, identify_predicable_attribute,
1214         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
1215         * ggc-page.c (alloc_anon): Similarly.
1216         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
1217         parse_begin, parse_bend, parse_def, parse_end, parse_file,
1218         parse_stabs_common, parse_stabs, write_varray, write_object,
1219         read_seek, copy_object, main, error): Similarly.
1220         * profile.c (compute_branch_probabilities): Similarly.
1221         * reg-stack.c (check_asm_stack_operands): Similarly.
1222         * reload.c (find_reloads): Similarly.
1223         * reload1.c (spill_failure, failed_reload): Similarly.
1224         * rtl-error.c (_fatal_insn_not_found): Similarly.
1225         * toplev.c (read_integral_parameter, crash_signal,
1226         decode_f_option, set_target_switch, parse_options_and_default_flags)
1227         : Similarly.
1228         * tradcif.y (parse_number, yylex): Similarly.
1229         * tradcpp.c (main, fancy_abort): Similarly.
1230         * tree.c (tree_check_failed): Similarly.
1231         * varray.c (varray_check_failed): Similarly.
1232         * xcoffout.c (xcoff_output_standard_types): Similarly.
1233 objc:
1234         * objc-act.c (get_object_ref, lookup_and_install_protocols,
1235         build_objc_string_object, objc_declare_alias, build_ivar_chain,
1236         finish_message_expr, build_protocol_expr, is_public,
1237         start_class): Similarly.
1238
1239 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1240
1241         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
1242         trailing period from diagnostics.
1243         * c-lex.c (cb_file_change): Similarly.
1244         * cppmacro.c (check_trad_stringification): Similarly.
1245         * gcc.c (do_spec_1): Similarly.
1246         * genattr.c (main): Similarly.
1247         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
1248         * gencodes.c (main): Similarly.
1249         * genconfig.c (main): Similarly.
1250         * genconstants.c (main): Similarly.
1251         * genemit.c (main): Similarly.
1252         * genextract.c (main): Similarly.
1253         * genopinit.c (main): Similarly.
1254         * genoutput.c (main): Similarly.
1255         * genpeep.c (main): Similarly.
1256         * genrecog.c (main): Similarly.
1257         * mips-tfile.c (add_file, error): Similarly.
1258         * profile.c (init_branch_prob): Similarly.
1259         * reload1.c (spill_failure): Similarly.
1260         * stmt.c (parse_output_constraint): Similarly.
1261         * varasm.c (assemble_variable): Similarly.
1262
1263 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1264
1265         * m68k.c (init_FPA_table): Provide static prototype.
1266         * mips/abi64.h (mips_function_value): Move prototype to ...
1267         * mips-protos.h (mips_function_value): ... here.
1268         * mips.c: Include halfpic.h.
1269         * output.h (rdata_section): Prototype.
1270
1271         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
1272         * m88k.c (m88k_svr3_asm_out_constructor,
1273         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
1274         !OBJECT_FORMAT_ELF.
1275         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
1276         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
1277         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
1278
1279 2001-12-01  Geoff Keating  <geoffk@redhat.com>
1280
1281         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
1282         LO_SUM addresses less than word size are not legitimate,
1283         because they lead to invalid SUBREGs.
1284         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
1285
1286 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
1287
1288         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
1289         while scanning for multiple back edges.
1290
1291 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1292
1293         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
1294         * config/rs6000/tramp.asm: Use it.
1295
1296 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
1297
1298         * gencheck.c, gengenrtl.c: Don't define xmalloc.
1299         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
1300         xmalloc.
1301
1302 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1303
1304         * pa.c (output_ascii): Cast `p' to unsigned char.
1305
1306 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
1307
1308         * config/rs6000/rs6000.c (altivec_expand_builtin): add
1309         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
1310         *_16qi,_8hi, rename existing V4SI ones to *_4si.
1311         (altivec_init_builtins): Ditto.
1312         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
1313
1314         * config/rs6000/rs6000.md: Add attribute types vecsimple,
1315         veccomplex, vecfloat, and vecperm, for altivec instructions.
1316         Modify altivec patterns to use appropriate attribute type.
1317         Modify altivec patterns to match RTL operations where appropriate
1318         (IE no unspec where we can avoid it).
1319         Add vector unit scheduling for ppc7450.
1320         Rename patterns to what they are where appropriate
1321         (altivec_vaddfp->addv4sf3, etc)
1322
1323         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
1324         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
1325
1326         * config/rs6000/sysv4.h: Add -mcpu=7450.
1327
1328         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
1329         _builtin_altivec_ld_interal function.
1330
1331 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1332
1333         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
1334         strchr, strrchr, isascii, gettimeofday.
1335         * config.in, configure: Regenerate.
1336
1337 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
1338
1339         * unroll.c (unroll_loop): Correct special exit cases.
1340
1341 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
1342
1343         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
1344         accept DFmode and DImode only.
1345
1346 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
1347
1348         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
1349         (STACK_DYNAMIC_OFFSET): Same.
1350
1351 2001-11-30  Richard Henderson  <rth@redhat.com>
1352
1353         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
1354
1355 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
1356
1357         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
1358         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
1359         the values in call_used_registers.
1360
1361 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
1362
1363         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
1364         gthr-single.
1365
1366 2001-11-30  Jason Merrill  <jason@redhat.com>
1367
1368         * dwarf2out.c (is_cxx): New fn.
1369         (add_data_member_location_attribute): Check it.
1370         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
1371
1372 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1373
1374         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
1375
1376 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
1377
1378         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
1379         MODE_VECTOR_FLOAT as allowed.
1380
1381 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
1382
1383         Purge cruft now we have build libiberty.
1384
1385         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
1386         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
1387         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
1388         USE_HOST_STRSTR): Delete variables.
1389         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
1390         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
1391         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1392         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
1393         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
1394         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
1395         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
1396         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
1397         (HOST_LIBS): Ditto.
1398         (HOST_RTL): Remove hashtab.o safe-ctype.o.
1399         (OBJS): Remove splay-tree.o.
1400         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
1401         (distclean): No need to delete splay-tree.c obstack.c
1402         hashtab.c safe-ctype.c.
1403         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
1404         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
1405         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
1406         Delete.
1407         * configure.in: Don't use them.
1408         Set and substitute @FORBUILD@.
1409         * config.in, configure: Regenerate.
1410         * doprint.c: Move to libiberty/_doprnt.c.
1411         * doc/configterms.texi: Document that libiberty is now built
1412         up to three times.  Fix typo.
1413
1414 2001-11-30  Jason Merrill  <jason@redhat.com>
1415
1416         * dwarf2out.c (add_data_member_location_attribute): Do the
1417         right thing for virtual bases.
1418         * dbxout.c (dbxout_type): For a virtual base, print the offset
1419         within the vtable.
1420
1421 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
1422
1423         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
1424
1425 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
1426
1427         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
1428         go in memory.
1429         Remove unused attribute for named.
1430
1431 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1432
1433         * genattrtab.c (attr_rtx_1): New function containing the
1434         majority of `attr_rtx'.  Move variable declarations into the
1435         scope where they are used.  Eliminate unnecessary gotos.
1436         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
1437         VA_FIXEDARG, and VA_CLOSE.
1438
1439 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
1440
1441         * config/cris/cris.c (cris_notice_update_cc): Check first
1442         destination also against overlap with cc_status.value2 and second
1443         destination against overlap with cc_status.value1.  For overlaps,
1444         clear overlapped value, don't just CC_STATUS_INIT.
1445
1446         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
1447         Fix typo in comment.
1448         (LINK_SPEC): Remove whitespace at end of line.
1449
1450 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
1451
1452         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
1453
1454 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
1455
1456         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
1457         macros for the supported debugging types.
1458
1459 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1460
1461         PR other/4932
1462         * config/i386/i386.c (print_operand):  Verify that the
1463           argument to %c is a constant and not a conditional which
1464           needs to be reversed.
1465
1466 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
1467
1468         * emit-rtl.c (gen_lowpart_common): Fix conversion of
1469         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
1470         of low part of those arrays for 32bit and 64bit hosts.
1471
1472 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1473
1474         * Makefile.in (insn-output.o): Depend on insn-codes.h.
1475
1476 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1477
1478         * configure.in (target_list): Add generated-manpages.
1479         * configure: Regenerate.
1480         * Makefile.in (generated-manpages): Depend on
1481         lang.generated-manpages.
1482         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
1483
1484 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
1485
1486         * config/arm/crti.asm (_init): Add .thumb_func if compiled
1487         with -mthumb.
1488         (_fini): Add .thumb_func if compiled with -mthumb.
1489
1490 2001-11-28  Eric Christopher  <echristo@redhat.com>
1491
1492         * config/mips/mips.c (override_options): Fix thinko in mips_tune
1493         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
1494
1495 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
1496
1497         * alpha.md (tablejump): Use pic_offset_table_rtx
1498         instead of gen_rtx_REG.
1499
1500 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
1501
1502         * expr.c (store_expr): When copying a string constant into an
1503         array, reset the known alignment of the MEM for the section to
1504         be cleared to BITS_PER_UNIT.
1505
1506 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
1507
1508         * config/cris/cris.c: Remove whitespace at end of line.
1509
1510 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
1511
1512         * config.gcc (i[34567]86-*-interix3*): New case.
1513         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
1514         New files.
1515
1516 2001-11-28  Richard Henderson  <rth@redhat.com>
1517
1518         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
1519         symbolic_operand as the predicate.
1520
1521 2001-11-28  Richard Henderson  <rth@redhat.com>
1522
1523         * doloop.c (doloop_modify_runtime): Properly select induction
1524         variable; skip late entry test if biv initializer created by loop.
1525
1526 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1527
1528         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
1529         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
1530
1531         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
1532
1533         * tree.h: Add missing checks on some macros; make formatting more
1534         consistent.
1535
1536         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
1537         level; only add to pending_sizes if find it.
1538
1539         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
1540
1541         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
1542         Add casts to remove warnings.
1543
1544         * Makefile.in (OBJS): Sort alphabetically.
1545
1546         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
1547         Also minor cleanups.
1548
1549 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
1550
1551         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
1552         (FLAGS_TO_PASS): Add STAGE_PREFIX.
1553         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
1554         to STAGE_PREFIX.
1555
1556 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
1557
1558         * cse.c (true_dependence_in_rtx): New function.
1559         (invalidate): Use it.
1560
1561         * c-common.h (GOTO_FAKE_P): New macro.
1562         * tree-inline.c (GOTO_FAKE_P): Set.
1563         * c-tree.texi (GOTO_FAKE_P): Document.
1564
1565         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
1566         containing pointers.
1567         (output_addressed_constants): Check for local/external relocations.
1568         * elfos.h (SELECT_SECTION): Classify data section.
1569         * tm.texi (SELECT_SECTION): Update documentation.
1570
1571         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
1572         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
1573
1574 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1575
1576         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1577         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
1578         OBJECT_FORMAT_ROSE.
1579
1580 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
1581
1582         * config/cris/cris.c: Tweak spacing for prototypes.
1583         (LOSE_AND_RETURN): New macro.
1584         (cris_operand_lossage): New function.
1585         (cris_print_index, cris_print_base): Use cris_operand_lossage
1586         rather than fatal_insn.
1587         (cris_print_operand, cris_print_operand_address): Use
1588         LOSE_AND_RETURN rather than fatal_insn and internal_error.
1589         (cris_output_addr_const): Use LOSE_AND_RETURN and
1590         output_operand_lossage rather than fatal_insn and internal_error
1591         for valid but unexpected rtx expressions.
1592
1593         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
1594         for a SUBREG in src or dest, abort instead.
1595
1596 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1597
1598         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
1599         doc.
1600
1601 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
1602
1603         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
1604         preprocessor define.  If only DBX_DEBUGGING_INFO or only
1605         DWARF2_DEBUGGING_INFO is supported for the target, provide
1606         appropriate definitions.
1607
1608 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1609
1610         * Makefile.in: Update, and add c-objc-common.o dependencies.
1611         * c-lang.c: Remove unnecessary includes.
1612         (c_init): Move bulk of code to c_objc_common_init, and call it.
1613         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
1614         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
1615         c-objc-common.c.
1616         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
1617         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
1618         c_objc_common_init, c_missing_noreturn_ok_p): New.
1619         * toplev.c: Update comment.
1620         * doc/passes.texi: Update.
1621 objc:
1622         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
1623         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
1624         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
1625         (objc_init): Update to use c_objc_common_init.
1626
1627 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1628
1629         * cpphash.c (_cpp_init_hashtable): Update.
1630         * cpphash.h (struct spec_nodes): Remove n_L.
1631         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
1632
1633 2001-11-17  Richard Henderson  <rth@redhat.com>
1634
1635         * unroll.c (loop_iterations): Move last change ...
1636         * doloop.c (doloop_modify_runtime): ... here.
1637
1638 2001-11-17  Corey Minyard  <minyard@acm.org>
1639             Richard Henderson  <rth@redhat.com>
1640
1641         * unroll.c (loop_iterations): Detect one situation in which we
1642         overestimate the number of iterations.
1643
1644 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1645
1646         * gcc.c (set_input): Export.
1647         Move declaration ...
1648         gcc.h (set_input): ... here.
1649
1650 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1651
1652         * gcc.c (set_collect_gcc_options): New function, split out from
1653         main.
1654         Ignore elided switches.
1655         (do_spec): Invoke before executing command.
1656         (do_spec_1): Likewise.
1657         Fixes PR other/3968.
1658
1659 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
1660
1661         * config/cris/cris.h (INT_ASM_OP): Remove.
1662
1663 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1664
1665         * config/i386/sol2.h (WINT_TYPE): Redefine.
1666         (WINT_TYPE_SIZE): Likewise.
1667
1668 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1669
1670         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
1671         (dup2): Make static and add prototype.
1672         * m68k/plexus.h: Don't define NO_DUP2.
1673         * configure.in (AC_CHECK_FUNCS): Add dup2.
1674         * config.in, configure: Regenerate.
1675
1676         * ia64/aix.h (REG_SIZE): Don't #undef.
1677         * sparc.h (REG_SIZE): Delete.
1678         * flow.c (mark_used_regs): Don't use REG_SIZE.
1679         * regs.h (REG_SIZE): Delete.
1680
1681 2001-11-27  Andreas Schwab  <schwab@suse.de>
1682
1683         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
1684         PREFERRED_DEBUGGING_TYPE.
1685
1686 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1687
1688         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
1689         (expr.o, varasm.o): Depends on langhooks.h.
1690         * c-common.c (c_safe_from_p): Always declare.
1691         (c_expand_expr): Refine when declared.
1692         * c-lang.c (c-common.h): Now include.
1693         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
1694         (c_init): Don't set lang_safe_from_expr.
1695         * expr.c (langhooks.h): Now include.
1696         (lang_safe_from_p): No longer define.
1697         (safe_from_p): Use lang hook.
1698         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
1699         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
1700         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
1701         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
1702         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
1703         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
1704         * langhooks.h (struct lang_hooks): New fields expand_constant
1705         and safe_from_p.
1706         * output.h (output_constant): Size arg is HOST_WIDE_INT.
1707         * stmt.c (expand_decl_init): No longer need to expand constant
1708         for CONST_DECL.
1709         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
1710         * toplev.c (lang_expand_constant): Delete var.
1711         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
1712         operations on SAVE_EXPR.
1713         * varasm.c (langhooks.h): Now include.
1714         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
1715         (record_constant_1, output_addressed_constants): Likewise.
1716         (initializer_constant_valid_p, output_constant): Likewise.
1717         (output_constant_def): Process no-defer of string constant.
1718         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
1719         (output_constant): Strip more conversions.
1720         Track our size and pad for the rest.
1721         (array_size_for_constructor): Remove code for non-byte STRING_CST.
1722         (output_constructor): SIZE now HOST_WIDE_INT.
1723
1724 2001-11-27  Richard Henderson  <rth@redhat.com>
1725
1726         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
1727         in computing DIFF.
1728
1729 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
1730
1731         * cppfiles.c (read_include_file): Add comment.
1732
1733 2001-11-26  Richard Henderson  <rth@redhat.com>
1734
1735         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
1736
1737 2001-11-26  Richard Henderson  <rth@redhat.com>
1738
1739         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
1740         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
1741         commented out override.
1742
1743 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1744
1745         * cppfiles.c (stack_include_file): Don't optimize zero-length
1746         files.
1747         (read_include_file): NUL-terminate read files.
1748         * cpplex.c (handle_newline, skip_escaped_newlines,
1749         get_effective_char, skip_whitespace, parse_identifier,
1750         parse_identifier_slow, parse_number, parse_string,
1751         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
1752         NUL-terminated.
1753         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
1754         Be sure buffers are NUL terminated.
1755         * cppmacro.c (warn_of_redefinition): Kill compile warning.
1756
1757 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1758
1759         * c-common.c: Include tree-inline.h.
1760         (c_language): Move separate definitions here.
1761         (c_common_init_options, c_common_post_options): New.
1762         (c_common_lang_init): Rename c_common_init.
1763         * c-common.h (c_common_lang_init): Similarly.
1764         (c_common_init_options, c_common_post_options): New.
1765         * c-lang.c (c_post_options): Move body to c_common_post_options.
1766         (c_init_options): Use c_common_init_options.
1767         (c_init): Update.
1768         * langhooks.def: Rearrange.
1769         * langhooks.h: Rearrange, and improve comments.
1770         * toplev.c (do_compile): New function.
1771         (toplev_main): Use it.
1772         (lang_independent_f_options, parse_options_and_default_flags,
1773         process_options): Remove trailing periods.
1774         * Makefile.in: Update.
1775 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
1776         functions.
1777         (ojbc_init): Update.
1778
1779 2001-11-26  Richard Henderson  <rth@redhat.com>
1780
1781         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
1782
1783 2001-11-26  DJ Delorie  <dj@redhat.com>
1784
1785         * expr.c (store_constructor): Actually use the value computed
1786         if WORD_REGISTER_OPERATIONS.
1787
1788 2001-11-26  Richard Henderson  <rth@redhat.com>
1789
1790         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
1791         for CONSTRUCTOR.
1792
1793 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
1794
1795         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
1796         correct function on AIX.
1797
1798 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
1799
1800         * toplev.c (process_options): Don't force
1801         flag_optimize_sibling_calls to zero just because exceptions are
1802         enabled.
1803
1804 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
1805
1806         * df.h (transfer_function_sbitmap): Use PARAMS around argument
1807         list in function prototypes.
1808         (transfer_function_bitmap): Likewise.
1809
1810 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
1811
1812         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
1813         * config/i386/netbsd-elf.h: Likewise.
1814
1815 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
1816
1817         * doc/trouble.texi: Remove outdated RS/6000 comments.
1818
1819 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
1820
1821         * final.c (walk_alter_subreg): Fix return value.
1822
1823 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
1824
1825         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
1826         alter_subreg.
1827         * sparc.md (post-reload splitters): Do not call alter_subreg.
1828         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
1829
1830 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
1831
1832         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
1833
1834 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
1835
1836         * final.c: (insn_lengths): Make it an int *, so that large jump
1837         tables don't overflow.
1838
1839 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1840
1841         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
1842         (format_types): Use it for scanf.
1843         (dollar_arguments_pointer_p): New.
1844         (init_dollar_format_checking): Store details of which arguments
1845         are pointers.
1846         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
1847         (finish_dollar_format_checking): Take extra parameter
1848         pointer_gap_ok.  Treat unused arguments differently if
1849         pointer_gap_ok and the unused arguments are pointers.
1850         (check_format_info_main): Pass extra argument to
1851         finish_dollar_format_checking.
1852         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
1853         unused arguments are present between used arguments with operand
1854         numbers.
1855
1856 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
1857
1858         * df.c: Add prototypes for hybrid_search_bitmap and
1859         hybrid_search_sbitmap.
1860         (hybrid_search_bitmap): New function.
1861         (hybrid_search_sbitmap): New function.
1862         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
1863         (iterative_dataflow_bitmap): Ditto.
1864
1865 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1866
1867         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
1868         address computations.
1869
1870 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1871
1872         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
1873         register b (low part of d).
1874
1875 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1876
1877         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
1878         passed to mcount.
1879
1880 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
1881
1882         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
1883         * config/alpha/x-vms: New file, to compile the above.
1884         * config.gcc (alpha*-dec-vms*): Add x-vms.
1885
1886 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
1887
1888         * genextract.c (main): Set ro_loc for peepholes.
1889
1890 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
1891
1892         * fix-header.c (main): Move inf_buffer termination and inf_limit
1893         calculation to after read.
1894
1895         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
1896         (__UNIX_FOPEN): Define.
1897
1898 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1899
1900         * function.c (assign_stack_temp_for_type): Clear alias set before
1901         setting new one.
1902
1903 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
1904
1905         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
1906         format.
1907         * rs6000.md (cmptf): Fix typo.
1908
1909 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
1910
1911         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
1912         * varasm.c (output_constructor): Use assemble_integer rather
1913         than ASM_OUTPUT_BYTE.
1914
1915 2001-11-23  Andreas Jaeger  <aj@suse.de>
1916
1917         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
1918         extension.
1919
1920 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
1921
1922         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
1923         default definition.
1924         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
1925         (MULTILIB_DEFAULTS): Remove previous definition.
1926
1927 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1928
1929         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
1930         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
1931
1932 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1933
1934         * cris.h: Revert thinko in last patch.
1935
1936 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1937
1938         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
1939         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
1940         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
1941         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
1942         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
1943         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
1944
1945         * predict.c, reg-stack.c: Fix spelling errors.
1946
1947 2001-10-09  Andrew Haley  <aph@redhat.com>
1948
1949         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
1950         start of stack slot.
1951
1952 2001-11-22  Graham Stott  <grahams@redhat.com>
1953
1954         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
1955         replacement jump after original jump.
1956
1957         (verify_flow_info): Remove redundent initialisation.
1958         Handle reaching end of insn list before finding a BARRIER.
1959         Only issue one missing barrier diagnostic.
1960
1961 2001-11-22  Graham Stott  <grahams@redhat.com>
1962
1963         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
1964
1965 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1966
1967         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
1968         insn actually does.
1969
1970 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
1971
1972         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
1973         Fix typo -mm32rx=> -m32rx.
1974
1975         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
1976         targets.
1977
1978         * config.gcc (xscale-coff): Add necessary header files to
1979         tm_file variable.
1980
1981 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
1982
1983         * rs6000.c (output_cbranch): Use $, not %$, in output template.
1984
1985 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1986
1987         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
1988         (lang_type_quals): Declare.
1989         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
1990         retrieve language-specific qualifiers for a type node, instead of
1991         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
1992         lang_dump_tree.
1993         * tree-dump.h: Rename from c-dump.h.
1994         * c-common.h (C_TYPE_QUALS): Removed.
1995         Move declarations for tree-dump.c interface to...
1996         * tree.h: ... here. Remove lang_dump_tree.
1997         * langhooks.h (struct lang_hooks_for_tree_dump): New.
1998         (struct lang_hooks): Add tree_dump hooks.
1999         * langhooks.c (lhd_tree_dump_dump_tree): New function.
2000         (lhd_tree_dump_type_quals): New function.
2001         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
2002         Declare.
2003         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
2004         * Makefile.in: Move tree-dump.o to language-independent back-end.
2005
2006 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2007
2008         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
2009         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
2010         * arc.h (DBX_REGISTER_NUMBER): Likewise.
2011         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
2012         * avr.h (DBX_REGISTER_NUMBER): Likewise.
2013         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
2014         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
2015         * convex.h (DBX_REGISTER_NUMBER): Likewise.
2016         * cris.h (DBX_REGISTER_NUMBER): Likewise.
2017         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
2018         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
2019         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
2020         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
2021         * i370.h (DBX_REGISTER_NUMBER): Likewise.
2022         * i860.h (DBX_REGISTER_NUMBER): Likewise.
2023         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
2024         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
2025         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2026         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
2027         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
2028         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
2029         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
2030         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
2031         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
2032         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
2033         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
2034         * romp.h (DBX_REGISTER_NUMBER): Likewise.
2035         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
2036         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2037         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
2038         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
2039         * v850.h (DBX_REGISTER_NUMBER): Likewise.
2040         * vax.h (DBX_REGISTER_NUMBER): Likewise.
2041         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
2042
2043         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
2044         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
2045
2046 2001-11-21  H.J. Lu <hjl@gnu.org>
2047
2048         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
2049
2050 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2051
2052         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
2053         emit_cmp_and_jump_insns.
2054
2055         * stormy16.c (xstormy16_expand_builtin_va_arg,
2056         xstormy16_expand_casesi): Likewise.
2057
2058 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2059
2060         * function.c (keep_stack_depressed): Major rework.
2061         (handle_epilogue_set, emit_equiv_load): New functions.
2062         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
2063         has return value.
2064         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
2065         * rtl.h (SET_IS_RETURN_P): New macro.
2066
2067         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
2068         and also support TREE_ADDRESSABLE.
2069         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
2070
2071 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
2072
2073         * rs6000.md (cmptf_internal1): Replace %$ with $.
2074
2075 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
2076
2077         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
2078         (read_include_file): Use STAT_SIZE_TOO_BIG.
2079
2080         * cppinit.c (INO_T_COPY): Define.
2081         (INO_T_EQ): Uppercase parameters.
2082         (append_include_chain): Use INO_T_COPY.
2083
2084 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
2085
2086         * cfg.c: Fix typos and formatting in the introductory comment.
2087
2088 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
2089
2090         * profile.c (compute_branch_probabilites):  Compute probabilities
2091         for entry/exit edges; estimate probabilities for zero counts.
2092
2093 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
2094
2095         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
2096         to emit_library_call.
2097         * function.c (expand_main_function, expand_function_start,
2098         expand_function_end): Likewise.
2099         * profile.c (output_func_start_profiler): Likewise.
2100         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
2101         second argument to emit_library_call.
2102         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
2103         as second argument to emit_library_call.
2104         * calls.c (emit_library_call): Update fn_type description.
2105
2106 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
2107
2108         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
2109         if fndecl is still DECL_INLINE and has DECL_RESULT.
2110
2111 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2112
2113         * clipper.c (clipper_movstr): Avoid uninitialized warning.
2114         * i960.c (is_mask, legitimize_address): Likewise.
2115         * m88k.c (m88k_expand_prologue): Likewise.
2116         * m88k.md: Likewise.
2117         * mcore.c (emit_new_cond_insn): Likewise.
2118         * stormy16.c (xstormy16_emit_cbranch): Likewise.
2119
2120 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
2121
2122         * config.gcc: Delete powerpcle-*-solaris2* stanza.
2123         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
2124         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
2125         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
2126         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
2127         config/rs6000/t-ppcos: Expunge all references to Solaris.
2128
2129         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
2130
2131         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
2132         output templates.
2133         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
2134         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
2135
2136 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2137
2138         * sh.md: Avoid uninitialized warnings.
2139         * vax.c (vax_rtx_cost): Likewise.
2140
2141 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
2142
2143         * rs6000.c (direct_return): Check if we are saving altivec
2144         registers.
2145         (first_altivec_reg_to_save): New.
2146         Updated stack frame layout comments.
2147         (rs6000_stack_info): Calculate altivec register save size.
2148         Save link register if we saved some altivec registers.
2149         (rs6000_stack_info): Align save size to 16 if altivec abi or
2150         abi_darwin.
2151         (rs6000_stack_info): Calculate altivec register offsets.
2152         (rs6000_stack_info): Add altivec info to save_size.
2153         (debug_stack_info): Add altivec debug info.
2154         (rs6000_emit_prologue): Save altivec registers and vrsave.
2155         (compute_vrsave_mask): New.
2156         (altivec_expand_builtin): Remove unused variables.
2157         (rs6000_parse_abi_options): Add static qualifier.
2158         (rs6000_expand_builtin): Remove unused parameters.
2159         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
2160         (altivec_init_builtins): Same.
2161         (is_altivec_return_reg): New.
2162         (vrsave_operation): New.
2163         (ALTIVEC_REG_BIT): New.
2164         (generate_set_vrsave): New.
2165
2166         * rs6000.md (get_vrsave): New.
2167         (set_vrsave): New.
2168         (*set_vrsave_internal): New.
2169
2170         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
2171         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
2172         altivec_padding_size, vrsave_mask.
2173         (TOTAL_ALTIVEC_REGS): New.
2174         (EPILOGUE_USES): Add VRSAVE_REGNO.
2175
2176 2001-11-20  Jeff Law <law@redhat.com>
2177
2178         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
2179         exit label as necessary.
2180
2181 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
2182
2183         * reload1.c (elimination_effects): Use function_invariant_p
2184         instead of CONSTANT_P when considering register equivalences.
2185
2186 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
2187
2188         * config.gcc: Add FreeBSD/PowerPC target.
2189         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2190         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2191         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2192         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2193         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2194         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
2195         freebsd-spec.h to tm_file.
2196         (rs6000-*-lynxos*): Add lynx.h to tm_file.
2197         * config/freebsd.h: Tidy up.
2198         (USING_CONFIG_FREEBSD): Define.
2199         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
2200         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
2201         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
2202         (TARGET_HAS_F_SETLKW): Define.
2203         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
2204         * config/freebsd-spec.h: New file.
2205         * config/rs6000/freebsd.h: New file.
2206         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
2207         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
2208         USING_SVR4_H to know when to turn on ELF support.
2209         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
2210         define only if not already defined.
2211         Add FreeBSD support.
2212         * config/rs6000/aix.h (TARGET_VERSION): Define.
2213         * config/rs6000/beos.h: Likewise.
2214         * config/rs6000/darwin.h: Likewise.
2215         * config/rs6000/mach.h: Likewise.
2216         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
2217         Don't include lynx.h directly.
2218
2219 2001-11-20  Graham Stott  <grahams@redhat.com>
2220
2221         * unwind-dw2-fde.c (__deregister_frame_info_bases):
2222         Fix lossage in last change return OB.
2223
2224 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
2225
2226         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
2227         Remove unneeded exit related macros.
2228
2229 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
2230
2231         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
2232
2233         * rs6000.c (rs6000_emit_move): Add TFmode case.
2234         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
2235         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
2236         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
2237         * rs6000.h: ... to here.
2238         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
2239         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
2240         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
2241
2242 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2243
2244         * emit-rtl.c (get_mem_attrs): Fix typo.
2245
2246 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
2247
2248         * c-lang.c (finish_file): Backout 2001-11-16
2249         changes, instead set DECL_DEFER_OUTPUT for static inline functions
2250         before calling c_expand_deferred_function.
2251
2252 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
2253
2254         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
2255         Don't register empty .eh_frame sections.
2256         (__deregister_frame_info_bases, __deregister_frame): Don't
2257         unregister them either.
2258
2259 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
2260
2261         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
2262         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
2263         * configure: Regenerate.
2264         * config.in: Add dummy definitions of new flags.
2265         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
2266         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
2267         * gcc.c (ASM_DEBUG_SPEC): New macro.
2268         (asm_debug): New static variable.
2269         (default_compilers): Add asm_debug when assembling from
2270         user input.
2271         (static_specs): Add asm_debug.
2272
2273 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
2274
2275         * config.gcc (*-*-freebsd*): Remove configuration block.
2276
2277 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
2278
2279         bootstrap/4422
2280         * configure.in: Setup ability to run ./stage[1234]/xgcc in
2281         fixinc *as if* it were a proper lang subdirectory.
2282         * configure: Rebuilt.
2283
2284 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
2285
2286         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
2287
2288 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2289
2290         * 1750a.md: Don't use hex format for a const_int.
2291
2292 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
2293
2294         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
2295
2296 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
2297
2298         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
2299         defined (prevents link errors when gettext isn't in the system
2300         library).
2301
2302 2001-11-19  DJ Delorie  <dj@redhat.com>
2303
2304         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
2305         (validate_const_int): New.
2306         (read_rtx): Validate constant integers.
2307         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
2308
2309 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
2310
2311         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
2312
2313 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
2314
2315         * toplev.c (DUMPFILE_FORMAT): Define default.
2316         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
2317         (close_dump_file, compile_file): Likewise.
2318         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
2319         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
2320
2321 2001-11-19  Jeff Law <law@redhat.com>
2322
2323         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
2324         a nop-jump.
2325
2326 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
2327
2328         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
2329         Don't fall off the base token run.
2330
2331 2001-11-19  Jason Wilkins <fenix@io.com>
2332
2333         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
2334
2335 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2336
2337         * tree.def (VIEW_CONVERT_EXPR): New tree code.
2338         * tree.h (handled_component_p): New declaration.
2339         * alias.c (handled_component_p): Move function from here ...
2340         * expr.c (handled_component_p): ... to here and non longer static.
2341         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
2342         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
2343         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
2344         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
2345         (expand_expr, case VIEW_CONVERT_EXPR): New case.
2346         (expand_expr, cse ADDR_EXPR): No need to copy if already
2347         BIGGEST_ALIGNMENT.
2348         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
2349         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
2350         (output_constant): Handle VIEW_CONVERT_EXPR.
2351         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
2352         Add new case for VIEW_CONVERT_EXPR.
2353
2354 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2355
2356         * a29k/unix.h (ASM_FILE_START): Const-ify.
2357         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
2358         * i386/isc.h (ASM_FILE_START): Const-ify.
2359         * i386/sun386.h (ASM_FILE_START): Likewise.
2360         * m32r.md: Likewise.
2361         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
2362         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
2363         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
2364         * mn10200.md: Initialize variable.
2365
2366 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
2367
2368         * gcse.c (try_replace_reg): Copy RTX before creating note.
2369
2370         * df.h (df_ref_flags): New uenum.
2371         (DF_REF_FLAGS): New macro.
2372         (struct ref): Add field "flags".
2373         * df.c (HANDLE_SUBREG): Remove.
2374         (df_ref_create): Likewise; set flags field of ref.
2375         (df_def_record_1): Strip down read_write subreg; remove
2376         commented out code; set READ_WRITE flag.
2377         (read_modify_subreg_p): New static function.
2378         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
2379         new argument "flags".
2380         (df_insn_refs_record): Update call of df_uses_record.
2381         (df_insn_modify): Avoid #if 0 around comment.
2382         (df_dump): Dump the read/write flag.
2383
2384         * predict.c (propagate_freq): Make cyclic_probability and frequency
2385         volatile
2386
2387         * i386.c (ix86_cc_mode): Accept USE.
2388
2389         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
2390         jump is turned into simplejump.
2391
2392 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2393
2394         * doc/fragments.texi, doc/trouble.texi: Remove links to old
2395         installation chapter.
2396         * doc/gcc.texi: Don't claim that this manual documents
2397         installation.  Mark Installation menu entry as being out of date.
2398
2399 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
2400
2401         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
2402         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
2403         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
2404
2405 2001-11-19  Jason Merrill  <jason@redhat.com>
2406
2407         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
2408         cur_token, not after.
2409
2410         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
2411         Lose ASM_OUTPUT_CONSTRUCTOR.
2412         * system.h: Poison it and INT_ASM_OP.
2413         * c-lang.c (finish_file): Don't check for it.
2414         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
2415
2416 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2417
2418         * mmix.c (mmix_cc1_ignored_option): Const-ify.
2419         (mmix_init_machine_status): Make static to match declaration.
2420         (mmix_unique_section): Const-ify.
2421         (mmix_output_quoted_string): Avoid automatic aggregate
2422         initialization.
2423         (mmix_output_register_setting): Likewise.
2424         (mmix_output_shiftvalue_op_from_str): Likewise.
2425
2426         * mmix.h (mmix_cc1_ignored_option): Const-ify.
2427         (ASM_OUTPUT_BYTE): Fix format specifier warning.
2428         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2429
2430 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2431
2432         PR c/4448
2433         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
2434         name __objc_thread_exit_status so that it matches the
2435         variable defined in objc/thr.h.
2436
2437 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2438
2439         PR bootstrap/4020
2440         * mklibgcc.in: Add missing semi-colons.
2441         * Makefile.in: Same.
2442
2443 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2444
2445         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
2446         after re-laying out decl in incomplete case.
2447         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
2448
2449 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2450
2451         * doc/install-old.texi: Move some sections out to ...
2452         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
2453         ... here.  New files.  Make into chapters rather than sections.
2454         * doc/gcc.texi: Include the new files and add menu entries for
2455         them.
2456         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
2457
2458 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2459
2460         * tree.h (TYPE_ALIGN_OK): New flag.
2461         * emit-rtl.c (set_mem_attributes): Handle it.
2462         * expr.c (emit_single_push_insn): Only set to alias set 0 if
2463         doing sibcall optimization.
2464         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
2465         when make temporary.
2466         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
2467         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
2468
2469         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
2470
2471 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2472
2473         * c-decl.c (c_decode_option): Give deprecation warning for
2474         -traditional.
2475         * doc/invoke.texi (-traditional): Note that this option is
2476         deprecated.
2477
2478 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2479
2480         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
2481         arg to HOST_WIDE_INT, not long.
2482
2483         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
2484         (HAS_INIT_SECTION): Define.
2485         (REAL_ARITHMETIC): Don't undefine.
2486
2487 2001-11-18  Egor Duda  <deo@logos-m.ru>
2488
2489         * config/i386/cygwin.h: Strip leading '*' from name, if any.
2490
2491 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2492
2493         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
2494         * c-common.c: Include diagnostic.h.
2495         (c_common_finish): New.
2496         * c-common.h (c_common_finish): New.
2497         * c-lang.c (LANG_HOOKS_FINISH): Override.
2498         * c-parse.in: Don't include diagnostic.h.
2499         (finish_parse): Remove.
2500         * langhooks.h: Update comments.
2501         * toplev.c (lang_dependent_init): New prototype.
2502         (finalize): New.
2503         (compile_file): Split cleanup code out to finalize.
2504         (lang_dependent_init): Stop if lang_hooks.init fails.
2505         (toplev_main): Update.
2506         * tree.h (finish_parse): Remove.
2507 objc:
2508         * objc-act.c (LANG_HOOKS_FINISH): Override.
2509
2510 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
2511
2512         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
2513         * config/alpha/vms_tramp.asm: New file.
2514         * config/alpha/vms-tramp.asm: Removed.
2515
2516 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2517
2518         * c-common.c (struct disabled_builtin, disabled_builtins,
2519         disable_builtin_function, builtin_function_disabled_p): New.
2520         (builtin_function_2): Check for disabled built-in functions.
2521         * c-common.h (disable_builtin_function): Declare.
2522         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
2523         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
2524         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
2525
2526 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2527
2528         PR target/4606
2529         * config.gcc: Remove reference to va-clipper.h.
2530
2531 2001-11-17  Stan Shebs  <shebs@apple.com>
2532
2533         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
2534         AltiVec-related bitfields.
2535
2536 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2537
2538         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
2539         (mark_eh_region, case ERT_UKNONW): New case.
2540
2541 2001-11-17  Christopher Faylor  <cgf@redhat.com>
2542             Corinna Vinschen  <vinschen@redhat.com>
2543
2544         * config/i386/cygwin.h: Search target specific include directory for
2545         w32api stuff, if appropriate.
2546
2547 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
2548
2549         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
2550
2551 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
2552
2553         * config/rs6000/rs6000.md: Change all ldvx to lvx.
2554
2555 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
2556
2557         * gensupport.c (process_rtx): Don't assume filename is the first
2558         argument of any rtl.
2559
2560 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2561
2562         * vax-protos.h (reg_was_0_p): New prototype.
2563         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
2564         * vax.c (follows_p, reg_was_0_p): New functions.
2565
2566 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2567
2568         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
2569         (casesi1): Likewise.  Define new pattern which arises by simplification
2570         when operand 1 is a constant int.  Correct pattern which arises by
2571         simplification when operand 1 is zero.
2572
2573 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
2574
2575         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
2576         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
2577         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
2578         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
2579         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
2580         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
2581         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
2582         * config/arm/aof.h: Don't include arm.h.
2583         * config/arm/aout.h: Likewise.
2584         * config/arm/coff.h: Don't include semi.h and aout.h.
2585         * config/arm/elf.h: Don't include aout.h.
2586         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
2587         (TARGET_VERSION): Undef before defining.
2588         (ARM_OS_NAME): Likewise
2589         (TARGET_DEFAULT): Likewise
2590         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
2591         * config/arm/pe.h: Don't include arm/coff.h.
2592         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
2593         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
2594         * config/arm/riscix1-1.h: Likewise.
2595         * config/arm/rix-gas.h: Don't include riscix.h.
2596         (DBX_CONTIN_LENGTH): Undef before defining.
2597         * config/arm/semi.h: Don't include aout.h.
2598         * config/arm/semiaof.h: Don't include aof.h.
2599         * config/arm/strongarm-coff.h: Don't include coff.h.
2600         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
2601         * config/arm/vxarm.h: Don't include arm/coff.h.
2602         * config/arm/xscale-coff.h: Don't include coff.h.
2603
2604 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2605
2606         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
2607         emit_cmp_insn.
2608
2609 2001-11-16  Andreas Jaeger  <aj@suse.de>
2610
2611         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
2612         to ....
2613         (fixup_fallthru_exit_predecessor): ... this.
2614         Change callers and prototype.
2615
2616 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
2617
2618         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
2619         hand; don't use gen_setcc_2.
2620         (ix86_expand_builtin): Fix pshufw.
2621         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
2622         case UNORDERED to emit the right assembler instruction.
2623         (mmx_pshufw): Lose operand 2.
2624         (cvtsi2ss): Fix representation.
2625         From Graham Stott:
2626         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
2627
2628 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
2629
2630         * doc/include/linux-and-gnu.texi: Remove.
2631         * doc/gnu.texi: New.
2632         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
2633         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
2634
2635 2001-11-16  Kazu Hirata  <kazu@hxi.com>
2636
2637         * config/a29k/a29k.c: Fix comment formatting.
2638         * config/a29k/a29k.h: Likewise.
2639         * config/arc/arc.c: Likewise.
2640         * config/arc/arc.h: Likewise.
2641         * config/vax/vax.c: Likewise.
2642         * config/vax/vax.h: Likewise.
2643         * config/we32k/we32k.c: Likewise.
2644         * config/we32k/we32k.h: Likewise.
2645
2646 2001-11-16  Jeff Law  <law@redhat.com>
2647
2648         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
2649         creating a new jump insn.
2650
2651 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2652
2653         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
2654         copy misaligned data.
2655         * varasm.c (assemble_variable): Set alignment into MEM when changed.
2656
2657 2001-11-16  Graham Stott  <grahams@redhat.com>
2658
2659         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
2660         OPALIGN type.
2661
2662 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
2663
2664         * except.c: Support for catching a list of types with a single handler
2665         (struct eh_region): Change type and filter to lists for catch regions.
2666         (mark_eh_region): Mark the filter list for GC also.
2667         (expand_start_catch): Always build a list if argument not NULL and
2668         register each type of the list through add_type_for_runtime.
2669         (duplicate_eh_region_1): Change type into type_list for catch regions.
2670         (assign_filter_values): Assign a filter to each type associated with a
2671         catch region. Assign filter for NULL types in a unique entry in the
2672         filter list.
2673         (build_post_landing_pads): Emit compare and jump for each filter of
2674         the list associated with a catch region.
2675         (reachable_next_level): When the type thrown is known, stop the search
2676         as soon as one type within a catch list matches. Also, a handler is
2677         potentially reachable only if at least one of the types it catches
2678         has not been previously caught.
2679         (collect_one_action_chain): Retrieve the filter for a NULL type list
2680         from the first filter list entry. For non NULL type lists, add an
2681         action record for every filter assigned.
2682         * except.h: Reflect changes in comment before expand_start_catch.
2683
2684 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2685
2686         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
2687         BLKmode.
2688
2689 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
2690
2691         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
2692
2693 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
2694
2695         * c-lang.c (finish_file): Don't emit static inline functions if
2696         they weren't referenced.
2697
2698 2001-11-15  Stan Shebs  <shebs@apple.com>
2699
2700         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
2701
2702 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2703
2704         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
2705         call.
2706         * config/i386/i386.md: Likewise.
2707
2708 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2709
2710         * timevar.c (rtl.h): Include so get fancy abort.
2711
2712 2001-11-15  Dale Johannesen  <dalej@apple.com>
2713
2714         * config/darwin.h (SELECT_RTX_SECTION):  Force address
2715         initializers into 'const' section
2716         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
2717         if_then_else to match result, not operands
2718
2719 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2720
2721         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
2722         * emit-rtl.c (change_address): Fix typo in default alignment.
2723         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
2724         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
2725         * rtl.h (REGNO_PTR_FRAME_P): New macro.
2726
2727         * expr.c (store_field): Pass tree instead of max size; callers changed.
2728         Change handling of alignment.
2729         Only copy to_rtx if is TARGET.
2730         (expand_expr_unaligned): Delete; callers now use expand_expr.
2731         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
2732         (expand_assignment): Change handling of alignment.
2733         Only copy to_rtx if was original.
2734         (get_inner_reference): No longer return alginment; callers changed.
2735         (expand_expr, case COMPONENT_REF): Change handling of alignment.
2736         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
2737         (compare_from_rtx): Delete ALIGN parm; all callers changed.
2738         (do_compare_rtx_and_jump): Likewise.
2739         * expr.h: Reflect above changes.
2740         * tree.h: Likewise.
2741         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
2742         to get_inner_reference.
2743         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
2744         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
2745         * optabs.c: Likewise.
2746         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
2747         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
2748         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
2749         compare_rtx_and_jump, and emit_cmp_jump_insns.
2750         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
2751         * function.c (assign_stack_temp_for_type): No longer static.
2752         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
2753         (prepare_cmp_insn): Delete declaration.
2754         * rtl.h (assign_stack_temp_for_type): Add declaration.
2755         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
2756         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
2757         * config/i386/i386.c,config/mips/mips.c: Likewise.
2758         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
2759         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
2760
2761 2001-11-15  Stan Shebs  <shebs@apple.com>
2762
2763         * config/rs6000/rs6000.h: Fix a comment typo.
2764         (RTX_COSTS): Sort processor versions better.
2765
2766 2001-11-15  Kazu Hirata  <kazu@hxi.com>
2767
2768         * config/h8300/h8300.md: Fix insn length of bit insns.
2769
2770 2001-11-15  Jason Merrill  <jason@redhat.com>
2771
2772         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
2773         DIEs if there were errors in the source.
2774
2775         * config/alpha/alpha-interix.h, config/alpha/elf.h,
2776         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
2777         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
2778         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
2779         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
2780         config/elfos.h, config/lynx.h, config/netware.h,
2781         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
2782         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
2783         uses to use ASM_LONG.
2784
2785 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
2786
2787         * gensupport.c  process_include : Change call to alloca to
2788         xmalloc.
2789
2790 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
2791
2792         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
2793         templates.
2794
2795 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2796
2797         * final.c (alter_subreg): If simplify_subreg can't do anything,
2798         handle REG ourselves and abort for others.
2799
2800 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
2801
2802         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
2803         routines.
2804
2805 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2806
2807         * fix-header.c (read_scan_file): Update.
2808
2809 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2810
2811         * toplev.c (toplev_main): Don't start timing until after
2812         command-line options are parsed.
2813
2814 2001-11-15  Andreas Schwab  <schwab@suse.de>
2815
2816         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
2817         makefile frag, not host makefile frag.
2818         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
2819         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
2820         used.
2821         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
2822         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
2823         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
2824         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
2825         * config/i386/t-dgux (STMP_FIXPROTO): Define.
2826         * config/x-interix: Don't define STMP_FIXPROTO and
2827         FIXPROTO_DEFINES.
2828         * config/t-interix: New file, define STMP_FIXPROTO.
2829         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
2830         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
2831         * config/t-svr4 (FIXPROTO_DEFINES): Define.
2832         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
2833         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
2834         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
2835         * config/m68k/t-hp3200: Renamed from x-hp3200.
2836         * config/i370/t-oe: Renamed from x-oe.
2837         * config/mips/t-iris: Renamed from x-iris.
2838         * config/pa/t-bsd: Renamed from x-pa.
2839         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
2840         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
2841         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
2842         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
2843         config/rs6000/x-cygwin: Remove files.
2844
2845         * configure.in: Check for target objdump and use that in eh_frame
2846         optimization test.
2847         * configure: Regenerated.
2848
2849 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
2850
2851         * jump.c (squeeze_notes): Return true if no real insns were found.
2852         * rtl.h (squeeze_notes): Adjust prototype.
2853         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
2854         squeeze_notes finds no real instructions, abort.
2855         (merge_blocks_move_successor_nojumps): Likewise.
2856         * loop.c (find_and_verify_loops): Likewise.
2857         * stmt.c (expand_end_case): Likewise.
2858         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
2859         find any real instructions.
2860
2861         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
2862
2863         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
2864         conditional jump, request updating life into for the block
2865         containing it.  Fix a typo which prevented life info update.
2866         Clear blocks bitmap before using it.
2867
2868 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2869
2870         * c-common.c: Include c-lex.h.
2871         (c_common_lang_init): Change prototype.  Call init_c_lex and
2872         init_pragma from here.
2873         * c-common.h (c_common_lang_init): Change prototype.
2874         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
2875         * c-lang.c (c_init): Change prototype.  Update.
2876         (c_init_options): Update.
2877         * c-lex.c (cpp_filename): Remove.
2878         (init_c_lex): Update.  Read the main file, and get the original
2879         file name.
2880         (yyparse): Finish the command line options.
2881         * c-parse.in (c_parse_init): Call init_reswords here.
2882         (init_parse): Remove.
2883         * c-tree.h (c_init_decl_processing): New.
2884         * cpphash.c (_cpp_init_hashtable): After initializing the hash
2885         table, populate it.
2886         * cppinit.c (read_original_filename, cpp_finish_options): New.
2887         (cpp_create_reader): New prototype. Defer hash table initialization.
2888         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
2889         hash table.  Get the original filename.
2890         * cpplib.h (cpp_create_reader): Update.
2891         (cpp_start_read): Remove.
2892         (cpp_read_main_file, cpp_finish_options): New.
2893         * cppmain.c (main, do_preprocessing): Update.
2894         * langhooks.h (struct langhooks): Update init prototype.
2895         * toplev.c (general_init, parse_options_and_default_flags,
2896         process_options, lang_indpendent_init, lang_dependent_init,
2897         init_asm_output): New; perform the bulk of initialization.
2898         (compile_file): Move most of initialization to above functions.
2899         (debug_hooks): Initialize statically.
2900         (set_Wunused): Relocate.
2901         (toplev_main): Move most of initialization to other init functions.
2902         Have a clear logic flow.
2903         * tree.h (init_parse, init_decl_processing): Remove.
2904 objc:
2905         * objc-act.c (objc_init): Update prototype, combine with old
2906         init_parse.
2907         (objc_init_options): Update.
2908
2909
2910 2001-11-15  Andreas Jaeger  <aj@suse.de>
2911
2912         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
2913         portability.
2914         * basic-block.h: Adjust prototype.
2915
2916 2001-11-15  Kazu Hirata  <kazu@hxi.com>
2917
2918         * config/rs6000/aix31.h: Fix comment formatting.
2919         * config/rs6000/beos.h: Likewise.
2920         * config/rs6000/darwin.h: Likewise.
2921         * config/rs6000/eabi.asm: Likewise.
2922         * config/rs6000/linux.h: Likewise.
2923         * config/rs6000/linux64.h: Likewise.
2924         * config/rs6000/lynx.h: Likewise.
2925         * config/rs6000/netbsd.h: Likewise.
2926         * config/rs6000/rs6000.c: Likewise.
2927         * config/rs6000/rs6000.h: Likewise.
2928         * config/rs6000/rs6000.md: Likewise.
2929         * config/rs6000/sol2.h: Likewise.
2930         * config/rs6000/tramp.asm: Likewise.
2931         * config/rs6000/xcoff.h: Likewise.
2932         * config/rs6000/xm-beos.h: Likewise.
2933
2934 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
2935
2936         * rtl.def (INCLUDE) : Define.
2937         * gensupport.c  (init_include_reader, process_include,
2938         save_string) :  New functions to implement an include facility
2939         in .md files.
2940         * gensupport.h : Add prototype for init_md_reader_args.
2941         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
2942         genextract.c genflags.c genopinit.c genoutput.c
2943         genpeep.c genrecog.c: Change call to init_md_reader to
2944         init_md_reader_args.
2945         * md.texi: Document (include "path") and -I directives for RTL
2946         generation tools.
2947
2948 2001-11-14  DJ Delorie  <dj@redhat.com>
2949
2950         * integrate.c (get_hard_reg_initial_reg): New.
2951         * integrate.h (get_hard_reg_initial_reg): Prototype.
2952         * local-alloc.c (block_alloc): Don't tie pseudos that
2953         represent call-saved hard regs' initial values.
2954
2955 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2956
2957         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
2958         recursion.
2959
2960 2001-11-14  Roger Sayle <roger@eyesopen.com>
2961
2962         * fold-const.c (fold): Optimize strlen comparisons against zero.
2963
2964 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
2965
2966         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
2967         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
2968         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
2969         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
2970         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
2971         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
2972         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
2973         Include various CPU headers via tm_file.  a.out based platforms now
2974         properly include sparc/aout.h.  sol2.h usage now implies including
2975         elfos.h, svr4.h, and sparc/sysv4.h.
2976         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
2977         Also define to '1'.
2978         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
2979         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
2980         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
2981         Remove.  They are a.out specific and belong in sparc/aout.h.
2982         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
2983         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2984         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
2985         sparc/sparc.h.
2986         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
2987         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
2988         Moved here from sparc/sparc.h.
2989         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
2990         defining.
2991         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
2992         * config/sparc/lynx.h:  Don't include lynx.h.
2993         (SELECT_SECTION): Do not undef.
2994         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
2995         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
2996         and sparc/sysv4.h.
2997         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
2998         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
2999         sparc/aout.h now.
3000         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
3001         Don't undef, there is no need.
3002         * config/sparc/splet.h (CPP_PREDEFINES): Define.
3003         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
3004         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
3005         Don't include sparc/sparc.h.
3006         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
3007         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
3008         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
3009         elfos.h and svr4.h.
3010         (TARGET_VERSION): Define.
3011         * config/sparc/vxsim.h (TARGET_VERSION): Define.
3012
3013 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
3014
3015         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
3016         (cfg_layout_finalize): Use it.
3017         * bb-reorder.c (HAVE_epilogue): Remove.
3018         (make_reorder_chain): Do not care special placement of
3019         last basic block.
3020
3021         * predict.c (expected_value_to_br_prob): Delete the note
3022         once transformed.
3023
3024         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
3025         measure integration time separately.
3026
3027 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3028
3029         * function.c (struct temp_slot): ALIGN now unsigned.
3030
3031 2001-11-14  Kazu Hirata  <kazu@hxi.com>
3032
3033         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
3034         * config/dsp16xx/dsp16xx.h: Likewise.
3035         * config/dsp16xx/dsp16xx.md: Likewise.
3036
3037 2001-11-14  Kazu Hirata  <kazu@hxi.com>
3038
3039         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
3040         that deals with 7-bit shifts in HImode.
3041
3042 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
3043
3044         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
3045         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
3046         (final_scan_insn): Update call of alter_subreg.
3047         (cleanup_subreg_operands): Likewise.
3048         (alter_subreg): Rewrite using simplify_subreg.
3049         (output_address, output_operand): Update call of alter_subreg.
3050         * output.h (alter_subreg): Update prototype.
3051         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
3052         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
3053         * Makefile.in (final.o): Add dependency on expr.h
3054
3055 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3056
3057         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
3058
3059 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
3060
3061         * doc/install.texi (sparc-*-linux*): Mention requirements for
3062         binutils and glibc.
3063
3064 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
3065
3066         * Makefile.in (POD2MAN): Don't include --section=1.
3067         (manext): Rename to man1ext.  All users changed.
3068         (man7ext): New.
3069         (man7dir): New.
3070         (generated-manpages): Also depend on $(docdir)/gfdl.7,
3071         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
3072         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
3073         --section=1 in calls to $(POD2MAN).
3074         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
3075         (maintainer-clean, install, uninstall): Handle the new man pages.
3076         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
3077         (installdirs): Create man7dir.
3078         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
3079         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
3080         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
3081         the SEE ALSO man page section.
3082         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
3083         and fsf-funding(7) in the SEE ALSO man page section.
3084         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
3085         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
3086         * doc/include/fdl.texi, doc/include/funding.texi,
3087         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
3088         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
3089
3090 2001-11-13  Richard Henderson  <rth@redhat.com>
3091
3092         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
3093         as appropriate for the artificial decl.
3094
3095 2001-11-13  Richard Henderson  <rth@redhat.com>
3096
3097         * loop.c (combine_movables): Turn off combination until
3098         move_movables validation bugs are fixed.
3099
3100 2001-11-13  DJ Delorie  <dj@redhat.com>
3101
3102         * config.gcc (powerpc|rs6000): Set default cpp options based
3103         on --with-cpu settings.
3104         * config/rs6000/softfloat.h: New.
3105
3106 2001-11-13  Kazu Hirata  <kazu@hxi.com>
3107
3108         * config/h8300/h8300.c (shift_alg_si): Use special code for
3109         25-bit shifts on H8/S.
3110         (get_shift_alg): Generate special code for 25-bit shifts on
3111         H8/S.
3112
3113 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
3114
3115         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
3116         (adjust_automodify_address_1): New.
3117         * expr.h (adjust_address, adjust_address_nv): Adjust.
3118         (adjust_automodify_address, adjust_automodify_address_nv): Define.
3119         (adjust_address_1): Update prototype.
3120         (adjust_automodify_address_1): Add prototype.
3121         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
3122         (store_by_pieces_2): Likewise.
3123
3124 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3125
3126         * Makefile.in (explow.o): Now depends on ggc.h.
3127         * explow.c (ggc.h): Include.
3128         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
3129
3130         * Makefile.in (expr.o): Depends on insn-attr.h.
3131         * expr.c (insn-attr.h): New include.
3132         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
3133         of MEM.
3134         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
3135         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
3136         clean up related usage in ADDR_EXPR.
3137         (expand_expr_unaligned): Likewise.
3138
3139         * emit-rtl.c (change_address): Fix typo in alias setting.
3140
3141 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3142
3143         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
3144
3145 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3146
3147         PR bootstrap/3451
3148         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
3149         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
3150
3151 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
3152
3153         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
3154         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
3155         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
3156         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
3157         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
3158         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
3159         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
3160         sparc64-*-linux*):  Include various CPU headers via tm_file.
3161         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
3162         (SELECT_SECTION): Likewise.
3163         (SELECT_RTX_SECTION): Likewise.
3164         * config/sparc/sparc_bi.h: New file.
3165         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
3166         * config/sparc/linux-aout.h: Likewise.
3167         * config/sparc/linux.h: Don't include sparc/sysv4.h.
3168         * config/sparc/linux64.h: Likewise.
3169         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
3170         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
3171         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
3172         and dbxcoff.h
3173         (ASM_OUTPUT_IDENT): Do not #undef.
3174         (SELECT_SECTION): Likewise.
3175         (SELECT_RTX_SECTION): Likewise.
3176         * config/sparc/liteelf.h: Don't include gofast.h.
3177         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
3178         * config/sparc/lynx.h: Don't include sparc/sparc.h.
3179         * config/sparc/pbd.h: Likewise.
3180         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
3181         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
3182         * config/sparc/rtemself.h: Don't include rtems.h.
3183         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
3184         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
3185         sparc_bi.h instead.
3186         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
3187         * config/sparc/sol2.h: Include sparc/sparc.h directly.
3188         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
3189         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
3190         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
3191         * config/sparc/sp86x-elf.h: Don't include gofast.h.
3192         * config/sparc/splet.h: Don't include sparc/aout.h.
3193         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
3194         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
3195         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
3196         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
3197         * config/sparc/vxsparc64.h: Don't include gofast.h.
3198         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
3199
3200 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3201
3202         * doc/standards.texi: Mention C99 TC1.
3203
3204 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3205
3206         * mips-protos.h (mips_output_conditional_branch): Const-ify.
3207         * mips.c (mips_output_conditional_branch): Likewise.
3208
3209 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3210
3211         * config/h8300/h8300.c (shift_alg_si): Use special code for
3212         15-bit logical shifts and 31-bit logical shifts.
3213         (get_shift_alg): Generate special code for 15-bit and 31-bit
3214         logical shifts.
3215
3216 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3217
3218         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
3219         doing 6-bit logical shifts on H8/S.
3220         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
3221         (get_shift_alg): Generate special code for 21-bit shifts on
3222         H8/S.
3223
3224 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3225
3226         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
3227         label.
3228
3229 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3230
3231         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
3232         if both size and offset known.
3233
3234 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
3235
3236         * config/ia64/freebsd.h: Fix misspelling.
3237
3238 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3239
3240         * doc/gcc.texi: Move several chapters out to ...
3241         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
3242         doc/include/linux-and-gnu.texi, doc/interface.texi,
3243         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
3244         ... here.  New files.
3245         * doc/gcc.texi, doc/contrib.texi: Move section headings into
3246         contrib.texi.
3247         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3248
3249 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3250
3251         * config/alpha/alpha-interix.h: Fix comment formatting.
3252         * config/alpha/alpha.c: Likewise.
3253         * config/alpha/alpha.h: Likewise.
3254         * config/alpha/alpha32.h: Likewise.
3255         * config/alpha/freebsd.h: Likewise.
3256         * config/alpha/unicosmk.h: Likewise.
3257         * config/alpha/vms.h: Likewise.
3258
3259 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3260
3261         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3262
3263 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
3264
3265         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
3266         numbers.
3267
3268 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3269
3270         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
3271         from type.
3272         (replace_equiv_address): Call update_temp_slot_address.
3273
3274         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
3275
3276         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
3277
3278 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3279
3280         * config/h8300/h8300.c (shift_alg_qi): New.
3281         (shift_alg_hi): Likewise.
3282         (shift_alg_si): Likewise.
3283         (get_shift_alg): Change the type of count to unsigned int.
3284         Use the tables.
3285
3286 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
3287
3288         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
3289         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
3290         to decide whether to defer a function.
3291         (finish_function): Adjust.
3292         (c_expand_deferred_function): New function.
3293         * c-lang.c (deferred_fns): New variable.
3294         (c_init): Initialize it, and mark it as a root.
3295         (defer_fn): New function.
3296         (finish_file): Expand all deferred functions.
3297         * c-tree.h (defer_fn): Declare.
3298         (c_expand_deferred_function): Likewise.
3299         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
3300         * objc-act.c (deferred_fns): New variable.
3301         (objc_init): Initialize it, and mark it as a root.
3302         (defer_fn): New function.
3303         (finish_file): Expand all deferred functions.
3304
3305 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3306
3307         * alpha.c (unicosmk_special_name): Prototype.
3308         (unicosmk_ssib_name): Delete unused variable.
3309         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
3310         * alpha/vms.h (PREFIX): Undef before defining.
3311         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
3312         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
3313         controlling usage.  Const-ify.
3314         (alias_number): Delete unused variable.
3315         * m32r/m32r.c (m32r_sched_init): Add missing argument.
3316         (m32r_expand_block_move): Fix uninitialized warnings.
3317         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
3318         always true' warnings.
3319         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
3320         * sh/sh.c: Include "integrate.h".
3321         (output_far_jump): Fix uninitialized warning.
3322         * final.c (shorten_branches): Avoid automatic aggregate
3323         initialization.
3324         * integrate.c (subst_constants): Likewise.
3325
3326 2001-11-11  Kazu Hirata  <kazu@hxi.com>
3327
3328         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
3329         (get_shift_alg): Remove redundant code.
3330
3331 2001-11-11  Kazu Hirata  <kazu@hxi.com>
3332
3333         * config/pa/milli64.S: Fix comment formatting.
3334         * config/pa/pa-64.h: Likewise.
3335         * config/pa/pa-linux.h: Likewise.
3336         * config/pa/pa-protos.h: Likewise.
3337         * config/pa/pa.c: Likewise.
3338         * config/pa/pa.h: Likewise.
3339         * config/pa/pa32-linux.h: Likewise.
3340         * config/pa/pa32-regs.h: Likewise.
3341         * config/pa/pa64-hpux.h: Likewise.
3342         * config/pa/pa64-regs.h: Likewise.
3343         * config/pa/som.h: Likewise.
3344
3345 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3346
3347         * doc/gcc.texi: Move several chapters out to ...
3348         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
3349         doc/service.texi, doc/standards.texi, doc/trouble.texi,
3350         doc/vms.texi: ... here.  New files.
3351         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3352
3353 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3354
3355         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
3356         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
3357         collect2.c, combine.c, config.in, configure, configure.in,
3358         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
3359         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
3360         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
3361         spelling errors.
3362
3363 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3364
3365         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
3366         Adjust operand number in CONST_DOUBLE.
3367
3368         * expmed.c (extract_bit_field): No longer pass in alignment.
3369         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
3370         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
3371         Likewise.
3372         * expr.c (store_constructor, store_constructor_field): Likewise.
3373         (store_field, emit_group_load, emit_group_store): Likewise.
3374         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
3375         (store_bit_field, extract_bit_field): Likewise.
3376         * calls.c, expr.c, function.c: Change calls to above functions.
3377         * ifcvt.c, stmt.c: Likewise.
3378
3379         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
3380         constant and one is on frame.
3381         If know memref offset, adjust size from decl.
3382
3383 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3384
3385         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
3386         format specifier warning.
3387         * convex.h (ASM_OUTPUT_BYTE): Likewise.
3388         * elfos.h (ALIGN_ASM_OP): Undef before defining.
3389         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
3390         warning.
3391         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3392         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3393         * i386-interix.h (gen_stdcall_suffix): Prototype.
3394         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
3395         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
3396         ASM_OUTPUT_LONG_DOUBLE): Likewise.
3397         * i386/interix.c (gen_stdcall_suffix): Const-ify.
3398         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
3399         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
3400         specifier warnings.
3401         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3402         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
3403         ASM_OUTPUT_LONG_DOUBLE): Likewise.
3404         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3405         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3406         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3407         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3408         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
3409         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
3410         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3411         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
3412         Likewise.
3413         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
3414         Likewise.
3415         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
3416         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
3417         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
3418         Likewise.
3419         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
3420         Likewise.
3421         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
3422         Likewise.
3423         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
3424         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
3425         * m68k/news.h (PRINT_OPERAND): Likewise.
3426         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
3427         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
3428         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3429         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
3430         definition.
3431         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
3432         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
3433         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
3434         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3435         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
3436         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
3437         PRINT_OPERAND): Likewise.
3438         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
3439         Likewise.
3440         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
3441         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
3442         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
3443         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
3444         * mips.c (mips_output_external_libcall): Mark parameter with
3445         ATTRIBUTE_UNUSED.
3446         (mips_asm_file_start): Move variable into the scope where it's
3447         used.
3448         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
3449         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
3450         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
3451         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3452         * ns32k.c (print_operand): Likewise.
3453         * pa.c (print_operand, output_div_insn): Likewise.
3454         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
3455         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
3456         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
3457         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
3458         specifier warnings.
3459         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3460         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3461         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
3462         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
3463         specifier warnings.
3464         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3465
3466         * sdbout.c (sdbout_end_epilogue): Mark parameter with
3467         ATTRIBUTE_UNUSED.
3468         * varasm.c (assemble_global): Likewise.
3469
3470 2001-11-11  H.J. Lu <hjl@gnu.org>
3471
3472         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
3473
3474 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
3475
3476         * final.c (*_MAX_SKIP): Use *_max_skip variables.
3477         * flags.h (align_loops_max_skip, align_jumps_max_skip,
3478         align_labels_max_skip): New global variables.
3479         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
3480         align_labels_max_skip): New global variables.
3481         (toplev_main): Set new variables.
3482         * i386.c (override_options): Set max_skip values.
3483
3484 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
3485
3486         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
3487         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
3488         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
3489         don't print an @fptr for labels either.
3490         (xstormy16_output_addr_vec): Don't print @fptr here.
3491         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
3492
3493 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
3494
3495         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
3496         an ANSI/ISO definitino.
3497         (ssa_const_prop): Likewise.
3498
3499 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
3500
3501         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
3502         altivec registers.
3503
3504 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3505
3506         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
3507         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
3508         * cppmain.c (general_init): Call hex_init.
3509         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
3510
3511         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
3512
3513         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
3514         of dgux.c:output_file_start().
3515
3516         * i386/dgux.c: Delete file.
3517
3518 2001-11-09  Richard Henderson  <rth@redhat.com>
3519
3520         * config/alpha/alpha.c (decl_in_text_section): New.
3521         (current_file_function_operand): Use it.
3522         (alpha_encode_section_info, alpha_end_function): Likewise.
3523
3524 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
3525
3526         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
3527         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
3528         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
3529         so OS specific files and use CPP_PREDEFINES for their needs.
3530         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
3531         target headers to tm_file.
3532         * config/ia64/aix.h (TARGET_VERSION): Likewise.
3533         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
3534         * config/ia64/linux.h (TARGET_VERSION): Likewise.
3535         (FUNCTION_PROFILER): Remove.
3536         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
3537         version in config/ia64/linux.h.
3538         * config/ia64/freebsd.h: New file.
3539         * config/freebsd.h: Tidy up.
3540         (_USING_CONFIG_FREEBSD): Define.
3541         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
3542         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
3543         (FBSD_STARTFILE_SPEC): Likewise.
3544         (FBSD_ENDFILE_SPEC): Likewise.
3545         (FBSD_LIB_SPEC): Likewise.
3546         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
3547         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
3548         set an ELF-improper one.
3549
3550 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3551
3552         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
3553         constant can be loaded in a single instruction to a register.  When
3554         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
3555         depdi for insertion of most significant 32-bits on 64-bit hosts.
3556         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
3557         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
3558         * pa.md: New addmove pattern for adding constant_int to HImode
3559         register and moving result to HImode register.  Remove HImode HIGH
3560         and LO_SUM patterns.
3561
3562 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3563
3564         * Makefile.in: Update.
3565         * c-decl.c (print_lang_decl, print_lang_type): Remove.
3566         (print_lang_identifier): Rename c_print_identifier.
3567         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
3568         (print_lang_statistics, lang_print_xnode): Remove.
3569         * c-parse.in (set_yydebug): Rename c_set_yydebug.
3570         * c-tree.h (c_set_yydebug, c_print_identifier): New.
3571         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
3572         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
3573         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
3574         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
3575         (LANG_HOOKS_INITIALIZER): Update.
3576         * langhooks.h (struct lang_hooks): New members.
3577         (lang_print_tree_hook): New.
3578         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
3579         * print-tree.c: Include langhooks.h.
3580         (print_node): Update.
3581         * toplev.c (decode_d_option): Update.
3582         * tree.c: Include langhooks.h.
3583         (dump_tree_statistics): Update.
3584         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
3585         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
3586 objc:
3587         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
3588         LANG_HOOKS_SET_YYDEBUG): Override.
3589         (lang_print_xnode, print_lang_statistics): Remove.
3590
3591 2001-11-09  Richard Henderson  <rth@redhat.com>
3592
3593         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
3594         on the symbol string.
3595
3596 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3597
3598         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
3599         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
3600         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
3601
3602         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
3603
3604         * tlink.c (recompile_files): Copy strings passed to `putenv'.
3605
3606 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
3607
3608         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
3609         (TYPE_READONLY): Likewise.
3610
3611         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
3612
3613         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
3614         don't pass --gdwarf2 to the assembler if the compiler will also
3615         provide debug info.
3616
3617         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
3618         Don't change INDEX.
3619
3620 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3621
3622         * alias.c (nonoverlapping_memrefs_p): New function.
3623         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
3624
3625         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
3626
3627 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
3628
3629         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
3630         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
3631         generating altivec code.
3632         (FIXED_REGISTERS): VRSAVE is fixed.
3633         (CALL_USED_REGISTERS): VRSAVE is call used.
3634
3635 2001-11-09  Jason Eckhardt  <jle@rice.edu>
3636
3637         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
3638         code the branch target as ".+16/.+12", but rather use labels.
3639
3640 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
3641
3642         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
3643         to work around limitations of certain versions of GAS.
3644
3645         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
3646         (muldi3): Update due to SUBREG_BYTE changes.
3647         (casesi): Similarly.
3648
3649 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
3650
3651         * doc/invoke.texi: Remove comment referring to -xf77-version.
3652
3653 2001-11-09  Kazu Hirata  <kazu@hxi.com>
3654
3655         * config/convex/convex.c: Fix comment formatting.
3656         * config/convex/convex.h: Likewise.
3657
3658 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
3659
3660         * Makefile.in (.po.pox): Look both in srcdir and builddir
3661         for $(PACKAGE).pot.
3662         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
3663         to the source directory.
3664
3665 2001-11-09 Ben Elliston  <bje@redhat.com>
3666            Michael Meissner  <meissner@redhat.com>
3667            Andrew MacLeod  <amacleod@redhat.com>
3668            Richard Henderson  <rth@redhat.com>
3669            Nick Clifton  <nickc@redhat.com>
3670            Catherine Moore  <clm@redhat.com>
3671
3672         * m32r.c: Add support for m32rx processor.
3673         * m32r.h: Ditto.
3674         * m32r.md: Ditto.
3675         * t-m32r: Ditto.
3676         * m32r-protos.h: Add prototypes for m32rx functions.
3677         * doc/invoke.texi: Document -m32rx option.
3678
3679 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
3680
3681         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
3682         or after reload.
3683
3684 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3685
3686         * doc/install.texi2html: Use $MAKEINFO --no-split.
3687
3688 2001-11-09  Andreas Schwab  <schwab@suse.de>
3689
3690         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
3691         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
3692         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3693         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
3694         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
3695
3696 2001-11-09  H.J. Lu <hjl@gnu.org>
3697
3698         * config/mips/mips.c (mips_output_function_prologues): Cast
3699         `tsize' to long for output.
3700
3701 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3702
3703         * c-lang.c (LANG_HOOKS_NAME): New.
3704         (lang_hooks): Constify.
3705         (c_init_options): Update.
3706         (lang_identify): Remove.
3707         * c-parse.in (language_string): Remove.
3708         * dbxout.c: Include langhooks.h.
3709         (dbxout_symbol_location): Update.
3710         * dwarf2out.c: Include langhooks.h.
3711         (gen_compile_unit_die): Update.
3712         * dwarfout.c: Include langhooks.h.
3713         (prototyped_attribute, output_compile_unit_die): Update.
3714         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
3715         (LANG_HOOKS_INITIALIZER): Update.
3716         * langhooks.h (struct lang_hooks): New members.  Constify.
3717         * stringpool.c: Don't include toplev.h.
3718         (set_identifier_size): Remove.
3719         * toplev.c (toplev_main): Initialize identifier size.
3720         (print_version): Update.
3721         * tree.h (language_string, init_lex, lang_identify,
3722         set_identifier_size): Remove.
3723         * Makefile.in: Update dependencies.
3724         * config/darwin.c: Include langhooks.h.
3725         (func_name_maybe_scoped): Update.
3726         * config/darwin.h (ASM_END_FILE): Update.
3727         * config/nextstep.h (ASM_END_FILE): Update.
3728         * config/nextstep21.h (ASM_END_FILE): Update.
3729         * config/i386/sun386.h (ASM_END_FILE): Update.
3730         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
3731         (rs6000_output_function_epilogue): Update.
3732 objc:
3733         * objc-act.c (LANG_HOOKS_NAME): Override.
3734         (struct lang_hooks): Constify.
3735         (objc_init_options): Update.
3736         (lang_identify): Remove.
3737
3738 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
3739
3740         * fold-const.c (lshift_double): Honor PREC.
3741         (rshift_double): Likewise.
3742
3743 2001-11-08  Kazu Hirata  <kazu@hxi.com>
3744
3745         * config/1750a/1750a.c: Fix comment formatting.
3746         * config/1750a/1750a.h: Likewise.
3747
3748 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
3749
3750         * configure.in (--enable-languages): Be more permissive about
3751         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
3752         * configure: Regenerated.
3753
3754 2001-11-08  Richard Henderson  <rth@redhat.com>
3755
3756         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
3757
3758 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
3759
3760         * config.gcc: Rename stormy16 to xstormy16.
3761         * config/stormy16/stormy-abi: Likewise.
3762         * config/stormy16/stormy16-protos.h: Likewise.
3763         * config/stormy16/stormy16.c: Likewise.
3764         * config/stormy16/stormy16.h: Likewise.
3765         * config/stormy16/stormy16.md: Likewise.
3766
3767 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
3768
3769         * tree.h (TYPE_VOLATILE): Add enable-checking code.
3770         (TYPE_READONLY): Likewise.
3771
3772 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3773
3774         * reload1.c (reload): Don't delete equiv insn if can throw.
3775
3776         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
3777         (clear_storage): Likewise, for OBJECT.
3778
3779 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
3780
3781         * pa.c (emit_move_sequence): Fix SUBREG expression to
3782         use proper byte offset when extending a constant from
3783         SImode to DImode.
3784
3785 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
3786
3787         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
3788         which cannot throw.
3789
3790 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3791
3792         * explow.c (convert_memory_address, case SUBREG): Only return
3793         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
3794
3795 2001-11-08  Richard Henderson  <rth@redhat.com>
3796
3797         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
3798         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
3799         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
3800
3801 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
3802
3803         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
3804
3805 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
3806
3807         * dwarf2out.c (debug_str_hash): New.
3808         (struct indirect_string_node): New.
3809         (struct dw_val_struct): Change type of val_str to it.
3810         (DEBUG_STR_SECTION_FLAGS): Define.
3811         (add_AT_string): Push string into hashtable, increment reference
3812         counter.
3813         (AT_string): Return string from ht_identifier.
3814         (AT_string_form): New.
3815         (free_AT): For dw_val_class_str, just decrement reference counter.
3816         (size_of_string): Remove.
3817         (size_of_die): Use AT_string_form to decide what size the string
3818         occupies in DIE.
3819         (size_of_pubnames): Use strlen instead of size_of_string.
3820         (value_format): Use AT_string_form for dw_val_class_str.
3821         (output_die): Output DW_FORM_strp strings using
3822         dw2_asm_output_offset.
3823         (indirect_string_alloc, output_indirect_string): New.
3824         (dwarf2out_finish): Emit .debug_str strings if there are any.
3825
3826 2001-11-08  Andreas Franck  <afranck@gmx.de>
3827
3828         * configure.in: Add AC_ARG_PROGRAM to support program name
3829         transformation with --program-prefix, --program-suffix and
3830         --program-transform-name.
3831         * configure: Regenerated.
3832         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
3833         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
3834         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
3835         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
3836         program_transform_name the way suggested by autoconf.
3837         (GCC_TARGET_INSTALL_NAME): Define.
3838         (install-driver): Use the transformed target alias name.
3839
3840 2001-11-08  Richard Henderson  <rth@redhat.com>
3841
3842         * config/mips/mips.c (save_restore_insns): Remove GP from the
3843         restore registers mask early instead of special casing it inside
3844         the loop.
3845
3846 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3847
3848         * cp/decl.c (shadow_warning): New function.
3849         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
3850         and an error when a block scope decl shadows a parameter.
3851
3852 2001-11-08  Richard Henderson  <rth@redhat.com>
3853
3854         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
3855         case as well.
3856
3857 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3858
3859         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
3860         to implement floating negation on processors prior to PA 2.0.
3861
3862 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
3863
3864         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
3865         (USE_LINKONCE_INDIRECT): Define.
3866         (dw2_output_indirect_constant_1): Try to output indirect constants
3867         into linkonce sections if possible.
3868         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
3869         (dw2_output_indirect_constants): Likewise.
3870
3871 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
3872
3873         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
3874
3875 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
3876
3877         * c-decl.c (pushdecl): Remove file and line.
3878         * c-typeck.c (pop_init_level): Remove size.
3879
3880 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
3881
3882         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
3883         for rs6000.
3884
3885         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
3886         (TARGET_ALTIVEC): New.
3887         (TARGET_SWITCHES): Add altivec.
3888         (FIRST_PSEUDO_REGISTER): Change to 109.
3889         (CALL_USED_REGISTERS): Same.
3890         (FIRST_ALTIVEC_REGNO): New.
3891         (LAST_ALTIVEC_REGNO): New.
3892         (ALTIVEC_REGNO_P): New.
3893         (UNITS_PER_ALTIVEC_WORD): New.
3894         (ALTIVEC_VECTOR_MODE): New.
3895         (FIXED_REGISTERS): Add altivec registers.
3896         (REG_ALLOC_ORDER): Same.
3897         (HARD_REGNO_NREGS): Adjust for altivec registers.
3898         (HARD_REGNO_MODE_OK): Same.
3899         (MODES_TIEABLE_P): Same.
3900         (REGISTER_MOVE_COST): Same.
3901         (REGNO_REG_CLASS): Same.
3902         (reg_class): Add ALTIVEC_REGS.
3903         (REG_CLASS_NAMES): Same.
3904         (REG_CLASS_CONTENTS): Same.
3905         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
3906         (ALTIVEC_ARG_RETURN): New.
3907         (FUNCTION_VALUE): Handle VECTOR_TYPE.
3908         (LIBCALL_VALUE): Handle altivec vector modes.
3909         (VECTOR_MODE_SUPPORTED_P): New.
3910         (ALTIVEC_ARG_MIN_REG): New.
3911         (ALTIVEC_ARG_MAX_REG): New.
3912         (ALTIVEC_ARG_NUM_REG): New.
3913         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
3914         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
3915         (REGISTER_NAMES): Add altivec regs.
3916         (DEBUG_REGISTER_NAMES): Same.
3917         (ADDITIONAL_REGISTER_NAMES): Same.
3918         (rs6000_builtins): New.
3919         (MD_EXPAND_BUILTIN): New.
3920         (MD_INIT_BUILTINS): New.
3921         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
3922         for AltiVec instructions.
3923         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
3924         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
3925         registers.
3926         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
3927         (TARGET_SWITCHES): Add no-altivec.
3928         (DATA_ALIGNMENT): Align vectors to 128 bits.
3929         (TARGET_OPTIONS): Add abi= option.
3930         Add rs6000_abi_string extern.
3931         (LOCAL_ALIGNMENT): New.
3932         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
3933         (MASK_ALTIVEC_ABI): New.
3934         (TARGET_ALTIVEC_ABI): New.
3935         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
3936         call-saved.
3937         (STACK_BOUNDARY): Adjust for altivec.
3938         (BIGGEST_ALIGNMENT): Same.
3939         (rs6000_args): Add vregno.
3940         (USE_ALTIVEC_FOR_ARG_P): New.
3941         (FIXED_REGISTERS): Add vrsave register.
3942         (CALL_USED_REGISTERS): Same.
3943         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
3944         (VRSAVE_REGNO): New.
3945         (reg_class): Add VRSAVE_REGS.
3946         (REG_CLASS_NAMES): Same.
3947         (REG_CLASS_CONTENTS): Same.
3948         (REGNO_REG_CLASS): Same.
3949
3950         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
3951         (ABI_STACK_BOUNDARY): Same.
3952         (BIGGEST_ALIGNMENT): Same.
3953         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
3954         (ROUND_TYPE_ALIGN): Same.
3955
3956         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
3957         to 64.
3958
3959         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
3960         to 64.
3961
3962         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
3963         to 64.
3964
3965         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
3966         (altivec_expand_builtin): New.
3967         (altivec_init_builtins): New.
3968         (TARGET_EXPAND_BUILTIN): New.
3969         (TARGET_INIT_BUILTINS): New.
3970         (rs6000_init_builtins): New.
3971         (struct builtin_description): New.
3972         (bdesc_2arg): New.
3973         (rs6000_reg_names): Add altivec registers.
3974         (alt_reg_names): Same.
3975         (secondary_reload_class): Altivec regs can hold altivec regs and
3976         memory.
3977         (rs6000_emit_move): Force constants into memory for AltiVec moves.
3978         (print_operand): Add 'y' case for printing altivec memory
3979         operands.
3980         (rs6000_legitimize_address): Legitimize vector addresses into
3981         [REG+REG] or [REG].
3982         (altivec_expand_binop_builtin): New.
3983         New string rs6000_current_abi.
3984         (rs6000_override_options): Call rs6000_parse_abi_options.
3985         (rs6000_parse_abi_options): New.
3986         (function_arg_boundary): Vector arguments must be 16
3987         byte aligned.
3988         (function_arg_advance): Handle vector arguments.
3989         (function_arg_partial_nregs): Same.
3990         (init_cumulative_args): Same.
3991         (function_arg): Same.
3992
3993         * config/rs6000/rs6000.md (altivec_lvx): New.
3994         (type): Add altivec attribute.
3995         (movv4si): New.
3996         (*movv4si_internal): New.
3997         (movv16qi): New.
3998         (*movv16qi_internal): New.
3999         (movv8hi): New.
4000         (*movv8hi_internal1): New.
4001         (movv4sf): New.
4002         (*movv4sf_internal1): New.
4003         (altivec_stvx): New.
4004         (vaddubm): New.
4005         (vadduhm): New.
4006         (vadduwm): New.
4007         (vaddfp): New.
4008         (vaddcuw): New.
4009         (vaddubs): New.
4010         (vaddsbs): New.
4011         (vadduhs): New.
4012         (vaddshs): New.
4013         (vadduws): New.
4014         (vaddsws): New.
4015         (vand): New.
4016         (vandc): New.
4017         (vavgub): New.
4018         (vavgsb): New.
4019         (vavguh): New.
4020         (vavgsh): New.
4021         (vavguw): New.
4022         (vavgsw): New.
4023         (vcmpbfp): New.
4024         (vcmpequb): New.
4025         (vcmpequh): New.
4026         (vcmpequw): New.
4027         (vcmpeqfp): New.
4028         (vcmpgefp): New.
4029         (vcmpgtub): New.
4030         (vcmpgtsb): New.
4031         (vcmpgtuh): New.
4032         (vcmpgtsh): New.
4033         (vcmpgtuw): New.
4034         (vcmpgtsw): New.
4035         (vcmpgtfp): New.
4036         (vcmpgefp): New.
4037         (vcmpgtub): New.
4038         (vcmpgtsb): New.
4039         (vcmpgtuh): New.
4040         (vcmpgtsh): New.
4041         (vcmpgtuw): New.
4042         (vcmpgtsw): New.
4043         (vcmpgtfp): New.
4044         (vmaxub): New.
4045         (vmaxsb): New.
4046         (vmaxuh): New.
4047         (vmaxsh): New.
4048         (vmaxuw): New.
4049         (vmaxsw): New.
4050         (vmaxfp): New.
4051         (vmrghb): New.
4052         (vmrghh): New.
4053         (vmrghw): New.
4054         (vmrglb): New.
4055         (vmrglh): New.
4056         (vmrglw): New.
4057         (vminub): New.
4058         (vminsb): New.
4059         (vminuh): New.
4060         (vminsh): New.
4061         (vminuw): New.
4062         (vminsw): New.
4063         (vminfp): New.
4064         (vmuleub): New.
4065         (vmulesb): New.
4066         (vmuleuh): New.
4067         (vmulesh): New.
4068         (vmuloub): New.
4069         (vmulosb): New.
4070         (vmulouh): New.
4071         (vmulosh): New.
4072         (vnor): New.
4073         (vor): New.
4074         (vpkuhum): New.
4075         (vpkuwum): New.
4076         (vpkpx): New.
4077         (vpkuhss): New.
4078         (vpkshss): New.
4079         (vpkuwss): New.
4080         (vpkswss): New.
4081         (vpkuhus): New.
4082         (vpkshus): New.
4083         (vpkuwus): New.
4084         (vpkswus): New.
4085         (vrlb): New.
4086         (vrlh): New.
4087         (vrlw): New.
4088         (vslb): New.
4089         (vslh): New.
4090         (vslw): New.
4091         (vsl): New.
4092         (vslo): New.
4093         (vsrb): New.
4094         (vrsh): New.
4095         (vrsw): New.
4096         (vsrab): New.
4097         (vsrah): New.
4098         (vsraw): New.
4099         (vsr): New.
4100         (vsro): New.
4101         (vsububm): New.
4102         (vsubuhm): New.
4103         (vsubuwm): New.
4104         (vsubfp): New.
4105         (vsubcuw): New.
4106         (vsububs): New.
4107         (vsubsbs): New.
4108         (vsubuhs): New.
4109         (vsubshs): New.
4110         (vsubuws): New.
4111         (vsubsws): New.
4112         (vsum4ubs): New.
4113         (vsum4sbs): New.
4114         (vsum4shs): New.
4115         (vsum2sws): New.
4116         (vsumsws): New.
4117         (vxor): New.
4118
4119 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
4120
4121         * Makefile.in (df.o): Add fibheap.h to dependencies.
4122
4123         * df.h: Add prototypes for transfer functions, iterative_dataflow
4124         functions.
4125         (enum df_flow_dir): New enum.
4126         (enum df_confluence_op): New enum.
4127         (struct df): Add inverse_rts_map.
4128
4129         * df.c: Add sbitmap.h to the list of includes.
4130         (df_rd_global_compute): Removed.
4131         (df_ru_global_compute): Removed.
4132         (df_lr_global_compute): Removed.
4133         (df_rd_transfer_function): New function.
4134         (df_ru_transfer_function): New function.
4135         (df_lr_transfer_function): New function.
4136         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
4137         Use iterative_dataflow_bitmap instead of df_*_global_compute.
4138         (iterative_dataflow_sbitmap): New function.
4139         (iterative_dataflow_bitmap): New function.
4140
4141 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4142
4143         * doc/gcc.texi: Move terminology and spelling conventions to
4144         htdocs/codingconventions.html.
4145
4146 2001-11-07  Graham Stott  <grahams@redhat.com>
4147
4148         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
4149
4150 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
4151
4152         * expmed.c (expand_mult): Force operand to register before computing
4153         cost.
4154         * i386.c (x86_decompose_lea): New global vairable.
4155         * i386.h (x86_decompose_lea): Declare.
4156         (TARGET_DECOMPOSE_LEA): New macro.
4157         (RTX_COST): Handle leas properly.
4158
4159 2001-11-06  Richard Henderson  <rth@redhat.com>
4160
4161         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
4162         defined for a CONSTRUCTOR; don't check it.
4163
4164 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
4165
4166         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
4167         test for absolute pathnames.
4168
4169 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
4170
4171         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
4172         instructions up to the target pc inclusive.
4173
4174 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
4175
4176         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
4177
4178 2001-11-06  Eric Christopher  <echristo@redhat.com>
4179
4180         * config/mips/mips.md(movdf_internal2): Add constraints for float
4181         to general register move.
4182         * config/mips/elf64.h: Add default ABI.
4183
4184 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4185
4186         * alias.c:: Include langhooks.h.
4187         * emit-rtl.c: Similarly.
4188         * toplev.c: Similarly.
4189         * tree-inline.c: Similarly.
4190         * langhooks-def.h: New, the old langhooks.h.  Give the default
4191         hooks a common prefix.
4192         * langhooks.h: Contents extracted from toplev.h.
4193         * toplev.h: Move langhook stuff to langhooks.h.
4194         * langhooks.c: Give default hooks a common prefix.
4195
4196         * c-lang.c: Include langhooks-def.h.
4197         * objc/objc-act.c: Similarly.
4198         * Makefile.in: Update.
4199         * objc/Make-lang.in: Update.
4200
4201 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
4202
4203         * doc/install.texi: Document that configure options not listed in
4204         this file are unsupported.  Document --with-system-zlib.
4205
4206 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4207
4208         * rtl.h (mem_for_const_double): New declaration.
4209         * varasm.c (mem_for_const_double): New function.
4210         * config/convex/convex.md (movdf): Use it.
4211         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
4212         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
4213         * config/m68k/m68kv4.h: Likewise.
4214
4215         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
4216         of new GP reg classes.
4217
4218         * expr.c (store_field): When making temp object for unaligned
4219         component, set it to alias set 0.
4220
4221 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
4222
4223         * c-common.c (c_expand_expr_stmt): Apply default conversions to
4224         non-lvalue arrays if C99.
4225         * c-typeck.c (default_conversion): Split out code handling
4226         array-to-pointer and function-to-pointer conversions into a
4227         separate default_function_array_conversion function.
4228         (default_function_array_conversion): New function.  Keep track of
4229         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
4230         arrays unchanged outside C99 mode instead of giving an error for
4231         them.
4232         (build_component_ref): Use pedantic_non_lvalue when handling
4233         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
4234         (convert_arguments): Use default_function_array_conversion.
4235         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
4236         non-lvalues are OK.
4237         (unary_complex_lvalue): Likewise.
4238         (internal_build_compound_expr): Use
4239         default_function_array_conversion.  Apply default conversions to
4240         function in compound expression.
4241         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
4242         Use default_function_array_conversion.
4243         * doc/extend.texi: Update documentation of subscripting non-lvalue
4244         arrays.
4245         Fixes PR c/461.
4246
4247 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
4248
4249         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
4250         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
4251         corresponding to the complete set of .po and .gmo files in
4252         the source directory's po subdir, modified by LINGUAS.  Don't
4253         look at ALL_LINGUAS.
4254         * configure.in: Don't set ALL_LINGUAS.
4255         * configure: Regenerate.
4256
4257         * Makefile.in (.po.gmo): Don't move into source directory.
4258         (.po.pox): Clarify comments.
4259         (install-po): Look for .gmo files in both srcdir and objdir;
4260         don't fail if a file is totally missing.
4261         (distclean): rmdir ada subdirectory too.
4262
4263 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
4264
4265         * config/rs6000/rs6000.c (rs6000_select_section): Handle
4266         CONSTRUCTORs _correctly_.
4267
4268 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4269
4270         * c-decl.c (delete_block): Remove.
4271         * c-tree.h (delete_block): Remove.
4272
4273 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4274
4275         * cppexp.c (lex, parse_defined): Update warning about defined.
4276
4277 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
4278
4279         * config/rs6000/rs6000.c (rs6000_select_section): Handle
4280         CONSTRUCTORs too.
4281
4282 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
4283
4284         * config/arm/arm.c (arm_return_in_memory): Cope with
4285         int_size_in_bytes returning -1.
4286
4287         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
4288         DECL being NULL.
4289
4290 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
4291
4292         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
4293         remove unneeded dependencies;
4294         (cfglayout.o): New.
4295         * cfglayout.c, cfglayout.h: New files; break out from ...
4296         * bb-reorder.c: ... here; Remove unneeded includes;
4297
4298 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
4299
4300         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
4301
4302 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
4303
4304         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
4305         mode as well.  Do not explicitly create intermediate regs.
4306
4307 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4308
4309         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
4310         (common_section): Delete unused variable.
4311         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
4312         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
4313         * arm-protos.h (arm_poke_function_name, aof_add_import,
4314         aof_delete_import): Const-ify.
4315         * arm.c (legitimize_pic_address): Wrap variables in the macro
4316         controlling their usage.
4317         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
4318         (arm_poke_function_name, pic_chain, import, aof_add_import,
4319         aof_delete_import): Const-ify.
4320         * i386.c (ix86_osf_output_function_prologue): Const-ify.
4321         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4322         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
4323         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
4324         * i860/sysv3.h: Add missing comment closure.
4325         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
4326         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
4327         to symbolic_operand.
4328
4329         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
4330         (i960-*-*): Set tmake_file.
4331         (sparc86x-*-elf*): Fix typo in header name.
4332
4333         * sched-rgn.c (schedule_insns): Delete unused variable.
4334
4335 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4336
4337         PR c/2820
4338         * c-typeck.c (lookup_field): Rework to return a chain down to
4339         the looked-up field.
4340         (build_component_ref): Use the new lookup_field to handle
4341         nested anonymous entities correctly.
4342
4343 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4344
4345         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
4346         Change parameters to gen_rtx_CONST_DOUBLE.
4347         (GEN_INT64, sparc_emit_set_const64): Likewise.
4348         * config/sparc/sparc.md (movdf split): Likewise.
4349
4350 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
4351
4352         * unroll.c (calculate_giv_inc): Use find_last_value rather
4353         than just hoping the last instruction is the right SET.
4354         [Fixes 990604-1.c on stormy16.]
4355
4356         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
4357         library at all if -T is used.
4358
4359         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
4360         some uses of uninitialized variables in error cases.
4361
4362         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
4363         look at 'temp' if we won't be using it.
4364
4365         * config/stormy16/stormy16.h (CONST_COSTS): Define.
4366         (RTX_COSTS): Define.
4367         (ADDRESS_COST): Define.
4368         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
4369
4370         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
4371
4372         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
4373         stormy16_asm_output_mi_thunk.
4374         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
4375         function.
4376         * config/stormy16/stormy16-protos.h
4377         (stormy16_asm_output_mi_thunk): New prototype.
4378
4379 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
4380
4381         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
4382         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
4383         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
4384         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
4385         sched-int.h, toplev.c, config/alpha/alpha.c,
4386         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
4387         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
4388         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
4389         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
4390         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
4391         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
4392         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
4393
4394 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4395
4396         * Makefile.in (dbxout.o): Depend on function.h.
4397         * collect2.c (is_in_list): Hide unused function.
4398         * dbxout.c: Include function.h.
4399         (source_label_number, dbxout_source_line, dbxout_source_file,
4400         dbxout_function_end, dbxout_begin_function): Wrap/move inside
4401         macros controlling usage.
4402         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
4403         * output.h (exports_section): Prototype.
4404
4405         * convex.c (convex_output_function_prologue): Fix format specifier
4406         warning.
4407         (asm_declare_function_name): Fix signed/unsigned warning.
4408         (print_operand): Fix format specifier warning.
4409         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
4410         * dsp16xx-protos.h (uns_comparison_operator,
4411         num_1600_core_shifts): Prototype.
4412         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
4413         (frame_size, frame_pointer_offset): Delete.
4414         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
4415         Make static.  Fix format specifier warnings.
4416         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
4417         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
4418         * dsp16xx.md: Add default case in switches.
4419         * fr30.h (IN_RANGE): Delete.
4420         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
4421         * mcore-protos.h (mcore_output_cmov): Const-ify.
4422         * mcore.c (mcore_output_cmov): Likewise.
4423         * mcore.h (switch_to_section): Make static and prototype.
4424         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
4425         unsigned>=0 warnings.
4426         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
4427         * rs6000-protos.h (read_only_data_section,
4428         read_only_private_data_section): Prototype.
4429         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4430         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
4431         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
4432
4433 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4434
4435         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
4436         ATTRIBUTE_UNUSED.
4437         * final.c (final_scan_insn): Add brackets around body of if-stmt.
4438         * gcc.c (convert_filename): Add static prototype.  Const-ify.
4439         Wrap variable in macros controlling its use.
4440         * output.h (sdata_section): Add prototype.
4441
4442         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
4443         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
4444         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
4445         (ASM_FILE_START): Const-ify.
4446         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
4447         specifier warning.
4448         * c4x.md: Don't use the 'U' integer suffix.
4449         * clipper.md (clipper_movstr): Delete declaration.
4450         * d30v-protos.h (d30v_move_2words): Const-ify.
4451         (debug_stack_info): Add prototype.
4452         * d30v.c: Include "integrate.h".
4453         (d30v_function_arg_boundary, d30v_function_arg,
4454         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
4455         signed/unsigned warnings.
4456         (d30v_print_operand_memory_reference, d30v_move_2words):
4457         Const-ify.
4458         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
4459         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
4460         * fr30.md: Const-ify.
4461         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
4462         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
4463         (mvs_get_label_page): Hide unused static function.
4464         * i860.c (current_function_original_name): Const-ify.
4465         * i860/sysv3.h (current_function_original_name): Likewise.
4466         * i860/sysv4.h (current_function_original_name): Likewise.
4467         * i960.md: Add default case in switches.  Remove unused variable.
4468         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
4469         * m32r.md: Const-ify.
4470         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
4471         * m68hc11.c: Include "reload.h".
4472         (static_chain_reg, print_options, m68hc11_asm_file_start):
4473         Const-ify.
4474         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
4475         around & in comparison.
4476         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
4477         * mn10200.c (shift_mode): Remove trailing comma.
4478         * mn10300-protos.h (output_tst): Const-ify.
4479         * mn10300.c (output_tst): Likewise.
4480         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
4481         warnings.
4482         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
4483         * pa.c (output_ascii): Likewise.
4484         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
4485         * pdp11.md (expand_unop): Delete declarations.
4486         * pj-protos.h (pj_output_addsi3): Const-ify.
4487         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
4488         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
4489         unique_src_operand): Add prototypes.
4490         (pj_output_store_into_lval): Make definition static.
4491         (pj_function_incoming_arg): Don't use unary plus.
4492         (pj_output_addsi3): Const-ify.
4493         * romp.md (get_symref): Delete declarations.
4494         * v850-c.c (mark_current_function_as_interrupt): Don't return
4495         value from void function.
4496         * v850.c: Include "integrate.h".
4497         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
4498         * vax-protos.h (const_section): Add prototype.
4499
4500 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
4501
4502         * machmode.def: Add documentation for the seventh argument in
4503         vector modes.
4504
4505 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
4506
4507         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
4508         consistently.
4509         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
4510         <-melf>: Don't have markup for ELF acronym.
4511
4512 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
4513
4514         * config.gcc (mmix-*-*): New target.
4515         * doc/invoke.texi: Document MMIX options.
4516         * doc/contrib.texi: Add note about MMIX port to my entry.
4517         * config/mmix/t-mmix: New file.
4518         * config/mmix/mmix.h: New file.
4519         * config/mmix/mmix-protos.h: New file.
4520         * config/mmix/mmix.c: New file.
4521         * config/mmix/mmix.md: New file.
4522         * config/mmix/crti.asm: New file.
4523         * config/mmix/crtn.asm: New file.
4524
4525 2001-11-03  Kazu Hirata  <kazu@hxi.com>
4526
4527         * config/sparc/linux-aout.h: Fix comment formatting.
4528         * config/sparc/linux.h: Likewise.
4529         * config/sparc/linux64.h: Likewise.
4530         * config/sparc/lynx.h: Likewise.
4531         * config/sparc/pbd.h: Likewise.
4532         * config/sparc/sol2-sld-64.h: Likewise.
4533         * config/sparc/sol2.h: Likewise.
4534         * config/sparc/sparc.c: Likewise.
4535         * config/sparc/sparc.h: Likewise.
4536         * config/sparc/sparc.md: Likewise.
4537         * config/sparc/sunos4.h: Likewise.
4538         * config/sparc/vxsim.h: Likewise.
4539         * config/sparc/vxsparc.h: Likewise.
4540         * config/sparc/vxsparc64.h: Likewise.
4541
4542 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4543
4544         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
4545         reference to CONST_DOUBLE_MEM in comment.
4546         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
4547         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
4548         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
4549         * function.c (pop_function_context_from): Don't call
4550         restore_varasm_status.
4551         * function.h (restore_varasm_status): Delete declaration.
4552         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
4553         * rtl.c: Likewise.
4554         * rtl.def (CONST_DOUBLE): Update comment.
4555         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
4556         (CONST_DOUBLE_CHAIN): Likewise.
4557         (CONST_DOUBLE_MEM): Delete.
4558         (gen_rtx_CONST_DOUBLE): Update parameters.
4559         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
4560         Remove reference to CONST_DOUBLE_MEM.
4561         (const_alias_set): New variable.
4562         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
4563         (immed_real_const_1): Adjust tests for 0, 1, and 2.
4564         Don't set CONST_DOUBLE_MEM.
4565         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
4566         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
4567         Put constant in const_alias_set.
4568         (struct pool_constant): ALIGN now unsigned.
4569         OFFSET now HOST_WIDE_INT.
4570         Delete LABEL.
4571         (restore_varasm_status): Deleted.
4572         (mark_pool_constant): Mark desc->rtl.
4573         (force_const_mem): Rework to store rtl in hash table,
4574         not CONST_DOUBLE_MEM.
4575         Put constant in const_alias_set.
4576         (find_pool_constant): Check desc->rtl.
4577         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
4578         (init_varasm_once): Initialize const_alias_set.
4579
4580         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
4581         force_const_mem.
4582
4583         * reload.c (combine_reloads): Don't combine an output reload if there
4584         are other reloads around for part of the output.
4585
4586         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
4587         constant expression.
4588         (set_mem_decl): New function.
4589         * expr.h (set_mem_decl): New declaration.
4590         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
4591         (output_asm_operand_names): Add tab.
4592         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
4593
4594         * builtins.c (get_memory_rtx): Properly set MEM alias set and
4595         attributes.
4596
4597 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
4598
4599         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
4600         Use "invalid" instead of "illegal".  Use @r in comments in
4601         examples.
4602
4603 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4604
4605         * c-decl.c (pushdecl): Move block inside if conditional to remove
4606         possibility of a segfault.  Lookup block-level extern
4607         variables in enclosing scopes correctly.
4608
4609         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
4610
4611 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
4612
4613         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
4614         SUBREG so we avoid SUBREGing memory.
4615
4616         * expmed.c (store_bit_field): Same.
4617
4618 2001-11-02  DJ Delorie  <dj@redhat.com>
4619
4620         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
4621         using FP registers for DImode mem-mem moves is acceptable.
4622
4623 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
4624
4625         * builtins.c (apply_args_size): Handle vector arguments.
4626         (apply_result_size): Same.
4627
4628         * machmode.def: Set WIDER mode field for all vector entries.
4629
4630 2001-11-02  Graham Stott  <grahams@redhat.com>
4631
4632         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
4633
4634 2001-11-01  Eric Christopher  <echristo@redhat.com>
4635
4636         * config.gcc: Revert part of earlier patch.
4637         * config/mips/linux.h: Ditto.
4638         * df.c: Include tm_p.h to avoid warnings.
4639         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
4640         #if/#endif.
4641         * config/mips/mips.c: Define mips_abi regardless.
4642         (mips_output_function_prologues): Add long casts for .frame
4643         output.
4644         (override_options): Allow use of ABI_32.
4645
4646 2001-11-01  Kazu Hirata  <kazu@hxi.com>
4647
4648         * config/m68hc11/m68hc11.c: Fix comment formatting.
4649         * config/m68hc11/m68hc11.h: Likewise.
4650         * config/m68hc11/m68hc11.md: Likewise.
4651
4652 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
4653
4654         * c-typeck.c (default_conversion): Retain the original expression
4655         codes.
4656         * gcc.dg/Wparentheses.c: New tests.
4657
4658 2001-11-01  David S. Miller  <davem@redhat.com>
4659
4660         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
4661         64-bit Sparc description more in line with reality.
4662
4663 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
4664
4665         * Makefile.in (GCOV_OBJS): Add version.o.
4666         * gcov.c: Include "version.h" and <getopt.h>.
4667         (gcov_version_string): Remove.
4668         (print_usage): Take a parameter to determine whether this is a
4669         call from --help or an error message.  Give fuller output that
4670         follows the GNU Coding Standards for --help.
4671         (print_version): New function.
4672         (options): New.
4673         (process_args): Use getopt_long.  Support long options.  Follow
4674         GNU Coding Standards for --help and --version.
4675         * doc/gcov.texi: Document long options.
4676         Addresses part of PR other/704.
4677
4678 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4679
4680         * pa.c (output_move_double): Fix typo in double load.
4681
4682 2001-11-01  Kazu Hirata  <kazu@hxi.com>
4683
4684         * config/h8300/h8300.c (h8300_encode_label): Compute a string
4685         before passing it to ggc_alloc_string.
4686
4687 2001-11-01  Kazu Hirata  <kazu@hxi.com>
4688
4689         * config/m68k/3b1.h: Fix comment formatting.
4690         * config/m68k/3b1g.h: Likewise.
4691         * config/m68k/a-ux.h: Likewise.
4692         * config/m68k/amix.h: Likewise.
4693         * config/m68k/apollo68.h: Likewise.
4694         * config/m68k/atari.h: Likewise.
4695         * config/m68k/aux-exit.c: Likewise.
4696         * config/m68k/ccur-GAS.h: Likewise.
4697         * config/m68k/crds.h: Likewise.
4698         * config/m68k/dpx2.h: Likewise.
4699         * config/m68k/dpx2g.h: Likewise.
4700         * config/m68k/hp310.h: Likewise.
4701         * config/m68k/hp320.h: Likewise.
4702         * config/m68k/isi.h: Likewise.
4703         * config/m68k/linux.h: Likewise.
4704         * config/m68k/lynx.h: Likewise.
4705         * config/m68k/m68k-psos.h: Likewise.
4706         * config/m68k/m68k.c: Likewise.
4707         * config/m68k/m68k.h: Likewise.
4708         * config/m68k/m68k.md: Likewise.
4709         * config/m68k/m68kelf.h: Likewise.
4710         * config/m68k/m68kv4.h: Likewise.
4711         * config/m68k/mot3300.h: Likewise.
4712         * config/m68k/news.h: Likewise.
4713         * config/m68k/next.h: Likewise.
4714         * config/m68k/pbb.h: Likewise.
4715         * config/m68k/plexus.h: Likewise.
4716         * config/m68k/sgs.h: Likewise.
4717         * config/m68k/sun3.h: Likewise.
4718         * config/m68k/tower.h: Likewise.
4719         * config/m68k/vxm68k.h: Likewise.
4720
4721 2001-10-31  DJ Delorie  <dj@redhat.com>
4722
4723         * config/mips/mips.h (mips_cache_flush_func): Prototype.
4724         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
4725         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
4726         * config/mips/mips.c (mips_cache_flush_func): New.
4727         * doc/invoke.texi: Document the new options.
4728
4729 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
4730
4731         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
4732         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
4733
4734         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
4735
4736         * config/cris/cris.c: Include output.h after tree.h but before
4737         target.h.
4738
4739 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
4740
4741         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
4742         (INTL_SUBDIRS): Just intl.
4743         (.SUFFIXES): Add .gmo .po .pox.
4744         (native): Also depend on build-@POSUB@.
4745         (intl.all, intl.install): Depend on config.h and things it includes.
4746         (po-generated): New target; depend on c-parse.c and tradcif.c.
4747         (install-normal): Also depend on install-@POSUB@.
4748         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
4749         (build-, install-, build-po, update-po, install-po,
4750         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
4751
4752         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
4753         * configure.in: Don't munge XGETTEXT.  Don't generate
4754         po/Makefile.in.
4755         * configure: Regenerate.
4756
4757         * exgettext: Delete.
4758         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
4759         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
4760
4761 2001-10-31  Kazu Hirata  <kazu@hxi.com>
4762
4763         * config/h8300/h8300.md (two anonymous patterns): New.
4764
4765 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
4766
4767         * tree.h (tree_index): Add support for V16QI and V8HI.
4768         (V8HI_type_node): New.
4769         (V16QI_type_node): New.
4770
4771         * tree.c (build_common_tree_nodes_2): Same.
4772
4773         * c-common.c (type_for_mode): Same.
4774
4775 2001-10-31  Kazu Hirata  <kazu@hxi.com>
4776
4777         * config/i386/att.h: Fix comment formatting.
4778         * config/i386/beos-elf.h: Likewise.
4779         * config/i386/bsd.h: Likewise.
4780         * config/i386/bsd386.h: Likewise.
4781         * config/i386/crtdll.h: Likewise.
4782         * config/i386/cygwin.asm: Likewise.
4783         * config/i386/cygwin.h: Likewise.
4784         * config/i386/djgpp.h: Likewise.
4785         * config/i386/freebsd-aout.h: Likewise.
4786         * config/i386/freebsd.h: Likewise.
4787         * config/i386/gas.h: Likewise.
4788         * config/i386/i386-interix.h: Likewise.
4789         * config/i386/i386-protos.h: Likewise.
4790         * config/i386/i386.c: Likewise.
4791         * config/i386/i386.h: Likewise.
4792         * config/i386/i386.md: Likewise.
4793         * config/i386/i386elf.h: Likewise.
4794         * config/i386/interix.c: Likewise.
4795         * config/i386/isc.h: Likewise.
4796         * config/i386/isccoff.h: Likewise.
4797         * config/i386/iscdbx.h: Likewise.
4798         * config/i386/linux.h: Likewise.
4799         * config/i386/lynx.h: Likewise.
4800         * config/i386/mingw32.h: Likewise.
4801         * config/i386/netbsd-elf.h: Likewise.
4802         * config/i386/next.h: Likewise.
4803         * config/i386/osf1elf.h: Likewise.
4804         * config/i386/osfrose.h: Likewise.
4805         * config/i386/sco5.h: Likewise.
4806         * config/i386/seq-gas.h: Likewise.
4807         * config/i386/seq-sysv3.h: Likewise.
4808         * config/i386/sequent.h: Likewise.
4809         * config/i386/sol2.h: Likewise.
4810         * config/i386/sun386.h: Likewise.
4811         * config/i386/uwin.asm: Likewise.
4812         * config/i386/uwin.h: Likewise.
4813         * config/i386/vxi386.h: Likewise.
4814         * config/i386/win32.h: Likewise.
4815         * config/i386/winnt.c: Likewise.
4816         * config/i386/xm-cygwin.h: Likewise.
4817         * config/i386/xm-mingw32.h: Likewise.
4818
4819 2001-10-31  Kazu Hirata  <kazu@hxi.com>
4820
4821         * builtins.def: Fix comment typos.
4822         * config/alpha.c: Likewise.
4823         * config/arm/arm.c: Likewise.
4824         * config/avr/avr.h: Likewise.
4825         * config/d30v/d30v.c: Likewise.
4826         * config/d30v/d30v.h: Likewise.
4827         * config/d30v/d30v.md: Likewise.
4828         * config/dsp16xx/dsp16xx.c: Likewise.
4829         * config/fr30/fr30.c: Likewise.
4830         * config/fr30/fr30.md: Likewise.
4831         * config/i386/i386.c: Likewise.
4832         * config/i860/i860.c: Likewise.
4833         * config/i960/i960.c: Likewise.
4834         * config/ia64/ia64.c: Likewise.
4835         * config/mips/mips.c: Likewise.
4836         * config/pa/pa.c: Likewise.
4837         * config/rs6000/rs6000.c: Likewise.
4838         * config/s390/s390.c: Likewise.
4839         * config/sparc/sparc.c: Likewise.
4840
4841 2001-10-30  Kazu Hirata  <kazu@hxi.com>
4842
4843         * config/mips/elf.h: Fix comment formatting.
4844         * config/mips/elf64.h: Likewise.
4845         * config/mips/iris5.h: Likewise.
4846         * config/mips/iris5gas.h: Likewise.
4847         * config/mips/iris6.h: Likewise.
4848         * config/mips/isa3264.h: Likewise.
4849         * config/mips/linux.h: Likewise.
4850         * config/mips/mips.c: Likewise.
4851         * config/mips/mips.h: Likewise.
4852         * config/mips/mips.md: Likewise.
4853         * config/mips/mips16.S: Likewise.
4854         * config/mips/netbsd.h: Likewise.
4855         * config/mips/osfrose.h: Likewise.
4856         * config/mips/r3900.h: Likewise.
4857         * config/mips/sni-svr4.h: Likewise.
4858         * config/mips/svr4-t.h: Likewise.
4859         * config/mips/ultrix.h: Likewise.
4860
4861 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
4862
4863         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
4864         when we update head->current.
4865
4866 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
4867
4868         * tree.c (id_string_size): Remove.
4869         (dump_tree_statistics): Update.
4870         * toplev.c (compile_file): If dumping stats, dump tree stats too.
4871
4872 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
4873
4874         * sched-rgn.c (schedule_insns): Fix comment.
4875
4876 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
4877
4878         * configure.in: Correct previous change: don't assume that
4879         gas's version number _isn't_ the last thing on the line, or
4880         isn't the only number on the line, either.
4881         * configure: Regenerate.
4882
4883 2001-10-30  Kazu Hirata  <kazu@hxi.com>
4884
4885         * cfgcleanup.c: Fix a comment typo.
4886
4887 2001-10-30  Kazu Hirata  <kazu@hxi.com>
4888
4889         * alias.c: Fix comment formatting.
4890         * recog.c: Likewise.
4891         * config/cris/cris.c: Likewise.
4892         * config/cris/cris.h: Likewise.
4893         * config/i960/i960.c: Likewise.
4894         * config/i960/i960.h: Likewise.
4895
4896 2001-10-30  Kazu Hirata  <kazu@hxi.com>
4897
4898         * config/arm/arm.c: Fix a comment typo.
4899         * config/arm/arm.h: Likewise.
4900         * config/ia64/ia64.c: Likewise.
4901
4902 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
4903
4904         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
4905         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
4906         * rtl.h (set_unique_reg_note): Change return value.
4907         * gcse.c (try_replace_reg): Use set_unique_reg_note.
4908         * cse.c (cse_insn): Likewise.
4909         * expr.c (emit_move_insn): Likewise.
4910         * explow.c (force_reg): Likewise.
4911         * local-alloc (update_equiv_regs): Likewise.
4912         * loop.c (move_moveables, load_mems): Likewise.
4913         * reload (find_reloads): Likewise.
4914
4915 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
4916
4917         Localization fixes.
4918         * c-decl.c (parmlist_tags_warning, start_struct,
4919         check_for_loop_decls): Separate messages for struct, union and
4920         enum cases to allow for languages in which they have different
4921         genders.
4922         * c-format.c (scanf_flag_specs): Separate short and long name of
4923         the assignment suppression feature.
4924         (check_format_types): Localize "pointer" and "different types"
4925         strings.
4926         * c-lex.c (lex_number): Localize "an unsigned long int" and
4927         related strings.
4928         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
4929         warning message.
4930         * c-typeck.c (build_unary_up): Separate messages for increment and
4931         decrement cases to allow for languages in which they use different
4932         articles.  Localize the strings "increment" and "decrement" in one
4933         case.
4934
4935 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
4936
4937         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
4938         when no changes has been made.
4939
4940         * gcse.c (reg_set_bitmap): Turn into reg_set.
4941         (modify_mem_list_set, canon_modify_mem_list_set)
4942         (clear_modify_mem_tables, free_modify_mem_tables): New.
4943         (gcse_main); Use free_modify_mem_tables.
4944         (free_gcse_mem): Likewise; free the bitmaps.
4945         (alloc_gcse_main): Initialize the bitmaps.
4946         (canon_list_insert): Set canon_modify_mem_list_set.
4947         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
4948         (compute_hash_table): Use clear_modify_mem_tables.
4949         (reset_opr_set_tables): Likewise.
4950         (oprs_not_set_p): reg_set_bitmap is regset.
4951         (mark_set, mark_clobber): Likewise.
4952
4953         * df.h (DF_EQUIV_NOTES): New constant.
4954         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
4955         when asked for.
4956
4957         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
4958         (init_regions, schedule_insns): Conditionalize the checking
4959         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
4960
4961 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
4962
4963         * i386.md (movti_rex64 splitter): Fix condition.
4964
4965 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
4966
4967         * configure.in: Do not assume that gas's version number is the
4968         last thing on the first line of as --version output.
4969         * configure: Regenerate.
4970
4971         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
4972         MT_WARNING, MT_ERROR, MT_FATAL.
4973         (main): Call gcc_init_libintl.
4974         (v_message): Call gettext on msgid and "warning: "
4975         * tradcif.y: Include intl.h.
4976         (yyerror): Make parameter definition consistent with
4977         prototype.  Call gettext on msgid argument.
4978
4979 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4980
4981         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
4982         warnings.
4983
4984         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
4985
4986 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4987
4988         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
4989         before referencing it.
4990
4991 2001-10-26  DJ Delorie  <dj@redhat.com>
4992
4993         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
4994         override -G, and force -G0.
4995
4996 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
4997
4998         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
4999         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
5000         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
5001         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
5002
5003         * loop.h (struct induction): Rename ext_dependant to
5004         ext_dependent.
5005         * loop.c: Change all uses.
5006         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
5007         All callers changed.
5008         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
5009
5010 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
5011
5012         * c-parse.in (expr_no_commas, primary), c-typeck.c
5013         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
5014
5015 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
5016
5017         Undo assemble_name change in earlier patch.
5018
5019 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
5020
5021         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
5022         determining the type of the receiver, do not check that TREE_CODE
5023         of receiver is CALL_EXPR before calling receiver_is_class_object().
5024         (receiver_is_class_object): For the GNU runtime: recognize
5025         the case that the receiver is self in a class method context.
5026         Check that TREE_CODE of receiver is CALL_EXPR when checking that
5027         the receiver is a call to objc_get_class.
5028
5029 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5030
5031         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
5032
5033 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5034
5035         * Makefile.in (OBJS): Put all files in alphabetical order.
5036
5037         * dwarf2out.c (add_const_value_attribute): Fix error in last
5038         change.
5039
5040 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
5041
5042         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
5043         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
5044         fix warning.
5045         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
5046         (life_analysis): call purge_all_dead_edges after deleting noops.
5047         (delete_noop_move): Do not purge CFG.
5048         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
5049
5050 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
5051
5052         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
5053         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
5054         (ASM_GLOBALIZE_LABEL): Use assemble_name.
5055         (ASM_OUTPUT_COMMON): Likewise.
5056         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
5057         (rs6000_output_function_epilogue): Likewise.
5058         (output_mi_thunk): Fix typo.
5059         (rs6000_output_symbol_ref): Use assemble_name.
5060         (output_toc): Likewise.
5061         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
5062         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
5063         assemble_name calls STRIP_NAME_ENCODING.
5064         (ASM_OUTPUT_LABEL): Use assemble_name.
5065         (ASM_GLOBALIZE_LABEL): Likewise.
5066         (ASM_DECLARE_FUNCTION_NAME): Likewise.
5067         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
5068         (ASM_OUTPUT_LOCAL): Likewise.
5069
5070 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5071
5072         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
5073         (expand_builtin_apply, expand_builtin_return): Likewise.
5074         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
5075
5076 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
5077
5078         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
5079         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
5080         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
5081         configure, configure.in, except.c, except.h, flow.c, function.c,
5082         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
5083         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
5084         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
5085         unroll.c: Fix spelling errors.
5086
5087         * doc/extend.texi, doc/invoke.texi: Fix spelling.
5088
5089         * doc/gcc.texi: Document use of "dependent" and American spelling.
5090
5091 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
5092
5093         * expr.c (emit_group_load): Support CONCATs by storing them to memory
5094         and reloading.
5095
5096 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5097
5098         * expr.c (store_constructor_field): Only call adjust_address on MEM.
5099
5100 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
5101
5102         * genrecog.c (write_switch):  Output if before switch for
5103         DT_elt_zero_wide_safe.
5104
5105 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5106
5107         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
5108         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
5109         (FUNCTION_PROFILER): Const-ify.
5110         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
5111         (eliminate_constant_term, assemble_name, output_addr_const):
5112         Remove declarations.
5113         (ptr_half_pic_address_p, half_pic_hash): Prototype.
5114         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
5115         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
5116         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
5117         (half_pic_declare, half_pic_external): Const-ify.
5118         * toplev.c: Include "halfpic.h".
5119
5120 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
5121
5122         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
5123         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
5124         config/i386/i386.c, config/i386/i386-interix.h,
5125         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
5126         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
5127         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
5128         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
5129         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
5130         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
5131         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
5132         spelling errors.
5133
5134         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
5135         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
5136         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
5137         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
5138         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
5139         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
5140         system.h, toplev.c: Fix spelling errors.
5141
5142 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5143
5144         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
5145
5146         * dwarf2out.c (reg_number): Abort if pseudo.
5147         (reg_loc_descriptor): Return 0 if pseudo.
5148         (is_based_loc): Return 0 if pseudo.
5149         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
5150         recursive calls.
5151         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
5152         (loc_descriptor): Return 0 if can't find location and handle 0
5153         return from recursive calls.
5154         (loc_descriptor_from_tree): Likewise.
5155         Fix handling of indirect.
5156         Also return 0 for PLACEHOLDER_EXPR.
5157         Clean up COMPONENT_REF cases.
5158         (add_AT_location_descriptor): Simplify, but handle 0 return from
5159         loc_descriptor.
5160         (add_const_value_attribute): Avoid shift count warning.
5161         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
5162         Set comp_unit_die as context if not in function.
5163
5164         * config/mips/mips-protos.h: Break up long lines.
5165         Remove needless #ifdef/#endif blocks.
5166         Don't declare functions declared in file made by genpreds or recog.h.
5167         * config/mips/mips.c (mips_output_function_prologue): TSIZE
5168         is now HOST_WIDE_INT; delete unneeded casts.
5169         * config/mips/mips.h: Don't use #elif.
5170
5171         * expr.c (stor_constructor_field): Always call adjust_address.
5172         Copy TARGET before changing its alias set.
5173         (store_field): Likewise, for TO_RTX.
5174         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
5175         replacement.
5176         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
5177         (find_placeholder): Return 0 if can't find object.
5178         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
5179         returns 0.
5180
5181 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
5182
5183         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
5184
5185 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
5186
5187         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
5188         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
5189         (merge_blocks): Properly udpate life after making edge nonfallthru.
5190         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
5191
5192 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5193
5194         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5195
5196 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5197
5198         * c-typeck.c (convert_arguments): When comparing for enumeral
5199         type equality, use TYPE_MAIN_VARIANT.
5200         * gcc.dg/Wconversion.c: New tests.
5201
5202 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5203
5204         * s390/s390.c: Fix comment typos.
5205         * s390/s390.h: Likewise.
5206         * s390/s390.md: Likewise.
5207
5208 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
5209
5210         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
5211         (walk_tree): Use it for tail calls where appropriate.
5212
5213 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
5214
5215         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
5216         non-local label_refs.
5217
5218 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5219
5220         * config/h8300/h8300.md (4 anonymous patterns): New.
5221
5222 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5223
5224         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
5225         algorithm through the shift_info structure.
5226         (emit_a_shift): Update the use of get_shift_alg.
5227
5228 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
5229
5230         * sched-rgn.c: Remove bitset typedef.
5231         Change bitset to sbitmap in prototypes / variable types.
5232         Remove bbset_size.
5233         Remove edgeset_bits.
5234         Remove edgeset_size.
5235         s/BITSET_ADD/SET_BIT/g
5236         s/BITSET_INVERT/sbitmap_ones/g
5237         s/BITSET_INTER/sbitmap_a_and_b/g
5238         s/BITSET_UNION/sbitmap_a_or_b/g
5239         s/BITSET_DIFFER/sbitmap_difference/g
5240         s/bitset_member/TEST_BIT/g
5241         (BITSET_*): Removed.
5242         (bitset_member): Removed.
5243         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
5244         EXECUTE_IF_SET_IN_SBITMAP.
5245         (split_edges): Rewrite, use sbitmap functions instead of bitset
5246         operations.
5247         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
5248
5249 2001-10-26  Andreas Schwab  <schwab@suse.de>
5250
5251         * reload1.c (emit_input_reload_insns): Fix parens in last
5252         (undocumented) change that was supposed to change only whitespace.
5253
5254 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5255
5256         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
5257
5258         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
5259         ASM_OPERANDS.
5260
5261 2001-10-26  Andreas Jaeger  <aj@suse.de>
5262
5263         * flow.c (clear_log_links): Remove unused variable.
5264         * cfgcleanup.c (cleanup_cfg): Likewise.
5265
5266 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
5267
5268         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
5269         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
5270
5271 2001-10-26  Richard Henderson  <rth@redhat.com>
5272
5273         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
5274         rename PV_REG to R27_REG.
5275         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
5276         (REG_CLASS_FROM_LETTER): Update.
5277         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
5278         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
5279         (udivsi3, modsi3, umodsi3): Likewise.
5280         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
5281
5282 2001-10-26  Richard Henderson  <rth@redhat.com>
5283
5284         * cfg.c (clear_aux_for_blocks): Split out of ...
5285         (free_aux_for_blocks): here.
5286         (clear_aux_for_edges): Split from ...
5287         (free_aux_for_edges): here.
5288         * basic-block.h: Declare them.
5289         * lcm.c (compute_antinout_edge): Use them.
5290         (compute_laterin, compute_available, compute_nearerout): Likewise.
5291         (optimize_mode_switching): Likewise.
5292
5293 2001-10-26  Richard Henderson  <rth@redhat.com>
5294
5295         * Makefile.in (unstage*): Remove as, ld, collect-ld before
5296         moving everything back to the main build directory.
5297
5298 2001-10-26  Christopher Faylor  <cgf@redhat.com>
5299
5300         * config/i386/cygwin.h: Search target specific include directory, if
5301         appropriate.
5302
5303 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5304
5305         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
5306         of macro guards. Fix #endif comment.
5307
5308         * output.h (default_exception_section, default_eh_frame_section):
5309         Move prototypes outside of macro guard.
5310
5311         * crtstuff.c: Fix #endif comment.
5312
5313 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
5314
5315         * doc/md.texi (movMM): Clarify semantics of storing into a
5316         non-paradoxical SUBREG.
5317
5318 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
5319
5320         * langhooks.c (lang_hook_default_clear_binding_stack): New.
5321         (lang_hook_default_get_alias_set): Move next to other alias
5322         hooks.
5323         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
5324         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
5325         (LANG_HOOKS_INITIALIZER): Add it.
5326         * toplev.h (struct lang_hooks): Add clear_binding_stack.
5327         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
5328         instead of a loop calling poplevel.
5329
5330 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
5331
5332         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
5333         occurrences of #elif with #if...#endif.
5334
5335 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5336
5337         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
5338
5339 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5340
5341         * alias.c (can_address_p): No longer static.
5342         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
5343         Return 0 if all parameters are default values.
5344         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
5345         (adjust_address_1): Try harder to compute a size.
5346         * expr.c (expand_assignment, store_constructor): If can't address,
5347         set MEM_KEEP_ALIAS_SET_P.
5348         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
5349         (store_field): Likewise.
5350         (store_constructor): Simplify call to store_constructor_field.
5351         * expr.h (can_address_p): New declaration.
5352         * gensupport.c (gen_rtx_CONST_INT): New function.
5353         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
5354         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
5355         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
5356
5357         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
5358
5359 2001-10-24  Christopher Faylor  <cgf@redhat.com>
5360
5361         * config/i386/cygwin.h: Use proper path for mingw crt files when
5362         -mno-cygwin.
5363
5364 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5365
5366         * dwarf2out.c (file_info_cmp): Always return consistent results.
5367
5368 2001-10-24  Roger Sayle <roger@eyesopen.com>
5369
5370         * stmt.c (expand_end_case): Index jumptables from zero for
5371         suitably small values of minval.
5372
5373 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
5374
5375         * stor-layout.c (place_union_field): If any field was aligned with
5376         attribute aligned, set record type's TYPE_USER_ALIGN.
5377         (place_field): Likewise.
5378         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
5379         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
5380
5381 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
5382
5383         * c-common.h (struct c_common_identifier): Remove rid_code field.
5384         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
5385
5386         * c-typeck.c (constructor_designated): New local flag.
5387         (struct constructor_stack): Add "designated" field to match.
5388         (start_init): Clear it.
5389         (really_start_incremental_init, push_init_level): Push and
5390         clear it.
5391         (pop_init_level): Pop it.
5392         (set_designator): Set it.
5393
5394         (pop_init_level): Suppress "missing initializer" warnings if
5395         constructor_designated is true.
5396         (process_init_element): Suppress warning about union
5397         initialization under traditional C, if constructor_designated
5398         is true.
5399
5400 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5401
5402         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
5403         change.
5404
5405 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
5406
5407         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
5408
5409 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
5410
5411         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
5412         the node was already a set to a constant.
5413
5414 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5415
5416         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
5417         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
5418
5419 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5420
5421         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
5422         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
5423         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
5424         * s390.c (s390_final_chunkify): Don't use string concatenation.
5425         (s390_function_prologue, s390_function_epilogue): Const-ify.
5426         * s390.h (FUNCTION_PROFILER): Remove unused variable.
5427
5428 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
5429
5430         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
5431         prototypes.
5432
5433 2001-10-23  Stan Shebs  <shebs@apple.com>
5434
5435         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
5436         -traditional-cpp in first-stage compilation.
5437
5438 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5439
5440         * gensupport.c (target_flags): Add.
5441
5442 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
5443
5444         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
5445         if needed.
5446         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
5447         * except.c (expand_builtin_frob_return_addr): Likewise.
5448         (expand_builtin_eh_return): Likewise.
5449         * stmt.c (expand_computed_goto): Likewise.
5450         * explow.c (memory_address): Likewise.
5451         (allocate_dynamic_stack_space): Clean up predicate testing.
5452         (probe_stack_range): Convert SIZE to Pmode.
5453         * calls.c (rtx_for_function_call): Only call convert_memory_address
5454         if needed.
5455         Pass function call operand as ptr_mode, not Pmode.
5456         * expr.c (expand_assignment): Clean up calls to convert_memory
5457         address by only doing so when needed and making offsets Pmode.
5458         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
5459         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
5460         is in Pmode, not ptr_mode.
5461
5462 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5463
5464         * darwin-protos.h (constructor_section, destructor_section,
5465         mod_init_section, mod_term_section): Prototype.
5466         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
5467         Const-ify.
5468         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
5469         Likewise.
5470         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
5471         objc_section_init declaration.
5472         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
5473         (objc_section_init, try_section_alias): Make static.
5474         (alias_section): Make static and hide unused function.
5475         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
5476
5477 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5478
5479         * alias.c (can_address_p): Compnonents are not addressable if
5480         the containing type has alias set 0.
5481         (get_alias_set): Rework to use STRIP_NOPS.
5482         Only call front-end routine on object, type, or object with
5483         NOPs stripped, not inner values.
5484         Use language hook to call front-end routine.
5485         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
5486         (expand_builtin_apply): Call set_mem_align on MEMs we make.
5487         Don't pass alignment to emit_block_move.
5488         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
5489         (expand_builtin_memset): Likewise, but for clear_storage.
5490         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
5491         and remove C++ specific parts.
5492         * c-common.h (c_common_get_alias_set): Add declaration.
5493         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
5494         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
5495         (save_fixed_argument_area): Call set_mem_align.
5496         Remove alignment in call to emit_block_move.
5497         (emit_library_call_value_1, store_one_arg): Likewise.
5498         (target_for_arg): Remove; disabled long ago.
5499         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
5500         once and similar cleanups.
5501         (offset_address): Use proper introductory comment.
5502         * expr.c (emit_block_move): Use alignment from that of MEM args, not
5503         from explicit operand; all callers changed.
5504         (clear_storage): Likewise.
5505         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
5506         (store_field): Remove kludge on alias set used for to_rtx.
5507         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
5508         (expand_expr_unaligned): Call set_mem_attributes instead of
5509         set_mem_alias_set.
5510         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
5511         * function.c (assign_stack_temp_for_type): Set MEM alignment.
5512         (expand_function_end): Track MEM attributes of trampolines.
5513         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
5514         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
5515         attributes from original.
5516         * langhooks.c (lang_hook_default_get_alias_set): New function.
5517         (hook_get_alias_set_0): New function.
5518         * langhooks.h (hook_get_alias_set_0): New declaration.
5519         (lang_hook_default_get_alias_set): Likewise.
5520         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
5521         * reload1.c (alter_reg): Use adjust_address_nv.
5522         * rtl.c (get_mode_alignment): Moved to here.
5523         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
5524         change default if unknown from 1 to BITS_PER_UNIT.
5525         * stor-layout.c (get_mode_alignment): Remove from here.
5526         * toplev.h (struct lang_hoks): Add get_alias_set field.
5527         * tree.h (lang_get_alias_set): Delete declaration.
5528         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
5529         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
5530         (ix86_va_arg): Likewise.
5531         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
5532         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
5533         * config/sparc/sparc.c (sparc_va_arg): Likewise.
5534         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
5535         (expand_block_move_mem): Remove dead code.
5536
5537 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
5538
5539         * c-common.c (warn_div_by_zero): New.
5540         * c-common.h (warn_div_by_zero): New.
5541         * c-decl.c (c_decode_option): Take it on the command line.
5542         * c-typeck.c (build_binary_op): Warn about division by zero.
5543         * doc/invoke.texi: Document the new command line option, fix
5544         documentation of -Wmultichar.
5545         * testsuite/gcc.dg/divbyzero.c: New tests.
5546         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
5547
5548 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
5549
5550         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
5551
5552         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
5553         to avoid update_life_info call.
5554         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
5555         * cfgcleanup.c (bb_flags): New enum.
5556         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
5557         (notice_new_block, update_forwarder_flag): New functions.
5558         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
5559         (try_forward_edges): Likewise; update flags.
5560         (merge_blocks): Likewise.
5561         (outgoing_edges_match): Likewise.
5562         (try_crossjump_to_edge): Likewise.
5563         (try_optimize_cfg): Likewise; initialize and clear the flags;
5564         recompute life info if needed.
5565         (cleanup_cfg): No need to clear aux pointers.
5566
5567 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
5568
5569         * config/i386/i386.c (override_options): Default to minimum
5570         stack alignment when optimizing for code size.
5571         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
5572         change.
5573
5574         * config/i386/i386.c (override_options): Set upper limit of
5575         -mpreferred-stack-boundary to 12.
5576
5577 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
5578
5579         * recog.c (peephole2_optimize): Add default case to switch.
5580
5581 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
5582
5583         * doc/gcc.texi (Sending Patches): Remove.
5584
5585 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
5586
5587         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
5588         fields when comparing.
5589
5590 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5591
5592         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
5593         * arm.c (HOST_INT, HOST_UINT): Likewise.
5594
5595 2001-10-22  Stan Shebs  <shebs@apple.com>
5596
5597         * config/darwin-protos.h (darwin_exception_section): Declare.
5598         (darwin_eh_frame_section): Declare.
5599
5600 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
5601
5602         * i386.md (movti_rex64): Fix mode.
5603
5604 2001-10-22  Stan Shebs  <shebs@apple.com>
5605
5606         * target.h (struct gcc_target): Add asm_out.exception_section,
5607         asm_out.eh_frame_section.
5608         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
5609         (TARGET_ASM_EH_FRAME_SECTION): New.
5610         (TARGET_INITIALIZER): Update.
5611         * output.h (default_exception_section): Declare.
5612         (default_eh_frame_section): Declare.
5613         * dwarf2out.c: Include target.h.
5614         (output_call_frame_info): Call target hook for eh frames.
5615         (default_eh_frame_section): New function.
5616         * except.c: Include target.h.
5617         (output_function_exception_table): Call target hook for exception
5618         section.
5619         * varasm.c (default_exception_section): Rename from
5620         exception_section, remove EXCEPTION_SECTION macro.
5621
5622         * config/darwin.h (darwin_eh_frame_section): New function.
5623         (EXCEPTION_SECTION): Remove.
5624         (TARGET_ASM_EXCEPTION_SECTION): Define.
5625         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
5626         (nextstep_exception_section): New function.
5627         (nextstep_eh_frame_section): New function.
5628         (TARGET_ASM_EXCEPTION_SECTION): Define.
5629         (TARGET_ASM_EH_FRAME_SECTION): Define.
5630
5631         * config/pa/som.h (EXCEPTION_SECTION): Remove.
5632         (TARGET_ASM_EXCEPTION_SECTION): Define.
5633         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
5634         (EXCEPTION_SECTION): Remove.
5635         (TARGET_ASM_EXCEPTION_SECTION): Define.
5636         * config/stormy16/stormy16.h: Remove comments referencing
5637         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
5638
5639         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
5640         TARGET_ASM_EH_FRAME_SECTION.
5641
5642 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
5643
5644         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
5645         terms.
5646
5647         * c-format.c: Fix spelling typo in comment.
5648
5649         * sched-int.h: Fix typo in GCC preamble.
5650
5651 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5652
5653         PR debug/4252
5654         * doc/invoke.texi: Remove references to -fdump-translation-unit.
5655
5656 2001-10-22  Richard Henderson  <rth@redhat.com>
5657
5658         * config/i386/i386.c (ix86_expand_clear): New.
5659         * config/i386/i386-protos.h: Declare it.
5660         * config/i386/i386.md (setcc peep2s): Use it.
5661         (movsi_xor): Unexport.
5662
5663 2001-10-22  Richard Henderson  <rth@redhat.com>
5664
5665         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
5666         free_EXPR_LIST_list for LOG_LINKS.
5667
5668 2001-10-21  Robert Lipe  <robertlipe@usa.net>
5669
5670         * config/i386/i386.c (sco_asm_named_section): Delete.
5671         (sco_asm_out_constructor): Delete.
5672         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
5673         (ASM_OUTPUT_DOUBLE_INT): Likewise.
5674         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
5675         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
5676         (EXCEPTION_SECTION): Delete EH scn renaming hack.
5677
5678 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5679
5680         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
5681         and/or fold extra calls into fewer ones.
5682         * collect2.c (dump_file): Likewise.
5683         * cppexp.c (parse_number): Likewise.
5684         * cpplex.c (_cpp_lex_direct): Likewise.
5685         * final.c (output_asm_insn, asm_fprintf): Likewise.
5686         * fix-header.c (inf_scan_ident, main): Likewise.
5687         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
5688         Likewise.
5689         * fold-const.c (real_hex_to_f): Likewise.
5690         * gen-protos.c (parse_fn_proto): Likewise.
5691         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
5692         * genrecog.c (change_state, write_action): Likewise.
5693         * gensupport.c (shift_output_template): Likewise.
5694         * local-alloc.c (requires_inout): Likewise.
5695         * mips-tfile.c (IS_ASM_IDENT): Likewise.
5696         * protoize.c (is_id_char, main): Likewise.
5697         * real.c (asctoeg): Likewise.
5698         * recog.c (asm_operand_ok): Likewise.
5699         * reload.c (find_reloads): Likewise.
5700         * scan.c (scan_identget_token): Likewise.
5701         * sched-vis.c (print_value): Likewise.
5702         * stringpool.c (ggc_alloc_string): Likewise.
5703         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
5704         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
5705         * tradcpp.c (rescan): Likewise.
5706         * tree.c (clean_symbol_name): Likewise.
5707         * varasm.c (decode_reg_name): Likewise.
5708
5709         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
5710         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
5711         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
5712         * m88k.c (output_ascii): Likewise.
5713         * m88k.h (OVERRIDE_OPTIONS): Likewise.
5714         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
5715         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
5716         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
5717
5718 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
5719
5720         * langhooks.c (lang_hook_default_do_nothing,
5721         lang_hook_default_decode_option): New defaults.
5722         * langhooks.h: Make hooks unconditional and non-NULL.
5723         * toplev.c (compile_file, toplev_main): Update.
5724         * toplev.h: Update comments.
5725         * objc/objc-act.c (lang_hooks): Update to new paradigm.
5726
5727 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5728
5729         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
5730
5731         * system.h (IN_RANGE): New macro.
5732
5733 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
5734
5735         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
5736         INTLDEPS variable, which does not include $LIBICONV.
5737         * Makefile.in: Use INTLDEPS in LIBDEPS.
5738         * configure: Regenerate.
5739
5740 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
5741
5742         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
5743         * cpplex.c (lex_percent, lex_dot): Remove.
5744         (get_effective_char, skip_block_comment, skip_line_comment,
5745         parse_identifier_slow, parse_number, parse_string, save_comment,
5746         _cpp_lex_direct): Update to do lookback freely.
5747         (IF_NEXT_IS, BACKUP): New macros.
5748         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
5749         * cppmacro.c (paste_tokens): Update.
5750
5751 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
5752
5753         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
5754
5755 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
5756
5757         * reload1.c (reload): Check CONSTANT_P before calling
5758         LEGITIMATE_PIC_OPERAND_P.
5759         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
5760         workaround of 2001-10-13.
5761
5762 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
5763
5764         * i386.c (split_di): Handle splitting of DFmode.
5765
5766 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5767
5768         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
5769         (adjust_address_1, offset_address): Likewise.
5770
5771         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
5772         (output_asm_insn): Call it for each line output.
5773         Don't record an operand more than once.
5774
5775         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
5776         * main.c: Include config.h and system.h, but not ansidecl.h.
5777         * Makefile.in (main.o): Update accordingly.
5778
5779 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
5780
5781         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
5782
5783 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
5784
5785         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
5786         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
5787         Break out from ...
5788         (find_sub_basic_blocks): ... here;
5789         (find_many_sub_basic_blocks): New.
5790         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
5791
5792         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
5793
5794         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
5795
5796         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
5797
5798         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
5799         * flow.c (update_life_info): Measure time.
5800         * c-decl.c: Include timevar.h
5801         (c_expand_body): Measure time.
5802         * toplev.c (rest_of_compilation): Measure time of mode switching
5803         separately.
5804         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
5805
5806         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
5807         (lang_independent_options): Add asynchronous-unwind-tables
5808         (toplev_main): flag_asynchronous_unwind_tables implies
5809         flag_unwind_tables.
5810         * flags.h (flag_asynchronous_unwind_tables): Declare.
5811         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
5812         flag_asynchronous_unwind_tables.
5813         (output_call_frame_info): Likewise.
5814         * invoke.texi (-fasynchronous-unwind-tables): Document.
5815         * i386.c (optimization_options): Enable
5816         flag_asynchronous_unwind_tables.
5817
5818         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
5819         * i386.md (s* expanders): Destination is QImode.
5820
5821         * toplev.c (rest_of_compilation): Do not call clear_log_links.
5822         * rtl.h (clear_log_links): Kill.
5823         * flow.c (clear_log_links): Make static; accept blocks parameter;
5824         do no clear life info.
5825         (update_life_info): Call clear_log_links.
5826
5827         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
5828
5829 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
5830
5831         * cpplex.c (handle_newline, skip_escaped_newlines,
5832         get_effective_char, skip_block_comment, skip_line_comment,
5833         parse_identifier_slow, parse_number, parse_string,
5834         _cpp_lex_direct): Update to do more stepping back.
5835         (trigraph_ok): Similarly.  Rename trigraph_p.
5836         (SAVE_STATE, RESTORE_STATE): Remove.
5837         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
5838
5839         * cpplib.c (destringize): Rename destringize_and_run, and
5840         call run_directive directly.
5841         (_cpp_do__Pragma): Simplify.
5842
5843 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5844
5845         * pe.c (arm_pe_unique_section): Const-ify.
5846         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
5847         (switch_to_section): Add static prototype.
5848
5849         * output.h (drectve_section): Prototype.
5850
5851 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5852
5853         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
5854         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
5855         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
5856         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
5857         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
5858         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
5859         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
5860         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
5861         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
5862         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
5863         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
5864         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
5865         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
5866         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
5867         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
5868         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
5869         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
5870         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
5871         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
5872         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
5873         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
5874         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
5875         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
5876         cris-*-none, cris-*-linux*: Update ${tmfile} list.
5877         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
5878         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
5879         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
5880         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
5881         v850-*-*): Delete superflous ${cpu_type} setting.
5882         * config/linux.h: Delete svr4.h include.
5883         (SET_ASM_OP): Delete.
5884         * config/netware.h (INT_ASM_OP): Undef before define.
5885         * config/ptx4.h: Delete elfos.h include.
5886         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
5887         * config/svr4.h: Delete elfos.h include. Update commentary.
5888         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
5889         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
5890         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
5891         config/v850/v850.h: Delete svr4.h include.
5892         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
5893         config/m68k/m68kv4.h, config/m88k/sysv4.h,
5894         config/sparc/sysv4.h: Update includes.
5895         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
5896         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
5897         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
5898         config/m88k/dguxbcs.h: Delete includes.
5899         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
5900         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
5901         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
5902         it.
5903         * config/m88k/dgux.h: Delete include.
5904         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
5905         defining it.
5906         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
5907         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
5908         * config/sh/elf.h: Update include.
5909         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
5910         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
5911
5912 2001-10-19  Catherine Moore  <clm@redhat.com>
5913
5914         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
5915         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
5916         base and count fields.
5917         (stormy16_expand_builtin_va_start):  last_reg_count changed to
5918         size_of_reg_args.  Use count + size in first comparison.
5919
5920 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5921
5922         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
5923         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
5924         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
5925         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
5926         Set alignment from type if INDIRECT_REF.
5927         (adjust_address_1, offset_address): Simplify alignment compuitation.
5928         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
5929         here; done by set_mem_attributes.
5930
5931 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5932
5933         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
5934         * arm-protos.h (rdata_section, zero_init_section, common_section):
5935         Prototype.
5936         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
5937         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
5938         traditional mode stringification.
5939         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
5940         in macros controling its use.
5941         * rtlanal.c: Include tm_p.h.
5942         * varasm.c (asm_output_aligned_bss): Mark parameter with
5943         ATTRIBUTE_UNUSED.
5944         (assemble_constant_align, assemble_start_function, assemble_align,
5945         assemble_variable, assemble_trampoline_template,
5946         output_constant_def_contents): Wrap potentially empty if-stmt body
5947         in brackets.
5948
5949 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5950
5951         * a29k-protos.h (literal_section): Prototype.
5952         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
5953         * a29k.md: Ensure function pointers are prototyped.
5954         * genattrtab.c (write_eligible_delay): Mark parameter with
5955         ATTRIBUTE_UNUSED.
5956
5957 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5958
5959         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
5960         * 1750a.c (print_operand): Fix format specifier warning.
5961         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
5962         * 1750a.md: Likewise.
5963         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
5964         * genemit.c (output_add_clobbers): Mark parameter with
5965         ATTRIBUTE_UNUSED.
5966         * genrecog.c (write_subroutine): Likewise.
5967         * integrate.c (expand_inline_function): Delete unused variable.
5968         * varasm.c (remove_from_pending_weak_list): Wrap with
5969         ASM_WEAKEN_LABEL.
5970
5971 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
5972
5973         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
5974         field is different to previous argument's neg field.
5975
5976         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
5977
5978 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5979
5980         * final.c (get_decl_from_op): New function.
5981         (output_asm_insn): Call it; write "*" when item with decl is address.
5982
5983 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
5984
5985         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
5986         about 64-bit support from the 3.0_branch version.
5987
5988 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
5989
5990         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
5991         USE_INCLUDED_LIBINTL when appropriate.
5992         * configure, config.in: Regenerate.
5993         * Makefile.in (datadir): Set to @datadir@.
5994         (intl.o): Also depend on $(CONFIG_H) and system.h.
5995
5996         * intl.c: Factor out common gettext initialization sequence.
5997         (gcc_init_libintl):  New function.
5998         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
5999         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
6000         off NLS.  Add multiple include guard.  No need to #ifdef-guard
6001         an #undef.  Prototype gcc_init_libintl here.
6002
6003         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
6004         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
6005         Use gcc_init_libintl.
6006
6007 2001-10-19  Catherine Moore  <clm@redhat.com>
6008
6009         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
6010
6011         * config/stormy16/stormy16.c (stormy16_split_move):  Make
6012         sure that REG_INC notes are present for auto_inc operands.
6013
6014 2001-10-19  Andreas Jaeger  <aj@suse.de>
6015
6016         * configure: Regenerated.
6017         * configure.in: Add x86_64 to switch statements.
6018
6019 2001-10-18  Richard Henderson  <rth@redhat.com>
6020
6021         * config/alpha/alpha.md (sibcall_osf_1): Load destination
6022         address into $27 explicitly.
6023         (sibcall_value_osf_1): Likewise.
6024
6025 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6026
6027         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
6028         (offset_address): New function.
6029         (free_emit_status): Free regno_decl.
6030         (init_emit): Pass proper number of elements to xcalloc.
6031         Allocate regno_decl.
6032         (mark_emit_status): Mark regno_decl values.
6033         * expr.c (highest_pow2_factor): New function.
6034         (expand_assigment): Use it and offset_address.
6035         Properly handle ptr_mode vs. Pmode in offset calculation.
6036         (store_constructor, expand_expr_unaligned): Likewise.
6037         (expand_expr, case COMPONENT_EXPR): Likewise.
6038         * expr.h (offset_address): New decl.
6039         * function.h (struct emit_status): Add regno_decl.
6040         (REGNO_DECL): New macro.
6041         * final.c (output_asm_name): Move in file and don't conditionalize
6042         on flag_print_asm_name.
6043         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
6044         Output names of operands, if known.
6045         * function.c (assign_parms): Set REGNO_DECL.
6046         * integrate.c (integrate_decl_tree): Likewise.
6047         * stmt.c (expand_decl): Likewise.
6048         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
6049
6050 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
6051
6052         * attribs.c (handle_noinline_attribute): New function.
6053         (handle_used_attribute): Likewise.
6054         (c_common_attribute_table): Added noinline and used.
6055         * doc/extend.texi (Function Attributes): Document them.
6056         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
6057         Warn when merging inline with attribute noinline.
6058         (start_decl, start_function): Warn if inline and attribute
6059         noinline appear in the same declaration.
6060
6061 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6062
6063         * config.gcc: Update c4x and i370 for C front end-specific
6064         dependencies.
6065         * config/c4x/c4x-c.c: New.
6066         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
6067         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
6068         New declarations.
6069         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
6070         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
6071         Make extern.
6072         (c4x_init_pragma): Remove.
6073         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
6074         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
6075         c4x_pr_ignored): Move to c4x-c.c.
6076         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
6077         * config/c4x/t-c4x: Update.
6078         * config/i370/i370-c.c: New.
6079         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
6080         (i370_pr_map): Move to i370-c.c.
6081         * config/i370/t-i370: New.
6082
6083         * doc/tm.texi: Update.
6084
6085 2001-10-17  Stan Shebs  <shebs@apple.com>
6086
6087         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
6088         typo fixes throughout.
6089         (machopic_output_stub): Remove some dead code.
6090
6091 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
6092
6093         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
6094         leak.
6095
6096 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6097
6098         * Makefile.in (print-rtl.o): Depend on TREE_H.
6099         * alias.c (get_alias_set): Make two passes over objects to first
6100         see if inner object is access via restricted pointer.
6101         Defer allocating alias set for restricted pointer until here.
6102         Call find_placeholder with second arg nonzero.
6103         Minor cleanups.
6104         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
6105         set for restricted pointer types.
6106         * emit-rtl.c (set_mem_attributes): Set more attributes.
6107         (set_mem_align, change_address, adjust_address_1): New functions.
6108         (change_address_1): Now static.
6109         (adjust_address, adjust_address_nv): Deleted.
6110         (replace_equiv_address): Call change_address_1.
6111         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
6112         (find_placeholder): Get starting point from PLIST arg.
6113         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
6114         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
6115         (adjust_address, adjust_address_nv): New macros.
6116         * print-rtl.c (tree.h): New include.
6117         (print_rtx, case MEM): Print all memory attributes.
6118
6119 2001-10-17  Richard Henderson  <rth@redhat.com>
6120
6121         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
6122
6123 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6124
6125         * c-tree.texi: Eliminate duplicated word.
6126         * cpp.texi: Likewise.
6127         * install.texi: Likewise.
6128         * invoke.texi: Likewise.
6129         * tm.texi: Likewise.
6130
6131 2001-10-17  Michael Collison  <collison@isisinc.net>
6132
6133         * dsp16xx.c: Fix comment formatting to match GNU standards.
6134         (dsp16xx_output_function_prologue): Change type of 'size'
6135         parameter from 'int' to HOST_WIDE_INT.
6136         (dsp16xx_output_function_epilogue): Change type of 'size'
6137         parameter from 'int' to HOST_WIDE_INT.
6138
6139 2001-10-16  Richard Henderson  <rth@redhat.com>
6140
6141         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
6142         * configure, config.in: Rebuild.
6143
6144         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
6145         (ix86_output_addr_diff_elt): New.
6146         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
6147         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6148         (JUMP_TABLES_IN_TEXT_SECTION): New.
6149         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
6150         * config/i386/i386-protos.h: Update.
6151
6152         * config/i386/386bsd.h, config/i386/beos-elf.h,
6153         config/i386/freebsd-aout.h, config/i386/freebsd.h,
6154         config/i386/i386-interix.h, config/i386/i386elf.h,
6155         config/i386/linux.h, config/i386/netbsd-elf.h,
6156         config/i386/netbsd.h, config/i386/openbsd.h,
6157         config/i386/ptx4-i.h, config/i386/rtemself.h,
6158         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
6159         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
6160
6161 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
6162
6163         * stmt.c (expand_asm_operands): Update commentary.
6164
6165 2001-10-16  Stan Shebs  <shebs@apple.com>
6166
6167         * config/darwin.h (GCC_NAME): Remove, no longer used.
6168         (NO_MATH_LIBRARY): Ditto.
6169         (MATH_LIBRARY): Define to emptiness.
6170         (DWARF2_DEBUGGING_INFO): Define.
6171         (PREFERRED_DEBUGGING_TYPE): Define.
6172         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
6173         (EXCEPTION_SECTION): Define.
6174         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6175         * config/darwin.c (darwin_encode_section_info): Handle case of
6176         DECL_INITIAL being error_mark_node.
6177
6178 2001-10-16  Richard Henderson  <rth@redhat.com>
6179
6180         * alpha.c (current_file_function_operand): Don't fail for profiling.
6181         (direct_call_operand): New.
6182         * alpha-protos.h: Declare it.
6183         * alpha.h (EXTRA_CONSTRAINT): Use it.
6184         (PREDICATE_CODES): Add it.
6185         (ASM_OUTPUT_MI_THUNK): Remove.
6186         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
6187         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
6188
6189 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
6190
6191         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
6192         (JUMP_TABLES_IN_TEXT_SECTION): Define.
6193
6194 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
6195
6196         * cfg.c (free_edge): Break out from ....
6197         (remove_edge): ... here.
6198         (clear_edges): Use free_edge.
6199
6200         * att.h (ASM_QUAD): Add comment.
6201         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
6202
6203 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
6204
6205         * i386.c (split_ti): New function.
6206         (ix86_split_to_parts): Support TImodes.
6207         * i386.h (VALID_INT_MODE_P): Add TImode.
6208         * i386.md (movdi splitter): Fix.
6209         (movti): Support 64bit integer registers.
6210         (movti_rex64): New function and splitter.
6211
6212         * i386.c (*_cost): Add movsx/movzx cost.
6213         * i386.h (struct processor_costs): Add movsx/movzx fields.
6214         (RTX_COSTS): Handle zero/sign extend + avoid believing that
6215         64bit operations require split on 64bit machine.
6216         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
6217
6218         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
6219         (ix86_expand_move): Avoid pushes of memory if size does not match;
6220         move long constants to register.
6221         (x86_initialize_trampoline): Fix mode.
6222         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
6223         Use ASM_QUAD on 64bit.
6224         * i386.md (test pattern): Disallow impossible constants.
6225         (tablejump PIC expander): Fix emitting of sum.
6226         (movdicc_rex64): Rename to movdicc.
6227         * linux64.h (LINK_SPEC): Add missing '%'.
6228
6229 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
6230
6231         * tree-inline.c (inlinable_function_p): Leave it up to the
6232         front-end to turn -finline-functions into DECL_INLINE set for all
6233         functions.
6234
6235 2001-10-16  Stan Shebs  <shebs@apple.com>
6236
6237         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
6238
6239 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
6240
6241         * recog.c: Formatting and comment typo fixes.
6242
6243         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
6244         version in single tree build.
6245         * configure: Regenerate.
6246
6247 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
6248
6249         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
6250         MODE arguments to gen_rtx and compare operand with const0_rtx.
6251
6252 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6253
6254         * system.h: Poison old unused target macros.
6255         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
6256         * config/stormy16/stormy16.c: Update references to obsolete macros.
6257         * config/stormy16/stormy16.h: Similarly.
6258         * config/stormy16/stormy16.md: Similarly.
6259         * config/cris/cris.h: Similarly.
6260
6261 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6262
6263         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
6264         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
6265         cpp_register_pragma): Update accordingly.
6266
6267 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6268
6269         * c-pragma.h (cpp_register_pragma_space): Remove.
6270         * cpplib.h (cpp_register_pragma_space): Remove.
6271         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
6272         (cpp_register_pragma_space): Remove.
6273         (cpp_register_pragma): Simplify using lookup_pragma_entry,
6274         add sanity checks.
6275         (do_pragma): Similarly.
6276         (_cpp_init_internal_pragmas): Don't register namespaces.
6277
6278         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
6279         Don't register namespaces.
6280         * cp/lex.c (init_cp_pragma): Similarly.
6281         * doc/tm.texi: Update.
6282
6283 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6284
6285         PR c/4157
6286         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
6287
6288 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
6289
6290         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
6291         add scheduling support.
6292         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
6293         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
6294         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
6295
6296
6297 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
6298
6299         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
6300         missing CONSTANT_P test in core GCC.
6301
6302 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6303
6304         * cppmain.c (struct printer): New member source.
6305         (scan_translation_unit): Fix spacing at start of lines.
6306         (cb_line_change): Update.
6307
6308         * gcc.dg/cpp/spacing2.c: New test.
6309
6310 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
6311
6312         * config/cris/arit.c: Use __builtin_labs, not abs.
6313
6314         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
6315
6316         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
6317         misplaced sprintf and fprintf argument.
6318
6319 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
6320
6321         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
6322         * configure.in, Makefile.in: Take out obsolete check-po logic.
6323         * configure, config.in: Regenerate.
6324
6325 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
6326
6327         * objc/objc-act.c (finish_objc): Correct precondition for emitting
6328         symtab declarations.
6329
6330 2001-10-12  Stan Shebs  <shebs@apple.com>
6331
6332         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
6333         declarations of arguments and local variables.
6334
6335 2001-10-12  Christopher Faylor  <cgf@redhat.com>
6336
6337         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
6338         ENDFILE_SPEC definition.
6339
6340 2001-10-12  Kazu Hirata  <kazu@hxi.com>
6341
6342         * gthr-dce.h: Fix comment formatting.
6343         * gthr-posix.h: Likewise.
6344         * gthr-single.h: Likewise.
6345         * gthr-solaris.h: Likewise.
6346         * gthr-vxworks.h: Likewise.
6347         * gthr-win32.h: Likewise.
6348
6349 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
6350
6351         * final.c (output_asm_insn): Make sure assembly dialects are
6352         terminated, not nested.  Output `|' and `}' characters if they
6353         don't appear inside assembly dialect selection.
6354         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
6355         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
6356         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
6357         strsetsi_rex_1): Add {} braces.
6358
6359 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
6360
6361         * toplev.c (compile_file): Ignore return value from yyparse.
6362         Always pop any nested binding levels after yyparse returns.
6363
6364 2001-10-11  Richard Henderson  <rth@redhat.com>
6365
6366         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
6367
6368 2001-10-11  Richard Henderson  <rth@redhat.com>
6369
6370         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
6371         fall back to add_AT_long_long for large CONST_INT.
6372
6373 2001-10-11  Richard Henderson  <rth@redhat.com>
6374
6375         * config/i386/i386.md (setcc splitters): Add four splitters to
6376         simplify compound compares that simplify_comparison can't handle.
6377
6378 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
6379
6380         * cpplex.c (digraph_spellings, token_spellings): Make static.
6381
6382 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6383
6384         * unroll.c (loop_iterations): Fixup last patch.
6385
6386 2001-10-11  Richard Henderson  <rth@redhat.com>
6387
6388         * rtl.h (REG_VTABLE_REF): New.
6389         * rtl.c (reg_note_name): Add it.
6390         * combine.c (distribute_notes): Handle it.
6391         * final.c (final_scan_insn): Handle it.
6392         * tree.def (VTABLE_REF): New.
6393         * expr.c (expand_expr): Handle it.
6394         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
6395         * output.h: Declare them.
6396
6397 2001-10-11  Richard Henderson  <rth@redhat.com>
6398
6399         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
6400         for a DECL_INITIAL.
6401
6402 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
6403
6404         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
6405         available in 64-bit mode.
6406
6407 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
6408
6409         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
6410         cris-*-linux* cases.
6411         * config/cris/cris-protos.h: New file.
6412         * config/cris/cris.c: New file.
6413         * config/cris/cris.h: New file.
6414         * config/cris/cris.md: New file.
6415         * config/cris/linux.h: New file.
6416         * config/cris/aout.h: New file.
6417         * config/cris/arit.c: New file.
6418         * config/cris/cris_abi_symbol.c: New file.
6419         * config/cris/mulsi3.asm: New file.
6420         * config/cris/t-aout: New file.
6421         * config/cris/t-cris: New file.
6422         * config/cris/t-elfmulti: New file.
6423         * config/cris/t-linux: New file.
6424         * doc/invoke.texi: Add CRIS options.
6425         * doc/install.texi (Specific): Add blurb for CRIS.
6426
6427 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
6428
6429         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
6430         before using it.
6431         * config/float/i32.h: Likewise.
6432         * config/float-i386.h: Likewise.
6433         * config/float-i64.h: Likewise.
6434         * config/float-m68k.h: Likewise.
6435         * config/float-sh.h: Likewise.
6436         * config/float-sparc.h: Likewise.
6437
6438 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
6439
6440         * doc/contrib.texi: Add note about CRIS port to my entry.
6441
6442 2001-10-11  Kazu Hirata  <kazu@hxi.com>
6443
6444         * basic-block.h: Fix formatting.
6445         * bitmap.h: Likewise.
6446         * cpplib.h: Likewise.
6447         * c-tree.h: Likewise.
6448         * diagnostic.h: Likewise.
6449         * flags.h: Likewise.
6450         * ggc.h: Likewise.
6451         * longlong.h: Likewise.
6452         * real.h: Likewise.
6453         * reload.h: Likewise.
6454         * rtl.h: Likewise.
6455         * tree.h: Likewise.
6456
6457 2001-10-10  Richard Henderson  <rth@redhat.com>
6458
6459         * c-parse.in (asm_operand): Allow named operands.
6460         * genconfig.c (max_recog_operands): Set to 29.
6461         * local-alloc.c (requires_inout): Skip multiple digits.
6462         * recog.c (asm_operand_ok): Likewise.
6463         (preprocess_constraints): Use strtoul for matching constraints.
6464         (constrain_operands): Likewise.
6465         * regmove.c (find_matches): Likewise.
6466         * reload.c (find_reloads): Likewise.
6467         * stmt.c (parse_output_constraint): Don't reject in-out
6468         constraint on operands > 9.  Reject '[' in constraint.
6469         (expand_asm_operands): Handle named operands.  Use strtoul
6470         for matching constraints.
6471         (check_operand_nalternatives): Split out from expand_asm_operands.
6472         (check_unique_operand_names): New.
6473         (resolve_operand_names, resolve_operand_name_1): New.
6474
6475         * doc/extend.texi (Extended Asm): Document named operands.
6476         * doc/md.texi (Simple Constraints): Document matching constraints
6477         on operands > 9.
6478
6479 2001-10-10  Richard Henderson  <rth@redhat.com>
6480
6481         * combine.c (try_combine): Handle a SEQUENCE of one insn.
6482
6483         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
6484         (jcc splitters): Add two splitters to simplify compound compares
6485         that simplify_comparison can't handle.
6486
6487 2001-10-10  Richard Henderson  <rth@redhat.com>
6488
6489         * langhooks.c: Include langhooks.h.
6490         * Makefile.in (langhooks.o): Depend on it.
6491
6492 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
6493
6494         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
6495         should not be considered as a no-op.
6496         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
6497
6498 2001-10-10  Stan Shebs  <shebs@apple.com>
6499
6500         * alias.c: Remove uses of "register" specifier in declarations
6501         of arguments and local variables.
6502         * c-common.c: Ditto.
6503         * c-convert.c: Ditto.
6504         * c-decl.c: Ditto.
6505         * c-format.c: Ditto.
6506         * c-semantics.c: Ditto.
6507         * c-typeck.c: Ditto.
6508         * caller-save.c: Ditto.
6509         * calls.c: Ditto.
6510         * cfg.c: Ditto.
6511         * cfgbuild.c: Ditto.
6512         * cfgrtl.c: Ditto.
6513         * collect2.c: Ditto.
6514         * combine.c: Ditto.
6515         * convert.c: Ditto.
6516         * cppexp.c: Ditto.
6517         * cppfiles.c: Ditto.
6518         * cse.c: Ditto.
6519         * dbxout.c: Ditto.
6520         * defaults.h: Ditto.
6521         * df.c: Ditto.
6522         * dwarf2out.c: Ditto.
6523         * dwarfout.c: Ditto.
6524         * emit-rtl.c: Ditto.
6525         * explow.c: Ditto.
6526         * expmed.c: Ditto.
6527         * expr.c: Ditto.
6528         * final.c: Ditto.
6529         * fix-header.c: Ditto.
6530         * floatlib.c: Ditto.
6531         * flow.c: Ditto.
6532         * fold-const.c: Ditto.
6533         * function.c: Ditto.
6534         * gcc.c: Ditto.
6535         * gcse.c: Ditto.
6536         * gen-protos.c: Ditto.
6537         * genattrtab.c: Ditto.
6538         * gencheck.c: Ditto.
6539         * genconfig.c: Ditto.
6540         * genemit.c: Ditto.
6541         * genextract.c: Ditto.
6542         * genflags.c: Ditto.
6543         * gengenrtl.c: Ditto.
6544         * genoutput.c: Ditto.
6545         * genpeep.c: Ditto.
6546         * genrecog.c: Ditto.
6547         * gensupport.c: Ditto.
6548         * global.c: Ditto.
6549         * gmon.c: Ditto.
6550         * graph.c: Ditto.
6551         * haifa-sched.c: Ditto.
6552         * hard-reg-set.h: Ditto.
6553         * hash.c: Ditto.
6554         * integrate.c: Ditto.
6555         * jump.c: Ditto.
6556         * lists.c: Ditto.
6557         * local-alloc.c: Ditto.
6558         * loop.c: Ditto.
6559         * mips-tdump.c: Ditto.
6560         * mips-tfile.c: Ditto.
6561         * optabs.c: Ditto.
6562         * prefix.c: Ditto.
6563         * print-rtl.c: Ditto.
6564         * read-rtl.c: Ditto.
6565         * real.c: Ditto.
6566         * recog.c: Ditto.
6567         * reg-stack.c: Ditto.
6568         * regclass.c: Ditto.
6569         * regmove.c: Ditto.
6570         * reload.c: Ditto.
6571         * reload1.c: Ditto.
6572         * reorg.c: Ditto.
6573         * resource.c: Ditto.
6574         * rtl.c: Ditto.
6575         * rtlanal.c: Ditto.
6576         * scan.c: Ditto.
6577         * sched-deps.c: Ditto.
6578         * sched-rgn.c: Ditto.
6579         * sdbout.c: Ditto.
6580         * simplify-rtx.c: Ditto.
6581         * stmt.c: Ditto.
6582         * stor-layout.c: Ditto.
6583         * toplev.c: Ditto.
6584         * tradcif.y: Ditto.
6585         * tradcpp.c: Ditto.
6586         * tree.c: Ditto.
6587         * unroll.c: Ditto.
6588         * varasm.c: Ditto.
6589         * xcoffout.c: Ditto.
6590
6591 2001-10-10  Richard Henderson  <rth@redhat.com>
6592
6593         * rtl.h (can_reverse_comparison_p): Remove.
6594
6595 2001-10-10  Christopher Faylor <cgf@redhat.com>
6596
6597         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
6598         used.
6599
6600 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
6601
6602         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
6603         (Thanks to Chris Faylor for suggesting macro name).
6604         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
6605         WIN32 defines.
6606         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
6607         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
6608         (MATH_LIBRARY): Undef before definition.
6609         (OUTPUT_QUOTED_STRING): Likewise.
6610         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
6611
6612 2001-10-10  Richard Henderson  <rth@redhat.com>
6613
6614         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
6615         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
6616         a tristate comparison value.
6617         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
6618
6619 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6620
6621         PR c++/4512
6622         * unroll.c (loop_iterations): Ignore insns generated by loop
6623         unrolling.
6624
6625         * config.gcc (mips*-*-gnu*): Delete support.
6626         * config/mips/gnu.h: Remove.
6627
6628 2001-10-10  Kazu Hirata  <kazu@hxi.com>
6629
6630         * calls.c: Fix formatting.
6631         * c-decl.c: Likewise.
6632         * cfgcleanup.c: Likewise.
6633         * combine.c: Likewise.
6634         * cppfiles.c: Likewise.
6635         * cpplib.c: Likewise.
6636         * cppmacro.c: Likewise.
6637         * crtstuff.c: Likewise.
6638         * cse.c: Likewise.
6639         * dwarf2out.c: Likewise.
6640         * expmed.c: Likewise.
6641         * expr.c: Likewise.
6642         * fold-const.c: Likewise.
6643         * function.c: Likewise.
6644         * gcse.c: Likewise.
6645         * genattrtab.c: Likewise.
6646         * ggc-page.c: Likewise.
6647         * integrate.c: Likewise.
6648         * libgcc2.c: Likewise.
6649         * loop.c: Likewise.
6650         * optabs.c: Likewise.
6651         * profile.c: Likewise.
6652         * protoize.c: Likewise.
6653         * real.c: Likewise.
6654         * recog.c: Likewise.
6655         * reload1.c: Likewise.
6656         * reload.c: Likewise.
6657         * reorg.c: Likewise.
6658         * resource.c: Likewise.
6659         * sched-rgn.c: Likewise.
6660         * sdbout.c: Likewise.
6661         * stmt.c: Likewise.
6662         * toplev.c: Likewise.
6663         * varasm.c: Likewise.
6664
6665 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
6666
6667         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
6668         * Makefile.in (langhooks.o): Add dependencies.
6669
6670 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
6671
6672         * rs6000.c (rs6000_emit_load_toc_table): Don't
6673         strdup the toc label.
6674         (create_TOC_reference): Likewise.
6675
6676 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
6677
6678         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
6679         version default.
6680
6681 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
6682
6683         * config/i386/i386.c (ix86_attribute_table): Correct
6684         min_len, max_len fields for dllimport, dllexport and shared.
6685
6686 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
6687
6688         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
6689         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
6690         Consistently use "nonzero" instead of "non-zero".
6691
6692 2001-10-09  Kazu Hirata  <kazu@hxi.com>
6693
6694         * acconfig.h: Fix comment formatting.
6695         * c-dump.h: Likewise.
6696         * c-tree.h: Likewise.
6697         * conditions.h: Likewise.
6698         * expr.h: Likewise.
6699         * function.h: Likewise.
6700         * gthr.h: Likewise.
6701         * hwint.h: Likewise.
6702         * integrate.h: Likewise.
6703         * intl.h: Likewise.
6704         * loop.h: Likewise.
6705         * optabs.h: Likewise.
6706
6707 2001-10-09  Kazu Hirata  <kazu@hxi.com>
6708
6709         * c-common.h: Fix comment formatting.
6710         * c-dump.c: Likewise.
6711         * cfg.c: Likewise.
6712         * diagnostic.h: Likewise.
6713         * except.c: Likewise.
6714         * gcc.h: Likewise.
6715         * gcov-io.h: Likewise.
6716         * genattrtab.c: Likewise.
6717         * output.h: Likewise.
6718         * predict.h: Likewise.
6719         * reload1.c: Likewise.
6720         * reload.h: Likewise.
6721         * resource.h: Likewise.
6722         * scan.h: Likewise.
6723         * system.h: Likewise.
6724         * tree.h: Likewise.
6725         * tree-inline.c: Likewise.
6726         * tsystem.h: Likewise.
6727         * varasm.c: Likewise.
6728         * xcoffout.h: Likewise.
6729
6730 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
6731
6732         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
6733
6734 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
6735
6736         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
6737         config/i386/i386elf.h, config/i386/netbsd-elf.h,
6738         config/i386/netware.h, config/mcore/gfloat.h,
6739         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
6740         config/netware.h, gccbug.in: Update FSF address.
6741
6742 2001-10-09  Kazu Hirata  <kazu@hxi.com>
6743
6744         * c-common.c: Fix comment typos.
6745         * cfgrtl.c: Likewise.
6746         * collect2.c: Likewise.
6747         * cpplex.c: Likewise.
6748         * doloop.c: Likewise.
6749         * dwarf2out.c: Likewise.
6750         * dwarfout.c: Likewise.
6751         * expr.c: Likewise.
6752         * fold-const.c: Likewise.
6753         * gcc.c: Likewise.
6754         * gcov.c: Likewise.
6755         * gcse.c: Likewise.
6756         * global.c: Likewise.
6757         * ifcvt.c: Likewise.
6758         * loop.c: Likewise.
6759         * optabs.c: Likewise.
6760         * protoize.c: Likewise.
6761         * regclass.c: Likewise.
6762         * reorg.c: Likewise.
6763         * rtl.h: Likewise.
6764         * stmt.c: Likewise.
6765         * tree.h: Likewise.
6766         * doc/cpp.texi: Likewise.
6767         * doc/c-tree.texi: Likewise.
6768         * doc/extend.texi: Likewise.
6769         * doc/invoke.texi: Likewise.
6770         * doc/objc.texi: Likewise.
6771         * doc/tm.texi: Likewise.
6772
6773 2001-10-08  Richard Henderson  <rth@redhat.com>
6774
6775         * varasm.c (set_named_section_flags): Initialize "declared".
6776
6777 2001-10-08  Robert Lipe  <robertlipe@usa.net>
6778
6779         * varasm.c (struct in_named_entry): Add declared.
6780         (named_section_first_declaration): New function.
6781         (default_elf_asm_named_section): Use it.
6782         * output.h (named_section_first_declaration): New.
6783
6784 2001-10-08  Richard Henderson  <rth@redhat.com>
6785
6786         * i386.md (movsi_xor): Export.
6787         (setcc peep2): Use it when available; add an alternative to
6788         match zero_extendhisi2_and.
6789
6790 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6791
6792         * romp-protos.h (romp_initialize_trampoline): New function.
6793         * romp.c (romp_initialize_trampoline): Likewise.
6794         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
6795         romp_initialize_trampoline.
6796
6797 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6798
6799         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
6800         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
6801         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
6802         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
6803
6804 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6805
6806         * unroll.c (loop_iterations): Extend check for multiple back edges.
6807
6808 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
6809
6810         * langhooks.h: New file.
6811         * Makefile.in (OBJS): Added langhooks.o.
6812         (c-lang.o): Depend on langhooks.h.
6813         (c-common.o): Don't depend on tree-inline.h.
6814         (tree-inline.o): Depend on toplev.h.
6815         (langhooks.o): New rule.
6816         * c-common.c: Don't include tree-inline.h.
6817         (c_mark_lang_decl): Mark argument c as unused.
6818         (c_common_lang_init): Don't initialize hooks here.
6819         * c-lang.c: Include langhooks.h, then override some macros.
6820         (lang_hooks): Initialize with macros in langhooks.h.
6821         (c_init): Don't initialize hooks here.
6822         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
6823         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
6824         * tree-inline.c: Include toplev.h.  Don't define hook variables.
6825         * tree-inline.h: Don't define hook types nor declare hook
6826         variables.  Move macros to...
6827         * langhooks.c: ... new file, as functions.  Adjust all callers.
6828
6829 2001-10-08  Jeffrey A Law  <law@cygnus.com>
6830
6831         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
6832         purge_mem_unchanging_flag on all instructions, not just on those
6833         before NOTE_INSN_FUNCTION_BEG.
6834
6835 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6836
6837         * cppmacro.c (_cpp_create_definition): Leave comments off.
6838
6839         * doc/cpp.texi: Update.
6840
6841 2001-10-08  DJ Delorie  <dj@redhat.com>
6842
6843         * c-decl.c (grokfield): Make sure the only unnamed fields
6844         we're allowing are either structs or unions.
6845         * doc/extend.texi: Add documentation for the unnamed field
6846         extension.
6847
6848 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
6849
6850         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
6851         * configure.in: Use it.
6852         * configure: Regenerated.
6853         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
6854         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
6855
6856 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6857
6858         * cppfiles.c (open_file): Don't mark zero-length files
6859         never-reread here.  Don't output diagnostics here either.
6860         (stack_include_file): Mark them never-reread here.
6861         (_cpp_read_file): Update.
6862
6863 2001-10-08  Richard Henderson  <rth@redhat.com>
6864
6865         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6866
6867 2001-10-08  Richard Henderson  <rth@redhat.com>
6868
6869         * expr.c (store_expr): When converting a CONST_INT for storage
6870         in a SUBREG, convert it to both SUBREG modes before stripping
6871         the SUBREG.
6872
6873 2001-10-08  Richard Henderson  <rth@redhat.com>
6874
6875         * varasm.c (restore_varasm_status): New.
6876         * function.h: Declare it.
6877         * function.c (pop_function_context_from): Call it.
6878
6879 2001-10-08  Richard Henderson  <rth@redhat.com>
6880
6881         * c-common.h (struct c_lang_decl): Add declared_inline.
6882         * c-tree.h (DECL_DECLARED_INLINE_P): New.
6883         * c-lang.c (c_disregard_inline_limits): Use it.
6884         * c-decl.c (duplicate_decls): Likewise.
6885         (pushdecl, redeclaration_error_message): Likewise.
6886         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
6887         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
6888         Set DECL_INLINE if -finline-functions.
6889         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
6890
6891 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6892
6893         * cppmacro.c (funlike_invocation_p): Move some logic to caller
6894         in enter_macro_context.  Create a padding token in its own context
6895         if necessary when the search for '(' fails.
6896         (enter_macro_context): Update.
6897
6898 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6899
6900         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
6901         genmultilib, toplev.c: Fix spelling errors of "separate" as
6902         "seperate", and corresponding spelling errors of related words.
6903
6904 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6905
6906         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
6907         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
6908         Likewise.
6909         * c-dump.c (dump_option_value_info): Likewise.
6910         * c-format.c (format_length_info, format_char_info,
6911         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
6912         * collect2.c (names): Likewise.
6913         * cppdefault.h (default_include): Likewise.
6914         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
6915         * flow.c (life_analysis): Likewise.
6916         * gcc.c (dir_separator_str, modify_target, option_map,
6917         target_option_translations, spec_list_1, extra_specs_1,
6918         init_spec): Likewise.
6919         * gcov.c (gcov_version_string): Likewise.
6920         * genattr.c (write_units): Likewise.
6921         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
6922         * gengenrtl.c (rtx_definition, defs): Likewise.
6923         * genrecog.c (pred_table): Likewise.
6924         * global.c (global_alloc): Likewise.
6925         * lcm.c (optimize_mode_switching): Likewise.
6926         * local-alloc.c (find_free_reg): Likewise.
6927         * params.h (param_info): Likewise.
6928         * predict.c (predictor_info): Likewise.
6929         * protoize.c (unexpansion_struct): Likewise.
6930         * real.c (bmask): Likewise.
6931         * recog.h (insn_operand_data, insn_data): Likewise.
6932         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
6933         * stmt.c (expand_nl_goto_receiver): Likewise.
6934         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
6935         target_switches, target_options): Likewise.
6936         * tradcif.y (token, tokentab2, yylex): Likewise.
6937         * tree.h (attribute_spec): Likewise.
6938
6939         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
6940         Likewise.
6941         * arc.c (arc_output_function_epilogue): Likewise.
6942         * arm.c (processors, all_cores, all_architectures,
6943         arm_override_options, isr_attribute_arg, isr_attribute_args,
6944         arm_isr_value): Likewise.
6945         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
6946         Likewise.
6947         * c4x.c (c4x_int_reglist): Likewise.
6948         * d30v.c (override_options): Likewise.
6949         * h8300.c (shift_insn): Likewise.
6950         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
6951         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
6952         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
6953         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
6954         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
6955         * i386.h (processor_costs, ix86_cost): Likewise.
6956         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
6957         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
6958         * m68k.c (codes_68881, codes_FPA): Likewise.
6959         * m88k.c (mode_from_align, max_from_align, all_from_align,
6960         best_from_align, m_options): Likewise.
6961         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
6962         * mcore.c (mode_from_align): Likewise.
6963         * mips/elf64.h (UNIQUE_SECTION): Likewise.
6964         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
6965         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
6966         * mips.h (mips_regno_to_class): Likewise.
6967         * ns32k.c (scales): Likewise.
6968         * pa.c (import_string, magic_milli): Likewise.
6969         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
6970         * sparc.c (leaf_reg_remap, sparc_override_options,
6971         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
6972         Likewise.
6973         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
6974
6975 2001-10-07  Dale Johannesen  <dalej@apple.com>
6976
6977         * reload1.c (reload_reg_free_p): Teach register interference
6978         checking that multiple output reloads are emitted in
6979         reverse order.
6980         reload1.c (reload_reg_reaches_end_p):  Ditto.
6981         reload1.c (reloads_conflict):  Ditto.
6982
6983 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6984
6985         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
6986         NULL_TREE inside @code.
6987
6988 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6989
6990         * doc/gcc.texi: Document consistent style of "32-bit",
6991         "Objective-C", and "@code{NULL}".
6992
6993 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
6994
6995         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
6996         (cpp_token_len, cpp_spell_token, cpp_output_token,
6997         _cpp_equiv_tokens): Handle it.
6998         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
6999         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
7000         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
7001         error messages.
7002
7003 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7004
7005         * gcc.c (default_compilers): Remove .ada.
7006
7007 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7008
7009         * doc/cppinternals.texi: Update.
7010
7011 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
7012
7013         * gcc.c (main): Set this_file_error if the appropriate
7014         compiler for a language has not been installed.
7015
7016 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
7017
7018         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
7019
7020 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
7021
7022         * gccbug.in (CATEGORIES): Add ada.
7023
7024 2001-10-05  Catherine Moore  <clm@redhat.com>
7025
7026         * config/stormy16/stormy-abi:  Document abi changes.
7027         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
7028         (ICALL_REGS): New register class.
7029         (NUM_ARGUMENT_REGISTERS): Now 6.
7030         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
7031         in registers.
7032         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
7033         * config/stormy16.md (call_internal, call_value_internal,
7034         indirect_jump): Use new 'z' constraint.
7035
7036 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7037
7038         * doc/cppinternals.texi: Update.
7039
7040 2001-10-05  Richard Henderson  <rth@redhat.com>
7041
7042         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
7043         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
7044         the gas section-name-as-label feature.
7045
7046 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7047
7048         * doc/cppinternals.texi: Update.
7049
7050 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7051
7052         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
7053         to ensure valid SImode constants.
7054
7055 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
7056
7057         * Makefile.in (c-decl.o): Depend on tree-inline.h.
7058         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
7059         * c-decl.c: Include tree-inline.h.
7060         (c_expand_body): Call optimize_inline_calls. Determine whether
7061         a function is inlinable upfront, and only clear
7062         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
7063         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
7064         (c_disregard_inline_limits): New function.
7065         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
7066         (c_post_options): Enable tree inlining if inlining is enabled.
7067         Don't inline trees when instrumenting functions.
7068         (c_init): Initialize lang_disregard_inline_limits and
7069         lang_cannot_inline_tree_fn.
7070         * tree-inline.c (initialize_inlined_parameters): Handle calls
7071         with fewer arguments than declared parameters, and fewer
7072         parameters than passed arguments.  Don't assume value is a
7073         DECL.
7074         (declare_return_variable): Convert return value back to the
7075         original type, if it was promoted.
7076         (tree_inlinable_function_p): New function.
7077         (inlinable_function_p): Don't look at DECL_INLINE if we're
7078         inlining all functions.  Make it work with a NULL id.
7079         Re-check DECL_UNINLINABLE after language-specific checks.
7080         * tree-inline.h (tree_inlinable_function_p): Declare it.
7081         * integrate.c (save_for_inline): Don't bother to prepare argvec
7082         when not inlining.
7083         * cse.c (check_for_label_ref): Don't check deleted labels.
7084
7085         * Makefile.in (tree-inline.o): Depend on newly-included headers.
7086         * tree-inline.c: Include headers needed for the functions moved in.
7087         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
7088         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
7089         (copy_body, initialize_inlined_parameters): Likewise.
7090         (declare_return_variable, inlinable_function_p): Likewise.
7091         (expand_call_inline, expand_calls_inline): Likewise.
7092         (optimize_inline_calls, clone_body): Likewise.
7093         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
7094         (copy_tree_r, remap_save_expr): Likewise.
7095
7096 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
7097
7098         * Makefile.in (OBJS): Added tree-inline.o.
7099         (c-common.o): Depend on tree-inline.h.
7100         (tree-inline.o): New target.
7101         * c-common.c: Include tree-inline.h.
7102         (c_mark_lang_decl): Don't mark saved_tree.
7103         (c_common_lang_init): Set lang_anon_aggr_type_p.
7104         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
7105         (struct c_lang_decl): Moved saved_tree to tree_decl.
7106         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
7107         * integrate.h (function_attribute_inlinable_p): Declare it.
7108         * integrate.c (function_attribute_inlinable_p): Export it.
7109         * tree-inline.c: New file.  Define variables declared in...
7110         * tree-inline.h: New file.  Declare functions to be moved to
7111         tree-inline.c.  Define macros and declare types and hooks for
7112         language-specific tree inlining.
7113         (flag_inline_trees): Moved definition from cp/decl2.c.
7114         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
7115         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
7116         (struct tree_decl): Moved saved_tree from c_lang_decl and
7117         inlined_fns from C++'s lang_decl.
7118
7119 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
7120
7121         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
7122         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
7123
7124 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7125
7126         * doc/cppinternals.texi: Update.
7127
7128 2001-10-04  Eric Christopher  <echristo@redhat.com>
7129
7130         * config/mips/mips.c (init_cumulative_args): Remember to set
7131         cum->prototype.
7132         * config.gcc: Redo linux configuration. Add target_cpu_default
7133         of soft-float to all mipsisa32 combinations and tx39.
7134         * config/mips/linux.h: Remove include of mips.h.
7135
7136 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
7137
7138         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
7139         HOST_LDFLAGS and HOST_CPPFLAGS.
7140
7141 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
7142
7143         * c-parse.in (objc_inherit_code, objc_pq_context,
7144         objc_public_flag): Make static.
7145         (objc_interface_context, objc_implementation_context,
7146         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
7147         global tree array in objc/objc-act.[ch].
7148         (methoddef): Remove unnecessary code.
7149
7150         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
7151         Hoist struct definitions to objc-act.h.
7152         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
7153         cat_count): Place declaration in objc-act.h.
7154         (objc_tree_index): Move enumeration to objc-act.h.
7155         (objc_global_trees): Place declaration and macro accessors in
7156         objc-act.h.
7157         (implementation_context): Remove duplicate; use
7158         objc_implementation_context instead:
7159         (method_context): Remove duplicate; use objc_method_context
7160         instead.
7161         (objc_ellipsis_node, objc_method_prototype_template,
7162         implemented_classes, function_type): Move global vars to
7163         objc_global_trees.
7164         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
7165         (build_message_expr): Move actual construction of ObjC message
7166         send nodes to finish_message_expr.
7167         (finish_message_expr): New routine, contains code formerly in
7168         build_message_expr.
7169         * objc/objc-act.h (finish_message_expr): New prototype.
7170         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
7171         declarations; these vars are now part of objc_global_trees.
7172         (objc_tree_index, objc_global_trees): Move definitions from
7173         objc-act.c.
7174         * objc/objc-tree.def: Update copyright info.
7175
7176 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
7177
7178         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
7179         op is NULL.
7180         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
7181         only if TARGET_ARCH64.
7182
7183 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
7184
7185         * doc/extend.texi: Fix some problems with previous checkin.
7186         * doc/invoke.texi: Likewise.
7187
7188 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7189
7190         * cpphash.h: Update comments.
7191         (cpp_context): Update.
7192         (spec_nodes): Remove n__Pragma.
7193         * cppinit.c (cpp_create_reader): Update.
7194         (builtin_array): Add _Pragma.
7195         * cpplib.h: Update comments.
7196         (NODE_DISABLED, BT_PRAGMA): New.
7197         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
7198         * cppmacro.c (struct cpp_macro): Remove disabled.
7199         (builtin_macro): Return int, handle _Pragma, push the new token
7200         on the context stack.
7201         (funlike_invocation_p): Unconstify, update.
7202         (enter_macro_context): Handle builtins here.
7203         (replace_args, push_token_context, push_ptoken_context):
7204         Update for prototype changes.
7205         (_cpp_pop_context): Update.
7206         (cpp_get_token): Don't handle buitins, nor _Pragma here.
7207         (cpp_sys_macro_p): Update.
7208         (_cpp_free_definition): Clear disabled flag.
7209         (_cpp_create_definition): Upate.
7210         * cppmain.c: Update comments.
7211
7212 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
7213                                 Andreas Jaeger <aj@suse.de>,
7214                                 Jan Hubicka    <jh@suse.cz>
7215
7216         * doc/invoke.texi (i386 Options): Document x86-64 options.
7217         (i386 and x86-64 Options): Rename i386 options section.
7218
7219         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
7220         (TARGET_SWITCHES): Add -munwind-info.
7221         (MASK_NO_UNWIND_INFO): New.
7222         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
7223         biarch compilation.
7224         (ASM_OUTPUT_DOUBLE_INT): New.
7225
7226         * config/i386/linux64.h: New spec file for Linux x86-64 support.
7227         * config.gcc: Fix tm_file settings for x86-64.
7228         * config/i386/x86-64.h: New file with OS independent x86-64
7229         definitions.
7230         * config/i386/biarch64.h: New file used to configure compiler
7231         to biarch/64bit compilation.
7232
7233         * config/i386/i386.c: (override_options): Set flags default
7234         for 64bit compilation.
7235
7236 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
7237
7238         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
7239         (ix86_expand_int_movcc): Optimize DImode conditional moves with
7240         constants on x86_64.
7241         (ix86_attr_length_immediate_default): Support MODE_DI.
7242         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
7243         condition.
7244         (indirect_jump, tablejump): Turn into expander.
7245
7246 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7247
7248         * c-common.c (c_format_attribute_table): Make format and
7249         format_arg attributes apply to function types rather than to
7250         decls.
7251         (is_valid_printf_arglist): Construct an attribute list and pass
7252         that to check_function_format rather than a name.
7253         * c-common.h (check_function_format): Adjust prototype.
7254         * c-decl.c (duplicate_decls): Preserve attributes from type of
7255         built-in decl when allowing for harmless conflict in types.
7256         * c-format.c (record_function_format,
7257         record_international_format, function_format_list,
7258         international_format_info, international_format_list): Remove.
7259         (function_format_info): Remove next, name and assembler_name.
7260         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
7261         (decode_format_attr): New.
7262         (handle_format_attribute): Handle receiving a type rather than a
7263         decl.  Call decode_format_attr.  Store format information in a
7264         function_format_info.
7265         (handle_format_arg_attribute): Correct comment.  Handle receiving
7266         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
7267         arg_num.
7268         (check_format_info_recurse, check_format_info_main): Take argument
7269         numbers as unsigned HOST_WIDE_INT.
7270         (check_function_format): Take a list of attributes from the
7271         function type rather than a name or assembler name.  Check for
7272         format attributes in that list and the attributes on the type of
7273         the current function rather than looking through
7274         function_format_list.
7275         (check_format_info): Use unsigned HOST_WIDE_INT for argument
7276         numbers.
7277         (check_format_info_recurse): Take format_arg attributes from the
7278         type of the function calls rather than using
7279         international_format_list.  Allow for multiple format_arg
7280         attributes.
7281         * c-typeck.c (build_function_call): Pass type attributes to
7282         check_function_format rather than name or assembler name.  Don't
7283         require there to be a name or assembler name to check formats.
7284
7285 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7286
7287         * attribs.c (decl_attributes): Possibly call
7288         insert_default_attributes to insert default attributes on
7289         functions in a lazy manner.
7290         * builtin-attrs.def: New file; define the default format and
7291         format_arg attributes.
7292         * c-common.c (c_format_attribute_table): Move to earlier in the
7293         file.
7294         (c_common_nodes_and_builtins): Initialize format_attribute_table.
7295         (enum built_in_attribute, built_in_attributes,
7296         c_attrs_initialized, c_init_attributes,
7297         c_common_insert_default_attributes): New.
7298         (c_common_lang_init): Don't initialize format_attribute_table.  Do
7299         call c_init_attributes.
7300         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
7301         * c-common.h (init_function_format_info): Don't declare.
7302         (c_common_insert_default_attributes): Declare.
7303         * c-decl.c (implicitly_declare, builtin_function): Call
7304         decl_attributes.
7305         (init_decl_processing): Don't call init_function_format_info.
7306         (insert_default_attributes): New.
7307         * c-format.c (handle_format_attribute,
7308         handle_format_arg_attribute): Be quiet about inappropriate
7309         declaration when applying default attributes.
7310         (init_function_format_info): Remove.
7311         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
7312         (insert_default_attributes): Declare.
7313
7314 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7315
7316         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
7317
7318 2001-10-01  Jim Wilson  <wilson@redhat.com>
7319
7320         * sched-deps.c (add_dependence): When elide conditional dependence,
7321         check that insn doesn't modify cond2.
7322
7323 2001-10-01  Dale Johannesen  <dalej@apple.com>
7324
7325         * config/rs6000/rs6000.h (enum processor_type): Add support
7326         for 7400 (G4) and 7450.
7327         (RTX_COSTS): Ditto.
7328         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
7329         (rs6000_issue_rate): Ditto.
7330         (rs6000_adjust_cost): Fix cycle counts for compares.
7331         (debug_stack_info):  Fix an obvious typo.
7332         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
7333         * doc/invoke.texi: Document.
7334         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
7335         for Darwin.
7336         (PROCESSOR_DEFAULT): Ditto.
7337
7338 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
7339
7340         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
7341         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
7342         later recursive make invocation.
7343
7344 2001-10-01  Hans Boehm  <boehm@acm.org>
7345
7346         * optabs.c (emit_libcall_block): When using non-call exceptions,
7347         don't add REG_LIBCALL reg notes to trapping calls.
7348
7349 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
7350
7351         * flow.c (propagate_block_delete_libcall): Remove unused first arg
7352         (propagate_one_insn):  Update for above change
7353
7354 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
7355
7356         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
7357         _Unwind_GetTextRelBase): Argument is unused.
7358
7359 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7360
7361         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
7362         Loop through NOPs, placeholders, and components.
7363         Don't go through NOPs if change mode.
7364         (record_alias_subset): Do nothing if SUBSET and SET are the same.
7365         * emit-rtl.c (set_mem_alias_set): Enable check.
7366         * expr.c (find_placeholder): New function.
7367         (expand_expr, case PLACEHOLDER_EXPR): Use it.
7368         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
7369         to modify it and avoid unneeded copies.
7370         * expr.h (expand_expr): Always define.
7371         (find_placeholder): New declaration.
7372
7373 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7374
7375         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
7376         operand 2 is the stack pointer.
7377         ("addr-peephole"): Fix address computation peephole when operand 2
7378         is the stack pointer.
7379
7380 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7381
7382         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
7383         (ix86_setup_incoming_varargs): Likewise.
7384
7385 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
7386
7387         * stor-layout.c (layout_type): Don't complain about too-large
7388         array here.
7389
7390 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7391
7392         * function.c (keep_stack_depressed): Don't use delete_insn.
7393
7394         * expr.h (set_mem_alias_set): Move decl to here.
7395         * rtl.h (mem_attrs): New typedef and struct.
7396         (union rtunion_def): Add field for mem_attrs.
7397         (X0MEMATTR, MEM_ATTRS): New macros.
7398         (MEM_ALIAS_SET): Use MEM_ATTRS.
7399         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
7400         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
7401         (set_mem_alias_set): Delete decl from here.
7402
7403         * alias.c (set_mem_alias_set): Delete from here.
7404         * emit-rtl.c (mem_attrs_htab): New variable.
7405         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
7406         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
7407         (mem_attrs_mark, get_mem_attrs): Likewise.
7408         (gen_rtx_MEM): Clear MEM_ATTRS.
7409         (set_mem_attributes): Move to here.
7410         (set_mem_alias_set): Likewise, and call get_mem_attrs.
7411         (init_emit_once): const_int_htab now deletable htab.
7412         Initialize mem_attrs_htab.
7413         * explow.c (set_mem_attributes): Delete from here.
7414         * function.c (put_var_into_stack): Clear MEM_ATTRS.
7415         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
7416         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
7417         * reload1.c (reload): Rework changing REG to MEM.
7418
7419 2001-09-30  H.J. Lu <hjl@gnu.org>
7420
7421         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
7422         * config.in: Rebuild.
7423
7424 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7425
7426         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
7427         ("tsthi_1"): Avoid allocation in register y.
7428         ("*movqi_68hc12"): Reorganize and fix constraints.
7429         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
7430         ("addqi3"): Likewise.
7431         ("addhi3"): Fix constraints.
7432         ("*logicalhi3_zexthi"): Disparage soft registers.
7433
7434 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7435
7436         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
7437         to tmp reg.
7438
7439 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7440
7441         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
7442         that we use setjmp/longjmp exceptions.
7443
7444 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
7445
7446         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
7447         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
7448         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
7449         _cpp_pool_alloc, _cpp_next_chunk): Remove.
7450         (_cpp_extend_buff, BUFF_ROOM): Update.
7451         (_cpp_append_extend_buff): New.
7452         (struct cpp_reader): Remove macro_pool, add a_buff.
7453         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
7454         macro_pool.
7455         (cpp_destroy): Free a_buff instead of macro_pool.
7456         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
7457         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
7458         _cpp_pool_alloc, ): Remove.
7459         (parse_number, parse_string): Update use of _cpp_extend_buff.
7460         (_cpp_extend_buff): Update.
7461         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
7462         * cpplib.c (glue_header_name, parse_answer):
7463         Update use of _cpp_extend_buff.
7464         (cpp_register_pragma, cpp_register_pragma_space): Use
7465         _cpp_aligned_alloc.
7466         (do_assert, do_unassert): Check for EOL, update.
7467         * cppmacro.c (stringify_arg, collect_args): Update to use
7468         _cpp_extend_buff and _cpp_append_extend_buff.
7469         (save_parameter, parse_params, alloc_expansion_token,
7470         _cpp_create_definition): Rework memory management.
7471
7472 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
7473
7474         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
7475         update md_exec_prefix.
7476         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
7477         to string constant.
7478
7479 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
7480
7481         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
7482         (SELECT_CC_MODE): Use s390_select_ccmode.
7483         * config/s390/s390-protos.h (s390_select_ccmode): Add.
7484         * config/s390/s390.c (s390_select_ccmode): New.
7485         (s390_match_ccmode): Add CCLmode.
7486         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
7487         (output_branch_condition, output_inverse_branch_condition): Removed.
7488         (print_operand): Use s390_branch_condition_mnemonic.
7489         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
7490         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
7491         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
7492
7493         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
7494         when converting conditional branches to far branches.
7495         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
7496         cmpint_di): Use CCSmode instead of CCUmode.
7497
7498         * config/s390/s390.c (legitimate_la_operand_p): New.
7499         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
7500         * config/s390/s390.md (movsi): Convert load address patterns to
7501         arithmetic operations when necessary.
7502         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
7503         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
7504         (*do_la_reg_0): Don't use before reload.
7505
7506         * config/s390/s390.c (legitimize_address): Make more efficient
7507         use of two-register addressing mode.
7508
7509         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
7510         with -mno-backchain in some corner cases.
7511
7512         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
7513
7514 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
7515
7516         * reload.c (find_reloads): Mark new USE insns with QImode.
7517         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
7518         find_reloads_subreg_address): Likewise.
7519         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
7520         encountered.
7521         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
7522         CLOBBERs.
7523         (reload): Make sure there are no USEs with mode other than
7524         VOIDmode.  At the end, remove those marked with QImode.
7525
7526 2001-09-29  Per Bothner  <per@bothner.com>
7527
7528         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
7529         * Makefile.in (includedir):  Rename to local_includedir.
7530         (includedir):  Define as $(prefix)/include.
7531         * config.in (PREFIX_INCLUDE_DIR):  New variable.
7532         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
7533
7534 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
7535
7536         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
7537         storehps builtins.
7538         * doc/extend.texi (Vector Extensions): New node.
7539         * doc/invoke.texi (Machine Dependent Options): Add documentation for
7540         i386 -mmmx, -msse, -m3dnow.
7541
7542 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
7543
7544         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
7545
7546 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
7547
7548         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
7549
7550         * doc/invoke.texi (Optimize Options): Delete spurious @table.
7551
7552 2001-09-28  Richard Henderson  <rth@redhat.com>
7553
7554         * varasm.c (assemble_integer): Bound alignment check by
7555         BIGGEST_ALIGNMENT.
7556
7557         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
7558
7559 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7560
7561         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
7562
7563 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
7564
7565         Mostly from Graham Stott  <grahams@redhat.com>
7566         * c-common.c (type_for_mode): Add support for V2SFmode.
7567         * tree.c (build_common_tree_nodes_2): Likewise.
7568         * tree.h (enum tree_index, global_trees): Likewise.
7569         * config/i386/i386.c (x86_3dnow_a): New variable.
7570         (override_options): Support 3Dnow extensions.
7571         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
7572         Athlon's version of 3Dnow.
7573         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
7574         (ix86_expand_builtin): Handle them.
7575         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
7576         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
7577         TARGET_3DNOW_A): New macros.
7578         (TARGET_SWITCHES): Add 3Dnow switches.
7579         (VALID_MMX_REG_MODE_3DNOW): New macro.
7580         (VECTOR_MODE_SUPPORTED_P): Use it.
7581         (enum ix86_builtins): Add entries for 3Dnow builtins.
7582         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
7583         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
7584         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
7585         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
7586         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
7587         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
7588         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
7589         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
7590         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
7591         sfence_insn, prefetch): Make these available if TARGET_SSE or
7592         TARGET_3DNOW_A.
7593
7594 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
7595
7596         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
7597         ix86_va_start, ix86_build_va_list): Declare.
7598         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
7599         ix86_va_start, ix86_build_va_list): New global functions.
7600         * i386.md (sse_prologue_save_insn): New insn.
7601         (sse_prologue_save): New expander.
7602         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
7603         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
7604
7605 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
7606
7607         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
7608         Use size_t everywhere, make definitions consistent with
7609         prototypes.
7610
7611 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
7612
7613         * gcse.c (replace_store_insn): Use delete_insn.
7614         * loop.c (move_movables): Likewise; avoid delete_insn
7615         from clobbering notes moved elsewhere.
7616         (check_dbra_loop): Use delete_insn.
7617         * ssa.c (convert_from_ssa): Likewise.
7618         * cse.c (cse_insn): Use delete_insn.
7619
7620 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
7621
7622         * cpphash.h (struct cpp_buff): Make unsigned.
7623         (_cpp_get_buff): Take length of size_t.
7624         (_cpp_unaligned_alloc): New.
7625         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
7626         (struct cpp_reader): Remove ident_pool.  Add u_buff.
7627         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
7628         (cpp_destroy): Destroy u_buff, not ident_pool.
7629         * cpplex.c (parse_number, parse_string, save_comment,
7630         cpp_token_as_text): Update to use the unaligned buffer.
7631         (new_buff): Make unsigned.
7632         (_cpp_unaligned_alloc): New.
7633         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
7634         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
7635         Similarly.
7636         (collect_args): Make unsigned.
7637
7638 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
7639
7640         * cpplex.c (cpp_output_token): Use a putc loop for
7641         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
7642
7643         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
7644         * configure, config.in: Regenerate.
7645         * system.h: Replace fwrite and fprintf with their unlocked
7646         variants if available.
7647
7648 2001-09-27  Richard Henderson  <rth@redhat.com>
7649
7650         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
7651         in favour of .eh_frame.
7652
7653 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
7654
7655         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
7656         to macros.
7657         (LIBCALL_VALUE): Likewise.
7658
7659 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
7660
7661         * cpphash.h: Update comment.
7662         * cpplex.c: Update comments.
7663         (_cpp_can_paste): Remove.
7664         * cpplib.h (_cpp_can_paste): Remove.
7665         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
7666         lexer rather than _cpp_can_paste.
7667
7668 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
7669
7670         * doc/cppinternals.texi: Update.
7671
7672 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7673
7674         * cpphash.h (struct cpp_pool): Remove locks and locked.
7675         (struct cpp_context): Add member buff.
7676         (struct cpp_reader): Remove member argument_pool.
7677         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
7678         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
7679         * cpplex.c (chunk_suitable): Remove pool argument.
7680         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
7681         (new_buff, _cpp_extend_buff): Update.
7682         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
7683         which buffer is returned.
7684         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
7685         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
7686         * cppmacro.c (lock_pools, unlock_pools): Remove.
7687         (push_ptoken_context): Take a _cpp_buff.
7688         (enter_macro_context): Pool locking removed.
7689         (replace_args): Use a _cpp_buff for the replacement list with
7690         arguments replaced.
7691         (push_token_context): Clear buff.
7692         (expand_arg): Use _cpp_pop_context.
7693         (_cpp_pop_context): Free a context's buffer, if any.
7694
7695 2001-09-26  DJ Delorie  <dj@redhat.com>
7696
7697         * c-typeck.c (digest_init): Check for sizeless arrays.
7698
7699 2001-09-26  Richard Henderson  <rth@redhat.com>
7700
7701         * optabs.c (init_one_libfunc): Create a dummy function type
7702         instead of using error_mark_node.
7703
7704 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7705
7706         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
7707         _cpp_extend_buff, _cpp_free_buff): New.
7708         (struct cpp_reader): New member free_buffs.
7709         * cppinit.c (cpp_destroy): Free buffers.
7710         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
7711         _cpp_extend_buff, _cpp_free_buff): New.
7712         * cpplib.h (struct cpp_options): Remove unused member.
7713         * cppmacro.c (collect_args): New.  Combines the old parse_arg
7714         and parse_args.  Use _cpp_buff for memory allocation.
7715         (funlike_invocation_p, replace_args): Update.
7716
7717 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
7718
7719         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
7720
7721 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
7722
7723         * except.c (sjlj_mark_call_sites): Change address inside sequence.
7724
7725 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
7726
7727         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
7728         glibc.
7729
7730 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
7731             Jim Wilson  <wilson@redhat.com>
7732
7733         * doc/install.texi (Specific, ia64-*-linux): Document.
7734
7735 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
7736
7737         * Makefile.in (cfgrtl.o): Add.
7738         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
7739         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
7740         free_aux_for_edge): Declare.
7741         * cfg.c
7742         (HAVE_return): Undefine.
7743         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
7744         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
7745         free_aux_for_edge): New global functions.
7746         (first_delete_block): New static variable.
7747         (init_flow): Clear first_delete_block.
7748         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
7749          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
7750          try_redirect_by_replacing_jump, last_loop_beg_note,
7751          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
7752          delete_insn, delete_insn_chain, create_basic_block_structure,
7753          create_basic_block, flow_delete_block, compute_bb_for_insn,
7754          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
7755          set_block_for_new_insns, split_block, merge_blocks_nomove,
7756          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
7757          redirect_edge_and_branch, force_nonfallthru_and_redirect,
7758          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
7759          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
7760          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
7761          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
7762          purge_all_dead_edges): Move to ....
7763         * cfgrtl.c: New file; .... Here.
7764
7765         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
7766         (reroder_basic_block): Use alloc_aux_for_blocks.
7767         * predict.c (estimate_bb_frequencies): Likewise; use
7768         alloc_aux_for_edges.
7769         * profile.c (compute_branch_probabilities): Likewise.
7770         (branch_prob): Likewise.
7771         * reg-stack.c (reg_to_stack): Likewise.
7772
7773         * emit-rtl.c (emit_insns_after): Never return NULL.
7774
7775         * basic-block.h (set_block_for_new_insns): Delete.
7776         * cfgrtl.c (set_block_for_new_insns): Delete.
7777
7778         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
7779         calls when crossjumping.
7780
7781         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
7782         * unroll.c (copy_loop_body): Use delete_insn.
7783
7784         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
7785         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
7786         keep_stack_depressed): Likewise.
7787         * gcse.c (cprop_cc0_jump): Likewise.
7788         * local-alloc.c (update_equiv_regs): Likewise.
7789         * loop.c (scan_loop, loop_delete_insns): Likewise.
7790         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
7791         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
7792         delete_output_reload, delete_address_reloads_1,
7793         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
7794         Likewise.
7795         * sibcall.c (replace_call_placeholder): Likewise.
7796         * cse.c (cse_insn): Likewise.
7797
7798 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
7799
7800         From Graham Stott  <grahams@redhat.com>
7801         (def_builtin): Only define builtins appropriate for target_flags.  All
7802         callers changed.
7803         (builtin_decsription): Add new field mask which is used to determine
7804         when to define the builtin via the macro def_builtin.
7805
7806         (bdesc_comi): Initialise new mask fields.
7807         (bdesc_2srg): Likewise.
7808         (bdesc_1arg): Likewise.
7809
7810         * config/i386/i386.c (ix86_init_builtins): Correct return type
7811         building v4hi_ftype_v4hi_int_int tree node.
7812         (ix86_expand_sse_comi): Fix typo swapping operands.
7813         Don't swap comparision condition, it is already swapped.
7814         (ix86_expand_sse_compare): Before swapping operands
7815         move operand 1 into new rtx and not the target rtx.
7816         Don't swap comparison condition, it is already swapped.
7817         Always check whether we need to create a new TARGET.
7818
7819         * config/i386/i386.md: (sse_comi) Fix typos.
7820         (sse_ucomi): Likewise.
7821         (cvtss2si): Fix operand 0 contraint.
7822         (cvttss2si): Likewise.
7823         (sse_unpckhps): Fix mode for operand 2.
7824         (sse_unpcklps): Likewise.
7825
7826 2001-09-25  Graham Stott  <grahams@redhat.com>
7827
7828         * sibcall.c (skip_copy_to_return_value): Tighten return value
7829         copy check.
7830
7831 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
7832
7833         * rs6000.c (lwa_operand): Address must be word aligned.
7834
7835 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7836
7837         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
7838         number has been set.
7839         (type_hash_mark): Mark type itself.
7840
7841 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
7842
7843         * c-lex.c (cb_def_pragma): Update.
7844         (c_lex): Update, and skip padding.
7845         * cppexp.c (lex, parse_defined): Update, remove unused variable.
7846         * cpphash.h (struct toklist): Delete.
7847         (union utoken): New.
7848         (struct cpp_context): Update.
7849         (struct cpp_reader): New members eof, avoid_paste.
7850         (_cpp_temp_token): New.
7851         * cppinit.c (cpp_create_reader): Update.
7852         * cpplex.c (_cpp_temp_token): New.
7853         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
7854         (cpp_output_token): Don't print leading whitespace.
7855         (cpp_output_line): Update.
7856         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
7857         do_include_common, do_line, do_ident, do_pragma,
7858         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
7859         parse_assertion): Update.
7860         (get_token_no_padding): New.
7861         * cpplib.h (CPP_PADDING): New.
7862         (AVOID_LPASTE): Delete.
7863         (struct cpp_token): New union member source.
7864         (cpp_get_token): Update.
7865         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
7866         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
7867         replace_args, quote_string, stringify_arg, parse_arg, next_context,
7868         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
7869         _cpp_backup_tokens, _cpp_create_definition): Update.
7870         (push_arg_context): Delete.
7871         (padding_token, push_token_context, push_ptoken_context): New.
7872         (make_string_token, make_number_token): Update, rename.
7873         (cpp_get_token): Update to handle tokens as pointers to const,
7874         and insert padding appropriately.
7875         * cppmain.c (struct printer): New member prev.
7876         (check_multiline_token): Constify.
7877         (do_preprocessing, cb_line_change): Update.
7878         (scan_translation_unit): Update to handle spacing.
7879         * scan-decls.c (get_a_token): New.
7880         (skip_to_closing_brace, scan_decls): Update.
7881         * fix-header.c (read_scan_file): Update.
7882
7883         * doc/cpp.texi: Update.
7884
7885 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7886
7887         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
7888         leak by passing malloc'ed pointer to reconcat, not concat.
7889
7890 2001-09-24  DJ Delorie  <dj@redhat.com>
7891
7892         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
7893
7894 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
7895
7896         * flow.c (delete_dead_jumptables): Delete jumptable if the only
7897         reference is from the literal pool.
7898
7899 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
7900
7901         * doc/install.texi (Final install): Request additional information
7902         in mail about successful builds.
7903
7904 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7905
7906         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
7907         initial value of return pointer register instead of value in frame-20.
7908         Revise comments.
7909
7910 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7911
7912         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
7913         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
7914         the libcall if there isn't a referenced identifier for the symbol.
7915
7916 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7917
7918         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
7919         non 64-bit machines.  Use these as a plabel for the trampoline.
7920         (TRAMPOLINE_SIZE): Adjust size for new words.
7921         (INITIALIZE_TRAMPOLINE): Initialize new words.
7922         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
7923         pointer to the plabel in the trampoline.
7924
7925 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7926
7927         * pa.c (function_arg): Pass floating arguments in both general and
7928         floating registers in indirect (dynamic) calls when generating code
7929         for the 32 bit ABI and the HP assembler.
7930
7931 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7932
7933         * doc/install.texi: Markup fixes.
7934         Use Solaris 2, SunOS 4 as appropriate.
7935         (Specific, *-*-solaris2*): Explain this.
7936         Unconditionally warn against /usr/ucb tools.
7937         Remove Sun as warning, obsolete.
7938         Move X11 header bug workaround here, update patches.
7939         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
7940         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
7941
7942 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
7943
7944         * errors.h (warning, error, fatal, internal_error): Don't mark
7945         with ATTRIBUTE_PRINTF_n.
7946         * toplev.h (internal_error, fatal_io_error, warning, error,
7947         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
7948         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
7949         Likewise.
7950
7951 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7952
7953         * function.c (pop_function_context_from): var_refs_queue
7954         and temp slots now in GC memory.
7955         (mark_function_status, free_after_compilation): Likewise;
7956         also struct function now in GC memory.
7957         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
7958         (combine_temp_slots): Likewise.
7959         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
7960         (prepare_function_start): Use GC memory for struct function.
7961         (mark_temp_slot): Deleted.
7962         (gcc_mark_struct_function): struct function now in GC memory.
7963
7964         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
7965         code for division, not modulus.
7966
7967         * rtl.def (MEM): Remove obsolete part of comment.
7968
7969 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
7970
7971         * c-format.c (init_function_format_info): Check __builtin_printf
7972         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
7973         in gnu89 mode.
7974
7975 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7976
7977         * c-common.c (format_attribute_table): Remove decl.
7978         * tree.h (format_attribute_table, lang_attribute_table): New decls.
7979         (lang_attribute_common): Likewise.
7980
7981         * function.c (fix_lexical_address): Use set_mem_alias_set.
7982         (expand_function_start): Likewise.
7983         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
7984
7985         * varasm.c (output_constant): Fix unused variable warning.
7986
7987         * attribs.c: New file, from c-common.c.
7988         (attribute_tables): Now four elements.
7989         (format_attribute_table, lang_attribute_common): New variables.
7990         (init_attributes): Reflect above changes.
7991         (handle_mode_attribute): Delete check for wider than uintmax.
7992         * c-common.c: Delete parts moved to attribs.c.
7993         (enum attrs): Deleted; unused.
7994         (c_format_attribute_table): New variable.
7995         (c_common_lang_init): Initialize format_attribute_table with it.
7996         * c-common.h (decl_attributes): Remove decl.
7997         * tree.h (decl_attribute): Move it to here.
7998         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
7999         (attribs.o): New rule.
8000
8001 2001-09-22  Andreas Jaeger  <aj@suse.de>
8002
8003         * builtins.c (c_getstr): Remove unused variable.
8004
8005 2001-09-21  Richard Henderson  <rth@redhat.com>
8006
8007         * reload1.c (reload): Use delete_insn instead of splatting
8008         NOTE_INSN_DELETED.
8009
8010 2001-09-21  Richard Henderson  <rth@redhat.com>
8011
8012         * reload.c (push_secondary_reload): Don't check for "=" in output
8013         constraint after ""->ALL_REGS check.
8014
8015 2001-09-21  Richard Henderson  <rth@redhat.com>
8016
8017         * predict.c (expected_value_to_br_prob): Use pc_set.
8018
8019         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
8020         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
8021
8022 2001-09-21  Richard Henderson  <rth@redhat.com>
8023
8024         * rtl.h (LCT_RETURNS_TWICE): New.
8025         * calls.c (emit_call_1): Set current_function_calls_setjmp for
8026         ECF_RETURNS_TWICE.
8027         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
8028         to ECF_RETURNS_TWICE.
8029         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
8030         call to setjmp.
8031
8032         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
8033
8034         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
8035         (JMP_BUF_SIZE): New.
8036
8037 2001-09-21  Richard Henderson  <rth@redhat.com>
8038
8039         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
8040         to R8_REGS.
8041
8042 2001-09-21  Richard Henderson  <rth@redhat.com>
8043
8044         * tree.def (FDESC_EXPR): New.
8045         * expr.c (expand_expr): Handle it.
8046         * varasm.c (initializer_constant_valid_p): Likewise.
8047         (output_constant): Likewise.
8048         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
8049         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
8050         (ASM_OUTPUT_FDESC): New.
8051         * doc/tm.texi: Document the new macros.
8052
8053 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
8054
8055         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
8056         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
8057         once merging is complete.
8058
8059 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8060
8061         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
8062
8063 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
8064
8065         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
8066         that would be invalid after a merge.
8067
8068 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
8069
8070         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
8071         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
8072         remove some labels.
8073         (flow_delete_insn): This one.
8074         (delete_insn_chain): Rename from ...; do not care labels.
8075         (flow_delete_insn_chain): ... this one.
8076         (flow_delete_block): Remove the insns one BB has been expunged.
8077         (merge_blocks_nomove): Likewise.
8078         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
8079         updating BB boundaries.
8080         (tidy_fallthru_edge): Likewise.
8081         (commit_one_edge_insertion): Likewise.
8082         * cfgbuild.c (find_basic_block): Likewise.
8083         (find_basic_blocks_1): Likewise.
8084         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
8085         (try_crossjump_to_edge): Likewise.
8086         (try_optimize_cfg): Likewise.
8087         * cse.c (delete_trivially_dead_insns): Likewise.
8088         * df.c (df_insn_delete): Likewise.
8089         * doloop.c (doloop_modify): Use delete_related_insns.
8090         * emit-rtl.c (try_split): Likewise.
8091         (remove_insn): Update BB boundaries.
8092         * expect.c (connect_post_landing_pads): Use delete_related_insns.
8093         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
8094         updating BB boundaries.
8095         (propagate_block_delete_insn): Likewise.
8096         (propagate_block_delete_libcall): Likewise.
8097         * function.c (delete_handlers): Use delete_related_insns.
8098         (thread_prologue_and_epilogue_insns): Likewise.
8099         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
8100         * genpeep.c (gen_peephole): Use delete_related_insns.
8101         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
8102         BB boundaries.
8103         (find_cond_trap): Likewise.
8104         * integrate.c (save_for_inline): Use delete_related_insns.
8105         (copy_insn_list): Likewise.
8106         * jump.c (pruge_linie_number_notes): Likewise.
8107         (duplicate_loop_exit_test): Likewise.
8108         (delete_computation): Likewise.
8109         (delete_related_insn): Rename from ...; use delete_insn
8110         (delete_insn): ... this one.
8111         (redirect_jump): Use delete_related_insns.
8112         * loop.c (scan_loop): Likewise.
8113         (move_movables): Likewise.
8114         (find_and_verify_loops): Likewise.
8115         (check_dbra_loop): Likewise.
8116         * recog.c (peephole2_optimize): Likewise.
8117         * reg-stack.c (delete_insn_for_stacker): Remove.
8118         (move_for_stack_reg): Use delete_insn.
8119         * regmove.c (combine_stack_adjustments_for_block): Likewise.
8120         * reload1.c (delete_address_reloads): Use delete_related_insns.
8121         (fixup_abnormal_edges): Use delete_insn.
8122         * recog.c (emit_delay_sequence): Use delete_related_insns.
8123         (delete_from-delay_slot): Likewise.
8124         (delete_scheduled_jump): likewise.
8125         (optimize_skip): Likewise.
8126         (try_merge_delay_insns): Likewise.
8127         (full_simple_delay_slots): Likewise.
8128         (fill_slots_from_thread): Likewise.
8129         (relax_delay_slots): Likewise.
8130         (make_return_insns): Likewise.
8131         (dbr_schedule): Likewise.
8132         * rtl.h (delete_insn): Rename to delete_related_insns.
8133         (delete_insn, delete_insn_chain): New prototypes.
8134         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
8135         by df_insn_delete already.
8136         * ssa-dce.c (delete_insn_bb): Use delete_insn.
8137         * ssa.c (convert_from_ssa): Use delete_related_insns.
8138         * unroll.c (unroll_loop): Likewise.
8139         (calculate_giv_inc): Likewise.
8140         (copy_loop_body): Likewise.
8141
8142         * i386-protos.h (ix86_libcall_value, ix86_function_value,
8143         ix86_function_arg_regno_p, ix86_function_arg_boundary,
8144         ix86_return_in_memory, ix86_function_value): Declare.
8145         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
8146         new static valurables.
8147         (x86_64_reg_class): New enum
8148         (x86_64_reg_class_name): New array.
8149         (classify_argument, examine_argument, construct_container,
8150          merge_classes): New static functions.
8151         (optimization_options): Enable flag_omit_frame_pointer and disable
8152         flag_pcc_struct_return on 64bit.
8153         (ix86_libcall_value, ix86_function_value,
8154         ix86_function_arg_regno_p, ix86_function_arg_boundary,
8155         ix86_return_in_memory, ix86_function_value): New global functions.
8156         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
8157         (function_arg_advance): Handle x86_64 passing conventions.
8158         (function_arg): Likewise.
8159         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
8160         (RETURN_IN_MEMORY): Move offline.
8161         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
8162         (FUNCTION_VALUE_REGNO_P): New macro.
8163         (FUNCTION_ARG_REGNO_P): Move offline.
8164         (struct ix86_args): Add maybe_vaarg.
8165         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
8166         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
8167
8168 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
8169
8170         * s390.md: Changed attributes for scheduling.
8171         * s390.c: (s390_adjust_cost, s390_adjust_priority)
8172         Changed scheduling
8173
8174 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
8175
8176         Table-driven attributes.
8177         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
8178         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
8179         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
8180         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
8181         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
8182         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
8183         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
8184         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
8185         * tree.h (struct tree_decl): Change machine_attributes to
8186         attributes.
8187         * doc/c-tree.texi: Document that all attributes are now attached
8188         to decls and types.
8189         * c-common.c (add_attribute, attrtab, attrtab_idx,
8190         default_valid_lang_attribute, valid_lang_attribute): Remove.
8191         (attribute_tables, attributes_initialized,
8192         c_common_attribute_table, default_lang_attribute_table): New
8193         variables.
8194         (handle_packed_attribute, handle_nocommon_attribute,
8195         handle_common_attribute, handle_noreturn_attribute,
8196         handle_unused_attribute, handle_const_attribute,
8197         handle_transparent_union_attribute, handle_constructor_attribute,
8198         handle_destructor_attribute, handle_mode_attribute,
8199         handle_section_attribute, handle_aligned_attribute,
8200         handle_weak_attribute, handle_alias_attribute,
8201         handle_no_instrument_function_attribute,
8202         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
8203         handle_no_limit_stack_attribute, handle_pure_attribute): New
8204         functions.
8205         (init_attributes, decl_attributes): Rewrite to implement
8206         table-driven attributes.
8207         * c-common.h (enum attribute_flags): Move to tree.h.
8208         * c-format.c (decl_handle_format_attribute,
8209         decl_handle_format_arg_attribute): Rename to
8210         handle_format_attribute and handle_format_arg_attribute.  Update
8211         for table-driven attributes.
8212         * c-common.h (decl_handle_format_attribute,
8213         decl_handle_format_arg_attribute): Remove prototypes.
8214         (handle_format_attribute, handle_format_arg_attribute): Add
8215         prototypes.
8216         * c-decl.c (grokdeclarator): Handle attributes nested inside
8217         declarators.
8218         * c-parse.in (setattrs, maybe_setattrs): Remove.
8219         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
8220         Update to handle nested attributes properly.
8221         (maybe_resetattrs, after_type_declarator,
8222         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
8223         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
8224         properly.
8225         (make_pointer_declarator): Update to handle nested attributes
8226         properly.
8227         * doc/extend.texi: Update documentation of limits of attributes
8228         syntax.  Warn about problems with attribute semantics in C++.
8229         * target.h (struct target): Remove valid_decl_attribute and
8230         valid_type_attribute.  Add attribute_table and
8231         function_attribute_inlinable_p.
8232         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
8233         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
8234         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
8235         Add.
8236         (TARGET_INITIALIZER): Update.
8237         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
8238         definition.
8239         (function_attribute_inlinable_p): New function.  Check for the
8240         presence of any machine attributes before using
8241         targetm.function_attribute_inlinable_p.
8242         (function_cannot_inline_p): Update.
8243         * Makefile.in (integrate.o): Update dependencies.
8244         * doc/tm.texi: Update documentation of target attributes and
8245         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
8246         * tree.c (default_valid_attribute_p, valid_machine_attribute):
8247         Remove.
8248         (default_target_attribute_table,
8249         default_function_attribute_inlinable_p): New.
8250         (lookup_attribute): Update comment to clarify handling of multiple
8251         attributes with the same name.
8252         (merge_attributes, attribute_list_contained): Allow multiple
8253         attributes with the same name but different arguments to appear in
8254         the same attribute list.
8255         * tree.h (default_valid_attribute_p): Remove prototype.
8256         (struct attribute_spec): New.
8257         (default_target_attribute_table): Declare.
8258         (enum attribute_flags): Move from c-common.h.  Add
8259         ATTR_FLAG_TYPE_IN_PLACE.
8260         (default_function_attribute_inlinable_p): Declare.
8261         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
8262         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8263         (TARGET_ATTRIBUTE_TABLE): Define.
8264         (vms_attribute_table): New.
8265         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
8266         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8267         (TARGET_ATTRIBUTE_TABLE): Define.
8268         (arc_attribute_table, arc_handle_interrupt_attribute): New.
8269         * config/arm/arm.c (arm_valid_type_attribute_p,
8270         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
8271         Remove.
8272         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
8273         define.
8274         (TARGET_ATTRIBUTE_TABLE): Define.
8275         (arm_attribute_table, arm_handle_fndecl_attribute,
8276         arm_handle_isr_attribute): New.
8277         * config/avr/avr.c (avr_valid_type_attribute,
8278         avr_valid_decl_attribute): Remove.
8279         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
8280         define.
8281         (TARGET_ATTRIBUTE_TABLE): Define.
8282         (avr_attribute_table, avr_handle_progmem_attribute,
8283         avr_handle_fndecl_attribute): New.
8284         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
8285         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8286         (TARGET_ATTRIBUTE_TABLE): Define.
8287         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
8288         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
8289         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8290         (TARGET_ATTRIBUTE_TABLE): Define.
8291         (h8300_attribute_table, h8300_handle_fndecl_attribute,
8292         h8300_handle_eightbit_data_attribute,
8293         h8300_handle_tiny_data_attribute): New.
8294         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
8295         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
8296         Remove prototypes.
8297         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
8298         declarations.
8299         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
8300         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
8301         define.
8302         (TARGET_ATTRIBUTE_TABLE): Define.
8303         (ix86_attribute_table, ix86_handle_cdecl_attribute,
8304         ix86_handle_regparm_attribute): New.
8305         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
8306         i386_pe_valid_type_attribute_p): Remove.
8307         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
8308         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
8309         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8310         (TARGET_ATTRIBUTE_TABLE): Define.
8311         (ia64_attribute_table): New.
8312         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
8313         interrupt_ident2, model_ident1, model_ident2): Remove.
8314         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8315         (TARGET_ATTRIBUTE_TABLE): Define.
8316         (init_idents): Update.
8317         (m32r_attribute_table, m32r_handle_model_attribute): New.
8318         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
8319         Remove.
8320         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8321         (TARGET_ATTRIBUTE_TABLE): Define.
8322         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
8323         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
8324         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8325         (TARGET_ATTRIBUTE_TABLE): Define.
8326         (mcore_attribute_table, mcore_handle_naked_attribute): New.
8327         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
8328         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8329         (TARGET_ATTRIBUTE_TABLE): Define.
8330         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
8331         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
8332         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8333         (TARGET_ATTRIBUTE_TABLE): Define.
8334         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
8335         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
8336         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8337         (TARGET_ATTRIBUTE_TABLE): Define.
8338         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
8339         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
8340         New.
8341         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
8342         Remove.
8343         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
8344         (TARGET_ATTRIBUTE_TABLE): Define.
8345         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
8346         New.
8347         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
8348         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8349         (TARGET_ATTRIBUTE_TABLE): Define.
8350         (v850_attribute_table, v850_handle_interrupt_attribute,
8351         v850_handle_data_area_attribute): New.
8352         * config/v850/v850-c.c (mark_current_function_as_interrupt):
8353         Return void.  Call decl_attributes instead of
8354         valid_machine_attribute.
8355
8356 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
8357
8358         * sh-protos.h (sh_pr_n_sets): Declare.
8359         * sh.c (calc_live_regs): If the initial value for PR has been copied,
8360         look at the copy to determine if PR needs to be saved.
8361         sh_pr_n_sets: New function.
8362         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
8363         (ALLOCATE_INITIAL_VALUE): Define.
8364
8365         * sh.c (initial_elimination_offset):
8366         Fix RETURN_ADDRESS_POINTER_REGNUM case.
8367
8368 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
8369
8370         * integrate.c (allocate_initial_values): New function.
8371         * integrate.h (allocate_initial_values): Declare.
8372         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
8373         here...
8374         * reload1.c (reload): And initialization of reg_equiv_memory_loc
8375         from here...
8376         * toplev.c (rest_of_compilation): To here.
8377         Call allocate_initial_values.
8378         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
8379
8380 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8381
8382         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
8383
8384 2001-09-20  DJ Delorie  <dj@redhat.com>
8385
8386         * c-typeck.c (really_start_incremental_init): Discriminate
8387         between zero-length arrays and flexible arrays.
8388         (push_init_level): Detect zero-length arrays and handle them
8389         like fixed-sized arrays.
8390         * expr.c (store_constructor): Handle zero-length arrays and
8391         flexible arrays correctly.
8392         * doc/extend.texi: Update zero-length array notes.
8393
8394 2001-09-20  Jim Wilson  <wilson@redhat.com>
8395
8396         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
8397         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
8398         for issue port conflicts.
8399         (cycle_end_fill_slots): TYPE_L instructions take two slots.
8400
8401 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
8402
8403         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
8404         on ia64.
8405
8406 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8407
8408         * fold-const.c (hashtab.h): Include.
8409         (int_const_binop): Remove FORSIZE arg and compute from type; all
8410         callers changed.
8411         Call size_int_type_wide for all single-word constants.
8412         (size_htab_hash, size_htab_eq): New functions.
8413         (size_int_type_wide): Rework to use hash table.
8414         * ggc-common.c (hashtab.h): Include.
8415         (struct d_htab_root): New struct.
8416         (d_htab_roots): New variable.
8417         (ggc_add_deletable_htab, ggc_htab_delete): New functions
8418         (ggc_mark_roots): Handle deletable htabs.
8419         * ggc-page.c (ggc_marked_p): New function.
8420         * ggc-simple.c (ggc_marked_p): Likewise.
8421         * ggc.h: Reformatting throughout.
8422         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
8423         * tree.c (init_obstacks): Make type_hash_table a deletable root.
8424         (type_hash_add): Allocate struct type_hash from GC memory.
8425         (mark_hash_entry, mark_type_hash): Deleted.
8426         (type_hash_marked_p, type_hash_mark): New functions.
8427         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
8428
8429 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
8430
8431         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
8432         than SImode.
8433
8434 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8435
8436         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
8437         array-too-large test for signed sizetype.
8438
8439 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
8440
8441         * i386.md (indirect_jump): Allow Pmode operand.
8442         (tablejump): LIkewise; perform expansion to 64bit mode.
8443         * i386.c (symbolic_operand): Allow 64bit PIC references.
8444         (pic_symbolic_operand): Likewise.
8445         (ix86_find_base_term): Strip the 64bit PIC references.
8446         (legitimate_pic_address_disp_p): Handle 64bit PIC.
8447         (legitimize_pic_address): Likewise.
8448         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
8449         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
8450
8451 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
8452
8453         * stringpool.c (get_identifier_with_length): New function.
8454         * tree.h (get_identifier_with_length): New prototype.
8455
8456 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
8457             David Edelsohn  <edelsohn@gnu.org>
8458
8459         Revert:
8460         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
8461         already sign-extended.
8462
8463         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
8464         * config/rs6000/rs6000.c (logical_operand): Always compare op as
8465         HOST_WIDE_INT.
8466         (rs6000_emit_set_long_const): Avoid unnecessary shift.
8467         (output_profile_hook): Declare label_name const.
8468         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
8469         to match constraints.
8470
8471 2001-09-19  Stan Shebs  <shebs@apple.com>
8472
8473         * alias.c: Fix typos in comments.
8474         * sched-rgn.c (init_ready_list): Ditto.
8475         * unwind-dw2.c (uw_frame_state_for): Ditto.
8476         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
8477         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
8478         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
8479
8480 2001-09-19  Richard Henderson  <rth@redhat.com>
8481
8482         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
8483         to the exit block.
8484         * Makefile.in (cfg.o): Depend on TM_P_H.
8485
8486 2001-09-19  Richard Henderson  <rth@redhat.com>
8487
8488         * config/alpha/alpha.c (local_symbol_p): Split out from ...
8489         (local_symbolic_operand): ... here.
8490         (small_symbolic_operand): Check mode.
8491         (global_symbolic_operand): New.
8492         (input_operand): Reject symbolics if explicit relocs.
8493         (call_operand): Tidy.
8494         (alpha_legitimize_address): Use movdi_er_high_g.
8495         (alpha_expand_mov): Likewise.
8496         * config/alpha/alpha-protos.h: Update.
8497         * config/alpha/alpha.h (PREDICATE_CODES): Update.
8498         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
8499         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
8500         (UNSPECV_LDGP2): Remove.
8501         (all call patterns): Use 's' not 'i' for symbolic constraint.
8502         (call_osf call_value_osf): Use call_operand.
8503         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
8504         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
8505         (prologue_ldgp_1_er): Remove.
8506         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
8507         (builtin_setjmp_receiver_er patterns): Use them.
8508         (exception_receiver_er): Likewise.
8509
8510 2001-09-19  Richard Henderson  <rth@redhat.com>
8511
8512         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
8513
8514         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
8515         and NON_LOCAL_GOTO notes.
8516         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
8517         copy over CALL_INSN_FUNCTION_USAGE.
8518
8519 2001-09-18  Catherine Moore  <clm@redhat.com>
8520
8521         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
8522         Define as 0.
8523
8524 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
8525
8526         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
8527         new-style tm_file specification.  Specify correct tm_p_file,
8528         md_file, and out_file for s390x.
8529
8530         * config/s390/linux.h, linux64.h:  Don't include other target
8531         macro header files.  Now handled via tm_file.
8532
8533         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
8534         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
8535         are defined before use.
8536
8537 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
8538
8539         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
8540         code generation only for Gnu assembler.
8541
8542 2001-09-18  Catherine Moore  <clm@redhat.com>
8543
8544         * config/stormy16 (LIB_SPEC): Remove -lnosys.
8545
8546 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
8547
8548         * config/mips/mips.c (mips_frame_set): New.
8549         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
8550         a parallel frame-related expression with a set for each register.
8551
8552 2001-09-18  Philip Blundell  <philb@gnu.org>
8553
8554         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
8555         header files.
8556
8557 2001-09-17  Dale Johannesen  <dalej@apple.com>
8558
8559         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
8560         * config/rs6000/aix.h (FIXED_R2): Define.
8561         * config/rs6000/darwin.h (FIXED_R2): Define.
8562         * config/rs6000/sysv4.h (FIXED_R2): Define.
8563
8564 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
8565
8566         * except.c (dw2_build_landing_pads): New local
8567         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
8568         barrier after clobbers.  Fixes c++/4012.
8569
8570 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8571
8572         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
8573
8574 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
8575
8576         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
8577         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
8578
8579 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8580
8581         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
8582         alloca/strcpy.
8583
8584 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8585
8586         * cpphash.h (_cpp_lex_direct): New.
8587         * cpplex.c (_cpp_lex_token): Update.
8588         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
8589         and increment that pointer.
8590         * cppmacro.c (alloc_expansion_token): New.
8591         (lex_expansion_token): Lex macro expansion directly into
8592         macro storage.
8593
8594 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
8595
8596         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
8597
8598 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
8599
8600         * basic-block.h (free_bb_for_insn): Declare.
8601         * bb-reorder.c (label_for_bb): Use block_label.
8602         (emit_jump_to_block_after): Remove.
8603         (insert_intra_1): Do not update block_for_insn.
8604         (insert_inter_bb_scope_notes): Likewise; update bb->end
8605         * cfg.c (free_bb_for_insn): New.
8606         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
8607         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
8608         (commit_one_edge_insertion): Likewise.
8609         (commit_one_edge_insertion): Do not update BB boundary.
8610         (commit_edge_insertions): Do not call compute_bb_for_insn.
8611         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
8612         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
8613         (merge_blocks_move_successor_nojumps): Likewise.
8614         (try_crossjump_to_edge): Do not update block_for_insn.
8615         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
8616         * df.c (df_pattern_emit_later): Do not update BB boundary.
8617         (df_jump_pattern_emit_after): Likewise.
8618         (df_insn_move_before): Use emit_insn_before.
8619         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
8620          properly.
8621         (add_insn_after, add_insn_before, emit_insns_after): Update BB
8622         boundaries and basic_block_for_insn.
8623         (reorder_insns_nobb): Rename from reorder_insns.
8624         (reorder_insns): New.
8625         (emit_block_insn_before, emit_block_insn_after): Kill.
8626         * flow.c (check_function_return_warnings): Do not call
8627         compute_bb_for_insn; Do not free basic_block_for_insn.
8628         (attempt_auto_inc): Do not update basic_block_for_insn.
8629         * function.c (emit_return_into_block): Likewise;
8630         do not update BB boundaries.
8631         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
8632         (insert_insn_end_bb): Use emit_insn_before; Likewise.
8633         (pre_insert_copy_insn): Likewise.
8634         (update_ld_motion_notes): Likewise.
8635         (insert_insn_start_bb): Likewise.
8636         (replace_store_insn): Likewise.
8637         * ifcvt.c (noce_process_if_block): Likewise.
8638         (if_convert): Do not call compute_bb_for_insn.
8639         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
8640         Use emit_insn_before and emit_insn_after.
8641         * recog.c (split_all_insns): Do not update BB boundaries;
8642         Do not call compute_bb_for_insn.
8643         (peephole2_optimize): Do not update BB boundaries.
8644         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
8645         emit_insn_before.
8646         (emit_swap_insn): Likewise.
8647         (convert_regs_1): Likewise.
8648         * reload1.c (reload): Call compute_bb_for_insn.
8649         * rtl.h (reorder_insns_nobb): Declare.
8650         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
8651         * toplev.c (rest_of_compilation): Call free_bb_for_insn
8652         at places CFG is invalidated; do not call compute_bb_for_insn.
8653
8654         * cfg.c (expunge_block): Invalidate BB structure.
8655
8656         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
8657         array.
8658
8659         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
8660
8661 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
8662
8663         * cpphash.h (_cpp_lex_token): Update prototype.
8664         * cpplex.c (_cpp_lex_token): New prototype.
8665         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
8666         lex_macro_node, read_flag, do_pragma_poison): Update.
8667         * cppmacro.c (cpp_get_token, parse_params,
8668         lex_expansion_token): Update.
8669
8670 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
8671
8672         * cppmain.c (scan_translation_unit): Don't worry about
8673         putting a space after hashes.
8674         * cpplib.c (directive_diagnostics): New.
8675         (_cpp_handle_directive): Update to use directive_diagnostics.
8676         (run_directive): Don't toggle prevent_expansion.
8677         (do_line): Backup in case of the line extension.
8678         * cpplib.h (cpp_lexer_pos): Remove.
8679         * cppmacro.c (_cpp_create_definition): Precede a leading #
8680         with whitespace.
8681
8682 2001-09-15  Richard Henderson  <rth@redhat.com>
8683
8684         * c-typeck.c (comptypes): Handle zero-length arrays properly.
8685
8686 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8687
8688         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
8689
8690 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8691
8692         PR preprocessor/3571
8693         * tradcpp.c (handle_directive): Skip non-vertical space.
8694
8695 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8696
8697         * cppmain.c (setup_callbacks): Set line callback only
8698         if outputting preprocessed source.
8699
8700 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8701
8702         * collect2.c (main): Const-ification.
8703         * gcc.c (translate_options, process_command): Use xstrdup in
8704         lieu of xmalloc/strcpy.
8705         (main): Use concat in lieu of xmalloc/strcpy/strcat.
8706
8707 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8708
8709         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
8710         example.
8711
8712 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8713
8714         * scan-decls.c (scan_decls): Fix typo.
8715
8716 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8717
8718         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
8719         Split mlstring_pos into mls_line and mls_col.
8720         * cppinit.c (cpp_create_reader): Initialize line to 1.
8721         (cpp_destroy): Free tokenruns.
8722         (push_include): Don't update lexer_pos.
8723         * cpplex.c (unterminated, parse_string): Update.
8724         (lex_token): Don't update lexer_pos, update.
8725         * cpplib.c (if_stack): Save line instead of line + col.
8726         (start_directive, _cpp_do__Pragma, do_else, do_elif,
8727         push_conditional, _cpp_pop_buffer): Update.
8728         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
8729         (_cpp_create_definition): Update.
8730
8731 2001-09-15  Eric Christopher  <echristo@redhat.com>
8732
8733         * config/mips/abi64.h: Add support for MEABI.
8734
8735 2001-09-15  Eric Christopher  <echristo@redhat.com>
8736
8737         * config/mips/mips.md: Add unspec #2.
8738         (reload_indi): Use.
8739         (reload_outdi): Ditto.
8740         (reload_outsi): Ditto.
8741         (HILO_delay): New.
8742
8743 2001-09-15  Eric Christopher  <echristo@redhat.com>
8744             Jason Eckhardt  <jle@redhat.com>
8745
8746         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
8747         * config/mips/isa32-linux.h: New file.
8748         * config/mips/isa3264.h: Ditto.
8749         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
8750         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
8751         (output_block_mode): Support MEABI.
8752         (function_arg): Ditto. Fix floating point arg passing.
8753         (mips_va_start): Ditto.
8754         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
8755         processors.
8756         (mips_asm_file_start): Add new section to pass abi to gdb.
8757         (function_arg_pass_by_reference): Support MEABI.
8758         (mips_parse_cpu): Support mips32 and mips64 processors.
8759         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
8760         TARGET_MIPS5KC.  Support isa32 and isa64.
8761         (processor_type): Add r4kc, r5kc, r20kc.
8762         (GENERATE_MULT3_SI): New.
8763         (GENERATE_MULT3_DI): Ditto.
8764         (GENERATE_MULT3): Remove.
8765         (ISA_HAS_64BIT_REGS): Add isa == 64.
8766         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
8767         (ISA_HAS_MADD_MSUB): New.
8768         (ISA_HAS_CLZ_CLO): Ditto.
8769         (ISA_HAS_DCLZ_DCLO): Ditto.
8770         (ABI_GAS_ASM_SPEC): New.
8771         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
8772         (ASM_SPEC): Ditto.
8773         (LINK_SPEC): Ditto.
8774         (SUBTARGET_CC1_SPEC): Ditto.
8775         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
8776         (PAD_VARARGS_DOWN): Support MEABI.
8777         (HARD_REGNO_NREGS): Move to mips.c.
8778         (ASM_OUTPUT_IDENT): Add #undef.
8779         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
8780         (mulsi3): Use GENERATE_MULT3_SI.
8781         (mulsi3_mult3): Ditto.  Support mips32, mips64.
8782         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
8783         (mul_sub_si): New pattern.
8784         (unnamed splitters): New.
8785         (muldi3): Use GENERATE_MULT3_DI.
8786         (muldi3_internal2): Ditto.
8787         (movdicc): Support mips32.
8788         * config/mips/t-isa3264: New file.
8789
8790 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
8791
8792         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
8793         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
8794         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
8795
8796         * reorg.c (fill_slots_from_thread): After call to
8797         steal_delay_list_from_target, update own_thread as new_thread may
8798         have branched.
8799
8800 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8801
8802         * cpperror.c (print_location): Take line and column, for
8803         default positioning use the previously lexed token.
8804         (_cpp_begin_message): Take line and column.
8805         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
8806         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
8807         * cpphash.h (_cpp_begin_message): Update prototype.
8808         * cppinit.c (push_include): Don't set output line.
8809         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
8810         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
8811         (do_pragma): Kludge for front ends.  Don't expand macros at all.
8812         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
8813         (struct cpp_token): Remove output_line.
8814         (struct cpp_callbacks): New member line_change.
8815         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
8816         cpp_get_token): Preserve BOL flag.
8817         (cpp_get_line): Remove.
8818         (_cpp_backup_tokens): Remove useless abort().
8819         * cppmain.c (cb_line_change): New.
8820         (scan_translation_unit): Don't worry about starting new lines here.
8821         * scan-decls.c (scan_decls): Update.
8822         * c-lex.c (c_lex, init_c_lex): Update.
8823         (cb_line_change, src_lineno): New.
8824
8825 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
8826
8827         * tree.c (append_random_chars): Generate the random
8828         characters in a reproducable fashion.
8829
8830 2001-09-14  Richard Henderson  <rth@redhat.com>
8831
8832         * config/i386/i386.c (internal_label_prefix): New.
8833         (internal_label_prefix_len): New.
8834         (override_options): Set them.
8835         (local_symbolic_operand): New.
8836         (legitimate_pic_address_disp_p): Use it.
8837         (legitimize_pic_address): Likewise.
8838
8839 2001-09-14  Marc Espie <espie@openbsd.org>
8840
8841         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
8842         correctly.
8843
8844 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
8845
8846         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
8847         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
8848
8849 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
8850
8851         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
8852         invocation of SUBREG_REGNO_OFFSET.
8853
8854         * haifa-sched.c: Fix typo in FSF copyright statement.
8855         * sched-deps.c: Fix typo in FSF copyright statement.
8856         * sched-ebb.c: Fix typo in FSF copyright statement.
8857         * sched-rgn.c: Fix typo in FSF copyright statement.
8858         * sched-vis.c: Fix typo in FSF copyright statement.
8859
8860         * config.gcc: Move inclusion of arm elf specific header files
8861         from the files themselves into the tm_file variable.  Make
8862         sure that elfos.h is included before target specific elf
8863         headers.
8864         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
8865         already defined.
8866         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
8867         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
8868         ASM_OUTPUT_CASE_LABEL): Protect definition.
8869         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
8870         not already defined.
8871         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
8872         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
8873         Remove duplicate definition.
8874         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
8875         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
8876         (RDATA_SECTION_FUNCTION): Remove redundant definition.
8877         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
8878         Remove inclusion of arm/elf.h.
8879         * config/arm/unknown-elf.h: as for conix-elf.h.
8880         (STARTFILE_SPEC): Include crti.o and crtn.o.
8881         * config/arm/linux-elf.h: as for conix-elf.h.
8882         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
8883         * config/arm/strongarm-elf.h: Remove inclusion of
8884         unknown-elf.h.
8885         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
8886         * config/arm/unknown-elf-oabi.h: Remove inclusion of
8887         unknown-elf.h and elf.h.
8888         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
8889         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
8890         ASM_WEAKEN_LABEL): Remove redundant definition.
8891         * config/arm/elf.h: Test for inclusion of elfos.h
8892         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
8893         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
8894         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
8895         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
8896         redundant definition.
8897         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
8898         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
8899         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
8900         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
8901         Add rules to build crti.o and crtn.o
8902         * crti.asm: New file.
8903         * crtn.asm: New file.
8904
8905 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
8906
8907         * c-parse.in (_yylex): Use _cpp_backup_tokens.
8908         * cpphash.h (struct tokenrun): Add prev.
8909         (struct lexer_state): Remove bol.
8910         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
8911         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
8912         : Remove.
8913         * cppinit.c (cpp_create_reader): Don't set bol.
8914         (cpp_destroy): Don't free lookaheads.
8915         * cpplex.c (lex_directive): Remove.
8916         (next_tokenrun): Update.
8917         (_cpp_lex_token): Clean up logic.
8918         (lex_token): Update to return a pointer to lexed token, since it
8919         can move to the start of the buffer.  Simpify newline handling.
8920         * cpplib.c (SEEN_EOL): Update.
8921         (skip_rest_of_line): Remove lookahead stuff.
8922         (end_directive): Line numbers are already incremented.  Revert
8923         to start of lexed token buffer if we can.
8924         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
8925         parse_answer): Use _cpp_backup_tokens.
8926         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
8927         instead.  Don't check for EOL.
8928         (do_include_common, do_line, do_pragma_system_header): Use
8929         skip_rest_of_line.
8930         * cpplib.h (BOL, _cpp_backup_tokens): New.
8931         * cppmacro.c (save_lookahead_token, take_lookahead_token,
8932         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
8933         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
8934         (builtin_macro): Don't use cpp_get_line.
8935         (cpp_get_line): Short term kludge.
8936         (parse_arg): Handle directives in arguments here.  Back up when
8937         appropriate.  Store EOF at end of argument list.
8938         (funlike_invocation_p): Use _cpp_backup_tokens.
8939         (push_arg_context): Account for EOF at end of list.
8940         (cpp_get_token): Remove lookahead stuff.  Update.
8941
8942 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8943
8944         * c-parse.in (yyerror): Const-ification and/or static-ization.
8945         * c-typeck.c (push_member_name): Likewise.
8946         * collect2.c (main): Likewise.
8947         * dbxout.c (dbxout_parms): Likewise.
8948         * diagnostic.c (format_with_decl): Likewise.
8949         * dwarf2out.c (output_ranges): Likewise.
8950         * dwarfout.c (fundamental_type_code): Likewise.
8951         * except.c (dw2_output_call_site_table): Likewise.
8952         * gcc.c (do_spec_1): Likewise.
8953         * genopinit.c (optabs): Likewise.
8954         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
8955         gen_declaration_1, handle_impent): Likewise.
8956         * protoize.c (default_include, in_system_include_dir, abspath):
8957         Likewise.
8958         * sched-vis.c (visualize_stall_cycles): Likewise.
8959         * sdbout.c (plain_type_1, sdbout_end_function,
8960         sdbout_end_epilogue): Likewise.
8961         * varasm.c (decode_reg_name): Likewise.
8962
8963         * 1750a.c (mod_regno_adjust): Likewise.
8964         * alpha.c (alpha_write_one_linkage,
8965         unicosmk_output_default_externs): Likewise.
8966         * arm.c (arm_condition_codes): Likewise.
8967         * arm.h (arm_condition_codes): Likewise.
8968         * avr.c (output_movsisf, encode_section_info): Likewise.
8969         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
8970         Likewise.
8971         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
8972         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
8973         * m88k.c (output_function_profiler): Likewise.
8974         * mips.c (mips_output_conditional_branch): Likewise.
8975         * ns32k.c (ns32k_out_reg_names): Likewise.
8976         * ns32k.h (ns32k_out_reg_names): Likewise.
8977         * pj.c (pj_output_rval): Likewise.
8978         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
8979         * sparc.c (sparc_flat_function_prologue,
8980         sparc_flat_function_epilogue): Likewise.
8981
8982 2001-09-13  Markus Werle <numerical.simulation@web.de>
8983             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8984
8985         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
8986         Aachen University of Technology".
8987
8988 2001-09-13  Andreas Schwab  <schwab@suse.de>
8989
8990         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
8991         C99.
8992
8993 2001-09-13  Richard Henderson  <rth@redhat.com>
8994
8995         * config/alpha/alpha.c (small_symbolic_operand): New.
8996         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
8997         (some_operand, input_operand): Don't handle HIGH.
8998         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
8999         (alpha_expand_mov): Likewise.
9000         (print_operand) [H]: Just print HIGH symbol.
9001         (print_operand_address): Handle small data.
9002         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
9003         (TARGET_SWITCHES): Add -msmall-data/large-data.
9004         (PIC_OFFSET_TABLE_REGNUM): New.
9005         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
9006         (PREDICATE_COES): Update.
9007         * config/alpha/alpha.md (adddi_er_high): New.
9008         (adddi_er_low): Handle small data.
9009         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
9010         prefer .sdata to .rodata.
9011         (SELECT_RTX_SECTION): Likewise.
9012
9013 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
9014
9015         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
9016         defining __size_t and leaving size_t undefined.
9017
9018 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
9019
9020         * basic-block.h (expunge_block): Declare.
9021         * cfg.c (expunge_block): Remove static declaration.
9022
9023 2001-09-12  Richard Henderson  <rth@redhat.com>
9024
9025         * integrate.c (copy_insn_list): Copy label name from
9026         NOTE_INSN_DELETED_LABEL.
9027
9028 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9029
9030         * c-common.c (c_tree_code_name): Const-ification.
9031         * c-decl.c (c_decode_option): Likewise.
9032         * c-typeck.c (warn_for_assignment): Likewise.
9033         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
9034         Likewise.
9035         * cppinit.c (output_deps): Likewise.
9036         * dependence.c (dependence_string, direction_string): Likewise.
9037         * dwarf2out.c (output_ranges): Likewise.
9038         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
9039         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
9040         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
9041         standard_startfile_prefix, standard_startfile_prefix_1,
9042         standard_startfile_prefix_2, tooldir_base_prefix,
9043         standard_bindir_prefix, find_a_file): Likewise.
9044         * genattrtab.c (make_length_attrs): Likewise.
9045         * gencheck.c (tree_codes): Likewise.
9046         * genemit.c (gen_split): Likewise.
9047         * genrecog.c (special_mode_pred_table): Likewise.
9048         * graph.c (graph_ext): Likewise.
9049         * protoize (default_include): Likewise.
9050         * reload.c (reload_when_needed_name): Likewise.
9051         * sched-vis.c (visualize_stall_cycles): Likewise.
9052         * tlink.c (recompile_files): Likewise.
9053         * toplev.c (decode_g_option): Likewise.
9054         * tradcpp.c (output_deps): Likewise.
9055         * varasm.c (decode_reg_name): Likewise.
9056
9057         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
9058         Const-ification.
9059         * arm.md: Likewise.
9060         * avr.c (avr_regnames, encode_section_info): Likewise.
9061         * c4x.c (float_reg_names): Likewise.
9062         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
9063         * elfos.h (const_section): Likewise.
9064         * i386.c (ix86_comp_type_attributes): Likewise.
9065         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
9066         * ia64/aix.h (UNIQUE_SECTION): Likewise.
9067         * ia64.c (type_names): Likewise.
9068         * m68hc11.c (reg_class_names): Likewise.
9069         * m88k.c (m_options): Likewise.
9070         * mips.c (mips_output_conditional_branch, mips_unique_section):
9071         Likewise.
9072         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9073         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
9074         ultra_code_names): Likewise.
9075         * sparc.h (OVERRIDE_OPTIONS): Likewise.
9076
9077 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
9078
9079         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
9080         Use --fatal-warnings option for gas.
9081         * configure: Rebuilt.
9082
9083 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9084
9085         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
9086
9087 2001-09-11  Jim Wilson  <wilson@redhat.com>
9088
9089         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
9090
9091 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9092
9093         * builtins.c (c_strlen): Treat an offset too large for a
9094         HOST_WIDE_INT as out of range.
9095
9096 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
9097
9098         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
9099         (EDGE_CRITICAL_P): New predicate.
9100         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
9101         handling.
9102         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
9103         (dump_edge_info): Remove "crit".
9104         * cfganal.c (mark_critical_edges): Kill.
9105         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
9106         * cfgcleanup.c (cleanup_cfg): Likewise.
9107         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
9108         (find_spanning_tree): Likewise.
9109         * reg-stack.c (convert_regs_1): Likewise.
9110         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
9111
9112         * basic-block.h (create_basic_block_structure): New.
9113         (create_basic_block): Update prototype.
9114         (force_nonfallthru): New.
9115         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
9116         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
9117         handle updating of block_for_insn, creating of empty BBs and BBs at
9118         the end of INSN chain.
9119         (create_basic_block): New function.
9120         (split_block): Use create_basic_block.
9121         (force_nonfallthru_and_redirect): Break out from ...; cleanup
9122         (redirect_edge_and_branch_force): ... here.
9123         (force_nonfallthru): New.
9124         (split_edge): Rewrite to use force_nonfallthru and create_block.
9125         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
9126         (find_basic_blocks): Free basic_block_for_insn.
9127         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
9128
9129         * cfg.c: Fix formating.
9130         * cfgcleanup.c: Fix formating.
9131         (merge_blocks, tail_recursion_label_p): Return bool.
9132         (merge_blocks_move_predecessor_nojumps,
9133          merge_blocks_move_successor_nojumps): Return void.
9134
9135 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
9136
9137         * configure.in: Check whether assembler supports section merging.
9138         * config.in: Rebuilt.
9139         * configure: Rebuilt.
9140         * varasm.c (variable_section, output_constant_pool): Pass alignment
9141         to SELECT_SECTION and SELECT_RTX_SECTION.
9142         (mergeable_string_section): New.
9143         (mergeable_constant_section): New.
9144         (default_elf_asm_named_section): Output SECTION_MERGE and
9145         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
9146         * output.h (mergeable_string_section): New.
9147         (mergeable_constant_section): New.
9148         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
9149         * toplev.c (flag_merge_constants): New.
9150         (f_options): Add -fmerge-constants and -fmerge-all-constants
9151         options.
9152         (toplev_main): Default to -fno-merge-constants if not optimizing.
9153         * flags.h (flag_merge_constants): Add extern.
9154         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
9155         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
9156         argument.
9157         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
9158         Define if assembler has working .subsection -1 support.
9159         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
9160         Put constant into special SHF_MERGE sections if the linker should
9161         attempt to merge duplicates.
9162         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
9163         macro argument.
9164         Put constant into special SHF_MERGE sections if the linker should
9165         attempt to merge duplicates.
9166         * config/alpha/elf.h: Likewise.
9167         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
9168         has working .subsection -1 support.
9169         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
9170         SELECT_SECTION.
9171         * config/svr3.h: Likewise.
9172         * config/darwin.h: Likewise.
9173         * config/arm/aof.h: Likewise.
9174         * config/arm/linux-elf.h: Likewise.
9175         * config/avr/avr.h: Likewise.
9176         * config/c4x/c4x.h: Likewise.
9177         * config/d30v/d30v.h: Likewise.
9178         * config/i386/dgux.h: Likewise.
9179         * config/i386/osfrose.h: Likewise.
9180         * config/i386/sco5.h: Likewise.
9181         * config/i386/svr3gas.h: Likewise.
9182         * config/ia64/aix.h: Likewise.
9183         * config/m32r/m32r.h: Likewise.
9184         * config/m68k/m68k.h: Likewise.
9185         * config/m88k/dgux.h: Likewise.
9186         * config/m88k/m88k.h: Likewise.
9187         * config/mcore/mcore-pe.h: Likewise.
9188         * config/mips/mips.h: Likewise.
9189         * config/pa/pa.h: Likewise.
9190         * config/pa/pa-linux.h: Likewise.
9191         * config/romp/romp.h: Likewise.
9192         * config/rs6000/sysv4.h: Likewise.
9193         * config/rs6000/xcoff.h: Likewise.
9194         * config/s390/linux.h: Likewise.
9195         * config/sparc/sparc.h: Likewise.
9196         * config/sparc/sysv4.h: Likewise.
9197         * config/stormy16/stormy16.h: Likewise.
9198         * config/v850/v850.h: Likewise.
9199         * config/vax/vms.h: Likewise.
9200         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
9201         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
9202         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
9203         default_elf_asm_named_section for SHF_MERGE sections.
9204
9205 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9206
9207         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
9208         is OK.
9209
9210 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
9211
9212         * c-common.c (split_specs_attrs): Allow for empty attributes with
9213         empty TREE_PURPOSE.  Fixes PR c/4294.
9214
9215 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
9216
9217         * basic-block.h (cached_make_edge, make_single_succ): New.
9218         (make_edge): Remove first parameter.
9219         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
9220         * cfg.c (cached_make_edge): Rename from make_edge; return newly
9221         created edge; use obstack allocation.
9222         (make_edge, make_single_succ_edge): New.
9223         (first_removed_edge): New static variable.
9224         (init_flow): Initialize first_removed_edge and n_edges.
9225         (clear_edges): Use remove_edge.
9226         (flow_delete_block): Likewise.
9227         (remove_edge): Add removed edges to the removed edges list.
9228         (split_block, redirect_edge_and_branch_force, split_edge):
9229         Use make_edge.
9230         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
9231         (add_noreturn_fake_exit_edges): Likewise.
9232         (connect_infinite_loops_to_exit): Liekwise.
9233         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
9234         Use cached_make_edge.
9235         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
9236         * profile.c (branch_prob): Update make_edge call.
9237         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
9238
9239 2001-09-11  Richard Henderson  <rth@redhat.com>
9240
9241         * config/alpha/alpha.c: Tidy formatting.
9242         (local_symbolic_operand): Verify mode.
9243         (alpha_sa_mask): Ignore unicos for eh_return.
9244         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
9245         * config/alpha/alpha.md (umk divsi patterns): Remove.
9246         (extendsfdf2): Remove unicos check.
9247         (tablejump): Merge vms and unicos code; always use direct set
9248         plus label_ref use.
9249
9250 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9251
9252         * config.gcc (alpha*-*-unicosmk*): New target.
9253
9254         * config/alpha/alpha-protos.h (symbolic_operand,
9255         unicosmk_add_call_info_word, unicosmk_add_extern,
9256         unicosmk_defer_case_vector, unicosmk_unique_section,
9257         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
9258         unicosmk_asm_file_start, unicosmk_asm_file_end,
9259         unicosmk_output_common): Declare.
9260
9261         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
9262         direct_return, function_arg, alpha_va_start, alpha_va_arg,
9263         alpha_does_function_need_gp, alpha_end_function): Support Cray
9264         Unicos/Mk.
9265         (alpha_init_machine_status, alpha_mark_machine_status,
9266         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
9267         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
9268         unicosmk_asm_named_section, unicosmk_insert_attributes,
9269         unicosmk_section_type_flags, symbolic_operand,
9270         unicosmk_output_module_name, unicosmk_output_default_externs,
9271         unicosmk_output_dex, unicosmk_output_externs,
9272         unicosmk_output_addr_vec, unicosmk_ssib_name,
9273         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
9274         unicosmk_asm_file_end, unicosmk_output_common,
9275         unicosmk_section_type_flags, unicosmk_unique_section,
9276         unicosmk_add_call_info_word, unicosmk_text_section,
9277         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
9278         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
9279         unicosmk_dex_count, unicosmk_special_name): New.
9280         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
9281         TARGET_ABI_UNICOSMK.
9282         (get_aligned_mem, alpha_expand_unaligned_load,
9283         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
9284         alpha_expand_unaligned_store_words): Support big-endian mode.
9285         (print_operand): Likewise. New format specifier 't'. Use
9286         TARGET_AS_SLASH_BEFORE_SUFFIX.
9287         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
9288         (alpha_pv_save_size): Update with above change.
9289         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
9290         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
9291         Unicos/Mk.
9292
9293         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
9294         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
9295         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
9296         (EXTRA_CONSTRAINT): New constraint 'U'.
9297         (PREDICATE_CODES): Add symbolic_operand.
9298
9299         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
9300         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
9301         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
9302         (integer division and modulus patterns): Split in default and
9303         Unicos/Mk versions.
9304         (*divmodsi_internal, *divmoddi_internal): Disable for
9305         TARGET_ABI_UNICOSMK.
9306         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
9307         little-endian and big-endian versions.
9308         (ext, ins, msk): Likewise.
9309         (extv, extzv, insv): Support big-endian mode.
9310         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
9311         (call_umk, call_value_umk, *call_umk, tablejump_umk,
9312         *tablejump_umk_internal, *call_value_umk): New.
9313         (*movdi_nofix): Add pattern for loading an address into a register on
9314         TARGET_ABI_UNICOSMK.
9315         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
9316         (umk_mismatch_args, arg_home_umk): New.
9317         (various insns): Don't use mov, fmov, nop, fnop and unop.
9318         (realign): Support TARGET_ABI_UNICOSMK.
9319
9320         * config/alpha/unicosmk.h: New file.
9321         * config/alpha/t-unicosmk: New file.
9322
9323         * fixinc/inclhack.def (unicosmk_restrict): New.
9324         * fixinc/fixincl.x: Regenerate.
9325
9326         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
9327         (wchar_t): Check for and define __WCHAR_T__.
9328
9329 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
9330
9331         * combine.c (simplify_shift_const): Treat shifts by the mode
9332         size as undefined.
9333
9334 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9335
9336         * cpphash.h (struct tokenrun): New.
9337         (struct cpp_context): New member bol.
9338         (struct cpp_reader): New members.
9339         (_cpp_init_tokenrun): New.
9340         * cppinit.c (cpp_create_reader): Set up the token runs.
9341         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
9342         (lex_token): New internalised version of _cpp_lex_token.  Don't
9343         handle directives or the multiple include optimization here any
9344         more.  Simply lex a token.
9345         * cpplib.c (run_directive): Clear bol.
9346         (_cpp_pop_buffer): Set bol.
9347         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
9348         arguments.
9349
9350 2001-09-11  Michael Meissner  <meissner@redhat.com>
9351
9352         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
9353         give an error if the user uses -mfp32.
9354         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
9355         default options.
9356         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
9357         floating point register size.
9358         (EXTRA_SPECS): Add CPP_FPR_SPEC.
9359
9360         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
9361         HOST_WIDE_INT_PRINT_DEC to properly print the result of
9362         int_size_in_bytes.
9363         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
9364         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
9365
9366 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
9367
9368         * dbxout.c (dbxout_parms): Fix typo in comment.
9369         * unroll.c (loop_find_equiv_value): Ditto.
9370         * toplev.c (rest_of_compilation): Ditto.
9371         * loop.c (scan_loop): Ditto.
9372         * dwarf2out.c (struct dw_fde_struct): Ditto.
9373
9374 2001-09-10  Zack Weinberg  <zackw@panix.com>
9375
9376         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
9377         copying identifier when we're just going to throw it away.
9378         (parse_identifier_slow): New routine to handle abnormal cases.
9379         (_cpp_lex_token): Update call site.
9380
9381         * hashtable.c (ht_lookup): Don't assume that the string we've
9382         been given is NUL-terminated.
9383         * system.h: #define __builtin_expect(a, b) to (a) if not
9384         GCC >=3.0.
9385
9386 2001-09-10  Michael Meissner  <meissner@redhat.com>
9387
9388         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
9389         binutils, gdb.
9390
9391 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
9392
9393         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
9394
9395 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9396
9397         * builtins.c (c_getstr): Correct thinko in last change and further
9398         cleanup.
9399
9400 2001-09-10  Tim Freeman <tim@fungibole.com>
9401
9402         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
9403         into varray's and register them as roots with the garbage
9404         collector so they are not collected too soon.
9405
9406 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
9407
9408         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
9409         New.
9410         * basic-block.h (flow_obstack, label_value_list,
9411         tail_recursion_label_list): Declare
9412         (tidy_fallthru_edges): Declare.
9413         (expunge_block, last_loop_beg_note): Delete.
9414         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
9415         * cfg.c: New file
9416         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
9417         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
9418         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
9419         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
9420         expunge_block, flow_delete_block, compute_bb_for_insn,
9421         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
9422         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
9423         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
9424         try_redirect_by_replacing_jump, last_loop_beg_note,
9425         redirect_edge_and_branch, redirect_edge_and_branch_force,
9426         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
9427         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
9428         commit_edge_insertions, dump_flow_info, debug_flow_info,
9429         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
9430         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
9431         Move here from flow.c
9432         * cfganal.c: New file.
9433         (forwarder_block_p, can_fallthru, mark_critical_edges,
9434          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
9435          find_unreachable_blocks, create_edge_list, free_edge_list,
9436          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
9437          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
9438          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
9439          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
9440          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
9441          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
9442         Move here from flow.c
9443         * cfgbuild.c: New file
9444         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
9445          make_edges, find_basic_blocks_1, find_basic_blocks,
9446          find_sub_basic_blocks): Move here from flow.c
9447         * cfgcleanup.c: New file.
9448         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
9449          merge_blocks_move_predecessor_nojumps,
9450          merge_blocks_move_successor_nojumps, merge_blocks,
9451          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
9452          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
9453         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
9454         if succeeded.
9455         * cfgloop.c: New file
9456         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
9457          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
9458          flow_loop_exit_edges_find, flow_loop_nodes_find,
9459          flow_loop_pre_header_scan, flow_loop_pre_header_find,
9460          flow_loop_tree_node_add, flow_loops_tree_build,
9461          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
9462          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
9463         Move here from flow.c
9464         * flow.c: Remove everything moved elsewhere
9465         * output.h (cleanup_cfg): Return bool.
9466
9467         * bb-reorder.c (reorder_block_def): Remove 'index'.
9468         (insert_intra_1): Add argument BB, set block for new note.
9469         (make_reorder_chain): Do not depdent on BB indexes.
9470         (make_reorder_chain_1): Do not use BB indexes.
9471         (label_for_bb): Likewise; set BB for new insn.
9472         (emit_jump_to_block_after): Likewise.
9473         (fixup_reorder_chain): Sanity check that all basic blocks
9474         are chained; verify newly created insn chain; remove
9475         undocnitional jump simplifying; Do not use BB indexes;
9476         properly initialize count and frequency information;
9477         dump reordered sequence.
9478         (insert_intra_bb_scope_notes): update call of insert_intra_1.
9479         (insert_inter_bb_scope_notes): Set block for new insn.
9480         (reorder_basic_blocks): Dump flow info before reoredering.
9481
9482 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9483
9484         * alias.c (clear_reg_alias_info): Use K&R format definition.
9485         Avoid unsigned warning.
9486         * builtins.c: Use "unsigned int", not "unsigned".
9487         (target_char_cast): Use host_integerp and tree_low_cst.
9488         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
9489         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
9490         (c_getstr): Likewise.
9491         (std_expand_builtin_va_arg): Use int_size_in_bytes.
9492         (builtin_memcpy_read_str): Avoid unsigned warning.
9493         (expand_builtin_memcpy): Alignments are unsigned.
9494         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
9495         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
9496         * predict.c (expensive_function_p): LIMIT now unsigned.
9497         * resource.c (mark_target_live_regs): Make some vars unsigned.
9498         * sdbout.c: Use "unsigned int", not "unsigned".
9499         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
9500         (sdbout_source_line): Likewise.
9501         (sdbout_record_type_name): Remove "const" for NAME declaration.
9502         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
9503
9504 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
9505
9506         * calls.c (store_one_arg): Expand comment.
9507
9508 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9509
9510         * calls.c (store_one_arg): Make sure that the entire argument is
9511         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
9512
9513 2001-09-09  Richard Henderson  <rth@redhat.com>
9514
9515         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
9516
9517 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
9518
9519         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
9520
9521 2001-09-09  Richard Henderson  <rth@redhat.com>
9522
9523         * config/alpha/alpha.c (alpha_next_sequence_number): New.
9524         (alpha_this_literal_sequence_number): New.
9525         (alpha_this_gpdisp_sequence_number): New.
9526         (some_operand, input_operand): Add HIGH.
9527         (local_symbolic_operand): New.
9528         (alpha_encode_section_info): New.
9529         (alpha_legitimate_address_p): Allow LO_SUM.
9530         (alpha_legitimize_address): Generate HIGH+LO_SUM.
9531         (alpha_expand_mov): Likewise.
9532         (secondary_reload_class): Check memory_operand not general_operand
9533         for FP_REGS test.
9534         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
9535         (alpha_expand_unaligned_store): Likewise.
9536         (alpha_expand_unaligned_load_words): Likewise.
9537         (alpha_expand_unaligned_store_words): Likewise.
9538         (alpha_expand_block_clear): Likewise.
9539         (print_operand): Handle %#, %*, %H.
9540         (print_operand_address): Handle LO_SUM.
9541         (find_lo_sum): New.
9542         (alpha_does_function_need_gp): Use it.
9543         (alpha_expand_block_move): Fix signed compare warnings.
9544         (alpha_sa_mask, alpha_align_insns): Likewise.
9545         * config/alpha/alpha-protos.h: Update.
9546         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
9547         (MASK_EXPLICIT_RELOCS): New.
9548         (TARGET_SWITCHES): Add -mexplicit-relocs.
9549         (EXTRA_CONSTRAINT): Add 'T'.
9550         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
9551         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
9552         (ENCODE_SECTION_INFO): Out line.
9553         (REDO_SECTION_INFO_P): New.
9554         (STRIP_NAME_ENCODING): New.
9555         (ASM_OUTPUT_LABELREF): New.
9556         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
9557         (PREDICATE_CODES): Update.
9558         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
9559         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
9560         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
9561         builtin_setjmp_receiver_er, exception_receiver_1_er,
9562         call_value_osf_1_er): New patterns.
9563         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
9564         (movqi, movhi, movsi): Add explicit $31 base register to lda.
9565         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
9566         (FINAL_PRESCAN_INSN): New.
9567
9568 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
9569
9570         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
9571
9572 2001-09-08  Andreas Jaeger  <aj@suse.de>
9573
9574         * i386.h (TARGET_SWITCHES): Fix description.
9575
9576 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
9577
9578         * rs6000.c (num_insns_constant): Compute number of instructions
9579         more accurately.
9580
9581         * doc/install.texi: Explain AIX exception handling work-around.
9582         Update URL for AIX fixes.
9583
9584 2001-09-07  Jim Wilson  <wilson@redhat.com>
9585
9586         * alias.c (clear_reg_alias_info): New.
9587         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
9588         * rtl.h (clear_reg_alias_info): Declare.
9589
9590 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9591
9592         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
9593         available.
9594         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
9595         (m16m,edivm,emulm): Change declaration to match definition.
9596
9597 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
9598
9599         * reload.c (push_reload): Check for subreg_lowpart_p instead of
9600         SUBREG_BYTE being 0 when determining if the inner part of a subreg
9601         can be reloaded.
9602
9603 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9604
9605         * c-common.c (signed_or_unsigned_type): Handle machine mode types
9606         which have no corresponding C type.
9607         * fold_const.c (target_isinf,target_isnan,target_negative): Update
9608         the representation of 64-bit doubles to work with 64-bit ints.
9609
9610 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
9611
9612         * config/mips/mips.c (override_options): Do not override ISA when ABI
9613         specified if MIPS_CPU_STRING_DEFAULT was specified.
9614
9615 2001-09-07  Richard Henderson  <rth@redhat.com>
9616
9617         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
9618         (express_from_1): Wrap lines.
9619         * rtlanal.c (commutative_operand_precedence): Rename from
9620         operand_preference; export.
9621         * rtl.h: Declare it.
9622         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
9623         (simplify_binary_operation): Invoke simplify_plus_minus on
9624         (CONST (PLUS ...)) as well.
9625         (struct simplify_plus_minus_op_data): New.
9626         (simplify_plus_minus_op_data_cmp): New.
9627         (simplify_plus_minus): Use them.  Avoid infinite recursion with
9628         simplify_binary_operation wrt CONST.
9629
9630 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
9631
9632         * h8300-protos.h (general_operand_dst_push): Remove.
9633         * h8300.c (general_operand_dst_push): Likewise.
9634         * h8300.h (OK_FOR_T): Likewise.
9635         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
9636         * h8300.md (pushqi_h8300): New.
9637         (pushqi_h8300hs): Likewise.
9638         (pushqi): Likewise.
9639         (pushhi_h8300): Likewise.
9640         (pushhi_h8300hs): Likewise.
9641         (pushhi): Likewise.
9642
9643 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9644
9645         * genattrtab.c (attr_printf): First arg is unsigned.
9646         Clean up formatting of callers.
9647
9648 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
9649
9650         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
9651         registers.
9652
9653 2001-09-07  Andreas Jaeger  <aj@suse.de>
9654
9655         * i386.h (TARGET_SWITCHES): Fix descriptions.
9656
9657 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9658
9659         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
9660
9661 2001-09-06  Ira Ruben  <ira@apple.com>
9662
9663         Remove OP_IDENTIFIER.
9664         * tree.def (OP_IDENTIFIER): Remove.
9665         * tree.c (tree_node_kind enum): Remove op_id_kind.
9666         (tree_node_kind_names): Remove "op_identifiers".
9667         (make_node): Remove OP_IDENTIFIER test.
9668         (build_op_identifier): Removed because it isn't being used.
9669         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
9670         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
9671
9672 2001-09-06  Richard Henderson  <rth@redhat.com>
9673
9674         * simplify-rtx.c (simplify_binary_operation): Revert last change.
9675
9676 2001-09-06  Richard Henderson  <rth@redhat.com>
9677
9678         * simplify-rtx.c (simplify_binary_operation): Simplify contents
9679         of CONST.
9680
9681 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9682
9683         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
9684         number used for CR register.
9685
9686 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
9687                           Joern Rennecke (amylaar@cygnus.com)
9688
9689         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
9690         * h8300.c (initial_offset): Handle offset between RP and FP.
9691         (h8300_return_addr_rtx): New function.
9692         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
9693         return register.
9694         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
9695         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
9696         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
9697         (CAN_ELIMINATE, REGISTER_NAMES):
9698         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
9699
9700 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
9701
9702         Remove TYPE_NONCOPIED_PARTS.
9703         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
9704         (struct tree_type): Remove noncopied_parts.
9705         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
9706         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
9707         (fixed_type_p): Remove.
9708         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
9709         (expand_expr, MODIFY_EXPR): Likewise.
9710         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
9711         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
9712
9713 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
9714
9715         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
9716         compiler warnings.
9717         (mask64_operand): Likewise.
9718         (includes_rldic_lshift_p): Likewise.
9719         (includes_rldicr_lshift_p): Likewise.
9720
9721 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
9722
9723         * objc/objc-act.c (build_message_expr): If a class method cannot
9724         be found, do not issue a warning if a corresponding instance
9725         method exists in the root class.
9726
9727 2001-09-05  Richard Henderson  <rth@redhat.com>
9728
9729         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
9730
9731 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
9732
9733         * function.c (ggc_mark_struct_function): Mark f->outer.
9734         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
9735         * integrate.c (output_inline_function): ... not here.
9736
9737 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
9738
9739         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
9740
9741         * i386.c (size_cost): New static variable.
9742         (override_function): Use size_cost when -Os is specified.
9743
9744         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
9745         properly;  Use current_function_calls_eh_return.
9746         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
9747         use leave to avoid dependency chain.
9748
9749         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
9750         get BB loop_depth instead of computing it from LOOP notes.
9751
9752         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
9753
9754 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9755
9756         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9757         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9758         UNALIGNED_DOUBLE_INT_ASM_OP): Define
9759
9760 2001-09-05  Jeffrey A Law  (law@cygnus.com)
9761             Jason Merrill (jason@redhat.com)
9762
9763         * stor-layout.c (layout_type): Complain if an array's size can
9764         not be represented in a size_t.
9765
9766         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
9767
9768 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
9769
9770         * gcc.c: (process_command) Add parentheses around assignment
9771         used as truth value.
9772
9773 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
9774
9775         * config/mips/mips.c (save_restore_insns): Don't mark any register
9776         save slots as unchanging if current_function_calls_eh_return.
9777
9778 2001-09-05  Richard Henderson  <rth@redhat.com>
9779
9780         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
9781         * config/alpha/alpha-protos.h: Declare it.
9782         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
9783         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
9784         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
9785         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
9786         (REG_OK_FOR_BASE_P): Select one of the above.
9787
9788 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
9789
9790         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
9791         (crti.o): Prefix name of object file with $(T).
9792         (crtn.o): Likewise.
9793
9794 2001-09-05  David S. Miller  <davem@redhat.com>
9795
9796         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
9797         * config/sparc/linux64.h: Likewise.
9798
9799 2001-09-05  Andreas Jaeger  <aj@suse.de>
9800
9801         * doc/invoke.texi (i386 Options): -mwide-multiply is not
9802         available anymore, remove the documentation.
9803         (i386 Options): Fix typo, cleanup index entries.
9804
9805         * prefix.c (concat): Remove, we can use the version from liberty.
9806
9807 2001-09-05  Richard Henderson  <rth@redhat.com>
9808
9809         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
9810         New functions split out of md file expanders.
9811         * config/alpha/alpha-protos.h: Declare them.
9812         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
9813
9814 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9815
9816         * cppmacro.c (funlike_invocation_p): No need to restore context.
9817
9818 2001-09-04  Richard Henderson  <rth@redhat.com>
9819
9820         * reload.c (push_reload): Export.
9821         * reload.h (push_reload): Declare it.
9822
9823         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
9824         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
9825         * config/alpha/alpha.c (alpha_legitimize_address): New.
9826         (alpha_legitimize_reload_address): Likewise.
9827         * config/alpha/alpha-protos.h: Declare them.
9828
9829 2001-09-04  Stan Shebs  <shebs@apple.com>
9830
9831         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
9832         * config/darwin.c (machopic_stub_name): Account for internally
9833         generated lib calls such as memcpy.
9834
9835 2001-09-04  Richard Henderson  <rth@redhat.com>
9836
9837         * unwind.h (_UA_END_OF_STACK): New flag.
9838         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
9839
9840 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
9841
9842         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
9843
9844 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
9845
9846         * config/mips/mips.c (save_restore_insns): Change base_offset to
9847         fp_offset in second call to mips_emit_frame_related_store.
9848
9849 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
9850
9851         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
9852         sometimes be represented as a NOTE of type
9853         NOTE_INSN_DELETED_LABEL.
9854         (Insns): Document NOTE_INSN_DELETED_LABEL.
9855
9856 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
9857
9858         * c-common.h (tree_dump_index): Add more comments.
9859         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
9860         (dump_option_value_info): New struct.
9861         (dump_options): New array.
9862         (dump_switch_p): Parse switch options symbolically.
9863         * doc/invoke.texi (-fdump-ast): Rename to ...
9864         (-fdump-tree): ... here. Document that options are symbolic, and
9865         not all are applicable.
9866
9867 2001-09-04  David S. Miller  <davem@redhat.com>
9868
9869         * config/sparc/sparc.md (define_splits): Kill constraints.
9870
9871         Cleanup redundant and unused insn attributes.
9872         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
9873         binary, and move.  Mark ialu as default.
9874         (commented out define_function_unit "alu"): Kill.
9875         (define_attr "use_clobbered"): Kill.
9876         (whole file): Kill address insn type references.  Replace
9877         all unary/binary/move references with ialu.
9878         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
9879         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
9880         TYPE_IALU.
9881
9882         Simplify length insn attribute and make more judicious use
9883         of insn attribute defaulting.
9884         * config/sparc/sparc.md (all insns with length > one): Mark as
9885         insn type multi if real instructions, else use default if
9886         it is a forced splitter.
9887         (all insns with length == one): Use default insn length.
9888         (all insns of type ialu): Use default insn type.
9889
9890         Fix erroneous insn attribute settings.
9891         (addx): Set insn type to misc.
9892         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
9893         const_umulsidi3_sp64): Set insn type to imul.
9894
9895         Track SFmode vs DFmode insns according to UltraSPARC
9896         scheduling rules.
9897         * config/sparc/sparc.md ("fptype"): New attribute, default
9898         to "single".
9899         (all DFmode single insns): Mark as fptype "double".
9900
9901 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
9902
9903         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
9904
9905 2001-09-03  Richard Henderson  <rth@redhat.com>
9906
9907         * function.h (struct function): Add arg_pointer_save_area_init.
9908         * function.c (expand_function_end): Init arg_pointer_save_area.
9909         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
9910         when called from a nested function.
9911
9912 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
9913
9914         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
9915         is enabled.
9916
9917 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9918
9919         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
9920
9921 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
9922
9923         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
9924         (emit_push_insn): Use specified padding direction when
9925         STACK_PUSH_CODE is POST_INC.
9926
9927         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
9928
9929 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9930
9931         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
9932
9933 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9934
9935         * cppinit.c (cpp_start_read): Free the imacros list as we
9936         traverse it.  Don't free the chains before returning.
9937         (_cpp_push_next_buffer): Only try pushing buffers if we've
9938         completed -imacros handling.
9939
9940 2001-08-31  Eric Christopher  <echristo@redhat.com>
9941
9942         * gcc.c (handle_braces): Add explaination for abort.
9943
9944 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
9945
9946         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
9947         move adjustment of bitpos instead.
9948
9949 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
9950
9951         * function.c: Remove all_functions.  Make outer_function_chain
9952         static.
9953         (init_function_start): Don't add new function structure to
9954         all_functions.
9955         (find_function_data, push_function_context_to,
9956         pop_function_context_from, put_var_into_stack,
9957         trampoline_address): Update for changed structure element names.
9958         (push_function_context_to): Disentangle.
9959         (free_after_compilation): Also free F.
9960         (expand_dummy_function_end): Don't free cfun here.
9961         (put_var_into_stack): Comment why we can't use find_function_data here.
9962         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
9963         (mark_function_chain): Split into maybe_mark_struct_function and
9964         ggc_mark_struct_function.  Export the latter.
9965         (init_function_once): Mark from cfun and outer_function_chain;
9966         not all_functions.
9967
9968         * function.h (struct function): Kill next_global.  Rename next
9969         to outer.  All users updated to match.
9970         (all_functions, outer_function_chain): Don't declare.
9971
9972         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
9973         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
9974         don't touch f->inlinable, after calling rest_of_compilation.
9975
9976         * tree.h: Forward-declare struct function.  Prototype
9977         ggc_mark_struct_function.
9978
9979 2001-08-31  Kazu Hirata  <kazu@hxi.com>
9980
9981         * config/h8300/h8300.md (*andorhi3): Fix typos.
9982
9983 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9984
9985         * calls.c (emit_library_call_value): Don't use a fixed
9986         argument after VA_CLOSE, i.e. out of scope in traditional C.
9987
9988         * emit-rtl.c (gen_rtvec): Likewise.
9989
9990 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9991
9992         * Makefile.in (c-pragma.o): Depend on output.h.
9993         (reorg.o): Depend on except.h.
9994
9995         * c-pragma.c: Include output.h.
9996
9997         * reorg.c: Include except.h.
9998
9999         * unwind-dw2.c: Call __builtin_alloca, not alloca.
10000
10001 2001-08-31  Richard Henderson  <rth@redhat.com>
10002
10003         * sched-deps.c (add_dependence): Don't elide dependency if the
10004         conditional used by insn is modified in elem.
10005
10006 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
10007
10008         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
10009
10010 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
10011
10012         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
10013         dump_switch_p.
10014
10015 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
10016
10017         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
10018         function.
10019         (stormy16_asm_out_constructor): New function.
10020         (TARGET_ASM_CONSTRUCTOR): Define.
10021         (TARGET_ASM_DESTRUCTOR): Define.
10022
10023 2001-08-31  Andreas Jaeger  <aj@suse.de>
10024
10025         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
10026         * loop.c (add_label_notes): Likewise.
10027         * reload.c (find_reloads): Likewise.
10028         * config/sh/sh.c (machine_dependent_reorg): Likewise.
10029
10030 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
10031
10032         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
10033         code here.  Take _Unwind_{W,Sw}ord*.
10034         (read_encoded_value_with_base): Use them.
10035         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
10036         words.
10037         (extract_cie_info): Simplify read_?leb128 handling.
10038         (execute_stack_op, execute_cfa_program): Likewise.
10039         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
10040
10041 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
10042
10043         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
10044         the frame pointer to pop the stack if convenient.
10045
10046         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
10047         Don't use post-increment before combine.
10048         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
10049         a call-saved register.
10050
10051 2001-08-31  Andreas Jaeger  <aj@suse.de>
10052
10053         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
10054         code was correct.
10055
10056 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
10057
10058         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
10059         not DIV/MOD, of course.
10060
10061 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
10062
10063         * rtl.def: Undo my patch commited 2001-08-27.
10064
10065         * genattrtab.c: Ditto.
10066
10067         * rtl.h: Ditto.
10068
10069         * sched-int.h: Ditto.
10070
10071         * target-def.h: Ditto.
10072
10073         * target.h: Ditto.
10074
10075         * haifa-sched.c: Ditto.
10076
10077         * sched-rgn.c: Ditto.
10078
10079         * sched-vis.c: Ditto.
10080
10081         * Makefile.in: Ditto.
10082
10083         * doc/md.texi: Ditto.
10084
10085         * doc/tm.texi: Ditto.
10086
10087         * doc/contrib.texi: Ditto.
10088
10089         * doc/gcc.texi: Ditto.
10090
10091         * genattrtab.h: Remove it.
10092
10093         * genautomata.c: Remove it.
10094
10095         * genattr.c: Undo my patch and Richard Henderson's patch commited
10096         2001-08-27.
10097
10098 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
10099
10100         * config.gcc (h8300-*-elf*): New case.
10101         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
10102         (SUBTARGET_CPP_SPEC): Define.
10103         (EXTRA_SPECS): Define.
10104         (SUBTARGET_EXTRA_SPECS): Define.
10105         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
10106         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
10107
10108 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
10109
10110         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
10111         (LIB2FUNCS_EXTRA): Define.
10112         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
10113         config/h8300/fixunssfsi.c: New file.
10114
10115 2001-08-30  Kazu Hirata  <kazu@hxi.com>
10116
10117         * config/h8300/h8300.md (zero_extendqihi2): Changes to
10118         define_expand to accommodate target-specific attributes.
10119         (anonymous zero_extendqihi2 patterns): New.
10120
10121 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
10122
10123         * h8300.md (*andorhi3): New pattern.
10124
10125 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
10126
10127         * h8300.c (dosize): Fix test for "sub".
10128
10129 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
10130
10131         * c-typeck.c (pointer_diff): Try to eliminate common term before
10132         doing conversions.
10133
10134 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
10135
10136         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10137         Account for the saves of the FP registers.
10138
10139         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
10140         (TEXT_SECTION_ASM_OP): Define.
10141         (INIT_SECTION_ASM_OP): Define.
10142         (FINI_SECTION_ASM_OP): Define.
10143         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
10144         (RDATA_SECTION_FUNCITON): Provide prototype.
10145
10146 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
10147
10148         * reload1.c (move2add_note_store): Correct typo checking for
10149         argument pushes.
10150
10151 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
10152
10153         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
10154         note should not be considered outside the libcall block.
10155
10156 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10157
10158         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
10159
10160 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10161
10162         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
10163
10164 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10165
10166         * config/h8300/h8300-protos.h: Add a prototype for
10167         emit_logical_op.
10168         * config/h8300/h8300.c (emit_logical_op): New.
10169         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
10170         (andsi3): Likewise.
10171         (iorhi3): Likewise.
10172         (iorsi3): Likewise.
10173         (xorhi3): Likewise.
10174         (xorsi3): Likewise.
10175
10176 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10177
10178         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
10179         comparison with rtx INTVAL.
10180         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
10181         expression.
10182         * pa.h (FUNCTION_ARG_SIZE): Likewise.
10183
10184 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10185
10186         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
10187         comment typos.
10188
10189 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10190
10191         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
10192         (reg n) to (mem (pre_dec (reg n))
10193         (anonymous movsi pattern): Likewise.
10194
10195 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10196
10197         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
10198
10199 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10200
10201         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
10202         several special constants.
10203
10204 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10205
10206         * config/h8300/lib1funcs.asm: Fix comment typos.
10207
10208 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10209
10210         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
10211         Fix format specifier warnings.
10212
10213         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
10214         inet_makeaddr, semctl): Prototype.
10215
10216         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
10217         (save_restore_insns): Use base_offset, not gp_offset.
10218
10219         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
10220         (ASM_OUTPUT_BYTE): Fix format specifier warning.
10221
10222 2001-08-29  Richard Henderson  <rth@redhat.com>
10223
10224         * bb-reorder.c (function_tail_eff_head): New.
10225         (record_effective_endpoints): Set it.
10226         (fixup_reorder_chain): Use it.
10227
10228 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10229
10230         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
10231
10232 2001-08-28  Dale Johannesen  <dalej@apple.com>
10233
10234         * config/darwin.c (machopic_function_base_name): Add const
10235         qualifier to a string.
10236         (darwin_encode_section_info): Ditto.
10237
10238 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10239
10240         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
10241         function definition.
10242
10243 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
10244
10245         * df.h (struct df): Add rts_order variable.
10246
10247         * df.c (df_visit_next_rts): New function.
10248         (df_visit_next): Renamed to df_visit_next_rc
10249         (df_analyse_1): Allocate/compute/free rts_order as well.
10250         (df_rd_global_compute): Use df_visit_next_rc instead of
10251         df_visit_next.
10252         (df_ru_global_compute): Use df_visit_next_rts instead of
10253         df_visit_next.
10254
10255         * flow.c (flow_reverse_top_sort_order_compute): New function.
10256
10257         * basic-block.h: Add prototype.
10258
10259 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
10260
10261         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
10262         blocks, the BB_REACHABLE is now set, rather than aux being
10263         non-NULL. Update the test to reflect this.
10264
10265 2001-08-28  Eric Christopher  <echristo@redhat.com>
10266
10267         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
10268         config/mips/crti.asm: Ditto.
10269
10270 2001-08-28  Eric Christopher <echristo@redhat.com>
10271             Richard Henderson <rth@redhat.com>
10272
10273         * c-pragma.h (add_weak): Move prototype from here...
10274         * output.h (add_weak): ... to here.
10275         * varasm.c (add_weak): Fix typo.
10276         * config/mips/crti.asm: New file.
10277         * config/mips/crtn.asm: Ditto.
10278         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
10279         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
10280         (INVOKE__main): Ditto.
10281         (INIT_SECTION_ASM_OP): New.
10282         (FINI_SECTION_ASM_OP): Ditto.
10283         (STARTFILE_SPEC): Add crti.
10284         (ENDFILE_SPEC): Add crtn.
10285         * config/mips/elf64.h: Same.
10286         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
10287         Remove.
10288         * config/mips/vxworks.h: Ditto.
10289         * config/mips/t-elf: Support crti and crtn.
10290
10291 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
10292
10293         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
10294         INSN_LIST.
10295
10296 2001-08-28  Richard Henderson  <rth@redhat.com>
10297
10298         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
10299         (one_cmplbi2 splitter): Remove redundant test.
10300
10301 2001-08-28  Dale Johannesen  <dalej@apple.com>
10302
10303         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
10304
10305 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
10306
10307         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
10308
10309 2001-08-28  Stan Shebs  <shebs@apple.com>
10310
10311         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
10312         (UNALIGNED_SHORT_ASM_OP): Define.
10313         (UNALIGNED_INT_ASM_OP): Define.
10314
10315 2001-08-28  Will Cohen  <wcohen@redhat.com>
10316
10317         * config/rs6000/rs6000.md (store_multiple): Correct RTL
10318         generation for first set.
10319
10320 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
10321
10322         * flow.c (redirect_edge_succ_nodup): Return new edge.
10323         (try_simplify_condjump): Use new edge.
10324         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
10325
10326         * cse.c (cse_basic_block): Skip note instructions.
10327
10328 2001-08-27  Richard Henderson  <rth@redhat.com>
10329
10330         * combine.c (combine_simplify_rtx): Don't reverse condition
10331         if there is no reverse for the condition.
10332         (simplify_comparison): Don't simplify subregs from INT to FP.
10333
10334         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
10335         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
10336         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
10337         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
10338         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
10339         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
10340
10341 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
10342
10343         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
10344         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
10345         (pushqi1): New.
10346         (adddi_dilshr32, adddi_dishl32): Only data register can be
10347         source for mem destination.
10348
10349         * expmed.c (store_bit_field): Ignore adjustment to bitpos
10350         and use bitnum to decide about register move.
10351
10352 2001-08-27  Richard Henderson  <rth@redhat.com>
10353
10354         * genattr.c (main): Emit state_t even when not doing scheduling.
10355
10356 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
10357             Richard Henderson  <rth@redhat.com>
10358
10359         * gcse.c (reg_first_set, reg_last_set): Replace with ...
10360         (reg_avail_info, current_bb): ... these.
10361         (oprs_unchanged_p, record_last_reg_set_info): Use them.
10362         (compute_hash_table): Likewise.
10363
10364 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
10365
10366         * flow.c (verify_flow_info): Use checksums to verify edges.
10367
10368 2001-08-27  Richard Henderson  <rth@redhat.com>
10369
10370         * genautomata.c (expand_automata): Always create a description.
10371
10372 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
10373
10374         * optabs.c (expand_binop): Correctly handle the carry in multiword
10375         add/subtract operations.
10376
10377 2001-08-27  Fred Fish  <fnf@be.com>
10378
10379         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
10380         __SIZE_TYPE__.
10381
10382 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
10383
10384         * reload.c (find_reloads_toplev): Back out this change:
10385
10386         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
10387
10388         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
10389         mem if the address is a mode_dependent_address_p.
10390
10391 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
10392
10393         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
10394         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
10395         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
10396         RTL constructions.
10397
10398         * genattr.c (main): New variable num_insn_reservations.  Increase
10399         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
10400         pipeline hazard recognizer interface.
10401
10402         * genattrtab.h: New file.
10403
10404         * genattrtab.c: Include genattrtab.h.
10405         (attr_printf, check_attr_test, make_internal_attr,
10406         make_numeric_value): Move protypes into genattrtab.h.  Define them
10407         as external.
10408         (num_dfa_decls): New global variable.
10409         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
10410         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
10411         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
10412         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
10413
10414         * genautomata.c: New file.
10415
10416         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
10417
10418         * sched-int.h: (curr_state): Add the external definition for
10419         automaton pipeline interface.
10420         (haifa_insn_data): Add comments for members blockage and units.
10421
10422         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
10423         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
10424         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
10425         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
10426         TARGET_SCHED_DFA_POST_CYCLE_INSN,
10427         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
10428         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
10429         macros.
10430         (TARGET_SCHED): Use the new macros.
10431
10432         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
10433         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
10434         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
10435         dfa_bubble): New members in gcc_target.sched.
10436
10437         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
10438         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
10439         (insn_queue): Redefine it as pointer to array.
10440         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
10441         INSN_QUEUE_SIZE.
10442         (max_insn_queue_index_macro_value): New variable.
10443         (curr_state, dfa_state_size, ready_try): New varaibles for
10444         automaton interface.
10445         (ready_element, ready_remove, max_issue): New function prototypes
10446         for automaton interface.
10447         (choose_ready): New function prototype.
10448         (insn_unit, blockage_range): Add comments.
10449         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
10450         FUNCTION_UNITS_SIZE == 0.
10451         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
10452         actual_hazard, potential_hazard): Add comments.
10453         (insn_cost): Use cost -1 as undefined value.  Remove
10454         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
10455         pipeline interface.
10456         (ready_element, ready_remove): New functions for automaton
10457         interface.
10458         (schedule_insn): Add new code for automaton pipeline interface.
10459         (queue_to_ready): Add new code for automaton pipeline interface.
10460         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
10461         (debug_ready_list): Print newline when the queue is empty.
10462         (max_issue): New function for automaton pipeline interface.
10463         (choose_ready): New function.
10464         (schedule_block): Add new code for automaton pipeline interface.
10465         Print ready list before scheduling each insn.
10466         (sched_init): Add new code for automaton pipeline interface.
10467         Initiate insn cost by -1.
10468         (sched_finish): Free the current automaton state and finalize
10469         automaton pipeline interface.
10470
10471         * sched-rgn.c: Include target.h.
10472         (init_ready_list, new_ready, debug_dependencies): Add new code for
10473         automaton pipeline interface.
10474
10475         * sched-vis.c: Include target.h.
10476         (get_visual_tbl_length): Add code for automaton interface.
10477         (target_units, print_block_visualization):  Add comments.
10478
10479         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
10480         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
10481         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
10482         (getruntime.o, genautomata.o): New entries.
10483         (genattrtab.o): Add new dependency file genattrtab.h.
10484         (genattrtab): Add new dependencies.  Link it with `libm.a'.
10485         (getruntime.o, hashtab.o): New entries for canadian cross.
10486
10487         * doc/md.texi: Description of automaton based model.
10488
10489         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
10490         Add comments.
10491         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
10492         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
10493         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
10494         TARGET_SCHED_DFA_POST_CYCLE_INSN,
10495         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
10496         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
10497         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
10498         hook descriptions.
10499         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
10500         MAX_DFA_ISSUE_RATE): New macro descriptions.
10501
10502         * doc/contrib.texi: Add dfa based scheduler contribution.
10503
10504         * doc/gcc.texi: Add more information about genattrtab.
10505
10506 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
10507
10508         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
10509         an RTL basic block.
10510
10511 2001-08-27  Richard Henderson  <rth@redhat.com>
10512
10513         * function.c (expand_function_end): Don't init arg_pointer_save_area.
10514         (get_arg_pointer_save_area): New.  Create an init it here.
10515         (fix_lexical_addr): Use it.
10516         * function.h: Declare it.
10517         * builtins.c (expand_builtin_setjmp_receiver): Use it.
10518         * stmt.c (expand_nl_goto_receiver): Use it.
10519
10520 2001-08-27  Richard Henderson  <rth@redhat.com>
10521
10522         * final.c (final_scan_insn): Don't enter APP_ON mode for
10523         empty asm strings.
10524
10525         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
10526         alignment for assemble_integer for DW_EH_PE_aligned.
10527         * except.c (output_function_exception_table): Likewise.
10528
10529 2001-08-26  Andreas Jaeger  <aj@suse.de>
10530
10531         * c-tree.h: Add prototyp for c_sizeof_nowarn.
10532
10533 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
10534
10535         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
10536
10537 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
10538
10539         * config/rs6000/rs6000.c (mask_operand): Rewrite without
10540         bit-shifting loop.
10541         (mask64_operand): Likewise.
10542         (rldic_operand): Delete.
10543         (includes_lshift64_p): Delete.
10544         (includes_rldic_lshift_p): New function.
10545         (includes_rldicr_lshift_p): New function.
10546         (print_operand): Don't call rldic_operand in case 'W'.
10547         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
10548         (includes_lshift64_p): Remove.
10549         (includes_rldic_lshift_p): Declare.
10550         (includes_rldicr_lshift_p): Declare.
10551         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
10552         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
10553         Replace match_operand rldic_operand predicate with
10554         const_int_operand.  Replace includes_lshift64_p condition with
10555         includes_rldic_lshift_p.
10556         <ashldi3_internal 64 bit rldicr patterns>: New.
10557
10558 2001-08-27  Andreas Jaeger  <aj@suse.de>
10559
10560         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
10561         * errors.c: Likewise.
10562         * final.c: Likewise.
10563         * dwarf2asm.c: Likewise.
10564         * doprint.c (checkit): Likewise.
10565         * diagnostic.c: Likewise.
10566         * collect2.c: Likewise.
10567         * calls.c: Likewise.
10568         * c-semantics.c (build_stmt): Likewise.
10569         * c-format.c (status_warning): Likewise.
10570         * c-errors.c (pedwarn_c99): Likewise.
10571         * builtins.c (validate_arglist): Likewise.
10572         * config/pj/pj.c (pj_printf): Likewise.
10573         * fix-header.c: Likewise.
10574         * gcc.c: Likewise.
10575         * gcov.c (fnotice): Likewise.
10576         * gensupport.c (message_with_line): Likewise.
10577         * mips-tfile.c: Likewise.
10578         * protoize.c (notice): Likewise.
10579         * read-rtl.c (fatal_with_file_and_line): Likewise.
10580         * rtl-error.c: Likewise.
10581         * tradcpp.c: Likewise.
10582         * tree.c: Likewise.
10583         * cp/tree.c (build_min_nt): Likewise.
10584         (build_min): Likewise.
10585         * cp/lex.c: Likewise.
10586         * cp/errfn.c: Likewise.
10587         * cp/rtti.c (create_pseudo_type_info): Likewise.
10588
10589 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
10590
10591         * df.c (df_uses_record): Return after recording all uses
10592         in ASM_OPERANDS.
10593
10594 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
10595
10596         * df.c (df_insn_modify): Realloc the INSN table here, if
10597         necessary, here, too.
10598
10599 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
10600
10601         * config/mips/mips.c (mips_function_value): Handle complex return
10602         values.
10603
10604 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
10605
10606         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
10607         unshared.
10608         * reload.c (make_memloc): Copy result if it is still
10609         reg_equiv_memory_loc[regno] on return.
10610         (subst_reloads) [ENABLE_CHECKING]: Check that none of
10611         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
10612         reg_equiv_mem are modified by the substitutions.
10613
10614 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
10615
10616         * predict.c (expensive_function_p): New.
10617         * rtl.h (expensive_function_p): Declare.
10618         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
10619         (use_fast_prologue_epilogue): New static variable.
10620         (expand_prologue): Set it; emit short prologues if unset.
10621         (expand_epilogue): Likewise.
10622
10623 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
10624
10625         * config.gcc: Add stormy16-*-elf case.
10626         * config/stormy16/stormy-abi: New file.
10627         * config/stormy16/stormy16-lib2.c: New file.
10628         * config/stormy16/stormy16-protos.h: New file.
10629         * config/stormy16/stormy16.c: New file.
10630         * config/stormy16/stormy16.h: New file.
10631         * config/stormy16/stormy16.md: New file.
10632         * config/stormy16/t-stormy16: New file.
10633
10634 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
10635
10636         * i386.h (no-accumulate-outgoing-args): Use proper mask.
10637
10638 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
10639
10640         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
10641         descriptor members are pointer size, not constant 4.
10642         * config/rs6000/rs6000.md (define_splits): Remove more unused
10643         constraints.
10644
10645 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10646
10647         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
10648
10649 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
10650
10651         * cp/rtti.c (VPARAMS): Fix parameter.
10652
10653 2001-08-24  Zack Weinberg  <zackw@panix.com>
10654
10655         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
10656         to zero.
10657         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
10658         to switch.
10659         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
10660         in if controlling use of insv.
10661         (extract_bit_field): Likewise, for extv and extzv.
10662
10663 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
10664
10665         * i386.md (movcc peep2): Fix load of 0.
10666
10667 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10668
10669         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
10670         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
10671
10672 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
10673
10674         * c-pragma.h: Move weak_syms and weak_decls...
10675         * varasm.c: ...here.  Now static.
10676         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
10677         depend on HANDLE_PRAGMA_WEAK.
10678
10679         * c-common.c (c_alignof, c_alignof_expr): Move here...
10680         * c-typeck.c: ...from here.
10681         * c-tree.h, c-common.h: Adjust.
10682
10683 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
10684
10685         * config/ia64/ia64.c (rws_update): If !pred, set write_count
10686         instead of incrementing it.
10687
10688         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
10689         asm ready, don't try to move them all into the same array element.
10690
10691 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10692
10693         * function.c (thread_prologue_and_epilogue_insns): Avoid
10694         fallthru flag on edge to exit.
10695
10696         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
10697
10698         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
10699         dead edges.
10700
10701 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
10702
10703         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
10704         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
10705         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
10706         Remove prototype.
10707
10708 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
10709
10710         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
10711         replace "GNU CC" with "GCC".
10712
10713 2001-08-23  Richard Henderson  <rth@redhat.com>
10714
10715         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
10716         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
10717         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
10718         Need GR between FR and not GR_AND_FR.
10719         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
10720         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
10721         AR regs before GR regs.
10722         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
10723         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
10724         (REGISTER_MOVE_COST): Update.
10725         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
10726
10727 2001-08-23  Richard Henderson  <rth@redhat.com>
10728
10729         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
10730         a register class.
10731
10732 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
10733
10734         * reload1.c (emit_reload_insns): Don't look for notes
10735         on a NULL store_insn.
10736
10737 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10738
10739         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
10740         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
10741         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
10742         format specifier warnings.
10743         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
10744
10745 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
10746
10747         * config/i386/i386-protos.h: Correct declaration of
10748         i386_pe_asm_named_section.
10749
10750 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10751
10752         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
10753         variable i.
10754         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10755
10756 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
10757
10758         * cpperror.c (print_location): Don't show _Pragma.
10759         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
10760         and file change callback generation here.
10761         (stack_include_file): Update use of cpp_push_buffer.
10762         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
10763         (struct cpp_buffer): Remove type, pfile members.
10764         * cppinit.c (cpp_handle_option): Use free_chain.
10765         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
10766         (skip_escaped_newlines, get_effective_char, lex_percent): Take
10767         a cpp_reader rather than a cpp_buffer.
10768         (skip_escaped_newlines, get_effective_char, skip_block_comment,
10769         skip_line_comment, parse_string, lex_percent, lex_dot,
10770         _cpp_lex_token): Update accordingly.
10771         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
10772         generation here.
10773         (cpp_push_buffer): Update prototype.
10774         (run_directive): Update use of cpp_push_buffer.
10775         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
10776         handle_assertion): Update use of run_directive.
10777         * cpplib.h (enum cpp_buffer_type): Remove.
10778         (cpp_push_buffer): Update prototype.
10779         * fix-header.c (read_scan_file): Update.
10780
10781 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10782
10783         * gcc.c (struct prefix_list): Change prefix to const char *.
10784
10785 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10786
10787         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
10788
10789 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
10790
10791         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
10792         from a new MEM.
10793
10794         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
10795         a squeezable note.
10796         * rtl.h: Adjust.
10797         * ifcvt.c (dead_or_predicable): Adjust.
10798         * loop.c (find_and_verify_loops): Adjust.
10799         * stmt.c (expand_end_case): Adjust.
10800         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
10801         head and end insn pointers in the basic block, not just local copies.
10802         (merge_blocks_move_predecessor_nojumps): Likewise.
10803
10804 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
10805
10806         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
10807         bitmap.h, builtin-types.def, builtins.c, builtins.def,
10808         c-aux-info.c, c-common.c, c-common.def, c-common.h,
10809         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
10810         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
10811         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
10812         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
10813         conditions.h, config.gcc, configure.frag, configure.in,
10814         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
10815         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
10816         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
10817         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
10818         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
10819         emit-rtl.c, errors.c, errors.h, except.c, except.h,
10820         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
10821         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
10822         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
10823         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
10824         gencheck.c, gencodes.c, genconfig.c, genemit.c,
10825         genextract.c, genflags.c, gengenrtl.c, genmultilib,
10826         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
10827         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
10828         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
10829         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
10830         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
10831         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
10832         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
10833         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
10834         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
10835         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
10836         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
10837         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
10838         params.h, predict.c, predict.def, predict.h, prefix.c,
10839         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
10840         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
10841         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
10842         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
10843         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
10844         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
10845         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
10846         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
10847         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
10848         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
10849         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
10850         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
10851         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
10852         xcoffout.h: replace "GNU CC" with "GCC".
10853
10854 2001-08-21  Richard Henderson  <rth@redhat.com>
10855
10856         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
10857         (final_scan_insn): Consider jump tables data even if we have no
10858         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
10859         ADDR_VEC_ALIGN.
10860         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
10861         (ASM_OUTPUT_CASE_END): Remove.
10862         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
10863         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
10864         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
10865
10866 2001-08-21  Richard Henderson  <rth@redhat.com>
10867
10868         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
10869         at barrier insns.  Emit stop bits before barriers.
10870
10871         * flow.c (flow_find_cross_jump): Don't consider unconditional
10872         return insns for commoning.
10873
10874         * final.c (compute_alignments): Fix typo.
10875
10876         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
10877         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
10878         (store_bit_field): Use mode_for_extraction more places.
10879         (extract_bit_field): Likewise.
10880
10881 2001-08-21  Zack Weinberg  <zackw@panix.com>
10882
10883         * caller-save.c: Don't include insn-codes.h.
10884         (reg_save_code, reg_restore_code): Make arrays of int.
10885         All uses updated to match.
10886         (insert_save, insert_restore): No need to initialize "code"
10887         variable upon declaration.
10888         * Makefile.in: update dependencies; fix typo in clean rule.
10889
10890 2001-08-21  Richard Henderson  <rth@redhat.com>
10891
10892         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
10893         (merge_if_block): Handle fallout from same.
10894
10895 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10896
10897         * builtins.c (type_to_class): Fix typo in last change.
10898
10899 2001-08-21  Richard Henderson  <rth@redhat.com>
10900
10901         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
10902         ia64_asm_output_label.
10903
10904         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
10905         copy of gp while the real gp register contains garbage.
10906
10907 2001-08-21  Zack Weinberg  <zackw@panix.com>
10908
10909         * expmed.c (mode_for_extraction): New function.
10910         (store_bit_field, extract_bit_field): Use it.
10911         * expr.h: Prototype it and provide an enum for its first argument.
10912
10913         * combine.c, function.c, recog.c: Don't include insn-codes.h.
10914         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
10915         and digging through the insn_data tables.
10916         * Makefile.in: Update dependencies.
10917
10918 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
10919
10920         * cppfiles.c (stack_include_file): line-map.c now handles include
10921         depth.
10922         (handle_missing_handler): Similarly.
10923         (_cpp_execute_include): Similarly.
10924         (_cpp_pop_file_buffer): Similarly.
10925         * cpphash.h (struct cpp_reader): Remove system_include_depth,
10926         buffer_stack_depth and include_depth.
10927         * cpplib.c (do_include_common): line-map.c now handles include depth.
10928         (cpp_push_buffer): Similarly.
10929         (_cpp_pop_buffer): Similarly.
10930         * cppmacro.c (builtin_macro): Update.
10931         * line-map.c (init_line_maps): Set depth.
10932         (add_line_map): Increment "used" earlier.  Update and use the
10933         include depth.
10934         (trace_include): Use the include depth.
10935         * line-map.h (struct line_maps): New member depth.
10936
10937 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
10938
10939         * cppfiles.c (stack_include_file): Don't handle -H here.
10940         * cppinit.c (cpp_start_read): Set include tracing after
10941         cpp_post_options and after stacking the main file.
10942         * line-map.c (trace_include): New.
10943         (init_line_maps, add_line_map): Update.
10944         * line-map.h (struct line_maps): New member trace_includes.
10945
10946 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
10947
10948         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
10949         * cppfiles.c (stack_include_file): Only stack a file if there
10950         is something to do.  Return a boolean indicating whether a
10951         buffer was stacked or not.
10952         (_cpp_execute_include): Similarly.
10953         (_cpp_read_file): Similarly.
10954         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
10955
10956 2001-08-21  Sam Steingold  <sds@gnu.org>
10957
10958         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
10959         (RECACHE): keep obufp_before_macroname up to date
10960
10961 2001-08-21  Zack Weinberg  <zackw@panix.com>
10962
10963         * stmt.c: Don't include insn-codes.h.
10964         (expand_end_case): Machine specific logic moved to expr.c.
10965         No need to worry about __builtin_classify_type.
10966         (check_for_full_enumeration_handling, emit_case_nodes):
10967         Kill #if 0 blocks.
10968
10969         * builtins.o (expand_builtin_classify_type): Split up so code
10970         can be shared with fold_builtin_classify_type.
10971         (type_to_class, fold_builtin_classify_type): New functions.
10972         (fold_builtins): Handle __builtin_classify_type.
10973
10974         * expr.c (do_tablejump): Now static.
10975         (case_values_threshold, try_casesi, try_tablejump): New;
10976         code mostly from stmt.c (expand_end_case).
10977         (expr.h): Update prototypes.
10978
10979         * Makefile.in (stmt.o): Update dependencies.
10980
10981 2001-08-21  Will Cohen  <wcohen@redhat.com>
10982
10983         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
10984         declaration of variable i.
10985         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
10986         declaration of variable i.
10987
10988 2001-08-21  Richard Henderson  <rth@redhat.com>
10989
10990         * crtstuff.c: Fix thinko last change.  Move list tails to start
10991         of CRT_END section.  Tidy ifdefs.
10992         (__EH_FRAME_BEGIN__): Always static for ELF.
10993         (__do_global_ctors_1): Rename from __frame_dummy.
10994         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
10995         name change; don't hide __EH_FRAME_BEGIN__.
10996
10997 2001-08-21  Richard Henderson  <rth@redhat.com>
10998
10999         * gdbinit.in: Move break on exit after break on fancy_abort.
11000
11001         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
11002         sized types.
11003
11004 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
11005
11006         * cpphash.h (_cpp_push_next_buffer): New.
11007         * cppinit.c (do_includes): Remove.
11008         (push_include, free_chain, _cpp_push_next_buffer): New.
11009         (cpp_start_read): Use them to rework command line option handling.
11010         (cpp_handle_option): Combine handling of -include and -imacros.
11011         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
11012         appropriate.  Always insert missing \n at EOF.
11013         * cpplib.c (start_directive): Get the directive position right.
11014         * cppmain.c (cb_file_change): Always print the first line, unless
11015         preprocessed.
11016
11017 2001-08-20  Andreas Jaeger  <aj@suse.de>
11018
11019         * profile.c (compute_branch_probabilities): Remove extra new-line
11020         in error message.
11021         * flow.c (verify_flow_info): Likewise.
11022
11023 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
11024
11025         * basic-block.h (basic_block): Add new field 'flags'.
11026         (BB_REACHABLE): Define.
11027         (expunge_block): Declare.
11028         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
11029         (EXIT_BLOCK_PTR): Ditto.
11030         (expunge_block): Remove static declaration.
11031         (cleanup_cfg): Clear bb->aux on every basic block.
11032         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
11033         computing reachability.
11034         (delete_unreachable_blocks): Delete block b if b->flags has
11035         BB_REACHABLE unset.
11036
11037 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
11038
11039         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
11040
11041 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11042
11043         * sparc.c (sparc_variable_issue): Fix typo in last change.
11044
11045 2001-08-20  Richard Henderson  <rth@redhat.com>
11046
11047         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
11048
11049 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11050
11051         * pa.h (RETURN_IN_MEMORY): Improve comment.
11052
11053 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
11054
11055         * doc/invoke.texi (Profiling options): Clarify the interactions
11056         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
11057
11058 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
11059
11060         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
11061         command.
11062
11063 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11064
11065         * gcc.c (make_relative_prefix): Allocate a sufficiently large
11066         buffer.
11067
11068 2001-08-20  Richard Henderson  <rth@redhat.com>
11069
11070         * final.c (end_final): Fix typo last change.
11071
11072 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
11073
11074         * cppinit.c (init_standard_includes): The returned buffer
11075         is already malloc-ed.
11076         * gcc.c (add_prefix): Similarly.
11077         * prefix.c (translate_name): Update to support clear buffer
11078         ownership rules.
11079         (update_path): Similarly.  Be sure to free any newly allocated
11080         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
11081         (tr): New function.
11082         * prefix.h (update_path): Update prototype and document.
11083         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
11084         up and update to new buffer ownership rules.
11085         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
11086
11087 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
11088
11089         * final.c (compute_alignments): New function.
11090         (init_insn_lengths): Do not care label_align.
11091         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
11092         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
11093         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
11094         (shorted_branches): Realloc label_align array; do
11095         not call init_insn_lengths; Do not care about loop alignments.
11096         * output.h (compute_alignments): Declare.
11097         * toplev.c (rest_of_compilation): Call compute_alignments.
11098         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
11099
11100         * predict.c (block_info_def): Add npredecesors, remove nvisited;
11101         change visited to tovisit.
11102         (propagate_freq): Use faster traversing algorithm.
11103         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
11104         to tovisit; reverse meaning.
11105
11106         * predict.c (struct block_info_def): Remove nvisited.
11107         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
11108         (estimate_bb_frequencies): Call mark_dfs_back_edges.
11109
11110 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
11111
11112         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
11113         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
11114         (TARGET_FUSED_MADD): New.
11115         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
11116         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
11117         the multiply-add instructions.
11118
11119 2001-08-19  Richard Henderson  <rth@redhat.com>
11120
11121         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
11122         is aligned to pointer size.
11123
11124 2001-08-19  Richard Henderson  <rth@redhat.com>
11125
11126         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
11127         display markers during final schedule.
11128
11129 2001-08-19  Richard Henderson  <rth@redhat.com>
11130
11131         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
11132
11133 2001-08-19  Richard Henderson  <rth@redhat.com>
11134
11135         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
11136         in the same string.
11137         (ASM_NAME_TO_STRING): Remove.
11138         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
11139         in the same string.  Remove support for expressions.
11140
11141 2001-08-19  Richard Henderson  <rth@redhat.com>
11142
11143         * config/i386/i386.md (tablejump): Make an expander; handle
11144         pic relative addressing here.
11145         (tablejump_1): Rename from tablejump_pic.
11146         (casesi): Remove.
11147
11148 2001-08-19  Richard Henderson  <rth@redhat.com>
11149
11150         * regclass.c (fix_register): Fix typo.
11151
11152 2001-08-18  Richard Henderson  <rth@redhat.com>
11153
11154         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
11155         (struct _Unwind_Context): Expand br_loc to hold it.
11156         (uw_frame_state_for): Handle leaf functions better.
11157         (uw_update_reg_address): Update for br_loc change.
11158
11159 2001-08-18  Richard Henderson  <rth@redhat.com>
11160
11161         * crtstuff.c: Move list heads before code that uses them.
11162         (__JCR_LIST__): Remove initial null.
11163         (frame_dummy, __frame_dummy): Do java registration here ...
11164         (__do_global_ctors_aux): ... not here.
11165
11166         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
11167         (__do_global_dtors_aux): Update to match.
11168         (__JCR_LIST__, __do_jv_register_classes): New.
11169         (.init): Call it.
11170         * config/ia64/crtend.asm (__JCR_END__): New.
11171         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
11172         instead of an indirect LTOFF22 reloc.
11173
11174 2001-08-18  Richard Henderson  <rth@redhat.com>
11175
11176         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
11177         * regclass.c (init_reg_sets_1): Fix typo.
11178         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
11179         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
11180         (ia64_compute_frame_size): Make ar.unat live when in use.
11181         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
11182         for ar.pfs; remove ar.unat handling.
11183         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
11184         call-saved.
11185         (PREDICATE_CODES): Add ar_pfs_reg_operand.
11186         * config/ia64/ia64-protos.h: Update decls.
11187         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
11188         (sibcall_pic): Likewise.
11189
11190 2001-08-18  Richard Henderson  <rth@redhat.com>
11191
11192         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
11193         pred_rel_mutex when searching for insn_group_barrier.
11194         * config/ia64/ia64.md (cycle_display): Combine the expander
11195         and insn patterns.
11196
11197         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
11198         bit before asm as needed.
11199
11200 2001-08-18  Richard Henderson  <rth@redhat.com>
11201
11202         * timevar.def (TV_MACH_DEP): New.
11203         * toplev.c (rest_of_compilation): Use it.
11204         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
11205
11206 2001-08-18  Zack Weinberg  <zackw@panix.com>
11207
11208         * unwind-dw2.c (execute_stack_op): Add default aborts to
11209         the inner switches to prevent warnings.
11210
11211 2001-08-18  Richard Henderson  <rth@redhat.com>
11212
11213         * timevar.h (struct timevar_time_def): Change element type to float.
11214         (ticks_to_msec, clocks_to_msec): Likewise.
11215         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
11216         (get_time): Likewise.
11217         (timevar_print): Adjust zero check and printing to match.
11218
11219 2001-08-18  Zack Weinberg  <zackw@panix.com>
11220
11221         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
11222         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
11223         Eliminate overfull or underfull hboxes.
11224
11225 2001-08-18  Zack Weinberg  <zackw@panix.com>
11226
11227         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11228
11229 2001-08-18  Zack Weinberg  <zackw@panix.com>
11230
11231         * haifa-sched.c: Convert to target hooks.  Macros replaced
11232         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
11233         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
11234         MD_SCHED_FINISH, and HAVE_cycle_display.
11235         * target-def.h (TARGET_SCHED_ADJUST_COST,
11236         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
11237         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
11238         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
11239         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
11240         New hook #defines to be overridden.
11241         (TARGET_SCHED): Bring them all together.
11242         (TARGET_INITIALIZER): Update.
11243         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
11244         instead of 'struct rtx_def *' throughout.
11245         (struct sched): New set of hooks for the scheduler.
11246         * Makefile.in (haifa-sched.o): Depend on target.h.
11247         * doc/tm.texi: Document the new scheduler hooks, together in
11248         their own section, instead of scattered around.
11249         Fix a bunch of underfull/overfull hboxes.
11250
11251         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
11252         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
11253         sparc.h: Don't define any of the old scheduler macros.
11254
11255         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
11256         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
11257         sparc.c: Create hook functions from code extracted from
11258         corresponding target header, or make existing hooks static, as
11259         appropriate.  Set the appropriate entries in targetm.
11260
11261         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
11262         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
11263         rs6000-protos.h, s390-protos.h, sparc-protos.h:
11264         Remove prototypes for functions which are now static.
11265
11266         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
11267         related gunk; the Haifa scheduler is now the only choice.
11268
11269 2001-08-18  Zack Weinberg  <zackw@panix.com>
11270
11271         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
11272         * genopinit.c: Put floating point divide insns in sdiv_optab.
11273         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
11274         * config/gofast.h, config/c4x/c4x.h,
11275         config/ia64/hpux_longdouble.h, config/mips/mips.h,
11276         config/pa/long_double.h, config/rs6000/sysv4.h,
11277         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
11278         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
11279         (init_optabs): Use init_optabv for overflow-trapping optabs.
11280         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
11281         cmp_optab RTX codes so have_insn_for can find them.
11282
11283         * optabs.c (expand_simple_binop, expand_simple_unop,
11284         have_insn_for, gen_sub3_insn): New interfaces.
11285         * expr.h: Prototype new functions.
11286         (enum optab_methods): Move here from optabs.h.
11287
11288         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
11289         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
11290         Use new functions instead of working directly with optabs.
11291         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
11292         unroll.c: Don't include optabs.h.
11293         * caller-save.c, combine.c, function.c, stmt.c: Just include
11294         insn-codes.h, not optabs.h.
11295         * Makefile.in: Update dependencies.
11296
11297         * combine.c (make_compound_operation, simplify_comparison):
11298         Fix typos testing for this or that instruction.
11299
11300 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
11301
11302         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
11303         generating libgcc.a.
11304
11305 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11306
11307         * except.c (TYPE_HASH): Delete.
11308
11309         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
11310         HOST_WIDE_INT.
11311
11312         * tree.c (TYPE_HASH): Delete.
11313
11314         * tree.h (TYPE_HASH): Define.
11315
11316 2001-08-18  Graham Stott  <grahams@redhat.com>
11317
11318         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
11319         define_split.
11320         (adddi3_internal_2+2): Likewise.
11321         (eh_set_lr_di+1): Likewise.
11322
11323 2001-08-17  Richard Henderson  <rth@redhat.com>
11324
11325         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11326         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
11327         * dwarf2asm.c: ... here.
11328         * dwarfout.c: Remove them.
11329
11330         * varasm.c (assemble_integer): Add align parameter.
11331         (assemble_real, output_constant, output_constructor): Likewise.
11332         * output.h: Update decls.
11333         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
11334         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
11335         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
11336         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
11337         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
11338         Update all callers.
11339
11340         * final.c (end_final): Abort profile block generation if we
11341         haven't layed it out properly.
11342         * output.h (assemble_eh_integer): Remove stale decl.
11343         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
11344         (min_align): New.
11345         (assemble_integer): Handle unaligned data.
11346         (assemble_real): Abort on unaligned data.
11347         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
11348         anything useful.
11349         (default_dtor_section_asm_out_destructor): Use assemble_align.
11350         (default_named_section_asm_out_constructor): Likewise.
11351         (default_ctor_section_asm_out_constructor): Likewise.
11352         * config/darwin.c (machopic_asm_out_constructor): Likewise.
11353         (machopic_asm_out_destructor): Likewise.
11354         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
11355         (nextstep_asm_out_destructor): Likewise.
11356         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
11357         (vms_asm_out_destructor): Likewise.
11358
11359 2001-08-17  Richard Henderson  <rth@redhat.com>
11360
11361         * config/mips/iris6.h (TARGET_IRIX6): New.
11362         (current_section_name, current_section_flags): New.
11363         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
11364         (MAX_OFILE_ALIGNMENT): New.
11365         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
11366         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
11367         (copy_file_data): Split out from
11368         (mips_asm_file_end): ... here.
11369         (mips_asm_file_start): Remove extra .section directive.  Use
11370         tmpfile instead of mips_make_temp_file.
11371         (mips_unique_section): Use const char * as needed for warnings.
11372         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
11373         re-add align parameter.
11374         (iris6_asm_named_section): New.
11375         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
11376         (iris6_asm_output_align, iris6_section_align_1): New.
11377         (iris6_asm_file_start, iris6_asm_file_end): New.
11378         * config/mips/mips-protos.h: Update decls.
11379
11380 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
11381
11382         * doc/install.texi (Install GCC): Add links to build status pages.
11383         (Specific): Ditto.
11384         (Final install): Ditto; request updates for specific info
11385
11386 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
11387
11388         * cpperror.c (print_location):  Don't take a file name; use the
11389         line map instead.
11390         (_cpp_begin_message): Similarly.
11391         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
11392         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
11393         (cpp_pedwarn_with_file_and_line): Remove.
11394         * cppfiles.c (stack_include_file): Update; set filename to stdin
11395         here when appropriate.
11396         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
11397         (_cpp_begin_message): Don't take a file name.
11398         * cppinit.c: Add comment.
11399         * cpplex.c: Fix end-of-directive indicator.
11400         * cpplib.c: Don't include intl.h.
11401         (run_directive, do_diagnostic): Update.
11402         (do_line): Update to not use nominal_fname.
11403         (cpp_push_buffer): Don't take a filename.
11404         * cpplib.h (struct ht): Remove.
11405         (cpp_push_buffer): Don't take a filename.
11406         (cpp_pedwarn_with_file_and_line): Remove.
11407         * cppmacro.c (struct cpp_macro): Remove file.
11408         (builtin_macro): Update.
11409         (_cpp_create_definition): Update.
11410         * cppmain.c: Correct comment.
11411         * fix-header.c (read_scan_file): Update.
11412
11413 2001-08-17  Kazu Hirata  <kazu@hxi.com>
11414
11415         * sbitmap.c: Fix comment formatting.
11416         * sched-deps.c: Likewise.
11417         * sibcall.c: Likewise.
11418         * simplify-rtx.c: Likewise.
11419         * ssa.c: Likewise.
11420         * ssa-ccp.c: Likewise.
11421         * stor-layout.c: Likewise.
11422         * timevar.c: Likewise.
11423         * toplev.c: Likewise.
11424         * unwind-dw2.c: Likewise.
11425         * unwind-dw2-fde.c: Likewise.
11426         * varasm.c: Likewise.
11427
11428 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11429
11430         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
11431         or larger than an integer in memory.
11432
11433 2001-08-17  Zack Weinberg  <zackw@panix.com>
11434
11435         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
11436         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
11437         * rtl.h: Don't forward-declare union tree_node here.  Don't
11438         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
11439         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
11440         and tree respectively.
11441         * tree.h: Don't forward-declare struct rtx_def here.  Don't
11442         typedef tree here.  Change all uses of struct rtx_def *,
11443         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
11444         and tree respectively.
11445
11446 2001-08-17  Richard Henderson  <rth@redhat.com>
11447
11448         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
11449         config/mips/openbsd.h: Fix typos last change.
11450
11451 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11452
11453         * doc/invoke.texi (Optimize Options): The default for
11454         -finline-limit is 600.
11455
11456 2001-08-17  Richard Henderson  <rth@redhat.com>
11457
11458         * varasm.c (text_section): Allow TEXT_SECTION to override the
11459         printing of TEXT_SECTION_ASM_OP.
11460         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
11461         (DATA_SECTION, BSS_SECTION): Remove.
11462         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
11463         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
11464         Rename from s/_NAME//.
11465         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
11466         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
11467         (TEXT_SECTION): ... here.  New.
11468         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
11469         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
11470         * config/mips/openbsd.h: Likewise.
11471         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
11472         (mips_asm_file_end): Likewise test.
11473         (mips_output_function_epilogue): Likewise.  Switch back to data
11474         section after emitting the function.
11475
11476         * doc/tm.texi (Sections): Document TEXT_SECTION.
11477
11478 2001-08-17  Richard Henderson  <rth@redhat.com>
11479
11480         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
11481         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
11482
11483 2001-08-17  Richard Henderson  <rth@redhat.com>
11484
11485         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
11486         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
11487         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
11488         Add aligned attribute.
11489
11490 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
11491
11492         * config/sh/sh.md: Add modes to unspecs in first insn to match
11493         those in the second.
11494
11495         * Makefile.in: Fix collect2 copy for Cygwin.
11496
11497 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
11498
11499         Install the proper patch.
11500         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
11501         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
11502         (expand_function_start): Likewise.
11503         * stmt.c (expand_decl): Likewise.
11504         * varasm.c (make_decl_rtx): Likewise.
11505
11506 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11507
11508         * final.c: Undo my previous accidental checkin.
11509         * output.h: Likewise.
11510         * tm.texi: Likewise.
11511
11512 2001-08-16  Richard Henderson  <rth@redhat.com>
11513
11514         * varasm.c (named_section_flags): Remove align parameter.
11515         * varasm.c, dwarf2out.c: Update all callers.
11516         * output.h: Update prototypes.
11517
11518         * target.h (target.asm_out.named_section): Remove align parameter.
11519         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
11520         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
11521         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
11522         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
11523         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
11524
11525         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
11526         (get_named_section_flags, set_named_section_flags): New.
11527         (named_section_flags): Use them.
11528         (named_section): Do decl vs section flags check here...
11529         (default_section_type_flags): ... not here.
11530         (init_varasm_once): Create in_named_htab.
11531         (resolve_unique_section): Mark reloc unused.
11532
11533 2001-08-16  Richard Henderson  <rth@redhat.com>
11534
11535         * varasm.c (force_const_mem): Keep pool alignment in bits.
11536         (output_constant_pool): Use assemble_align.
11537
11538 2001-08-16  Zack Weinberg  <zackw@panix.com>
11539
11540         * doc/tm.texi: Remove extra @table command.
11541
11542 2001-08-16  Zack Weinberg  <zackw@panix.com>
11543
11544         * final.c (shorten_branches): Clear the end of the label_align
11545         array only if we made it larger.  Break up messy expressions
11546         for clarity.
11547
11548         * diagnostic.c (internal_error): Check for error recursion
11549         before doing ICE suppression.
11550
11551         * timevar.c: Timing variables now count in milliseconds.
11552         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
11553         (get_time): Not here.
11554         (timevar_print): Don't print any timer whose user, cpu, and
11555         wall times are all zero as displayed.
11556         * timevar.h: Update comment aboout units.  Make timevar
11557         counters unsigned.
11558
11559 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
11560
11561         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
11562         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
11563         (expand_function_start): Likewise.
11564         * stmt.c (expand_decl): Likewise.
11565         * varasm.c (make_decl_rtx): Likewise.
11566
11567 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
11568
11569         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
11570         (finalize_record_size): Don't set TYPE_USER_ALIGN.
11571
11572 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11573
11574         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
11575         variables.
11576
11577 2001-08-16  Andreas Jaeger  <aj@suse.de>
11578
11579         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
11580         prototype.
11581
11582 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
11583
11584         * rtl.h (only_sets_cc0_p): New prototype.
11585         * jump.c (sets_cc0_p): Handle INSN.
11586         (only_sets_cc0_p): New function.
11587         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
11588         (tidy_fallthru_edge): Likewise.
11589         * integrate.c (copy_insn_list): Likewise.
11590         * unroll.c (unroll_loop): Likewise.
11591         (copy_loop_body): Likewise.
11592
11593 2001-08-15  Jason Eckhardt  <jle@redhat.com>
11594
11595         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
11596
11597 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
11598
11599         * predict.c (struct block_info_def): Remove nvisited.
11600         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
11601         (estimate_bb_frequencies): Call mark_dfs_back_edges.
11602
11603         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
11604         (ix86_adjust_cost): Teach scheduler that latency to load operand can
11605         be masked.
11606
11607 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
11608
11609         * predict.def: Update hitrates.
11610
11611 2001-08-15  Richard Henderson  <rth@redhat.com>
11612
11613         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
11614
11615 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
11616
11617         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
11618         note from its associated jump.
11619
11620 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
11621
11622         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
11623         also on 64-bit s390x targets.
11624
11625 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
11626
11627         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
11628         function.
11629         (arm_expand_prologue): Handled nested functions which take a
11630         variable argument list.
11631         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
11632         macro with an invocation of
11633         arm_compute_initial_elimination_offset.
11634         * config/arm/arm-protos.h: Prototype
11635         arm_compute_initial_elimination_offset.
11636
11637 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11638
11639         * doc/install.texi (Specific, avr): Fix markup.
11640         (Specific, c4x): Ditto.
11641
11642 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11643
11644         * predict.c (dump_prediction): Change `bool' parameter to `int'.
11645
11646 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
11647
11648         * Makefile.in (OBJS): Add rtl-error.o
11649         (rtl-error.o): New rule.
11650         (diagnostic.o): Adjust dependency.
11651         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
11652         error_for_asm, _fatal_insn, _fatal_insn_not_found,
11653         warning_for_asm): Move to...
11654         rtl-error.c: ...here.  New file.
11655
11656 2001-08-14  Richard Henderson  <rth@redhat.com>
11657
11658         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
11659         if USING_SJLJ_EXCEPTIONS.
11660
11661 2001-08-14  Steve Ellcey <sje@cup.hp.com>
11662
11663         * tlink.c (scan_linker_output): Check string for unsatisfied in
11664         addition to undefined and unresolved.
11665
11666 2001-08-14  Graham Stott  <grahams@redhat.com>
11667
11668         * libgcc2.c (*): Replace EH_FRAME_SECTION with
11669         EH_FRAME_SECTION_NAME.
11670
11671 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
11672
11673         * genattrtab.c (simplify_test_exp_in_temp): New function.
11674         (simplify_test_exp): Avoid explicit use of temporary obstack.
11675         (simplify_cond, insert_right_side, evaluate_eq_attr,
11676         simplify_and_tree, simplify_or_tree, eliminate_known_true):
11677         Use simplify_test_exp_in_temp.
11678         (optimize_attrs): Iterate until expression stabilizes.
11679
11680 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
11681
11682         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
11683         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
11684
11685 2001-08-13  Richard Henderson  <rth@redhat.com>
11686
11687         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
11688         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
11689         * config/arm/conix-elf.h: Likewise.
11690
11691 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
11692
11693         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
11694         in gcc.c.
11695         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
11696
11697         * gcse.c (hash_scan_set): Expressions that are set as part of
11698         jump instructions are not available.
11699
11700 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
11701
11702         * config/s390/s390.c (print_operand, s390_function_prologue,
11703         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
11704
11705 2001-08-13  Richard Henderson  <rth@redhat.com>
11706
11707         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
11708         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
11709         * doc/tm.texi (Exception Region Output): Document it.
11710
11711 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
11712
11713         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
11714         DWARF2 instead of stabs by default.
11715
11716 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
11717
11718         * config/rs6000/rs6000.c: Include optabs.h.
11719
11720 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
11721
11722         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
11723         save/restore routines.
11724         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
11725
11726 2001-08-13  Andreas Jaeger  <aj@suse.de>
11727
11728         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
11729         the english is correct.
11730
11731 2001-08-13  Zack Weinberg  <zackw@panix.com>
11732
11733         * expr.h: Split out optab- and libfunc-related code to...
11734         * optabs.h, libfuncs.h: ... these new headers.
11735
11736         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
11737         (OPTABS_H): New.
11738         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
11739         dependencies.
11740         * mkconfig.sh: Don't include insn-codes.h from config.h.
11741
11742         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
11743         enum insn_code is available.  Move reload_in_optab and
11744         reload_out_optab array declarations to optabs.h.
11745         * regmove.c (gen_add3_insn): Move to optabs.c, export from
11746         there, prototype in expr.h.
11747         * gencodes.c: Cleanup: zap global variables, don't use
11748         printf where puts will do, don't bother defining MAX_INSN_CODE
11749         which nothing uses, let CODE_FOR_nothing get its value implicitly.
11750
11751         * genemit.c, genopinit.c: Include optabs.h in generated file.
11752         * genoutput.c: Include insn-codes.h in generated file.
11753         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
11754         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
11755         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
11756         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
11757         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
11758         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
11759         Include optabs.h.
11760         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
11761         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
11762         config/m88k/m88k.c, config/sparc/sparc.c:
11763         Include libfuncs.h.
11764         * reload.c: Include expr.h and optabs.h before reload.h.
11765         * config/alpha/alpha.c: Include tree.h before reload.h.
11766         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
11767         and reload.h in that order.
11768         * config/sparc/sparc.c: Include debug.h.
11769         * recog.c: Include insn-codes.h.
11770
11771 2001-08-13  Andreas Jaeger  <aj@suse.de>
11772
11773         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
11774         s390*linux.
11775
11776 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
11777
11778         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
11779         * gcc.c (init_spec): Fix typo in comment.
11780         * varasm.c (data_section): Fix typo in comment.
11781
11782 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
11783
11784         * predict.c (dump_prediction): New argument "USED".
11785         (combine_predictions_for_insn): Determine the used heuristics,
11786         output the case no heuristic applied.
11787         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
11788
11789 2001-08-13  Andreas Jaeger  <aj@suse.de>
11790
11791         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
11792         register %rip.
11793
11794 2001-08-13  Kazu Hirata  <kazu@hxi.com>
11795
11796         * jump.c: Fix formatting.
11797
11798 2001-08-13  Kazu Hirata  <kazu@hxi.com>
11799
11800         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
11801         length.
11802
11803 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
11804
11805         * loop.c (check_dbra_loop): Use condjump_label to compute
11806         jump_label.
11807
11808         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
11809         to better document the files they're in.
11810
11811 2001-08-12  Zack Weinberg  <zackw@panix.com>
11812
11813         * recog.h (struct insn_operand_data): Shrink 'mode' field
11814         to 16 bits.
11815
11816 2001-08-12  Kazu Hirata  <kazu@hxi.com>
11817
11818         * gcc.c: Fix comment formatting.
11819         * gccspec.c: Likewise.
11820         * gcov.c: Likewise.
11821         * gcse.c: Likewise.
11822         * genemit.c: Likewise.
11823         * gengenrtl.c: Likewise.
11824         * genrecog.c: Likewise.
11825         * gensupport.c: Likewise.
11826         * ggc-page.c: Likewise.
11827         * global.c: Likewise.
11828         * graph.c: Likewise.
11829         * ifcvt.c: Likewise.
11830         * integrate.c: Likewise.
11831         * lcm.c: Likewise.
11832         * libgcc2.c: Likewise.
11833         * loop.c: Likewise.
11834         * mbchar.c: Likewise.
11835         * optabs.c: Likewise.
11836         * predict.c: Likewise.
11837         * prefix.c: Likewise.
11838         * profile.c: Likewise.
11839         * protoize.c: Likewise.
11840         * real.c: Likewise.
11841         * recog.c: Likewise.
11842         * regclass.c: Likewise.
11843         * regmove.c: Likewise.
11844         * reg-stack.c: Likewise.
11845         * reload1.c: Likewise.
11846         * resource.c: Likewise.
11847         * rtlanal.c: Likewise.
11848         * rtl.c: Likewise.
11849
11850 2001-08-12  Kazu Hirata  <kazu@hxi.com>
11851
11852         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
11853         a tree representing a constant is passed to the macro.
11854
11855 2001-08-12  Richard Henderson  <rth@redhat.com>
11856
11857         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
11858         (rs6000_elf_asm_out_destructor): New.
11859         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
11860         (DTORS_SECTION_ASM_OP): Remove.
11861         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
11862         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
11863
11864 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
11865
11866         Revert:
11867         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11868         * gcc.c (set_collect_gcc_options): New function, split out from
11869         main.
11870         Ignore elided switches.
11871         (do_spec_1): Invoke before executing command.
11872         (set_input): Export.
11873         Move declaration ...
11874         * gcc.h (set_input): ... here.
11875         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
11876         file.
11877
11878 2001-08-12  Richard Henderson  <rth@redhat.com>
11879
11880         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
11881         thinko wrt TARGET_RELOCATABLE.
11882
11883 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
11884
11885         * fix-header.c (cb_file_change): Update prototype.
11886
11887 2001-08-11  Zack Weinberg  <zackw@panix.com>
11888
11889         * toplev.c (set_float_handler): Make static.
11890         * toplev.h: Don't prototype set_float_handler.
11891
11892         * simplify-rtx.c: Don't include setjmp.h.
11893         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
11894         New functions.
11895         (simplify_unary_operation, simplify_binary_operation): Use them,
11896         via do_float_handler.
11897
11898         * fold-const.c: Don't include setjmp.h.
11899         (exact_real_inverse_1): New function.
11900         (exact_real_inverse): Use it, via do_float_handler.
11901
11902         * varasm.c: Don't include setjmp.h.
11903         (assemble_real_1): New function.
11904         (assemble_real): Use it, via do_float_handler.
11905         Call internal_error if we get a trap here.
11906
11907         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
11908         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
11909
11910 2001-08-11  Zack Weinberg  <zackw@panix.com>
11911
11912         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
11913         STACK_BOUNDARY if not already defined.
11914
11915         * calls.c, function.c, reload1.c, explow.c: Don't default
11916         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
11917         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
11918
11919         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
11920         to run-time test.
11921
11922         * doc/tm.texi: Document that STACK_BOUNDARY is required;
11923         clarify difference between it and PREFERRED_STACK_BOUNDARY.
11924
11925 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11926
11927         * cppmacro.c (enter_macro_context): Push macro expansions even
11928         if empty.
11929
11930 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11931
11932         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
11933         (rs6000_elf_section_type_flags): Actually return a value.
11934
11935 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
11936
11937         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
11938         Clean up code: add missing comments and prototypes, fix warnings,
11939         remove obsolete code, fix spacing to conform to coding style.
11940
11941 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
11942
11943         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
11944         and TARGET_ASM_CLOSE_PAREN.
11945         (regclass_map): CC register belongs to class NO_REGS.
11946         (legitimize_pic_address): Don't generate unnecessary moves
11947         (to avoid confusing loop optimization).
11948         (check_and_change_labels): Replace jump_long by indirect_jump.
11949         (s390_final_chunkify): Don't start a new literal pool on section
11950         switch in 64-bit code.
11951         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
11952
11953         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
11954         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
11955         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
11956         modes correctly.
11957         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
11958         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
11959         (CONST_COSTS): Fixed incorrect costs.
11960
11961         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
11962         Use emit_jump instead of emit_jump_insn (gen_jump).
11963         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
11964         (to avoid confusing flow analysis).
11965         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
11966         (casesi, casesi_jump): New.
11967         (jump_long): Removed.  Functionality merged into indirect_jump.
11968         (indirect_jump): Accept address_operand, not just register_operand.
11969         (cjump_long, icjump_long): Use same logic as indirect_jump.
11970         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
11971         Fixed broken setjmp/longjmp handling.
11972         (do_builtin_setjmp_setup): Removed.
11973
11974         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
11975         broken GNU as versions that don't accept .quad with large
11976         negative values.  Use hexadecimal output instead.
11977         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
11978         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
11979         FUNCTION_EPILOGUE): Removed.  Now in targetm.
11980
11981         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
11982
11983         * config/s390/fixdfdi.h: Add missing copyright statement.
11984         Fix type conflicts on 64-bit.  Add missing SFmode routines.
11985
11986         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
11987         email address.
11988
11989 2001-08-11  Richard Henderson  <rth@redhat.com>
11990
11991         * rtl.h (REG_EH_RETHROW): Remove.
11992         * rtl.c (reg_note_name): Update.
11993         * combine.c (distribute_notes): Don't check for it.
11994
11995 2001-08-11  Richard Henderson  <rth@redhat.com>
11996
11997         * combine.c (distribute_notes): Place REG_SETJMP.
11998
11999 2001-08-11  Richard Henderson  <rth@redhat.com>
12000
12001         * doc/extend.texi (Arrays and pointers implementation): Discourage
12002         relying on sign-extension of pointers.
12003
12004 2001-08-11  H.J. Lu <hjl@gnu.org>
12005
12006         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
12007         in_dtors.
12008         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
12009         RDATA_SECTION_ASM_OP.
12010
12011 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12012
12013         * doc/install.texi (Specific, c4x): Fix cross-reference to the
12014         main manual to work both for info and HTML versions.
12015
12016 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12017             Matt Kraai <kraai@alumni.carnegiemellon.edu>
12018
12019         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
12020         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
12021         (struct cpp_pool): New member first.
12022         * cppinit.c (append_include_chain): Plug memory leaks.
12023         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
12024         Allocate pragma structures from the (aligned) macro pool to
12025         avoid leaking memory.
12026         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
12027         so we don't leak memory.
12028         * hashtable.c (ht_destroy): New.
12029         * hashtable.h (ht_destroy): New.
12030
12031 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12032             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12033
12034         * c-lex.c (map): Make const.
12035         (cb_file_change): Update for callback passing a line map.
12036         Don't assume we have a previous map.  Remove sanity check
12037         about popping too many files.
12038         * cpperror.c (print_location): Make map const.
12039         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
12040         (cpp_make_system_header): Similarly.
12041         (search_from): Similarly.
12042         (_cpp_execute_include): Don't remember where we came from.
12043         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
12044         (struct cpp_reader): Make map const.
12045         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
12046         * cpplib.c (do_line): Update; line maps now hold sysp.
12047         (cpp_push_buffer): Similarly.
12048         (_cpp_do_file_change): Similarly; callback with map instead.
12049         (cpp_get_line_maps): Constify return value.
12050         (_cpp_pop_buffer): Update.
12051         * cpplib.h (struct cpp_file_change): Remove.
12052         (struct cpp_callbacks): Update.
12053         (cpp_get_line_maps): Constify return value.
12054         * cppmacro.c (_cpp_create_definition): Update.
12055         * cppmain.c (struct printer): Constify map.
12056         (maybe_print_line): Similarly.
12057         (print_line): Similarly.  Deduce flags 1 and 2 here.
12058         (cb_file_change): Update.
12059         * line-map.c (free_line_maps): Warn regardless.
12060         (add_line_map): Return pointer to const.  When passed NULL to_file
12061         with LC_LEAVE, use the obvious values for the return point so the
12062         caller doesn't have to figure them out.
12063         (lookup_line): Return pointer to const.
12064         (print_containing_files): Take pointer to const.
12065         * line-map.h (struct line_map): New members reason, sysp.
12066         (add_line_map): Return pointer to const.
12067         (lookup_line): Similarly.
12068         (print_containing_files): Take pointer to const.
12069
12070 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
12071             Richard Henderson  <rth@redhat.com>
12072
12073         * regmove.c (regmove_optimize): Avoid setting a register twice in
12074         a parallel set.
12075
12076 2001-08-10  Richard Henderson  <rth@redhat.com>
12077
12078         * doc/extend.texi (Arrays and pointers implementation): Document
12079         behavior of pointer/integer conversion.
12080
12081 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
12082
12083         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
12084
12085 2001-08-10  Richard Henderson  <rth@redhat.com>
12086
12087         * doc/extend.texi (C Implementation): New chapter.
12088         * doc/gcc.texi (Top): Link it in.
12089
12090 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
12091
12092         * doc/install.texi (Specific): Fix CVS merge botch.
12093
12094 2001-08-10  Richard Henderson  <rth@redhat.com>
12095
12096         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
12097         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
12098
12099 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
12100
12101         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
12102         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
12103         this macro is now required.
12104
12105         * cselib.c (cselib_process_insn), flow.c (propagate_block),
12106         loop.c (find_and_verify_loops), reload.c (reload): Check
12107         for rtx code of CALL_INSN, not CALL, when deciding if we
12108         need to check for REG_SETJMP note.
12109
12110         * gcse.c (compute_hash_table, compute_store_table): Update
12111         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
12112         logic.
12113
12114         * config/avr/avr.c: Fix typo.
12115         * config/convex/convex.c (expand_movstr): Use adjust_address.
12116         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
12117         variable.
12118         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
12119         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
12120         Fix typo.
12121         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
12122         Do define STACK_BOUNDARY.
12123         * config/i370/i370.c: Include expr.h.
12124         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
12125         config/pa/som.h, config/v850/v850.h: Take in_ctors and
12126         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
12127         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
12128         * config/m88k/m88k.c: Include c-tree.h after expr.h.
12129         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
12130         * config/romp/romp.c: Include expr.h after tree.h.
12131         Include toplev.h.
12132         (output_fpop): Use xmalloc, not oballoc.
12133         * config/we32k/we32k.c: Include expr.h.
12134
12135 2001-08-10  Kazu Hirata  <kazu@hxi.com>
12136
12137         * config/h8300/h8300.h: Fix formatting.
12138
12139 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
12140
12141         * c-common.h (RETURN_NULLIFIED_P): Lose.
12142         * c-semantics.c (genrtl_return_stmt): Don't check it.
12143
12144 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
12145
12146         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
12147         (mips_annotate_frame_insn): New function.
12148         (mips_emit_frame_related_store): New function.
12149         (save_restore_insns): Don't mark instructions that set up the base
12150         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
12151         the store instructions instead.
12152         (mips_expand_prologue): If the stack size is moved into a temporary
12153         register, do not mark that move as frame-related.  Add a
12154         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
12155
12156 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
12157
12158         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
12159         stack slot as unchanging if current_function_calls_eh_return.
12160
12161 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
12162
12163         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
12164         access the second half of the TFmode scratch operand.
12165
12166 2001-08-10  Anthony Green  <green@redhat.com>
12167
12168         * java/class.c (emit_register_classes): Conditionalize code on
12169         JCR_SECTION_NAME.
12170
12171 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12172
12173         * doc/install.texi (Specific, avr): Fix cross-reference to the
12174         main manual to work both for info and HTML versions.
12175
12176 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12177
12178         * stmt.c (expand_null_return_1): Remove code to generate simple returns
12179         and "use_goto" argument.
12180         (expand_null_return, expand_value_return): Update all callers.
12181         * function.c (expand_function_end): Remove code to generate simple
12182         return.
12183         * config/vax/vax.md (epilogue): New expander for function return.
12184         * doc/md.texi (epilogue): Remove "if defined".
12185
12186 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
12187
12188         * Makefile.in: Partially revert my previous change:
12189         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
12190         of the hashtab.o and safe-ctype.o rules.
12191
12192 2001-08-09  Richard Henderson  <rth@redhat.com>
12193
12194         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
12195         (USE_COLLECT2): Remove duplicate definition.
12196         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
12197         (use_collect2): Remove dead code.
12198         * configure.in (use_collect2): Remove will_use_collect2 and
12199         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
12200         * configure: Rebuild.
12201
12202         * target.h (targetm.asm_out.constructor): New.
12203         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
12204         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
12205         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
12206         * varasm.c (in_ctors, in_dtors): New.
12207         (assemble_constructor, assemble_destructor): Remove.
12208         (default_stabs_asm_out_destructor): New.
12209         (default_named_section_asm_out_destructor): New.
12210         (dtors_section, default_dtor_section_asm_out_destructor): New.
12211         (default_stabs_asm_out_constructor): New.
12212         (default_named_section_asm_out_constructor): New.
12213         (ctors_section, default_ctor_section_asm_out_constructor): New.
12214         * output.h: Update declarations.
12215         * c-decl.c (c_expand_body): Use target hooks instead of
12216         assemble_constructor and assemble_destructor.
12217         * profile.c (output_func_start_profiler): Likewise.
12218         * objc/objc-act.c (finish_objc): Likewise.
12219         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
12220         for the constructor.
12221         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
12222
12223         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
12224         (DTORS_SECTION_ASM_OP): Likewise.
12225         (__CTOR_LIST__): Use attribute section when possible.
12226         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
12227
12228         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
12229         ASM_OUTPUT_CONSTRUCTOR.
12230
12231         * config/darwin.c (machopic_asm_out_constructor): New.
12232         (machopic_asm_out_destructor): New.
12233         * config/darwin-protos.h: Update declarations.
12234         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12235         (ASM_OUTPUT_DESTRUCTOR): Remove.
12236         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12237         * config/nextstep.c (nextstep_asm_out_constructor): New.
12238         (nextstep_asm_out_destructor): New.
12239         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12240         (ASM_OUTPUT_DESTRUCTOR): Remove.
12241         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12242         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
12243         ASM_OUTPUT_*STRUCTOR.
12244         * config/i386/aix386ng.h: Likewise.
12245
12246         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
12247         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
12248         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
12249         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12250         * config/lynx.h: Likewise.
12251         * config/netware.h: Likewise.
12252         * config/psos.h: Likewise.
12253         * config/alpha/alpha-interix.h: Likewise.
12254         * config/alpha/elf.h: Likewise.
12255         * config/arc/arc.h: Likewise.
12256         * config/arm/aof.h: Likewise.
12257         * config/arm/coff.h: Likewise.
12258         * config/arm/elf.h: Likewise.
12259         * config/c4x/c4x.h: Likewise.
12260         * config/h8300/h8300.h: Likewise.
12261         * config/i386/cygwin.h: Likewise.
12262         * config/i386/djgpp.h: Likewise.
12263         * config/i386/i386-coff.h: Likewise.
12264         * config/i386/i386-interix.h: Likewise.
12265         * config/i386/sco5.h: Likewise.
12266         * config/i386/vsta.h: Likewise.
12267         * config/i386/win32.h: Likewise.
12268         * config/i960/i960-coff.h: Likewise.
12269         * config/ia64/sysv4.h: Likewise.
12270         * config/m68hc11/m68hc11.h: Likewise.
12271         * config/m68k/coff.h: Likewise.
12272         * config/m68k/mot3300.h: Likewise.
12273         * config/m88k/m88k.h: Likewise.
12274         * config/mcore/mcore-pe.h: Likewise.
12275         * config/mcore/mcore.h: Likewise.
12276         * config/mips/elf.h: Likewise.
12277         * config/mips/elf64.h: Likewise.
12278         * config/mips/iris6.h: Likewise.
12279         * config/pa/pa64-hpux.h: Likewise.
12280         * config/rs6000/sysv4.h: Likewise.
12281         * config/sh/sh.h: Likewise.
12282         * config/sparc/litecoff.h: Likewise.
12283
12284         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
12285         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
12286         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12287         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12288         (ASM_OUTPUT_DESTRUCTOR): Remove.
12289         * config/a29k/a29k.c: Move include of tree.h.
12290         * config/a29k/udi.h: Delete file.
12291         * config/alpha/alpha.c (vms_asm_out_constructor): New.
12292         (vms_asm_out_destructor): New.
12293         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
12294         (EXTRA_SECTION_FUNCTIONS): Likewise.
12295         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12296         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12297         * config/c4x/c4x.c: Move include of tree.h.
12298         * config/clipper/clipper.c (clix_asm_out_constructor): New.
12299         (clix_asm_out_destructor): New.
12300         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12301         (ASM_OUTPUT_DESTRUCTOR): Remove.
12302         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12303         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12304         (TARGET_ASM_CONSTRUCTOR): New.
12305         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
12306         (sco_asm_out_constructor): New.
12307         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
12308         * config/i386/svr3gas.h: Remove stack grows up code.
12309         Remove code duplicated from i386/sysv3.h.
12310         (TARGET_ASM_CONSTRUCTOR): New.
12311         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12312         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
12313         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12314         (TARGET_ASM_CONSTRUCTOR): New.
12315         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
12316         (m68hc11_asm_out_destructor): New.
12317         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
12318         (TARGET_ASM_DESTRUCTOR): New.
12319         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
12320         * config/m68k/dpx2.h: Properly undef all the bits inherited from
12321         config/svr3.h pertaining to section manipulation.
12322         * config/m68k/dpx2g.h: Remove #if 0 code.
12323         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
12324         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
12325         (ASM_OUTPUT_CONSTRUCTOR): Remove.
12326         (TARGET_ASM_CONSTRUCTOR): New.
12327         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
12328         (m88k_svr3_asm_out_constructor): New.
12329         (m88k_svr3_asm_out_destructor): New.
12330         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12331         (ASM_OUTPUT_DESTRUCTOR): Remove.
12332         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12333         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
12334         * config/rs6000/aix.h: Likewise.
12335         * config/mips/rtems64.h: Don't undef removed constructor related bits.
12336         * config/mips/vxworks.h: Likewise.
12337         * config/rs6000/lynx.h: Likewise.
12338         * config/sh/elf.h: Likewise.
12339         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
12340         (DTORS_SECTION_ASM_OP): New.
12341         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12342         (ASM_OUTPUT_DESTRUCTOR): Remove.
12343         * config/sparc/sol2-sld-64.h: Likewise.
12344         * config/vax/vax.c (vms_asm_out_constructor): New.
12345         (vms_asm_out_destructor): New.
12346         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12347         (ASM_OUTPUT_DESTRUCTOR): Remove.
12348         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12349
12350         * doc/tm.texi (@node Initialization): Update.
12351
12352 2001-08-09  Richard Henderson  <rth@redhat.com>
12353
12354         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
12355         (__do_global_dtors_aux): Use gp-relative static data to avoid
12356         one dynamic relocation.
12357         (__do_frame_setup): Register Java classes.
12358         * config/alpha/crtend.asm (__JCR_END__): New.
12359
12360 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
12361
12362         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
12363         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
12364         (GEN, STAGESTUFF): Add new files.
12365         (insn-constants.h, s-constants, tm-preds.h, s-preds,
12366         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
12367         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
12368         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
12369         as well as insn-codes.h and insn-flags.h in config.h; and no
12370         extra headers in tconfig.h and hconfig.h.
12371
12372         * gencodes.c: Eliminate code to generate predicate declarations
12373         or #defines for md-file constants.
12374         * genconstants.c, genpreds.c: New files.
12375
12376         * i386.md: Re-order guard expressions such that TARGET_64BIT
12377         comes first, when this permits better optimization.  Add
12378         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
12379         why this is desirable.
12380
12381 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
12382
12383         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
12384         (find_fde_for_dso): Remove.
12385         (_Unwind_IteratePhdrCallback): New.
12386         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
12387         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
12388
12389 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12390
12391         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
12392         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
12393
12394 2001-08-09  Graham Stott  <grahams@redhat.com>
12395
12396         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
12397         (vis_no_unit): Use it.
12398         (visualize_no_unit): Add the insn only if room exists.
12399
12400 2001-08-09  Graham Stott  <grahams@redhat.com>
12401
12402         * predict.c (estimate_probability): Replace magic numbers with
12403         appropriate enumeration.
12404
12405 2001-08-09  Graham Stott  <grahams@redhat.com>
12406
12407         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
12408         parameter.
12409         (EXTRACT_FLAGS): Likewise.
12410
12411 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
12412
12413         * config/mips/mips.c    (mips_legitimate_address_p): Check for
12414         CONST_INT in last patch.
12415
12416 2001-08-08  Anthony Green  <green@redhat.com>
12417
12418         * java/class.c (emit_register_classes): Use assemble_jcr if
12419         possible.  Keep the original mechanism as a fallback.
12420         * defaults.h (JCR_SECTION_NAME): Define if we have named section
12421         and weak symbol support.
12422         * crtstuff.c (__JCR_LIST__): Define.
12423         (__JCR_END__): Define.
12424         (_Jv_RegiserClasses): Define weak symbol if possible.
12425         (__do_global_ctors_aux): Register classes for ELF targets with
12426         weak symbol support.
12427
12428 2001-08-08  Kazu Hirata  <kazu@hxi.com>
12429
12430         * dbxout.c: Fix comment formatting.
12431         * dependence.c: Likewise.
12432         * df.c: Likewise.
12433         * diagnostic.c: Likewise.
12434         * dominance.c: Likewise.
12435         * doprint.c: Likewise.
12436         * dwarf2out.c: Likewise.
12437         * dwarfout.c: Likewise.
12438         * emit-rtl.c: Likewise.
12439         * except.c: Likewise.
12440         * explow.c: Likewise.
12441         * expmed.c: Likewise.
12442         * expr.c: Likewise.
12443         * flow.c: Likewise.
12444         * fold-const.c: Likewise.
12445         * function.c: Likewise.
12446
12447 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12448
12449         * global.c (retry_global_alloc): Avoid shadowing allocno.
12450
12451 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
12452
12453         * except.c (remove_fixup_regions): Fix typo.
12454
12455 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
12456
12457         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
12458         unsigned HOST_WIDE_INT to avoid warning.
12459         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
12460         * flow.c (set_block_for_new_insns): Likewise.
12461
12462 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
12463
12464         * sibcall.c (return_value_pseudo): New static variable.
12465         (skip_copy_to_return_value): Handle return_value_pseudo.
12466         (call_ends_block_p): Ensure that return_value_pseudo is set.
12467         (optimize_sibling_and_tail_recursive_call): Discover the
12468         load of pseudo return value in alternate exit block.
12469
12470 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12471
12472         * calls.c (ECF_ALWAYS_RETURN): New constant.
12473         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
12474         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
12475         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
12476         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
12477         * rtl.c (reg_note_name): New name.
12478         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
12479
12480 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
12481
12482         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
12483
12484 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
12485
12486         * alias.c (get_alias_set): Return a previously calculated
12487         alias set for a VAR_DECL.
12488         * function.c (gen_mem_addressof): Calculate the alias set before
12489         touching the RTL.
12490
12491 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
12492
12493         * predict.def: Set hitrates according our experimental run.
12494
12495 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
12496
12497         * i386.h (HARD_REGNO_RENAME_OK): New macro.
12498
12499 2001-08-08  H.J. Lu <hjl@gnu.org>
12500
12501         * config/mips/mips.c (mips_unique_section): New. Copied from
12502         config/mips/elf.h.
12503
12504         * config/mips/mips-protos.h (mips_unique_section): New
12505         prototype.
12506
12507         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
12508
12509         * config/mips/little.h: New. Generic little endian mips
12510         targets. Only mips*-*-linux* is converted to use it so far.
12511
12512         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
12513         (WCHAR_TYPE): Defined
12514         (WCHAR_TYPE_SIZE): Likewise.
12515         (INIT_SUBTARGET_OPTABS): Likewise.
12516         (BSS_SECTION_ASM_OP): Likewise.
12517         (SBSS_SECTION_ASM_OP): Likewise.
12518         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12519         (ASM_DECLARE_OBJECT_NAME): Likewise.
12520         (UNIQUE_SECTION): Likewise.
12521         (EXTRA_SECTIONS): Likewise.
12522         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
12523         (ASM_OUTPUT_DESTRUCTOR): Likewise.
12524         (ASM_OUTPUT_DEF): Likewise.
12525         (HANDLE_SYSV_PRAGMA): Removed.
12526         (NO_IMPLICIT_EXTERN_C): Likewise.
12527         (TARGET_MEM_FUNCTIONS): Likewise.
12528         (STARTFILE_SPEC): Likewise.
12529         (ENDFILE_SPEC): Likewise.
12530         (LIB_SPEC): Likewise.
12531         (INVOKE__main): Likewise.
12532         (CTOR_LIST_BEGIN): Likewise.
12533         (CTOR_LIST_END): Likewise.
12534         (DTOR_LIST_BEGIN): Likewise.
12535         (DTOR_LIST_END): Likewise.
12536         (SET_ASM_OP): Likewise.
12537         (ASM_OUTPUT_SOURCE_LINE): Likewise.
12538         (ASM_OUTPUT_DEF): Likewise.
12539         (ASM_OUTPUT_IDENT): Likewise.
12540
12541         * config/mips/mips.h (ASM_SPEC): Undefine before define.
12542         (CPLUSPLUS_CPP_SPEC): Likewise.
12543         (ASM_APP_ON) Redefine only if not defined.
12544         (ASM_APP_OFF): Likewise.
12545         (ASM_OUTPUT_SOURCE_LINE): Likewise.
12546         (ASM_OUTPUT_IDENT): Likewise.
12547
12548         * config.gcc: Update tm_file for Linux/mips.
12549
12550 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
12551
12552         * cselib.c (cselib_record_sets): If insn is predicated, turn
12553         sources into IF_THEN_ELSEs.
12554
12555         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
12556         Turn into define_insn_and_split.
12557
12558         * sched-deps.c: Include "cselib.h".
12559         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
12560         Use cselib to turn memory addresses into VALUEs.
12561         (sched_analyze): Call cselib_init/cselib_finish if necessary.
12562         * sched-int.h (struct sched_info): New member USE_CSELIB.
12563         * sched-ebb.c (ebb_sched_info): Initialize it.
12564         * sched-rgn.c (rgn_sched_info): Likewise.
12565         * Makefile.in (sched-deps.o): Update dependencies.
12566
12567         * cselib.h (cselib_subst_to_values): Declare.
12568         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
12569         that have no value and autoincs to be handled by generating a new
12570         dummy value.
12571
12572 2001-08-08  Graham Stott  <grahams@redhat.com>
12573
12574         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
12575         within fixed length SEQUENCE.
12576
12577 2001-08-08  Graham Stott  <grahams@redhat.com>
12578
12579         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
12580         (diagnostic_prefixing_rule): Likewise.
12581         (diagnostic_line_cutoff): Likewise.
12582         (diagnostic_kind_count): Likewise.
12583
12584 2001-08-08  Graham Stott  <grahams@redhat.com>
12585
12586         * alias.c (find_base_decl): Delete redundent assignment.
12587
12588 2001-08-08  Graham Stott  <grahams@redhat.com>
12589
12590         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
12591         (abs): Uppercase and paranthesize macro parameter.
12592         (MEM_DEPENDENCY): Add whitespace.
12593
12594 2001-08-08  Graham Stott  <grahams@redhat.com>
12595
12596         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
12597         failure check for CONST_INT
12598
12599 2001-08-08  Graham Stott  <grahams@redhat.com>
12600
12601         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
12602         (libcall_dead_p): Likewise.
12603
12604         (mark_used_regs): Constify fmt.
12605         (find_use_as_address): Likewise.
12606
12607 2001-08-08  Graham Stott  <grahams@redhat.com>
12608
12609         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
12610          parameter.
12611
12612 2001-08-08  Graham Stott  <grahams@redhat.com>
12613
12614         * combine.c (combine_simplify_rtx): Update comment and
12615         remove erroneous test.
12616
12617 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12618
12619         * cppinit.c (cpp_finish): Pop the final buffer without comment.
12620         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
12621         take care to avoid multiple no-newline at EOF warnings in that
12622         case.
12623
12624 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
12625
12626         * calls.c (expand_call): Do not emit INSN_SETJMP note.
12627         (emit_library_call_value_1): Likewise.
12628         (emit_call_1): Emit REG_SETJMP note.
12629         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
12630         of INSN_SETJMP
12631         * cselib.c (cselib_process_insn): Likewise.
12632         * flow.c (propagate_block): Likewise.
12633         * loop.c (find_and_verify_loops): Likewise.
12634         * reload.c (find_equiv_regs): Likewise.
12635         * reload1.c (reload): Likewise.
12636         * resource.c (mark_referenced_resources,
12637         mark_set_resources): Likewise.
12638         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
12639         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
12640         * haifa-sched.c (unlink_other_notes): Likewise.
12641         (reemit_notes): Likewise.
12642         * sched-ebb.c (sched_ebb): Likewise.
12643         * sched-rgc.c (sched_region): Likewise.
12644         * rtl.c (note_insn_name): Likewise.
12645         (reg_note_name): Add REG_SETJMP
12646         * rtl.h (reg_note): Add REG_SETJMP.
12647         (insn_note): Remove NOTE_INSN_SETJMP.
12648
12649         * profile.c (branch_prob): Add fake edges for setjmp.
12650
12651 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
12652
12653         * config.gcc: Quote target_cpu_default2 correctly for
12654         powerpc*-*-* targets.
12655
12656 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12657
12658         * cpplib.h, line-map.h: Update comments.
12659         * cppmain.c (printer_init): Move inline.
12660         (maybe_print_line, print_line): Take a map pointer.
12661         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
12662         (cb_file_change): Don't use prior value of print.map.
12663
12664 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
12665
12666         * doc/install.texi: Document fine-grained multilib configuration.
12667
12668 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
12669
12670         * rtlanal.c (find_first_parameter_load): Call note_stores
12671         only on the instructions.
12672
12673 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
12674
12675         * alias.c (nonlocal_mentioned_p):
12676         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
12677         * calls.c (emit_call_1): Likewise.
12678         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
12679         * cselib.c (cselib_process_insn): Likewise.
12680         * df.c (df_insns_modify): Likewise.
12681         * flow.c (need_fake_edge_p): Likewise.
12682         (propagate_one_insn): Likewise.
12683         * haifa-sched.c (reemit_notes): Likewise.
12684         * integrate.c (copy_insn_list): Likewise.
12685         * jump.c (delete_prior_computation): Likewise.
12686         * local-alloc.c (validate_equiv_mem): Likewise.
12687         * loop.c (scan_loop): Likewise.
12688         * predict.c (estimate_probability): Likewise.
12689         * reload.c (reload): Likewise.
12690         * sched-deps (sched_analyze): Likewise.
12691         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
12692         * gcse.c (compute_hash_table): Likewise.
12693         (mark_call): Likewise.
12694         (store_killed_in_insn): Likewise.
12695
12696 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
12697
12698         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
12699
12700 2001-08-06  Richard Henderson  <rth@redhat.com>
12701
12702         * varasm.c (assemble_gc_entry): Remove.
12703         * output.h: Likewise.
12704
12705 2001-08-06  Richard Henderson  <rth@redhat.com>
12706
12707         * varasm.c (assemble_constructor): Take a symbol_ref and a
12708         priority instead of a bare string.  Move priority handling
12709         here from cp/decl2.c.
12710         * output.h: Update decls.
12711
12712         * c-decl.c (c_expand_body): Update calls to assemble_constructor
12713         and assemble_destructor.
12714         * profile.c (output_func_start_profiler): Likewise.
12715         * objc/objc-act.c (finish_objc): Likewise.
12716         (build_module_descriptor): Return the symbol not the symbol name.
12717
12718 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
12719
12720         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
12721         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
12722         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
12723         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
12724         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
12725         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
12726
12727 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12728
12729         * cpperror.c (print_containing_files): Moved to line-map.c.
12730         (print_location): line-map.c handles re-listing or otherwise.
12731         * cpphash.h (struct lexer_state): Remove next_bol.
12732         (struct cpp_buffer): Remove include_stack_listed.
12733         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
12734         Remove faked buffer handling.
12735         (_cpp_do_file_change): Tweak.
12736         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
12737         * cppmain.c (struct printer): Remove filename.
12738         (print_line, cb_file_change): Update accordingly.
12739         * line-map.c: Include intl.h.
12740         (init_line_maps): Initialize last_listed.
12741         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
12742         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
12743         (print_containing_files): New.
12744         * line-map.h (struct line_maps): New member last_listed.
12745         (print_containing_files, INCLUDED_FROM): New.
12746         * Makefile.in: Update.
12747         * po/POTFILES.in: Add line-map.c.
12748
12749 2001-08-06  Richard Henderson  <rth@redhat.com>
12750
12751         * except.c (convert_from_eh_region_ranges_1): Never mark
12752         USE or CLOBBER insns as throwing.
12753
12754         * expr.c (store_constructor): Don't clobber memory targets.
12755
12756 2001-08-06  Andreas Jaeger  <aj@suse.de>
12757
12758         * profile.c (branch_prob): Remove unused variable insn.
12759
12760         * Makefile.in (local-alloc.o): Add dependency on except.h.
12761
12762         * local-alloc.c: Include except.h for can_throw_internal prototype.
12763
12764 2001-08-06  Richard Henderson  <rth@redhat.com>
12765
12766         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
12767         * function.c (expand_main_function): Implement it.
12768         * doc/tm.texi: Document it.
12769
12770 2001-08-06  Stan Shebs  <shebs@apple.com>
12771
12772         * doc/install.texi: Document powerpc-*-darwin* details.
12773
12774 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
12775
12776         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
12777         (ASM_CPU_SPEC): Move back to rs6000.h
12778         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
12779
12780         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
12781
12782         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
12783         readded.
12784
12785         * config/rs6000/linux64.h: Ditto.
12786
12787         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
12788         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
12789         nothing.
12790
12791         Remove accidently readded definitions of FUNCTION_PROLOGUE,
12792         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
12793
12794         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
12795         to rs6000.h
12796
12797 2001-08-05  Richard Henderson  <rth@redhat.com>
12798
12799         * local-alloc.c (update_equiv_regs): Do not move insns that
12800         can throw.
12801
12802 2001-08-05  Jan Hubicka  <jh@suse.cz>
12803
12804         * Makefile.in (reload1.o): Add dedendancy on except.h
12805         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
12806         prototypes.
12807         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
12808         indicating wehther edges has been cleaned up.
12809         * reload1.c: Inlucde except.h
12810         (fixup_abnormal_edges): Accept deleted insns.
12811         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
12812         after combine.
12813
12814 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12815
12816         * cpplib.c (do_line): Correct line number after pop_buffer.
12817
12818 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12819
12820         PR preprocessor/3824
12821         * line-map.c: Update comments.
12822         * line-map.h: Update comments.
12823         * tradcif.y: Don't consider large numbers unsigned.
12824
12825 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12826
12827         PR preprocessor/3081
12828         * c-lex.c (map): New.
12829         (cb_file_change): Update map and use it.
12830         (cb_def_pragma, cb_define, cb_undef): Use map and line.
12831         (c_lex): Update to use map.
12832         * cpperror.c (print_location): Move to using logical line numbers.
12833         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
12834         (cpp_make_system_header): Similarly.
12835         (_cpp_execute_include): Stop line numbering hacks.  Store the
12836         line we will return to.
12837         * cpphash.h (CPP_BUF_LINE): Remove.
12838         (struct cpp_buffer): Remove lineno and pseudo_newlines.
12839         Add map and return_to_line.
12840         (_cpp_do_file_change): Update.
12841         * cppinit.c (cpp_start_read): Update line kludge.
12842         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
12843         (trigraph_ok): Use logical line numbers for diagnostics.
12844         (skip_block_comment): Likewise.
12845         (skip_whitespace): Likewise.
12846         (skip_line_comment): Use pfile->line instead.
12847         (_cpp_lex_token): Update to use logical line numbering exclusively.
12848         Handle BOL locally.  Accept new lines in directives, but keep
12849         pfile->line decremented.  Diagnostics use logical lines.  Update
12850         directive handling.
12851         * cpplib.c (SEEN_EOL): New.
12852         (skip_rest_of_line, check_eol): Use it.
12853         (end_directive): Increase line number when accepting the newline
12854         at the end of a directive.
12855         (run_directive): Simplify.
12856         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
12857         (_cpp_do_file_change): Update to take buffer line number as an
12858         argument, and store the current map in the cpp_reader.  Remove
12859         line number kludges.
12860         (_cpp_do__Pragma): Restore output position after a _Pragma.
12861         (cpp_push_buffer): Don't set output line or lineno.
12862         (_cpp_pop_buffer): Transfer more info from a faked buffer.
12863         Remove line kludge.  Set output_line.
12864         * cppmacro.c (builtin_macro): Update handling of __LINE__.
12865         (parse_arg): Use logical lines.
12866         (save_lookahead_token): Save EOFs too now.
12867         * cppmain.c (struct printer): Fix comments.
12868         (printer_init): Simplify, let caller do errors.
12869         (scan_translation_unit, check_multiline_token, dump_macro): Update.
12870         (maybe_print_line): Simplify.
12871         (print_line): Don't print a linemarker if -P.
12872         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
12873         (cb_file_change): Simplify.
12874         * line-map.h (LAST_SOURCE_LINE): Fix.
12875         (CURRENT_LINE_MAP): New.
12876
12877 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
12878
12879         * doloop.c (doloop_modify_runtime): Properly compute number of
12880         iterations if loop was unrolled.
12881
12882         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
12883         if their CSELIB_VAL_PTRs are.
12884
12885         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
12886         (setup_spill_pointers): Initialize it.
12887         (spill_restore_mem): Set it.
12888         (do_spill, do_restore): Use it to add REG_INC note.
12889         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
12890
12891         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
12892         asms if other insns are available.
12893
12894         * config/ia64/ia64.c (condop_operator): New predicate.
12895         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
12896         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
12897         patterns.
12898
12899         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
12900         temporary register than directly using a MEM.
12901
12902 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
12903
12904         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
12905         parameter in last change.
12906
12907 2001-08-04  Zack Weinberg  <zackw@panix.com>
12908
12909         * sparc.md: Don't use #if inside C test expression.
12910
12911 2001-08-04  Richard Henderson  <rth@redhat.com>
12912
12913         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
12914
12915 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12916
12917         * cpphash.h (struct cpp_reader): New member directive_line.
12918         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
12919         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
12920         do_pragma): Pass line to callbacks.
12921         (start_directive): Record line of directive.
12922         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
12923         cb_include): Similarly.
12924         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
12925         Similarly.
12926
12927 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
12928
12929         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
12930         comment.
12931
12932 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
12933
12934         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
12935
12936         * reload1.c (fixup_abnormal_edges): New static function.
12937         (reload): Use it.
12938
12939         * flow.c (need_fake_edge_p): New function.
12940         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
12941         avoid call insn to be very last insn in the insn stream.
12942
12943         * profile.c (branch_prob): Call flow_call_edges_add instead of
12944         doing that by hand; cleanup cfg to re-merge basic blocks once
12945         we are done.
12946
12947 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12948
12949         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
12950         are also on line-map.h.
12951         * cppfiles.c (stack_include_file): Update.
12952         * cpphash.h (struct cpp_buffer): New member return_at_eof.
12953         (_cpp_pop_buffer): New.
12954         * cppinit.c (cpp_destroy, cpp_finish): Update.
12955         (do_includes): Mark each buffer to return at EOF.
12956         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
12957         return as requested.
12958         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
12959         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
12960         * cpplib.h (cpp_pop_buffer): Remove.
12961         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
12962         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
12963         buffers.
12964         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
12965         to pop buffers.
12966         (do_preprocessing): Update.
12967         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
12968         * c-parse.in (_yylex): Similarly.
12969         * scan-decls.c (scan_decls): Similarly.
12970         * line-map.h: Update comments.
12971
12972         * objc/Make-lang.in (objc-act.o): Update dependencies.
12973
12974 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12975
12976         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
12977         and soft register for operand 0.
12978         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
12979
12980 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12981
12982         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
12983         register for operand 0.
12984         ("bitcmpqi_z_used"): Allow memory for operand 0.
12985         (split "bitcmpqi"): New split to handle address reg as operand 1.
12986
12987 2001-08-04  Andreas Jaeger  <aj@suse.de>
12988
12989         * gcse.c: Revert Daniel's last patch.
12990
12991 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
12992
12993         * sparc-protos.h: Add prototypes for fp_zero_operand and
12994         reg_or_0_operand.
12995         * sh-protos.h: Add prototype for fpul_operand.
12996
12997 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
12998
12999         * doc/extend.texi (Other Builtins): Fix typo in last change.
13000
13001 2001-08-03  Richard Henderson  <rth@redhat.com>
13002
13003         * target.h (gcc_target): Add asm_out.named_section,
13004         section_type_flags, have_named_sections.
13005         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
13006         (TARGET_HAVE_NAMED_SECTIONS): New.
13007         (TARGET_SECTION_TYPE_FLAGS): New.
13008
13009         * Makefile.in (toplev.o): Depend on TARGET_H.
13010         (varasm.o, dbxout.o): Likewise.
13011         * c-common.c (decl_attributes): Check targetm.have_named_sections
13012         instead of ifdef ASM_OUTPUT_SECTION_NAME.
13013         * dbxout.c (dbxout_function_decl): Likewise.
13014         (dbxout_function_end): Likewise.
13015         * toplev.c (compile_file): Likewise.
13016         * varasm.c (exception_section): Likewise.
13017         * cp/decl2.c (finish_objects): Likewise.
13018
13019         * defaults.h (EH_FRAME_SECTION): Remove.
13020         (EH_FRAME_SECTION_ASM_OP): Remove.
13021         (EH_FRAME_SECTION_NAME): New.
13022         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
13023         (UNIQUE_SECTION_P): Remove.
13024         * dwarf2out.c (SECTION_FORMAT): Remove.
13025         (ASM_OUTPUT_SECTION): Remove.
13026         (output_call_frame_info): Use named_section_flags.
13027         (output_comp_unit, dwarf2out_start_source_file): Likewise.
13028         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
13029         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
13030         * varasm.c (in_eh_frame, eh_frame_section): Remove.
13031         (named_section_flags): New.
13032         (named_section): Use it and targetm.section_type_flags.
13033         (resolve_unique_section): New.
13034         (assemble_start_function): Use it.
13035         (asm_emit_uninitialised, assemble_variable): Likewise.
13036         (default_section_type_flags): New.
13037         (default_no_named_section, default_elf_asm_named_section): New.
13038         (default_coff_asm_named_section, default_pe_asm_named_section): New.
13039         * output.h: Update varasm.c decls.
13040         (SECTION_*): New flags.
13041
13042         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
13043         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
13044
13045         * config/elfos.h (UNIQUE_SECTION_P): Remove.
13046         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
13047         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
13048         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
13049         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
13050         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
13051         * config/mips/elf.h, config/mips/elf64.h: Likewise.
13052         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
13053         * config/pa/pa64-hpux.h,
13054
13055         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
13056         (TARGET_ASM_NAMED_SECTION): New.
13057         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
13058         * config/alpha/vms.h, config/arm/coff.h: Likewise.
13059         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
13060         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
13061         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
13062         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
13063         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
13064         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
13065         * config/i386/sco5.h, config/i386/win32.h: Likewise.
13066         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
13067         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
13068         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
13069         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
13070         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
13071         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
13072         * config/sparc/sysv4.h: Likewise.
13073
13074         * config/nextstep.h: Error until named sections implemented.
13075
13076         * config/a29k/a29k.c (a29k_asm_named_section): New.
13077         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
13078         (vms_section_type_flags, vms_asm_named_section): New.
13079         * config/arm/arm.c (arm_elf_asm_named_section): New.
13080         * config/avr/avr.c (asm_output_section_name): Remove.
13081         * config/avr/avr-protos.h: Update.
13082         * config/c4x/c4x.c (c4x_asm_named_section): New.
13083         * config/h8300/h8300.c (h8300_asm_named_section): New.
13084         * config/i386/i386.c (sco_asm_named_section): New.
13085         * config/i386/winnt.c (SECTION_PE_SHARED): New.
13086         (i386_pe_section_type_flags): New.
13087         (i386_pe_asm_named_section): New.
13088         * config/i386/i386-protos.h: Update.
13089         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
13090         * config/mcore/mcore.c (mcore_asm_named_section): New.
13091         * config/mips/mips.c (iris6_asm_named_section): New.
13092         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
13093         instead of UNIQUE_SECTION_P.
13094         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
13095         (xcoff_asm_named_section): New.
13096         * config/sh/sh.c (sh_asm_named_section): New.
13097         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
13098
13099         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
13100         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
13101         (EH_FRAME_SECTION_NAME): New.
13102         (EXCEPTION_SECTION): New.
13103         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
13104         (DEBUG_*_SECTION): Remove.
13105         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
13106         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
13107         (EH_FRAME_SECTION_ASM_OP): Remove.
13108
13109         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
13110         (ASM_OUTPUT_SECTION_NAME): Remove.
13111         (TARGET_ASM_NAMED_SECTION): New.
13112         (TARGET_HAVE_NAMED_SECTIONS): New.
13113         (TARGET_SECTION_TYPE_FLAGS): New.
13114         (EH_FRAME_SECTION_ASM_OP): Remove.
13115         (EH_FRAME_SECTION_NAME): New.
13116
13117 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
13118
13119         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
13120         for complex expressions when cfun == 0.
13121         * doc/extend.texi: Document that __builtin_constant_p can be
13122         used in data initializers as well as functions.
13123
13124 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
13125
13126         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
13127         variable I locally, instead of expecting a declaration in the
13128         calling context.
13129
13130 2001-08-03  Richard Henderson  <rth@redhat.com>
13131
13132         * except.c (collect_one_action_chain): Add an explicit cleanup
13133         action if regions surrounding a catch were encoded entirely
13134         within the call-site entry.
13135
13136 2001-08-03  Richard Henderson  <rth@redhat.com>
13137
13138         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
13139         don't take REGNO of a non-register.
13140
13141 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13142
13143         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
13144         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
13145         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
13146         (__gthread_mutex_init_function): New function for mutex initialization.
13147
13148 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
13149
13150         * Makefile.in: Revert screwed up commit.
13151
13152 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13153
13154         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
13155         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
13156         merged by linker script to get a final _exit().
13157         (__do_global_dtors): New for destructor handling in specific exit
13158         section.
13159         (__do_global_ctors): New for constructors in specific install section.
13160         (__map_data_section): Map data sections before running constructors.
13161         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
13162         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
13163         (DTORS_SECTION_ASM_OP): Likewise.
13164         (CTORS_SECTION_FUNCTION): Define to force a reference to
13165         __do_global_ctors.
13166         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
13167
13168 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
13169
13170         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
13171
13172         * Makefile.in: Add df.h to gcse.c dependencies.
13173
13174 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13175
13176         * varasm.c (output_constant_def_contents): Use for the length of a
13177         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
13178         depending on which is larger.
13179
13180 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
13181
13182         * gcse.c: Include df.h for use as a dataflow analyzer.
13183         Remove regvec.
13184         Declaration of reg_set_info: gone.
13185         New df_analyzer variable used by store motion.
13186         (reg_set_info): Deleted.
13187         (mark_mem_regs): New function, analyze regs used by a mem.
13188         (store_ops_ok): Use dataflow analyzer results to determine if
13189         necessary regs are changed in the block.
13190         (find_moveable_store): Remove check for symbol ref, we can handle
13191         much more complex expressions now.
13192         (compute_store_table): Remove most of the code, it's unnecessary
13193         now that the dataflow analyzer records the info for us.
13194         (store_killed_after): Add parameter to say whether to do the
13195         store_ops_okay test, used to speed up testing when we already know
13196         the answer, and just want to know if the store itself was killed.
13197         (build_store_vector): Largely rewritten to calculate the various
13198         vectors properly, and somewhat optimized.
13199         (store_motion): Init the df_analyzer, get REG_DEF chains.
13200         Also handle trapping expressions (since mems almost always trap)
13201         (simple_mem): Redefine what a simple mem is.
13202
13203 2001-08-03  DJ Delorie  <dj@redhat.com>
13204
13205         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
13206         set from a constant part of the condition.
13207
13208 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
13209
13210         * mkdeps.c (deps_add_default_target): Make local variable
13211         ``start'' a const char pointer.
13212         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
13213
13214 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13215
13216         * doc/install.texi (Configuration): Fix markup.
13217         (Specific, i?86-*-udk): Likewise.
13218         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
13219         --with-gnu-ld.
13220         Document --enable-threads and --enable-libgcj status.
13221         (Specific, mips-sgi-irix*): Canonicalize triples.
13222         (Specific, mips-sgi-irix5): Warn about problems with this config.
13223         Mention required GNU as patch.
13224         Native assembler problems are fixed.
13225         (Specific, mips-sgi-irix6): Update O32 ABI support status.
13226         Document --enable-threads and --enable-libgcj status.
13227
13228 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
13229
13230         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
13231         of mkinstalldirs.
13232
13233 2001-08-03  Richard Henderson  <rth@redhat.com>
13234
13235         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
13236         constant data.
13237
13238 2001-08-03  Richard Henderson  <rth@redhat.com>
13239
13240         * rtlanal.c (find_first_parameter_load): Stop if we
13241         reach a CODE_LABEL at BOUNDARY.
13242
13243 2001-08-03  Richard Henderson  <rth@redhat.com>
13244
13245         * config/alpha/alpha.md (force_movdi): New insn.
13246         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
13247         Tweek FRP marking of VMS prologue insns.
13248         * config/alpha/vms.h (EPILOGUE_USES): New.
13249
13250 2001-08-02  Richard Henderson  <rth@redhat.com>
13251
13252         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
13253
13254 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
13255
13256         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
13257         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
13258         config/convex/convex.h, config/d30v/d30v.c,
13259         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
13260         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
13261         config/mips/mips.h, config/mn10200/mn10200.h,
13262         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
13263         config/v850/v850.h, config/vax/openbsd.h,
13264         config/vax/openbsd1.h, config/vax/ultrix.h,
13265         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
13266         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
13267         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
13268         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
13269         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
13270         in comments and documentation.
13271
13272 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13273
13274         * line-map.c: New.
13275         * line-map.h: New.
13276         * Makefile.in (line-map.o): New.
13277         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
13278         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
13279         * cpperror.c (print_containing_files): Similarly.
13280         (print_location): Update.  Don't output a space before _Pragma.
13281         * cppfiles.c (stack_include_file): Set to line 1 immediately.
13282         (stack_include_filee, cpp_make_system_header): Update.
13283         (_cpp_execute_include): Get logical line number right for calling
13284         as-yet-unterminated #include.
13285         * cpphash.h (struct cpp_reader): Add line_maps.
13286         (_cpp_do_file_change): Update.
13287         * cppinit.c (cpp_create_reader): Initialize line maps.
13288         (cpp_destroy): Destroy line maps.
13289         (cpp_start_read): Get logical line number right.
13290         * cpplex.c (parse_string): Only warn once for multi-line strings.
13291         Use boolean variable for null warning.
13292         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
13293         already.
13294         (do_include_common): End the directive early.
13295         (do_line): Don't warn about out-of-range lines in preprocessed
13296         source.  Update.  Remove unused variables.
13297         (_cpp_do_file_change): Update for new line mapping.
13298         (pragma_cb): New typedef.
13299         (cpp_register_pragma): Stop looking ahead before calling the
13300         handler.  Clean up.
13301         (do_pragma_system_header): End directive early.
13302         (cpp_get_line_maps): New.
13303         (cpp_pop_buffer): Fudge logical line.  Update.
13304         * cpplib.h: Include line-map.h
13305         (enum cpp_fc_reason): Remove.
13306         (struct cpp_file_change): Update.
13307         (cpp_get_line_maps): New.
13308         * cppmain.c (struct_printer): New member map.
13309         (cb_file_change): Update for new mappings.
13310         * fix-header.c (cb_file_change): Similarly.
13311
13312 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
13313
13314         * Makefile.in (libgcc.mk): Define mkinstalldirs.
13315         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
13316
13317 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
13318
13319         * config/vax/vax.c: include expr.h.
13320
13321 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
13322
13323         * Makefile.in ($(srcdir)/configure): Only rebuild in
13324         maintainer mode.
13325         ($(srcdir)/config.in): Only define in maintainer mode.
13326         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
13327
13328 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
13329
13330         * doc/install.texi (Install GCC: Binaries): Update Bull info.
13331
13332 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13333
13334         * gcc.c (set_collect_gcc_options): New function, split out from
13335         main.
13336         Ignore elided switches.
13337         (do_spec_1): Invoke before executing command.
13338         (set_input): Export.
13339         Move declaration ...
13340         * gcc.h (set_input): ... here.
13341         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13342         file.
13343
13344 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
13345
13346         Kill -fhonor-std.
13347         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
13348         interaction.
13349         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
13350
13351 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
13352
13353         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
13354         for the unnamed instructions it expands to.
13355
13356 2001-08-02  Richard Henderson  <rth@redhat.com>
13357
13358         * regclass.c (call_really_used_regs): Conditionally define.
13359         (init_reg_sets_1): Don't use it if not defined.
13360         (fix_register): Similarly, don't set it.
13361
13362 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13363
13364         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
13365         Correct comment that had been missed in the previous change.
13366
13367 2001-08-01  Stan Shebs  <shebs@apple.com>
13368
13369         * config/darwin.c (machopic_stub_name): Try matching by name.
13370         (update_stubs): New function.
13371         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
13372         unconditionally.
13373
13374 2001-08-01  Richard Henderson  <rth@redhat.com>
13375
13376         * except.c (output_function_exception_table): Use assemble_align.
13377         * varasm.c (assemble_eh_label): Remove.
13378         (assemble_eh_align, assemble_eh_integer): Remove.
13379
13380 2001-08-01  Robert Lipe  <robertl@caldera.com>
13381
13382         * dwarfout.c: Remove reference to README.DWARF.
13383
13384 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
13385
13386         * regclass.c (call_really_used_regs): New array for registers which
13387         are actually used by a call.
13388         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
13389         new array.
13390         (fix_register): Set call_really_used too.
13391         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
13392         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
13393
13394 2001-08-01  Richard Henderson  <rth@redhat.com>
13395
13396         * read-rtl.c (read_name): Consider \r whitespace.
13397
13398 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
13399
13400         * config.gcc: Recognize powerpc-*-netbsd*.
13401
13402         * doc/install.texi (Host/target specific installation notes for
13403         GCC): Mention powerpc-*-netbsd*.
13404
13405         * config/rs6000/netbsd.h: New file.
13406         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
13407         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
13408         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
13409         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
13410         (TARGET_VERSION): Redefine.
13411
13412         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
13413         mcall-netbsd as a match for mcall-sysv.
13414         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
13415         (ncrti.S, ncrtn.S): New targets.
13416         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
13417
13418         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
13419         "netbsd' as a V4 ABI.
13420         (ASM_SPEC): Check for -mcall-netbsd.
13421         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
13422         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
13423         (LIB_SPEC, ENDFILE_SPEC): Ditto.
13424         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
13425         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
13426         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
13427         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
13428
13429         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
13430         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
13431
13432 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
13433
13434         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
13435         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
13436         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
13437         including "unwind-pe.h".
13438
13439 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
13440
13441         * rs6000.md (define_splits): Kill unused constraints.
13442
13443 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
13444                               Jan Hubicka  <jh@suse.cz>
13445
13446         * function.c (thread_prologue_and_epilogue_insns): Kill code
13447         dealing with non-existent CFG.
13448
13449 2001-08-01  Kazu Hirata  <kazu@hxi.com>
13450
13451         * alias.c: Fix comment formatting.
13452         * bitmap.c: Likewise.
13453         * builtins.c: Likewise.
13454         * calls.c: Likewise.
13455         * c-common.c: Likewise.
13456         * c-decl.c: Likewise.
13457         * c-dump.c: Likewise.
13458         * c-lex.c: Likewise.
13459         * collect2.c: Likewise.
13460         * combine.c: Likewise.
13461         * conflict.c: Likewise.
13462         * cppfiles.c: Likewise.
13463         * cppinit.c: Likewise.
13464         * cpplex.c: Likewise.
13465         * cpplib.c: Likewise.
13466         * cppmacro.c: Likewise.
13467         * cppspec.c: Likewise.
13468         * c-pragma.c: Likewise.
13469         * crtstuff.c: Likewise.
13470         * cse.c: Likewise.
13471         * cselib.c: Likewise.
13472         * c-semantics.c: Likewise.
13473         * c-typeck.c: Likewise.
13474
13475 2001-08-01  H.J. Lu <hjl@gnu.org>
13476
13477         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
13478
13479 2001-08-01  H.J. Lu <hjl@gnu.org>
13480
13481         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
13482
13483 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
13484
13485         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
13486         contextualizing Objective-C class name lookup by the lexer.
13487         (typespec_reserved_nonattr): Disable ObjC class name lookup after
13488         seeing a TYPESPEC.
13489         (protocoldef): Add support for forward @protocol declarations.
13490         (yylexname): Suppress ObjC class name lookup in certain contexts;
13491         re-enable after lookup is complete.
13492         (_yylex): Re-enable ObjC class name lookup when certain
13493         punctuation marks are seen.
13494
13495         * objc/objc-act.c (check_protocol_recursively): New function used
13496         for finding circular dependencies in protocols.
13497         (objc_declare_protocols): New function for handling forward
13498         @protocol declarations.
13499         (receiver_is_class_object): Detect the case when 'self' is used
13500         inside of a class method.
13501         (build_message_expr): Issue a warning if class method is desired
13502         but instance method is found instead.
13503         (conforms_to_protocol): Streamline.
13504         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
13505         protocol Foo, even if 'Bar foo' does not.
13506         (check_protocols): Streamline.
13507         (start_protocol): Add checks for circular and duplicate protocol
13508         definitions.
13509         (encode_aggregate_within): For typedefs of structs, encode the
13510         underlying struct.
13511         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
13512         (objc_declare_protocols): New prototype.
13513
13514 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13515
13516         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
13517         * cpplex.c (handle_newline): Update prototype.  Maintain logical
13518         line number.
13519         (skip_escaped_newlines, skip_block_comment, parse_string):
13520         Update accordingly.
13521         (_cpp_lex_token): Update, and store token position within the token.
13522         * cpplib.h (struct cpp_token): Add line and column entries.
13523         * cppmacro.c (replace_args): Position stringified tokens correctly.
13524
13525 2001-08-01  Andreas Jaeger  <aj@suse.de>
13526
13527         * basic-block.h: Add prototype for last_loop_beg_note.
13528
13529 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
13530
13531         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
13532         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
13533         comment.
13534         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
13535         while handling WITH_CLEANUP_EXPR node. Use second operand calling
13536         expand_decl_cleanup.
13537         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
13538         the first RTX.
13539         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
13540         operand while calling simple_cst_equal.
13541         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
13542         operand is the cleanup expression, the third is the RTL_EXPR.
13543         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
13544
13545 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
13546
13547         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
13548
13549 2001-07-31  matthew green  <mrg@eterna.com.au>
13550
13551         * config.gcc (i386-*-netbsdelf): New description.
13552         * config/i386/netbsd-elf.h: New file.
13553
13554 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
13555
13556         * loop.c (check_dbra_loop): Use single_set to compute
13557         jump_label.
13558
13559 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
13560
13561         PowerPC reorg and support for powerpc64-*-linux*.
13562
13563         Also fixes emitting of constants on 32 bit and 64 bit
13564         platforms.
13565
13566         * config.gcc: powerpc64-*-linux* is a new target.
13567         Things that needed aix.h now also include xcoff.h
13568
13569         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
13570         xcoff.h.
13571         Move AIX specific stuff into aix.h.
13572         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
13573         with more than just XCOFF now.
13574         (SET_ASM_OP): Remove, now defined where needed.
13575         (FUNCTION_PROLOGUE): New macro definition.
13576         (FUNCTION_EPILOGUE): New macro definition.
13577         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
13578
13579         * config/rs6000/xcoff.h: New file.
13580
13581         * config/rs6000/linux64.h: New file.
13582
13583         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
13584
13585 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
13586
13587         * rs6000.c (print_operand_address): Handle ELF syntax.
13588         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
13589         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
13590         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
13591
13592 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
13593
13594         * rs6000.c (rs6000_override_options): Only disable
13595         flag_function_sections for XCOFF.
13596         (exact_log2_cint_operand): New predicate.
13597         (reg_or_{add,sub}_cint64_operand): New predicates.
13598         (add_operand): Compare CONST_INT with fewer function calls.
13599         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
13600         (print_operand, case 'p'): Ensure positive operand.
13601         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
13602         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
13603         (PREDICATE_CODES): Add new predicates.
13604         * rs6000.md (addsi3): Split 32-bit constants more correctly.
13605         (divsi3, modsi3): Ensure positive power-of-2.
13606         (adddi3): Use new predicate.  Split 32-bit constants more
13607         correctly.  Re-arrange splitter to handle any constant.
13608         (subdi3): Use new predicate.
13609         (divdi3, moddi3): Ensure positive power-of-2.
13610         (movdi): Use rs6000_emit_set_const.
13611         (load_toc_v4_pic_di): Delete.
13612
13613 2001-07-31  Graham Stott <grahams@redhat.com>
13614
13615         * function.c (pad_below): Revert 2001-07-26 patch.
13616
13617 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13618
13619         * reg-stack (convert_regs_1): Fix best edge condition.
13620
13621 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
13622
13623         * jump.c (duplicate_loop_exit_test): Better test for jumps
13624         entering the loop; create loop pre_header.
13625
13626 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
13627
13628         * doc/install.texi: Add s390 and s390x as new targets.
13629         * doc/invoke.texi: Add documentation of S/390 and zSeries
13630         target options.
13631         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
13632
13633 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
13634
13635         * config/m68k/m68k.md: Replace all general_operand with
13636         nonimmediate_operand for all destinations.
13637         * config/m68k/m68k.c (not_sp_operand): Likewise.
13638
13639 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
13640
13641         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
13642
13643 2001-07-30  Richard Henderson  <rth@redhat.com>
13644
13645         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
13646         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
13647
13648 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
13649
13650         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
13651         Add missing doc strings
13652         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
13653         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
13654
13655 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
13656
13657         * i386.c (ix86_output_main_function_alignment_hack): New function.
13658         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
13659
13660         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
13661         edges by EDGE_DFS_BACK flag.
13662         (dump_edge_info): Add dfs_back flag.
13663         * basic-block.h (EDGE_DFS_BACK): New constant.
13664         (mark_dfs_back_edges): Declare.
13665         * alias.c (loop_p): Remove.
13666         (mark_constant_function): Use mark_dfs_back_edges.
13667
13668         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
13669         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
13670         (compensate_edge): Break out from ...
13671         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
13672         (convert_regs_2): Set block_done once block is really done;
13673         Do updating of the predecessors counts.
13674
13675         * toplev.c (rest_of_compilation): Recompute block_for_insn
13676         before post-reload cfg_cleanup.
13677         * function.c (thread_prologue_epilogue_insns):
13678         Call set_block_for_new_insns when emitting prologue directly.
13679
13680 2001-07-30  Andreas Jaeger  <aj@suse.de>
13681
13682         * jump.c: Add prototype for mark_modified_reg.
13683
13684         * cse.c (set_live_p): Add unused attribute.
13685
13686         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
13687         overflow.
13688         (scan_for_source_files): Use long for count to avoid overflow.
13689         (output_data): Likewise.
13690         (output_data): Don't use string concatatenation to silence gcc
13691         -traditional.
13692
13693         * predict.c: Fix typos and grammar.
13694
13695         * gcse.c (insert_insn_end_bb): Remove unused variables.
13696
13697 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
13698
13699         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
13700         (attempt_auto_inc): LIkewise.
13701         (mark_used_reg): Likewise.
13702         (try_pre_increment_1): Likewise.
13703         * regclass.c (regclass): Likewise.
13704         * global.c (allocno_compare): Update comment; change scaling factor.
13705         * local-alloc.c (QTY_CMP_PRI): Likewise.
13706         * regs.h (REG_FREQ_FROM_BB): New.
13707         (REG_FREQ_MAX): Likewise.
13708
13709 2001-07-30  H.J. Lu <hjl@gnu.org>
13710
13711         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
13712         -D_GNU_SOURCE.
13713
13714 2001-07-30  H.J. Lu  (hjl@gnu.org)
13715
13716         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
13717         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
13718         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
13719
13720 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
13721
13722         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
13723         as -mthumb-interwork when -mcpu=arm7 is specified.
13724
13725 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13726
13727         * predict.def (noreturn, loop branch, loop exit): Mark as first
13728         match heuristics.
13729
13730 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
13731
13732         * combine.c (try_combine): Avoid barrier after noop jumps.
13733
13734 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13735
13736         * cpphash.h (struct cpp_reader): Remove import_warning.
13737         * cpplib.c (skip_rest_of_line): Don't bother turning off
13738         macro expansion.
13739         (parse_include): Move include handling to...
13740         (do_include_common): ... here.  Move import warning from...
13741         (do_import): ... here.
13742         (do_pragma_poison): Don't do a callback for poison identifiers.
13743         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
13744         * cppmain.c (setup_callbacks): Similarly.
13745
13746 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
13747
13748         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
13749         handle multiple sets.
13750         * except.c (sjlj_mark_call_sites): .... here.
13751         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
13752
13753 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13754
13755         Suggested by Richard Henderson and Richard Kenner:
13756         * combine.c (recog_for_combine): Use the fake recog
13757         only if instruction does not match.
13758         * rtl.h (NOOP_MOVE_INSN_CODE): New.
13759         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
13760
13761         * combine.c (try_combine): Discover noop jump as direct jump.
13762
13763 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
13764
13765         * df.c (df_rd_global_compute): Add successors to worklist, not
13766         current item.
13767         (df_ru_global_compute): Ditto.
13768
13769 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
13770
13771         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
13772         increment REG_N_SETS.
13773
13774 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
13775
13776         * sbitmap.h: New prototype for sbitmap_a_xor_b.
13777
13778         * sbitmap.c (sbitmap_a_xor_b): New function.
13779         ifdef the basic block stuff on IN_GCC.
13780
13781 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13782
13783         * cppexp.c (parse_defined): Always record the macro name.
13784         (lex): Don't worry about identifiers, or special-case
13785         CPP_NOT here.
13786         (_cpp_parse_expr): Figure out at the end of the routine
13787         whether we saw a valid !defined() expression.
13788         * cppfiles.c (stack_include_file): Update for mi_valid.
13789         (_cpp_pop_file_buffer): Similarly.
13790         * cpplex.c (_cpp_lex_token): Similarly.
13791         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
13792         mi_if_not_defined, mi_lexed): Remove.
13793         (mi_valid): New.
13794         * cpplib.c (do_if): Simplify.
13795         (do_endif, push_conditional, _cpp_handle_directive): Update
13796         for renaming of mi_state to mi_valid.
13797 doc:
13798         * cpp.texi: Add index entries for digraphs, and add comment
13799         that C++ refers to them as alternative tokens.
13800
13801 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
13802
13803         * basic-block.h (CLEANUP_PRE_LOOP): New.
13804         * except.c (finish_eh_generation): Update call of cleanup_cfg.
13805         * sibcall.c (optimize_sibling_calls): Likewise.
13806         * toplev.c (rest_of_compilation): Likewise.
13807         * flow.c (try_forward_edges): Take argument MODE;
13808         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
13809         (try_optimize_cfg): Update call of try_forward_edges.
13810
13811 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
13812                                 Jan Hubicka  <jh@suse.cz>
13813
13814         * (validate_replace_rtx_1): Fix simplification of MINUS.
13815
13816 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
13817
13818         PR preprocessor/3669
13819         * cppinit.c (init_dependency_output): Turn off dump requests
13820         if sending dependencies to stdout.
13821
13822 2001-07-28  Richard Henderson  <rth@redhat.com>
13823
13824         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
13825         not optimizing.
13826
13827 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
13828
13829         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
13830
13831 2001-07-28  Kazu Hirata  <kazu@hxi.com>
13832
13833         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
13834         is VAR_DECL first to prevent an ICE.
13835
13836 2001-07-28  Richard Henderson  <rth@redhat.com>
13837
13838         * varasm.c (immed_real_const_1): Don't elide special cases for
13839         nested functions.
13840         (clear_const_double_mem): Clear const_tiny_rtx too.
13841
13842 2001-07-28  Richard Henderson  <rth@redhat.com>
13843
13844         * dwarf2out.c (dw_val_class_offset): New.
13845         (struct dw_ranges_struct, dw_ranges_ref): New.
13846         (ranges_table, ranges_table_allocated): New.
13847         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
13848         (add_AT_offset, add_ranges, output_ranges): New.
13849         (print_die, output_die): Handle dw_val_class_offset.
13850         (attr_checksum, size_of_die, value_format): Likewise.
13851         (gen_lexical_block_die): Handle non-contiguous blocks.
13852         (gen_block_die): Likewise.
13853         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
13854         if needed.  Dump the ranges table.
13855         * final.c (final_start_function): Remove unnecessary notes and
13856         rebuild the block tree before numbering the blocks.
13857         * function.c (reorder_blocks_0): Walk the existing block tree
13858         to unmark all blocks.
13859         (reorder_blocks_1): Create block fragments when duplicate block
13860         notes are seen.
13861         (reorder_fix_fragments): New.
13862         (reorder_blocks): Call it.
13863         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
13864
13865 2001-07-28  Richard Henderson  <rth@redhat.com>
13866
13867         * emit-rtl.c (adjust_address): Make a copy of the memory address.
13868
13869 2001-07-28  Richard Henderson  <rth@redhat.com>
13870
13871         * flow.c (add_to_mem_set_list): New function.
13872         (init_propagate_block_info): Use it.
13873         (mark_set_1): Likewise.
13874         (insn_dead_p): Canonicalize memory address for dead store
13875         comparison.  Allow wider mode stores to kill narrower mode stores.
13876         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
13877         (invalidate_mems_from_set): Don't handle MEMs.
13878
13879 2001-07-28  Kazu Hirata  <kazu@hxi.com>
13880
13881         * config/h8300/h8300.h: Fix formatting.
13882
13883 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13884
13885         * basic-block.h (EDGE_FREQUENCY): New macro.
13886         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
13887         for new BB/edges.
13888         * flow.c (find_sub_basic_blocks): Likewise.
13889         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
13890         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
13891
13892         * predict.c (DEF_PREDICTOR): New argument FLAGS.
13893         (HITRATE): New macro.
13894         (PRED_FLAG_FIRST_MATCH): New constant.
13895         (predictor_info): New field flgags.
13896         (combine_predictions_for_insn): Use DS theory to combine
13897         probabilities; set the edge probabilities when finished.
13898         (estimate_probability): Avoid duplicated matches
13899         of LOOP_BRANCH heuristics for nested loops; update comment.
13900         * predict.def: Add flags for each prediction, set probabilities
13901         according to B&L paper.
13902         * predict.h (DEF_PREDICTOR): New argument FLAGS.
13903
13904         * profile.c (compute_branch_probabilities):  Cleanup way the edge
13905         probabilities are computed and REG_BR_PROB notes are dropped; if
13906         values does not match, emit error.
13907         (init_branch_prob): Do error instead of warning when profile driven
13908         feedback is missing or corrupt.
13909
13910 2001-07-27  DJ Delorie  <dj@redhat.com>
13911
13912         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
13913         against a constant, try to adjust the compare to have the desired
13914         constant in it so that min/max optimizations happen more often.
13915
13916 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13917
13918         * flow.c (last_loop_beg_note): New function.
13919         (redirect_edge_and_branch): Use it.
13920         (split_edge): Likewise.
13921
13922         * alias.c (loop_p): Avoid uninitialized memory access.
13923
13924         * flow.c (try_forward_edges): Avoid accessing freed memory.
13925
13926         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
13927         variable access.
13928
13929 2001-07-26  Andrew Haley  <aph@redhat.com>
13930         Joern Rennecke <amylaar@redhat.com>
13931
13932         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
13933         (SUBTARGET_CPP_ENDIAN_SPEC): New.
13934         (SUBTARGET_CPP_SPEC): New.
13935         (CPP_SPEC): Remove.
13936         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
13937         (SUBTARGET_CPP_PTR_SPEC): New.
13938         (CPP_DEFAULT_CPU_SPEC): New.
13939         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
13940         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
13941         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
13942         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
13943         (SUBTARGET_CPP_SPEC): Define as an empty string.
13944
13945 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13946
13947         * doc/install.texi (Configuration): Properly link the host
13948         specific instructions also when generating HTML.
13949
13950 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
13951
13952         * flow.c (redirect_edge_and_branch_force): Test
13953         target->global_live_at_start.
13954
13955 2001-07-26  Richard Henderson  <rth@redhat.com>
13956
13957         * simplify-rtx.c (avoid_constant_pool_reference): Export.
13958         * rtl.h (avoid_constant_pool_reference): Declare it.
13959         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
13960         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
13961
13962 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13963
13964         * rtl.h (cleanup_barriers): Declare.
13965         * jump.c (cleanup_barriers): New function.
13966         * toplev.c (rest_of_compilation): Call cleanup_barriers
13967         before loop optimizer and after bb_reorder.
13968
13969         * flow.c (back_edge_of_syntactic_loop_p): New.
13970         (split_edge): Use it.
13971
13972 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13973
13974         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
13975
13976 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
13977
13978         * cse.c (cse_process_notes): Replace any registers if the address
13979         remains valid.
13980
13981 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
13982
13983         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
13984         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
13985         (propagate_block): Update prototype.
13986         * flow.c (update_life_info): Simplify the CFG and
13987         recalculate the global regs which are alive when
13988         removing dead code during a global update.
13989         (propagate_block): Return non-zero if an INSN is
13990         deleted.
13991
13992 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13993
13994         * Makefile.in (LIBICONV): Define.
13995
13996 2001-07-26  Catherine Moore  <clm@redhat.com>
13997
13998         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
13999         of conditional to avoid tree checking errors.
14000
14001 2001-07-26  Kazu Hirata  <kazu@hxi.com>
14002
14003         * regmove.c (regmove_optimize): Don't replace a reg with
14004         another reg of a different mode.
14005
14006 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
14007
14008         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
14009         limit length of dependency flush list.
14010         * params.h (MAX_PENDING_LIST_LENGTH): Define.
14011         * sched-int.h  (struct deps): Add pending_flush_length field.
14012         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
14013         has 1 element in it.
14014         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
14015         (sched_analyze): After a jump, if the pending memory flush list is too
14016         large, flush the pending lists.
14017         (init_deps): Initialize pending_flush_length to 0.
14018         * doc/invoke.texi (max_pending_list_length): Document parameter.
14019
14020 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
14021
14022         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
14023         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
14024         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
14025
14026 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14027
14028         * cpphash.h (struct_lexer_state): Delete was_skipping.
14029         Move skipping here from struct cpp_reader.
14030         * cpplex.c (parse_identifier): Update.
14031         (_cpp_lex_token): Don't skip tokens in a directive.
14032         * cpplib.c (struct if_stack): Update.
14033         (start_directive, end_directive): Don't change skipping state.
14034         (_cpp_handle_directive): Update.
14035         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
14036         (do_else, do_endif): Update; only check for excess tokens if not
14037         in a skipped conditional block.
14038         (push_conditional): Update for new struct if_stack.
14039
14040 2001-07-26  Graham Stott  <grahams@redhat.com>
14041
14042         * function.c (locate_and_pad_parm): Also pad initial offset
14043         so that the total argument size also includes the padding.
14044
14045 2001-07-26  Graham Stott <grahams@redhat.com>
14046
14047         * gensupport.c (alter_output_for_insn): Correct enable checking failure
14048         change XSTR to XTMPL.
14049
14050         (process_one_cond_exec): Likewise
14051
14052 2001-07-25  Richard Henderson  <rth@redhat.com>
14053
14054         * varasm.c (assemble_variable): Create DECL_RTL before setting
14055         TREE_ASM_WRITTEN.
14056
14057 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
14058
14059         * predict.c (estimate_probability): Avoid duplicated predictions.
14060
14061         * loop.c (find_and_verify_loops): Grok multiple barriers.
14062
14063 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14064
14065         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
14066
14067         * dbxout.c: Consistently use putc instead of fputc.
14068         (print_wide_int): New function; call instead of direct fprintf.
14069         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
14070         (dbxout_type_fields, dbxout_type_method_1): Likewise.
14071         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
14072         (print_int_cst_octal): Likewise.
14073         (print_octal): Show we wrote characters.
14074         (dbxout_type): Set have_used_extensions in more places.
14075
14076 2001-07-25  Catherine Moore  <clm@redhat.com>
14077
14078         * config/v850/v850.c (v850_va_arg):  Use addr
14079         instead of valist to build incr.
14080
14081 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
14082
14083         * flow.c (delete_dead_jumptables): New function.
14084         (life_analyzis): Call it.
14085         * bb-reorder.c (skip_insns_after_block): Handle contradictory
14086         sequences.
14087
14088 2001-07-25  Richard Henderson  <rth@redhat.com>
14089
14090         * except.c (reachable_handlers): Handle a region being removed
14091         out from under a RESX.
14092
14093 2001-07-25  Richard Henderson  <rth@redhat.com>
14094
14095         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
14096         swap GE/GT if it is an fp comparison.
14097
14098 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
14099
14100         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
14101         operands.
14102
14103 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
14104
14105         * ssa.c (rename_insn_1): Do not wrap an assignment to a
14106         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
14107         glitch.
14108
14109         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
14110         throw an exception.
14111         (visit_expression): When attempting to simplify an expression,
14112         retrieve any modes for arguments before they are simplified
14113         to constants.
14114
14115 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
14116             Janis Johnson  <janis@us.ibm.com>
14117
14118         * stmt.c (expand_goto): A nonlocal goto can be a call too.
14119         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
14120         pointer parameters to match documented usage of nonlocal_goto.
14121         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
14122         parameters to their correct order.
14123         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
14124         parameters to their correct order.
14125
14126 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
14127
14128         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
14129
14130 2001-07-25  Jan Hubicka  <jh@suse.cz>
14131             Richard Henderson  <rth@redhat.com>
14132
14133         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
14134         the sequence.
14135         (make_edges): New argument update_p; populate the edge cache if set.
14136         (find_basic_blocks): Update make_edges invocation.
14137
14138 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14139
14140         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
14141
14142 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14143
14144         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
14145         -Acpu and -Amachine.h.
14146         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
14147         Corrected header to say ELF not a.out.
14148         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
14149         when given -msoft-float.
14150
14151 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14152
14153         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
14154         extra multilib parts like arm-elf.
14155         (i960-*-coff*, i960-*-rtems): Should not use collect2.
14156         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
14157         crtfini.o as extra multilib parts.
14158
14159 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14160
14161         * configure.in: Add rtems as a supported thread model.
14162         * gthr-rtems.h: Add missing entry point __gthread_active_p.
14163         * configure: Rebuilt.
14164
14165 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
14166
14167         * stor-layout.c (get_mode_alignment): make it work when
14168         BITS_PER_UNIT is not a power of two.
14169         * builtins.c (get_pointer_alignment): Likewise.
14170
14171 2001-07-24  Richard Henderson  <rth@redhat.com>
14172
14173         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
14174         the retrieved constant into the expected mode.
14175
14176 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
14177
14178         * flow.c (try_simplify_condjump): Avoid duplicated edges.
14179         (verify_flow_info): Check for duplicated edges; clarify
14180         error reporting.
14181
14182         * flow.c (block_label): Update basic_block_for_insn.
14183         (commit_edge_insertions): Call compute_bb_for_insn.
14184
14185         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
14186         returns too.
14187
14188         * flow.c (redirect_edge_and_branch,
14189         try_optimize_cfg): Use redirect_edge_succ_nodup
14190         (redirect_edge_succ_nodup): New.
14191         * basic_block.h (redirect_edge_succ_nodup): Declare.
14192
14193         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
14194         after gcse.
14195
14196 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
14197
14198         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
14199         (try_crossjump_to_edge): Update commetns.
14200         (try_crossjump_bb): Likewise.
14201
14202 2001-07-24  Richard Henderson  <rth@redhat.com>
14203
14204         * combine.c (distribute_notes): Move set of need_refresh
14205         for noop_move_p down to catch all cases.
14206
14207 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
14208
14209         * recog.c (split_all_insns_noflow): New.
14210         * rtl.h (split_all_insns_noflow): Declare.
14211         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
14212         * m68hc11.c (m68hc11_reorg): Likewise.
14213         * sh.c (machine_dependent_reorg): Likewise.
14214         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
14215         call.
14216
14217 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
14218
14219         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
14220         (ashlsi3_n splitter): Likewise.
14221         (lshrsi3_n splitter): Likewise.
14222
14223         (GOTaddr2picreg): Make const SImode.
14224         (sym_label2reg): Likewise.
14225         (symGOT2reg): Likewise.
14226         (symGOTOFF2reg) Likewise.
14227
14228         (casesi_worker_0): Make unspec SImode.
14229
14230 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
14231
14232         * config/sh/sh.c (barrier_align): Check that an operand really is
14233         an insn before extracting its INSN_CODE.
14234
14235 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
14236
14237         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
14238         dangling else.
14239
14240         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
14241         for SImode to prevent overflow.
14242
14243 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14244
14245         * config/mips/irix6-libc-compat.c: New file.
14246         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
14247         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
14248         passing workaround.
14249
14250 2001-07-24  lars brinkhoff  <lars@nocrew.org>
14251
14252         * rtl.texi (REG_POINTER): Document.
14253         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
14254         QFmode, HFmode, TQFmode, QCmode, and HCmode.
14255
14256 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
14257
14258         * flow.c (delete_noop_moves): Do not confuse libcall regions.
14259
14260 2001-07-23  Richard Henderson  <rth@redhat.com>
14261
14262         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
14263
14264 2001-07-23  Kazu Hirata  <kazu@hxi.com>
14265
14266         * config/h8300/h8300-protos.h: Add a prototype for
14267         general_operand_dst_push.
14268         * config/h8300/h8300.c (general_operand_dst_push): New.
14269         * config/h8300/h8300.h (OK_FOR_T): New.
14270         (EXTRA_CONSTRAINT): Use it.
14271         * config/h8300/h8300.md (movqi_push): Remove and integrate into
14272         the existing movqi pattern.
14273         (movhi_push): Likewise.
14274
14275         * reload.c: Fix comment typos.
14276
14277 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
14278
14279         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
14280
14281 2001-07-23  H.J. Lu  (hjl@gnu.org)
14282
14283         * doc/extend.texi: Update __builtin_return_address and
14284         __builtin_frame_address.
14285
14286 2001-07-23  Richard Henderson  <rth@redhat.com>
14287
14288         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
14289         before CSE.
14290         * config/i386/i386.md: New setcc+movzbl peephole2.
14291
14292 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14293
14294         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
14295         * objc/objc-act.c: Include debug.h.
14296         (synth_module_prologue): Save and restore debug hooks too.
14297
14298 2001-07-23  lars brinkhoff  <lars@nocrew.org>
14299
14300         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
14301         and C4X_FLOAT_FORMAT.
14302         (BOOL_TYPE_SIZE): Document.
14303
14304 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
14305
14306         * unroll.c (loop_iterations): Fix miscalculation of initial
14307         giv offset.
14308
14309 2001-07-13  Andrew Haley  <aph@redhat.com>
14310
14311         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
14312         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
14313         * config/sh/sh.c (sh_can_redirect_branch): New function.
14314         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
14315         * reorg.c (steal_delay_list_from_target): Use
14316         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
14317
14318 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
14319
14320         * flow.c (try_simplify_condjump): Unlink insn chain on
14321         fallthru edge; use can_fallthru.
14322
14323 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
14324
14325         * basic-block.h (find_sub_basic_block): Declare.
14326         * flow.c (make_edges): New arguments MIN and MAX;
14327         (find_sub_basic_blocks): Revamp to use make_edges
14328         and purge_dead_edges.
14329         (find_basic_blocks): Update call of find_sub_basic_block.
14330
14331         * recog.c (split_all_insns): Always expect CFG to be consistent;
14332         call find_sub_basic_blocks in case something has changed.
14333         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
14334         has been built.
14335
14336         * basic-block.h (delete_noop_moves): Declare.
14337         * combine.c (combine_instructions): Call it.
14338         (recog_for_combine): Tolerate noop moves
14339         (distribute_notes): Force refresh when register dies at noop move.
14340         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
14341         too.
14342         (life_analysis): Update delete_noop_moves call.
14343         (set_noop_p): Move too ...
14344         * rtlanal.c (noop_move_p): ... here.
14345         * rtl.h (noop_move_p): Declare.
14346
14347         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
14348         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
14349         after combine.
14350         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
14351         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
14352
14353 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
14354
14355         * reload.c (push_reload): Fix typo in comment.
14356         (find_reloads_address): Ditto.
14357         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
14358
14359 2001-07-22  Richard Henderson  <rth@redhat.com>
14360
14361         * flow.c: Grammar check and clarify a lot of comments.
14362         (try_simplify_condjump): Rename variables to be clearer.
14363         (try_forward_edges): Skip complex and fallthru edges.
14364         Rearrange tests to avoid duplicate checks.
14365         (flow_find_cross_jump): Likewise.
14366         (outgoing_edges_match): Allow match if neither branch has
14367         probability data.  Loosen probability match to 5%.
14368         (try_crossjump_to_edge): Hoist repeated indirection into
14369         local variables.
14370         (try_crossjump_bb): Don't check complex edges.  Eliminate
14371         redundant crossjump tests.
14372         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
14373         checks before more expensive checks.
14374
14375 2001-07-22  Richard Henderson  <rth@redhat.com>
14376
14377         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
14378         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
14379         arguments.
14380
14381 2001-07-22  Richard Henderson  <rth@redhat.com>
14382
14383         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
14384         (const_sint32_operand): Likewise.
14385         * m68k.md (anon mulsi pattern): Use const_int_operand not
14386         const_sint32_operand.
14387         (umulsi3_highpart): Zero extend a constant input.
14388         (smulsi3_highpart): Don't bother checking SImode constant.
14389         (const_umulsi3_highpart): Give op3 DImode.
14390         (const_smulsi3_highpart): Likewise.
14391
14392 2001-07-22  Richard Henderson  <rth@redhat.com>
14393
14394         * flow.c (split_block): Make sure bb_note is included in the
14395         new block when splitting before a label.
14396
14397 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
14398
14399         * basic-block.h (redirect_edge_and_branch_force,
14400         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
14401         * flow.c (redirect_edge_and_branch_force,
14402         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
14403         (redirect_edge_and_branch_force): Fix copying of lifeness information.
14404         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
14405         * ifcvt.c (dead_or_predictable): Take BB as an new destination
14406         instead of label; update CFG after transformation.
14407         (find_if_case_1): Update call, use redirect_edge_and_branch_force
14408         for finishing the transformation; handle even case where ELSE
14409         does not follow THEN.
14410         (find_if_case_2): Update call of dead_or_predictable; simplify
14411         CFG update.
14412
14413         * emit-rtl.c (split_branch_probability): New global variable.
14414         (try_split): Take care to set split_branch_probability and
14415         create REG_BR_PROB note for new jump insns.
14416         * md.texi (define_split): Document new feature.
14417
14418         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
14419
14420 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
14421
14422         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
14423         (asm_out_file): Remove redundant declaration.
14424         (assemble_asm): Remove old #if 0 block.
14425         (assemble_variable): Remove end of function; debug output is
14426         now handled with global_decl.  Remove old #if 0 block.  Update.
14427         Remove saved_in_section and associated no-op code.
14428         * Makefile.in (varasm.o): Correct dependencies.
14429
14430 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
14431
14432         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
14433         the definition in defaults.h.
14434
14435 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
14436
14437         * jump.c: Update comments.
14438         (delete_barrier_successors, delete_unreferenced_labels,
14439         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
14440         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
14441         jump_optimize, jump_optimize_minimal): Kill.
14442         (rebuild_jump_labels): Move code from jump_optimize_1.
14443         (purge_line_number_notes): Likewise.
14444         (copy_loop_headers): Likewise.
14445         * reg-stack.c: Update comment.
14446         * stmt.c: Likewise.
14447         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
14448         JUMP_AFTER_REGSCAN): Kill.
14449         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
14450         purge_line_number_notes and copy_loop_headers.
14451
14452 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
14453            Richard Henderson  <rth@redhat.com>
14454
14455         * dbxout.c (dbxout_global_decl): New.
14456         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
14457         * sdbout.c (sdbout_finish): New.
14458         (sdbout_debug_hooks): Use it, add comments.
14459         (sdbout_global_decl): Defer initialised public vars to
14460         sdbout_finish.
14461         * varasm.c (assemble_variable): Don't output debug information
14462         for file-scope variables.
14463
14464 2001-07-22  Richard Henderson  <rth@redhat.com>
14465
14466         * config/alpha/alpha.c (get_trap_mode_suffix): New.
14467         (get_round_mode_suffix): New.
14468         (print_operand): Use them for [/].  Remove support for [&'`()+].
14469         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
14470         * config/alpha/alpha.md (attr round_suffix): New.
14471         (attr trap_suffix): New.
14472         (all insns): Set them appropriately.  Use %/ instead of the
14473         myriad punctuators.
14474
14475 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14476
14477         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
14478
14479 2001-07-22  Richard Henderson  <rth@redhat.com>
14480
14481         * regrename.c (regrename_optimize): Compute nregs for each
14482         potential target register.
14483
14484 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
14485            Richard Henderson  <rth@redhat.com>
14486
14487         * dbxout.c (dbxout_global_decl): New.
14488         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
14489         * sdbout.c (sdbout_finish): New.
14490         (sdbout_debug_hooks): Use it, add comments.
14491         (sdbout_global_decl): Defer initialised public vars to
14492         sdbout_finish.
14493         * varasm.c (assemble_variable): Don't output debug information
14494         for file-scope variables.
14495
14496 2001-07-21  H.J. Lu  (hjl@gnu.org)
14497
14498         * config/mips/mips.c (mips_cpu): Moved into ...
14499         (override_options): Here.
14500
14501         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
14502         mips_tune.
14503         (mips_cpu): Removed.
14504
14505 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14506
14507         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
14508         ("iorqi3"): Likewise.
14509         ("xorqi3"): Likewise.
14510         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
14511         ("*subhi3_sp): Likewise.
14512         ("*subhi3"): Likewise.
14513         ("extendhisi2"): Accept D, X and Y as source operand to avoid
14514         reload problems.
14515
14516 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
14517
14518         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
14519         * config/freebsd.h: Likewise.
14520         * config/linux.h: Likewise.
14521         * config/openbsd.h: Likewise.
14522         * config/alpha/linux-elf.h: Likewise.
14523         * config/arm/linux-elf.h: Likewise.
14524         * config/d30v/d30v.h: Likewise.
14525         * config/fr30/fr30.h: Likewise.
14526         * config/ia64/aix.h: Likewise.
14527         * config/ia64/ia64.h: Likewise.
14528         * config/mips/linux.h: Likewise.
14529         * config/pj/pj.h: Likewise.
14530         * config/rs6000/linux.h: Likewise.
14531         * config/sparc/linux.h: Likewise.
14532         * config/sparc/linux64.h: Likewise.
14533
14534 2001-07-20  Bruce Korb  <bkorb@gnu.org>
14535
14536         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
14537         because getc() and char* may disagree on signedness.
14538
14539 2001-07-20  Richard Henderson  <rth@redhat.com>
14540
14541         * doc/rtl.texi (REG_DEAD): Update for current semantics.
14542
14543         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
14544         insns to delete in the presence of cc0 in a jump insn.
14545
14546 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
14547                                 Jan Hubicka  <jh@suse.cz>
14548
14549         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
14550         of doing the change by hand.
14551
14552 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
14553
14554         * rtlanal.c (set_noop_p): Return true for noop jumps.
14555
14556         * expr.c (emit_single_push_insn): Add call to push expander.
14557         * expr.h (optab_index): Add OTI_push
14558         (push_optab): New constant.
14559         * genopinit.c (optabs): Add push_optab.
14560         * optabs.c (init_optab): Init push optab.
14561         * md.texi (push??1): Document
14562
14563 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14564
14565         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
14566         expand to emit the pattern; put a REG_INC note for push/pop
14567         instructions.
14568         ("movdf", "movdf_internal"): Likewise.
14569         ("movsi", "movsi_internal"): Likewise.
14570         ("movsf", "movsf_internal"): Likewise.
14571         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
14572
14573 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14574
14575         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
14576         gen_highpart.
14577
14578 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
14579
14580         * params.def: Change default max inline insns to 100.
14581
14582 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
14583
14584         * combine.c (combine_simplify_rtx): Generate a new shift operation
14585         when simplifying the first operand of a (neg (ashift)) expression.
14586
14587 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14588
14589         * regclass.c (N_REG_INTS): Use only 32 bits per element.
14590
14591 2001-07-20  Kelley Cook  <kelley.cook@home.com>
14592
14593         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
14594         information.   Move rest into ...
14595         (*-*-solaris): ... here.  Eliminate redundant information and
14596         reword necessary packages section.  Delete 4.x assembler bug info.
14597         (sparc-sun-*): Merge into ...
14598         (sparc-sun-sunos*): here.
14599
14600 2001-07-20  Catherine Moore  <clm@redhat.com>
14601
14602         * config/v850/v850.md (casesi): Generate LABEL_REF
14603         with Pmode.
14604
14605 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
14606
14607         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
14608         * i386.c (ix86_zero_extend_to_Pmode): Make global.
14609         * i386.md (strclrsi expander): Use it.
14610
14611 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14612
14613         * integrate.c (copy_insn_list): handle
14614         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
14615         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
14616         identically as to CODE_LABEL.
14617
14618         * fold-const (fold): Convert A/B/C to A/(B*C) and
14619         A/(B/C) to (A/B)*C
14620
14621         * except.c (connect_post_landing_pads): Delete the RESX insns.
14622
14623 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
14624
14625         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
14626
14627         * config/mips/mips.md (nmadd/nmsub): Use macro.
14628
14629 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
14630
14631         * cppinit.c (remove_dup_dir): Make static.
14632         (remove_dup_dirs): Make static. Only warn about preempting a
14633         system directory with a non-system directory.
14634
14635 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
14636
14637         * ifcvt.c (noce_try_store_flag_constants): Correct order
14638         of parameters to trunc_int_for_mode.
14639
14640 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
14641
14642         * reorg.c (fill_simple_delay_slots): If an instruction might throw
14643         an exception that will be caught within this function, do not fill
14644         its delay slot with any subsequent instruction.
14645
14646 2001-07-19  Steve Ellcey <sje@cup.hp.com>
14647
14648         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
14649         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
14650         pointer extension instruction.
14651         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
14652         * simplify-rtx.c (simplify_unary_operation) Likewise.
14653         * explow.c (convert_memory_address) Check value of
14654         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
14655         less than zero.
14656         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
14657         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
14658         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
14659         Add Multilib Support.
14660         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
14661         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
14662         Add Multilib Support.
14663         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
14664         support.
14665         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
14666         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
14667         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
14668
14669 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
14670
14671         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
14672         old and new operands in `<', `3' and `b'.
14673
14674 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
14675
14676         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
14677         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
14678         (toplev.o): Don't depend on xcoffout.h.
14679         * c-decl.c: Include debug.h
14680         (duplicate_decls): Use debug hook.
14681         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
14682         (dbx_debug_hooks, xcoff_debug_hooks): Update.
14683         (dbxout_types): Remove.
14684         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
14685         * debug.c (do_nothing_debug_hooks): Update.
14686         (debug_true_tree, debug_nothing_rtx): New.
14687         * debug.h (struct rtx_def): New.
14688         (struct gcc_debug_hooks): New hooks ignore_block,
14689         outlining_inline_function and label.
14690         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
14691         dwarf2out_frame_finish): New.
14692         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
14693         Make static, update prototype.
14694         (dwarf2_debug_hooks): Update.
14695         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
14696         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
14697         * dwarfout.c (dwarf_debug_hooks): Update.
14698         * emit-rtl.c: Include debug.h.
14699         (remove_unnecessary_notes): Use debug hook.
14700         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
14701         (final_scan_insn): Use debug hook.
14702         * integrate.c (output_inline_function): Use debug hook.
14703         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
14704         (sdb_debug_hooks): Update.
14705         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
14706         * toplev.c: Don't include xcoffout.h.
14707         (note_outlining_of_inline_function, debug_ignore_block): Remove.
14708         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
14709         Remove.
14710         * tree.h (dwarf2out_do_frame): Remove.
14711
14712 2001-07-19  Catherine Moore  <clm@cygnus.com>
14713
14714         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
14715
14716 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
14717
14718         * reload1.c (eliminate_regs_in_insn): When updating a set
14719         to the frame pointer to the hardware frame pointer, perform
14720         the update always not just when REPLACE is set.
14721
14722         * reload1.c (choose_reload_regs): Don't inherit a reload
14723         that crosses multiple registers if registers past the first
14724         don't fit in the desired class.
14725
14726         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
14727         when negating constants.
14728
14729 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
14730
14731         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
14732         * doc/tree.texi: Ditto.
14733
14734 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
14735             Jakub Jelinek  <jakub@redhat.com>
14736
14737         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
14738         (extract_cie_info): Handle "eh" augmentation properly,
14739         remember eh_ptr.
14740         (struct frame_state, __frame_state_for): New.
14741
14742 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14743
14744         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
14745         HANDLE_SYSV_PRAGMA): Define.
14746         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
14747         previous args.
14748         (copy_object): Caller changed.
14749
14750 2001-07-19  Andreas Schwab  <schwab@suse.de>
14751
14752         * configure.in (assembler dwarf2 debug_line support): Define nop
14753         insn for m68k.
14754         * configure: Regenerated.
14755
14756 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
14757
14758         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
14759         dwarfout.h.
14760         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
14761         to conditionally compiled block.
14762         (dbx_debug_hooks, xcoff_debug_hooks): Update.
14763         * dbxout.h (dbxout_function): Remove.
14764         * debug.c (do_nothing_debug_hooks): Update.
14765         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
14766         global_decl, deferred_inline_function.
14767         * dwarf2out.c (dwarf2_debug_hooks): Update.
14768         (dwarf2out_global_decl): New.
14769         * dwarfout.c: Don't include dwarfout.h.
14770         (dwarfout_global_decl, dwarfout_function_decl,
14771         dwarfout_deferred_inline_function): New.
14772         (dwarf_debug_hooks): Update.
14773         * dwarfout.h: Remove.
14774         * final.c: Don't include dwarfout.h.
14775         * sdbout.c (sdbout_global_decl): New.
14776         (sdbout_debug_hooks): Update.
14777         * toplev.c: Don't include dwarfout.h.
14778         (check_global_declarations, rest_of_compilation): Use new debug hooks.
14779         (note_deferral_of_defined_inline_function): Remove.
14780         * toplev.h (note_deferral_of_defined_inline_function): Remove.
14781         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
14782         * ch/lex.c: Don't include dwarfout.h.
14783         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
14784         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
14785         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
14786         * cp/optimize.c: Include debug.h.
14787         (maybe_clone_body): Use debug hook.
14788         * cp/semantics.c: Include debug.h.
14789         (expand_body): Use debug hook.
14790         * po/POTFILES.in: Remove dwarfout.h.
14791
14792 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
14793
14794         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
14795         * c-parse.in (yyerror, _yylex): Similarly.
14796         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
14797         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
14798         Update comments.
14799         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
14800         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
14801
14802 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
14803
14804         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
14805         in-class declaration at -g1.  Fixes c++/2814.
14806
14807 2001-07-18  Richard Henderson  <rth@redhat.com>
14808
14809         * doc/md.texi (reload_in/out): Document restrictions in predicates
14810         and constraints for these patterns.  Document empty string matching
14811         ALL_REGS.
14812
14813 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14814
14815         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
14816
14817 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
14818
14819         * cse.c: Undo my previous patch.
14820
14821 2001-07-18  Tom Tromey  <tromey@redhat.com>
14822
14823         For PR java/2812:
14824         * configure: Rebuilt.
14825         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
14826         instead.
14827         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
14828
14829 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
14830                                 Jan Hubicka  <jh@suse.cz>
14831
14832         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
14833         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
14834         * jump.c (mark_jump_label): Do not forward branches.
14835
14836 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
14837
14838         * cse.c (delete_trivially_dead_insns): Delete the libcall block
14839         when return value is unused.
14840
14841 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14842
14843         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
14844
14845 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
14846
14847         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
14848         on error.  We can't blindly return the result of
14849         pthread_mutex_trylock because it returns a positive number on
14850         error, while we must return -1 on error.
14851         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
14852         fixes.
14853         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
14854
14855 2001-07-18  Andreas Jaeger  <aj@suse.de>
14856
14857         * integrate.c (output_inline_function): Correct type of debug_hooks.
14858
14859 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
14860
14861         * combine.c (combine_simplify_rtx): DIV can be treated
14862         associatively for floats if unsafe math optimisations are enabled.
14863
14864 2001-07-17  Richard Henderson  <rth@redhat.com>
14865
14866         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
14867
14868 2001-07-17  Richard Henderson  <rth@redhat.com>
14869
14870         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
14871         don't force the function address into a register.
14872         (expand_call, emit_library_call_value_1): Update callers.
14873         * builtins.c (expand_builtin_apply): Likewise.
14874         * expr.h (prepare_call_address): Update decl.
14875
14876 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
14877
14878         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
14879         config directory.
14880         * config/i386/chorus.h: Move up.
14881         * config/sparc/chorus.h: Likewise.
14882         * config/rs6000/chorus.h: Likewise.
14883         * config/chorus.h: Moved here.
14884
14885 2001-07-17  Andreas Schwab  <schwab@suse.de>
14886
14887         * configure.in  (assembler eh_frame optimization): Handle big
14888         endian.
14889         * configure: Regenerated.
14890
14891 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
14892
14893         * expr.c (epxand_expr): Convert divisions into multiplications by
14894         reciprocals if -ffast-math.
14895
14896 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
14897
14898         * dbxout.c (dbxout_really_begin_function): Rename to
14899         dbxout_begin_function.
14900         (dbx_debug_hooks, xcoff_debug_hooks): Update.
14901         (dbxout_begin_function): Remove.
14902         (dbxout_function): Update.
14903         (dbxout_source_line): Update prototype.
14904         * dbxout.h (dbxout_begin_function): Remove.
14905         * debug.c (do_nothing_debug_hooks): Update.
14906         (debug_nothing_tree): Update.
14907         (debug_nothing_charstar_rtx): Remove.
14908         * debug.h (union tree_node): Declare.
14909         (struct rtx_def): Remove.
14910         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
14911         begin_function.  Change source_line prototype.
14912         (debug_nothing_tree): New.
14913         (debug_nothing_charstar_rtx): Delete.
14914         (dwarf2out_begin_prologue): Moved from ...
14915         * tree.h: ... here.
14916         * dwarf2out.c (dwarf2_debug_hooks): Update.
14917         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
14918         debug info, call dwarf2out_source_line.
14919         (dwarf2out_souce_line): Update prototype.
14920         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
14921         Change prototype, make static.
14922         (dwarfout_source_line): Update prototype.
14923         (dwarf_debug_hooks): Update.
14924         * dwarfout.h (dwarfout_begin_function): Remove.
14925         * final.c (final_start_function, final_scan_insn): Use appropriate
14926         debug hooks, update to use notice_source_line.
14927         (output_source_line): Rename notice_source_line.  Don't call the
14928         source_line debug hook.
14929         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
14930         make static, update prototype.
14931         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
14932         prototype.
14933         (sdbout_end_prologue): New.
14934         (sdbout_source_line): Update prototype.
14935         (sdbout_debug_hooks): Update.
14936         (sdbout_symbol): Remove unused var.
14937         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
14938         Delete.
14939         * varasm.c: Include debug.h.
14940         (assemble_start_function): Use begin_function debug_hook.
14941         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
14942         update with prototype.
14943         (xcoffout_source_line): Update prototype.
14944         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
14945         update prototype.
14946         (xcoffout_source_line): Update prototype.
14947
14948 2001-07-17  Richard Henderson  <rth@redhat.com>
14949
14950         * c-typeck.c (build_binary_op): Do not shorten unsigned
14951         right shift after sign extension.
14952
14953 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
14954
14955         * combine.c (combine_simplify_rtx): Attempt to simplify
14956         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
14957
14958         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
14959         (simplify_binary_operation, simplify_unary_operation,
14960          simplify_relational_operation): Use it.
14961
14962         * combine.c (combine_simplify_rtx): Don't do associative law
14963         on divisions; allow associative law on floats.
14964
14965 2001-07-17  H.J. Lu <hjl@gnu.org>
14966             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14967
14968         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
14969         ASM_OUTPUT_WEAK_ALIAS are defined.
14970         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
14971         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
14972         Moved ...
14973         * config/mips/iris5.h: ... here.
14974         (HANDLE_SYSV_PRAGMA): Defined as 1.
14975         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
14976         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
14977         symbol.
14978
14979 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
14980
14981         * c-parse.in (all_prefix_attributes): New variable.
14982         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
14983         (maybe_resetattrs): New production.
14984         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
14985         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
14986         notype_initdcl, nested_function, notype_nested_function,
14987         component_decl, components, components_notype,
14988         component_declarator, component_notype_declarator,
14989         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
14990         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
14991         after a comma being applied to more than one declarator.
14992         * doc/extend.texi (Attribute Syntax): Update.  Remove
14993         documentation of bugs that are no longer present.
14994
14995 2001-07-13  Eric Christopher  <echristo@redhat.com>
14996
14997         * config/mips/mips.h: Change TUNE_MIPS* options to use
14998         mips_tune.
14999         (EXTRA_SPECS): Add cc1_cpu_spec.
15000         * config/mips/mips.md (muldf3): Fix typo.
15001
15002 2001-07-16  Richard Henderson  <rth@redhat.com>
15003
15004         * config/m68k/m68k.c: Include expr.h and reload.h.
15005         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
15006         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
15007
15008 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
15009             Richard Henderson  <rth@redhat.com>
15010
15011         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
15012         (insn_live_p): Fix fall off end of function.
15013         (dead_libcall_p): Remove COUNTS argument; update callers.
15014         (delete_trivially_dead_insns): Remove unused variables.
15015
15016 2001-07-17  Andreas Jaeger  <aj@suse.de>
15017
15018         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
15019         x86-64 pic support.
15020
15021         * lcm.c (optimize_mode_switching): Avoid warning for unused
15022         variable if !NORMAL_MODE.
15023
15024         * flow.c (try_crossjump_to_edge): Remove unused variable.
15025
15026 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15027
15028         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
15029         atexit declaration in stdlib.h.
15030
15031 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
15032
15033         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
15034
15035 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15036
15037         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
15038         * except.c (finish_eh_generation): Update call of cleanup_cfg;
15039         do rebuild_jump_labels instead of jump_optimize
15040         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
15041         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
15042         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
15043
15044         * flow.c: Include timevar.h
15045         (find_basic_block): Push/pop timevar;
15046         (cleanup_cfg): Likewise.
15047         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
15048         * Makefile: Add dependencies on timevar.h
15049
15050         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
15051         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
15052
15053         * rtl.h (delete_trivially_dead_insns): Add new parameter.
15054         * toplev.c (rest_of_compilation): Update calls.
15055         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
15056         (delete_trivially_dead_insns): ... here; accept new argument
15057         preserve_basic_blocks; preserve basic blocks if set.
15058
15059         * reg-stack.c (stack_regs_mentioned): Return 0 if
15060         stack_regs_mentioned_data is not initialized.
15061         (reg_to_stack): Make stack_regs_mentioned survive after the
15062         reg-stack is completted; do not call cleanup_cfg.
15063         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
15064         make cleanup_cfg after bb-reorder to output to debug file.
15065
15066 2001-07-16  Richard Henderson  <rth@redhat.com>
15067
15068         * regclass.c (init_reg_sets): Use only 32 bits per initializer
15069         from int_reg_class_contents.
15070
15071 2001-07-16  Richard Henderson  <rth@redhat.com>
15072
15073         * hard-reg-set.h (regs_invalidated_by_call): Declare.
15074         * regclass.c (regs_invalidated_by_call): Move from cse.c.
15075         (init_reg_sets_1): Move initialization from cse_main.
15076         * cse.c (regs_invalidated_by_call): Move to regclass.c.
15077         (cse_main): Move its initialization also.
15078         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
15079         * flow.c (propagate_one_insn): Likewise.
15080         * gcse.c (compute_hash_table): Likewise.
15081         (compute_kill_rd, compute_store_table): Likewise.
15082         * sched-deps.c (sched_analyze_1): Likewise.
15083
15084 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
15085
15086         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
15087         gen_rtx_SET.
15088
15089 2001-07-16  Steve Ellcey <sje@cup.hp.com>
15090
15091         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
15092         in if statement so we don't access undefined memory.
15093
15094 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
15095
15096         * gcse.c: Update comment at top.
15097         Update comment on mem handling.
15098         mem_last_set, mem_first_set, mem_set_in_block: gone.
15099         Declaration of reg_set_info: gone.
15100         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
15101         pointless with load_killed_in_block_p (they are *more*
15102         conservative then it, not less, and less accurate).
15103         (oprs_not_set_p): Ditto.
15104         (alloc_gcse_mem): Don't allocate mem_set_in_block
15105         (free_gcse_mem): Don't free it, either.
15106         (record_last_mem_set_info): Update comment in front, remove
15107         mem_*set_* stuff. Note the reason we don't handle stores directly
15108         here.
15109         (compute_hash_table): Update comments to reflect reality. Remove
15110         mem_*set_* references.
15111         (reset_opr_set_tables): Remove mem_*set_* references.
15112         (mark_call): Ditto.
15113         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
15114         (mark_clobber): Ditto (on both parts, we double set here too).
15115         (expr_killed_p): Remove mem_set_in_block test.
15116         (compute_transp): Remove mem_set_in_block test.
15117
15118         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
15119         of edge, and removal of phi alternative to dump file.
15120         (ssa_ccp_substitute_constants): Add note about register now being
15121         constant, and which uses were replaced in what insns to dump file.
15122
15123 2001-07-16  Andreas Jaeger  <aj@suse.de>
15124
15125         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
15126         variables of type HOST_WIDEST_INT.
15127
15128         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
15129         (__bb_exit_func): Correct type of count_max to avoid overflow.
15130         (num_digits): Handle long long argument.
15131
15132         * combine.c (gen_lowpart_for_combine): Remove unused variable.
15133
15134 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15135
15136         * output.h (sdb_begin_function_line): Restore as an extern
15137         variable.
15138         * sdbout.c (sdb_begin_function_line): Make extern.
15139
15140 2001-07-15  Richard Henderson  <rth@redhat.com>
15141
15142         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
15143         * genrecog.c (maybe_both_true_mode): New.
15144         (maybe_both_true_2): Use it.
15145         (write_switch): Don't put Pmode in a switch.
15146         * rtl.c (mode arrays): Don't explicitly size them.
15147
15148 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15149
15150         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
15151         handling; move unconditional splitting before mode switching.
15152
15153         * i386.md (type): Add fistp type.
15154         (i387, length_attr, scheduling definitions): Handle this type.
15155         (fix_trunc?f?i2): Revamp to use mode switching.
15156         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
15157         * i386.h (fp_cw_mode): New enum
15158         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
15159         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
15160
15161 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15162
15163         * Makefile.in (integrate.o): Add debug.h.
15164         * integrate.c (debug.h): Add.
15165         (output_inline_function): Save, reset, and restore debug_hooks.
15166
15167 2001-07-15  Richard Henderson  <rth@redhat.com>
15168
15169         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
15170         instead of COMPARE for the EQUIV expression.
15171
15172 2001-07-15  Richard Henderson  <rth@redhat.com>
15173
15174         * flow.c (redirect_edge_and_branch_force): Initialize
15175         global_live_at_start and global_live_at_end.
15176         (allocate_bb_life_data): Export.
15177         * basic-block.h (allocate_bb_life_data): Declare.
15178         * toplev.c (rest_of_compilation): Call it.
15179
15180 2001-07-15  Richard Henderson  <rth@redhat.com>
15181
15182         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
15183         (alpha_tablejump_best_label): New.
15184         * config/alpha/alpha-protos.h: Declare them.
15185         * config/alpha/alpha.md: Use braced strings for code blocks.
15186         (tablejump_osf): Break out add with r29.
15187         (tablejump_osf_internal): Remove.
15188         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
15189         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
15190
15191 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15192
15193         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
15194         of the movable.
15195
15196         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
15197
15198         * i386-protos.h (ix86_split_fp_branch): Update prototype.
15199         (ix86_fp_jump_nontrivial_p): New.
15200         * i386.md (fp_jcc_?): Update call of split_fp_branch;
15201         use ix86_fp_jump_nontrivial_p.
15202         * i386.c (ix86_fp_jump_nontrivial_p): New.
15203         (ix86_split_fp_branch): Accept code instead of rtx.
15204         (ix86_expand_compare): Expand comparison early in case
15205         doing so is resonably cheap.
15206
15207 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
15208
15209         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
15210         not 'machine'.
15211         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
15212         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
15213
15214 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
15215
15216         * dbxout.c (dbxout_source_line): Make static, update prototype.
15217         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
15218         (dbxout_init, dbxout_finish, dbxout_source_line,
15219         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
15220         * dbxout.h (dbxout_source_line): Delete.
15221         * debug.c (debug_nothing_file, debug_nothing_file_int,
15222         debug_nothing_file_charstar_rtx): New.
15223         (do_nothing_debug_hooks): Update.
15224         (debug_nothing_void, debug_nothing_charstar_rtx,
15225         dwarf2out_end_epilogue): New.
15226         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
15227         * debug.h (struct rtx_def): Declare.
15228         (gcc_debug_hooks): New hooks source_line, end_epilogue
15229         and end_function.
15230         (debug_nothing_void, debug_nothing_charstar_rtx,
15231         dwarf2out_end_epilogue): New.
15232         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
15233         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
15234         (dwarf2_debug_hooks): Update.
15235         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
15236         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
15237         * dwarf2out.h (dwarf2out_source_line): Remove.
15238         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
15239         Make static, update prototype.
15240         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
15241         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
15242         (dwarf_debug_hooks): Update.
15243         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
15244         dwarfout_end_function): Remove.
15245         * final.c (profile_function): Use debug hooks for ending functions
15246         and epilogues.
15247         (output_source_line, final_end_function): Update prototype,
15248         use debug hooks.
15249         (final_start_function, final_scan_insn): Update.
15250         * output.h (sdb_begin_function_line): Remove.
15251         (final_end_function): Update prototype.
15252         * sdbout.c (sdb_begin_function_line): Make static.
15253         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
15254         (sdbout_source_line): New.
15255         (sdbout_end_epilogue, sdbout_end_function): Make static, update
15256         prototypes.
15257         (sdb_debug_hooks): Update.
15258         (sdbout_init, sdbout_source_line,
15259         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
15260         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
15261         * toplev.c (compile_file, rest_of_compilation): Update.
15262         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
15263         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
15264         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
15265         Update for prototype changes.
15266         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
15267         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
15268
15269 2001-07-15  Richard Henderson  <rth@redhat.com>
15270
15271         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
15272         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
15273         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
15274         * config/alpha/alpha.c: Likewise.
15275         * config/alpha/alpha.md: Likewise.
15276         * config/alpha/alpha32.h: Likewise.
15277         * config/alpha/vms.h: Likewise.
15278         (OPEN_VMS): Remove.
15279
15280 2001-07-14  Richard Henderson  <rth@redhat.com>
15281
15282         * config/alpha/alpha.md: Use define_constants for unspec values.
15283         Substitute throughout.
15284
15285 2001-07-14  Tim Josling  <tej@melbpc.org.au>
15286
15287         * tree.def (EXPON_EXPR) remove. Never supported anyway.
15288
15289 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15290
15291         * pa.md: Remove unused constraints from define_split's.
15292
15293 2001-04-14  Richard Henderson  <rth@redhat.com>
15294
15295         * ifcvt.c (find_cond_trap): Test for exit block.
15296
15297 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
15298
15299         Re-install recently reverted patch.
15300         * emit-rtl.c (try_split): Update mark_jump_label call.
15301         * flow.c (find_sub_basic_blocks): Likewise.
15302         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
15303         jump_back_p): Kill.
15304         (mark_all_labels): Kill second parameter.
15305         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
15306         (rebuild_jump_labels, jump_optimize_minimal): Update call
15307         of jump_optimize_1.
15308         (jump_optimize_1): Kill crossjumping code.
15309         (mark_jump_label): Kill cross_jump parameter.
15310         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
15311         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
15312         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
15313          splitting.
15314         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
15315         DFI_bpro.
15316         (dump_file_info): Likewise.
15317         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
15318         reorganize passes to do reg-stack first, bb-reorder second.
15319         * invoke.texi (-d letters doc): Remove the jump2 pass.
15320
15321 2001-07-14  Richard Henderson  <rth@redhat.com>
15322
15323         * ifcvt.c (find_cond_trap): New.
15324         (find_if_header): Call it.
15325         (merge_if_block): Relax existing jump sanity check.
15326         * jump.c (jump_optimize_1): Remove conditional trap handling.
15327
15328 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
15329
15330         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
15331         millicode.
15332         (insn_refs_are_delayed): Correct comment.
15333         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
15334         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
15335         instead of r31.  Make associated insn !TARGET_64BIT, and
15336         provide an additional 64-bit insn that clobbers r2.
15337         (divsi3): Likewise.
15338         (udivsi3): Likewise.
15339         (modsi3): Likewise.
15340         (umodsi3): Likewise.
15341
15342 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
15343
15344         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
15345
15346         * flow.c (redirect_edge_and_branch_force, split_edge,
15347         try_crossjump_to_edge): Use set_block_for_new_insns.
15348         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
15349
15350 2001-07-13  H.J. Lu  (hjl@gnu.org)
15351
15352         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
15353         the correct patch.
15354
15355 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
15356
15357         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
15358
15359 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
15360
15361         * c-common.c (decl_attributes): Take a pointer to the node to
15362         which attributes are to be attached, and a flags argument.
15363         * c-common.h (enum attribute_flags): New.
15364         (decl_attributes): Update prototype.
15365         * c-decl.c (start_decl, push_parm_decl, finish_struct,
15366         finish_enum, start_function): Update calls to decl_attributes.
15367         * c-parse.in (component_declarator, component_notype_declarator,
15368         label): Update calls to decl_attributes.
15369
15370 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
15371
15372         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
15373         * config/avr/avr.c (legitimate_address_p): Return value changed
15374         from letter to register classes. For better debugging.
15375
15376 2001-07-13  Kazu Hirata  <kazu@hxi.com>
15377
15378         * jump.c (reversed_comparison_code_parts): Fix comment typos.
15379
15380 2001-07-13  H.J. Lu  (hjl@gnu.org)
15381
15382         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
15383
15384 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
15385
15386         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
15387         correctly for shared configurations.
15388         * config/t-libgcc-pic:  New.
15389         * config/{i386,m68k,sparc}/t-openbsd:  New.
15390         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
15391         Support -shared.  Support debugging libraries with -g.
15392         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
15393         frame information does not emit pointer diffs.
15394         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
15395         emit pointer diffs.
15396
15397 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
15398
15399         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
15400
15401 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
15402
15403         * combine.c (try_combine): Ensure const_int pow2 is positive.
15404
15405 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
15406
15407         * config.gcc: Add configuration for s/390.
15408         * config/s390/s390.c: New. Subroutines for code generation.
15409         * config/s390/s390.h: New. Definitions for s/390.
15410         * config/s390/s390-protos.h: New. Prototypes.
15411         * config/s390/linux.h: New. Definitions for linux for s/390.
15412         * config/s390/linux64.h: New. Definitions for linux for zSeries.
15413         * config/s390/t-linux: New. Makefile fragment.
15414         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
15415         * config/s390/fixdfdi.h: New. Fix L_fix*di.
15416
15417 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
15418
15419         * emit-rtl.c (try_split): Update mark_jump_label call.
15420         * flow.c (find_sub_basic_blocks): Likewise.
15421         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
15422         jump_back_p): Kill.
15423         (mark_all_labels): Kill second parameter.
15424         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
15425         (rebuild_jump_labels, jump_optimize_minimal): Update call
15426         of jump_optimize_1.
15427         (jump_optimize_1): Kill crossjumping code.
15428         (mark_jump_label): Kill cross_jump parameter.
15429         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
15430         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
15431         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
15432          splitting.
15433         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
15434         DFI_bpro.
15435         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
15436         reorganize passes to do reg-stack first, bb-reorder second.
15437         * invoke.texi (-d letters doc): Remove the jump2 pass.
15438
15439 2001-07-12  Steve Ellcey <sje@cup.hp.com>
15440
15441         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
15442
15443 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15444
15445         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
15446         basic blocks.
15447         (verify_flow_info): Make diagnostics prettier.
15448
15449 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
15450
15451         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
15452
15453         * flow.c (outgoing_edges_match): Return early if condition reversal
15454         failed.
15455
15456 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
15457
15458         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
15459         (mips_move_2words): When splitting a move into two instructions,
15460         prefix the second address operand with '%D'.
15461
15462 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
15463
15464         * Makefile.in (final.o): Depend on debug.h.
15465         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
15466         (dbx_debug_hooks): Add new hooks.
15467         (xcoff_debug_hooks): New.
15468         * debug.c (debug_nothing_file_int_int): New.
15469         (do_nothing_debug_hooks): Update.
15470         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
15471         (debug_nothing_file_int_int): New.
15472         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
15473         static, update prototype.
15474         (dwarf2_debug_hooks): Update.
15475         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
15476         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
15477         static, update prototype.
15478         (dwarf_debug_hooks): Update.
15479         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
15480         * final.c: Include debug.h.
15481         (final_scan_insn): Use debug hooks when beginning and ending blocks.
15482         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
15483         static, update prototype.
15484         (sdb_debug_hooks): Update.
15485         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
15486         * toplev.c: Distinguish between xcoff and dbx.
15487
15488         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
15489         Call all debug hooks, not just dwarf ones.
15490
15491 2001-07-11  Timothy Wall  <twall@redhat.com>
15492
15493         * config.gcc: Add configuration for AIX5/IA64.
15494         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
15495         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
15496         support prefix/suffix code.
15497         * config/ia64/t-aix: New.  Makefile fragment.
15498         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
15499
15500 2001-07-11  Kazu Hirata  <kazu@hxi.com>
15501
15502         * recog.c (validate_change): Fix a comment typo.
15503
15504 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
15505
15506         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
15507         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
15508         hooks directly.
15509         * dbxout.c (dbx_debug_hooks): Add new hooks.
15510         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
15511         make static.
15512         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
15513         make static.
15514         * dbxout.h (dbxout_start_new_source_file,
15515         dbxout_resume_previous_source_file): Delete.
15516         * debug.c (do_nothing_debug_hooks): Add new hooks.
15517         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
15518         (debug_nothing_int_charstar, debug_nothing_int): New.
15519         * debug.h (gcc_debug_hooks): New hooks define, undef,
15520         start_source_file and end_source_file.
15521         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
15522         (debug_nothing_int_charstar, debug_nothing_int): New.
15523         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
15524         the conditionally compiled section.
15525         (dwarf2out_start_source_file, dwarf2out_end_source_file,
15526         dwarf2out_define, dwarf2out_undef): Make static.
15527         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
15528         dwarf2out_define, dwarf2out_undef): Remove.
15529         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
15530         (dwarfout_start_source_file, dwarfout_end_source_file,
15531         dwarfout_define, dwarfout_undef): Make static.
15532         (dwarfout_start_source_file_check,
15533         dwarfout_end_source_file_check): New.
15534         (dwarfout_define, dwarfout_finish): Update.
15535         * dwarfout.h (dwarfout_start_new_source_file,
15536         dwarfout_resume_previous_source_file, dwarfout_define,
15537         dwarfout_undef): Remove.
15538         * sdbout.c (sdb_debug_hooks): Add new hooks.
15539         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
15540         make static.
15541         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
15542         make static, take an arg.
15543         * sdbout.h (sdbout_start_new_source_file,
15544         sdbout_resume_previous_source_file): Delete.
15545         * toplev.c (debug_start_source_file, debug_end_source_file,
15546         debug_define, debug_undef): Delete.
15547         * toplev.h (debug_start_source_file, debug_end_source_file,
15548         debug_define, debug_undef): Delete.
15549
15550         * java/jcf-parse.c: Include debug.h.
15551         (parse_class_file): Update to use debug hooks directly.
15552         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
15553
15554 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15555
15556         * alias.c (set_mem_alias_set): New function.
15557         * rtl.h (set_mem_alias_set): Declare it.
15558         * builtins.c (expand_builtin_return_addr): Call it instead of
15559         using MEM_ALIAS_SET accessor.
15560         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
15561         (get_memory_rtx, expand_builtin_va_arg): Likewise.
15562         (expand_builtin_va_copy):Likewise.
15563         * caller-save.c (setup_save_areas): Likewise.
15564         * calls.c (compute_argument_addresses): Likewise.
15565         * explow.c (set_mem_attributes): Likewise.
15566         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
15567         (expand_assignment, store_constructor_field, store_field): Likewise.
15568         (expand_expr_unaligned): Likewise.
15569         * function.c (assign_stack_temp_for_type): Likewise.
15570         (put_reg_into_stack, gen_mem_addressof): Likewise.
15571         * ifcvt.c (noce_try_cmove_arith): Likewise.
15572         * reload1.c (reload, alter_reg): Likewise.
15573         * config/alpha/alpha.c (get_aligned_mem): Likewise.
15574         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
15575         (alpha_expand_unaligned_store): Likewise
15576         (alpha_expand_unaligned_load_words): Likewise.
15577         (alpha_expand_unaligned_store_words): Likewise.
15578         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
15579         (alpha_expand_epilogue): Likewise.
15580         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
15581         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
15582         * config/i386/i386.c (legitimize_pic_address): Likewise.
15583         * config/i960/i960.c (setup_incoming_varargs): Likewise.
15584         * config/ia64/ia64.c (spill_restore_mem): Likewise.
15585         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
15586         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
15587         * config/mips/mips.c (mips_va_arg): Likewise.
15588         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
15589         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
15590         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
15591         (setup_incoming_varargs, rs6000_va_arg): Likewise.
15592         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
15593         (rs6000_emit_epilogue): Likewise.
15594         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
15595         * config/sparc/sparc.c (sparc_va_arg): Likewise.
15596         * config/v850/v850.c (v850_va_arg): Likewise.
15597
15598 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
15599
15600         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
15601         when fallthru edge is present.
15602         (mege_blocks): Handle case where creation of jump insn
15603         is required.
15604
15605         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
15606         CLEANUP_POST_REGSTACK): New constants.
15607         * except.c (finish_eh_generation): Update call of cleanup_cfg,
15608         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
15609         * output.h (cleanup_cfg): Update prototype.
15610         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
15611         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
15612         cleanup_cfg call; kill missleading comment.
15613         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
15614         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
15615         parameter; control optimizations performed using it.
15616         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
15617         try_crossjump_bb): New functions.
15618
15619 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15620
15621         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
15622         extern.
15623         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
15624         pa_output_function_prologue.
15625         * pa-protos.h (pa_output_function_prologue): New prototype.
15626
15627 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15628
15629         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
15630         and low to get correct sign extension in low+high test.
15631
15632 2001-07-11  Janis Johnson <janis@us.ibm.com>
15633
15634         * gcov.c (arcdata): Use gcov_type to fix branch percentage
15635         for large hit count.
15636
15637         * profile.c (branch_prob): Fix .bbg info for computed gotos
15638         and C++ EH code.
15639
15640 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
15641
15642         * stmt.c (parse_output_constraint): New function, split out
15643         from ...
15644         (expand_asm_operands): ... here.  Use parse_output_constraint.
15645         * tree.h (parse_output_constraint): Declare it.
15646
15647 2001-07-11  Richard Henderson  <rth@redhat.com>
15648
15649         * bitmap.c: Comment some functions; fiddle whitespace.
15650         (bitmap_free): Don't export.
15651         (bitmap_element_allocate): Use memset.
15652         * bitmap.h (bitmap_free): Don't declare.
15653
15654 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
15655
15656         * gcse.c, lcm.c, sched-deps.c:
15657         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
15658
15659         * flow.c (flow_loops_find): Free dom if we found no loops, since
15660         we aren't going to save it.
15661
15662         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
15663         done.
15664
15665 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
15666
15667         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
15668
15669 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15670
15671         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
15672         #ifndef DWARF2_DEBUGGING_INFO.
15673
15674 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
15675
15676         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
15677
15678 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
15679
15680         * config/mips/mips.c (gen_int_relational): Tell the caller not to
15681         reverse a branch if a NE comparison is implemented with GTU.
15682
15683 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
15684             H.J. Lu  <hjl@gnu.org>
15685
15686         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
15687         constant addresses.
15688         (call_internal2): Likewise.
15689         (call_value_internal1): Likewise.
15690         (call_value_internal2): Likewise.
15691         (call_value_multiple_internal1): Likewise.
15692         (call_value_multiple_internal2): Likewise.
15693
15694 2001-07-10  Kazu Hirata  <kazu@hxi.com>
15695
15696         * calls.c (emit_library_call_value_1): Fix a comment typo.
15697         * dwarf2out.c (mem_loc_descriptor): Likewise.
15698         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
15699
15700 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
15701
15702         * simplify-rtx.c (simplify_subreg): Fix typo in comment
15703
15704 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15705
15706         * recog.c (offsettable_address_p): Handle LO_SUM case.
15707         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
15708         instead of plus_constant.
15709
15710 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15711
15712         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
15713         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
15714
15715 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15716
15717         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
15718         adjust_address_nv instead of plus_constant.
15719
15720 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
15721
15722         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
15723         dwarf2out.o): Depend on debug.h, wrap long lines.
15724         * dbxout.c: Include debug.h.
15725         (dbx_debug_hooks): New.
15726         (dbxout_init): Make static, take just 2 args.
15727         (dbxout_finish): Make static.
15728         * dbxout.h (dbxout_init, dbxout_finish): Delete.
15729         * debug.c: New file.
15730         * debug.h: New file.
15731         * dwarf2out.c: Include debug.h.
15732         (dwarf2_debug_hooks): New.
15733         (dwarf2out_init): Make static.
15734         (dwarf2out_finish): Make static, take 2 args.
15735         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
15736         * dwarfout.c: Include debug.h.
15737         (dwarf_debug_hooks): New.
15738         (dwarfout_init): Make static.
15739         (dwarfout_finish): Make static, take 2 args.
15740         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
15741         * sdbout.c: Include debug.h.
15742         (sdb_debug_hooks): New.
15743         (sdbout_init): Make static, take 2 args.
15744         * sdbout.h (sdbout_init): Delete.
15745         * toplev.c: Include debug.h.
15746         (debug_hooks): New.
15747         (compile_file): Set deubg_hooks based on command line options.
15748         Use the hooks unconditionally rather than conditional compilation.
15749
15750 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
15751
15752         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
15753         first_insn_after_basic_block_note instead.
15754
15755         * df.c (df_bb_refs_unlink): #if 0 out for now.
15756
15757 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
15758
15759         * ssa.h: Add prototype for ssa_const_prop
15760         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
15761         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
15762         (ssa_fast_dce): Remove unused variable
15763
15764 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
15765
15766         * diagnostic.c (finish_diagnostic): Rename to
15767         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
15768         calls thourghout.
15769
15770 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
15771
15772         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
15773         .loc support.
15774
15775         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
15776         (dump_file): Only pad the demangled name with spaces if the
15777         mangled name was padded with spaces.
15778
15779 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
15780
15781         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
15782         edge detection.
15783
15784 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15785
15786         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
15787         extraction if no direct load if either EXPAND_CONST_ADDRESS or
15788         EXPAND_INITIALIZER.
15789
15790         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
15791         whether can put offset inside LO_SUM to check mode alignment, not size.
15792
15793 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
15794
15795         * doc/tm.texi (Misc): Fix thinko.
15796
15797 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
15798
15799         * regmove.c (replace_in_call_usage): Fix warnings.
15800         * sched-deps.c (add_dependence): Fix warnings.
15801         * simplify-rtx.c (simplify_subreg): Likewise.
15802         Return NULL_RTX instead of NULL.
15803
15804         * reg-stack.c (emit_swap_insn): Eliminate warnings.
15805         (subst_asm_stack_regs): Likewise.
15806
15807         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
15808         warnings.
15809
15810         * dwarf2out.c (output_call_frame_info): Declare i as int.
15811         (build_abbrev_table): Declare n_alloc as int.
15812         (dwarf2out_finish): Initialize die.
15813         * except.c: Declare sjlj_funcdef_number as unsigned.
15814         (connect_post_landing_pads): Declare j as unsigned.
15815         (convert_to_eh_region_ranges): Initialize call_site.
15816         (output_function_exception_table): Initialize tt_format_size.
15817         * expr.c (move_by_pieces_1): Initialize to1.
15818         (store_constructor): Initialize minelt and maxelt.
15819         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
15820         * function.c (instantiate_decls): Avoid signed/unsigned warning.
15821
15822         * c-decl.c (combine_parm_decls): Unused, remove.
15823         * c-tree.h: Remove prototype for combine_parm_decls.
15824
15825         * reload.c (push_reload): Fix warning.
15826         (regno_clobbered_p): Likewise.
15827         * reload1.c (replace_pseudos_in_call_usage): Likewise.
15828         (reload_combine): Likewise.
15829
15830         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
15831         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
15832         warnings.
15833         * bitmap.c (bitmap_operation): Change user.
15834         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
15835
15836 2001-07-10  Eric Christopher  <echristo@redhat.com>
15837
15838         * config/mips/mips.c (override_options): Fix typo.
15839
15840 2001-07-09  Stan Shebs  <shebs@apple.com>
15841
15842         * target.h (struct gcc_target): New fields init_builtins and
15843         expand_builtin.
15844         * target-def.h (TARGET_INIT_BUILTINS): New macro.
15845         (TARGET_EXPAND_BUILTIN): New macro.
15846         (TARGET_INITIALIZER): Add them.
15847         * builtins.c: Include target.h.
15848         (expand_builtin): Use targetm.expand_builtin.
15849         (default_init_builtins): New function.
15850         (default_expand_builtin): New function.
15851         * expr.h (default_init_builtins): Declare.
15852         (default_expand_builtin): Declare.
15853         * c-common.c (c_common_nodes_and_builtins): Use
15854         targetm.init_builtins.
15855         * defaults.h (MD_INIT_BUILTINS): Remove.
15856         * Makefile.in (builtins.o): Depend on target.h.
15857
15858         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
15859         (TARGET_EXPAND_BUILTIN): Define.
15860         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
15861         (MD_EXPAND_BUILTIN): Remove.
15862
15863         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
15864         (TARGET_EXPAND_BUILTIN): Define.
15865         (c4x_init_builtins): Make endlink arg a local.
15866         (c4x_print_operand): Fix typos in adjust_address usages.
15867         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
15868         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
15869         (MD_EXPAND_BUILTIN): Remove.
15870
15871         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
15872         (TARGET_EXPAND_BUILTIN): Define.
15873         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
15874         (ix86_init_builtins): Call new function only if TARGET_MMX.
15875         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
15876         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
15877         (MD_EXPAND_BUILTIN): Remove.
15878
15879         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
15880         (TARGET_EXPAND_BUILTIN): Define.
15881         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
15882         (MD_EXPAND_BUILTIN): Remove.
15883
15884         * doc/tm.texi: Document these changes.
15885
15886 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
15887
15888         * basic-block.h (tree_node): Forward declare if needed.
15889         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
15890         (BLOCK_HEAD_TREE): Define.
15891         (BLOCK_END_TREE): Define.
15892         (struct loops): Rename field 'tree' to 'tree_root'.
15893         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
15894         'end_tree'.
15895         (flow_loops_tree_build): Rename reference to field 'tree' to
15896         'tree_root'.
15897         (flow_loops_level_compute): Ditto.
15898         * predict.c (estimate_bb_frequencies): Ditto.
15899         * tree.h (struct tree_common): Add field 'aux'.
15900
15901 2001-07-09  Stan Shebs  <shebs@apple.com>
15902
15903         * config/darwin.c (darwin_encode_section_info): Don't mark any
15904         DECL_EXTERNAL node as defined.
15905
15906 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15907
15908         * pa.c (pa_init_machine_status, pa_mark_machine_status,
15909         pa_free_machine_status, hppa_init_pic_save): Delete.
15910         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
15911         (hppa_profile_hook): Use hppa_pic_save_rtx.
15912         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
15913         hppa_init_pic_save): Delete.
15914         (hppa_pic_save_rtx): Declare.
15915         * pa.md (call, call_value, sibcall, sibcall_value,
15916         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
15917
15918 2001-07-09  Kazu Hirata  <kazu@hxi.com>
15919
15920         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
15921         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
15922
15923 2001-07-09  Andreas Jaeger  <aj@suse.de>
15924
15925         * output.h: Add declaration of final_forward_branch_p.
15926
15927         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
15928
15929         * varray.c: Include errors.h for internal_error and trim_filename
15930         declarations.
15931
15932         * Makefile.in (varray.o): Add errors.h.
15933
15934 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
15935
15936         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
15937         * optabs.c (have_add2_insn): Check whether the add insn chosen
15938         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
15939         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
15940
15941 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
15942
15943         * Makefile.in (OBJS): Add ssa-ccp.o
15944         (ssa-ccp.o): Add dependencies.
15945         * toplev.c (DFI_ssa_ccp): New dump file enum.
15946         (dump_file): Add entry for dumping after SSA CCP.
15947         (flag_ssa_ccp): New flag variable.
15948         (f_options): Add -fssa-ccp.
15949         (rest_of_compilation): Run SSA CCP if requested.
15950         * timevar.def (TV_SSA_CCP): New timevar.
15951         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
15952         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
15953         Fix minor typo in SSA DCE documentation.
15954         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
15955         Add documentation for new dump option.  Renumber dump files
15956         appropriately.
15957
15958 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15959
15960         * emit-rtl.c (gen_highpart_mode): New.
15961         * rtl.h (gen_highpart_mode): Declare.
15962         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
15963         operand can be VOIDmode constant.
15964
15965 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
15966
15967         * flow.c (redirect_edge_and_branch_force): New.
15968         (can_fallthru): Ensure that basic blocks are succeeding.
15969         (try_optimize_cfg): Do not delete basic block if it is the last one.
15970
15971         * flow.c (try_redirect_by_replacing_jump): Do not remove
15972         jumps with side effects, unlink chain on fallthru edge;
15973         set block for new jump instruction; avoid basic block to
15974         over by line number note.
15975
15976         * flow.c (try_simplify_condjump): Verify that the condjump
15977         is not always falling through.
15978
15979         Re-install patch:
15980         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
15981
15982         * flow.c (forwarder_block_p): Fix for fallthru blocks.
15983         (try_redirect_by_replacing_jump): Update properly the count
15984         and frequency information.
15985
15986 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15987
15988         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
15989         address that is a LO_SUM specially.
15990         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
15991
15992         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
15993
15994         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
15995         (operand_subword): Use them.
15996         (change_address_1): Renamed from change_address; new arg VALIDATE.
15997         * expr.h: Reflect above changes; change_address now macro.
15998         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
15999         making MEM.
16000         * cselib.c (add_mem_for_addr): Likewise.
16001         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
16002         * regmove.c (try_apply_stack_adjustment): Likewise.
16003         * reload.c (push_reload, make_memloc): Likewise.
16004         * reload1.c (eliminate_regs): Likewise.
16005         * simplify-rtx.c (simplify_replace_rtx): Likewise.
16006         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
16007         adjust_addess.
16008         * combine.c (make_extraction, simplify_shift_const): Likewise.
16009         (gen_lowpart_for_combine): Likewise.
16010         * cse.c (gen_lowpart_if_possible): Likewise.
16011         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
16012         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
16013         * optabs.c (gen_move_insn): Likewise.
16014         * reload1.c (alter_reg): Likewise.
16015         * simplify-rtx.c (simplify_subreg): Likewise.
16016         * stmt.c (expand_anon_union_decl): Likewise.
16017         * recog.c (validate_replace_rtx_1): Likewise.
16018         (expr.h): Include.
16019         * Makefile.in (recog.o): Add $(EXPR_H).
16020         * explow.c (stabilize): Call replace_equiv_address.
16021         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
16022         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
16023
16024 2001-07-03  Andrew Haley  <aph@redhat.com>
16025
16026         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
16027         the mode of the memory location.
16028
16029 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
16030
16031         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
16032
16033 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
16034
16035         * final.c (output_addr_const): Use target opening and
16036         closing parentheses.
16037         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
16038         defaults, add to TARGET_ASM_OUT.
16039         * target.h (struct gcc_target): Add open_paren and close_paren.
16040         * doc/md.texi: Update.
16041         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
16042         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
16043         TARGET_ASM_CLOSE_PAREN.
16044         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
16045         Override.
16046         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
16047         Override.
16048         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
16049         * config/a29k/a29k.h: Similarly.
16050         * config/alpha/alpha.h: Similarly.
16051         * config/arc/arc.h: Similarly.
16052         * config/arm/aof.h: Similarly.
16053         * config/arm/aout.h: Similarly.
16054         * config/avr/avr.h: Similarly.
16055         * config/c4x/c4x.h: Similarly.
16056         * config/clipper/clipper.h: Similarly.
16057         * config/convex/convex.h: Similarly.
16058         * config/d30v/d30v.h: Similarly.
16059         * config/dsp16xx/dsp16xx.h: Similarly.
16060         * config/elxsi/elxsi.h: Similarly.
16061         * config/fr30/fr30.h: Similarly.
16062         * config/h8300/h8300.h: Similarly.
16063         * config/i370/i370.h: Similarly.
16064         * config/i386/i386.h: Similarly.
16065         * config/i860/i860.h: Similarly.
16066         * config/i960/i960.h: Similarly.
16067         * config/ia64/ia64.h: Similarly.
16068         * config/m32r/m32r.h: Similarly.
16069         * config/m68hc11/m68hc11.h: Similarly.
16070         * config/m68k/m68k.h: Similarly.
16071         * config/m88k/m88k.h: Similarly.
16072         * config/mcore/mcore.h: Similarly.
16073         * config/mips/mips.h: Similarly.
16074         * config/mn10200/mn10200.h: Similarly.
16075         * config/mn10300/mn10300.h: Similarly.
16076         * config/ns32k/ns32k.h: Similarly.
16077         * config/pa/pa.h: Similarly.
16078         * config/pdp11/pdp11.h: Similarly.
16079         * config/pj/pj.h: Similarly.
16080         * config/romp/romp.h: Similarly.
16081         * config/rs6000/rs6000.h: Similarly.
16082         * config/sh/sh.h: Similarly.
16083         * config/sparc/sparc.h: Similarly.
16084         * config/v850/v850.h: Similarly.
16085         * config/vax/vax.h: Similarly.
16086         * config/we32k/we32k.h: Similarly.
16087
16088 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
16089
16090         * doc/c-tree.texi: Document representation of attributes.
16091
16092 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16093
16094         * doc/tm.texi: Update some places for the rename of target to
16095         targetm.  Fix typo.
16096
16097 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16098
16099         * target.h (struct gcc_target): Add insert_attributes.
16100         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
16101         (TARGET_INITIALIZER): Update.
16102         * tree.c, tree.h (default_insert_attributes): New function.
16103         Update comments on other default functions to refer to targetm,
16104         not target.
16105         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
16106         TARGET_INSERT_ATTRIBUTES.
16107         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
16108         * c-common.c (decl_attributes): Use targetm.insert_attributes.
16109         Don't use PRAGMA_INSERT_ATTRIBUTES.
16110         * Makefile.in (c-common.o): Depend on $(TARGET_H).
16111         * c-decl.c (start_decl, start_function): Don't call
16112         SET_DEFAULT_DECL_ATTRIBUTES.
16113         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
16114         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
16115         declare.
16116         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
16117         (c4x_check_attribute): Avoid modifying attribute list itself.
16118         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
16119         Make static.
16120         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
16121         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
16122         declare.
16123         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
16124         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
16125         Make static.
16126         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
16127         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
16128         declare.
16129         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
16130         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
16131         Adjust parameters.  Make static.
16132
16133 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16134
16135         * c-common.c (decl_attributes): Only take a single attributes
16136         parameter.
16137         * c-common.h (decl_attributes): Update prototype.
16138         * c-decl.c (start_decl, start_function): Only take a single
16139         attributes parameter.  Update calls to decl_attributes.
16140         (finish_struct, finish_enum): Update calls to decl_attributes.
16141         (push_parm_decl): Expect unified list of attributes.  Update call
16142         to decl_attributes.
16143         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
16144         notype_nested_function, component_declarator,
16145         component_notype_declarator, label): Update calls to
16146         decl_attributes.
16147         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
16148         lists that are passed to push_parm_decl.
16149         * c-tree.h (start_function, start_decl): Update prototypes.
16150         * config/sh/sh-protos.h, config/sh/sh.c
16151         (sh_pragma_insert_attributes): Only take a single attributes
16152         parameter.
16153         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
16154         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
16155         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
16156         build_module_descriptor, generate_static_references,
16157         generate_strings, build_selector_translation_table,
16158         generate_descriptor_table, generate_protocols,
16159         generate_ivars_list, generate_dispatch_table,
16160         generate_protocol_list, generate_category,
16161         generate_shared_structures, really_start_method, add_objc_decls,
16162         generate_classref_translation_entry): Update calls to start_decl
16163         and start_function.
16164         (build_tmp_function_decl, start_method_def): Unify attribute lists
16165         that are passed to push_parm_decl.
16166
16167 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
16168
16169         * final.c (no_asm_to_stream): New.
16170         (final_scan_insn): Use target structures for prologue ends
16171         and epilogue starts.
16172         * output.h (no_asm_to_stream): New.
16173         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
16174         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
16175         (TARGET_ASM_OUT): Update.
16176         * target.h (struct gcc_target): New members function_end_prologue
16177         and function_begin_epilogue.
16178         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
16179         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
16180         * config/alpha/alpha.c (output_end_prologue): Rename to
16181         alpha_output_function_end_prologue.  Use in target struct
16182         and make static.
16183         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
16184         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
16185         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
16186         ia64_output_function_end_prologue.  Use in target struct
16187         and make static.
16188         (ia64_function_prologue, ia64_funciton_epilogue): Rename
16189         mistyped prototypes.
16190         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
16191         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
16192         Delete.
16193         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
16194         an use in target struct, make static.
16195         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
16196         Delete.
16197
16198 2001-07-08  Richard Henderson  <rth@redhat.com>
16199
16200         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
16201
16202 2001-07-08  Richard Henderson  <rth@redhat.com>
16203
16204         * config/i386/i386.md: Remove constraints strings from define_split
16205         and define_peephole2 patterns.
16206         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
16207         (eh_return): Use them.
16208
16209 2001-07-08  Richard Henderson  <rth@redhat.com>
16210
16211         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
16212         Document MD_FALLBACK_FRAME_STATE_FOR.
16213
16214 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16215
16216         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
16217         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
16218         elimination.
16219         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
16220
16221 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
16222
16223         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
16224         of the label inside NAME as opposed to just the end of NAME.
16225
16226 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
16227
16228         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
16229         * config/alpha/alpha.c (alpha_init_machine_status,
16230         alpha_mark_machine_status, alpha_free_machine_status): Delete.
16231         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
16232         (vms_valid_decl_attribute_p): Make static, conditionally compile.
16233         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
16234
16235 2001-07-06  Stan Shebs  <shebs@apple.com>
16236
16237         * target.h (targetm): Rename global from "target", so as not to
16238         conflict with local variables.
16239         * c-decl.c: Ditto.
16240         * c-typeck.c: Ditto.
16241         * final.c: Ditto.
16242         * tree.c: Ditto.
16243         * cp/decl.c: Ditto.
16244         * cp/decl2.c: Ditto.
16245         * cp/typeck.c: Ditto.
16246         * 1750a/1750a.c: Ditto.
16247         * a29k/a29k.c: Ditto.
16248         * arc/arc.c: Ditto.
16249         * arm/arm.c: Ditto.
16250         * avr/avr.c: Ditto.
16251         * clipper/clipper.c: Ditto.
16252         * convex/convex.c: Ditto.
16253         * d30v/d30v.c: Ditto.
16254         * dsp16xx/dsp16xx.c: Ditto.
16255         * elxsi/elxsi.c: Ditto.
16256         * fr30/fr30.c: Ditto.
16257         * h8300/h8300.c: Ditto.
16258         * i370/i370.c: Ditto.
16259         * i386/i386.c: Ditto.
16260         * i860/i860.c: Ditto.
16261         * i960/i960.c: Ditto.
16262         * ia64/ia64.c: Ditto.
16263         * m32r/m32r.c: Ditto.
16264         * m68hc11/m68hc11.c: Ditto.
16265         * m68k/m68k.c: Ditto.
16266         * m88k/m88k.c: Ditto.
16267         * mips/mips.c: Ditto.
16268         * ns32k/ns32k.c: Ditto.
16269         * pa/pa.c: Ditto.
16270         * pdp11/pdp11.c: Ditto.
16271         * romp/romp.c: Ditto.
16272         * rs6000/rs6000.c: Ditto.
16273         * sh/sh.c: Ditto.
16274         * sparc/sparc.c: Ditto.
16275         * vax/vax.c: Ditto.
16276         * we32k/we32k.c: Ditto.
16277         * doc/tm.texi: Update the manual to match.
16278
16279 2001-07-06  Richard Henderson  <rth@redhat.com>
16280
16281         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
16282         DWARF2_UNWIND_INFO not just whether it is defined.
16283
16284 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
16285
16286         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
16287         call to simplify_binary_operation returns a new pattern.
16288
16289 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16290
16291         * glimits.h (__SHRT_MAX__): New.
16292         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
16293         (SHRT_MAX): Define in terms of __SHRT_MAX__.
16294
16295 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
16296
16297         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
16298         avoid warnings.
16299
16300 2001-07-06  Richard Henderson  <rth@redhat.com>
16301
16302         * bitmap.c (bitmap_release_memory): Move adjacent to the
16303         allocation functions.
16304         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
16305         the implementation.  Binary search for the set bit.
16306         (bitmap_union_of_diff): Allocate the temporary on the stack
16307         instead of using xmalloc.
16308
16309 2001-07-06  Richard Henderson  <rth@redhat.com>
16310
16311         * genrecog.c (validate_pattern): Warn for constraints in
16312         define_{expand,split,peephole2}.  Remove strict_low_part
16313         before looking up match_dup.
16314
16315 2001-07-06  DJ Delorie  <dj@redhat.com>
16316
16317         * doc/gcc.texi (Makefile): Rename to be a more general purpose
16318         chapter about various build hints and history.  Add section
16319         talking about the various types of native and cross builds.
16320
16321 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
16322
16323         * Makefile.in (final.o): Depend on target.h.
16324         * final.c: Include target.h.
16325         (default_function_pro_epilogue): New.
16326         (final_start_function): Use target structure for function prologues.
16327         (final_end_function): Use target structure for function epilogues.
16328         * fold-const.c (real_hex_to_f): Constify s and p.
16329         * output.h (default_function_pro_epilogue): New.
16330         * real.h (real_hex_to_f): Update prototype.
16331         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
16332         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
16333         (TARGET_INITIALIZER): Update.
16334         * target.h (gcc_target): Add struct asm_out.
16335         * doc/tm.texi: Update.
16336
16337 config:
16338         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
16339         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
16340         in cpu/cpu.c, or rename old functions consistently.  Take
16341         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
16342         redundant macros and prototypes.  Make new functions static.
16343
16344         * 1750a/1750a.c: Similarly.
16345         * 1750a/1750a.h: Similarly.
16346         * a29k/a29k-protos.h: Similarly.
16347         * a29k/a29k.c: Similarly.
16348         * a29k/a29k.h: Similarly.
16349         * arc/arc-protos.h: Similarly.
16350         * arc/arc.c: Similarly.
16351         * arc/arc.h: Similarly.
16352         * arm/arm-protos.h: Similarly.
16353         * arm/arm.c: Similarly.
16354         * arm/arm.h: Similarly.
16355         * avr/avr-protos.h: Similarly.
16356         * avr/avr.c: Similarly.
16357         * avr/avr.h: Similarly.
16358         * clipper/clipper-protos.h: Similarly.
16359         * clipper/clipper.c: Similarly.
16360         * clipper/clipper.h: Similarly.
16361         * convex/convex.c: Similarly.
16362         * convex/convex.h: Similarly.
16363         * d30v/d30v-protos.h: Similarly.
16364         * d30v/d30v.c: Similarly.
16365         * d30v/d30v.h: Similarly.
16366         * d30v/d30v.md: Similarly.
16367         * dsp16xx/dsp16xx-protos.h: Similarly.
16368         * dsp16xx/dsp16xx.c: Similarly.
16369         * dsp16xx/dsp16xx.h: Similarly.
16370         * elxsi/elxsi.c: Similarly.
16371         * elxsi/elxsi.h: Similarly.
16372         * fr30/fr30.c: Similarly.
16373         * fr30/fr30.md: Similarly.
16374         * h8300/h8300-protos.h: Similarly.
16375         * h8300/h8300.c: Similarly.
16376         * h8300/h8300.h: Similarly.
16377         * i370/i370-protos.h: Similarly.
16378         * i370/i370.c: Similarly.
16379         * i370/i370.h: Similarly.
16380         * i386/i386.c: Similarly.
16381         * i386/osf1elf.h: Similarly.
16382         * i386/osfrose.h: Similarly.
16383         * i860/i860-protos.h: Similarly.
16384         * i860/i860.c: Similarly.
16385         * i860/i860.h: Similarly.
16386         * i960/i960-protos.h: Similarly.
16387         * i960/i960.c: Similarly.
16388         * i960/i960.h: Similarly.
16389         * ia64/ia64-protos.h: Similarly.
16390         * ia64/ia64.c: Similarly.
16391         * ia64/ia64.h: Similarly.
16392         * m32r/m32r-protos.h: Similarly.
16393         * m32r/m32r.c: Similarly.
16394         * m32r/m32r.h: Similarly.
16395         * m68hc11/m68hc11-protos.h: Similarly.
16396         * m68hc11/m68hc11.c: Similarly.
16397         * m68hc11/m68hc11.h: Similarly.
16398         * m68k/crds.h: Similarly.
16399         * m68k/dpx2.h: Similarly.
16400         * m68k/m68k-protos.h: Similarly.
16401         * m68k/m68k.c: Similarly.
16402         * m68k/m68k.h: Similarly.
16403         * m68k/news.h: Similarly.
16404         * m88k/m88k-protos.h: Similarly.
16405         * m88k/m88k.c: Similarly.
16406         * m88k/m88k.h: Similarly.
16407         * mips/mips-protos.h: Similarly.
16408         * mips/mips.c: Similarly.
16409         * mips/mips.h: Similarly.
16410         * ns32k/merlin.h: Similarly.
16411         * ns32k/ns32k.c: Similarly.
16412         * ns32k/ns32k.h: Similarly.
16413         * ns32k/tek6000.h: Similarly.
16414         * pa/pa-protos.h: Similarly.
16415         * pa/pa.c: Similarly.
16416         * pa/pa.h: Similarly.
16417         * pdp11/2bsd.h: Similarly.
16418         * pdp11/pdp11-protos.h: Similarly.
16419         * pdp11/pdp11.c: Similarly.
16420         * pdp11/pdp11.h: Similarly.
16421         * romp/romp-protos.h: Similarly.
16422         * romp/romp.c: Similarly.
16423         * romp/romp.h: Similarly.
16424         * rs6000/rs6000-protos.h: Similarly.
16425         * rs6000/rs6000.c: Similarly.
16426         * rs6000/rs6000.h: Similarly.
16427         * rs6000/sysv4.h: Similarly.
16428         * sh/sh-protos.h: Similarly.
16429         * sh/sh.c: Similarly.
16430         * sh/sh.h: Similarly.
16431         * sparc/sparc-protos.h: Similarly.
16432         * sparc/sparc.c: Similarly.
16433         * sparc/sparc.h: Similarly.
16434         * vax/vax.c: Similarly.
16435         * vax/vax.h: Similarly.
16436         * vax/vms.h: Similarly.
16437         * we32k/we32k.c: Similarly.
16438         * we32k/we32k.h: Similarly.
16439
16440 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
16441
16442         * basic-block.h (first_insn_after_basic_block_note): Declare.
16443         * flow.c (first_insn_after_basic_block_note): Define.  Moved
16444         from...
16445         * ssa.c (first_insn_after_basic_block_note): Remove.
16446         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
16447         necessary.
16448         (ssa_eliminate_dead_code): Properly update the CFG and PHI
16449         nodes when we find a dead conditional branch.  Insert BARRIERs
16450         after any blocks with no successors, but which do not have
16451         any BARRIERs.
16452
16453 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
16454
16455         * varray.c (varray_check_failed): Use internal_error.
16456
16457 2001-07-05  Andrew Haley  <aph@redhat.com>
16458
16459         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
16460         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
16461         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
16462
16463 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
16464
16465         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
16466         reference if the target constant is also a SYMBOL_REF.
16467
16468 2001-07-05  Eric Christopher  <echristo@redhat.com>
16469
16470         * config/mips/mips.h (MASK_MIPS3900): Remove.
16471         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
16472         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
16473         (TARGET_MIPS3900): Change to use mips_arch.
16474         (TARGET_MIPS4000): New.
16475         (TARGET_MIPS4100): New.
16476         (TARGET_MIPS4300): New.
16477         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
16478         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
16479         for -mipsX.
16480         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
16481         (ISA_HAS_BRANCHLIKELY): To here.
16482         (CC1_CPU_SPEC):  New.
16483         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
16484         (mips_arch_string): Declare.
16485         (mips_arch): Declare.
16486         (TARGET_OPTIONS): Add -march and -mtune.
16487
16488         * config/mips/mips.c (mips_arch_string): New.
16489         (mips_arch): New.
16490         (override_options): Handle -march for codegen and -mtune
16491         for scheduling. Use mips_arch. Move tx39 target default here.
16492         (mips_parse_cpu): Move error message to override_options.
16493
16494         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
16495
16496         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
16497
16498         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
16499         (MIPS Options): Ditto.  Change mcpu entry to historical text.
16500
16501 2001-07-05  H.J. Lu  (hjl@gnu.org)
16502
16503         * config/mips/mips.c (mips_parse_cpu): New function to parse
16504         -march=*/-mcpu=*.
16505
16506 2001-07-05  Jim Wilson  <wilson@redhat.com>
16507
16508         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
16509         * config/ia64/t-ia64: Likewise.
16510         (LIB1ASMFUNCS): Update comment.
16511
16512 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
16513
16514         * doc/install.texi (Install GCC: Binaries): Fix typo.
16515
16516 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16517
16518         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
16519         reference using the stack pointer, adjust it since we push Y
16520         temporarily.
16521         ("*ashrsi3"): Likewise.
16522         ("*lshrsi3"): Likewise.
16523
16524 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16525
16526         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
16527         when -fomit-frame-pointer is used.
16528
16529 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
16530
16531         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
16532         (try_redirect_by_replacing_jump): Reverse updating properly the
16533         count and frequency information.  Reverse removing cc0 setter.
16534         (forwarder_block_p): Reverse fixing for fallthru blocks.
16535
16536 2001-07-05  DJ Delorie  <dj@redhat.com>
16537
16538         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
16539         (translate_options): If the above is defined, use it to map
16540         given options to new options.
16541         * doc/tm.texi: Document it.
16542
16543 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
16544             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16545
16546         * doc/invoke.texi (Optimize Options): Document that -fgcse may
16547         cause programs using computed gotos to run more slowly.
16548
16549 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16550
16551         * doc/install.texi (Specific): Markup, spelling and typo fixes.
16552         Fixed sorting.
16553         Consistently require binutils 2.11.2, not prereleases.
16554         (Specific, decstation-*): Canonicalize as mips-dec-*.
16555         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
16556         always necessary.
16557         (Specific, m68k-altos): Removed reference to README.altos, deleted.
16558         (Specific, mips-*): Reword MIPS C compiler requirements.
16559         (Specific, powerpc*-*-*): New, mention --with-cpu once.
16560         (Specific, sunv5): Removed, obsolete.
16561
16562 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16563
16564         * dwarf2out.c (output_loc_list): Use an all ones mask for
16565         .text asm output and don't rely on long long
16566         literals. Reformat some long lines.
16567
16568 2001-07-05  Andreas Jaeger  <aj@suse.de>
16569
16570         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
16571         section.
16572
16573 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
16574
16575         * dwarf2out.c (dwarf2out_define): Update comment.
16576         (dwarf2out_undef): Ditto.
16577         (dwarf2out_start_source_file): Ditto.
16578         (dwarf2out_end_source_file): Ditto.
16579         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
16580         since we never call the start/end debug hook for the primary file.
16581
16582 2001-07-04  Kazu Hirata  <kazu@hxi.com>
16583
16584         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
16585         from shll.
16586
16587 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
16588
16589         * cppinit.c (remove_dup_dirs): Inform if a system include
16590         directory is being reordered.
16591         * doc/invoke.texi (Directory Options): GCC warns if you hide a
16592         system include.
16593         * doc/cpp.texi (Search Paths): Likewise.
16594         * doc/gcc.texi (Interoperation): Remove information about
16595         -I/usr/include.
16596
16597 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
16598
16599         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
16600         (VARRAY_TOP_CHAR_PTR): Likewise.
16601
16602 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16603
16604         * gcc.c (process_command): Don't assign elements of a const char*.
16605
16606 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16607
16608         * emit-rtl.c (change_address): Don't abort if invalid address while
16609         reload is in progress.
16610
16611 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
16612
16613         * c-lex.c (cb_file_change): Pass line number to
16614         debug_start_source_file.
16615         (cb_undefine): Pass correct line number to debug_undef.
16616
16617         * toplev.c (debug_start_source_file): Add line number to
16618         parameters. Pass it along to dwarf2out_start_source_file.
16619         (decode_g_option): Stop resetting debug level back to normal when
16620         we change debug formats, unless the current level is
16621         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
16622         3).
16623
16624         * toplev.h (debug_start_source_file): Add line number to
16625         parameters.
16626
16627         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
16628         parameters.
16629
16630         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
16631         parameters.
16632         Output debug_macinfo data for starting file if requested.
16633         (dwarf2out_end_source_file): Output debug_macinfo data for ending
16634         file if requested.
16635         (dwarf2out_define): Output debug_macinfo data for defining a macro
16636         if requested.
16637         (dwarf2out_undef): Output debug_macinfo data for undefining a
16638         macro if requested.
16639         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
16640         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
16641         (macinfo_section_label): New. DWARF2 macro info section label.
16642         (dwarf2out_init): If we want macro info, output the start label
16643         for the section.
16644         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
16645         attribute to the compilation unit die pointing to the macro info.
16646
16647 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
16648
16649         * dwarf2out.c (new_loc_list): Move to inside #ifdef
16650         DWARF2_DEBUGGING_INFO.
16651         (add_loc_descr_to_loc_list): Ditto.
16652         (output_loc_list): Ditto.
16653         Also, fix thinko in curr not being initialized.
16654         (gen_internal_sym): Ditto.
16655
16656 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16657
16658         * emit-rtl.c (replace_equiv_address): New function.
16659         * expr.h (replace_equiv_address): New declaration.
16660         * explow.c (validize_mem): Call it instead of change_address and
16661         also call if -fforce-addr and address is constant.
16662         * expr.c: Replace more calls to change_address with adjust_address
16663         and/or replace_equiv_address or to validize_mem.
16664         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
16665         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
16666         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
16667         * config/i370/i370.md, config/i860/i860.md: Likewise.
16668         * config/i960/i960.md, config/mips/mips.c: Likewise.
16669         * config/mips/mips.md, config/pa/pa.md: Likewise.
16670         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
16671         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
16672
16673 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16674
16675         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
16676
16677         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
16678         function.
16679
16680 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
16681
16682         * doc/include: New directory.
16683         * doc/fdl.texi: Move to doc/include/fdl.texi.
16684         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
16685         * doc/include/funding.texi, doc/include/gpl.texi: New files.
16686         * doc/gcc.texi: Use funding.texi and gpl.texi.
16687         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
16688         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
16689         Update dependencies and use -I $(docdir)/include.
16690
16691 2001-07-04  Anthony Green  <green@redhat.com>
16692
16693         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
16694
16695 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16696
16697         * doc/install.texi (sparc64-*-*): Remove garbage.
16698
16699 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
16700
16701         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
16702         Fix typo in last change to use adjust_address.
16703
16704 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16705
16706         * doc/install.texi (Specific): Update information for *-*-solaris*.
16707
16708 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16709
16710         * explow.c (plus_constant_wide): Reinitialize Y for restart.
16711
16712 2001-07-03  Stan Shebs  <shebs@apple.com>
16713
16714         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
16715         case for flag_no_mach_text_sections.
16716         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
16717         * config/darwin.c (flag_no_mach_text_sections): Remove.
16718         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
16719
16720 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16721
16722         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
16723         and avoid checking for constant as first operand.
16724         * recog.c (find_constant_term_loc): No longer static.
16725         (adj_offettable_operand): Delete.
16726         * rtl.h (adj_offsettable_operand): Delete declaration.
16727         (find_constant_term): Add declaration.
16728         * caller-save.c: Replace calls to adj_offsettable_operand with calls
16729         to adjust_address.
16730         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
16731         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
16732         * config/i386/i386.c, config/i386/i386.md: Likewise.
16733         * config/i860/i860.c, config/i960/i960.c: Likewise.
16734         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
16735         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
16736         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
16737         * config/mips/mips.c, config/mips/mips.md: Likewise.
16738         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
16739         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
16740         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
16741         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
16742         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
16743         * config/ns32k/ns32k.md: Likewise.
16744
16745 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
16746
16747         * rtl.c (copy_rtx): Handle 'T' format letter.
16748         * gensupport.c (collect_insn_data): Likewise.
16749         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
16750
16751 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
16752
16753         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
16754         -B option.  Use 'dir' not 'foo' as example directory name.
16755
16756 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16757
16758         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
16759         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
16760
16761 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
16762
16763         * doc/cppinternals.texi: Improve formatting and logical markup.
16764
16765 2001-07-03  Andreas Jaeger  <aj@suse.de>
16766
16767         * Makefile.in (insn-recog.o): Add dependency on reload.h.
16768
16769         * genrecog.c (write_header): Include reload.h for prototypes in
16770         insn-recog.c.
16771
16772 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
16773
16774 config:
16775         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
16776         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
16777         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
16778         i386_pe_valid_type_attribute_p): Add.
16779         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
16780         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
16781
16782 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16783
16784         * explow.c (plus_constant_wide, case LO_SUM): New case.
16785         (plus_constant_for_output_wide): Delete.
16786         * rtl.h (plus_constant_for_output): Delete.
16787         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
16788         instead of plus_constant_for_output.
16789         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
16790         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
16791         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
16792         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
16793         * config/sparc/sparc.md: Likewise.
16794         Convert some change_address calls to adjust_address.
16795
16796 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
16797
16798         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
16799         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
16800         documentation of -std and -Wwrite-strings.
16801
16802 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
16803
16804         * cse.c (canon_hash): Don't register registers in very small
16805         register classes, as extending their lifetime might cause
16806         reload to fail.
16807
16808 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16809
16810         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
16811
16812         * flow.c (forwarder_block_p): Fix for fallthru blocks.
16813         (try_redirect_by_replacing_jump): Update properly the count
16814         and frequency information.
16815
16816 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
16817
16818         * toplev.c (dump_file_index): Move SSA dumps just after first
16819         jump dump.
16820         (dump_file): Corresponding changes.
16821         (rest_of_compilation): Move SSA path to just after the first
16822         jump pass.
16823         * doc/gcc.texi (Passes): Update due to movement of SSA path.
16824         * doc/invoke.texi: Update dump file #s as they were completely
16825         out of date with reality.
16826
16827 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
16828
16829         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
16830
16831         * expr.c (emit_move_insn_1): Deal with non-default
16832         STACK_PUSH_CODE.
16833
16834         * expr.c (emit_single_push_insn): Fix warning.
16835
16836 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
16837
16838         * expr.c (emit_move_insn_1): Avoid modifying
16839         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
16840
16841 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16842
16843         * emit-rtl.c (adjust_address): New function.
16844         * expr.h (adjust_address): Add declaration.
16845         * builtins.c: Replace some calls to change_address with calls to it
16846         or to validize_mem.
16847         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
16848         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
16849         * config/arm/arm.c, config/convex/convex.c: Likewise.
16850         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
16851         * config/i386/i386.c, config/i386/i386.md: Likewise.
16852         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
16853         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
16854         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
16855         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
16856         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
16857
16858 2001-07-02  Jim Wilson  <wilson@redhat.com>
16859
16860         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
16861
16862 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
16863
16864         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
16865         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
16866
16867 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
16868
16869         * cppinit.c (lang_defaults): New table.
16870         (set_lang): Just read from lang_defaults into the live options
16871         structure.
16872
16873 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
16874
16875         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
16876         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
16877         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
16878
16879 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16880
16881         * doc/install.texi: Various spelling and markup fixes.
16882         (Installing GCC): Component specific installation instructions are
16883         gone.
16884         Fix reference.
16885         Warn about removing old install dir in the presence of shared libs.
16886         (Configuration): Invoke with options target to match configure
16887         --help.
16888         Consistently refer to gas, gld pathnames.
16889         Invert --enable-multilib documentation.
16890         Remove references to old compiler versions.
16891
16892 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16893
16894         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
16895
16896 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16897
16898         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
16899         section.
16900         (Specific, mips*-sgi-irix5): Note IDO download.
16901         Reworded MIPS C hints.
16902         Use GNU as instead of GAS.
16903         Markup fixes.
16904         Removed SGI Freeware reference, IRIX 6 only.
16905         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
16906         Note N64 library requirement/workaround.
16907         Update O32 hints.
16908         Complete list of structure passing bug victims.
16909
16910 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16911
16912         * doc/install.texi: Remove CVS Id.
16913
16914 2001-07-02  Andreas Jaeger  <aj@suse.de>
16915
16916         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
16917         (find_inherently_necessary): Remove unused variable.
16918
16919 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
16920
16921         * c-common.h (TDI_inlined): New ast dump phase.
16922         (dump_flag_name): New function.
16923         * c-dump.c (dump_files): Add inlined phase.
16924         (dump_flag_name): Define.
16925         * doc/invoke.texi (-fdump-ast-inlined): Document.
16926
16927 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16928
16929         * stor-layout.c (layout_decl): Revert change to handling of alignment
16930         in packed types.
16931
16932 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16933
16934         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
16935         for FIELD_DECL.
16936
16937 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
16938
16939         * doc/tm.texi (FUNCTION_ARG): Document that the last call
16940         is special.
16941
16942 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
16943
16944         * tlink.c (recompile_files): Remove COMPILER_PATH and
16945         LIBRARY_PATH from the environment.
16946
16947 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
16948
16949         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
16950         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
16951         enumerators.
16952         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
16953
16954         * c-parse.in (OBJC_STRING): Kill.
16955         (objc_string): Decompose to [objc_string] '@' STRING.
16956         (reswords): Take the leading '@' off all the Objective C keywords.
16957         (objc_rid_sans_at): Kill.
16958         (init_reswords): Don't initialize it.
16959         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
16960         (_yylex): Kill reconsider label.  Look ahead one token after
16961         an '@'; if we get an identifier, check whether it's an
16962         Objective C @-keyword.  If so, return the keyword.  Otherwise,
16963         put back the token and return the '@' as a terminal.
16964
16965         * cpplib.c (lex_macro_node): Remove unnecessary check for
16966         leading '@' on identifier.  Clarify control flow and commentary.
16967
16968 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16969
16970         * cse.c (new_label_ref): Variable deleted.
16971         (insert): Remove set of new_label_ref.
16972         (check_for_label_ref): New function.
16973         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
16974
16975 See ChangeLog.5 for earlier changes.