OSDN Git Service

* doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
2
3         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
4         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
5         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
6         don't print an @fptr for labels either.
7         (xstormy16_output_addr_vec): Don't print @fptr here.
8         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
9
10 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
11
12         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
13         an ANSI/ISO definitino.
14         (ssa_const_prop): Likewise.
15
16 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
17
18         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
19         altivec registers.
20
21 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
22
23         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
24         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
25         * cppmain.c (general_init): Call hex_init.
26         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
27
28         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
29
30         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
31         of dgux.c:output_file_start().
32
33         * i386/dgux.c: Delete file.
34
35 2001-11-09  Richard Henderson  <rth@redhat.com>
36
37         * config/alpha/alpha.c (decl_in_text_section): New.
38         (current_file_function_operand): Use it.
39         (alpha_encode_section_info, alpha_end_function): Likewise.
40
41 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
42
43         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
44         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
45         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
46         so OS specific files and use CPP_PREDEFINES for their needs.
47         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
48         target headers to tm_file.
49         * config/ia64/aix.h (TARGET_VERSION): Likewise.
50         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
51         * config/ia64/linux.h (TARGET_VERSION): Likewise.
52         (FUNCTION_PROFILER): Remove.
53         * config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
54         version in config/ia64/linux.h.
55         * config/ia64/freebsd.h: New file.
56         * config/freebsd.h: Tidy up.
57         (_USING_CONFIG_FREEBSD): Define.
58         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
59         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
60         (FBSD_STARTFILE_SPEC): Likewise.
61         (FBSD_ENDFILE_SPEC): Likewise.
62         (FBSD_LIB_SPEC): Likewise.
63         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
64         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
65         set an ELF-improper one.
66
67 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
68
69         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
70         constant can be loaded in a single instruction to a register.  When
71         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
72         depdi for insertion of most significant 32-bits on 64-bit hosts.
73         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
74         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
75         * pa.md: New addmove pattern for adding constant_int to HImode
76         register and moving result to HImode register.  Remove HImode HIGH
77         and LO_SUM patterns.
78
79 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
80
81         * Makefile.in: Update.
82         * c-decl.c (print_lang_decl, print_lang_type): Remove.
83         (print_lang_identifier): Rename c_print_identifier.
84         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
85         (print_lang_statistics, lang_print_xnode): Remove.
86         * c-parse.in (set_yydebug): Rename c_set_yydebug.
87         * c-tree.h (c_set_yydebug, c_print_identifier): New.
88         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
89         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
90         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
91         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
92         (LANG_HOOKS_INITIALIZER): Update.
93         * langhooks.h (struct lang_hooks): New members.
94         (lang_print_tree_hook): New.
95         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
96         * print-tree.c: Include langhooks.h.
97         (print_node): Update.
98         * toplev.c (decode_d_option): Update.
99         * tree.c: Include langhooks.h.
100         (dump_tree_statistics): Update.
101         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
102         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
103 objc:
104         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
105         LANG_HOOKS_SET_YYDEBUG): Override.
106         (lang_print_xnode, print_lang_statistics): Remove.
107
108 2001-11-09  Richard Henderson  <rth@redhat.com>
109
110         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
111         on the symbol string.
112
113 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
114
115         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
116         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
117         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
118
119         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
120
121         * tlink.c (recompile_files): Copy strings passed to `putenv'.
122
123 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
124
125         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
126         (TYPE_READONLY): Likewise.
127
128         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
129
130         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
131         don't pass --gdwarf2 to the assembler if the compiler will also
132         provide debug info.
133
134         * config/stormy16/stormy16.c (xstormy16_expand_casesi): 
135         Don't change INDEX.
136
137 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
138
139         * alias.c (nonoverlapping_memrefs_p): New function.
140         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
141
142         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
143
144 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
145
146         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
147         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
148         generating altivec code.
149         (FIXED_REGISTERS): VRSAVE is fixed.
150         (CALL_USED_REGISTERS): VRSAVE is call used.
151
152 2001-11-09  Jason Eckhardt  <jle@rice.edu>
153
154         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
155         code the branch target as ".+16/.+12", but rather use labels.
156
157 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
158
159         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0  
160         to work around limitations of certain versions of GAS.
161
162         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
163         (muldi3): Update due to SUBREG_BYTE changes.
164         (casesi): Similarly.
165
166 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
167
168         * doc/invoke.texi: Remove comment referring to -xf77-version.
169
170 2001-11-09  Kazu Hirata  <kazu@hxi.com>
171
172         * config/convex/convex.c: Fix comment formatting.
173         * config/convex/convex.h: Likewise.
174
175 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
176
177         * Makefile.in (.po.pox): Look both in srcdir and builddir
178         for $(PACKAGE).pot.
179         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
180         to the source directory.
181
182 2001-11-09 Ben Elliston  <bje@redhat.com>
183            Michael Meissner  <meissner@redhat.com>
184            Andrew MacLeod  <amacleod@redhat.com>
185            Richard Henderson  <rth@redhat.com>
186            Nick Clifton  <nickc@redhat.com>
187            Catherine Moore  <clm@redhat.com>
188
189         * m32r.c: Add support for m32rx processor.
190         * m32r.h: Ditto.
191         * m32r.md: Ditto.
192         * t-m32r: Ditto.
193         * m32r-protos.h: Add prototypes for m32rx functions.
194         * doc/invoke.texi: Document -m32rx option.
195
196 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
197
198         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
199         or after reload.
200
201 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
202
203         * doc/install.texi2html: Use $MAKEINFO --no-split.
204
205 2001-11-09  Andreas Schwab  <schwab@suse.de>
206
207         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
208         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
209         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, 
210         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
211         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
212
213 2001-11-09  H.J. Lu <hjl@gnu.org>
214
215         * config/mips/mips.c (mips_output_function_prologues): Cast
216         `tsize' to long for output.
217
218 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
219
220         * c-lang.c (LANG_HOOKS_NAME): New.
221         (lang_hooks): Constify.
222         (c_init_options): Update.
223         (lang_identify): Remove.
224         * c-parse.in (language_string): Remove.
225         * dbxout.c: Include langhooks.h.
226         (dbxout_symbol_location): Update.
227         * dwarf2out.c: Include langhooks.h.
228         (gen_compile_unit_die): Update.
229         * dwarfout.c: Include langhooks.h.
230         (prototyped_attribute, output_compile_unit_die): Update.
231         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
232         (LANG_HOOKS_INITIALIZER): Update.
233         * langhooks.h (struct lang_hooks): New members.  Constify.
234         * stringpool.c: Don't include toplev.h.
235         (set_identifier_size): Remove.
236         * toplev.c (toplev_main): Initialize identifier size.
237         (print_version): Update.
238         * tree.h (language_string, init_lex, lang_identify,
239         set_identifier_size): Remove.
240         * Makefile.in: Update dependencies.
241         * config/darwin.c: Include langhooks.h.
242         (func_name_maybe_scoped): Update.
243         * config/darwin.h (ASM_END_FILE): Update.
244         * config/nextstep.h (ASM_END_FILE): Update.
245         * config/nextstep21.h (ASM_END_FILE): Update.
246         * config/i386/sun386.h (ASM_END_FILE): Update.
247         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
248         (rs6000_output_function_epilogue): Update.
249 objc:
250         * objc-act.c (LANG_HOOKS_NAME): Override.
251         (struct lang_hooks): Constify.
252         (objc_init_options): Update.
253         (lang_identify): Remove.
254
255 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
256
257         * fold-const.c (lshift_double): Honor PREC.
258         (rshift_double): Likewise.
259
260 2001-11-08  Kazu Hirata  <kazu@hxi.com>
261
262         * config/1750a/1750a.c: Fix comment formatting.
263         * config/1750a/1750a.h: Likewise.
264
265 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
266
267         * configure.in (--enable-languages): Be more permissive about
268         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
269         * configure: Regenerated.
270
271 2001-11-08  Richard Henderson  <rth@redhat.com>
272
273         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
274
275 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
276
277         * config.gcc: Rename stormy16 to xstormy16.
278         * config/stormy16/stormy-abi: Likewise.
279         * config/stormy16/stormy16-protos.h: Likewise.
280         * config/stormy16/stormy16.c: Likewise.
281         * config/stormy16/stormy16.h: Likewise.
282         * config/stormy16/stormy16.md: Likewise.
283
284 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
285
286         * tree.h (TYPE_VOLATILE): Add enable-checking code.
287         (TYPE_READONLY): Likewise.
288
289 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
290
291         * reload1.c (reload): Don't delete equiv insn if can throw.
292
293         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
294         (clear_storage): Likewise, for OBJECT.
295
296 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
297
298         * pa.c (emit_move_sequence): Fix SUBREG expression to
299         use proper byte offset when extending a constant from
300         SImode to DImode.
301
302 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
303
304         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
305         which cannot throw.
306
307 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
308
309         * explow.c (convert_memory_address, case SUBREG): Only return
310         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
311
312 2001-11-08  Richard Henderson  <rth@redhat.com>
313
314         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
315         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
316         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
317
318 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
319
320         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
321
322 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
323
324         * dwarf2out.c (debug_str_hash): New.
325         (struct indirect_string_node): New.
326         (struct dw_val_struct): Change type of val_str to it.
327         (DEBUG_STR_SECTION_FLAGS): Define.
328         (add_AT_string): Push string into hashtable, increment reference
329         counter.
330         (AT_string): Return string from ht_identifier.
331         (AT_string_form): New.
332         (free_AT): For dw_val_class_str, just decrement reference counter.
333         (size_of_string): Remove.
334         (size_of_die): Use AT_string_form to decide what size the string
335         occupies in DIE.
336         (size_of_pubnames): Use strlen instead of size_of_string.
337         (value_format): Use AT_string_form for dw_val_class_str.
338         (output_die): Output DW_FORM_strp strings using
339         dw2_asm_output_offset.
340         (indirect_string_alloc, output_indirect_string): New.
341         (dwarf2out_finish): Emit .debug_str strings if there are any.
342
343 2001-11-08  Andreas Franck  <afranck@gmx.de>
344
345         * configure.in: Add AC_ARG_PROGRAM to support program name
346         transformation with --program-prefix, --program-suffix and
347         --program-transform-name.
348         * configure: Regenerated.
349         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
350         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
351         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
352         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
353         program_transform_name the way suggested by autoconf.
354         (GCC_TARGET_INSTALL_NAME): Define.
355         (install-driver): Use the transformed target alias name.
356
357 2001-11-08  Richard Henderson  <rth@redhat.com>
358
359         * config/mips/mips.c (save_restore_insns): Remove GP from the
360         restore registers mask early instead of special casing it inside
361         the loop.
362
363 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
364
365         * cp/decl.c (shadow_warning): New function.
366         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
367         and an error when a block scope decl shadows a parameter.
368
369 2001-11-08  Richard Henderson  <rth@redhat.com>
370
371         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
372         case as well.
373
374 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
375
376         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
377         to implement floating negation on processors prior to PA 2.0.
378
379 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
380
381         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
382         (USE_LINKONCE_INDIRECT): Define.
383         (dw2_output_indirect_constant_1): Try to output indirect constants
384         into linkonce sections if possible.
385         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
386         (dw2_output_indirect_constants): Likewise.
387
388 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
389
390         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
391
392 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
393
394         * c-decl.c (pushdecl): Remove file and line.
395         * c-typeck.c (pop_init_level): Remove size.
396
397 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
398
399         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
400         for rs6000.
401
402         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
403         (TARGET_ALTIVEC): New.
404         (TARGET_SWITCHES): Add altivec.
405         (FIRST_PSEUDO_REGISTER): Change to 109.
406         (CALL_USED_REGISTERS): Same.
407         (FIRST_ALTIVEC_REGNO): New.
408         (LAST_ALTIVEC_REGNO): New.
409         (ALTIVEC_REGNO_P): New.
410         (UNITS_PER_ALTIVEC_WORD): New.
411         (ALTIVEC_VECTOR_MODE): New.
412         (FIXED_REGISTERS): Add altivec registers.
413         (REG_ALLOC_ORDER): Same.
414         (HARD_REGNO_NREGS): Adjust for altivec registers.
415         (HARD_REGNO_MODE_OK): Same.
416         (MODES_TIEABLE_P): Same.
417         (REGISTER_MOVE_COST): Same.
418         (REGNO_REG_CLASS): Same.
419         (reg_class): Add ALTIVEC_REGS.
420         (REG_CLASS_NAMES): Same.
421         (REG_CLASS_CONTENTS): Same.
422         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
423         (ALTIVEC_ARG_RETURN): New.
424         (FUNCTION_VALUE): Handle VECTOR_TYPE.
425         (LIBCALL_VALUE): Handle altivec vector modes.
426         (VECTOR_MODE_SUPPORTED_P): New.
427         (ALTIVEC_ARG_MIN_REG): New.
428         (ALTIVEC_ARG_MAX_REG): New.
429         (ALTIVEC_ARG_NUM_REG): New.
430         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
431         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
432         (REGISTER_NAMES): Add altivec regs.
433         (DEBUG_REGISTER_NAMES): Same.
434         (ADDITIONAL_REGISTER_NAMES): Same.
435         (rs6000_builtins): New.
436         (MD_EXPAND_BUILTIN): New.
437         (MD_INIT_BUILTINS): New.
438         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
439         for AltiVec instructions.
440         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
441         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
442         registers.
443         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
444         (TARGET_SWITCHES): Add no-altivec.
445         (DATA_ALIGNMENT): Align vectors to 128 bits.
446         (TARGET_OPTIONS): Add abi= option.
447         Add rs6000_abi_string extern.
448         (LOCAL_ALIGNMENT): New.
449         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
450         (MASK_ALTIVEC_ABI): New.
451         (TARGET_ALTIVEC_ABI): New.
452         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
453         call-saved.
454         (STACK_BOUNDARY): Adjust for altivec.
455         (BIGGEST_ALIGNMENT): Same.
456         (rs6000_args): Add vregno.
457         (USE_ALTIVEC_FOR_ARG_P): New.
458         (FIXED_REGISTERS): Add vrsave register.
459         (CALL_USED_REGISTERS): Same.
460         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
461         (VRSAVE_REGNO): New.
462         (reg_class): Add VRSAVE_REGS.
463         (REG_CLASS_NAMES): Same.
464         (REG_CLASS_CONTENTS): Same.
465         (REGNO_REG_CLASS): Same.
466         
467         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
468         (ABI_STACK_BOUNDARY): Same.
469         (BIGGEST_ALIGNMENT): Same.
470         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
471         (ROUND_TYPE_ALIGN): Same.
472         
473         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
474         to 64.
475
476         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
477         to 64.
478
479         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
480         to 64.
481
482         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
483         (altivec_expand_builtin): New.
484         (altivec_init_builtins): New.
485         (TARGET_EXPAND_BUILTIN): New.
486         (TARGET_INIT_BUILTINS): New.
487         (rs6000_init_builtins): New.
488         (struct builtin_description): New.
489         (bdesc_2arg): New.
490         (rs6000_reg_names): Add altivec registers.
491         (alt_reg_names): Same.
492         (secondary_reload_class): Altivec regs can hold altivec regs and
493         memory.
494         (rs6000_emit_move): Force constants into memory for AltiVec moves.
495         (print_operand): Add 'y' case for printing altivec memory
496         operands.
497         (rs6000_legitimize_address): Legitimize vector addresses into
498         [REG+REG] or [REG].
499         (altivec_expand_binop_builtin): New.
500         New string rs6000_current_abi.
501         (rs6000_override_options): Call rs6000_parse_abi_options.
502         (rs6000_parse_abi_options): New.
503         (function_arg_boundary): Vector arguments must be 16
504         byte aligned.
505         (function_arg_advance): Handle vector arguments.
506         (function_arg_partial_nregs): Same.
507         (init_cumulative_args): Same.
508         (function_arg): Same.
509
510         * config/rs6000/rs6000.md (altivec_lvx): New.
511         (type): Add altivec attribute.
512         (movv4si): New.
513         (*movv4si_internal): New.
514         (movv16qi): New.
515         (*movv16qi_internal): New.
516         (movv8hi): New.
517         (*movv8hi_internal1): New.
518         (movv4sf): New.
519         (*movv4sf_internal1): New.
520         (altivec_stvx): New.
521         (vaddubm): New.
522         (vadduhm): New.
523         (vadduwm): New.
524         (vaddfp): New.
525         (vaddcuw): New.
526         (vaddubs): New.
527         (vaddsbs): New.
528         (vadduhs): New.
529         (vaddshs): New.
530         (vadduws): New.
531         (vaddsws): New.
532         (vand): New.
533         (vandc): New.
534         (vavgub): New.
535         (vavgsb): New.
536         (vavguh): New.
537         (vavgsh): New.
538         (vavguw): New.
539         (vavgsw): New.
540         (vcmpbfp): New.
541         (vcmpequb): New.
542         (vcmpequh): New.
543         (vcmpequw): New.
544         (vcmpeqfp): New.
545         (vcmpgefp): New.
546         (vcmpgtub): New.
547         (vcmpgtsb): New.
548         (vcmpgtuh): New.
549         (vcmpgtsh): New.
550         (vcmpgtuw): New.
551         (vcmpgtsw): New.
552         (vcmpgtfp): New.
553         (vcmpgefp): New.
554         (vcmpgtub): New.
555         (vcmpgtsb): New.
556         (vcmpgtuh): New.
557         (vcmpgtsh): New.
558         (vcmpgtuw): New.
559         (vcmpgtsw): New.
560         (vcmpgtfp): New.
561         (vmaxub): New.
562         (vmaxsb): New.
563         (vmaxuh): New.
564         (vmaxsh): New.
565         (vmaxuw): New.
566         (vmaxsw): New.
567         (vmaxfp): New.
568         (vmrghb): New.
569         (vmrghh): New.
570         (vmrghw): New.
571         (vmrglb): New.
572         (vmrglh): New.
573         (vmrglw): New.
574         (vminub): New.
575         (vminsb): New.
576         (vminuh): New.
577         (vminsh): New.
578         (vminuw): New.
579         (vminsw): New.
580         (vminfp): New.
581         (vmuleub): New.
582         (vmulesb): New.
583         (vmuleuh): New.
584         (vmulesh): New.
585         (vmuloub): New.
586         (vmulosb): New.
587         (vmulouh): New.
588         (vmulosh): New.
589         (vnor): New.
590         (vor): New.
591         (vpkuhum): New.
592         (vpkuwum): New.
593         (vpkpx): New.
594         (vpkuhss): New.
595         (vpkshss): New.
596         (vpkuwss): New.
597         (vpkswss): New.
598         (vpkuhus): New.
599         (vpkshus): New.
600         (vpkuwus): New.
601         (vpkswus): New.
602         (vrlb): New.
603         (vrlh): New.
604         (vrlw): New.
605         (vslb): New.
606         (vslh): New.
607         (vslw): New.
608         (vsl): New.
609         (vslo): New.
610         (vsrb): New.
611         (vrsh): New.
612         (vrsw): New.
613         (vsrab): New.
614         (vsrah): New.
615         (vsraw): New.
616         (vsr): New.
617         (vsro): New.
618         (vsububm): New.
619         (vsubuhm): New.
620         (vsubuwm): New.
621         (vsubfp): New.
622         (vsubcuw): New.
623         (vsububs): New.
624         (vsubsbs): New.
625         (vsubuhs): New.
626         (vsubshs): New.
627         (vsubuws): New.
628         (vsubsws): New.
629         (vsum4ubs): New.
630         (vsum4sbs): New.
631         (vsum4shs): New.
632         (vsum2sws): New.
633         (vsumsws): New.
634         (vxor): New.
635
636 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
637
638         * Makefile.in (df.o): Add fibheap.h to dependencies.
639        
640         * df.h: Add prototypes for transfer functions, iterative_dataflow
641         functions.
642         (enum df_flow_dir): New enum.
643         (enum df_confluence_op): New enum.
644         (struct df): Add inverse_rts_map.
645
646         * df.c: Add sbitmap.h to the list of includes.
647         (df_rd_global_compute): Removed.
648         (df_ru_global_compute): Removed.
649         (df_lr_global_compute): Removed.
650         (df_rd_transfer_function): New function.
651         (df_ru_transfer_function): New function.
652         (df_lr_transfer_function): New function.
653         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
654         Use iterative_dataflow_bitmap instead of df_*_global_compute.
655         (iterative_dataflow_sbitmap): New function.
656         (iterative_dataflow_bitmap): New function.
657
658 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
659
660         * doc/gcc.texi: Move terminology and spelling conventions to
661         htdocs/codingconventions.html.
662
663 2001-11-07  Graham Stott  <grahams@redhat.com>
664
665         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
666
667 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
668
669         * expmed.c (expand_mult): Force operand to register before computing
670         cost.
671         * i386.c (x86_decompose_lea): New global vairable.
672         * i386.h (x86_decompose_lea): Declare.
673         (TARGET_DECOMPOSE_LEA): New macro.
674         (RTX_COST): Handle leas properly.
675
676 2001-11-06  Richard Henderson  <rth@redhat.com>
677
678         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
679         defined for a CONSTRUCTOR; don't check it.
680
681 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
682
683         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
684         test for absolute pathnames.
685
686 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
687
688         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
689         instructions up to the target pc inclusive.
690
691 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
692
693         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
694
695 2001-11-06  Eric Christopher  <echristo@redhat.com>
696
697         * config/mips/mips.md(movdf_internal2): Add constraints for float
698         to general register move.
699         * config/mips/elf64.h: Add default ABI.
700
701 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
702
703         * alias.c:: Include langhooks.h.
704         * emit-rtl.c: Similarly.
705         * toplev.c: Similarly.
706         * tree-inline.c: Similarly.
707         * langhooks-def.h: New, the old langhooks.h.  Give the default
708         hooks a common prefix.
709         * langhooks.h: Contents extracted from toplev.h.
710         * toplev.h: Move langhook stuff to langhooks.h.
711         * langhooks.c: Give default hooks a common prefix.
712
713         * c-lang.c: Include langhooks-def.h.
714         * objc/objc-act.c: Similarly.
715         * Makefile.in: Update.
716         * objc/Make-lang.in: Update.
717
718 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
719
720         * doc/install.texi: Document that configure options not listed in
721         this file are unsupported.  Document --with-system-zlib.
722
723 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
724
725         * rtl.h (mem_for_const_double): New declaration.
726         * varasm.c (mem_for_const_double): New function.
727         * config/convex/convex.md (movdf): Use it.
728         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
729         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
730         * config/m68k/m68kv4.h: Likewise.
731
732         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
733         of new GP reg classes.
734
735         * expr.c (store_field): When making temp object for unaligned
736         component, set it to alias set 0.
737
738 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
739
740         * c-common.c (c_expand_expr_stmt): Apply default conversions to
741         non-lvalue arrays if C99.
742         * c-typeck.c (default_conversion): Split out code handling
743         array-to-pointer and function-to-pointer conversions into a
744         separate default_function_array_conversion function.
745         (default_function_array_conversion): New function.  Keep track of
746         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
747         arrays unchanged outside C99 mode instead of giving an error for
748         them.
749         (build_component_ref): Use pedantic_non_lvalue when handling
750         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
751         (convert_arguments): Use default_function_array_conversion.
752         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
753         non-lvalues are OK.
754         (unary_complex_lvalue): Likewise.
755         (internal_build_compound_expr): Use
756         default_function_array_conversion.  Apply default conversions to
757         function in compound expression.
758         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
759         Use default_function_array_conversion.
760         * doc/extend.texi: Update documentation of subscripting non-lvalue
761         arrays.
762         Fixes PR c/461.
763
764 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
765
766         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
767         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
768         corresponding to the complete set of .po and .gmo files in
769         the source directory's po subdir, modified by LINGUAS.  Don't
770         look at ALL_LINGUAS.
771         * configure.in: Don't set ALL_LINGUAS.
772         * configure: Regenerate.
773
774         * Makefile.in (.po.gmo): Don't move into source directory.
775         (.po.pox): Clarify comments.
776         (install-po): Look for .gmo files in both srcdir and objdir;
777         don't fail if a file is totally missing.
778         (distclean): rmdir ada subdirectory too.
779
780 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
781
782         * config/rs6000/rs6000.c (rs6000_select_section): Handle
783         CONSTRUCTORs _correctly_.
784
785 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
786
787         * c-decl.c (delete_block): Remove.
788         * c-tree.h (delete_block): Remove.
789
790 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
791
792         * cppexp.c (lex, parse_defined): Update warning about defined.
793
794 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
795
796         * config/rs6000/rs6000.c (rs6000_select_section): Handle
797         CONSTRUCTORs too.
798
799 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
800
801         * config/arm/arm.c (arm_return_in_memory): Cope with
802         int_size_in_bytes returning -1.
803
804         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
805         DECL being NULL.
806
807 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
808
809         * Makefile.in (bb-reoder.o): Add depdendency on cfglayout.h;
810         remove unneded depdendencies;
811         (cfglayout.o): New.
812         * cfglayout.c, cfglayout.h: New files; break out from ...
813         * bb-reorder.c: ... here; Remove unneeded includes;
814
815 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
816
817         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
818
819 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
820
821         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
822         mode as well.  Do not explicitly create intermediate regs.
823
824 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
825
826         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
827         (common_section): Delete unused variable.
828         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
829         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
830         * arm-protos.h (arm_poke_function_name, aof_add_import,
831         aof_delete_import): Const-ify.
832         * arm.c (legitimize_pic_address): Wrap variables in the macro
833         controlling their usage.
834         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
835         (arm_poke_function_name, pic_chain, import, aof_add_import,
836         aof_delete_import): Const-ify.
837         * i386.c (ix86_osf_output_function_prologue): Const-ify.
838         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
839         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
840         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
841         * i860/sysv3.h: Add missing comment closure.
842         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
843         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
844         to symbolic_operand.
845
846         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
847         (i960-*-*): Set tmake_file.
848         (sparc86x-*-elf*): Fix typo in header name.
849
850         * sched-rgn.c (schedule_insns): Delete unused variable.
851
852 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
853
854         PR c/2820
855         * c-typeck.c (lookup_field): Rework to return a chain down to
856         the looked-up field.
857         (build_component_ref): Use the new lookup_field to handle
858         nested anonymous entities correctly.
859
860 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
861
862         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
863         Change parameters to gen_rtx_CONST_DOUBLE.
864         (GEN_INT64, sparc_emit_set_const64): Likewise.
865         * config/sparc/sparc.md (movdf split): Likewise.
866
867 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
868
869         * unroll.c (calculate_giv_inc): Use find_last_value rather
870         than just hoping the last instruction is the right SET.
871         [Fixes 990604-1.c on stormy16.]
872
873         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
874         library at all if -T is used.
875
876         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
877         some uses of uninitialized variables in error cases.
878
879         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
880         look at 'temp' if we won't be using it.
881
882         * config/stormy16/stormy16.h (CONST_COSTS): Define.
883         (RTX_COSTS): Define.
884         (ADDRESS_COST): Define.
885         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
886
887         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
888
889         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
890         stormy16_asm_output_mi_thunk.
891         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
892         function.
893         * config/stormy16/stormy16-protos.h
894         (stormy16_asm_output_mi_thunk): New prototype.
895
896 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
897
898         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
899         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
900         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
901         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
902         sched-int.h, toplev.c, config/alpha/alpha.c,
903         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
904         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
905         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
906         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
907         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
908         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
909         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
910
911 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
912
913         * Makefile.in (dbxout.o): Depend on function.h.
914         * collect2.c (is_in_list): Hide unused function.
915         * dbxout.c: Include function.h.
916         (source_label_number, dbxout_source_line, dbxout_source_file,
917         dbxout_function_end, dbxout_begin_function): Wrap/move inside
918         macros controlling usage.
919         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
920         * output.h (exports_section): Prototype.
921
922         * convex.c (convex_output_function_prologue): Fix format specifier
923         warning.
924         (asm_declare_function_name): Fix signed/unsigned warning.
925         (print_operand): Fix format specifier warning.
926         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
927         * dsp16xx-protos.h (uns_comparison_operator,
928         num_1600_core_shifts): Prototype.
929         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
930         (frame_size, frame_pointer_offset): Delete.
931         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
932         Make static.  Fix format specifier warnings.
933         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
934         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
935         * dsp16xx.md: Add default case in switches.
936         * fr30.h (IN_RANGE): Delete.
937         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
938         * mcore-protos.h (mcore_output_cmov): Const-ify.
939         * mcore.c (mcore_output_cmov): Likewise.
940         * mcore.h (switch_to_section): Make static and prototype.
941         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
942         unsigned>=0 warnings.
943         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
944         * rs6000-protos.h (read_only_data_section,
945         read_only_private_data_section): Prototype.
946         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
947         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
948         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
949
950 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
951
952         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
953         ATTRIBUTE_UNUSED.
954         * final.c (final_scan_insn): Add brackets around body of if-stmt.
955         * gcc.c (convert_filename): Add static prototype.  Const-ify.
956         Wrap variable in macros controlling its use.
957         * output.h (sdata_section): Add prototype.
958
959         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
960         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
961         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
962         (ASM_FILE_START): Const-ify.
963         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
964         specifier warning.
965         * c4x.md: Don't use the 'U' integer suffix.
966         * clipper.md (clipper_movstr): Delete declaration.
967         * d30v-protos.h (d30v_move_2words): Const-ify.
968         (debug_stack_info): Add prototype.
969         * d30v.c: Include "integrate.h".
970         (d30v_function_arg_boundary, d30v_function_arg,
971         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
972         signed/unsigned warnings.
973         (d30v_print_operand_memory_reference, d30v_move_2words):
974         Const-ify.
975         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
976         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
977         * fr30.md: Const-ify.
978         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
979         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
980         (mvs_get_label_page): Hide unused static function.
981         * i860.c (current_function_original_name): Const-ify.
982         * i860/sysv3.h (current_function_original_name): Likewise.
983         * i860/sysv4.h (current_function_original_name): Likewise.
984         * i960.md: Add default case in switches.  Remove unused variable.
985         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
986         * m32r.md: Const-ify.
987         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
988         * m68hc11.c: Include "reload.h".
989         (static_chain_reg, print_options, m68hc11_asm_file_start):
990         Const-ify.
991         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
992         around & in comparison.
993         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
994         * mn10200.c (shift_mode): Remove trailing comma.
995         * mn10300-protos.h (output_tst): Const-ify.
996         * mn10300.c (output_tst): Likewise.
997         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
998         warnings.
999         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
1000         * pa.c (output_ascii): Likewise.
1001         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
1002         * pdp11.md (expand_unop): Delete declarations.
1003         * pj-protos.h (pj_output_addsi3): Const-ify.
1004         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
1005         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
1006         unique_src_operand): Add prototypes.
1007         (pj_output_store_into_lval): Make definition static.
1008         (pj_function_incoming_arg): Don't use unary plus.
1009         (pj_output_addsi3): Const-ify.
1010         * romp.md (get_symref): Delete declarations.
1011         * v850-c.c (mark_current_function_as_interrupt): Don't return
1012         value from void function.
1013         * v850.c: Include "integrate.h".
1014         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
1015         * vax-protos.h (const_section): Add prototype.
1016
1017 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
1018
1019         * machmode.def: Add documentation for the seventh argument in
1020         vector modes.
1021
1022 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
1023
1024         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
1025         consistently.
1026         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
1027         <-melf>: Don't have markup for ELF acronym.
1028
1029 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
1030
1031         * config.gcc (mmix-*-*): New target.
1032         * doc/invoke.texi: Document MMIX options.
1033         * doc/contrib.texi: Add note about MMIX port to my entry.
1034         * config/mmix/t-mmix: New file.
1035         * config/mmix/mmix.h: New file.
1036         * config/mmix/mmix-protos.h: New file.
1037         * config/mmix/mmix.c: New file.
1038         * config/mmix/mmix.md: New file.
1039         * config/mmix/crti.asm: New file.
1040         * config/mmix/crtn.asm: New file.
1041
1042 2001-11-03  Kazu Hirata  <kazu@hxi.com>
1043
1044         * config/sparc/linux-aout.h: Fix comment formatting.
1045         * config/sparc/linux.h: Likewise.
1046         * config/sparc/linux64.h: Likewise.
1047         * config/sparc/lynx.h: Likewise.
1048         * config/sparc/pbd.h: Likewise.
1049         * config/sparc/sol2-sld-64.h: Likewise.
1050         * config/sparc/sol2.h: Likewise.
1051         * config/sparc/sparc.c: Likewise.
1052         * config/sparc/sparc.h: Likewise.
1053         * config/sparc/sparc.md: Likewise.
1054         * config/sparc/sunos4.h: Likewise.
1055         * config/sparc/vxsim.h: Likewise.
1056         * config/sparc/vxsparc.h: Likewise.
1057         * config/sparc/vxsparc64.h: Likewise.
1058
1059 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1060
1061         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
1062         reference to CONST_DOUBLE_MEM in comment.
1063         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
1064         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
1065         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
1066         * function.c (pop_function_context_from): Don't call
1067         restore_varasm_status.
1068         * function.h (restore_varasm_status): Delete declaration.
1069         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
1070         * rtl.c: Likewise.
1071         * rtl.def (CONST_DOUBLE): Update comment.
1072         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
1073         (CONST_DOUBLE_CHAIN): Likewise.
1074         (CONST_DOUBLE_MEM): Delete.
1075         (gen_rtx_CONST_DOUBLE): Update parameters.
1076         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
1077         Remove reference to CONST_DOUBLE_MEM.
1078         (const_alias_set): New variable.
1079         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
1080         (immed_real_const_1): Adjust tests for 0, 1, and 2.
1081         Don't set CONST_DOUBLE_MEM.
1082         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
1083         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
1084         Put constant in const_alias_set.
1085         (struct pool_constant): ALIGN now unsigned.
1086         OFFSET now HOST_WIDE_INT.
1087         Delete LABEL.
1088         (restore_varasm_status): Deleted.
1089         (mark_pool_constant): Mark desc->rtl.
1090         (force_const_mem): Rework to store rtl in hash table,
1091         not CONST_DOUBLE_MEM.
1092         Put constant in const_alias_set.
1093         (find_pool_constant): Check desc->rtl.
1094         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
1095         (init_varasm_once): Initialize const_alias_set.
1096
1097         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
1098         force_const_mem.
1099
1100         * reload.c (combine_reloads): Don't combine an output reload if there
1101         are other reloads around for part of the output.
1102
1103         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
1104         constant expression.
1105         (set_mem_decl): New function.
1106         * expr.h (set_mem_decl): New declaration.
1107         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
1108         (output_asm_operand_names): Add tab.
1109         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
1110
1111         * builtins.c (get_memory_rtx): Properly set MEM alias set and
1112         attributes.
1113
1114 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1115
1116         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
1117         Use "invalid" instead of "illegal".  Use @r in comments in
1118         examples.
1119
1120 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1121
1122         * c-decl.c (pushdecl): Move block inside if conditional to remove
1123         possibility of a segfault.  Lookup block-level extern
1124         variables in enclosing scopes correctly.
1125
1126         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
1127
1128 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
1129
1130         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
1131         SUBREG so we avoid SUBREGing memory.
1132
1133         * expmed.c (store_bit_field): Same.
1134
1135 2001-11-02  DJ Delorie  <dj@redhat.com>
1136
1137         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
1138         using FP registers for DImode mem-mem moves is acceptable.
1139
1140 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
1141
1142         * builtins.c (apply_args_size): Handle vector arguments.
1143         (apply_result_size): Same.
1144
1145         * machmode.def: Set WIDER mode field for all vector entries.
1146
1147 2001-11-02  Graham Stott  <grahams@redhat.com>
1148
1149         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
1150
1151 2001-11-01  Eric Christopher  <echristo@redhat.com>
1152
1153         * config.gcc: Revert part of earlier patch.
1154         * config/mips/linux.h: Ditto.
1155         * df.c: Include tm_p.h to avoid warnings.
1156         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
1157         #if/#endif.
1158         * config/mips/mips.c: Define mips_abi regardless.
1159         (mips_output_function_prologues): Add long casts for .frame
1160         output.
1161         (override_options): Allow use of ABI_32.
1162
1163 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1164
1165         * config/m68hc11/m68hc11.c: Fix comment formatting.
1166         * config/m68hc11/m68hc11.h: Likewise.
1167         * config/m68hc11/m68hc11.md: Likewise.
1168
1169 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1170
1171         * c-typeck.c (default_conversion): Retain the original expression
1172         codes.
1173         * gcc.dg/Wparentheses.c: New tests.
1174
1175 2001-11-01  David S. Miller  <davem@redhat.com>
1176
1177         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
1178         64-bit Sparc description more in line with reality.
1179
1180 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1181
1182         * Makefile.in (GCOV_OBJS): Add version.o.
1183         * gcov.c: Include "version.h" and <getopt.h>.
1184         (gcov_version_string): Remove.
1185         (print_usage): Take a parameter to determine whether this is a
1186         call from --help or an error message.  Give fuller output that
1187         follows the GNU Coding Standards for --help.
1188         (print_version): New function.
1189         (options): New.
1190         (process_args): Use getopt_long.  Support long options.  Follow
1191         GNU Coding Standards for --help and --version.
1192         * doc/gcov.texi: Document long options.
1193         Addresses part of PR other/704.
1194
1195 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1196
1197         * pa.c (output_move_double): Fix typo in double load.
1198
1199 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1200
1201         * config/h8300/h8300.c (h8300_encode_label): Compute a string
1202         before passing it to ggc_alloc_string.
1203
1204 2001-11-01  Kazu Hirata  <kazu@hxi.com>
1205
1206         * config/m68k/3b1.h: Fix comment formatting.
1207         * config/m68k/3b1g.h: Likewise.
1208         * config/m68k/a-ux.h: Likewise.
1209         * config/m68k/amix.h: Likewise.
1210         * config/m68k/apollo68.h: Likewise.
1211         * config/m68k/atari.h: Likewise.
1212         * config/m68k/aux-exit.c: Likewise.
1213         * config/m68k/ccur-GAS.h: Likewise.
1214         * config/m68k/crds.h: Likewise.
1215         * config/m68k/dpx2.h: Likewise.
1216         * config/m68k/dpx2g.h: Likewise.
1217         * config/m68k/hp310.h: Likewise.
1218         * config/m68k/hp320.h: Likewise.
1219         * config/m68k/isi.h: Likewise.
1220         * config/m68k/linux.h: Likewise.
1221         * config/m68k/lynx.h: Likewise.
1222         * config/m68k/m68k-psos.h: Likewise.
1223         * config/m68k/m68k.c: Likewise.
1224         * config/m68k/m68k.h: Likewise.
1225         * config/m68k/m68k.md: Likewise.
1226         * config/m68k/m68kelf.h: Likewise.
1227         * config/m68k/m68kv4.h: Likewise.
1228         * config/m68k/mot3300.h: Likewise.
1229         * config/m68k/news.h: Likewise.
1230         * config/m68k/next.h: Likewise.
1231         * config/m68k/pbb.h: Likewise.
1232         * config/m68k/plexus.h: Likewise.
1233         * config/m68k/sgs.h: Likewise.
1234         * config/m68k/sun3.h: Likewise.
1235         * config/m68k/tower.h: Likewise.
1236         * config/m68k/vxm68k.h: Likewise.
1237
1238 2001-10-31  DJ Delorie  <dj@redhat.com>
1239
1240         * config/mips/mips.h (mips_cache_flush_func): Prototype.
1241         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
1242         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
1243         * config/mips/mips.c (mips_cache_flush_func): New.
1244         * doc/invoke.texi: Document the new options.
1245
1246 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
1247
1248         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
1249         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
1250
1251         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
1252
1253         * config/cris/cris.c: Include output.h after tree.h but before
1254         target.h.
1255
1256 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
1257
1258         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
1259         (INTL_SUBDIRS): Just intl.
1260         (.SUFFIXES): Add .gmo .po .pox.
1261         (native): Also depend on build-@POSUB@.
1262         (intl.all, intl.install): Depend on config.h and things it includes.
1263         (po-generated): New target; depend on c-parse.c and tradcif.c.
1264         (install-normal): Also depend on install-@POSUB@.
1265         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
1266         (build-, install-, build-po, update-po, install-po,
1267         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
1268
1269         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
1270         * configure.in: Don't munge XGETTEXT.  Don't generate
1271         po/Makefile.in.
1272         * configure: Regenerate.
1273
1274         * exgettext: Delete.
1275         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
1276         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
1277
1278 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1279
1280         * config/h8300/h8300.md (two anonymous patterns): New.
1281
1282 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
1283
1284         * tree.h (tree_index): Add support for V16QI and V8HI.
1285         (V8HI_type_node): New.
1286         (V16QI_type_node): New.
1287
1288         * tree.c (build_common_tree_nodes_2): Same.
1289
1290         * c-common.c (type_for_mode): Same.
1291
1292 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1293
1294         * config/i386/att.h: Fix comment formatting.
1295         * config/i386/beos-elf.h: Likewise.
1296         * config/i386/bsd.h: Likewise.
1297         * config/i386/bsd386.h: Likewise.
1298         * config/i386/crtdll.h: Likewise.
1299         * config/i386/cygwin.asm: Likewise.
1300         * config/i386/cygwin.h: Likewise.
1301         * config/i386/djgpp.h: Likewise.
1302         * config/i386/freebsd-aout.h: Likewise.
1303         * config/i386/freebsd.h: Likewise.
1304         * config/i386/gas.h: Likewise.
1305         * config/i386/i386-interix.h: Likewise.
1306         * config/i386/i386-protos.h: Likewise.
1307         * config/i386/i386.c: Likewise.
1308         * config/i386/i386.h: Likewise.
1309         * config/i386/i386.md: Likewise.
1310         * config/i386/i386elf.h: Likewise.
1311         * config/i386/interix.c: Likewise.
1312         * config/i386/isc.h: Likewise.
1313         * config/i386/isccoff.h: Likewise.
1314         * config/i386/iscdbx.h: Likewise.
1315         * config/i386/linux.h: Likewise.
1316         * config/i386/lynx.h: Likewise.
1317         * config/i386/mingw32.h: Likewise.
1318         * config/i386/netbsd-elf.h: Likewise.
1319         * config/i386/next.h: Likewise.
1320         * config/i386/osf1elf.h: Likewise.
1321         * config/i386/osfrose.h: Likewise.
1322         * config/i386/sco5.h: Likewise.
1323         * config/i386/seq-gas.h: Likewise.
1324         * config/i386/seq-sysv3.h: Likewise.
1325         * config/i386/sequent.h: Likewise.
1326         * config/i386/sol2.h: Likewise.
1327         * config/i386/sun386.h: Likewise.
1328         * config/i386/uwin.asm: Likewise.
1329         * config/i386/uwin.h: Likewise.
1330         * config/i386/vxi386.h: Likewise.
1331         * config/i386/win32.h: Likewise.
1332         * config/i386/winnt.c: Likewise.
1333         * config/i386/xm-cygwin.h: Likewise.
1334         * config/i386/xm-mingw32.h: Likewise.
1335
1336 2001-10-31  Kazu Hirata  <kazu@hxi.com>
1337
1338         * builtins.def: Fix comment typos.
1339         * config/alpha.c: Likewise.
1340         * config/arm/arm.c: Likewise.
1341         * config/avr/avr.h: Likewise.
1342         * config/d30v/d30v.c: Likewise.
1343         * config/d30v/d30v.h: Likewise.
1344         * config/d30v/d30v.md: Likewise.
1345         * config/dsp16xx/dsp16xx.c: Likewise.
1346         * config/fr30/fr30.c: Likewise.
1347         * config/fr30/fr30.md: Likewise.
1348         * config/i386/i386.c: Likewise.
1349         * config/i860/i860.c: Likewise.
1350         * config/i960/i960.c: Likewise.
1351         * config/ia64/ia64.c: Likewise.
1352         * config/mips/mips.c: Likewise.
1353         * config/pa/pa.c: Likewise.
1354         * config/rs6000/rs6000.c: Likewise.
1355         * config/s390/s390.c: Likewise.
1356         * config/sparc/sparc.c: Likewise.
1357
1358 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1359
1360         * config/mips/elf.h: Fix comment formatting.
1361         * config/mips/elf64.h: Likewise.
1362         * config/mips/iris5.h: Likewise.
1363         * config/mips/iris5gas.h: Likewise.
1364         * config/mips/iris6.h: Likewise.
1365         * config/mips/isa3264.h: Likewise.
1366         * config/mips/linux.h: Likewise.
1367         * config/mips/mips.c: Likewise.
1368         * config/mips/mips.h: Likewise.
1369         * config/mips/mips.md: Likewise.
1370         * config/mips/mips16.S: Likewise.
1371         * config/mips/netbsd.h: Likewise.
1372         * config/mips/osfrose.h: Likewise.
1373         * config/mips/r3900.h: Likewise.
1374         * config/mips/sni-svr4.h: Likewise.
1375         * config/mips/svr4-t.h: Likewise.
1376         * config/mips/ultrix.h: Likewise.
1377
1378 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
1379
1380         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
1381         when we update head->current.
1382
1383 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1384
1385         * tree.c (id_string_size): Remove.
1386         (dump_tree_statistics): Update.
1387         * toplev.c (compile_file): If dumping stats, dump tree stats too.
1388
1389 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
1390
1391         * sched-rgn.c (schedule_insns): Fix comment.
1392
1393 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
1394
1395         * configure.in: Correct previous change: don't assume that
1396         gas's version number _isn't_ the last thing on the line, or
1397         isn't the only number on the line, either.
1398         * configure: Regenerate.
1399
1400 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1401
1402         * cfgcleanup.c: Fix a comment typo.
1403
1404 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1405
1406         * alias.c: Fix comment formatting.
1407         * recog.c: Likewise.
1408         * config/cris/cris.c: Likewise.
1409         * config/cris/cris.h: Likewise.
1410         * config/i960/i960.c: Likewise.
1411         * config/i960/i960.h: Likewise.
1412
1413 2001-10-30  Kazu Hirata  <kazu@hxi.com>
1414
1415         * config/arm/arm.c: Fix a comment typo.
1416         * config/arm/arm.h: Likewise.
1417         * config/ia64/ia64.c: Likewise.
1418
1419 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
1420
1421         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
1422         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
1423         * rtl.h (set_unique_reg_note): Change return value.
1424         * gcse.c (try_replace_reg): Use set_unique_reg_note.
1425         * cse.c (cse_insn): Likewise.
1426         * expr.c (emit_move_insn): Likewise.
1427         * explow.c (force_reg): Likewise.
1428         * local-alloc (update_equiv_regs): Likewise.
1429         * loop.c (move_moveables, load_mems): Likewise.
1430         * reload (find_reloads): Likewise.
1431
1432 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
1433
1434         Localization fixes.
1435         * c-decl.c (parmlist_tags_warning, start_struct,
1436         check_for_loop_decls): Separate messages for struct, union and
1437         enum cases to allow for languages in which they have different
1438         genders.
1439         * c-format.c (scanf_flag_specs): Separate short and long name of
1440         the assignment suppression feature.
1441         (check_format_types): Localize "pointer" and "different types"
1442         strings.
1443         * c-lex.c (lex_number): Localize "an unsigned long int" and
1444         related strings.
1445         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
1446         warning message.
1447         * c-typeck.c (build_unary_up): Separate messages for increment and
1448         decrement cases to allow for languages in which they use different
1449         articles.  Localize the strings "increment" and "decrement" in one
1450         case.
1451
1452 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
1453
1454         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
1455         when no changes has been made.
1456
1457         * gcse.c (reg_set_bitmap): Turn into reg_set.
1458         (modify_mem_list_set, canon_modify_mem_list_set)
1459         (clear_modify_mem_tables, free_modify_mem_tables): New.
1460         (gcse_main); Use free_modify_mem_tables.
1461         (free_gcse_mem): Likewise; free the bitmaps.
1462         (alloc_gcse_main): Initialize the bitmaps.
1463         (canon_list_insert): Set canon_modify_mem_list_set.
1464         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
1465         (compute_hash_table): Use clear_modify_mem_tables.
1466         (reset_opr_set_tables): Likewise.
1467         (oprs_not_set_p): reg_set_bitmap is regset.
1468         (mark_set, mark_clobber): Likewise.
1469
1470         * df.h (DF_EQUIV_NOTES): New constant.
1471         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
1472         when asked for.
1473
1474         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
1475         (init_regions, schedule_insns): Conditionalize the checking
1476         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
1477
1478 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
1479
1480         * i386.md (movti_rex64 splitter): Fix condition.
1481
1482 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
1483
1484         * configure.in: Do not assume that gas's version number is the
1485         last thing on the first line of as --version output.
1486         * configure: Regenerate.
1487
1488         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
1489         MT_WARNING, MT_ERROR, MT_FATAL.
1490         (main): Call gcc_init_libintl.
1491         (v_message): Call gettext on msgid and "warning: "
1492         * tradcif.y: Include intl.h.
1493         (yyerror): Make parameter definition consistent with
1494         prototype.  Call gettext on msgid argument.
1495
1496 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1497
1498         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
1499         warnings.
1500
1501         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
1502
1503 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1504
1505         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
1506         before referencing it.
1507
1508 2001-10-26  DJ Delorie  <dj@redhat.com>
1509
1510         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
1511         override -G, and force -G0.
1512
1513 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1514
1515         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
1516         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
1517         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
1518         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
1519
1520         * loop.h (struct induction): Rename ext_dependant to
1521         ext_dependent.
1522         * loop.c: Change all uses.
1523         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
1524         All callers changed.
1525         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
1526
1527 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1528
1529         * c-parse.in (expr_no_commas, primary), c-typeck.c
1530         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
1531
1532 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
1533
1534         Undo assemble_name change in earlier patch.
1535
1536 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1537
1538         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
1539         determining the type of the receiver, do not check that TREE_CODE
1540         of receiver is CALL_EXPR before calling receiver_is_class_object().
1541         (receiver_is_class_object): For the GNU runtime: recognize
1542         the case that the receiver is self in a class method context.
1543         Check that TREE_CODE of receiver is CALL_EXPR when checking that
1544         the receiver is a call to objc_get_class.
1545
1546 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1547
1548         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
1549
1550 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1551
1552         * Makefile.in (OBJS): Put all files in alphabetical order.
1553
1554         * dwarf2out.c (add_const_value_attribute): Fix error in last
1555         change.
1556
1557 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
1558
1559         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
1560         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
1561         fix warning.
1562         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
1563         (life_analysis): call purge_all_dead_edges after deleting noops.
1564         (delete_noop_move): Do not purge CFG.
1565         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
1566
1567 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
1568
1569         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
1570         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
1571         (ASM_GLOBALIZE_LABEL): Use assemble_name.
1572         (ASM_OUTPUT_COMMON): Likewise.
1573         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
1574         (rs6000_output_function_epilogue): Likewise.
1575         (output_mi_thunk): Fix typo.
1576         (rs6000_output_symbol_ref): Use assemble_name.
1577         (output_toc): Likewise.
1578         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
1579         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
1580         assemble_name calls STRIP_NAME_ENCODING.
1581         (ASM_OUTPUT_LABEL): Use assemble_name.
1582         (ASM_GLOBALIZE_LABEL): Likewise.
1583         (ASM_DECLARE_FUNCTION_NAME): Likewise.
1584         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
1585         (ASM_OUTPUT_LOCAL): Likewise.
1586
1587 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1588
1589         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
1590         (expand_builtin_apply, expand_builtin_return): Likewise.
1591         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
1592
1593 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1594
1595         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1596         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
1597         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
1598         configure, configure.in, except.c, except.h, flow.c, function.c,
1599         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
1600         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
1601         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
1602         unroll.c: Fix spelling errors.
1603
1604         * doc/extend.texi, doc/invoke.texi: Fix spelling.
1605
1606         * doc/gcc.texi: Document use of "dependent" and American spelling.
1607
1608 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
1609
1610         * expr.c (emit_group_load): Support CONCATs by storing them to memory
1611         and reloading.
1612
1613 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1614
1615         * expr.c (store_constructor_field): Only call adjust_address on MEM.
1616
1617 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
1618
1619         * genrecog.c (write_switch):  Output if before switch for
1620         DT_elt_zero_wide_safe.
1621
1622 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1623
1624         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
1625         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
1626         (FUNCTION_PROFILER): Const-ify.
1627         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
1628         (eliminate_constant_term, assemble_name, output_addr_const):
1629         Remove declarations.
1630         (ptr_half_pic_address_p, half_pic_hash): Prototype.
1631         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
1632         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
1633         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
1634         (half_pic_declare, half_pic_external): Const-ify.
1635         * toplev.c: Include "halfpic.h".
1636
1637 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1638
1639         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
1640         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
1641         config/i386/i386.c, config/i386/i386-interix.h,
1642         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
1643         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
1644         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
1645         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
1646         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
1647         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
1648         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
1649         spelling errors.
1650
1651         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1652         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
1653         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
1654         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
1655         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
1656         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
1657         system.h, toplev.c: Fix spelling errors.
1658
1659 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1660
1661         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
1662
1663         * dwarf2out.c (reg_number): Abort if pseudo.
1664         (reg_loc_descriptor): Return 0 if pseudo.
1665         (is_based_loc): Return 0 if pseudo.
1666         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
1667         recursive calls.
1668         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
1669         (loc_descriptor): Return 0 if can't find location and handle 0
1670         return from recursive calls.
1671         (loc_descriptor_from_tree): Likewise.
1672         Fix handling of indirect.
1673         Also return 0 for PLACEHOLDER_EXPR.
1674         Clean up COMPONENT_REF cases.
1675         (add_AT_location_descriptor): Simplify, but handle 0 return from
1676         loc_descriptor.
1677         (add_const_value_attribute): Avoid shift count warning.
1678         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
1679         Set comp_unit_die as context if not in function.
1680
1681         * config/mips/mips-protos.h: Break up long lines.
1682         Remove needless #ifdef/#endif blocks.
1683         Don't declare functions declared in file made by genpreds or recog.h.
1684         * config/mips/mips.c (mips_output_function_prologue): TSIZE
1685         is now HOST_WIDE_INT; delete unneeded casts.
1686         * config/mips/mips.h: Don't use #elif.
1687
1688         * expr.c (stor_constructor_field): Always call adjust_address.
1689         Copy TARGET before changing its alias set.
1690         (store_field): Likewise, for TO_RTX.
1691         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
1692         replacement.
1693         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
1694         (find_placeholder): Return 0 if can't find object.
1695         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
1696         returns 0.
1697
1698 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1699
1700         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
1701
1702 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
1703
1704         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
1705         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
1706         (merge_blocks): Properly udpate life after making edge nonfallthru.
1707         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
1708
1709 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1710
1711         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1712
1713 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1714
1715         * c-typeck.c (convert_arguments): When comparing for enumeral
1716         type equality, use TYPE_MAIN_VARIANT.
1717         * gcc.dg/Wconversion.c: New tests.
1718
1719 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1720
1721         * s390/s390.c: Fix comment typos.
1722         * s390/s390.h: Likewise.
1723         * s390/s390.md: Likewise.
1724
1725 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1726
1727         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
1728         (walk_tree): Use it for tail calls where appropriate.
1729
1730 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1731
1732         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
1733         non-local label_refs.
1734
1735 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1736
1737         * config/h8300/h8300.md (4 anonymous patterns): New.
1738
1739 2001-10-26  Kazu Hirata  <kazu@hxi.com>
1740
1741         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
1742         algorithm through the shift_info structure.
1743         (emit_a_shift): Update the use of get_shift_alg.
1744
1745 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
1746
1747         * sched-rgn.c: Remove bitset typedef.
1748         Change bitset to sbitmap in prototypes / variable types.
1749         Remove bbset_size.
1750         Remove edgeset_bits.
1751         Remove edgeset_size.
1752         s/BITSET_ADD/SET_BIT/g
1753         s/BITSET_INVERT/sbitmap_ones/g
1754         s/BITSET_INTER/sbitmap_a_and_b/g
1755         s/BITSET_UNION/sbitmap_a_or_b/g
1756         s/BITSET_DIFFER/sbitmap_difference/g
1757         s/bitset_member/TEST_BIT/g
1758         (BITSET_*): Removed.
1759         (bitset_member): Removed.
1760         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
1761         EXECUTE_IF_SET_IN_SBITMAP.
1762         (split_edges): Rewrite, use sbitmap functions instead of bitset
1763         operations.
1764         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
1765
1766 2001-10-26  Andreas Schwab  <schwab@suse.de>
1767
1768         * reload1.c (emit_input_reload_insns): Fix parens in last
1769         (undocumented) change that was supposed to change only whitespace.
1770
1771 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1772
1773         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
1774
1775         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
1776         ASM_OPERANDS.
1777
1778 2001-10-26  Andreas Jaeger  <aj@suse.de>
1779
1780         * flow.c (clear_log_links): Remove unused variable.
1781         * cfgcleanup.c (cleanup_cfg): Likewise.
1782
1783 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
1784
1785         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
1786         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
1787
1788 2001-10-26  Richard Henderson  <rth@redhat.com>
1789
1790         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
1791         rename PV_REG to R27_REG.
1792         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
1793         (REG_CLASS_FROM_LETTER): Update.
1794         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
1795         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
1796         (udivsi3, modsi3, umodsi3): Likewise.
1797         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
1798
1799 2001-10-26  Richard Henderson  <rth@redhat.com>
1800
1801         * cfg.c (clear_aux_for_blocks): Split out of ...
1802         (free_aux_for_blocks): here.
1803         (clear_aux_for_edges): Split from ...
1804         (free_aux_for_edges): here.
1805         * basic-block.h: Declare them.
1806         * lcm.c (compute_antinout_edge): Use them.
1807         (compute_laterin, compute_available, compute_nearerout): Likewise.
1808         (optimize_mode_switching): Likewise.
1809
1810 2001-10-26  Richard Henderson  <rth@redhat.com>
1811
1812         * Makefile.in (unstage*): Remove as, ld, collect-ld before
1813         moving everything back to the main build directory.
1814
1815 2001-10-26  Christopher Faylor  <cgf@redhat.com>
1816
1817         * config/i386/cygwin.h: Search target specfic include directory, if
1818         appropriate.
1819
1820 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1821
1822         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
1823         of macro guards. Fix #endif comment.
1824
1825         * output.h (default_exception_section, default_eh_frame_section):
1826         Move prototypes outside of macro guard.
1827
1828         * crtstuff.c: Fix #endif comment.
1829
1830 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
1831
1832         * doc/md.texi (movMM): Clarify semantics of storing into a
1833         non-paradoxical SUBREG.
1834
1835 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
1836
1837         * langhooks.c (lang_hook_default_clear_binding_stack): New.
1838         (lang_hook_default_get_alias_set): Move next to other alias
1839         hooks.
1840         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
1841         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
1842         (LANG_HOOKS_INITIALIZER): Add it.
1843         * toplev.h (struct lang_hooks): Add clear_binding_stack.
1844         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
1845         instead of a loop calling poplevel.
1846
1847 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
1848
1849         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
1850         occurrences of #elif with #if...#endif.
1851
1852 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1853
1854         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
1855
1856 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1857
1858         * alias.c (can_address_p): No longer static.
1859         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
1860         Return 0 if all parameters are default values.
1861         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
1862         (adjust_address_1): Try harder to compute a size.
1863         * expr.c (expand_assignment, store_constructor): If can't address,
1864         set MEM_KEEP_ALIAS_SET_P.
1865         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
1866         (store_field): Likewise.
1867         (store_constructor): Simplify call to store_constructor_field.
1868         * expr.h (can_address_p): New declaration.
1869         * gensupport.c (gen_rtx_CONST_INT): New function.
1870         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
1871         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
1872         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
1873
1874         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
1875
1876 2001-10-24  Christopher Faylor  <cgf@redhat.com>
1877
1878         * config/i386/cygwin.h: Use proper path for mingw crt files when
1879         -mno-cygwin.
1880
1881 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1882
1883         * dwarf2out.c (file_info_cmp): Always return consistent results.
1884
1885 2001-10-24  Roger Sayle <roger@eyesopen.com>
1886
1887         * stmt.c (expand_end_case): Index jumptables from zero for
1888         suitably small values of minval.
1889
1890 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1891
1892         * stor-layout.c (place_union_field): If any field was aligned with
1893         attribute aligned, set record type's TYPE_USER_ALIGN.
1894         (place_field): Likewise.
1895         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
1896         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
1897
1898 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
1899
1900         * c-common.h (struct c_common_identifier): Remove rid_code field.
1901         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
1902
1903         * c-typeck.c (constructor_designated): New local flag.
1904         (struct constructor_stack): Add "designated" field to match.
1905         (start_init): Clear it.
1906         (really_start_incremental_init, push_init_level): Push and
1907         clear it.
1908         (pop_init_level): Pop it.
1909         (set_designator): Set it.
1910
1911         (pop_init_level): Suppress "missing initializer" warnings if
1912         constructor_designated is true.
1913         (process_init_element): Suppress warning about union
1914         initialization under traditional C, if constructor_designated
1915         is true.
1916
1917 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1918
1919         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
1920         change.
1921
1922 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
1923
1924         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
1925
1926 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
1927
1928         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
1929         the node was already a set to a constant.
1930
1931 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1932
1933         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
1934         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
1935
1936 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1937
1938         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
1939         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
1940         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
1941         * s390.c (s390_final_chunkify): Don't use string concatenation.
1942         (s390_function_prologue, s390_function_epilogue): Const-ify.
1943         * s390.h (FUNCTION_PROFILER): Remove unused variable.
1944
1945 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
1946
1947         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
1948         prototypes.
1949
1950 2001-10-23  Stan Shebs  <shebs@apple.com>
1951
1952         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
1953         -traditional-cpp in first-stage compilation.
1954
1955 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1956
1957         * gensupport.c (target_flags): Add.
1958
1959 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
1960
1961         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
1962         if needed.
1963         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
1964         * except.c (expand_builtin_frob_return_addr): Likewise.
1965         (expand_builtin_eh_return): Likewise.
1966         * stmt.c (expand_computed_goto): Likewise.
1967         * explow.c (memory_address): Likewise.
1968         (allocate_dynamic_stack_space): Clean up predicate testing.
1969         (probe_stack_range): Convert SIZE to Pmode.
1970         * calls.c (rtx_for_function_call): Only call convert_memory_address
1971         if needed.
1972         Pass function call operand as ptr_mode, not Pmode.
1973         * expr.c (expand_assignment): Clean up calls to convert_memory
1974         address by only doing so when needed and making offsets Pmode.
1975         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
1976         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
1977         is in Pmode, not ptr_mode.
1978
1979 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1980
1981         * darwin-protos.h (constructor_section, destructor_section,
1982         mod_init_section, mod_term_section): Prototype.
1983         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
1984         Const-ify.
1985         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
1986         Likewise.
1987         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
1988         objc_section_init declaration.
1989         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
1990         (objc_section_init, try_section_alias): Make static.
1991         (alias_section): Make static and hide unused function.
1992         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1993
1994 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1995
1996         * alias.c (can_address_p): Compnonents are not addressable if
1997         the containing type has alias set 0.
1998         (get_alias_set): Rework to use STRIP_NOPS.
1999         Only call front-end routine on object, type, or object with
2000         NOPs stripped, not inner values.
2001         Use language hook to call front-end routine.
2002         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
2003         (expand_builtin_apply): Call set_mem_align on MEMs we make.
2004         Don't pass alignment to emit_block_move.
2005         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
2006         (expand_builtin_memset): Likewise, but for clear_storage.
2007         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
2008         and remove C++ specific parts.
2009         * c-common.h (c_common_get_alias_set): Add declaration.
2010         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
2011         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
2012         (save_fixed_argument_area): Call set_mem_align.
2013         Remove alignment in call to emit_block_move.
2014         (emit_library_call_value_1, store_one_arg): Likewise.
2015         (target_for_arg): Remove; disabled long ago.
2016         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
2017         once and similar cleanups.
2018         (offset_address): Use proper introductory comment.
2019         * expr.c (emit_block_move): Use alignment from that of MEM args, not
2020         from explicit operand; all callers changed.
2021         (clear_storage): Likewise.
2022         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
2023         (store_field): Remove kludge on alias set used for to_rtx.
2024         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
2025         (expand_expr_unaligned): Call set_mem_attributes instead of
2026         set_mem_alias_set.
2027         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
2028         * function.c (assign_stack_temp_for_type): Set MEM alignment.
2029         (expand_function_end): Track MEM attributes of trampolines.
2030         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
2031         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
2032         attributes from original.
2033         * langhooks.c (lang_hook_default_get_alias_set): New function.
2034         (hook_get_alias_set_0): New function.
2035         * langhooks.h (hook_get_alias_set_0): New declaration.
2036         (lang_hook_default_get_alias_set): Likewise.
2037         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
2038         * reload1.c (alter_reg): Use adjust_address_nv.
2039         * rtl.c (get_mode_alignment): Moved to here.
2040         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
2041         change default if unknown from 1 to BITS_PER_UNIT.
2042         * stor-layout.c (get_mode_alignment): Remove from here.
2043         * toplev.h (struct lang_hoks): Add get_alias_set field.
2044         * tree.h (lang_get_alias_set): Delete declaration.
2045         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
2046         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
2047         (ix86_va_arg): Likewise.
2048         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
2049         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
2050         * config/sparc/sparc.c (sparc_va_arg): Likewise.
2051         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
2052         (expand_block_move_mem): Remove dead code.
2053
2054 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
2055
2056         * c-common.c (warn_div_by_zero): New.
2057         * c-common.h (warn_div_by_zero): New.
2058         * c-decl.c (c_decode_option): Take it on the command line.
2059         * c-typeck.c (build_binary_op): Warn about division by zero.
2060         * doc/invoke.texi: Document the new command line option, fix
2061         documentation of -Wmultichar.
2062         * testsuite/gcc.dg/divbyzero.c: New tests.
2063         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
2064
2065 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2066
2067         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
2068
2069         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
2070         to avoid update_life_info call.
2071         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
2072         * cfgcleanup.c (bb_flags): New enum.
2073         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
2074         (notice_new_block, update_forwarder_flag): New functions.
2075         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
2076         (try_forward_edges): Likewise; update flags.
2077         (merge_blocks): Likewise.
2078         (outgoing_edges_match): Likewise.
2079         (try_crossjump_to_edge): Likewise.
2080         (try_optimize_cfg): Likewise; initialize and clear the flags;
2081         recompute life info if needed.
2082         (cleanup_cfg): No need to clear aux pointers.
2083
2084 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
2085
2086         * config/i386/i386.c (override_options): Default to minimum
2087         stack alignment when optimizing for code size.
2088         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
2089         change.
2090
2091         * config/i386/i386.c (override_options): Set upper limit of
2092         -mpreferred-stack-boundary to 12.
2093
2094 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
2095
2096         * recog.c (peephole2_optimize): Add default case to switch.
2097
2098 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2099
2100         * doc/gcc.texi (Sending Patches): Remove.
2101
2102 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
2103
2104         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
2105         fields when comparing.
2106
2107 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2108
2109         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
2110         * arm.c (HOST_INT, HOST_UINT): Likewise.
2111
2112 2001-10-22  Stan Shebs  <shebs@apple.com>
2113
2114         * config/darwin-protos.h (darwin_exception_section): Declare.
2115         (darwin_eh_frame_section): Declare.
2116
2117 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
2118
2119         * i386.md (movti_rex64): Fix mode.
2120
2121 2001-10-22  Stan Shebs  <shebs@apple.com>
2122
2123         * target.h (struct gcc_target): Add asm_out.exception_section,
2124         asm_out.eh_frame_section.
2125         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
2126         (TARGET_ASM_EH_FRAME_SECTION): New.
2127         (TARGET_INITIALIZER): Update.
2128         * output.h (default_exception_section): Declare.
2129         (default_eh_frame_section): Declare.
2130         * dwarf2out.c: Include target.h.
2131         (output_call_frame_info): Call target hook for eh frames.
2132         (default_eh_frame_section): New function.
2133         * except.c: Include target.h.
2134         (output_function_exception_table): Call target hook for exception
2135         section.
2136         * varasm.c (default_exception_section): Rename from
2137         exception_section, remove EXCEPTION_SECTION macro.
2138
2139         * config/darwin.h (darwin_eh_frame_section): New function.
2140         (EXCEPTION_SECTION): Remove.
2141         (TARGET_ASM_EXCEPTION_SECTION): Define.
2142         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
2143         (nextstep_exception_section): New function.
2144         (nextstep_eh_frame_section): New function.
2145         (TARGET_ASM_EXCEPTION_SECTION): Define.
2146         (TARGET_ASM_EH_FRAME_SECTION): Define.
2147
2148         * config/pa/som.h (EXCEPTION_SECTION): Remove.
2149         (TARGET_ASM_EXCEPTION_SECTION): Define.
2150         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
2151         (EXCEPTION_SECTION): Remove.
2152         (TARGET_ASM_EXCEPTION_SECTION): Define.
2153         * config/stormy16/stormy16.h: Remove comments referencing
2154         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
2155
2156         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
2157         TARGET_ASM_EH_FRAME_SECTION.
2158
2159 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
2160
2161         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
2162         terms.
2163
2164         * c-format.c: Fix spelling typo in comment.
2165
2166         * sched-int.h: Fix typo in GCC preamble.
2167
2168 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2169
2170         PR debug/4252
2171         * doc/invoke.texi: Remove references to -fdump-translation-unit.
2172
2173 2001-10-22  Richard Henderson  <rth@redhat.com>
2174
2175         * config/i386/i386.c (ix86_expand_clear): New.
2176         * config/i386/i386-protos.h: Declare it.
2177         * config/i386/i386.md (setcc peep2s): Use it.
2178         (movsi_xor): Unexport.
2179
2180 2001-10-22  Richard Henderson  <rth@redhat.com>
2181
2182         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
2183         free_EXPR_LIST_list for LOG_LINKS.
2184
2185 2001-10-21  Robert Lipe  <robertlipe@usa.net>
2186
2187         * config/i386/i386.c (sco_asm_named_section): Delete.
2188         (sco_asm_out_constructor): Delete.
2189         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
2190         (ASM_OUTPUT_DOUBLE_INT): Likewise.
2191         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
2192         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
2193         (EXCEPTION_SECTION): Delete EH scn renaming hack.
2194
2195 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2196
2197         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
2198         and/or fold extra calls into fewer ones.
2199         * collect2.c (dump_file): Likewise.
2200         * cppexp.c (parse_number): Likewise.
2201         * cpplex.c (_cpp_lex_direct): Likewise.
2202         * final.c (output_asm_insn, asm_fprintf): Likewise.
2203         * fix-header.c (inf_scan_ident, main): Likewise.
2204         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
2205         Likewise.
2206         * fold-const.c (real_hex_to_f): Likewise.
2207         * gen-protos.c (parse_fn_proto): Likewise.
2208         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
2209         * genrecog.c (change_state, write_action): Likewise.
2210         * gensupport.c (shift_output_template): Likewise.
2211         * local-alloc.c (requires_inout): Likewise.
2212         * mips-tfile.c (IS_ASM_IDENT): Likewise.
2213         * protoize.c (is_id_char, main): Likewise.
2214         * real.c (asctoeg): Likewise.
2215         * recog.c (asm_operand_ok): Likewise.
2216         * reload.c (find_reloads): Likewise.
2217         * scan.c (scan_identget_token): Likewise.
2218         * sched-vis.c (print_value): Likewise.
2219         * stringpool.c (ggc_alloc_string): Likewise.
2220         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
2221         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
2222         * tradcpp.c (rescan): Likewise.
2223         * tree.c (clean_symbol_name): Likewise.
2224         * varasm.c (decode_reg_name): Likewise.
2225
2226         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
2227         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
2228         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
2229         * m88k.c (output_ascii): Likewise.
2230         * m88k.h (OVERRIDE_OPTIONS): Likewise.
2231         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
2232         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
2233         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
2234
2235 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2236
2237         * langhooks.c (lang_hook_default_do_nothing,
2238         lang_hook_default_decode_option): New defaults.
2239         * langhooks.h: Make hooks unconditional and non-NULL.
2240         * toplev.c (compile_file, toplev_main): Update.
2241         * toplev.h: Update comments.
2242         * objc/objc-act.c (lang_hooks): Update to new paradigm.
2243
2244 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2245
2246         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
2247
2248         * system.h (IN_RANGE): New macro.
2249
2250 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
2251
2252         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
2253         INTLDEPS variable, which does not include $LIBICONV.
2254         * Makefile.in: Use INTLDEPS in LIBDEPS.
2255         * configure: Regenerate.
2256
2257 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2258
2259         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
2260         * cpplex.c (lex_percent, lex_dot): Remove.
2261         (get_effective_char, skip_block_comment, skip_line_comment,
2262         parse_identifier_slow, parse_number, parse_string, save_comment,
2263         _cpp_lex_direct): Update to do lookback freely.
2264         (IF_NEXT_IS, BACKUP): New macros.
2265         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
2266         * cppmacro.c (paste_tokens): Update.
2267
2268 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
2269
2270         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
2271
2272 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
2273
2274         * reload1.c (reload): Check CONSTANT_P before calling
2275         LEGITIMATE_PIC_OPERAND_P.
2276         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
2277         workaround of 2001-10-13.
2278
2279 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
2280
2281         * i386.c (split_di): Handle splitting of DFmode.
2282
2283 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2284
2285         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
2286         (adjust_address_1, offset_address): Likewise.
2287
2288         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
2289         (output_asm_insn): Call it for each line output.
2290         Don't record an operand more than once.
2291
2292         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
2293         * main.c: Include config.h and system.h, but not ansidecl.h.
2294         * Makefile.in (main.o): Update accordingly.
2295
2296 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2297
2298         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
2299
2300 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
2301
2302         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
2303         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
2304         Break out from ...
2305         (find_sub_basic_blocks): ... here;
2306         (find_many_sub_basic_blocks): New.
2307         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
2308
2309         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
2310
2311         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
2312
2313         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
2314
2315         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
2316         * flow.c (update_life_info): Measure time.
2317         * c-decl.c: Include timevar.h
2318         (c_expand_body): Measure time.
2319         * toplev.c (rest_of_compilation): Measure time of mode switching
2320         separately.
2321         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
2322
2323         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
2324         (lang_independent_options): Add asynchronous-unwind-tables
2325         (toplev_main): flag_asynchronous_unwind_tables implies
2326         flag_unwind_tables.
2327         * flags.h (flag_asynchronous_unwind_tables): Declare.
2328         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
2329         flag_asynchronous_unwind_tables.
2330         (output_call_frame_info): Likewise.
2331         * invoke.texi (-fasynchronous-unwind-tables): Document.
2332         * i386.c (optimization_options): Enable
2333         flag_asynchronous_unwind_tables.
2334
2335         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
2336         * i386.md (s* expanders): Destination is QImode.
2337
2338         * toplev.c (rest_of_compilation): Do not call clear_log_links.
2339         * rtl.h (clear_log_links): Kill.
2340         * flow.c (clear_log_links): Make static; accept blocks parameter;
2341         do no clear life info.
2342         (update_life_info): Call clear_log_links.
2343
2344         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
2345
2346 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2347
2348         * cpplex.c (handle_newline, skip_escaped_newlines,
2349         get_effective_char, skip_block_comment, skip_line_comment,
2350         parse_identifier_slow, parse_number, parse_string,
2351         _cpp_lex_direct): Update to do more stepping back.
2352         (trigraph_ok): Similarly.  Rename trigraph_p.
2353         (SAVE_STATE, RESTORE_STATE): Remove.
2354         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
2355
2356         * cpplib.c (destringize): Rename destringize_and_run, and
2357         call run_directive directly.
2358         (_cpp_do__Pragma): Simplify.
2359
2360 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2361
2362         * pe.c (arm_pe_unique_section): Const-ify.
2363         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2364         (switch_to_section): Add static prototype.
2365
2366         * output.h (drectve_section): Prototype.
2367
2368 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2369
2370         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
2371         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
2372         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
2373         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
2374         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
2375         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
2376         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
2377         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
2378         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
2379         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
2380         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
2381         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
2382         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
2383         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
2384         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2385         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2386         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2387         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2388         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2389         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
2390         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
2391         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
2392         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
2393         cris-*-none, cris-*-linux*: Update ${tmfile} list.
2394         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
2395         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
2396         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
2397         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
2398         v850-*-*): Delete superflous ${cpu_type} setting.
2399         * config/linux.h: Delete svr4.h include.
2400         (SET_ASM_OP): Delete.
2401         * config/netware.h (INT_ASM_OP): Undef before define.
2402         * config/ptx4.h: Delete elfos.h include.
2403         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
2404         * config/svr4.h: Delete elfos.h include. Update commentary.
2405         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
2406         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
2407         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
2408         config/v850/v850.h: Delete svr4.h include.
2409         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
2410         config/m68k/m68kv4.h, config/m88k/sysv4.h,
2411         config/sparc/sysv4.h: Update includes.
2412         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
2413         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
2414         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
2415         config/m88k/dguxbcs.h: Delete includes.
2416         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
2417         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
2418         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
2419         it.
2420         * config/m88k/dgux.h: Delete include.
2421         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
2422         defining it.
2423         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
2424         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
2425         * config/sh/elf.h: Update include.
2426         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
2427         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
2428
2429 2001-10-19  Catherine Moore  <clm@redhat.com>
2430
2431         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
2432         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
2433         base and count fields.
2434         (stormy16_expand_builtin_va_start):  last_reg_count changed to
2435         size_of_reg_args.  Use count + size in first comparison.
2436
2437 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2438
2439         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
2440         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
2441         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
2442         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
2443         Set alignment from type if INDIRECT_REF.
2444         (adjust_address_1, offset_address): Simplify alignment compuitation.
2445         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
2446         here; done by set_mem_attributes.
2447
2448 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2449
2450         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
2451         * arm-protos.h (rdata_section, zero_init_section, common_section):
2452         Prototype.
2453         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
2454         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
2455         traditional mode stringification.
2456         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
2457         in macros controling its use.
2458         * rtlanal.c: Include tm_p.h.
2459         * varasm.c (asm_output_aligned_bss): Mark parameter with
2460         ATTRIBUTE_UNUSED.
2461         (assemble_constant_align, assemble_start_function, assemble_align,
2462         assemble_variable, assemble_trampoline_template,
2463         output_constant_def_contents): Wrap potentially empty if-stmt body
2464         in brackets.
2465
2466 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2467
2468         * a29k-protos.h (literal_section): Prototype.
2469         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
2470         * a29k.md: Ensure function pointers are prototyped.
2471         * genattrtab.c (write_eligible_delay): Mark parameter with
2472         ATTRIBUTE_UNUSED.
2473
2474 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2475
2476         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
2477         * 1750a.c (print_operand): Fix format specifier warning.
2478         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
2479         * 1750a.md: Likewise.
2480         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
2481         * genemit.c (output_add_clobbers): Mark parameter with
2482         ATTRIBUTE_UNUSED.
2483         * genrecog.c (write_subroutine): Likewise.
2484         * integrate.c (expand_inline_function): Delete unused variable.
2485         * varasm.c (remove_from_pending_weak_list): Wrap with
2486         ASM_WEAKEN_LABEL.
2487
2488 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
2489
2490         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
2491         field is different to previous argument's neg field.
2492
2493         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
2494
2495 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2496
2497         * final.c (get_decl_from_op): New function.
2498         (output_asm_insn): Call it; write "*" when item with decl is address.
2499
2500 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
2501
2502         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
2503         about 64-bit support from the 3.0_branch version.
2504
2505 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
2506
2507         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
2508         USE_INCLUDED_LIBINTL when appropriate.
2509         * configure, config.in: Regenerate.
2510         * Makefile.in (datadir): Set to @datadir@.
2511         (intl.o): Also depend on $(CONFIG_H) and system.h.
2512
2513         * intl.c: Factor out common gettext initialization sequence.
2514         (gcc_init_libintl):  New function.
2515         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
2516         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
2517         off NLS.  Add multiple include guard.  No need to #ifdef-guard
2518         an #undef.  Prototype gcc_init_libintl here.
2519
2520         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
2521         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
2522         Use gcc_init_libintl.
2523
2524 2001-10-19  Catherine Moore  <clm@redhat.com>
2525
2526         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
2527
2528         * config/stormy16/stormy16.c (stormy16_split_move):  Make
2529         sure that REG_INC notes are present for auto_inc operands.
2530
2531 2001-10-19  Andreas Jaeger  <aj@suse.de>
2532
2533         * configure: Regenerated.
2534         * configure.in: Add x86_64 to switch statements.
2535
2536 2001-10-18  Richard Henderson  <rth@redhat.com>
2537
2538         * config/alpha/alpha.md (sibcall_osf_1): Load destination
2539         address into $27 explicitly.
2540         (sibcall_value_osf_1): Likewise.
2541
2542 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2543
2544         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
2545         (offset_address): New function.
2546         (free_emit_status): Free regno_decl.
2547         (init_emit): Pass proper number of elements to xcalloc.
2548         Allocate regno_decl.
2549         (mark_emit_status): Mark regno_decl values.
2550         * expr.c (highest_pow2_factor): New function.
2551         (expand_assigment): Use it and offset_address.
2552         Properly handle ptr_mode vs. Pmode in offset calculation.
2553         (store_constructor, expand_expr_unaligned): Likewise.
2554         (expand_expr, case COMPONENT_EXPR): Likewise.
2555         * expr.h (offset_address): New decl.
2556         * function.h (struct emit_status): Add regno_decl.
2557         (REGNO_DECL): New macro.
2558         * final.c (output_asm_name): Move in file and don't conditionalize
2559         on flag_print_asm_name.
2560         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
2561         Output names of operands, if known.
2562         * function.c (assign_parms): Set REGNO_DECL.
2563         * integrate.c (integrate_decl_tree): Likewise.
2564         * stmt.c (expand_decl): Likewise.
2565         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
2566
2567 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
2568
2569         * attribs.c (handle_noinline_attribute): New function.
2570         (handle_used_attribute): Likewise.
2571         (c_common_attribute_table): Added noinline and used.
2572         * doc/extend.texi (Function Attributes): Document them.
2573         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
2574         Warn when merging inline with attribute noinline.
2575         (start_decl, start_function): Warn if inline and attribute
2576         noinline appear in the same declaration.
2577
2578 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2579
2580         * config.gcc: Update c4x and i370 for C front end-specific
2581         dependencies.
2582         * config/c4x/c4x-c.c: New.
2583         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
2584         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2585         New declarations.
2586         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
2587         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2588         Make extern.
2589         (c4x_init_pragma): Remove.
2590         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
2591         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
2592         c4x_pr_ignored): Move to c4x-c.c.
2593         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2594         * config/c4x/t-c4x: Update.
2595         * config/i370/i370-c.c: New.
2596         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
2597         (i370_pr_map): Move to i370-c.c.
2598         * config/i370/t-i370: New.
2599
2600         * doc/tm.texi: Update.
2601
2602 2001-10-17  Stan Shebs  <shebs@apple.com>
2603
2604         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
2605         typo fixes throughout.
2606         (machopic_output_stub): Remove some dead code.
2607
2608 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
2609
2610         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
2611         leak.
2612
2613 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2614
2615         * Makefile.in (print-rtl.o): Depend on TREE_H.
2616         * alias.c (get_alias_set): Make two passes over objects to first
2617         see if inner object is access via restricted pointer.
2618         Defer allocating alias set for restricted pointer until here.
2619         Call find_placeholder with second arg nonzero.
2620         Minor cleanups.
2621         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
2622         set for restricted pointer types.
2623         * emit-rtl.c (set_mem_attributes): Set more attributes.
2624         (set_mem_align, change_address, adjust_address_1): New functions.
2625         (change_address_1): Now static.
2626         (adjust_address, adjust_address_nv): Deleted.
2627         (replace_equiv_address): Call change_address_1.
2628         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
2629         (find_placeholder): Get starting point from PLIST arg.
2630         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
2631         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
2632         (adjust_address, adjust_address_nv): New macros.
2633         * print-rtl.c (tree.h): New include.
2634         (print_rtx, case MEM): Print all memory attributes.
2635
2636 2001-10-17  Richard Henderson  <rth@redhat.com>
2637
2638         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
2639
2640 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
2641
2642         * c-tree.texi: Eliminate duplicated word.
2643         * cpp.texi: Likewise.
2644         * install.texi: Likewise.
2645         * invoke.texi: Likewise.
2646         * tm.texi: Likewise.
2647
2648 2001-10-17  Michael Collison  <collison@isisinc.net>
2649
2650         * dsp16xx.c: Fix comment formatting to match GNU standards.
2651         (dsp16xx_output_function_prologue): Change type of 'size'
2652         parameter from 'int' to HOST_WIDE_INT.
2653         (dsp16xx_output_function_epilogue): Change type of 'size'
2654         parameter from 'int' to HOST_WIDE_INT.
2655
2656 2001-10-16  Richard Henderson  <rth@redhat.com>
2657
2658         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
2659         * configure, config.in: Rebuild.
2660
2661         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
2662         (ix86_output_addr_diff_elt): New.
2663         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
2664         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2665         (JUMP_TABLES_IN_TEXT_SECTION): New.
2666         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
2667         * config/i386/i386-protos.h: Update.
2668
2669         * config/i386/386bsd.h, config/i386/beos-elf.h,
2670         config/i386/freebsd-aout.h, config/i386/freebsd.h,
2671         config/i386/i386-interix.h, config/i386/i386elf.h,
2672         config/i386/linux.h, config/i386/netbsd-elf.h,
2673         config/i386/netbsd.h, config/i386/openbsd.h,
2674         config/i386/ptx4-i.h, config/i386/rtemself.h,
2675         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
2676         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
2677
2678 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
2679
2680         * stmt.c (expand_asm_operands): Update commentary.
2681
2682 2001-10-16  Stan Shebs  <shebs@apple.com>
2683
2684         * config/darwin.h (GCC_NAME): Remove, no longer used.
2685         (NO_MATH_LIBRARY): Ditto.
2686         (MATH_LIBRARY): Define to emptiness.
2687         (DWARF2_DEBUGGING_INFO): Define.
2688         (PREFERRED_DEBUGGING_TYPE): Define.
2689         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
2690         (EXCEPTION_SECTION): Define.
2691         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2692         * config/darwin.c (darwin_encode_section_info): Handle case of
2693         DECL_INITIAL being error_mark_node.
2694
2695 2001-10-16  Richard Henderson  <rth@redhat.com>
2696
2697         * alpha.c (current_file_function_operand): Don't fail for profiling.
2698         (direct_call_operand): New.
2699         * alpha-protos.h: Declare it.
2700         * alpha.h (EXTRA_CONSTRAINT): Use it.
2701         (PREDICATE_CODES): Add it.
2702         (ASM_OUTPUT_MI_THUNK): Remove.
2703         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
2704         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
2705
2706 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
2707
2708         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
2709         (JUMP_TABLES_IN_TEXT_SECTION): Define.
2710
2711 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
2712
2713         * cfg.c (free_edge): Break out from ....
2714         (remove_edge): ... here.
2715         (clear_edges): Use free_edge.
2716
2717         * att.h (ASM_QUAD): Add comment.
2718         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
2719
2720 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
2721
2722         * i386.c (split_ti): New function.
2723         (ix86_split_to_parts): Support TImodes.
2724         * i386.h (VALID_INT_MODE_P): Add TImode.
2725         * i386.md (movdi splitter): Fix.
2726         (movti): Support 64bit integer registers.
2727         (movti_rex64): New function and splitter.
2728
2729         * i386.c (*_cost): Add movsx/movzx cost.
2730         * i386.h (struct processor_costs): Add movsx/movzx fields.
2731         (RTX_COSTS): Handle zero/sign extend + avoid believing that
2732         64bit operations require split on 64bit machine.
2733         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
2734
2735         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
2736         (ix86_expand_move): Avoid pushes of memory if size does not match;
2737         move long constants to register.
2738         (x86_initialize_trampoline): Fix mode.
2739         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
2740         Use ASM_QUAD on 64bit.
2741         * i386.md (test pattern): Disallow impossible constants.
2742         (tablejump PIC expander): Fix emitting of sum.
2743         (movdicc_rex64): Rename to movdicc.
2744         * linux64.h (LINK_SPEC): Add missing '%'.
2745
2746 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
2747
2748         * tree-inline.c (inlinable_function_p): Leave it up to the
2749         front-end to turn -finline-functions into DECL_INLINE set for all
2750         functions.
2751
2752 2001-10-16  Stan Shebs  <shebs@apple.com>
2753
2754         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
2755
2756 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
2757
2758         * recog.c: Formatting and comment typo fixes.
2759
2760         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
2761         version in single tree build.
2762         * configure: Regenerate.
2763
2764 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
2765
2766         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
2767         MODE arguments to gen_rtx and compare operand with const0_rtx.
2768
2769 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2770
2771         * system.h: Poison old unused target macros.
2772         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
2773         * config/stormy16/stormy16.c: Update references to obsolete macros.
2774         * config/stormy16/stormy16.h: Similarly.
2775         * config/stormy16/stormy16.md: Similarly.
2776         * config/cris/cris.h: Similarly.
2777
2778 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
2779
2780         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
2781         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
2782         cpp_register_pragma): Update accordingly.
2783
2784 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2785
2786         * c-pragma.h (cpp_register_pragma_space): Remove.
2787         * cpplib.h (cpp_register_pragma_space): Remove.
2788         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
2789         (cpp_register_pragma_space): Remove.
2790         (cpp_register_pragma): Simplify using lookup_pragma_entry,
2791         add sanity checks.
2792         (do_pragma): Similarly.
2793         (_cpp_init_internal_pragmas): Don't register namespaces.
2794
2795         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
2796         Don't register namespaces.
2797         * cp/lex.c (init_cp_pragma): Similarly.
2798         * doc/tm.texi: Update.
2799
2800 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2801
2802         PR c/4157
2803         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
2804
2805 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
2806
2807         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
2808         add scheduling support.
2809         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
2810         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
2811         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
2812
2813
2814 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
2815
2816         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
2817         missing CONSTANT_P test in core GCC.
2818
2819 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2820
2821         * cppmain.c (struct printer): New member source.
2822         (scan_translation_unit): Fix spacing at start of lines.
2823         (cb_line_change): Update.
2824
2825         * gcc.dg/cpp/spacing2.c: New test.
2826
2827 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
2828
2829         * config/cris/arit.c: Use __builtin_labs, not abs.
2830
2831         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
2832
2833         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
2834         misplaced sprintf and fprintf argument.
2835
2836 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
2837
2838         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
2839         * configure.in, Makefile.in: Take out obsolete check-po logic.
2840         * configure, config.in: Regenerate.
2841
2842 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
2843
2844         * objc/objc-act.c (finish_objc): Correct precondition for emitting
2845         symtab declarations.
2846
2847 2001-10-12  Stan Shebs  <shebs@apple.com>
2848
2849         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
2850         declarations of arguments and local variables.
2851
2852 2001-10-12  Christopher Faylor  <cgf@redhat.com>
2853
2854         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
2855         ENDFILE_SPEC definition.
2856
2857 2001-10-12  Kazu Hirata  <kazu@hxi.com>
2858
2859         * gthr-dce.h: Fix comment formatting.
2860         * gthr-posix.h: Likewise.
2861         * gthr-single.h: Likewise.
2862         * gthr-solaris.h: Likewise.
2863         * gthr-vxworks.h: Likewise.
2864         * gthr-win32.h: Likewise.
2865
2866 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
2867
2868         * final.c (output_asm_insn): Make sure assembly dialects are
2869         terminated, not nested.  Output `|' and `}' characters if they
2870         don't appear inside assembly dialect selection.
2871         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
2872         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
2873         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
2874         strsetsi_rex_1): Add {} braces.
2875
2876 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2877
2878         * toplev.c (compile_file): Ignore return value from yyparse.
2879         Always pop any nested binding levels after yyparse returns.
2880
2881 2001-10-11  Richard Henderson  <rth@redhat.com>
2882
2883         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
2884
2885 2001-10-11  Richard Henderson  <rth@redhat.com>
2886
2887         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
2888         fall back to add_AT_long_long for large CONST_INT.
2889
2890 2001-10-11  Richard Henderson  <rth@redhat.com>
2891
2892         * config/i386/i386.md (setcc splitters): Add four splitters to
2893         simplify compound compares that simplify_comparison can't handle.
2894
2895 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
2896
2897         * cpplex.c (digraph_spellings, token_spellings): Make static.
2898
2899 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2900
2901         * unroll.c (loop_iterations): Fixup last patch.
2902
2903 2001-10-11  Richard Henderson  <rth@redhat.com>
2904
2905         * rtl.h (REG_VTABLE_REF): New.
2906         * rtl.c (reg_note_name): Add it.
2907         * combine.c (distribute_notes): Handle it.
2908         * final.c (final_scan_insn): Handle it.
2909         * tree.def (VTABLE_REF): New.
2910         * expr.c (expand_expr): Handle it.
2911         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
2912         * output.h: Declare them.
2913
2914 2001-10-11  Richard Henderson  <rth@redhat.com>
2915
2916         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
2917         for a DECL_INITIAL.
2918
2919 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
2920
2921         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
2922         available in 64-bit mode.
2923
2924 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2925
2926         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
2927         cris-*-linux* cases.
2928         * config/cris/cris-protos.h: New file.
2929         * config/cris/cris.c: New file.
2930         * config/cris/cris.h: New file.
2931         * config/cris/cris.md: New file.
2932         * config/cris/linux.h: New file.
2933         * config/cris/aout.h: New file.
2934         * config/cris/arit.c: New file.
2935         * config/cris/cris_abi_symbol.c: New file.
2936         * config/cris/mulsi3.asm: New file.
2937         * config/cris/t-aout: New file.
2938         * config/cris/t-cris: New file.
2939         * config/cris/t-elfmulti: New file.
2940         * config/cris/t-linux: New file.
2941         * doc/invoke.texi: Add CRIS options.
2942         * doc/install.texi (Specific): Add blurb for CRIS.
2943
2944 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
2945
2946         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
2947         before using it.
2948         * config/float/i32.h: Likewise.
2949         * config/float-i386.h: Likewise.
2950         * config/float-i64.h: Likewise.
2951         * config/float-m68k.h: Likewise.
2952         * config/float-sh.h: Likewise.
2953         * config/float-sparc.h: Likewise.
2954
2955 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
2956
2957         * doc/contrib.texi: Add note about CRIS port to my entry.
2958
2959 2001-10-11  Kazu Hirata  <kazu@hxi.com>
2960
2961         * basic-block.h: Fix formatting.
2962         * bitmap.h: Likewise.
2963         * cpplib.h: Likewise.
2964         * c-tree.h: Likewise.
2965         * diagnostic.h: Likewise.
2966         * flags.h: Likewise.
2967         * ggc.h: Likewise.
2968         * longlong.h: Likewise.
2969         * real.h: Likewise.
2970         * reload.h: Likewise.
2971         * rtl.h: Likewise.
2972         * tree.h: Likewise.
2973
2974 2001-10-10  Richard Henderson  <rth@redhat.com>
2975
2976         * c-parse.in (asm_operand): Allow named operands.
2977         * genconfig.c (max_recog_operands): Set to 29.
2978         * local-alloc.c (requires_inout): Skip multiple digits.
2979         * recog.c (asm_operand_ok): Likewise.
2980         (preprocess_constraints): Use strtoul for matching constraints.
2981         (constrain_operands): Likewise.
2982         * regmove.c (find_matches): Likewise.
2983         * reload.c (find_reloads): Likewise.
2984         * stmt.c (parse_output_constraint): Don't reject in-out
2985         constraint on operands > 9.  Reject '[' in constraint.
2986         (expand_asm_operands): Handle named operands.  Use strtoul
2987         for matching constraints.
2988         (check_operand_nalternatives): Split out from expand_asm_operands.
2989         (check_unique_operand_names): New.
2990         (resolve_operand_names, resolve_operand_name_1): New.
2991
2992         * doc/extend.texi (Extended Asm): Document named operands.
2993         * doc/md.texi (Simple Constraints): Document matching constraints
2994         on operands > 9.
2995
2996 2001-10-10  Richard Henderson  <rth@redhat.com>
2997
2998         * combine.c (try_combine): Handle a SEQUENCE of one insn.
2999
3000         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
3001         (jcc splitters): Add two splitters to simplify compound compares
3002         that simplify_comparison can't handle.
3003
3004 2001-10-10  Richard Henderson  <rth@redhat.com>
3005
3006         * langhooks.c: Include langhooks.h.
3007         * Makefile.in (langhooks.o): Depend on it.
3008
3009 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
3010
3011         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
3012         should not be considered as a no-op.
3013         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
3014
3015 2001-10-10  Stan Shebs  <shebs@apple.com>
3016
3017         * alias.c: Remove uses of "register" specifier in declarations
3018         of arguments and local variables.
3019         * c-common.c: Ditto.
3020         * c-convert.c: Ditto.
3021         * c-decl.c: Ditto.
3022         * c-format.c: Ditto.
3023         * c-semantics.c: Ditto.
3024         * c-typeck.c: Ditto.
3025         * caller-save.c: Ditto.
3026         * calls.c: Ditto.
3027         * cfg.c: Ditto.
3028         * cfgbuild.c: Ditto.
3029         * cfgrtl.c: Ditto.
3030         * collect2.c: Ditto.
3031         * combine.c: Ditto.
3032         * convert.c: Ditto.
3033         * cppexp.c: Ditto.
3034         * cppfiles.c: Ditto.
3035         * cse.c: Ditto.
3036         * dbxout.c: Ditto.
3037         * defaults.h: Ditto.
3038         * df.c: Ditto.
3039         * dwarf2out.c: Ditto.
3040         * dwarfout.c: Ditto.
3041         * emit-rtl.c: Ditto.
3042         * explow.c: Ditto.
3043         * expmed.c: Ditto.
3044         * expr.c: Ditto.
3045         * final.c: Ditto.
3046         * fix-header.c: Ditto.
3047         * floatlib.c: Ditto.
3048         * flow.c: Ditto.
3049         * fold-const.c: Ditto.
3050         * function.c: Ditto.
3051         * gcc.c: Ditto.
3052         * gcse.c: Ditto.
3053         * gen-protos.c: Ditto.
3054         * genattrtab.c: Ditto.
3055         * gencheck.c: Ditto.
3056         * genconfig.c: Ditto.
3057         * genemit.c: Ditto.
3058         * genextract.c: Ditto.
3059         * genflags.c: Ditto.
3060         * gengenrtl.c: Ditto.
3061         * genoutput.c: Ditto.
3062         * genpeep.c: Ditto.
3063         * genrecog.c: Ditto.
3064         * gensupport.c: Ditto.
3065         * global.c: Ditto.
3066         * gmon.c: Ditto.
3067         * graph.c: Ditto.
3068         * haifa-sched.c: Ditto.
3069         * hard-reg-set.h: Ditto.
3070         * hash.c: Ditto.
3071         * integrate.c: Ditto.
3072         * jump.c: Ditto.
3073         * lists.c: Ditto.
3074         * local-alloc.c: Ditto.
3075         * loop.c: Ditto.
3076         * mips-tdump.c: Ditto.
3077         * mips-tfile.c: Ditto.
3078         * optabs.c: Ditto.
3079         * prefix.c: Ditto.
3080         * print-rtl.c: Ditto.
3081         * read-rtl.c: Ditto.
3082         * real.c: Ditto.
3083         * recog.c: Ditto.
3084         * reg-stack.c: Ditto.
3085         * regclass.c: Ditto.
3086         * regmove.c: Ditto.
3087         * reload.c: Ditto.
3088         * reload1.c: Ditto.
3089         * reorg.c: Ditto.
3090         * resource.c: Ditto.
3091         * rtl.c: Ditto.
3092         * rtlanal.c: Ditto.
3093         * scan.c: Ditto.
3094         * sched-deps.c: Ditto.
3095         * sched-rgn.c: Ditto.
3096         * sdbout.c: Ditto.
3097         * simplify-rtx.c: Ditto.
3098         * stmt.c: Ditto.
3099         * stor-layout.c: Ditto.
3100         * toplev.c: Ditto.
3101         * tradcif.y: Ditto.
3102         * tradcpp.c: Ditto.
3103         * tree.c: Ditto.
3104         * unroll.c: Ditto.
3105         * varasm.c: Ditto.
3106         * xcoffout.c: Ditto.
3107
3108 2001-10-10  Richard Henderson  <rth@redhat.com>
3109
3110         * rtl.h (can_reverse_comparison_p): Remove.
3111
3112 2001-10-10  Christopher Faylor <cgf@redhat.com>
3113
3114         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
3115         used.
3116
3117 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
3118
3119         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
3120         (Thanks to Chris Faylor for suggesting macro name).
3121         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
3122         WIN32 defines.
3123         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
3124         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
3125         (MATH_LIBRARY): Undef before definition.
3126         (OUTPUT_QUOTED_STRING): Likewise.
3127         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
3128
3129 2001-10-10  Richard Henderson  <rth@redhat.com>
3130
3131         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
3132         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
3133         a tristate comparison value.
3134         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
3135
3136 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3137
3138         PR c++/4512
3139         * unroll.c (loop_iterations): Ignore insns generated by loop
3140         unrolling.
3141
3142         * config.gcc (mips*-*-gnu*): Delete support.
3143         * config/mips/gnu.h: Remove.
3144
3145 2001-10-10  Kazu Hirata  <kazu@hxi.com>
3146
3147         * calls.c: Fix formatting.
3148         * c-decl.c: Likewise.
3149         * cfgcleanup.c: Likewise.
3150         * combine.c: Likewise.
3151         * cppfiles.c: Likewise.
3152         * cpplib.c: Likewise.
3153         * cppmacro.c: Likewise.
3154         * crtstuff.c: Likewise.
3155         * cse.c: Likewise.
3156         * dwarf2out.c: Likewise.
3157         * expmed.c: Likewise.
3158         * expr.c: Likewise.
3159         * fold-const.c: Likewise.
3160         * function.c: Likewise.
3161         * gcse.c: Likewise.
3162         * genattrtab.c: Likewise.
3163         * ggc-page.c: Likewise.
3164         * integrate.c: Likewise.
3165         * libgcc2.c: Likewise.
3166         * loop.c: Likewise.
3167         * optabs.c: Likewise.
3168         * profile.c: Likewise.
3169         * protoize.c: Likewise.
3170         * real.c: Likewise.
3171         * recog.c: Likewise.
3172         * reload1.c: Likewise.
3173         * reload.c: Likewise.
3174         * reorg.c: Likewise.
3175         * resource.c: Likewise.
3176         * sched-rgn.c: Likewise.
3177         * sdbout.c: Likewise.
3178         * stmt.c: Likewise.
3179         * toplev.c: Likewise.
3180         * varasm.c: Likewise.
3181
3182 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
3183
3184         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
3185         * Makefile.in (langhooks.o): Add dependencies.
3186
3187 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
3188
3189         * rs6000.c (rs6000_emit_load_toc_table): Don't
3190         strdup the toc label.
3191         (create_TOC_reference): Likewise.
3192
3193 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
3194
3195         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
3196         version default.
3197
3198 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
3199
3200         * config/i386/i386.c (ix86_attribute_table): Correct
3201         min_len, max_len fields for dllimport, dllexport and shared.
3202
3203 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3204
3205         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
3206         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
3207         Consistently use "nonzero" instead of "non-zero".
3208
3209 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3210
3211         * acconfig.h: Fix comment formatting.
3212         * c-dump.h: Likewise.
3213         * c-tree.h: Likewise.
3214         * conditions.h: Likewise.
3215         * expr.h: Likewise.
3216         * function.h: Likewise.
3217         * gthr.h: Likewise.
3218         * hwint.h: Likewise.
3219         * integrate.h: Likewise.
3220         * intl.h: Likewise.
3221         * loop.h: Likewise.
3222         * optabs.h: Likewise.
3223
3224 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3225
3226         * c-common.h: Fix comment formatting.
3227         * c-dump.c: Likewise.
3228         * cfg.c: Likewise.
3229         * diagnostic.h: Likewise.
3230         * except.c: Likewise.
3231         * gcc.h: Likewise.
3232         * gcov-io.h: Likewise.
3233         * genattrtab.c: Likewise.
3234         * output.h: Likewise.
3235         * predict.h: Likewise.
3236         * reload1.c: Likewise.
3237         * reload.h: Likewise.
3238         * resource.h: Likewise.
3239         * scan.h: Likewise.
3240         * system.h: Likewise.
3241         * tree.h: Likewise.
3242         * tree-inline.c: Likewise.
3243         * tsystem.h: Likewise.
3244         * varasm.c: Likewise.
3245         * xcoffout.h: Likewise.
3246
3247 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3248
3249         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
3250
3251 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3252
3253         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
3254         config/i386/i386elf.h, config/i386/netbsd-elf.h,
3255         config/i386/netware.h, config/mcore/gfloat.h,
3256         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
3257         config/netware.h, gccbug.in: Update FSF address.
3258
3259 2001-10-09  Kazu Hirata  <kazu@hxi.com>
3260
3261         * c-common.c: Fix comment typos.
3262         * cfgrtl.c: Likewise.
3263         * collect2.c: Likewise.
3264         * cpplex.c: Likewise.
3265         * doloop.c: Likewise.
3266         * dwarf2out.c: Likewise.
3267         * dwarfout.c: Likewise.
3268         * expr.c: Likewise.
3269         * fold-const.c: Likewise.
3270         * gcc.c: Likewise.
3271         * gcov.c: Likewise.
3272         * gcse.c: Likewise.
3273         * global.c: Likewise.
3274         * ifcvt.c: Likewise.
3275         * loop.c: Likewise.
3276         * optabs.c: Likewise.
3277         * protoize.c: Likewise.
3278         * regclass.c: Likewise.
3279         * reorg.c: Likewise.
3280         * rtl.h: Likewise.
3281         * stmt.c: Likewise.
3282         * tree.h: Likewise.
3283         * doc/cpp.texi: Likewise.
3284         * doc/c-tree.texi: Likewise.
3285         * doc/extend.texi: Likewise.
3286         * doc/invoke.texi: Likewise.
3287         * doc/objc.texi: Likewise.
3288         * doc/tm.texi: Likewise.
3289
3290 2001-10-08  Richard Henderson  <rth@redhat.com>
3291
3292         * varasm.c (set_named_section_flags): Initialize "declared".
3293
3294 2001-10-08  Robert Lipe  <robertlipe@usa.net>
3295
3296         * varasm.c (struct in_named_entry): Add declared.
3297         (named_section_first_declaration): New function.
3298         (default_elf_asm_named_section): Use it.
3299         * output.h (named_section_first_declaration): New.
3300
3301 2001-10-08  Richard Henderson  <rth@redhat.com>
3302
3303         * i386.md (movsi_xor): Export.
3304         (setcc peep2): Use it when available; add an alternative to
3305         match zero_extendhisi2_and.
3306
3307 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3308
3309         * romp-protos.h (romp_initialize_trampoline): New function.
3310         * romp.c (romp_initialize_trampoline): Likewise.
3311         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
3312         romp_initialize_trampoline.
3313
3314 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3315
3316         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
3317         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3318         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3319         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3320
3321 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3322
3323         * unroll.c (loop_iterations): Extend check for multiple back edges.
3324
3325 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
3326
3327         * langhooks.h: New file.
3328         * Makefile.in (OBJS): Added langhooks.o.
3329         (c-lang.o): Depend on langhooks.h.
3330         (c-common.o): Don't depend on tree-inline.h.
3331         (tree-inline.o): Depend on toplev.h.
3332         (langhooks.o): New rule.
3333         * c-common.c: Don't include tree-inline.h.
3334         (c_mark_lang_decl): Mark argument c as unused.
3335         (c_common_lang_init): Don't initialize hooks here.
3336         * c-lang.c: Include langhooks.h, then override some macros.
3337         (lang_hooks): Initialize with macros in langhooks.h.
3338         (c_init): Don't initialize hooks here.
3339         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
3340         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
3341         * tree-inline.c: Include toplev.h.  Don't define hook variables.
3342         * tree-inline.h: Don't define hook types nor declare hook
3343         variables.  Move macros to...
3344         * langhooks.c: ... new file, as functions.  Adjust all callers.
3345
3346 2001-10-08  Jeffrey A Law  <law@cygnus.com>
3347
3348         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
3349         purge_mem_unchanging_flag on all instructions, not just on those
3350         before NOTE_INSN_FUNCTION_BEG.
3351
3352 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3353
3354         * cppmacro.c (_cpp_create_definition): Leave comments off.
3355
3356         * doc/cpp.texi: Update.
3357
3358 2001-10-08  DJ Delorie  <dj@redhat.com>
3359
3360         * c-decl.c (grokfield): Make sure the only unnamed fields
3361         we're allowing are either structs or unions.
3362         * doc/extend.texi: Add documentation for the unnamed field
3363         extension.
3364
3365 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
3366
3367         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
3368         * configure.in: Use it.
3369         * configure: Regenerated.
3370         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
3371         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
3372
3373 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3374
3375         * cppfiles.c (open_file): Don't mark zero-length files
3376         never-reread here.  Don't output diagnostics here either.
3377         (stack_include_file): Mark them never-reread here.
3378         (_cpp_read_file): Update.
3379
3380 2001-10-08  Richard Henderson  <rth@redhat.com>
3381
3382         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
3383
3384 2001-10-08  Richard Henderson  <rth@redhat.com>
3385
3386         * expr.c (store_expr): When converting a CONST_INT for storage
3387         in a SUBREG, convert it to both SUBREG modes before stripping
3388         the SUBREG.
3389
3390 2001-10-08  Richard Henderson  <rth@redhat.com>
3391
3392         * varasm.c (restore_varasm_status): New.
3393         * function.h: Declare it.
3394         * function.c (pop_function_context_from): Call it.
3395
3396 2001-10-08  Richard Henderson  <rth@redhat.com>
3397
3398         * c-common.h (struct c_lang_decl): Add declared_inline.
3399         * c-tree.h (DECL_DECLARED_INLINE_P): New.
3400         * c-lang.c (c_disregard_inline_limits): Use it.
3401         * c-decl.c (duplicate_decls): Likewise.
3402         (pushdecl, redeclaration_error_message): Likewise.
3403         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
3404         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
3405         Set DECL_INLINE if -finline-functions.
3406         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
3407
3408 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3409
3410         * cppmacro.c (funlike_invocation_p): Move some logic to caller
3411         in enter_macro_context.  Create a padding token in its own context
3412         if necessary when the search for '(' fails.
3413         (enter_macro_context): Update.
3414
3415 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3416
3417         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
3418         genmultilib, toplev.c: Fix spelling errors of "separate" as
3419         "seperate", and corresponding spelling errors of related words.
3420
3421 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3422
3423         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
3424         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
3425         Likewise.
3426         * c-dump.c (dump_option_value_info): Likewise.
3427         * c-format.c (format_length_info, format_char_info,
3428         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
3429         * collect2.c (names): Likewise.
3430         * cppdefault.h (default_include): Likewise.
3431         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
3432         * flow.c (life_analysis): Likewise.
3433         * gcc.c (dir_separator_str, modify_target, option_map,
3434         target_option_translations, spec_list_1, extra_specs_1,
3435         init_spec): Likewise.
3436         * gcov.c (gcov_version_string): Likewise.
3437         * genattr.c (write_units): Likewise.
3438         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
3439         * gengenrtl.c (rtx_definition, defs): Likewise.
3440         * genrecog.c (pred_table): Likewise.
3441         * global.c (global_alloc): Likewise.
3442         * lcm.c (optimize_mode_switching): Likewise.
3443         * local-alloc.c (find_free_reg): Likewise.
3444         * params.h (param_info): Likewise.
3445         * predict.c (predictor_info): Likewise.
3446         * protoize.c (unexpansion_struct): Likewise.
3447         * real.c (bmask): Likewise.
3448         * recog.h (insn_operand_data, insn_data): Likewise.
3449         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
3450         * stmt.c (expand_nl_goto_receiver): Likewise.
3451         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
3452         target_switches, target_options): Likewise.
3453         * tradcif.y (token, tokentab2, yylex): Likewise.
3454         * tree.h (attribute_spec): Likewise.
3455
3456         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
3457         Likewise.
3458         * arc.c (arc_output_function_epilogue): Likewise.
3459         * arm.c (processors, all_cores, all_architectures,
3460         arm_override_options, isr_attribute_arg, isr_attribute_args,
3461         arm_isr_value): Likewise.
3462         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
3463         Likewise.
3464         * c4x.c (c4x_int_reglist): Likewise.
3465         * d30v.c (override_options): Likewise.
3466         * h8300.c (shift_insn): Likewise.
3467         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
3468         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
3469         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
3470         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
3471         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
3472         * i386.h (processor_costs, ix86_cost): Likewise.
3473         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
3474         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
3475         * m68k.c (codes_68881, codes_FPA): Likewise.
3476         * m88k.c (mode_from_align, max_from_align, all_from_align,
3477         best_from_align, m_options): Likewise.
3478         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
3479         * mcore.c (mode_from_align): Likewise.
3480         * mips/elf64.h (UNIQUE_SECTION): Likewise.
3481         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
3482         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
3483         * mips.h (mips_regno_to_class): Likewise.
3484         * ns32k.c (scales): Likewise.
3485         * pa.c (import_string, magic_milli): Likewise.
3486         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
3487         * sparc.c (leaf_reg_remap, sparc_override_options,
3488         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
3489         Likewise.
3490         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
3491
3492 2001-10-07  Dale Johannesen  <dalej@apple.com>
3493
3494         * reload1.c (reload_reg_free_p): Teach register interference
3495         checking that multiple output reloads are emitted in
3496         reverse order.
3497         reload1.c (reload_reg_reaches_end_p):  Ditto.
3498         reload1.c (reloads_conflict):  Ditto.
3499
3500 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3501
3502         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
3503         NULL_TREE inside @code.
3504
3505 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3506
3507         * doc/gcc.texi: Document consistent style of "32-bit",
3508         "Objective-C", and "@code{NULL}".
3509
3510 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3511
3512         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
3513         (cpp_token_len, cpp_spell_token, cpp_output_token,
3514         _cpp_equiv_tokens): Handle it.
3515         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
3516         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
3517         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
3518         error messages.
3519
3520 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3521
3522         * gcc.c (default_compilers): Remove .ada.
3523
3524 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3525
3526         * doc/cppinternals.texi: Update.
3527
3528 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
3529
3530         * gcc.c (main): Set this_file_error if the appropriate
3531         compiler for a language has not been installed.
3532
3533 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3534
3535         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
3536
3537 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
3538
3539         * gccbug.in (CATEGORIES): Add ada.
3540
3541 2001-10-05  Catherine Moore  <clm@redhat.com>
3542
3543         * config/stormy16/stormy-abi:  Document abi changes.
3544         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
3545         (ICALL_REGS): New register class.
3546         (NUM_ARGUMENT_REGISTERS): Now 6.
3547         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
3548         in registers.
3549         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
3550         * config/stormy16.md (call_internal, call_value_internal,
3551         indirect_jump): Use new 'z' constraint.
3552
3553 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3554
3555         * doc/cppinternals.texi: Update.
3556
3557 2001-10-05  Richard Henderson  <rth@redhat.com>
3558
3559         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
3560         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
3561         the gas section-name-as-label feature.
3562
3563 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3564
3565         * doc/cppinternals.texi: Update.
3566
3567 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3568
3569         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
3570         to ensure valid SImode constants.
3571
3572 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
3573
3574         * Makefile.in (c-decl.o): Depend on tree-inline.h.
3575         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
3576         * c-decl.c: Include tree-inline.h.
3577         (c_expand_body): Call optimize_inline_calls. Determine whether
3578         a function is inlinable upfront, and only clear
3579         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
3580         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
3581         (c_disregard_inline_limits): New function.
3582         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
3583         (c_post_options): Enable tree inlining if inlining is enabled.
3584         Don't inline trees when instrumenting functions.
3585         (c_init): Initialize lang_disregard_inline_limits and
3586         lang_cannot_inline_tree_fn.
3587         * tree-inline.c (initialize_inlined_parameters): Handle calls
3588         with fewer arguments than declared parameters, and fewer
3589         parameters than passed arguments.  Don't assume value is a
3590         DECL.
3591         (declare_return_variable): Convert return value back to the
3592         original type, if it was promoted.
3593         (tree_inlinable_function_p): New function.
3594         (inlinable_function_p): Don't look at DECL_INLINE if we're
3595         inlining all functions.  Make it work with a NULL id.
3596         Re-check DECL_UNINLINABLE after language-specific checks.
3597         * tree-inline.h (tree_inlinable_function_p): Declare it.
3598         * integrate.c (save_for_inline): Don't bother to prepare argvec
3599         when not inlining.
3600         * cse.c (check_for_label_ref): Don't check deleted labels.
3601
3602         * Makefile.in (tree-inline.o): Depend on newly-included headers.
3603         * tree-inline.c: Include headers needed for the functions moved in.
3604         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
3605         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
3606         (copy_body, initialize_inlined_parameters): Likewise.
3607         (declare_return_variable, inlinable_function_p): Likewise.
3608         (expand_call_inline, expand_calls_inline): Likewise.
3609         (optimize_inline_calls, clone_body): Likewise.
3610         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
3611         (copy_tree_r, remap_save_expr): Likewise.
3612
3613 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
3614
3615         * Makefile.in (OBJS): Added tree-inline.o.
3616         (c-common.o): Depend on tree-inline.h.
3617         (tree-inline.o): New target.
3618         * c-common.c: Include tree-inline.h.
3619         (c_mark_lang_decl): Don't mark saved_tree.
3620         (c_common_lang_init): Set lang_anon_aggr_type_p.
3621         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
3622         (struct c_lang_decl): Moved saved_tree to tree_decl.
3623         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
3624         * integrate.h (function_attribute_inlinable_p): Declare it.
3625         * integrate.c (function_attribute_inlinable_p): Export it.
3626         * tree-inline.c: New file.  Define variables declared in...
3627         * tree-inline.h: New file.  Declare functions to be moved to
3628         tree-inline.c.  Define macros and declare types and hooks for
3629         language-specific tree inlining.
3630         (flag_inline_trees): Moved definition from cp/decl2.c.
3631         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
3632         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
3633         (struct tree_decl): Moved saved_tree from c_lang_decl and
3634         inlined_fns from C++'s lang_decl.
3635
3636 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
3637
3638         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
3639         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
3640
3641 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3642
3643         * doc/cppinternals.texi: Update.
3644
3645 2001-10-04  Eric Christopher  <echristo@redhat.com>
3646
3647         * config/mips/mips.c (init_cumulative_args): Remember to set
3648         cum->prototype.
3649         * config.gcc: Redo linux configuration. Add target_cpu_default
3650         of soft-float to all mipsisa32 combinations and tx39.
3651         * config/mips/linux.h: Remove include of mips.h.
3652
3653 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
3654
3655         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
3656         HOST_LDFLAGS and HOST_CPPFLAGS.
3657
3658 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
3659
3660         * c-parse.in (objc_inherit_code, objc_pq_context,
3661         objc_public_flag): Make static.
3662         (objc_interface_context, objc_implementation_context,
3663         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
3664         global tree array in objc/objc-act.[ch].
3665         (methoddef): Remove unnecessary code.
3666
3667         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
3668         Hoist struct definitions to objc-act.h.
3669         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
3670         cat_count): Place declaration in objc-act.h.
3671         (objc_tree_index): Move enumeration to objc-act.h.
3672         (objc_global_trees): Place declaration and macro accessors in
3673         objc-act.h.
3674         (implementation_context): Remove duplicate; use
3675         objc_implementation_context instead:
3676         (method_context): Remove duplicate; use objc_method_context
3677         instead.
3678         (objc_ellipsis_node, objc_method_prototype_template,
3679         implemented_classes, function_type): Move global vars to
3680         objc_global_trees.
3681         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
3682         (build_message_expr): Move actual construction of ObjC message
3683         send nodes to finish_message_expr.
3684         (finish_message_expr): New routine, contains code formerly in
3685         build_message_expr.
3686         * objc/objc-act.h (finish_message_expr): New prototype.
3687         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
3688         declarations; these vars are now part of objc_global_trees.
3689         (objc_tree_index, objc_global_trees): Move definitions from
3690         objc-act.c.
3691         * objc/objc-tree.def: Update copyright info.
3692
3693 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
3694
3695         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
3696         op is NULL.
3697         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
3698         only if TARGET_ARCH64.
3699
3700 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
3701
3702         * doc/extend.texi: Fix some problems with previous checkin.
3703         * doc/invoke.texi: Likewise.
3704
3705 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3706
3707         * cpphash.h: Update comments.
3708         (cpp_context): Update.
3709         (spec_nodes): Remove n__Pragma.
3710         * cppinit.c (cpp_create_reader): Update.
3711         (builtin_array): Add _Pragma.
3712         * cpplib.h: Update comments.
3713         (NODE_DISABLED, BT_PRAGMA): New.
3714         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
3715         * cppmacro.c (struct cpp_macro): Remove disabled.
3716         (builtin_macro): Return int, handle _Pragma, push the new token
3717         on the context stack.
3718         (funlike_invocation_p): Unconstify, update.
3719         (enter_macro_context): Handle builtins here.
3720         (replace_args, push_token_context, push_ptoken_context):
3721         Update for prototype changes.
3722         (_cpp_pop_context): Update.
3723         (cpp_get_token): Don't handle buitins, nor _Pragma here.
3724         (cpp_sys_macro_p): Update.
3725         (_cpp_free_definition): Clear disabled flag.
3726         (_cpp_create_definition): Upate.
3727         * cppmain.c: Update comments.
3728
3729 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
3730                                 Andreas Jaeger <aj@suse.de>,
3731                                 Jan Hubicka    <jh@suse.cz>
3732
3733         * doc/invoke.texi (i386 Options): Document x86-64 options.
3734         (i386 and x86-64 Options): Rename i386 options section.
3735
3736         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
3737         (TARGET_SWITCHES): Add -munwind-info.
3738         (MASK_NO_UNWIND_INFO): New.
3739         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
3740         biarch compilation.
3741         (ASM_OUTPUT_DOUBLE_INT): New.
3742
3743         * config/i386/linux64.h: New spec file for Linux x86-64 support.
3744         * config.gcc: Fix tm_file settings for x86-64.
3745         * config/i386/x86-64.h: New file with OS independent x86-64
3746         definitions.
3747         * config/i386/biarch64.h: New file used to configure compiler
3748         to biarch/64bit compilation.
3749
3750         * config/i386/i386.c: (override_options): Set flags default
3751         for 64bit compilation.
3752
3753 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
3754
3755         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3756         (ix86_expand_int_movcc): Optimize DImode conditional moves with
3757         constants on x86_64.
3758         (ix86_attr_length_immediate_default): Support MODE_DI.
3759         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
3760         condition.
3761         (indirect_jump, tablejump): Turn into expander.
3762
3763 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3764
3765         * c-common.c (c_format_attribute_table): Make format and
3766         format_arg attributes apply to function types rather than to
3767         decls.
3768         (is_valid_printf_arglist): Construct an attribute list and pass
3769         that to check_function_format rather than a name.
3770         * c-common.h (check_function_format): Adjust prototype.
3771         * c-decl.c (duplicate_decls): Preserve attributes from type of
3772         built-in decl when allowing for harmless conflict in types.
3773         * c-format.c (record_function_format,
3774         record_international_format, function_format_list,
3775         international_format_info, international_format_list): Remove.
3776         (function_format_info): Remove next, name and assembler_name.
3777         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
3778         (decode_format_attr): New.
3779         (handle_format_attribute): Handle receiving a type rather than a
3780         decl.  Call decode_format_attr.  Store format information in a
3781         function_format_info.
3782         (handle_format_arg_attribute): Correct comment.  Handle receiving
3783         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
3784         arg_num.
3785         (check_format_info_recurse, check_format_info_main): Take argument
3786         numbers as unsigned HOST_WIDE_INT.
3787         (check_function_format): Take a list of attributes from the
3788         function type rather than a name or assembler name.  Check for
3789         format attributes in that list and the attributes on the type of
3790         the current function rather than looking through
3791         function_format_list.
3792         (check_format_info): Use unsigned HOST_WIDE_INT for argument
3793         numbers.
3794         (check_format_info_recurse): Take format_arg attributes from the
3795         type of the function calls rather than using
3796         international_format_list.  Allow for multiple format_arg
3797         attributes.
3798         * c-typeck.c (build_function_call): Pass type attributes to
3799         check_function_format rather than name or assembler name.  Don't
3800         require there to be a name or assembler name to check formats.
3801
3802 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3803
3804         * attribs.c (decl_attributes): Possibly call
3805         insert_default_attributes to insert default attributes on
3806         functions in a lazy manner.
3807         * builtin-attrs.def: New file; define the default format and
3808         format_arg attributes.
3809         * c-common.c (c_format_attribute_table): Move to earlier in the
3810         file.
3811         (c_common_nodes_and_builtins): Initialize format_attribute_table.
3812         (enum built_in_attribute, built_in_attributes,
3813         c_attrs_initialized, c_init_attributes,
3814         c_common_insert_default_attributes): New.
3815         (c_common_lang_init): Don't initialize format_attribute_table.  Do
3816         call c_init_attributes.
3817         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
3818         * c-common.h (init_function_format_info): Don't declare.
3819         (c_common_insert_default_attributes): Declare.
3820         * c-decl.c (implicitly_declare, builtin_function): Call
3821         decl_attributes.
3822         (init_decl_processing): Don't call init_function_format_info.
3823         (insert_default_attributes): New.
3824         * c-format.c (handle_format_attribute,
3825         handle_format_arg_attribute): Be quiet about inappropriate
3826         declaration when applying default attributes.
3827         (init_function_format_info): Remove.
3828         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
3829         (insert_default_attributes): Declare.
3830
3831 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3832
3833         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
3834
3835 2001-10-01  Jim Wilson  <wilson@redhat.com>
3836
3837         * sched-deps.c (add_dependence): When elide conditional dependence,
3838         check that insn doesn't modify cond2.
3839
3840 2001-10-01  Dale Johannesen  <dalej@apple.com>
3841
3842         * config/rs6000/rs6000.h (enum processor_type): Add support
3843         for 7400 (G4) and 7450.
3844         (RTX_COSTS): Ditto.
3845         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
3846         (rs6000_issue_rate): Ditto.
3847         (rs6000_adjust_cost): Fix cycle counts for compares.
3848         (debug_stack_info):  Fix an obvious typo.
3849         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
3850         * doc/invoke.texi: Document.
3851         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
3852         for Darwin.
3853         (PROCESSOR_DEFAULT): Ditto.
3854
3855 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
3856
3857         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
3858         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
3859         later recursive make invocation.
3860
3861 2001-10-01  Hans Boehm  <boehm@acm.org>
3862
3863         * optabs.c (emit_libcall_block): When using non-call exceptions,
3864         don't add REG_LIBCALL reg notes to trapping calls.
3865
3866 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3867
3868         * flow.c (propagate_block_delete_libcall): Remove unused first arg
3869         (propagate_one_insn):  Update for above change
3870
3871 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
3872
3873         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
3874         _Unwind_GetTextRelBase): Argument is unused.
3875
3876 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3877
3878         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
3879         Loop through NOPs, placeholders, and components.
3880         Don't go through NOPs if change mode.
3881         (record_alias_subset): Do nothing if SUBSET and SET are the same.
3882         * emit-rtl.c (set_mem_alias_set): Enable check.
3883         * expr.c (find_placeholder): New function.
3884         (expand_expr, case PLACEHOLDER_EXPR): Use it.
3885         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
3886         to modify it and avoid unneeded copies.
3887         * expr.h (expand_expr): Always define.
3888         (find_placeholder): New declaration.
3889
3890 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3891
3892         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
3893         operand 2 is the stack pointer.
3894         ("addr-peephole"): Fix address computation peephole when operand 2
3895         is the stack pointer.
3896
3897 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3898
3899         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
3900         (ix86_setup_incoming_varargs): Likewise.
3901
3902 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
3903
3904         * stor-layout.c (layout_type): Don't complain about too-large
3905         array here.
3906
3907 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3908
3909         * function.c (keep_stack_depressed): Don't use delete_insn.
3910
3911         * expr.h (set_mem_alias_set): Move decl to here.
3912         * rtl.h (mem_attrs): New typedef and struct.
3913         (union rtunion_def): Add field for mem_attrs.
3914         (X0MEMATTR, MEM_ATTRS): New macros.
3915         (MEM_ALIAS_SET): Use MEM_ATTRS.
3916         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
3917         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
3918         (set_mem_alias_set): Delete decl from here.
3919
3920         * alias.c (set_mem_alias_set): Delete from here.
3921         * emit-rtl.c (mem_attrs_htab): New variable.
3922         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
3923         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
3924         (mem_attrs_mark, get_mem_attrs): Likewise.
3925         (gen_rtx_MEM): Clear MEM_ATTRS.
3926         (set_mem_attributes): Move to here.
3927         (set_mem_alias_set): Likewise, and call get_mem_attrs.
3928         (init_emit_once): const_int_htab now deletable htab.
3929         Initialize mem_attrs_htab.
3930         * explow.c (set_mem_attributes): Delete from here.
3931         * function.c (put_var_into_stack): Clear MEM_ATTRS.
3932         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
3933         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
3934         * reload1.c (reload): Rework changing REG to MEM.
3935
3936 2001-09-30  H.J. Lu <hjl@gnu.org>
3937
3938         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
3939         * config.in: Rebuild.
3940
3941 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3942
3943         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
3944         ("tsthi_1"): Avoid allocation in register y.
3945         ("*movqi_68hc12"): Reorganize and fix constraints.
3946         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
3947         ("addqi3"): Likewise.
3948         ("addhi3"): Fix constraints.
3949         ("*logicalhi3_zexthi"): Disparage soft registers.
3950
3951 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3952
3953         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
3954         to tmp reg.
3955
3956 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3957
3958         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
3959         that we use setjmp/longjmp exceptions.
3960
3961 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
3962
3963         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
3964         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
3965         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3966         _cpp_pool_alloc, _cpp_next_chunk): Remove.
3967         (_cpp_extend_buff, BUFF_ROOM): Update.
3968         (_cpp_append_extend_buff): New.
3969         (struct cpp_reader): Remove macro_pool, add a_buff.
3970         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
3971         macro_pool.
3972         (cpp_destroy): Free a_buff instead of macro_pool.
3973         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
3974         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3975         _cpp_pool_alloc, ): Remove.
3976         (parse_number, parse_string): Update use of _cpp_extend_buff.
3977         (_cpp_extend_buff): Update.
3978         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
3979         * cpplib.c (glue_header_name, parse_answer):
3980         Update use of _cpp_extend_buff.
3981         (cpp_register_pragma, cpp_register_pragma_space): Use
3982         _cpp_aligned_alloc.
3983         (do_assert, do_unassert): Check for EOL, update.
3984         * cppmacro.c (stringify_arg, collect_args): Update to use
3985         _cpp_extend_buff and _cpp_append_extend_buff.
3986         (save_parameter, parse_params, alloc_expansion_token,
3987         _cpp_create_definition): Rework memory management.
3988
3989 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
3990
3991         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
3992         update md_exec_prefix.
3993         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
3994         to string constant.
3995
3996 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3997
3998         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
3999         (SELECT_CC_MODE): Use s390_select_ccmode.
4000         * config/s390/s390-protos.h (s390_select_ccmode): Add.
4001         * config/s390/s390.c (s390_select_ccmode): New.
4002         (s390_match_ccmode): Add CCLmode.
4003         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
4004         (output_branch_condition, output_inverse_branch_condition): Removed.
4005         (print_operand): Use s390_branch_condition_mnemonic.
4006         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
4007         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
4008         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
4009
4010         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
4011         when converting conditional branches to far branches.
4012         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
4013         cmpint_di): Use CCSmode instead of CCUmode.
4014
4015         * config/s390/s390.c (legitimate_la_operand_p): New.
4016         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
4017         * config/s390/s390.md (movsi): Convert load address patterns to
4018         arithmetic operations when necessary.
4019         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
4020         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
4021         (*do_la_reg_0): Don't use before reload.
4022
4023         * config/s390/s390.c (legitimize_address): Make more efficient
4024         use of two-register addressing mode.
4025
4026         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
4027         with -mno-backchain in some corner cases.
4028
4029         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
4030
4031 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
4032
4033         * reload.c (find_reloads): Mark new USE insns with QImode.
4034         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
4035         find_reloads_subreg_address): Likewise.
4036         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
4037         encountered.
4038         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
4039         CLOBBERs.
4040         (reload): Make sure there are no USEs with mode other than
4041         VOIDmode.  At the end, remove those marked with QImode.
4042
4043 2001-09-29  Per Bothner  <per@bothner.com>
4044
4045         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
4046         * Makefile.in (includedir):  Rename to local_includedir.
4047         (includedir):  Define as $(prefix)/include.
4048         * config.in (PREFIX_INCLUDE_DIR):  New variable.
4049         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
4050
4051 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
4052
4053         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
4054         storehps builtins.
4055         * doc/extend.texi (Vector Extensions): New node.
4056         * doc/invoke.texi (Machine Dependent Options): Add documentation for
4057         i386 -mmmx, -msse, -m3dnow.
4058
4059 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
4060
4061         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
4062
4063 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
4064
4065         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
4066
4067         * doc/invoke.texi (Optimize Options): Delete spurious @table.
4068
4069 2001-09-28  Richard Henderson  <rth@redhat.com>
4070
4071         * varasm.c (assemble_integer): Bound alignment check by
4072         BIGGEST_ALIGNMENT.
4073
4074         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
4075
4076 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4077
4078         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
4079
4080 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
4081
4082         Mostly from Graham Stott  <grahams@redhat.com>
4083         * c-common.c (type_for_mode): Add support for V2SFmode.
4084         * tree.c (build_common_tree_nodes_2): Likewise.
4085         * tree.h (enum tree_index, global_trees): Likewise.
4086         * config/i386/i386.c (x86_3dnow_a): New variable.
4087         (override_options): Support 3Dnow extensions.
4088         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
4089         Athlon's version of 3Dnow.
4090         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
4091         (ix86_expand_builtin): Handle them.
4092         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
4093         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
4094         TARGET_3DNOW_A): New macros.
4095         (TARGET_SWITCHES): Add 3Dnow switches.
4096         (VALID_MMX_REG_MODE_3DNOW): New macro.
4097         (VECTOR_MODE_SUPPORTED_P): Use it.
4098         (enum ix86_builtins): Add entries for 3Dnow builtins.
4099         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
4100         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
4101         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
4102         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
4103         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
4104         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
4105         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
4106         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
4107         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
4108         sfence_insn, prefetch): Make these available if TARGET_SSE or
4109         TARGET_3DNOW_A.
4110
4111 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
4112
4113         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
4114         ix86_va_start, ix86_build_va_list): Declare.
4115         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
4116         ix86_va_start, ix86_build_va_list): New global functions.
4117         * i386.md (sse_prologue_save_insn): New insn.
4118         (sse_prologue_save): New expander.
4119         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
4120         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
4121
4122 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
4123
4124         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
4125         Use size_t everywhere, make definitions consistent with
4126         prototypes.
4127
4128 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
4129
4130         * gcse.c (replace_store_insn): Use delete_insn.
4131         * loop.c (move_movables): Likewise; avoid delete_insn
4132         from clobbering notes moved elsewhere.
4133         (check_dbra_loop): Use delete_insn.
4134         * ssa.c (convert_from_ssa): Likewise.
4135         * cse.c (cse_insn): Use delete_insn.
4136
4137 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
4138
4139         * cpphash.h (struct cpp_buff): Make unsigned.
4140         (_cpp_get_buff): Take length of size_t.
4141         (_cpp_unaligned_alloc): New.
4142         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
4143         (struct cpp_reader): Remove ident_pool.  Add u_buff.
4144         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
4145         (cpp_destroy): Destroy u_buff, not ident_pool.
4146         * cpplex.c (parse_number, parse_string, save_comment,
4147         cpp_token_as_text): Update to use the unaligned buffer.
4148         (new_buff): Make unsigned.
4149         (_cpp_unaligned_alloc): New.
4150         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
4151         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
4152         Similarly.
4153         (collect_args): Make unsigned.
4154
4155 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
4156
4157         * cpplex.c (cpp_output_token): Use a putc loop for
4158         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
4159
4160         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
4161         * configure, config.in: Regenerate.
4162         * system.h: Replace fwrite and fprintf with their unlocked
4163         variants if available.
4164
4165 2001-09-27  Richard Henderson  <rth@redhat.com>
4166
4167         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
4168         in favour of .eh_frame.
4169
4170 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
4171
4172         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
4173         to macros.
4174         (LIBCALL_VALUE): Likewise.
4175
4176 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4177
4178         * cpphash.h: Update comment.
4179         * cpplex.c: Update comments.
4180         (_cpp_can_paste): Remove.
4181         * cpplib.h (_cpp_can_paste): Remove.
4182         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
4183         lexer rather than _cpp_can_paste.
4184
4185 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
4186
4187         * doc/cppinternals.texi: Update.
4188
4189 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4190
4191         * cpphash.h (struct cpp_pool): Remove locks and locked.
4192         (struct cpp_context): Add member buff.
4193         (struct cpp_reader): Remove member argument_pool.
4194         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
4195         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
4196         * cpplex.c (chunk_suitable): Remove pool argument.
4197         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
4198         (new_buff, _cpp_extend_buff): Update.
4199         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
4200         which buffer is returned.
4201         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
4202         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
4203         * cppmacro.c (lock_pools, unlock_pools): Remove.
4204         (push_ptoken_context): Take a _cpp_buff.
4205         (enter_macro_context): Pool locking removed.
4206         (replace_args): Use a _cpp_buff for the replacement list with
4207         arguments replaced.
4208         (push_token_context): Clear buff.
4209         (expand_arg): Use _cpp_pop_context.
4210         (_cpp_pop_context): Free a context's buffer, if any.
4211
4212 2001-09-26  DJ Delorie  <dj@redhat.com>
4213
4214         * c-typeck.c (digest_init): Check for sizeless arrays.
4215
4216 2001-09-26  Richard Henderson  <rth@redhat.com>
4217
4218         * optabs.c (init_one_libfunc): Create a dummy function type
4219         instead of using error_mark_node.
4220
4221 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
4222
4223         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
4224         _cpp_extend_buff, _cpp_free_buff): New.
4225         (struct cpp_reader): New member free_buffs.
4226         * cppinit.c (cpp_destroy): Free buffers.
4227         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
4228         _cpp_extend_buff, _cpp_free_buff): New.
4229         * cpplib.h (struct cpp_options): Remove unused member.
4230         * cppmacro.c (collect_args): New.  Combines the old parse_arg
4231         and parse_args.  Use _cpp_buff for memory allocation.
4232         (funlike_invocation_p, replace_args): Update.
4233
4234 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
4235
4236         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
4237
4238 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
4239
4240         * except.c (sjlj_mark_call_sites): Change address inside sequence.
4241
4242 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
4243
4244         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
4245         glibc.
4246
4247 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
4248             Jim Wilson  <wilson@redhat.com>
4249
4250         * doc/install.texi (Specific, ia64-*-linux): Document.
4251
4252 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4253
4254         * Makefile.in (cfgrtl.o): Add.
4255         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
4256         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
4257         free_aux_for_edge): Declare.
4258         * cfg.c
4259         (HAVE_return): Undefine.
4260         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
4261         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
4262         free_aux_for_edge): New global functions.
4263         (first_delete_block): New static variable.
4264         (init_flow): Clear first_delete_block.
4265         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
4266          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
4267          try_redirect_by_replacing_jump, last_loop_beg_note,
4268          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
4269          delete_insn, delete_insn_chain, create_basic_block_structure,
4270          create_basic_block, flow_delete_block, compute_bb_for_insn,
4271          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
4272          set_block_for_new_insns, split_block, merge_blocks_nomove,
4273          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
4274          redirect_edge_and_branch, force_nonfallthru_and_redirect,
4275          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
4276          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
4277          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
4278          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
4279          purge_all_dead_edges): Move to ....
4280         * cfgrtl.c: New file; .... Here.
4281
4282         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
4283         (reroder_basic_block): Use alloc_aux_for_blocks.
4284         * predict.c (estimate_bb_frequencies): Likewise; use
4285         alloc_aux_for_edges.
4286         * profile.c (compute_branch_probabilities): Likewise.
4287         (branch_prob): Likewise.
4288         * reg-stack.c (reg_to_stack): Likewise.
4289
4290         * emit-rtl.c (emit_insns_after): Never return NULL.
4291
4292         * basic-block.h (set_block_for_new_insns): Delete.
4293         * cfgrtl.c (set_block_for_new_insns): Delete.
4294
4295         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
4296         calls when crossjumping.
4297
4298         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
4299         * unroll.c (copy_loop_body): Use delete_insn.
4300
4301         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
4302         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
4303         keep_stack_depressed): Likewise.
4304         * gcse.c (cprop_cc0_jump): Likewise.
4305         * local-alloc.c (update_equiv_regs): Likewise.
4306         * loop.c (scan_loop, loop_delete_insns): Likewise.
4307         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
4308         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
4309         delete_output_reload, delete_address_reloads_1,
4310         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
4311         Likewise.
4312         * sibcall.c (replace_call_placeholder): Likewise.
4313         * cse.c (cse_insn): Likewise.
4314
4315 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
4316
4317         From Graham Stott  <grahams@redhat.com>
4318         (def_builtin): Only define builtins appropriate for target_flags.  All
4319         callers changed.
4320         (builtin_decsription): Add new field mask which is used to determine
4321         when to define the builtin via the macro def_builtin.
4322
4323         (bdesc_comi): Initialise new mask fields.
4324         (bdesc_2srg): Likewise.
4325         (bdesc_1arg): Likewise.
4326
4327         * config/i386/i386.c (ix86_init_builtins): Correct return type
4328         building v4hi_ftype_v4hi_int_int tree node.
4329         (ix86_expand_sse_comi): Fix typo swapping operands.
4330         Don't swap comparision condition, it is already swapped.
4331         (ix86_expand_sse_compare): Before swapping operands
4332         move operand 1 into new rtx and not the target rtx.
4333         Don't swap comparison condition, it is already swapped.
4334         Always check whether we need to create a new TARGET.
4335
4336         * config/i386/i386.md: (sse_comi) Fix typos.
4337         (sse_ucomi): Likewise.
4338         (cvtss2si): Fix operand 0 contraint.
4339         (cvttss2si): Likewise.
4340         (sse_unpckhps): Fix mode for operand 2.
4341         (sse_unpcklps): Likewise.
4342
4343 2001-09-25  Graham Stott  <grahams@redhat.com>
4344
4345         * sibcall.c (skip_copy_to_return_value): Tighten return value
4346         copy check.
4347
4348 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
4349
4350         * rs6000.c (lwa_operand): Address must be word aligned.
4351
4352 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4353
4354         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
4355         number has been set.
4356         (type_hash_mark): Mark type itself.
4357
4358 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
4359
4360         * c-lex.c (cb_def_pragma): Update.
4361         (c_lex): Update, and skip padding.
4362         * cppexp.c (lex, parse_defined): Update, remove unused variable.
4363         * cpphash.h (struct toklist): Delete.
4364         (union utoken): New.
4365         (struct cpp_context): Update.
4366         (struct cpp_reader): New members eof, avoid_paste.
4367         (_cpp_temp_token): New.
4368         * cppinit.c (cpp_create_reader): Update.
4369         * cpplex.c (_cpp_temp_token): New.
4370         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
4371         (cpp_output_token): Don't print leading whitespace.
4372         (cpp_output_line): Update.
4373         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
4374         do_include_common, do_line, do_ident, do_pragma,
4375         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
4376         parse_assertion): Update.
4377         (get_token_no_padding): New.
4378         * cpplib.h (CPP_PADDING): New.
4379         (AVOID_LPASTE): Delete.
4380         (struct cpp_token): New union member source.
4381         (cpp_get_token): Update.
4382         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
4383         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
4384         replace_args, quote_string, stringify_arg, parse_arg, next_context,
4385         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
4386         _cpp_backup_tokens, _cpp_create_definition): Update.
4387         (push_arg_context): Delete.
4388         (padding_token, push_token_context, push_ptoken_context): New.
4389         (make_string_token, make_number_token): Update, rename.
4390         (cpp_get_token): Update to handle tokens as pointers to const,
4391         and insert padding appropriately.
4392         * cppmain.c (struct printer): New member prev.
4393         (check_multiline_token): Constify.
4394         (do_preprocessing, cb_line_change): Update.
4395         (scan_translation_unit): Update to handle spacing.
4396         * scan-decls.c (get_a_token): New.
4397         (skip_to_closing_brace, scan_decls): Update.
4398         * fix-header.c (read_scan_file): Update.
4399
4400         * doc/cpp.texi: Update.
4401
4402 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4403
4404         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
4405         leak by passing malloc'ed pointer to reconcat, not concat.
4406
4407 2001-09-24  DJ Delorie  <dj@redhat.com>
4408
4409         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
4410
4411 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
4412
4413         * flow.c (delete_dead_jumptables): Delete jumptable if the only
4414         reference is from the literal pool.
4415
4416 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
4417
4418         * doc/install.texi (Final install): Request additional information
4419         in mail about successful builds.
4420
4421 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4422
4423         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
4424         initial value of return pointer register instead of value in frame-20.
4425         Revise comments.
4426
4427 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4428
4429         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
4430         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
4431         the libcall if there isn't a referenced identifier for the symbol.
4432
4433 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4434
4435         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
4436         non 64-bit machines.  Use these as a plabel for the trampoline.
4437         (TRAMPOLINE_SIZE): Adjust size for new words.
4438         (INITIALIZE_TRAMPOLINE): Initialize new words.
4439         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
4440         pointer to the plabel in the trampoline.
4441
4442 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4443
4444         * pa.c (function_arg): Pass floating arguments in both general and
4445         floating registers in indirect (dynamic) calls when generating code
4446         for the 32 bit ABI and the HP assembler.
4447
4448 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4449
4450         * doc/install.texi: Markup fixes.
4451         Use Solaris 2, SunOS 4 as appropriate.
4452         (Specific, *-*-solaris2*): Explain this.
4453         Unconditionally warn against /usr/ucb tools.
4454         Remove Sun as warning, obsolete.
4455         Move X11 header bug workaround here, update patches.
4456         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
4457         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
4458
4459 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
4460
4461         * errors.h (warning, error, fatal, internal_error): Don't mark
4462         with ATTRIBUTE_PRINTF_n.
4463         * toplev.h (internal_error, fatal_io_error, warning, error,
4464         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
4465         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
4466         Likewise.
4467
4468 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4469
4470         * function.c (pop_function_context_from): var_refs_queue
4471         and temp slots now in GC memory.
4472         (mark_function_status, free_after_compilation): Likewise;
4473         also struct function now in GC memory.
4474         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
4475         (combine_temp_slots): Likewise.
4476         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
4477         (prepare_function_start): Use GC memory for struct function.
4478         (mark_temp_slot): Deleted.
4479         (gcc_mark_struct_function): struct function now in GC memory.
4480
4481         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
4482         code for division, not modulus.
4483
4484         * rtl.def (MEM): Remove obsolete part of comment.
4485
4486 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
4487
4488         * c-format.c (init_function_format_info): Check __builtin_printf
4489         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
4490         in gnu89 mode.
4491
4492 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4493
4494         * c-common.c (format_attribute_table): Remove decl.
4495         * tree.h (format_attribute_table, lang_attribute_table): New decls.
4496         (lang_attribute_common): Likewise.
4497
4498         * function.c (fix_lexical_address): Use set_mem_alias_set.
4499         (expand_function_start): Likewise.
4500         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
4501
4502         * varasm.c (output_constant): Fix unused variable warning.
4503
4504         * attribs.c: New file, from c-common.c.
4505         (attribute_tables): Now four elements.
4506         (format_attribute_table, lang_attribute_common): New variables.
4507         (init_attributes): Reflect above changes.
4508         (handle_mode_attribute): Delete check for wider than uintmax.
4509         * c-common.c: Delete parts moved to attribs.c.
4510         (enum attrs): Deleted; unused.
4511         (c_format_attribute_table): New variable.
4512         (c_common_lang_init): Initialize format_attribute_table with it.
4513         * c-common.h (decl_attributes): Remove decl.
4514         * tree.h (decl_attribute): Move it to here.
4515         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
4516         (attribs.o): New rule.
4517
4518 2001-09-22  Andreas Jaeger  <aj@suse.de>
4519
4520         * builtins.c (c_getstr): Remove unused variable.
4521
4522 2001-09-21  Richard Henderson  <rth@redhat.com>
4523
4524         * reload1.c (reload): Use delete_insn instead of splatting
4525         NOTE_INSN_DELETED.
4526
4527 2001-09-21  Richard Henderson  <rth@redhat.com>
4528
4529         * reload.c (push_secondary_reload): Don't check for "=" in output
4530         constraint after ""->ALL_REGS check.
4531
4532 2001-09-21  Richard Henderson  <rth@redhat.com>
4533
4534         * predict.c (expected_value_to_br_prob): Use pc_set.
4535
4536         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
4537         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
4538
4539 2001-09-21  Richard Henderson  <rth@redhat.com>
4540
4541         * rtl.h (LCT_RETURNS_TWICE): New.
4542         * calls.c (emit_call_1): Set current_function_calls_setjmp for
4543         ECF_RETURNS_TWICE.
4544         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
4545         to ECF_RETURNS_TWICE.
4546         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
4547         call to setjmp.
4548
4549         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
4550
4551         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
4552         (JMP_BUF_SIZE): New.
4553
4554 2001-09-21  Richard Henderson  <rth@redhat.com>
4555
4556         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
4557         to R8_REGS.
4558
4559 2001-09-21  Richard Henderson  <rth@redhat.com>
4560
4561         * tree.def (FDESC_EXPR): New.
4562         * expr.c (expand_expr): Handle it.
4563         * varasm.c (initializer_constant_valid_p): Likewise.
4564         (output_constant): Likewise.
4565         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
4566         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
4567         (ASM_OUTPUT_FDESC): New.
4568         * doc/tm.texi: Document the new macros.
4569
4570 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
4571
4572         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
4573         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
4574         once merging is complete.
4575
4576 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4577
4578         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
4579
4580 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
4581
4582         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
4583         that would be invalid after a merge.
4584
4585 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
4586
4587         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
4588         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
4589         remove some labels.
4590         (flow_delete_insn): This one.
4591         (delete_insn_chain): Rename from ...; do not care labels.
4592         (flow_delete_insn_chain): ... this one.
4593         (flow_delete_block): Remove the insns one BB has been expunged.
4594         (merge_blocks_nomove): Likewise.
4595         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
4596         updating BB boundaries.
4597         (tidy_fallthru_edge): Likewise.
4598         (commit_one_edge_insertion): Likewise.
4599         * cfgbuild.c (find_basic_block): Likewise.
4600         (find_basic_blocks_1): Likewise.
4601         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
4602         (try_crossjump_to_edge): Likewise.
4603         (try_optimize_cfg): Likewise.
4604         * cse.c (delete_trivially_dead_insns): Likewise.
4605         * df.c (df_insn_delete): Likewise.
4606         * doloop.c (doloop_modify): Use delete_related_insns.
4607         * emit-rtl.c (try_split): Likewise.
4608         (remove_insn): Update BB boundaries.
4609         * expect.c (connect_post_landing_pads): Use delete_related_insns.
4610         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
4611         updating BB boundaries.
4612         (propagate_block_delete_insn): Likewise.
4613         (propagate_block_delete_libcall): Likewise.
4614         * function.c (delete_handlers): Use delete_related_insns.
4615         (thread_prologue_and_epilogue_insns): Likewise.
4616         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
4617         * genpeep.c (gen_peephole): Use delete_related_insns.
4618         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
4619         BB boundaries.
4620         (find_cond_trap): Likewise.
4621         * integrate.c (save_for_inline): Use delete_related_insns.
4622         (copy_insn_list): Likewise.
4623         * jump.c (pruge_linie_number_notes): Likewise.
4624         (duplicate_loop_exit_test): Likewise.
4625         (delete_computation): Likewise.
4626         (delete_related_insn): Rename from ...; use delete_insn
4627         (delete_insn): ... this one.
4628         (redirect_jump): Use delete_related_insns.
4629         * loop.c (scan_loop): Likewise.
4630         (move_movables): Likewise.
4631         (find_and_verify_loops): Likewise.
4632         (check_dbra_loop): Likewise.
4633         * recog.c (peephole2_optimize): Likewise.
4634         * reg-stack.c (delete_insn_for_stacker): Remove.
4635         (move_for_stack_reg): Use delete_insn.
4636         * regmove.c (combine_stack_adjustments_for_block): Likewise.
4637         * reload1.c (delete_address_reloads): Use delete_related_insns.
4638         (fixup_abnormal_edges): Use delete_insn.
4639         * recog.c (emit_delay_sequence): Use delete_related_insns.
4640         (delete_from-delay_slot): Likewise.
4641         (delete_scheduled_jump): likewise.
4642         (optimize_skip): Likewise.
4643         (try_merge_delay_insns): Likewise.
4644         (full_simple_delay_slots): Likewise.
4645         (fill_slots_from_thread): Likewise.
4646         (relax_delay_slots): Likewise.
4647         (make_return_insns): Likewise.
4648         (dbr_schedule): Likewise.
4649         * rtl.h (delete_insn): Rename to delete_related_insns.
4650         (delete_insn, delete_insn_chain): New prototypes.
4651         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
4652         by df_insn_delete already.
4653         * ssa-dce.c (delete_insn_bb): Use delete_insn.
4654         * ssa.c (convert_from_ssa): Use delete_related_insns.
4655         * unroll.c (unroll_loop): Likewise.
4656         (calculate_giv_inc): Likewise.
4657         (copy_loop_body): Likewise.
4658
4659         * i386-protos.h (ix86_libcall_value, ix86_function_value,
4660         ix86_function_arg_regno_p, ix86_function_arg_boundary,
4661         ix86_return_in_memory, ix86_function_value): Declare.
4662         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
4663         new static valurables.
4664         (x86_64_reg_class): New enum
4665         (x86_64_reg_class_name): New array.
4666         (classify_argument, examine_argument, construct_container,
4667          merge_classes): New static functions.
4668         (optimization_options): Enable flag_omit_frame_pointer and disable
4669         flag_pcc_struct_return on 64bit.
4670         (ix86_libcall_value, ix86_function_value,
4671         ix86_function_arg_regno_p, ix86_function_arg_boundary,
4672         ix86_return_in_memory, ix86_function_value): New global functions.
4673         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
4674         (function_arg_advance): Handle x86_64 passing conventions.
4675         (function_arg): Likewise.
4676         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
4677         (RETURN_IN_MEMORY): Move offline.
4678         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
4679         (FUNCTION_VALUE_REGNO_P): New macro.
4680         (FUNCTION_ARG_REGNO_P): Move offline.
4681         (struct ix86_args): Add maybe_vaarg.
4682         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
4683         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
4684
4685 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
4686
4687         * s390.md: Changed attributes for scheduling.
4688         * s390.c: (s390_adjust_cost, s390_adjust_priority)
4689         Changed scheduling
4690
4691 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
4692
4693         Table-driven attributes.
4694         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
4695         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
4696         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
4697         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
4698         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
4699         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
4700         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
4701         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
4702         * tree.h (struct tree_decl): Change machine_attributes to
4703         attributes.
4704         * doc/c-tree.texi: Document that all attributes are now attached
4705         to decls and types.
4706         * c-common.c (add_attribute, attrtab, attrtab_idx,
4707         default_valid_lang_attribute, valid_lang_attribute): Remove.
4708         (attribute_tables, attributes_initialized,
4709         c_common_attribute_table, default_lang_attribute_table): New
4710         variables.
4711         (handle_packed_attribute, handle_nocommon_attribute,
4712         handle_common_attribute, handle_noreturn_attribute,
4713         handle_unused_attribute, handle_const_attribute,
4714         handle_transparent_union_attribute, handle_constructor_attribute,
4715         handle_destructor_attribute, handle_mode_attribute,
4716         handle_section_attribute, handle_aligned_attribute,
4717         handle_weak_attribute, handle_alias_attribute,
4718         handle_no_instrument_function_attribute,
4719         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
4720         handle_no_limit_stack_attribute, handle_pure_attribute): New
4721         functions.
4722         (init_attributes, decl_attributes): Rewrite to implement
4723         table-driven attributes.
4724         * c-common.h (enum attribute_flags): Move to tree.h.
4725         * c-format.c (decl_handle_format_attribute,
4726         decl_handle_format_arg_attribute): Rename to
4727         handle_format_attribute and handle_format_arg_attribute.  Update
4728         for table-driven attributes.
4729         * c-common.h (decl_handle_format_attribute,
4730         decl_handle_format_arg_attribute): Remove prototypes.
4731         (handle_format_attribute, handle_format_arg_attribute): Add
4732         prototypes.
4733         * c-decl.c (grokdeclarator): Handle attributes nested inside
4734         declarators.
4735         * c-parse.in (setattrs, maybe_setattrs): Remove.
4736         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
4737         Update to handle nested attributes properly.
4738         (maybe_resetattrs, after_type_declarator,
4739         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
4740         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
4741         properly.
4742         (make_pointer_declarator): Update to handle nested attributes
4743         properly.
4744         * doc/extend.texi: Update documentation of limits of attributes
4745         syntax.  Warn about problems with attribute semantics in C++.
4746         * target.h (struct target): Remove valid_decl_attribute and
4747         valid_type_attribute.  Add attribute_table and
4748         function_attribute_inlinable_p.
4749         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
4750         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
4751         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
4752         Add.
4753         (TARGET_INITIALIZER): Update.
4754         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
4755         definition.
4756         (function_attribute_inlinable_p): New function.  Check for the
4757         presence of any machine attributes before using
4758         targetm.function_attribute_inlinable_p.
4759         (function_cannot_inline_p): Update.
4760         * Makefile.in (integrate.o): Update dependencies.
4761         * doc/tm.texi: Update documentation of target attributes and
4762         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
4763         * tree.c (default_valid_attribute_p, valid_machine_attribute):
4764         Remove.
4765         (default_target_attribute_table,
4766         default_function_attribute_inlinable_p): New.
4767         (lookup_attribute): Update comment to clarify handling of multiple
4768         attributes with the same name.
4769         (merge_attributes, attribute_list_contained): Allow multiple
4770         attributes with the same name but different arguments to appear in
4771         the same attribute list.
4772         * tree.h (default_valid_attribute_p): Remove prototype.
4773         (struct attribute_spec): New.
4774         (default_target_attribute_table): Declare.
4775         (enum attribute_flags): Move from c-common.h.  Add
4776         ATTR_FLAG_TYPE_IN_PLACE.
4777         (default_function_attribute_inlinable_p): Declare.
4778         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
4779         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4780         (TARGET_ATTRIBUTE_TABLE): Define.
4781         (vms_attribute_table): New.
4782         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
4783         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4784         (TARGET_ATTRIBUTE_TABLE): Define.
4785         (arc_attribute_table, arc_handle_interrupt_attribute): New.
4786         * config/arm/arm.c (arm_valid_type_attribute_p,
4787         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
4788         Remove.
4789         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
4790         define.
4791         (TARGET_ATTRIBUTE_TABLE): Define.
4792         (arm_attribute_table, arm_handle_fndecl_attribute,
4793         arm_handle_isr_attribute): New.
4794         * config/avr/avr.c (avr_valid_type_attribute,
4795         avr_valid_decl_attribute): Remove.
4796         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
4797         define.
4798         (TARGET_ATTRIBUTE_TABLE): Define.
4799         (avr_attribute_table, avr_handle_progmem_attribute,
4800         avr_handle_fndecl_attribute): New.
4801         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
4802         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4803         (TARGET_ATTRIBUTE_TABLE): Define.
4804         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
4805         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
4806         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4807         (TARGET_ATTRIBUTE_TABLE): Define.
4808         (h8300_attribute_table, h8300_handle_fndecl_attribute,
4809         h8300_handle_eightbit_data_attribute,
4810         h8300_handle_tiny_data_attribute): New.
4811         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
4812         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
4813         Remove prototypes.
4814         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
4815         declarations.
4816         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
4817         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
4818         define.
4819         (TARGET_ATTRIBUTE_TABLE): Define.
4820         (ix86_attribute_table, ix86_handle_cdecl_attribute,
4821         ix86_handle_regparm_attribute): New.
4822         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
4823         i386_pe_valid_type_attribute_p): Remove.
4824         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
4825         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
4826         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4827         (TARGET_ATTRIBUTE_TABLE): Define.
4828         (ia64_attribute_table): New.
4829         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
4830         interrupt_ident2, model_ident1, model_ident2): Remove.
4831         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4832         (TARGET_ATTRIBUTE_TABLE): Define.
4833         (init_idents): Update.
4834         (m32r_attribute_table, m32r_handle_model_attribute): New.
4835         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
4836         Remove.
4837         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4838         (TARGET_ATTRIBUTE_TABLE): Define.
4839         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
4840         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
4841         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4842         (TARGET_ATTRIBUTE_TABLE): Define.
4843         (mcore_attribute_table, mcore_handle_naked_attribute): New.
4844         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
4845         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4846         (TARGET_ATTRIBUTE_TABLE): Define.
4847         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
4848         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
4849         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
4850         (TARGET_ATTRIBUTE_TABLE): Define.
4851         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
4852         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
4853         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4854         (TARGET_ATTRIBUTE_TABLE): Define.
4855         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
4856         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
4857         New.
4858         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
4859         Remove.
4860         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
4861         (TARGET_ATTRIBUTE_TABLE): Define.
4862         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
4863         New.
4864         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
4865         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
4866         (TARGET_ATTRIBUTE_TABLE): Define.
4867         (v850_attribute_table, v850_handle_interrupt_attribute,
4868         v850_handle_data_area_attribute): New.
4869         * config/v850/v850-c.c (mark_current_function_as_interrupt):
4870         Return void.  Call decl_attributes instead of
4871         valid_machine_attribute.
4872
4873 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
4874
4875         * sh-protos.h (sh_pr_n_sets): Declare.
4876         * sh.c (calc_live_regs): If the initial value for PR has been copied,
4877         look at the copy to determine if PR needs to be saved.
4878         sh_pr_n_sets: New function.
4879         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
4880         (ALLOCATE_INITIAL_VALUE): Define.
4881
4882         * sh.c (initial_elimination_offset):
4883         Fix RETURN_ADDRESS_POINTER_REGNUM case.
4884
4885 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
4886
4887         * integrate.c (allocate_initial_values): New function.
4888         * integrate.h (allocate_initial_values): Declare.
4889         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
4890         here...
4891         * reload1.c (reload): And initialization of reg_equiv_memory_loc
4892         from here...
4893         * toplev.c (rest_of_compilation): To here.
4894         Call allocate_initial_values.
4895         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
4896
4897 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4898
4899         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
4900
4901 2001-09-20  DJ Delorie  <dj@redhat.com>
4902
4903         * c-typeck.c (really_start_incremental_init): Discriminate
4904         between zero-length arrays and flexible arrays.
4905         (push_init_level): Detect zero-length arrays and handle them
4906         like fixed-sized arrays.
4907         * expr.c (store_constructor): Handle zero-length arrays and
4908         flexible arrays correctly.
4909         * doc/extend.texi: Update zero-length array notes.
4910
4911 2001-09-20  Jim Wilson  <wilson@redhat.com>
4912
4913         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
4914         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
4915         for issue port conflicts.
4916         (cycle_end_fill_slots): TYPE_L instructions take two slots.
4917
4918 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
4919
4920         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
4921         on ia64.
4922
4923 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4924
4925         * fold-const.c (hashtab.h): Include.
4926         (int_const_binop): Remove FORSIZE arg and compute from type; all
4927         callers changed.
4928         Call size_int_type_wide for all single-word constants.
4929         (size_htab_hash, size_htab_eq): New functions.
4930         (size_int_type_wide): Rework to use hash table.
4931         * ggc-common.c (hashtab.h): Include.
4932         (struct d_htab_root): New struct.
4933         (d_htab_roots): New variable.
4934         (ggc_add_deletable_htab, ggc_htab_delete): New functions
4935         (ggc_mark_roots): Handle deletable htabs.
4936         * ggc-page.c (ggc_marked_p): New function.
4937         * ggc-simple.c (ggc_marked_p): Likewise.
4938         * ggc.h: Reformatting throughout.
4939         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
4940         * tree.c (init_obstacks): Make type_hash_table a deletable root.
4941         (type_hash_add): Allocate struct type_hash from GC memory.
4942         (mark_hash_entry, mark_type_hash): Deleted.
4943         (type_hash_marked_p, type_hash_mark): New functions.
4944         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
4945
4946 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
4947
4948         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
4949         than SImode.
4950
4951 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4952
4953         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
4954         array-too-large test for signed sizetype.
4955
4956 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
4957
4958         * i386.md (indirect_jump): Allow Pmode operand.
4959         (tablejump): LIkewise; perform expansion to 64bit mode.
4960         * i386.c (symbolic_operand): Allow 64bit PIC references.
4961         (pic_symbolic_operand): Likewise.
4962         (ix86_find_base_term): Strip the 64bit PIC references.
4963         (legitimate_pic_address_disp_p): Handle 64bit PIC.
4964         (legitimize_pic_address): Likewise.
4965         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
4966         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
4967
4968 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
4969
4970         * stringpool.c (get_identifier_with_length): New function.
4971         * tree.h (get_identifier_with_length): New prototype.
4972
4973 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
4974             David Edelsohn  <edelsohn@gnu.org>
4975
4976         Revert:
4977         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4978         already sign-extended.
4979
4980         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
4981         * config/rs6000/rs6000.c (logical_operand): Always compare op as
4982         HOST_WIDE_INT.
4983         (rs6000_emit_set_long_const): Avoid unnecessary shift.
4984         (output_profile_hook): Declare label_name const.
4985         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
4986         to match constraints.
4987
4988 2001-09-19  Stan Shebs  <shebs@apple.com>
4989
4990         * alias.c: Fix typos in comments.
4991         * sched-rgn.c (init_ready_list): Ditto.
4992         * unwind-dw2.c (uw_frame_state_for): Ditto.
4993         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
4994         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
4995         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
4996
4997 2001-09-19  Richard Henderson  <rth@redhat.com>
4998
4999         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
5000         to the exit block.
5001         * Makefile.in (cfg.o): Depend on TM_P_H.
5002
5003 2001-09-19  Richard Henderson  <rth@redhat.com>
5004
5005         * config/alpha/alpha.c (local_symbol_p): Split out from ...
5006         (local_symbolic_operand): ... here.
5007         (small_symbolic_operand): Check mode.
5008         (global_symbolic_operand): New.
5009         (input_operand): Reject symbolics if explicit relocs.
5010         (call_operand): Tidy.
5011         (alpha_legitimize_address): Use movdi_er_high_g.
5012         (alpha_expand_mov): Likewise.
5013         * config/alpha/alpha-protos.h: Update.
5014         * config/alpha/alpha.h (PREDICATE_CODES): Update.
5015         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
5016         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
5017         (UNSPECV_LDGP2): Remove.
5018         (all call patterns): Use 's' not 'i' for symbolic constraint.
5019         (call_osf call_value_osf): Use call_operand.
5020         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
5021         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
5022         (prologue_ldgp_1_er): Remove.
5023         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
5024         (builtin_setjmp_receiver_er patterns): Use them.
5025         (exception_receiver_er): Likewise.
5026
5027 2001-09-19  Richard Henderson  <rth@redhat.com>
5028
5029         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
5030
5031         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
5032         and NON_LOCAL_GOTO notes.
5033         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
5034         copy over CALL_INSN_FUNCTION_USAGE.
5035
5036 2001-09-18  Catherine Moore  <clm@redhat.com>
5037
5038         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
5039         Define as 0.
5040
5041 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
5042
5043         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
5044         new-style tm_file specification.  Specify correct tm_p_file,
5045         md_file, and out_file for s390x.
5046
5047         * config/s390/linux.h, linux64.h:  Don't include other target
5048         macro header files.  Now handled via tm_file.
5049
5050         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
5051         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
5052         are defined before use.
5053
5054 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
5055
5056         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
5057         code generation only for Gnu assembler.
5058
5059 2001-09-18  Catherine Moore  <clm@redhat.com>
5060
5061         * config/stormy16 (LIB_SPEC): Remove -lnosys.
5062
5063 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
5064
5065         * config/mips/mips.c (mips_frame_set): New.
5066         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
5067         a parallel frame-related expression with a set for each register.
5068
5069 2001-09-18  Philip Blundell  <philb@gnu.org>
5070
5071         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
5072         header files.
5073
5074 2001-09-17  Dale Johannesen  <dalej@apple.com>
5075
5076         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
5077         * config/rs6000/aix.h (FIXED_R2): Define.
5078         * config/rs6000/darwin.h (FIXED_R2): Define.
5079         * config/rs6000/sysv4.h (FIXED_R2): Define.
5080
5081 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
5082
5083         * except.c (dw2_build_landing_pads): New local
5084         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
5085         barrier after clobbers.  Fixes c++/4012.
5086
5087 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5088
5089         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
5090
5091 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
5092
5093         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
5094         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
5095
5096 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5097
5098         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
5099         alloca/strcpy.
5100
5101 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
5102
5103         * cpphash.h (_cpp_lex_direct): New.
5104         * cpplex.c (_cpp_lex_token): Update.
5105         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
5106         and increment that pointer.
5107         * cppmacro.c (alloc_expansion_token): New.
5108         (lex_expansion_token): Lex macro expansion directly into
5109         macro storage.
5110
5111 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
5112
5113         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
5114
5115 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
5116
5117         * basic-block.h (free_bb_for_insn): Declare.
5118         * bb-reorder.c (label_for_bb): Use block_label.
5119         (emit_jump_to_block_after): Remove.
5120         (insert_intra_1): Do not update block_for_insn.
5121         (insert_inter_bb_scope_notes): Likewise; update bb->end
5122         * cfg.c (free_bb_for_insn): New.
5123         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
5124         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
5125         (commit_one_edge_insertion): Likewise.
5126         (commit_one_edge_insertion): Do not update BB boundary.
5127         (commit_edge_insertions): Do not call compute_bb_for_insn.
5128         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
5129         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
5130         (merge_blocks_move_successor_nojumps): Likewise.
5131         (try_crossjump_to_edge): Do not update block_for_insn.
5132         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
5133         * df.c (df_pattern_emit_later): Do not update BB boundary.
5134         (df_jump_pattern_emit_after): Likewise.
5135         (df_insn_move_before): Use emit_insn_before.
5136         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
5137          properly.
5138         (add_insn_after, add_insn_before, emit_insns_after): Update BB
5139         boundaries and basic_block_for_insn.
5140         (reorder_insns_nobb): Rename from reorder_insns.
5141         (reorder_insns): New.
5142         (emit_block_insn_before, emit_block_insn_after): Kill.
5143         * flow.c (check_function_return_warnings): Do not call
5144         compute_bb_for_insn; Do not free basic_block_for_insn.
5145         (attempt_auto_inc): Do not update basic_block_for_insn.
5146         * function.c (emit_return_into_block): Likewise;
5147         do not update BB boundaries.
5148         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
5149         (insert_insn_end_bb): Use emit_insn_before; Likewise.
5150         (pre_insert_copy_insn): Likewise.
5151         (update_ld_motion_notes): Likewise.
5152         (insert_insn_start_bb): Likewise.
5153         (replace_store_insn): Likewise.
5154         * ifcvt.c (noce_process_if_block): Likewise.
5155         (if_convert): Do not call compute_bb_for_insn.
5156         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
5157         Use emit_insn_before and emit_insn_after.
5158         * recog.c (split_all_insns): Do not update BB boundaries;
5159         Do not call compute_bb_for_insn.
5160         (peephole2_optimize): Do not update BB boundaries.
5161         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
5162         emit_insn_before.
5163         (emit_swap_insn): Likewise.
5164         (convert_regs_1): Likewise.
5165         * reload1.c (reload): Call compute_bb_for_insn.
5166         * rtl.h (reorder_insns_nobb): Declare.
5167         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
5168         * toplev.c (rest_of_compilation): Call free_bb_for_insn
5169         at places CFG is invalidated; do not call compute_bb_for_insn.
5170
5171         * cfg.c (expunge_block): Invalidate BB structure.
5172
5173         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
5174         array.
5175
5176         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
5177
5178 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
5179
5180         * cpphash.h (_cpp_lex_token): Update prototype.
5181         * cpplex.c (_cpp_lex_token): New prototype.
5182         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
5183         lex_macro_node, read_flag, do_pragma_poison): Update.
5184         * cppmacro.c (cpp_get_token, parse_params,
5185         lex_expansion_token): Update.
5186
5187 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
5188
5189         * cppmain.c (scan_translation_unit): Don't worry about
5190         putting a space after hashes.
5191         * cpplib.c (directive_diagnostics): New.
5192         (_cpp_handle_directive): Update to use directive_diagnostics.
5193         (run_directive): Don't toggle prevent_expansion.
5194         (do_line): Backup in case of the line extension.
5195         * cpplib.h (cpp_lexer_pos): Remove.
5196         * cppmacro.c (_cpp_create_definition): Precede a leading #
5197         with whitespace.
5198
5199 2001-09-15  Richard Henderson  <rth@redhat.com>
5200
5201         * c-typeck.c (comptypes): Handle zero-length arrays properly.
5202
5203 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5204
5205         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
5206
5207 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5208
5209         PR preprocessor/3571
5210         * tradcpp.c (handle_directive): Skip non-vertical space.
5211
5212 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5213
5214         * cppmain.c (setup_callbacks): Set line callback only
5215         if outputting preprocessed source.
5216
5217 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5218
5219         * collect2.c (main): Const-ification.
5220         * gcc.c (translate_options, process_command): Use xstrdup in
5221         lieu of xmalloc/strcpy.
5222         (main): Use concat in lieu of xmalloc/strcpy/strcat.
5223
5224 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5225
5226         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
5227         example.
5228
5229 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5230
5231         * scan-decls.c (scan_decls): Fix typo.
5232
5233 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
5234
5235         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
5236         Split mlstring_pos into mls_line and mls_col.
5237         * cppinit.c (cpp_create_reader): Initialize line to 1.
5238         (cpp_destroy): Free tokenruns.
5239         (push_include): Don't update lexer_pos.
5240         * cpplex.c (unterminated, parse_string): Update.
5241         (lex_token): Don't update lexer_pos, update.
5242         * cpplib.c (if_stack): Save line instead of line + col.
5243         (start_directive, _cpp_do__Pragma, do_else, do_elif,
5244         push_conditional, _cpp_pop_buffer): Update.
5245         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
5246         (_cpp_create_definition): Update.
5247
5248 2001-09-15  Eric Christopher  <echristo@redhat.com>
5249
5250         * config/mips/abi64.h: Add support for MEABI.
5251
5252 2001-09-15  Eric Christopher  <echristo@redhat.com>
5253
5254         * config/mips/mips.md: Add unspec #2.
5255         (reload_indi): Use.
5256         (reload_outdi): Ditto.
5257         (reload_outsi): Ditto.
5258         (HILO_delay): New.
5259
5260 2001-09-15  Eric Christopher  <echristo@redhat.com>
5261             Jason Eckhardt  <jle@redhat.com>
5262
5263         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
5264         * config/mips/isa32-linux.h: New file.
5265         * config/mips/isa3264.h: Ditto.
5266         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
5267         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
5268         (output_block_mode): Support MEABI.
5269         (function_arg): Ditto. Fix floating point arg passing.
5270         (mips_va_start): Ditto.
5271         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
5272         processors.
5273         (mips_asm_file_start): Add new section to pass abi to gdb.
5274         (function_arg_pass_by_reference): Support MEABI.
5275         (mips_parse_cpu): Support mips32 and mips64 processors.
5276         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
5277         TARGET_MIPS5KC.  Support isa32 and isa64.
5278         (processor_type): Add r4kc, r5kc, r20kc.
5279         (GENERATE_MULT3_SI): New.
5280         (GENERATE_MULT3_DI): Ditto.
5281         (GENERATE_MULT3): Remove.
5282         (ISA_HAS_64BIT_REGS): Add isa == 64.
5283         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
5284         (ISA_HAS_MADD_MSUB): New.
5285         (ISA_HAS_CLZ_CLO): Ditto.
5286         (ISA_HAS_DCLZ_DCLO): Ditto.
5287         (ABI_GAS_ASM_SPEC): New.
5288         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
5289         (ASM_SPEC): Ditto.
5290         (LINK_SPEC): Ditto.
5291         (SUBTARGET_CC1_SPEC): Ditto.
5292         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
5293         (PAD_VARARGS_DOWN): Support MEABI.
5294         (HARD_REGNO_NREGS): Move to mips.c.
5295         (ASM_OUTPUT_IDENT): Add #undef.
5296         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
5297         (mulsi3): Use GENERATE_MULT3_SI.
5298         (mulsi3_mult3): Ditto.  Support mips32, mips64.
5299         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
5300         (mul_sub_si): New pattern.
5301         (unnamed splitters): New.
5302         (muldi3): Use GENERATE_MULT3_DI.
5303         (muldi3_internal2): Ditto.
5304         (movdicc): Support mips32.
5305         * config/mips/t-isa3264: New file.
5306
5307 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
5308
5309         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
5310         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
5311         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
5312
5313         * reorg.c (fill_slots_from_thread): After call to
5314         steal_delay_list_from_target, update own_thread as new_thread may
5315         have branched.
5316
5317 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5318
5319         * cpperror.c (print_location): Take line and column, for
5320         default positioning use the previously lexed token.
5321         (_cpp_begin_message): Take line and column.
5322         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
5323         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
5324         * cpphash.h (_cpp_begin_message): Update prototype.
5325         * cppinit.c (push_include): Don't set output line.
5326         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
5327         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
5328         (do_pragma): Kludge for front ends.  Don't expand macros at all.
5329         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
5330         (struct cpp_token): Remove output_line.
5331         (struct cpp_callbacks): New member line_change.
5332         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
5333         cpp_get_token): Preserve BOL flag.
5334         (cpp_get_line): Remove.
5335         (_cpp_backup_tokens): Remove useless abort().
5336         * cppmain.c (cb_line_change): New.
5337         (scan_translation_unit): Don't worry about starting new lines here.
5338         * scan-decls.c (scan_decls): Update.
5339         * c-lex.c (c_lex, init_c_lex): Update.
5340         (cb_line_change, src_lineno): New.
5341
5342 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
5343
5344         * tree.c (append_random_chars): Generate the random
5345         characters in a reproducable fashion.
5346
5347 2001-09-14  Richard Henderson  <rth@redhat.com>
5348
5349         * config/i386/i386.c (internal_label_prefix): New.
5350         (internal_label_prefix_len): New.
5351         (override_options): Set them.
5352         (local_symbolic_operand): New.
5353         (legitimate_pic_address_disp_p): Use it.
5354         (legitimize_pic_address): Likewise.
5355
5356 2001-09-14  Marc Espie <espie@openbsd.org>
5357
5358         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
5359         correctly.
5360
5361 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5362
5363         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
5364         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
5365
5366 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
5367
5368         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
5369         invocation of SUBREG_REGNO_OFFSET.
5370
5371         * haifa-sched.c: Fix typo in FSF copyright statement.
5372         * sched-deps.c: Fix typo in FSF copyright statement.
5373         * sched-ebb.c: Fix typo in FSF copyright statement.
5374         * sched-rgn.c: Fix typo in FSF copyright statement.
5375         * sched-vis.c: Fix typo in FSF copyright statement.
5376
5377         * config.gcc: Move inclusion of arm elf specific header files
5378         from the files themselves into the tm_file variable.  Make
5379         sure that elfos.h is included before target specific elf
5380         headers.
5381         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
5382         already defined.
5383         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
5384         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
5385         ASM_OUTPUT_CASE_LABEL): Protect definition.
5386         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
5387         not already defined.
5388         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
5389         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
5390         Remove duplicate definition.
5391         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
5392         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
5393         (RDATA_SECTION_FUNCTION): Remove redundant definition.
5394         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
5395         Remove inclusion of arm/elf.h.
5396         * config/arm/unknown-elf.h: as for conix-elf.h.
5397         (STARTFILE_SPEC): Include crti.o and crtn.o.
5398         * config/arm/linux-elf.h: as for conix-elf.h.
5399         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
5400         * config/arm/strongarm-elf.h: Remove inclusion of
5401         unknown-elf.h.
5402         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
5403         * config/arm/unknown-elf-oabi.h: Remove inclusion of
5404         unknown-elf.h and elf.h.
5405         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
5406         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
5407         ASM_WEAKEN_LABEL): Remove redundant definition.
5408         * config/arm/elf.h: Test for inclusion of elfos.h
5409         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
5410         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
5411         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
5412         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
5413         redundant definition.
5414         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
5415         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
5416         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
5417         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
5418         Add rules to build crti.o and crtn.o
5419         * crti.asm: New file.
5420         * crtn.asm: New file.
5421
5422 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5423
5424         * c-parse.in (_yylex): Use _cpp_backup_tokens.
5425         * cpphash.h (struct tokenrun): Add prev.
5426         (struct lexer_state): Remove bol.
5427         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
5428         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
5429         : Remove.
5430         * cppinit.c (cpp_create_reader): Don't set bol.
5431         (cpp_destroy): Don't free lookaheads.
5432         * cpplex.c (lex_directive): Remove.
5433         (next_tokenrun): Update.
5434         (_cpp_lex_token): Clean up logic.
5435         (lex_token): Update to return a pointer to lexed token, since it
5436         can move to the start of the buffer.  Simpify newline handling.
5437         * cpplib.c (SEEN_EOL): Update.
5438         (skip_rest_of_line): Remove lookahead stuff.
5439         (end_directive): Line numbers are already incremented.  Revert
5440         to start of lexed token buffer if we can.
5441         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
5442         parse_answer): Use _cpp_backup_tokens.
5443         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
5444         instead.  Don't check for EOL.
5445         (do_include_common, do_line, do_pragma_system_header): Use
5446         skip_rest_of_line.
5447         * cpplib.h (BOL, _cpp_backup_tokens): New.
5448         * cppmacro.c (save_lookahead_token, take_lookahead_token,
5449         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
5450         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
5451         (builtin_macro): Don't use cpp_get_line.
5452         (cpp_get_line): Short term kludge.
5453         (parse_arg): Handle directives in arguments here.  Back up when
5454         appropriate.  Store EOF at end of argument list.
5455         (funlike_invocation_p): Use _cpp_backup_tokens.
5456         (push_arg_context): Account for EOF at end of list.
5457         (cpp_get_token): Remove lookahead stuff.  Update.
5458
5459 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5460
5461         * c-parse.in (yyerror): Const-ification and/or static-ization.
5462         * c-typeck.c (push_member_name): Likewise.
5463         * collect2.c (main): Likewise.
5464         * dbxout.c (dbxout_parms): Likewise.
5465         * diagnostic.c (format_with_decl): Likewise.
5466         * dwarf2out.c (output_ranges): Likewise.
5467         * dwarfout.c (fundamental_type_code): Likewise.
5468         * except.c (dw2_output_call_site_table): Likewise.
5469         * gcc.c (do_spec_1): Likewise.
5470         * genopinit.c (optabs): Likewise.
5471         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
5472         gen_declaration_1, handle_impent): Likewise.
5473         * protoize.c (default_include, in_system_include_dir, abspath):
5474         Likewise.
5475         * sched-vis.c (visualize_stall_cycles): Likewise.
5476         * sdbout.c (plain_type_1, sdbout_end_function,
5477         sdbout_end_epilogue): Likewise.
5478         * varasm.c (decode_reg_name): Likewise.
5479
5480         * 1750a.c (mod_regno_adjust): Likewise.
5481         * alpha.c (alpha_write_one_linkage,
5482         unicosmk_output_default_externs): Likewise.
5483         * arm.c (arm_condition_codes): Likewise.
5484         * arm.h (arm_condition_codes): Likewise.
5485         * avr.c (output_movsisf, encode_section_info): Likewise.
5486         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
5487         Likewise.
5488         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
5489         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
5490         * m88k.c (output_function_profiler): Likewise.
5491         * mips.c (mips_output_conditional_branch): Likewise.
5492         * ns32k.c (ns32k_out_reg_names): Likewise.
5493         * ns32k.h (ns32k_out_reg_names): Likewise.
5494         * pj.c (pj_output_rval): Likewise.
5495         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
5496         * sparc.c (sparc_flat_function_prologue,
5497         sparc_flat_function_epilogue): Likewise.
5498
5499 2001-09-13  Markus Werle <numerical.simulation@web.de>
5500             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5501
5502         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
5503         Aachen University of Technology".
5504
5505 2001-09-13  Andreas Schwab  <schwab@suse.de>
5506
5507         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
5508         C99.
5509
5510 2001-09-13  Richard Henderson  <rth@redhat.com>
5511
5512         * config/alpha/alpha.c (small_symbolic_operand): New.
5513         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
5514         (some_operand, input_operand): Don't handle HIGH.
5515         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
5516         (alpha_expand_mov): Likewise.
5517         (print_operand) [H]: Just print HIGH symbol.
5518         (print_operand_address): Handle small data.
5519         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
5520         (TARGET_SWITCHES): Add -msmall-data/large-data.
5521         (PIC_OFFSET_TABLE_REGNUM): New.
5522         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
5523         (PREDICATE_COES): Update.
5524         * config/alpha/alpha.md (adddi_er_high): New.
5525         (adddi_er_low): Handle small data.
5526         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
5527         prefer .sdata to .rodata.
5528         (SELECT_RTX_SECTION): Likewise.
5529
5530 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
5531
5532         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
5533         defining __size_t and leaving size_t undefined.
5534
5535 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
5536
5537         * basic-block.h (expunge_block): Declare.
5538         * cfg.c (expunge_block): Remove static declaration.
5539
5540 2001-09-12  Richard Henderson  <rth@redhat.com>
5541
5542         * integrate.c (copy_insn_list): Copy label name from
5543         NOTE_INSN_DELETED_LABEL.
5544
5545 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5546
5547         * c-common.c (c_tree_code_name): Const-ification.
5548         * c-decl.c (c_decode_option): Likewise.
5549         * c-typeck.c (warn_for_assignment): Likewise.
5550         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
5551         Likewise.
5552         * cppinit.c (output_deps): Likewise.
5553         * dependence.c (dependence_string, direction_string): Likewise.
5554         * dwarf2out.c (output_ranges): Likewise.
5555         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
5556         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
5557         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
5558         standard_startfile_prefix, standard_startfile_prefix_1,
5559         standard_startfile_prefix_2, tooldir_base_prefix,
5560         standard_bindir_prefix, find_a_file): Likewise.
5561         * genattrtab.c (make_length_attrs): Likewise.
5562         * gencheck.c (tree_codes): Likewise.
5563         * genemit.c (gen_split): Likewise.
5564         * genrecog.c (special_mode_pred_table): Likewise.
5565         * graph.c (graph_ext): Likewise.
5566         * protoize (default_include): Likewise.
5567         * reload.c (reload_when_needed_name): Likewise.
5568         * sched-vis.c (visualize_stall_cycles): Likewise.
5569         * tlink.c (recompile_files): Likewise.
5570         * toplev.c (decode_g_option): Likewise.
5571         * tradcpp.c (output_deps): Likewise.
5572         * varasm.c (decode_reg_name): Likewise.
5573
5574         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
5575         Const-ification.
5576         * arm.md: Likewise.
5577         * avr.c (avr_regnames, encode_section_info): Likewise.
5578         * c4x.c (float_reg_names): Likewise.
5579         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
5580         * elfos.h (const_section): Likewise.
5581         * i386.c (ix86_comp_type_attributes): Likewise.
5582         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
5583         * ia64/aix.h (UNIQUE_SECTION): Likewise.
5584         * ia64.c (type_names): Likewise.
5585         * m68hc11.c (reg_class_names): Likewise.
5586         * m88k.c (m_options): Likewise.
5587         * mips.c (mips_output_conditional_branch, mips_unique_section):
5588         Likewise.
5589         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
5590         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
5591         ultra_code_names): Likewise.
5592         * sparc.h (OVERRIDE_OPTIONS): Likewise.
5593
5594 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
5595
5596         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
5597         Use --fatal-warnings option for gas.
5598         * configure: Rebuilt.
5599
5600 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5601
5602         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
5603
5604 2001-09-11  Jim Wilson  <wilson@redhat.com>
5605
5606         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
5607
5608 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
5609
5610         * builtins.c (c_strlen): Treat an offset too large for a
5611         HOST_WIDE_INT as out of range.
5612
5613 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
5614
5615         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
5616         (EDGE_CRITICAL_P): New predicate.
5617         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
5618         handling.
5619         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
5620         (dump_edge_info): Remove "crit".
5621         * cfganal.c (mark_critical_edges): Kill.
5622         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
5623         * cfgcleanup.c (cleanup_cfg): Likewise.
5624         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
5625         (find_spanning_tree): Likewise.
5626         * reg-stack.c (convert_regs_1): Likewise.
5627         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
5628
5629         * basic-block.h (create_basic_block_structure): New.
5630         (create_basic_block): Update prototype.
5631         (force_nonfallthru): New.
5632         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
5633         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
5634         handle updating of block_for_insn, creating of empty BBs and BBs at
5635         the end of INSN chain.
5636         (create_basic_block): New function.
5637         (split_block): Use create_basic_block.
5638         (force_nonfallthru_and_redirect): Break out from ...; cleanup
5639         (redirect_edge_and_branch_force): ... here.
5640         (force_nonfallthru): New.
5641         (split_edge): Rewrite to use force_nonfallthru and create_block.
5642         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
5643         (find_basic_blocks): Free basic_block_for_insn.
5644         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
5645
5646         * cfg.c: Fix formating.
5647         * cfgcleanup.c: Fix formating.
5648         (merge_blocks, tail_recursion_label_p): Return bool.
5649         (merge_blocks_move_predecessor_nojumps,
5650          merge_blocks_move_successor_nojumps): Return void.
5651
5652 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
5653
5654         * configure.in: Check whether assembler supports section merging.
5655         * config.in: Rebuilt.
5656         * configure: Rebuilt.
5657         * varasm.c (variable_section, output_constant_pool): Pass alignment
5658         to SELECT_SECTION and SELECT_RTX_SECTION.
5659         (mergeable_string_section): New.
5660         (mergeable_constant_section): New.
5661         (default_elf_asm_named_section): Output SECTION_MERGE and
5662         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
5663         * output.h (mergeable_string_section): New.
5664         (mergeable_constant_section): New.
5665         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
5666         * toplev.c (flag_merge_constants): New.
5667         (f_options): Add -fmerge-constants and -fmerge-all-constants
5668         options.
5669         (toplev_main): Default to -fno-merge-constants if not optimizing.
5670         * flags.h (flag_merge_constants): Add extern.
5671         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
5672         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
5673         argument.
5674         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
5675         Define if assembler has working .subsection -1 support.
5676         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
5677         Put constant into special SHF_MERGE sections if the linker should
5678         attempt to merge duplicates.
5679         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
5680         macro argument.
5681         Put constant into special SHF_MERGE sections if the linker should
5682         attempt to merge duplicates.
5683         * config/alpha/elf.h: Likewise.
5684         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
5685         has working .subsection -1 support.
5686         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
5687         SELECT_SECTION.
5688         * config/svr3.h: Likewise.
5689         * config/darwin.h: Likewise.
5690         * config/arm/aof.h: Likewise.
5691         * config/arm/linux-elf.h: Likewise.
5692         * config/avr/avr.h: Likewise.
5693         * config/c4x/c4x.h: Likewise.
5694         * config/d30v/d30v.h: Likewise.
5695         * config/i386/dgux.h: Likewise.
5696         * config/i386/osfrose.h: Likewise.
5697         * config/i386/sco5.h: Likewise.
5698         * config/i386/svr3gas.h: Likewise.
5699         * config/ia64/aix.h: Likewise.
5700         * config/m32r/m32r.h: Likewise.
5701         * config/m68k/m68k.h: Likewise.
5702         * config/m88k/dgux.h: Likewise.
5703         * config/m88k/m88k.h: Likewise.
5704         * config/mcore/mcore-pe.h: Likewise.
5705         * config/mips/mips.h: Likewise.
5706         * config/pa/pa.h: Likewise.
5707         * config/pa/pa-linux.h: Likewise.
5708         * config/romp/romp.h: Likewise.
5709         * config/rs6000/sysv4.h: Likewise.
5710         * config/rs6000/xcoff.h: Likewise.
5711         * config/s390/linux.h: Likewise.
5712         * config/sparc/sparc.h: Likewise.
5713         * config/sparc/sysv4.h: Likewise.
5714         * config/stormy16/stormy16.h: Likewise.
5715         * config/v850/v850.h: Likewise.
5716         * config/vax/vms.h: Likewise.
5717         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
5718         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
5719         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
5720         default_elf_asm_named_section for SHF_MERGE sections.
5721
5722 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
5723
5724         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
5725         is OK.
5726
5727 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5728
5729         * c-common.c (split_specs_attrs): Allow for empty attributes with
5730         empty TREE_PURPOSE.  Fixes PR c/4294.
5731
5732 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
5733
5734         * basic-block.h (cached_make_edge, make_single_succ): New.
5735         (make_edge): Remove first parameter.
5736         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
5737         * cfg.c (cached_make_edge): Rename from make_edge; return newly
5738         created edge; use obstack allocation.
5739         (make_edge, make_single_succ_edge): New.
5740         (first_removed_edge): New static variable.
5741         (init_flow): Initialize first_removed_edge and n_edges.
5742         (clear_edges): Use remove_edge.
5743         (flow_delete_block): Likewise.
5744         (remove_edge): Add removed edges to the removed edges list.
5745         (split_block, redirect_edge_and_branch_force, split_edge):
5746         Use make_edge.
5747         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
5748         (add_noreturn_fake_exit_edges): Likewise.
5749         (connect_infinite_loops_to_exit): Liekwise.
5750         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
5751         Use cached_make_edge.
5752         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
5753         * profile.c (branch_prob): Update make_edge call.
5754         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
5755
5756 2001-09-11  Richard Henderson  <rth@redhat.com>
5757
5758         * config/alpha/alpha.c: Tidy formatting.
5759         (local_symbolic_operand): Verify mode.
5760         (alpha_sa_mask): Ignore unicos for eh_return.
5761         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
5762         * config/alpha/alpha.md (umk divsi patterns): Remove.
5763         (extendsfdf2): Remove unicos check.
5764         (tablejump): Merge vms and unicos code; always use direct set
5765         plus label_ref use.
5766
5767 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
5768
5769         * config.gcc (alpha*-*-unicosmk*): New target.
5770
5771         * config/alpha/alpha-protos.h (symbolic_operand,
5772         unicosmk_add_call_info_word, unicosmk_add_extern,
5773         unicosmk_defer_case_vector, unicosmk_unique_section,
5774         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
5775         unicosmk_asm_file_start, unicosmk_asm_file_end,
5776         unicosmk_output_common): Declare.
5777
5778         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
5779         direct_return, function_arg, alpha_va_start, alpha_va_arg,
5780         alpha_does_function_need_gp, alpha_end_function): Support Cray
5781         Unicos/Mk.
5782         (alpha_init_machine_status, alpha_mark_machine_status,
5783         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
5784         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
5785         unicosmk_asm_named_section, unicosmk_insert_attributes,
5786         unicosmk_section_type_flags, symbolic_operand,
5787         unicosmk_output_module_name, unicosmk_output_default_externs,
5788         unicosmk_output_dex, unicosmk_output_externs,
5789         unicosmk_output_addr_vec, unicosmk_ssib_name,
5790         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
5791         unicosmk_asm_file_end, unicosmk_output_common,
5792         unicosmk_section_type_flags, unicosmk_unique_section,
5793         unicosmk_add_call_info_word, unicosmk_text_section,
5794         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
5795         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
5796         unicosmk_dex_count, unicosmk_special_name): New.
5797         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
5798         TARGET_ABI_UNICOSMK.
5799         (get_aligned_mem, alpha_expand_unaligned_load,
5800         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
5801         alpha_expand_unaligned_store_words): Support big-endian mode.
5802         (print_operand): Likewise. New format specifier 't'. Use
5803         TARGET_AS_SLASH_BEFORE_SUFFIX.
5804         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
5805         (alpha_pv_save_size): Update with above change.
5806         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
5807         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
5808         Unicos/Mk.
5809
5810         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
5811         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
5812         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
5813         (EXTRA_CONSTRAINT): New constraint 'U'.
5814         (PREDICATE_CODES): Add symbolic_operand.
5815
5816         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
5817         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
5818         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
5819         (integer division and modulus patterns): Split in default and
5820         Unicos/Mk versions.
5821         (*divmodsi_internal, *divmoddi_internal): Disable for
5822         TARGET_ABI_UNICOSMK.
5823         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
5824         little-endian and big-endian versions.
5825         (ext, ins, msk): Likewise.
5826         (extv, extzv, insv): Support big-endian mode.
5827         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
5828         (call_umk, call_value_umk, *call_umk, tablejump_umk,
5829         *tablejump_umk_internal, *call_value_umk): New.
5830         (*movdi_nofix): Add pattern for loading an address into a register on
5831         TARGET_ABI_UNICOSMK.
5832         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
5833         (umk_mismatch_args, arg_home_umk): New.
5834         (various insns): Don't use mov, fmov, nop, fnop and unop.
5835         (realign): Support TARGET_ABI_UNICOSMK.
5836
5837         * config/alpha/unicosmk.h: New file.
5838         * config/alpha/t-unicosmk: New file.
5839
5840         * fixinc/inclhack.def (unicosmk_restrict): New.
5841         * fixinc/fixincl.x: Regenerate.
5842
5843         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
5844         (wchar_t): Check for and define __WCHAR_T__.
5845
5846 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
5847
5848         * combine.c (simplify_shift_const): Treat shifts by the mode
5849         size as undefined.
5850
5851 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5852
5853         * cpphash.h (struct tokenrun): New.
5854         (struct cpp_context): New member bol.
5855         (struct cpp_reader): New members.
5856         (_cpp_init_tokenrun): New.
5857         * cppinit.c (cpp_create_reader): Set up the token runs.
5858         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
5859         (lex_token): New internalised version of _cpp_lex_token.  Don't
5860         handle directives or the multiple include opimisation here any
5861         more.  Simply lex a token.
5862         * cpplib.c (run_directive): Clear bol.
5863         (_cpp_pop_buffer): Set bol.
5864         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
5865         arguments.
5866
5867 2001-09-11  Michael Meissner  <meissner@redhat.com>
5868
5869         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
5870         give an error if the user uses -mfp32.
5871         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
5872         default options.
5873         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
5874         floating point register size.
5875         (EXTRA_SPECS): Add CPP_FPR_SPEC.
5876
5877         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
5878         HOST_WIDE_INT_PRINT_DEC to properly print the result of
5879         int_size_in_bytes.
5880         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
5881         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
5882
5883 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
5884
5885         * dbxout.c (dbxout_parms): Fix typo in comment.
5886         * unroll.c (loop_find_equiv_value): Ditto.
5887         * toplev.c (rest_of_compilation): Ditto.
5888         * loop.c (scan_loop): Ditto.
5889         * dwarf2out.c (struct dw_fde_struct): Ditto.
5890
5891 2001-09-10  Zack Weinberg  <zackw@panix.com>
5892
5893         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
5894         copying identifier when we're just going to throw it away.
5895         (parse_identifier_slow): New routine to handle abnormal cases.
5896         (_cpp_lex_token): Update call site.
5897
5898         * hashtable.c (ht_lookup): Don't assume that the string we've
5899         been given is NUL-terminated.
5900         * system.h: #define __builtin_expect(a, b) to (a) if not
5901         GCC >=3.0.
5902
5903 2001-09-10  Michael Meissner  <meissner@redhat.com>
5904
5905         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
5906         binutils, gdb.
5907
5908 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
5909
5910         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
5911
5912 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5913
5914         * builtins.c (c_getstr): Correct thinko in last change and further
5915         cleanup.
5916
5917 2001-09-10  Tim Freeman <tim@fungibole.com>
5918
5919         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
5920         into varray's and register them as roots with the garbage
5921         collector so they are not collected too soon.
5922
5923 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
5924
5925         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
5926         New.
5927         * basic-block.h (flow_obstack, label_value_list,
5928         tail_recursion_label_list): Declare
5929         (tidy_fallthru_edges): Declare.
5930         (expunge_block, last_loop_beg_note): Delete.
5931         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
5932         * cfg.c: New file
5933         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
5934         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
5935         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
5936         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
5937         expunge_block, flow_delete_block, compute_bb_for_insn,
5938         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
5939         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
5940         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
5941         try_redirect_by_replacing_jump, last_loop_beg_note,
5942         redirect_edge_and_branch, redirect_edge_and_branch_force,
5943         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
5944         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
5945         commit_edge_insertions, dump_flow_info, debug_flow_info,
5946         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
5947         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
5948         Move here from flow.c
5949         * cfganal.c: New file.
5950         (forwarder_block_p, can_fallthru, mark_critical_edges,
5951          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
5952          find_unreachable_blocks, create_edge_list, free_edge_list,
5953          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
5954          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
5955          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
5956          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
5957          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
5958          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
5959         Move here from flow.c
5960         * cfgbuild.c: New file
5961         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
5962          make_edges, find_basic_blocks_1, find_basic_blocks,
5963          find_sub_basic_blocks): Move here from flow.c
5964         * cfgcleanup.c: New file.
5965         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
5966          merge_blocks_move_predecessor_nojumps,
5967          merge_blocks_move_successor_nojumps, merge_blocks,
5968          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
5969          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
5970         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
5971         if succeeded.
5972         * cfgloop.c: New file
5973         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
5974          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
5975          flow_loop_exit_edges_find, flow_loop_nodes_find,
5976          flow_loop_pre_header_scan, flow_loop_pre_header_find,
5977          flow_loop_tree_node_add, flow_loops_tree_build,
5978          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
5979          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
5980         Move here from flow.c
5981         * flow.c: Remove everything moved elsewhere
5982         * output.h (cleanup_cfg): Return bool.
5983
5984         * bb-reorder.c (reorder_block_def): Remove 'index'.
5985         (insert_intra_1): Add argument BB, set block for new note.
5986         (make_reorder_chain): Do not depdent on BB indexes.
5987         (make_reorder_chain_1): Do not use BB indexes.
5988         (label_for_bb): Likewise; set BB for new insn.
5989         (emit_jump_to_block_after): Likewise.
5990         (fixup_reoder_chain): Sanity check that all basic blocks
5991         are chained; verify newly created insn chain; remove
5992         undocnitional jump simplifying; Do not use BB indexes;
5993         properly initialize count and frequency information;
5994         dump reordered sequence.
5995         (insert_intra_bb_scope_notes): update call of insert_intra_1.
5996         (insert_inter_bb_scope_notes): Set block for new insn.
5997         (reorder_basic_blocks): Dump flow info before reoredering.
5998
5999 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6000
6001         * alias.c (clear_reg_alias_info): Use K&R format definition.
6002         Avoid unsigned warning.
6003         * builtins.c: Use "unsigned int", not "unsigned".
6004         (target_char_cast): Use host_integerp and tree_low_cst.
6005         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
6006         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
6007         (c_getstr): Likewise.
6008         (std_expand_builtin_va_arg): Use int_size_in_bytes.
6009         (builtin_memcpy_read_str): Avoid unsigned warning.
6010         (expand_builtin_memcpy): Alignments are unsigned.
6011         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
6012         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
6013         * predict.c (expensive_function_p): LIMIT now unsigned.
6014         * resource.c (mark_target_live_regs): Make some vars unsigned.
6015         * sdbout.c: Use "unsigned int", not "unsigned".
6016         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
6017         (sdbout_source_line): Likewise.
6018         (sdbout_record_type_name): Remove "const" for NAME declaration.
6019         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
6020
6021 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
6022
6023         * calls.c (store_one_arg): Expand comment.
6024
6025 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6026
6027         * calls.c (store_one_arg): Make sure that the entire argument is
6028         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
6029
6030 2001-09-09  Richard Henderson  <rth@redhat.com>
6031
6032         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
6033
6034 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
6035
6036         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
6037
6038 2001-09-09  Richard Henderson  <rth@redhat.com>
6039
6040         * config/alpha/alpha.c (alpha_next_sequence_number): New.
6041         (alpha_this_literal_sequence_number): New.
6042         (alpha_this_gpdisp_sequence_number): New.
6043         (some_operand, input_operand): Add HIGH.
6044         (local_symbolic_operand): New.
6045         (alpha_encode_section_info): New.
6046         (alpha_legitimate_address_p): Allow LO_SUM.
6047         (alpha_legitimize_address): Generate HIGH+LO_SUM.
6048         (alpha_expand_mov): Likewise.
6049         (secondary_reload_class): Check memory_operand not general_operand
6050         for FP_REGS test.
6051         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
6052         (alpha_expand_unaligned_store): Likewise.
6053         (alpha_expand_unaligned_load_words): Likewise.
6054         (alpha_expand_unaligned_store_words): Likewise.
6055         (alpha_expand_block_clear): Likewise.
6056         (print_operand): Handle %#, %*, %H.
6057         (print_operand_address): Handle LO_SUM.
6058         (find_lo_sum): New.
6059         (alpha_does_function_need_gp): Use it.
6060         (alpha_expand_block_move): Fix signed compare warnings.
6061         (alpha_sa_mask, alpha_align_insns): Likewise.
6062         * config/alpha/alpha-protos.h: Update.
6063         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
6064         (MASK_EXPLICIT_RELOCS): New.
6065         (TARGET_SWITCHES): Add -mexplicit-relocs.
6066         (EXTRA_CONSTRAINT): Add 'T'.
6067         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
6068         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
6069         (ENCODE_SECTION_INFO): Out line.
6070         (REDO_SECTION_INFO_P): New.
6071         (STRIP_NAME_ENCODING): New.
6072         (ASM_OUTPUT_LABELREF): New.
6073         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
6074         (PREDICATE_CODES): Update.
6075         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
6076         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
6077         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
6078         builtin_setjmp_receiver_er, exception_receiver_1_er,
6079         call_value_osf_1_er): New patterns.
6080         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
6081         (movqi, movhi, movsi): Add explicit $31 base register to lda.
6082         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
6083         (FINAL_PRESCAN_INSN): New.
6084
6085 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
6086
6087         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
6088
6089 2001-09-08  Andreas Jaeger  <aj@suse.de>
6090
6091         * i386.h (TARGET_SWITCHES): Fix description.
6092
6093 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
6094
6095         * rs6000.c (num_insns_constant): Compute number of instructions
6096         more accurately.
6097
6098         * doc/install.texi: Explain AIX exception handling work-around.
6099         Update URL for AIX fixes.
6100
6101 2001-09-07  Jim Wilson  <wilson@redhat.com>
6102
6103         * alias.c (clear_reg_alias_info): New.
6104         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
6105         * rtl.h (clear_reg_alias_info): Declare.
6106
6107 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6108
6109         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
6110         available.
6111         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
6112         (m16m,edivm,emulm): Change declaration to match definition.
6113
6114 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
6115
6116         * reload.c (push_reload): Check for subreg_lowpart_p instead of
6117         SUBREG_BYTE being 0 when determining if the inner part of a subreg
6118         can be reloaded.
6119
6120 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6121
6122         * c-common.c (signed_or_unsigned_type): Handle machine mode types
6123         which have no corresponding C type.
6124         * fold_const.c (target_isinf,target_isnan,target_negative): Update
6125         the representation of 64-bit doubles to work with 64-bit ints.
6126
6127 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
6128
6129         * config/mips/mips.c (override_options): Do not override ISA when ABI
6130         specified if MIPS_CPU_STRING_DEFAULT was specified.
6131
6132 2001-09-07  Richard Henderson  <rth@redhat.com>
6133
6134         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
6135         (express_from_1): Wrap lines.
6136         * rtlanal.c (commutative_operand_precedence): Rename from
6137         operand_preference; export.
6138         * rtl.h: Declare it.
6139         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
6140         (simplify_binary_operation): Invoke simplify_plus_minus on
6141         (CONST (PLUS ...)) as well.
6142         (struct simplify_plus_minus_op_data): New.
6143         (simplify_plus_minus_op_data_cmp): New.
6144         (simplify_plus_minus): Use them.  Avoid infinite recursion with
6145         simplify_binary_operation wrt CONST.
6146
6147 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
6148
6149         * h8300-protos.h (general_operand_dst_push): Remove.
6150         * h8300.c (general_operand_dst_push): Likewise.
6151         * h8300.h (OK_FOR_T): Likewise.
6152         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
6153         * h8300.md (pushqi_h8300): New.
6154         (pushqi_h8300hs): Likewise.
6155         (pushqi): Likewise.
6156         (pushhi_h8300): Likewise.
6157         (pushhi_h8300hs): Likewise.
6158         (pushhi): Likewise.
6159
6160 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6161
6162         * genattrtab.c (attr_printf): First arg is unsigned.
6163         Clean up formatting of callers.
6164
6165 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
6166
6167         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
6168         registers.
6169
6170 2001-09-07  Andreas Jaeger  <aj@suse.de>
6171
6172         * i386.h (TARGET_SWITCHES): Fix descriptions.
6173
6174 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6175
6176         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
6177
6178 2001-09-06  Ira Ruben  <ira@apple.com>
6179
6180         Remove OP_IDENTIFIER.
6181         * tree.def (OP_IDENTIFIER): Remove.
6182         * tree.c (tree_node_kind enum): Remove op_id_kind.
6183         (tree_node_kind_names): Remove "op_identifiers".
6184         (make_node): Remove OP_IDENTIFIER test.
6185         (build_op_identifier): Removed because it isn't being used.
6186         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
6187         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
6188
6189 2001-09-06  Richard Henderson  <rth@redhat.com>
6190
6191         * simplify-rtx.c (simplify_binary_operation): Revert last change.
6192
6193 2001-09-06  Richard Henderson  <rth@redhat.com>
6194
6195         * simplify-rtx.c (simplify_binary_operation): Simplify contents
6196         of CONST.
6197
6198 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6199
6200         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
6201         number used for CR register.
6202
6203 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
6204                           Joern Rennecke (amylaar@cygnus.com)
6205
6206         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
6207         * h8300.c (initial_offset): Handle offset between RP and FP.
6208         (h8300_return_addr_rtx): New function.
6209         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
6210         return register.
6211         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
6212         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
6213         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
6214         (CAN_ELIMINATE, REGISTER_NAMES):
6215         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
6216
6217 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
6218
6219         Remove TYPE_NONCOPIED_PARTS.
6220         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
6221         (struct tree_type): Remove noncopied_parts.
6222         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
6223         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
6224         (fixed_type_p): Remove.
6225         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
6226         (expand_expr, MODIFY_EXPR): Likewise.
6227         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
6228         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
6229
6230 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
6231
6232         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
6233         compiler warnings.
6234         (mask64_operand): Likewise.
6235         (includes_rldic_lshift_p): Likewise.
6236         (includes_rldicr_lshift_p): Likewise.
6237
6238 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
6239
6240         * objc/objc-act.c (build_message_expr): If a class method cannot
6241         be found, do not issue a warning if a corresponding instance
6242         method exists in the root class.
6243
6244 2001-09-05  Richard Henderson  <rth@redhat.com>
6245
6246         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
6247
6248 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
6249
6250         * function.c (ggc_mark_struct_function): Mark f->outer.
6251         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
6252         * integrate.c (output_inline_function): ... not here.
6253
6254 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
6255
6256         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
6257
6258         * i386.c (size_cost): New static variable.
6259         (override_function): Use size_cost when -Os is specified.
6260
6261         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
6262         properly;  Use current_function_calls_eh_return.
6263         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
6264         use leave to avoid dependency chain.
6265
6266         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
6267         get BB loop_depth instead of computing it from LOOP notes.
6268
6269         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
6270
6271 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6272
6273         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6274         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
6275         UNALIGNED_DOUBLE_INT_ASM_OP): Define
6276
6277 2001-09-05  Jeffrey A Law  (law@cygnus.com)
6278             Jason Merrill (jason@redhat.com)
6279
6280         * stor-layout.c (layout_type): Complain if an array's size can
6281         not be represented in a size_t.
6282
6283         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
6284
6285 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
6286
6287         * gcc.c: (process_command) Add parentheses around assignment
6288         used as truth value.
6289
6290 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
6291
6292         * config/mips/mips.c (save_restore_insns): Don't mark any register
6293         save slots as unchanging if current_function_calls_eh_return.
6294
6295 2001-09-05  Richard Henderson  <rth@redhat.com>
6296
6297         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
6298         * config/alpha/alpha-protos.h: Declare it.
6299         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
6300         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
6301         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
6302         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
6303         (REG_OK_FOR_BASE_P): Select one of the above.
6304
6305 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
6306
6307         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
6308         (crti.o): Prefix name of object file with $(T).
6309         (crtn.o): Likewise.
6310
6311 2001-09-05  David S. Miller  <davem@redhat.com>
6312
6313         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
6314         * config/sparc/linux64.h: Likewise.
6315
6316 2001-09-05  Andreas Jaeger  <aj@suse.de>
6317
6318         * doc/invoke.texi (i386 Options): -mwide-multiply is not
6319         available anymore, remove the documentation.
6320         (i386 Options): Fix typo, cleanup index entries.
6321
6322         * prefix.c (concat): Remove, we can use the version from liberty.
6323
6324 2001-09-05  Richard Henderson  <rth@redhat.com>
6325
6326         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
6327         New functions split out of md file expanders.
6328         * config/alpha/alpha-protos.h: Declare them.
6329         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
6330
6331 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6332
6333         * cppmacro.c (funlike_invocation_p): No need to restore context.
6334
6335 2001-09-04  Richard Henderson  <rth@redhat.com>
6336
6337         * reload.c (push_reload): Export.
6338         * reload.h (push_reload): Declare it.
6339
6340         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
6341         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
6342         * config/alpha/alpha.c (alpha_legitimize_address): New.
6343         (alpha_legitimize_reload_address): Likewise.
6344         * config/alpha/alpha-protos.h: Declare them.
6345
6346 2001-09-04  Stan Shebs  <shebs@apple.com>
6347
6348         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
6349         * config/darwin.c (machopic_stub_name): Account for internally
6350         generated lib calls such as memcpy.
6351
6352 2001-09-04  Richard Henderson  <rth@redhat.com>
6353
6354         * unwind.h (_UA_END_OF_STACK): New flag.
6355         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
6356
6357 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
6358
6359         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
6360
6361 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
6362
6363         * config/mips/mips.c (save_restore_insns): Change base_offset to
6364         fp_offset in second call to mips_emit_frame_related_store.
6365
6366 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
6367
6368         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
6369         sometimes be represented as a NOTE of type
6370         NOTE_INSN_DELETED_LABEL.
6371         (Insns): Document NOTE_INSN_DELETED_LABEL.
6372
6373 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
6374
6375         * c-common.h (tree_dump_index): Add more comments.
6376         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
6377         (dump_option_value_info): New struct.
6378         (dump_options): New array.
6379         (dump_switch_p): Parse switch options symbolically.
6380         * doc/invoke.texi (-fdump-ast): Rename to ...
6381         (-fdump-tree): ... here. Document that options are symbolic, and
6382         not all are applicable.
6383
6384 2001-09-04  David S. Miller  <davem@redhat.com>
6385
6386         * config/sparc/sparc.md (define_splits): Kill constraints.
6387
6388         Cleanup redundant and unused insn attributes.
6389         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
6390         binary, and move.  Mark ialu as default.
6391         (commented out define_function_unit "alu"): Kill.
6392         (define_attr "use_clobbered"): Kill.
6393         (whole file): Kill address insn type references.  Replace
6394         all unary/binary/move references with ialu.
6395         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
6396         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
6397         TYPE_IALU.
6398
6399         Simplify length insn attribute and make more judicious use
6400         of insn attribute defaulting.
6401         * config/sparc/sparc.md (all insns with length > one): Mark as
6402         insn type multi if real instructions, else use default if
6403         it is a forced splitter.
6404         (all insns with length == one): Use default insn length.
6405         (all insns of type ialu): Use default insn type.
6406
6407         Fix erroneous insn attribute settings.
6408         (addx): Set insn type to misc.
6409         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
6410         const_umulsidi3_sp64): Set insn type to imul.
6411
6412         Track SFmode vs DFmode insns according to UltraSPARC
6413         scheduling rules.
6414         * config/sparc/sparc.md ("fptype"): New attribute, default
6415         to "single".
6416         (all DFmode single insns): Mark as fptype "double".
6417
6418 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
6419
6420         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
6421
6422 2001-09-03  Richard Henderson  <rth@redhat.com>
6423
6424         * function.h (struct function): Add arg_pointer_save_area_init.
6425         * function.c (expand_function_end): Init arg_pointer_save_area.
6426         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
6427         when called from a nested function.
6428
6429 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
6430
6431         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
6432         is enabled.
6433
6434 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
6435
6436         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
6437
6438 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
6439
6440         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
6441         (emit_push_insn): Use specified padding direction when
6442         STACK_PUSH_CODE is POST_INC.
6443
6444         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
6445
6446 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6447
6448         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
6449
6450 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6451
6452         * cppinit.c (cpp_start_read): Free the imacros list as we
6453         traverse it.  Don't free the chains before returning.
6454         (_cpp_push_next_buffer): Only try pushing buffers if we've
6455         completed -imacros handling.
6456
6457 2001-08-31  Eric Christopher  <echristo@redhat.com>
6458
6459         * gcc.c (handle_braces): Add explaination for abort.
6460
6461 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
6462
6463         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
6464         move adjustment of bitpos instead.
6465
6466 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
6467
6468         * function.c: Remove all_functions.  Make outer_function_chain
6469         static.
6470         (init_function_start): Don't add new function structure to
6471         all_functions.
6472         (find_function_data, push_function_context_to,
6473         pop_function_context_from, put_var_into_stack,
6474         trampoline_address): Update for changed structure element names.
6475         (push_function_context_to): Disentangle.
6476         (free_after_compilation): Also free F.
6477         (expand_dummy_function_end): Don't free cfun here.
6478         (put_var_into_stack): Comment why we can't use find_function_data here.
6479         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
6480         (mark_function_chain): Split into maybe_mark_struct_function and
6481         ggc_mark_struct_function.  Export the latter.
6482         (init_function_once): Mark from cfun and outer_function_chain;
6483         not all_functions.
6484
6485         * function.h (struct function): Kill next_global.  Rename next
6486         to outer.  All users updated to match.
6487         (all_functions, outer_function_chain): Don't declare.
6488
6489         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
6490         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
6491         don't touch f->inlinable, after calling rest_of_compilation.
6492
6493         * tree.h: Forward-declare struct function.  Prototype
6494         ggc_mark_struct_function.
6495
6496 2001-08-31  Kazu Hirata  <kazu@hxi.com>
6497
6498         * config/h8300/h8300.md (*andorhi3): Fix typos.
6499
6500 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6501
6502         * calls.c (emit_library_call_value): Don't use a fixed
6503         argument after VA_CLOSE, i.e. out of scope in traditional C.
6504
6505         * emit-rtl.c (gen_rtvec): Likewise.
6506
6507 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6508
6509         * Makefile.in (c-pragma.o): Depend on output.h.
6510         (reorg.o): Depend on except.h.
6511
6512         * c-pragma.c: Include output.h.
6513
6514         * reorg.c: Include except.h.
6515
6516         * unwind-dw2.c: Call __builtin_alloca, not alloca.
6517
6518 2001-08-31  Richard Henderson  <rth@redhat.com>
6519
6520         * sched-deps.c (add_dependence): Don't elide dependency if the
6521         conditional used by insn is modified in elem.
6522
6523 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
6524
6525         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
6526
6527 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
6528
6529         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
6530         dump_switch_p.
6531
6532 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
6533
6534         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
6535         function.
6536         (stormy16_asm_out_constructor): New function.
6537         (TARGET_ASM_CONSTRUCTOR): Define.
6538         (TARGET_ASM_DESTRUCTOR): Define.
6539
6540 2001-08-31  Andreas Jaeger  <aj@suse.de>
6541
6542         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
6543         * loop.c (add_label_notes): Likewise.
6544         * reload.c (find_reloads): Likewise.
6545         * config/sh/sh.c (machine_dependent_reorg): Likewise.
6546
6547 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
6548
6549         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
6550         code here.  Take _Unwind_{W,Sw}ord*.
6551         (read_encoded_value_with_base): Use them.
6552         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
6553         words.
6554         (extract_cie_info): Simplify read_?leb128 handling.
6555         (execute_stack_op, execute_cfa_program): Likewise.
6556         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
6557
6558 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
6559
6560         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
6561         the frame pointer to pop the stack if convenient.
6562
6563         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
6564         Don't use post-increment before combine.
6565         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
6566         a call-saved register.
6567
6568 2001-08-31  Andreas Jaeger  <aj@suse.de>
6569
6570         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
6571         code was correct.
6572
6573 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
6574
6575         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
6576         not DIV/MOD, of course.
6577
6578 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
6579
6580         * rtl.def: Undo my patch commited 2001-08-27.
6581
6582         * genattrtab.c: Ditto.
6583
6584         * rtl.h: Ditto.
6585
6586         * sched-int.h: Ditto.
6587
6588         * target-def.h: Ditto.
6589
6590         * target.h: Ditto.
6591
6592         * haifa-sched.c: Ditto.
6593
6594         * sched-rgn.c: Ditto.
6595
6596         * sched-vis.c: Ditto.
6597
6598         * Makefile.in: Ditto.
6599
6600         * doc/md.texi: Ditto.
6601
6602         * doc/tm.texi: Ditto.
6603
6604         * doc/contrib.texi: Ditto.
6605
6606         * doc/gcc.texi: Ditto.
6607
6608         * genattrtab.h: Remove it.
6609
6610         * genautomata.c: Remove it.
6611
6612         * genattr.c: Undo my patch and Richard Henderson's patch commited
6613         2001-08-27.
6614
6615 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
6616
6617         * config.gcc (h8300-*-elf*): New case.
6618         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
6619         (SUBTARGET_CPP_SPEC): Define.
6620         (EXTRA_SPECS): Define.
6621         (SUBTARGET_EXTRA_SPECS): Define.
6622         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
6623         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
6624
6625 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
6626
6627         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
6628         (LIB2FUNCS_EXTRA): Define.
6629         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
6630         config/h8300/fixunssfsi.c: New file.
6631
6632 2001-08-30  Kazu Hirata  <kazu@hxi.com>
6633
6634         * config/h8300/h8300.md (zero_extendqihi2): Changes to
6635         define_expand to accommodate target-specific attributes.
6636         (anonymous zero_extendqihi2 patterns): New.
6637
6638 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
6639
6640         * h8300.md (*andorhi3): New pattern.
6641
6642 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
6643
6644         * h8300.c (dosize): Fix test for "sub".
6645
6646 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
6647
6648         * c-typeck.c (pointer_diff): Try to eliminate common term before
6649         doing conversions.
6650
6651 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
6652
6653         * config/arm/arm.c (arm_compute_initial_elimination_offset):
6654         Account for the saves of the FP registers.
6655
6656         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
6657         (TEXT_SECTION_ASM_OP): Define.
6658         (INIT_SECTION_ASM_OP): Define.
6659         (FINI_SECTION_ASM_OP): Define.
6660         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
6661         (RDATA_SECTION_FUNCITON): Provide prototype.
6662
6663 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
6664
6665         * reload1.c (move2add_note_store): Correct typo checking for
6666         argument pushes.
6667
6668 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
6669
6670         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
6671         note should not be considered outside the libcall block.
6672
6673 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6674
6675         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
6676
6677 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6678
6679         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
6680
6681 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6682
6683         * config/h8300/h8300-protos.h: Add a prototype for
6684         emit_logical_op.
6685         * config/h8300/h8300.c (emit_logical_op): New.
6686         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
6687         (andsi3): Likewise.
6688         (iorhi3): Likewise.
6689         (iorsi3): Likewise.
6690         (xorhi3): Likewise.
6691         (xorsi3): Likewise.
6692
6693 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6694
6695         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
6696         comparison with rtx INTVAL.
6697         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
6698         expression.
6699         * pa.h (FUNCTION_ARG_SIZE): Likewise.
6700
6701 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6702
6703         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
6704         comment typos.
6705
6706 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6707
6708         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
6709         (reg n) to (mem (pre_dec (reg n))
6710         (anonymous movsi pattern): Likewise.
6711
6712 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6713
6714         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
6715
6716 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6717
6718         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
6719         several special constants.
6720
6721 2001-08-29  Kazu Hirata  <kazu@hxi.com>
6722
6723         * config/h8300/lib1funcs.asm: Fix comment typos.
6724
6725 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6726
6727         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
6728         Fix format specifier warnings.
6729
6730         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
6731         inet_makeaddr, semctl): Prototype.
6732
6733         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
6734         (save_restore_insns): Use base_offset, not gp_offset.
6735
6736         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
6737         (ASM_OUTPUT_BYTE): Fix format specifier warning.
6738
6739 2001-08-29  Richard Henderson  <rth@redhat.com>
6740
6741         * bb-reorder.c (function_tail_eff_head): New.
6742         (record_effective_endpoints): Set it.
6743         (fixup_reorder_chain): Use it.
6744
6745 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6746
6747         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
6748
6749 2001-08-28  Dale Johannesen  <dalej@apple.com>
6750
6751         * config/darwin.c (machopic_function_base_name): Add const
6752         qualifier to a string.
6753         (darwin_encode_section_info): Ditto.
6754
6755 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6756
6757         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
6758         function definition.
6759
6760 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
6761
6762         * df.h (struct df): Add rts_order variable.
6763
6764         * df.c (df_visit_next_rts): New function.
6765         (df_visit_next): Renamed to df_visit_next_rc
6766         (df_analyse_1): Allocate/compute/free rts_order as well.
6767         (df_rd_global_compute): Use df_visit_next_rc instead of
6768         df_visit_next.
6769         (df_ru_global_compute): Use df_visit_next_rts instead of
6770         df_visit_next.
6771
6772         * flow.c (flow_reverse_top_sort_order_compute): New function.
6773
6774         * basic-block.h: Add prototype.
6775
6776 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
6777
6778         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
6779         blocks, the BB_REACHABLE is now set, rather than aux being
6780         non-NULL. Update the test to reflect this.
6781
6782 2001-08-28  Eric Christopher  <echristo@redhat.com>
6783
6784         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
6785         config/mips/crti.asm: Ditto.
6786
6787 2001-08-28  Eric Christopher <echristo@redhat.com>
6788             Richard Henderson <rth@redhat.com>
6789
6790         * c-pragma.h (add_weak): Move prototype from here...
6791         * output.h (add_weak): ... to here.
6792         * varasm.c (add_weak): Fix typo.
6793         * config/mips/crti.asm: New file.
6794         * config/mips/crtn.asm: Ditto.
6795         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
6796         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
6797         (INVOKE__main): Ditto.
6798         (INIT_SECTION_ASM_OP): New.
6799         (FINI_SECTION_ASM_OP): Ditto.
6800         (STARTFILE_SPEC): Add crti.
6801         (ENDFILE_SPEC): Add crtn.
6802         * config/mips/elf64.h: Same.
6803         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
6804         Remove.
6805         * config/mips/vxworks.h: Ditto.
6806         * config/mips/t-elf: Support crti and crtn.
6807
6808 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
6809
6810         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
6811         INSN_LIST.
6812
6813 2001-08-28  Richard Henderson  <rth@redhat.com>
6814
6815         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
6816         (one_cmplbi2 splitter): Remove redundant test.
6817
6818 2001-08-28  Dale Johannesen  <dalej@apple.com>
6819
6820         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
6821
6822 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
6823
6824         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
6825
6826 2001-08-28  Stan Shebs  <shebs@apple.com>
6827
6828         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
6829         (UNALIGNED_SHORT_ASM_OP): Define.
6830         (UNALIGNED_INT_ASM_OP): Define.
6831
6832 2001-08-28  Will Cohen  <wcohen@redhat.com>
6833
6834         * config/rs6000/rs6000.md (store_multiple): Correct RTL
6835         generation for first set.
6836
6837 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
6838
6839         * flow.c (redirect_edge_succ_nodup): Return new edge.
6840         (try_simplify_condjump): Use new edge.
6841         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
6842
6843         * cse.c (cse_basic_block): Skip note instructions.
6844
6845 2001-08-27  Richard Henderson  <rth@redhat.com>
6846
6847         * combine.c (combine_simplify_rtx): Don't reverse condition
6848         if there is no reverse for the condition.
6849         (simplify_comparison): Don't simplify subregs from INT to FP.
6850
6851         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
6852         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
6853         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
6854         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
6855         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
6856         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
6857
6858 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
6859
6860         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
6861         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
6862         (pushqi1): New.
6863         (adddi_dilshr32, adddi_dishl32): Only data register can be
6864         source for mem destination.
6865
6866         * expmed.c (store_bit_field): Ignore adjustment to bitpos
6867         and use bitnum to decide about register move.
6868
6869 2001-08-27  Richard Henderson  <rth@redhat.com>
6870
6871         * genattr.c (main): Emit state_t even when not doing scheduling.
6872
6873 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
6874             Richard Henderson  <rth@redhat.com>
6875
6876         * gcse.c (reg_first_set, reg_last_set): Replace with ...
6877         (reg_avail_info, current_bb): ... these.
6878         (oprs_unchanged_p, record_last_reg_set_info): Use them.
6879         (compute_hash_table): Likewise.
6880
6881 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
6882
6883         * flow.c (verify_flow_info): Use checksums to verify edges.
6884
6885 2001-08-27  Richard Henderson  <rth@redhat.com>
6886
6887         * genautomata.c (expand_automata): Always create a description.
6888
6889 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
6890
6891         * optabs.c (expand_binop): Correctly handle the carry in multiword
6892         add/subtract operations.
6893
6894 2001-08-27  Fred Fish  <fnf@be.com>
6895
6896         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
6897         __SIZE_TYPE__.
6898
6899 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
6900
6901         * reload.c (find_reloads_toplev): Back out this change:
6902
6903         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
6904
6905         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
6906         mem if the address is a mode_dependent_address_p.
6907
6908 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
6909
6910         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
6911         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
6912         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
6913         RTL constructions.
6914
6915         * genattr.c (main): New variable num_insn_reservations.  Increase
6916         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
6917         pipeline hazard recognizer interface.
6918
6919         * genattrtab.h: New file.
6920
6921         * genattrtab.c: Include genattrtab.h.
6922         (attr_printf, check_attr_test, make_internal_attr,
6923         make_numeric_value): Move protypes into genattrtab.h.  Define them
6924         as external.
6925         (num_dfa_decls): New global variable.
6926         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
6927         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
6928         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
6929         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
6930
6931         * genautomata.c: New file.
6932
6933         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
6934
6935         * sched-int.h: (curr_state): Add the external definition for
6936         automaton pipeline interface.
6937         (haifa_insn_data): Add comments for members blockage and units.
6938
6939         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6940         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6941         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
6942         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
6943         TARGET_SCHED_DFA_POST_CYCLE_INSN,
6944         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6945         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
6946         macros.
6947         (TARGET_SCHED): Use the new macros.
6948
6949         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
6950         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
6951         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
6952         dfa_bubble): New members in gcc_target.sched.
6953
6954         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
6955         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
6956         (insn_queue): Redefine it as pointer to array.
6957         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
6958         INSN_QUEUE_SIZE.
6959         (max_insn_queue_index_macro_value): New variable.
6960         (curr_state, dfa_state_size, ready_try): New varaibles for
6961         automaton interface.
6962         (ready_element, ready_remove, max_issue): New function prototypes
6963         for automaton interface.
6964         (choose_ready): New function prototype.
6965         (insn_unit, blockage_range): Add comments.
6966         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
6967         FUNCTION_UNITS_SIZE == 0.
6968         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
6969         actual_hazard, potential_hazard): Add comments.
6970         (insn_cost): Use cost -1 as undefined value.  Remove
6971         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
6972         pipeline interface.
6973         (ready_element, ready_remove): New functions for automaton
6974         interface.
6975         (schedule_insn): Add new code for automaton pipeline interface.
6976         (queue_to_ready): Add new code for automaton pipeline interface.
6977         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
6978         (debug_ready_list): Print newline when the queue is empty.
6979         (max_issue): New function for automaton pipeline interface.
6980         (choose_ready): New function.
6981         (schedule_block): Add new code for automaton pipeline interface.
6982         Print ready list before scheduling each insn.
6983         (sched_init): Add new code for automaton pipeline interface.
6984         Initiate insn cost by -1.
6985         (sched_finish): Free the current automaton state and finalize
6986         automaton pipeline interface.
6987
6988         * sched-rgn.c: Include target.h.
6989         (init_ready_list, new_ready, debug_dependencies): Add new code for
6990         automaton pipeline interface.
6991
6992         * sched-vis.c: Include target.h.
6993         (get_visual_tbl_length): Add code for automaton interface.
6994         (target_units, print_block_visualization):  Add comments.
6995
6996         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
6997         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
6998         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
6999         (getruntime.o, genautomata.o): New entries.
7000         (genattrtab.o): Add new dependency file genattrtab.h.
7001         (genattrtab): Add new dependencies.  Link it with `libm.a'.
7002         (getruntime.o, hashtab.o): New entries for canadian cross.
7003
7004         * doc/md.texi: Description of automaton based model.
7005
7006         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
7007         Add comments.
7008         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
7009         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
7010         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
7011         TARGET_SCHED_DFA_POST_CYCLE_INSN,
7012         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
7013         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
7014         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
7015         hook descriptions.
7016         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
7017         MAX_DFA_ISSUE_RATE): New macro descriptions.
7018
7019         * doc/contrib.texi: Add dfa based scheduler contribution.
7020
7021         * doc/gcc.texi: Add more information about genattrtab.
7022
7023 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
7024
7025         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
7026         an RTL basic block.
7027
7028 2001-08-27  Richard Henderson  <rth@redhat.com>
7029
7030         * function.c (expand_function_end): Don't init arg_pointer_save_area.
7031         (get_arg_pointer_save_area): New.  Create an init it here.
7032         (fix_lexical_addr): Use it.
7033         * function.h: Declare it.
7034         * builtins.c (expand_builtin_setjmp_receiver): Use it.
7035         * stmt.c (expand_nl_goto_receiver): Use it.
7036
7037 2001-08-27  Richard Henderson  <rth@redhat.com>
7038
7039         * final.c (final_scan_insn): Don't enter APP_ON mode for
7040         empty asm strings.
7041
7042         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
7043         alignment for assemble_integer for DW_EH_PE_aligned.
7044         * except.c (output_function_exception_table): Likewise.
7045
7046 2001-08-26  Andreas Jaeger  <aj@suse.de>
7047
7048         * c-tree.h: Add prototyp for c_sizeof_nowarn.
7049
7050 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
7051
7052         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
7053
7054 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
7055
7056         * config/rs6000/rs6000.c (mask_operand): Rewrite without
7057         bit-shifting loop.
7058         (mask64_operand): Likewise.
7059         (rldic_operand): Delete.
7060         (includes_lshift64_p): Delete.
7061         (includes_rldic_lshift_p): New function.
7062         (includes_rldicr_lshift_p): New function.
7063         (print_operand): Don't call rldic_operand in case 'W'.
7064         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
7065         (includes_lshift64_p): Remove.
7066         (includes_rldic_lshift_p): Declare.
7067         (includes_rldicr_lshift_p): Declare.
7068         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
7069         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
7070         Replace match_operand rldic_operand predicate with
7071         const_int_operand.  Replace includes_lshift64_p condition with
7072         includes_rldic_lshift_p.
7073         <ashldi3_internal 64 bit rldicr patterns>: New.
7074
7075 2001-08-27  Andreas Jaeger  <aj@suse.de>
7076
7077         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
7078         * errors.c: Likewise.
7079         * final.c: Likewise.
7080         * dwarf2asm.c: Likewise.
7081         * doprint.c (checkit): Likewise.
7082         * diagnostic.c: Likewise.
7083         * collect2.c: Likewise.
7084         * calls.c: Likewise.
7085         * c-semantics.c (build_stmt): Likewise.
7086         * c-format.c (status_warning): Likewise.
7087         * c-errors.c (pedwarn_c99): Likewise.
7088         * builtins.c (validate_arglist): Likewise.
7089         * config/pj/pj.c (pj_printf): Likewise.
7090         * fix-header.c: Likewise.
7091         * gcc.c: Likewise.
7092         * gcov.c (fnotice): Likewise.
7093         * gensupport.c (message_with_line): Likewise.
7094         * mips-tfile.c: Likewise.
7095         * protoize.c (notice): Likewise.
7096         * read-rtl.c (fatal_with_file_and_line): Likewise.
7097         * rtl-error.c: Likewise.
7098         * tradcpp.c: Likewise.
7099         * tree.c: Likewise.
7100         * cp/tree.c (build_min_nt): Likewise.
7101         (build_min): Likewise.
7102         * cp/lex.c: Likewise.
7103         * cp/errfn.c: Likewise.
7104         * cp/rtti.c (create_pseudo_type_info): Likewise.
7105
7106 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
7107
7108         * df.c (df_uses_record): Return after recording all uses
7109         in ASM_OPERANDS.
7110
7111 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
7112
7113         * df.c (df_insn_modify): Realloc the INSN table here, if
7114         necessary, here, too.
7115
7116 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
7117
7118         * config/mips/mips.c (mips_function_value): Handle complex return
7119         values.
7120
7121 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
7122
7123         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
7124         unshared.
7125         * reload.c (make_memloc): Copy result if it is still
7126         reg_equiv_memory_loc[regno] on return.
7127         (subst_reloads) [ENABLE_CHECKING]: Check that none of
7128         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
7129         reg_equiv_mem are modified by the substitutions.
7130
7131 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
7132
7133         * predict.c (expensive_function_p): New.
7134         * rtl.h (expensive_function_p): Declare.
7135         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
7136         (use_fast_prologue_epilogue): New static variable.
7137         (expand_prologue): Set it; emit short prologues if unset.
7138         (expand_epilogue): Likewise.
7139
7140 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
7141
7142         * config.gcc: Add stormy16-*-elf case.
7143         * config/stormy16/stormy-abi: New file.
7144         * config/stormy16/stormy16-lib2.c: New file.
7145         * config/stormy16/stormy16-protos.h: New file.
7146         * config/stormy16/stormy16.c: New file.
7147         * config/stormy16/stormy16.h: New file.
7148         * config/stormy16/stormy16.md: New file.
7149         * config/stormy16/t-stormy16: New file.
7150
7151 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
7152
7153         * i386.h (no-accumulate-outgoing-args): Use proper mask.
7154
7155 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
7156
7157         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
7158         descriptor members are pointer size, not constant 4.
7159         * config/rs6000/rs6000.md (define_splits): Remove more unused
7160         constraints.
7161
7162 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7163
7164         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
7165
7166 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
7167
7168         * cp/rtti.c (VPARAMS): Fix parameter.
7169
7170 2001-08-24  Zack Weinberg  <zackw@panix.com>
7171
7172         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
7173         to zero.
7174         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
7175         to switch.
7176         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
7177         in if controlling use of insv.
7178         (extract_bit_field): Likewise, for extv and extzv.
7179
7180 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
7181
7182         * i386.md (movcc peep2): Fix load of 0.
7183
7184 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7185
7186         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
7187         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
7188
7189 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
7190
7191         * c-pragma.h: Move weak_syms and weak_decls...
7192         * varasm.c: ...here.  Now static.
7193         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
7194         depend on HANDLE_PRAGMA_WEAK.
7195
7196         * c-common.c (c_alignof, c_alignof_expr): Move here...
7197         * c-typeck.c: ...from here.
7198         * c-tree.h, c-common.h: Adjust.
7199
7200 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
7201
7202         * config/ia64/ia64.c (rws_update): If !pred, set write_count
7203         instead of incrementing it.
7204
7205         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
7206         asm ready, don't try to move them all into the same array element.
7207
7208 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
7209
7210         * function.c (thread_prologue_and_epilogue_insns): Avoid
7211         fallthru flag on edge to exit.
7212
7213         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
7214
7215         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
7216         dead edges.
7217
7218 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
7219
7220         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
7221         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
7222         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
7223         Remove prototype.
7224
7225 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
7226
7227         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
7228         replace "GNU CC" with "GCC".
7229
7230 2001-08-23  Richard Henderson  <rth@redhat.com>
7231
7232         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
7233         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
7234         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
7235         Need GR between FR and not GR_AND_FR.
7236         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
7237         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
7238         AR regs before GR regs.
7239         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
7240         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
7241         (REGISTER_MOVE_COST): Update.
7242         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
7243
7244 2001-08-23  Richard Henderson  <rth@redhat.com>
7245
7246         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
7247         a register class.
7248
7249 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
7250
7251         * reload1.c (emit_reload_insns): Don't look for notes
7252         on a NULL store_insn.
7253
7254 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7255
7256         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
7257         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
7258         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
7259         format specifier warnings.
7260         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
7261
7262 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
7263
7264         * config/i386/i386-protos.h: Correct declaration of
7265         i386_pe_asm_named_section.
7266
7267 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7268
7269         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
7270         variable i.
7271         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
7272
7273 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7274
7275         * cpperror.c (print_location): Don't show _Pragma.
7276         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
7277         and file change callback generation here.
7278         (stack_include_file): Update use of cpp_push_buffer.
7279         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
7280         (struct cpp_buffer): Remove type, pfile members.
7281         * cppinit.c (cpp_handle_option): Use free_chain.
7282         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
7283         (skip_escaped_newlines, get_effective_char, lex_percent): Take
7284         a cpp_reader rather than a cpp_buffer.
7285         (skip_escaped_newlines, get_effective_char, skip_block_comment,
7286         skip_line_comment, parse_string, lex_percent, lex_dot,
7287         _cpp_lex_token): Update accordingly.
7288         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
7289         generation here.
7290         (cpp_push_buffer): Update prototype.
7291         (run_directive): Update use of cpp_push_buffer.
7292         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
7293         handle_assertion): Update use of run_directive.
7294         * cpplib.h (enum cpp_buffer_type): Remove.
7295         (cpp_push_buffer): Update prototype.
7296         * fix-header.c (read_scan_file): Update.
7297
7298 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7299
7300         * gcc.c (struct prefix_list): Change prefix to const char *.
7301
7302 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7303
7304         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
7305
7306 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
7307
7308         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
7309         from a new MEM.
7310
7311         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
7312         a squeezable note.
7313         * rtl.h: Adjust.
7314         * ifcvt.c (dead_or_predicable): Adjust.
7315         * loop.c (find_and_verify_loops): Adjust.
7316         * stmt.c (expand_end_case): Adjust.
7317         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
7318         head and end insn pointers in the basic block, not just local copies.
7319         (merge_blocks_move_predecessor_nojumps): Likewise.
7320
7321 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
7322
7323         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
7324         bitmap.h, builtin-types.def, builtins.c, builtins.def,
7325         c-aux-info.c, c-common.c, c-common.def, c-common.h,
7326         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
7327         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
7328         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
7329         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
7330         conditions.h, config.gcc, configure.frag, configure.in,
7331         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
7332         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
7333         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
7334         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
7335         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
7336         emit-rtl.c, errors.c, errors.h, except.c, except.h,
7337         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
7338         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
7339         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
7340         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
7341         gencheck.c, gencodes.c, genconfig.c, genemit.c,
7342         genextract.c, genflags.c, gengenrtl.c, genmultilib,
7343         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
7344         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
7345         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
7346         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
7347         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
7348         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
7349         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
7350         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
7351         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
7352         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
7353         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
7354         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
7355         params.h, predict.c, predict.def, predict.h, prefix.c,
7356         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
7357         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
7358         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
7359         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
7360         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
7361         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
7362         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
7363         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
7364         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
7365         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
7366         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
7367         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
7368         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
7369         xcoffout.h: replace "GNU CC" with "GCC".
7370
7371 2001-08-21  Richard Henderson  <rth@redhat.com>
7372
7373         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
7374         (final_scan_insn): Consider jump tables data even if we have no
7375         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
7376         ADDR_VEC_ALIGN.
7377         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
7378         (ASM_OUTPUT_CASE_END): Remove.
7379         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
7380         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
7381         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
7382
7383 2001-08-21  Richard Henderson  <rth@redhat.com>
7384
7385         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
7386         at barrier insns.  Emit stop bits before barriers.
7387
7388         * flow.c (flow_find_cross_jump): Don't consider unconditional
7389         return insns for commoning.
7390
7391         * final.c (compute_alignments): Fix typo.
7392
7393         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
7394         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
7395         (store_bit_field): Use mode_for_extraction more places.
7396         (extract_bit_field): Likewise.
7397
7398 2001-08-21  Zack Weinberg  <zackw@panix.com>
7399
7400         * caller-save.c: Don't include insn-codes.h.
7401         (reg_save_code, reg_restore_code): Make arrays of int.
7402         All uses updated to match.
7403         (insert_save, insert_restore): No need to initialize "code"
7404         variable upon declaration.
7405         * Makefile.in: update dependencies; fix typo in clean rule.
7406
7407 2001-08-21  Richard Henderson  <rth@redhat.com>
7408
7409         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
7410         (merge_if_block): Handle fallout from same.
7411
7412 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7413
7414         * builtins.c (type_to_class): Fix typo in last change.
7415
7416 2001-08-21  Richard Henderson  <rth@redhat.com>
7417
7418         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
7419         ia64_asm_output_label.
7420
7421         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
7422         copy of gp while the real gp register contains garbage.
7423
7424 2001-08-21  Zack Weinberg  <zackw@panix.com>
7425
7426         * expmed.c (mode_for_extraction): New function.
7427         (store_bit_field, extract_bit_field): Use it.
7428         * expr.h: Prototype it and provide an enum for its first argument.
7429
7430         * combine.c, function.c, recog.c: Don't include insn-codes.h.
7431         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
7432         and digging through the insn_data tables.
7433         * Makefile.in: Update dependencies.
7434
7435 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7436
7437         * cppfiles.c (stack_include_file): line-map.c now handles include
7438         depth.
7439         (handle_missing_handler): Similarly.
7440         (_cpp_execute_include): Similarly.
7441         (_cpp_pop_file_buffer): Similarly.
7442         * cpphash.h (struct cpp_reader): Remove system_include_depth,
7443         buffer_stack_depth and include_depth.
7444         * cpplib.c (do_include_common): line-map.c now handles include depth.
7445         (cpp_push_buffer): Similarly.
7446         (_cpp_pop_buffer): Similarly.
7447         * cppmacro.c (builtin_macro): Update.
7448         * line-map.c (init_line_maps): Set depth.
7449         (add_line_map): Increment "used" earlier.  Update and use the
7450         include depth.
7451         (trace_include): Use the include depth.
7452         * line-map.h (struct line_maps): New member depth.
7453
7454 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7455
7456         * cppfiles.c (stack_include_file): Don't handle -H here.
7457         * cppinit.c (cpp_start_read): Set include tracing after
7458         cpp_post_options and after stacking the main file.
7459         * line-map.c (trace_include): New.
7460         (init_line_maps, add_line_map): Update.
7461         * line-map.h (struct line_maps): New member trace_includes.
7462
7463 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7464
7465         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
7466         * cppfiles.c (stack_include_file): Only stack a file if there
7467         is something to do.  Return a boolean indicating whether a
7468         buffer was stacked or not.
7469         (_cpp_execute_include): Similarly.
7470         (_cpp_read_file): Similarly.
7471         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
7472
7473 2001-08-21  Sam Steingold  <sds@gnu.org>
7474
7475         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
7476         (RECACHE): keep obufp_before_macroname up to date
7477
7478 2001-08-21  Zack Weinberg  <zackw@panix.com>
7479
7480         * stmt.c: Don't include insn-codes.h.
7481         (expand_end_case): Machine specific logic moved to expr.c.
7482         No need to worry about __builtin_classify_type.
7483         (check_for_full_enumeration_handling, emit_case_nodes):
7484         Kill #if 0 blocks.
7485
7486         * builtins.o (expand_builtin_classify_type): Split up so code
7487         can be shared with fold_builtin_classify_type.
7488         (type_to_class, fold_builtin_classify_type): New functions.
7489         (fold_builtins): Handle __builtin_classify_type.
7490
7491         * expr.c (do_tablejump): Now static.
7492         (case_values_threshold, try_casesi, try_tablejump): New;
7493         code mostly from stmt.c (expand_end_case).
7494         (expr.h): Update prototypes.
7495
7496         * Makefile.in (stmt.o): Update dependencies.
7497
7498 2001-08-21  Will Cohen  <wcohen@redhat.com>
7499
7500         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
7501         declaration of variable i.
7502         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
7503         declaration of variable i.
7504
7505 2001-08-21  Richard Henderson  <rth@redhat.com>
7506
7507         * crtstuff.c: Fix thinko last change.  Move list tails to start
7508         of CRT_END section.  Tidy ifdefs.
7509         (__EH_FRAME_BEGIN__): Always static for ELF.
7510         (__do_global_ctors_1): Rename from __frame_dummy.
7511         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
7512         name change; don't hide __EH_FRAME_BEGIN__.
7513
7514 2001-08-21  Richard Henderson  <rth@redhat.com>
7515
7516         * gdbinit.in: Move break on exit after break on fancy_abort.
7517
7518         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
7519         sized types.
7520
7521 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7522
7523         * cpphash.h (_cpp_push_next_buffer): New.
7524         * cppinit.c (do_includes): Remove.
7525         (push_include, free_chain, _cpp_push_next_buffer): New.
7526         (cpp_start_read): Use them to rework command line option handling.
7527         (cpp_handle_option): Combine handling of -include and -imacros.
7528         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
7529         appropriate.  Always insert missing \n at EOF.
7530         * cpplib.c (start_directive): Get the directive position right.
7531         * cppmain.c (cb_file_change): Always print the first line, unless
7532         preprocessed.
7533
7534 2001-08-20  Andreas Jaeger  <aj@suse.de>
7535
7536         * profile.c (compute_branch_probabilities): Remove extra new-line
7537         in error message.
7538         * flow.c (verify_flow_info): Likewise.
7539
7540 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
7541
7542         * basic-block.h (basic_block): Add new field 'flags'.
7543         (BB_REACHABLE): Define.
7544         (expunge_block): Declare.
7545         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
7546         (EXIT_BLOCK_PTR): Ditto.
7547         (expunge_block): Remove static declaration.
7548         (cleanup_cfg): Clear bb->aux on every basic block.
7549         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
7550         computing reachability.
7551         (delete_unreachable_blocks): Delete block b if b->flags has
7552         BB_REACHABLE unset.
7553
7554 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
7555
7556         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
7557
7558 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7559
7560         * sparc.c (sparc_variable_issue): Fix typo in last change.
7561
7562 2001-08-20  Richard Henderson  <rth@redhat.com>
7563
7564         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
7565
7566 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7567
7568         * pa.h (RETURN_IN_MEMORY): Improve comment.
7569
7570 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
7571
7572         * doc/invoke.texi (Profiling options): Clarify the interactions
7573         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
7574
7575 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
7576
7577         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
7578         command.
7579
7580 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7581
7582         * gcc.c (make_relative_prefix): Allocate a sufficiently large
7583         buffer.
7584
7585 2001-08-20  Richard Henderson  <rth@redhat.com>
7586
7587         * final.c (end_final): Fix typo last change.
7588
7589 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7590
7591         * cppinit.c (init_standard_includes): The returned buffer
7592         is already malloc-ed.
7593         * gcc.c (add_prefix): Similarly.
7594         * prefix.c (translate_name): Update to support clear buffer
7595         ownership rules.
7596         (update_path): Similarly.  Be sure to free any newly allocated
7597         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
7598         (tr): New function.
7599         * prefix.h (update_path): Update prototype and document.
7600         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
7601         up and update to new buffer ownership rules.
7602         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
7603
7604 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
7605
7606         * final.c (compute_alignments): New function.
7607         (init_insn_lengths): Do not care label_align.
7608         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
7609         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
7610         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
7611         (shorted_branches): Realloc label_align array; do
7612         not call init_insn_lengths; Do not care about loop alignments.
7613         * output.h (compute_alignments): Declare.
7614         * toplev.c (rest_of_compilation): Call compute_alignments.
7615         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
7616
7617         * predict.c (block_info_def): Add npredecesors, remove nvisited;
7618         change visited to tovisit.
7619         (propagate_freq): Use faster traversing algorithm.
7620         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
7621         to tovisit; reverse meaning.
7622
7623         * predict.c (struct block_info_def): Remove nvisited.
7624         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
7625         (estimate_bb_frequencies): Call mark_dfs_back_edges.
7626
7627 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
7628
7629         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
7630         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
7631         (TARGET_FUSED_MADD): New.
7632         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
7633         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
7634         the multiply-add instructions.
7635
7636 2001-08-19  Richard Henderson  <rth@redhat.com>
7637
7638         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
7639         is aligned to pointer size.
7640
7641 2001-08-19  Richard Henderson  <rth@redhat.com>
7642
7643         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
7644         display markers during final schedule.
7645
7646 2001-08-19  Richard Henderson  <rth@redhat.com>
7647
7648         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
7649
7650 2001-08-19  Richard Henderson  <rth@redhat.com>
7651
7652         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
7653         in the same string.
7654         (ASM_NAME_TO_STRING): Remove.
7655         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
7656         in the same string.  Remove support for expressions.
7657
7658 2001-08-19  Richard Henderson  <rth@redhat.com>
7659
7660         * config/i386/i386.md (tablejump): Make an expander; handle
7661         pic relative addressing here.
7662         (tablejump_1): Rename from tablejump_pic.
7663         (casesi): Remove.
7664
7665 2001-08-19  Richard Henderson  <rth@redhat.com>
7666
7667         * regclass.c (fix_register): Fix typo.
7668
7669 2001-08-18  Richard Henderson  <rth@redhat.com>
7670
7671         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
7672         (struct _Unwind_Context): Expand br_loc to hold it.
7673         (uw_frame_state_for): Handle leaf functions better.
7674         (uw_update_reg_address): Update for br_loc change.
7675
7676 2001-08-18  Richard Henderson  <rth@redhat.com>
7677
7678         * crtstuff.c: Move list heads before code that uses them.
7679         (__JCR_LIST__): Remove initial null.
7680         (frame_dummy, __frame_dummy): Do java registration here ...
7681         (__do_global_ctors_aux): ... not here.
7682
7683         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
7684         (__do_global_dtors_aux): Update to match.
7685         (__JCR_LIST__, __do_jv_register_classes): New.
7686         (.init): Call it.
7687         * config/ia64/crtend.asm (__JCR_END__): New.
7688         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
7689         instead of an indirect LTOFF22 reloc.
7690
7691 2001-08-18  Richard Henderson  <rth@redhat.com>
7692
7693         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
7694         * regclass.c (init_reg_sets_1): Fix typo.
7695         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
7696         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
7697         (ia64_compute_frame_size): Make ar.unat live when in use.
7698         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
7699         for ar.pfs; remove ar.unat handling.
7700         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
7701         call-saved.
7702         (PREDICATE_CODES): Add ar_pfs_reg_operand.
7703         * config/ia64/ia64-protos.h: Update decls.
7704         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
7705         (sibcall_pic): Likewise.
7706
7707 2001-08-18  Richard Henderson  <rth@redhat.com>
7708
7709         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
7710         pred_rel_mutex when searching for insn_group_barrier.
7711         * config/ia64/ia64.md (cycle_display): Combine the expander
7712         and insn patterns.
7713
7714         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
7715         bit before asm as needed.
7716
7717 2001-08-18  Richard Henderson  <rth@redhat.com>
7718
7719         * timevar.def (TV_MACH_DEP): New.
7720         * toplev.c (rest_of_compilation): Use it.
7721         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
7722
7723 2001-08-18  Zack Weinberg  <zackw@panix.com>
7724
7725         * unwind-dw2.c (execute_stack_op): Add default aborts to
7726         the inner switches to prevent warnings.
7727
7728 2001-08-18  Richard Henderson  <rth@redhat.com>
7729
7730         * timevar.h (struct timevar_time_def): Change element type to float.
7731         (ticks_to_msec, clocks_to_msec): Likewise.
7732         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
7733         (get_time): Likewise.
7734         (timevar_print): Adjust zero check and printing to match.
7735
7736 2001-08-18  Zack Weinberg  <zackw@panix.com>
7737
7738         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
7739         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
7740         Eliminate overfull or underfull hboxes.
7741
7742 2001-08-18  Zack Weinberg  <zackw@panix.com>
7743
7744         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
7745
7746 2001-08-18  Zack Weinberg  <zackw@panix.com>
7747
7748         * haifa-sched.c: Convert to target hooks.  Macros replaced
7749         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
7750         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
7751         MD_SCHED_FINISH, and HAVE_cycle_display.
7752         * target-def.h (TARGET_SCHED_ADJUST_COST,
7753         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
7754         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
7755         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
7756         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
7757         New hook #defines to be overridden.
7758         (TARGET_SCHED): Bring them all together.
7759         (TARGET_INITIALIZER): Update.
7760         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
7761         instead of 'struct rtx_def *' throughout.
7762         (struct sched): New set of hooks for the scheduler.
7763         * Makefile.in (haifa-sched.o): Depend on target.h.
7764         * doc/tm.texi: Document the new scheduler hooks, together in
7765         their own section, instead of scattered around.
7766         Fix a bunch of underfull/overfull hboxes.
7767
7768         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
7769         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
7770         sparc.h: Don't define any of the old scheduler macros.
7771
7772         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
7773         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
7774         sparc.c: Create hook functions from code extracted from
7775         corresponding target header, or make existing hooks static, as
7776         appropriate.  Set the appropriate entries in targetm.
7777
7778         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
7779         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
7780         rs6000-protos.h, s390-protos.h, sparc-protos.h:
7781         Remove prototypes for functions which are now static.
7782
7783         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
7784         related gunk; the Haifa scheduler is now the only choice.
7785
7786 2001-08-18  Zack Weinberg  <zackw@panix.com>
7787
7788         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
7789         * genopinit.c: Put floating point divide insns in sdiv_optab.
7790         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
7791         * config/gofast.h, config/c4x/c4x.h,
7792         config/ia64/hpux_longdouble.h, config/mips/mips.h,
7793         config/pa/long_double.h, config/rs6000/sysv4.h,
7794         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
7795         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
7796         (init_optabs): Use init_optabv for overflow-trapping optabs.
7797         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
7798         cmp_optab RTX codes so have_insn_for can find them.
7799
7800         * optabs.c (expand_simple_binop, expand_simple_unop,
7801         have_insn_for, gen_sub3_insn): New interfaces.
7802         * expr.h: Prototype new functions.
7803         (enum optab_methods): Move here from optabs.h.
7804
7805         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
7806         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
7807         Use new functions instead of working directly with optabs.
7808         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
7809         unroll.c: Don't include optabs.h.
7810         * caller-save.c, combine.c, function.c, stmt.c: Just include
7811         insn-codes.h, not optabs.h.
7812         * Makefile.in: Update dependencies.
7813
7814         * combine.c (make_compound_operation, simplify_comparison):
7815         Fix typos testing for this or that instruction.
7816
7817 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
7818
7819         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
7820         generating libgcc.a.
7821
7822 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7823
7824         * except.c (TYPE_HASH): Delete.
7825
7826         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
7827         HOST_WIDE_INT.
7828
7829         * tree.c (TYPE_HASH): Delete.
7830
7831         * tree.h (TYPE_HASH): Define.
7832
7833 2001-08-18  Graham Stott  <grahams@redhat.com>
7834
7835         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
7836         define_split.
7837         (adddi3_internal_2+2): Likewise.
7838         (eh_set_lr_di+1): Likewise.
7839
7840 2001-08-17  Richard Henderson  <rth@redhat.com>
7841
7842         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7843         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
7844         * dwarf2asm.c: ... here.
7845         * dwarfout.c: Remove them.
7846
7847         * varasm.c (assemble_integer): Add align parameter.
7848         (assemble_real, output_constant, output_constructor): Likewise.
7849         * output.h: Update decls.
7850         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
7851         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
7852         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
7853         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
7854         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
7855         Update all callers.
7856
7857         * final.c (end_final): Abort profile block generation if we
7858         havn't layed it out properly.
7859         * output.h (assemble_eh_integer): Remove stale decl.
7860         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
7861         (min_align): New.
7862         (assemble_integer): Handle unaligned data.
7863         (assemble_real): Abort on unaligned data.
7864         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
7865         anything useful.
7866         (default_dtor_section_asm_out_destructor): Use assemble_align.
7867         (default_named_section_asm_out_constructor): Likewise.
7868         (default_ctor_section_asm_out_constructor): Likewise.
7869         * config/darwin.c (machopic_asm_out_constructor): Likewise.
7870         (machopic_asm_out_destructor): Likewise.
7871         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
7872         (nextstep_asm_out_destructor): Likewise.
7873         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
7874         (vms_asm_out_destructor): Likewise.
7875
7876 2001-08-17  Richard Henderson  <rth@redhat.com>
7877
7878         * config/mips/iris6.h (TARGET_IRIX6): New.
7879         (current_section_name, current_section_flags): New.
7880         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
7881         (MAX_OFILE_ALIGNMENT): New.
7882         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
7883         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
7884         (copy_file_data): Split out from
7885         (mips_asm_file_end): ... here.
7886         (mips_asm_file_start): Remove extra .section directive.  Use
7887         tmpfile instead of mips_make_temp_file.
7888         (mips_unique_section): Use const char * as needed for warnings.
7889         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
7890         re-add align parameter.
7891         (iris6_asm_named_section): New.
7892         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
7893         (iris6_asm_output_align, iris6_section_align_1): New.
7894         (iris6_asm_file_start, iris6_asm_file_end): New.
7895         * config/mips/mips-protos.h: Update decls.
7896
7897 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
7898
7899         * doc/install.texi (Install GCC): Add links to build status pages.
7900         (Specific): Ditto.
7901         (Final install): Ditto; request updates for specific info
7902
7903 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7904
7905         * cpperror.c (print_location):  Don't take a file name; use the
7906         line map instead.
7907         (_cpp_begin_message): Similarly.
7908         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
7909         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
7910         (cpp_pedwarn_with_file_and_line): Remove.
7911         * cppfiles.c (stack_include_file): Update; set filename to stdin
7912         here when appropriate.
7913         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
7914         (_cpp_begin_message): Don't take a file name.
7915         * cppinit.c: Add comment.
7916         * cpplex.c: Fix end-of-directive indicator.
7917         * cpplib.c: Don't include intl.h.
7918         (run_directive, do_diagnostic): Update.
7919         (do_line): Update to not use nominal_fname.
7920         (cpp_push_buffer): Don't take a filename.
7921         * cpplib.h (struct ht): Remove.
7922         (cpp_push_buffer): Don't take a filename.
7923         (cpp_pedwarn_with_file_and_line): Remove.
7924         * cppmacro.c (struct cpp_macro): Remove file.
7925         (builtin_macro): Update.
7926         (_cpp_create_definition): Update.
7927         * cppmain.c: Correct comment.
7928         * fix-header.c (read_scan_file): Update.
7929
7930 2001-08-17  Kazu Hirata  <kazu@hxi.com>
7931
7932         * sbitmap.c: Fix comment formatting.
7933         * sched-deps.c: Likewise.
7934         * sibcall.c: Likewise.
7935         * simplify-rtx.c: Likewise.
7936         * ssa.c: Likewise.
7937         * ssa-ccp.c: Likewise.
7938         * stor-layout.c: Likewise.
7939         * timevar.c: Likewise.
7940         * toplev.c: Likewise.
7941         * unwind-dw2.c: Likewise.
7942         * unwind-dw2-fde.c: Likewise.
7943         * varasm.c: Likewise.
7944
7945 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7946
7947         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
7948         or larger than an integer in memory.
7949
7950 2001-08-17  Zack Weinberg  <zackw@panix.com>
7951
7952         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
7953         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
7954         * rtl.h: Don't forward-declare union tree_node here.  Don't
7955         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
7956         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
7957         and tree respectively.
7958         * tree.h: Don't forward-declare struct rtx_def here.  Don't
7959         typedef tree here.  Change all uses of struct rtx_def *,
7960         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
7961         and tree respectively.
7962
7963 2001-08-17  Richard Henderson  <rth@redhat.com>
7964
7965         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
7966         config/mips/openbsd.h: Fix typos last change.
7967
7968 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7969
7970         * doc/invoke.texi (Optimize Options): The default for
7971         -finline-limit is 600.
7972
7973 2001-08-17  Richard Henderson  <rth@redhat.com>
7974
7975         * varasm.c (text_section): Allow TEXT_SECTION to override the
7976         printing of TEXT_SECTION_ASM_OP.
7977         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
7978         (DATA_SECTION, BSS_SECTION): Remove.
7979         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
7980         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
7981         Rename from s/_NAME//.
7982         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
7983         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
7984         (TEXT_SECTION): ... here.  New.
7985         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
7986         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
7987         * config/mips/openbsd.h: Likewise.
7988         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
7989         (mips_asm_file_end): Likewise test.
7990         (mips_output_function_epilogue): Likewise.  Switch back to data
7991         section after emitting the function.
7992
7993         * doc/tm.texi (Sections): Document TEXT_SECTION.
7994
7995 2001-08-17  Richard Henderson  <rth@redhat.com>
7996
7997         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
7998         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
7999
8000 2001-08-17  Richard Henderson  <rth@redhat.com>
8001
8002         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
8003         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
8004         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
8005         Add aligned attribute.
8006
8007 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
8008
8009         * config/sh/sh.md: Add modes to unspecs in first insn to match
8010         those in the second.
8011
8012         * Makefile.in: Fix collect2 copy for Cygwin.
8013
8014 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
8015
8016         Install the proper patch.
8017         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
8018         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
8019         (expand_function_start): Likewise.
8020         * stmt.c (expand_decl): Likewise.
8021         * varasm.c (make_decl_rtx): Likewise.
8022
8023 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
8024
8025         * final.c: Undo my previous accidental checkin.
8026         * output.h: Likewise.
8027         * tm.texi: Likewise.
8028
8029 2001-08-16  Richard Henderson  <rth@redhat.com>
8030
8031         * varasm.c (named_section_flags): Remove align parameter.
8032         * varasm.c, dwarf2out.c: Update all callers.
8033         * output.h: Update prototypes.
8034
8035         * target.h (target.asm_out.named_section): Remove align parameter.
8036         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
8037         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
8038         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
8039         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
8040         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
8041
8042         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
8043         (get_named_section_flags, set_named_section_flags): New.
8044         (named_section_flags): Use them.
8045         (named_section): Do decl vs section flags check here...
8046         (default_section_type_flags): ... not here.
8047         (init_varasm_once): Create in_named_htab.
8048         (resolve_unique_section): Mark reloc unused.
8049
8050 2001-08-16  Richard Henderson  <rth@redhat.com>
8051
8052         * varasm.c (force_const_mem): Keep pool alignment in bits.
8053         (output_constant_pool): Use assemble_align.
8054
8055 2001-08-16  Zack Weinberg  <zackw@panix.com>
8056
8057         * doc/tm.texi: Remove extra @table command.
8058
8059 2001-08-16  Zack Weinberg  <zackw@panix.com>
8060
8061         * final.c (shorten_branches): Clear the end of the label_align
8062         array only if we made it larger.  Break up messy expressions
8063         for clarity.
8064
8065         * diagnostic.c (internal_error): Check for error recursion
8066         before doing ICE suppression.
8067
8068         * timevar.c: Timing variables now count in milliseconds.
8069         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
8070         (get_time): Not here.
8071         (timevar_print): Don't print any timer whose user, cpu, and
8072         wall times are all zero as displayed.
8073         * timevar.h: Update comment aboout units.  Make timevar
8074         counters unsigned.
8075
8076 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
8077
8078         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
8079         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
8080         (expand_function_start): Likewise.
8081         * stmt.c (expand_decl): Likewise.
8082         * varasm.c (make_decl_rtx): Likewise.
8083
8084 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
8085
8086         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
8087         (finalize_record_size): Don't set TYPE_USER_ALIGN.
8088
8089 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8090
8091         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
8092         variables.
8093
8094 2001-08-16  Andreas Jaeger  <aj@suse.de>
8095
8096         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
8097         prototype.
8098
8099 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
8100
8101         * rtl.h (only_sets_cc0_p): New prototype.
8102         * jump.c (sets_cc0_p): Handle INSN.
8103         (only_sets_cc0_p): New function.
8104         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
8105         (tidy_fallthru_edge): Likewise.
8106         * integrate.c (copy_insn_list): Likewise.
8107         * unroll.c (unroll_loop): Likewise.
8108         (copy_loop_body): Likewise.
8109
8110 2001-08-15  Jason Eckhardt  <jle@redhat.com>
8111
8112         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
8113
8114 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
8115
8116         * predict.c (struct block_info_def): Remove nvisited.
8117         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
8118         (estimate_bb_frequencies): Call mark_dfs_back_edges.
8119
8120         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
8121         (ix86_adjust_cost): Teach scheduler that latency to load operand can
8122         be masked.
8123
8124 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
8125
8126         * predict.def: Update hitrates.
8127
8128 2001-08-15  Richard Henderson  <rth@redhat.com>
8129
8130         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
8131
8132 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
8133
8134         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
8135         note from its associated jump.
8136
8137 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
8138
8139         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
8140         also on 64-bit s390x targets.
8141
8142 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
8143
8144         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
8145         function.
8146         (arm_expand_prologue): Handled nested functions which take a
8147         variable argument list.
8148         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
8149         macro with an invocation of
8150         arm_compute_initial_elimination_offset.
8151         * config/arm/arm-protos.h: Prototype
8152         arm_compute_initial_elimination_offset.
8153
8154 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8155
8156         * doc/install.texi (Specific, avr): Fix markup.
8157         (Specific, c4x): Ditto.
8158
8159 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8160
8161         * predict.c (dump_prediction): Change `bool' parameter to `int'.
8162
8163 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
8164
8165         * Makefile.in (OBJS): Add rtl-error.o
8166         (rtl-error.o): New rule.
8167         (diagnostic.o): Adjust dependency.
8168         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
8169         error_for_asm, _fatal_insn, _fatal_insn_not_found,
8170         warning_for_asm): Move to...
8171         rtl-error.c: ...here.  New file.
8172
8173 2001-08-14  Richard Henderson  <rth@redhat.com>
8174
8175         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
8176         if USING_SJLJ_EXCEPTIONS.
8177
8178 2001-08-14  Steve Ellcey <sje@cup.hp.com>
8179
8180         * tlink.c (scan_linker_output): Check string for unsatisfied in
8181         addition to undefined and unresolved.
8182
8183 2001-08-14  Graham Stott  <grahams@redhat.com>
8184
8185         * libgcc2.c (*): Replace EH_FRAME_SECTION with
8186         EH_FRAME_SECTION_NAME.
8187
8188 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
8189
8190         * genattrtab.c (simplify_test_exp_in_temp): New function.
8191         (simplify_test_exp): Avoid explicit use of temporary obstack.
8192         (simplify_cond, insert_right_side, evaluate_eq_attr,
8193         simplify_and_tree, simplify_or_tree, eliminate_known_true):
8194         Use simplify_test_exp_in_temp.
8195         (optimize_attrs): Iterate until expression stabilizes.
8196
8197 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
8198
8199         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
8200         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
8201
8202 2001-08-13  Richard Henderson  <rth@redhat.com>
8203
8204         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
8205         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
8206         * config/arm/conix-elf.h: Likewise.
8207
8208 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
8209
8210         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
8211         in gcc.c.
8212         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8213
8214         * gcse.c (hash_scan_set): Expressions that are set as part of
8215         jump instructions are not available.
8216
8217 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
8218
8219         * config/s390/s390.c (print_operand, s390_function_prologue,
8220         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
8221
8222 2001-08-13  Richard Henderson  <rth@redhat.com>
8223
8224         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
8225         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
8226         * doc/tm.texi (Exception Region Output): Document it.
8227
8228 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
8229
8230         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
8231         DWARF2 instead of stabs by default.
8232
8233 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
8234
8235         * config/rs6000/rs6000.c: Include optabs.h.
8236
8237 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
8238
8239         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
8240         save/restore routines.
8241         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
8242
8243 2001-08-13  Andreas Jaeger  <aj@suse.de>
8244
8245         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
8246         the english is correct.
8247
8248 2001-08-13  Zack Weinberg  <zackw@panix.com>
8249
8250         * expr.h: Split out optab- and libfunc-related code to...
8251         * optabs.h, libfuncs.h: ... these new headers.
8252
8253         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
8254         (OPTABS_H): New.
8255         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
8256         dependencies.
8257         * mkconfig.sh: Don't include insn-codes.h from config.h.
8258
8259         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
8260         enum insn_code is available.  Move reload_in_optab and
8261         reload_out_optab array declarations to optabs.h.
8262         * regmove.c (gen_add3_insn): Move to optabs.c, export from
8263         there, prototype in expr.h.
8264         * gencodes.c: Cleanup: zap global variables, don't use
8265         printf where puts will do, don't bother defining MAX_INSN_CODE
8266         which nothing uses, let CODE_FOR_nothing get its value implicitly.
8267
8268         * genemit.c, genopinit.c: Include optabs.h in generated file.
8269         * genoutput.c: Include insn-codes.h in generated file.
8270         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
8271         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
8272         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
8273         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
8274         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
8275         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
8276         Include optabs.h.
8277         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
8278         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
8279         config/m88k/m88k.c, config/sparc/sparc.c:
8280         Include libfuncs.h.
8281         * reload.c: Include expr.h and optabs.h before reload.h.
8282         * config/alpha/alpha.c: Include tree.h before reload.h.
8283         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
8284         and reload.h in that order.
8285         * config/sparc/sparc.c: Include debug.h.
8286         * recog.c: Include insn-codes.h.
8287
8288 2001-08-13  Andreas Jaeger  <aj@suse.de>
8289
8290         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
8291         s390*linux.
8292
8293 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
8294
8295         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
8296         * gcc.c (init_spec): Fix typo in comment.
8297         * varasm.c (data_section): Fix typo in comment.
8298
8299 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
8300
8301         * predict.c (dump_prediction): New argument "USED".
8302         (combine_predictions_for_insn): Determine the used heuristics,
8303         output the case no heuristic applied.
8304         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
8305
8306 2001-08-13  Andreas Jaeger  <aj@suse.de>
8307
8308         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
8309         register %rip.
8310
8311 2001-08-13  Kazu Hirata  <kazu@hxi.com>
8312
8313         * jump.c: Fix formatting.
8314
8315 2001-08-13  Kazu Hirata  <kazu@hxi.com>
8316
8317         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
8318         length.
8319
8320 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
8321
8322         * loop.c (check_dbra_loop): Use condjump_label to compute
8323         jump_label.
8324
8325         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
8326         to better document the files they're in.
8327
8328 2001-08-12  Zack Weinberg  <zackw@panix.com>
8329
8330         * recog.h (struct insn_operand_data): Shrink 'mode' field
8331         to 16 bits.
8332
8333 2001-08-12  Kazu Hirata  <kazu@hxi.com>
8334
8335         * gcc.c: Fix comment formatting.
8336         * gccspec.c: Likewise.
8337         * gcov.c: Likewise.
8338         * gcse.c: Likewise.
8339         * genemit.c: Likewise.
8340         * gengenrtl.c: Likewise.
8341         * genrecog.c: Likewise.
8342         * gensupport.c: Likewise.
8343         * ggc-page.c: Likewise.
8344         * global.c: Likewise.
8345         * graph.c: Likewise.
8346         * ifcvt.c: Likewise.
8347         * integrate.c: Likewise.
8348         * lcm.c: Likewise.
8349         * libgcc2.c: Likewise.
8350         * loop.c: Likewise.
8351         * mbchar.c: Likewise.
8352         * optabs.c: Likewise.
8353         * predict.c: Likewise.
8354         * prefix.c: Likewise.
8355         * profile.c: Likewise.
8356         * protoize.c: Likewise.
8357         * real.c: Likewise.
8358         * recog.c: Likewise.
8359         * regclass.c: Likewise.
8360         * regmove.c: Likewise.
8361         * reg-stack.c: Likewise.
8362         * reload1.c: Likewise.
8363         * resource.c: Likewise.
8364         * rtlanal.c: Likewise.
8365         * rtl.c: Likewise.
8366
8367 2001-08-12  Kazu Hirata  <kazu@hxi.com>
8368
8369         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
8370         a tree representing a constant is passed to the macro.
8371
8372 2001-08-12  Richard Henderson  <rth@redhat.com>
8373
8374         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
8375         (rs6000_elf_asm_out_destructor): New.
8376         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
8377         (DTORS_SECTION_ASM_OP): Remove.
8378         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8379         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
8380
8381 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
8382
8383         Revert:
8384         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8385         * gcc.c (set_collect_gcc_options): New function, split out from
8386         main.
8387         Ignore elided switches.
8388         (do_spec_1): Invoke before executing command.
8389         (set_input): Export.
8390         Move declaration ...
8391         * gcc.h (set_input): ... here.
8392         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
8393         file.
8394
8395 2001-08-12  Richard Henderson  <rth@redhat.com>
8396
8397         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
8398         thinko wrt TARGET_RELOCATABLE.
8399
8400 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8401
8402         * fix-header.c (cb_file_change): Update prototype.
8403
8404 2001-08-11  Zack Weinberg  <zackw@panix.com>
8405
8406         * toplev.c (set_float_handler): Make static.
8407         * toplev.h: Don't prototype set_float_handler.
8408
8409         * simplify-rtx.c: Don't include setjmp.h.
8410         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
8411         New functions.
8412         (simplify_unary_operation, simplify_binary_operation): Use them,
8413         via do_float_handler.
8414
8415         * fold-const.c: Don't include setjmp.h.
8416         (exact_real_inverse_1): New function.
8417         (exact_real_inverse): Use it, via do_float_handler.
8418
8419         * varasm.c: Don't include setjmp.h.
8420         (assemble_real_1): New function.
8421         (assemble_real): Use it, via do_float_handler.
8422         Call internal_error if we get a trap here.
8423
8424         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
8425         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
8426
8427 2001-08-11  Zack Weinberg  <zackw@panix.com>
8428
8429         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
8430         STACK_BOUNDARY if not already defined.
8431
8432         * calls.c, function.c, reload1.c, explow.c: Don't default
8433         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
8434         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
8435
8436         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
8437         to run-time test.
8438
8439         * doc/tm.texi: Document that STACK_BOUNDARY is required;
8440         clarify difference between it and PREFERRED_STACK_BOUNDARY.
8441
8442 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8443
8444         * cppmacro.c (enter_macro_context): Push macro expansions even
8445         if empty.
8446
8447 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8448
8449         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
8450         (rs6000_elf_section_type_flags): Actually return a value.
8451
8452 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
8453
8454         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
8455         Clean up code: add missing comments and prototypes, fix warnings,
8456         remove obsolete code, fix spacing to conform to coding style.
8457
8458 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
8459
8460         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
8461         and TARGET_ASM_CLOSE_PAREN.
8462         (regclass_map): CC register belongs to class NO_REGS.
8463         (legitimize_pic_address): Don't generate unnecessary moves
8464         (to avoid confusing loop optimization).
8465         (check_and_change_labels): Replace jump_long by indirect_jump.
8466         (s390_final_chunkify): Don't start a new literal pool on section
8467         switch in 64-bit code.
8468         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
8469
8470         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
8471         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
8472         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
8473         modes correctly.
8474         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
8475         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
8476         (CONST_COSTS): Fixed incorrect costs.
8477
8478         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
8479         Use emit_jump instead of emit_jump_insn (gen_jump).
8480         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
8481         (to avoid confusing flow analysis).
8482         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
8483         (casesi, casesi_jump): New.
8484         (jump_long): Removed.  Functionality merged into indirect_jump.
8485         (indirect_jump): Accept address_operand, not just register_operand.
8486         (cjump_long, icjump_long): Use same logic as indirect_jump.
8487         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
8488         Fixed broken setjmp/longjmp handling.
8489         (do_builtin_setjmp_setup): Removed.
8490
8491         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
8492         broken GNU as versions that don't accept .quad with large
8493         negative values.  Use hexadecimal output instead.
8494         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
8495         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
8496         FUNCTION_EPILOGUE): Removed.  Now in targetm.
8497
8498         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
8499
8500         * config/s390/fixdfdi.h: Add missing copyright statement.
8501         Fix type conflicts on 64-bit.  Add missing SFmode routines.
8502
8503         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
8504         email address.
8505
8506 2001-08-11  Richard Henderson  <rth@redhat.com>
8507
8508         * rtl.h (REG_EH_RETHROW): Remove.
8509         * rtl.c (reg_note_name): Update.
8510         * combine.c (distribute_notes): Don't check for it.
8511
8512 2001-08-11  Richard Henderson  <rth@redhat.com>
8513
8514         * combine.c (distribute_notes): Place REG_SETJMP.
8515
8516 2001-08-11  Richard Henderson  <rth@redhat.com>
8517
8518         * doc/extend.texi (Arrays and pointers implementation): Discourage
8519         relying on sign-extension of pointers.
8520
8521 2001-08-11  H.J. Lu <hjl@gnu.org>
8522
8523         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
8524         in_dtors.
8525         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
8526         RDATA_SECTION_ASM_OP.
8527
8528 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8529
8530         * doc/install.texi (Specific, c4x): Fix cross-reference to the
8531         main manual to work both for info and HTML versions.
8532
8533 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8534             Matt Kraai <kraai@alumni.carnegiemellon.edu>
8535
8536         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
8537         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
8538         (struct cpp_pool): New member first.
8539         * cppinit.c (append_include_chain): Plug memory leaks.
8540         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
8541         Allocate pragma structures from the (aligned) macro pool to
8542         avoid leaking memory.
8543         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
8544         so we don't leak memory.
8545         * hashtable.c (ht_destroy): New.
8546         * hashtable.h (ht_destroy): New.
8547
8548 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
8549             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8550
8551         * c-lex.c (map): Make const.
8552         (cb_file_change): Update for callback passing a line map.
8553         Don't assume we have a previous map.  Remove sanity check
8554         about popping too many files.
8555         * cpperror.c (print_location): Make map const.
8556         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
8557         (cpp_make_system_header): Similarly.
8558         (search_from): Similarly.
8559         (_cpp_execute_include): Don't remember where we came from.
8560         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
8561         (struct cpp_reader): Make map const.
8562         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
8563         * cpplib.c (do_line): Update; line maps now hold sysp.
8564         (cpp_push_buffer): Similarly.
8565         (_cpp_do_file_change): Similarly; callback with map instead.
8566         (cpp_get_line_maps): Constify return value.
8567         (_cpp_pop_buffer): Update.
8568         * cpplib.h (struct cpp_file_change): Remove.
8569         (struct cpp_callbacks): Update.
8570         (cpp_get_line_maps): Constify return value.
8571         * cppmacro.c (_cpp_create_definition): Update.
8572         * cppmain.c (struct printer): Constify map.
8573         (maybe_print_line): Similarly.
8574         (print_line): Similarly.  Deduce flags 1 and 2 here.
8575         (cb_file_change): Update.
8576         * line-map.c (free_line_maps): Warn regardless.
8577         (add_line_map): Return pointer to const.  When passed NULL to_file
8578         with LC_LEAVE, use the obvious values for the return point so the
8579         caller doesn't have to figure them out.
8580         (lookup_line): Return pointer to const.
8581         (print_containing_files): Take pointer to const.
8582         * line-map.h (struct line_map): New members reason, sysp.
8583         (add_line_map): Return pointer to const.
8584         (lookup_line): Similarly.
8585         (print_containing_files): Take pointer to const.
8586
8587 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
8588             Richard Henderson  <rth@redhat.com>
8589
8590         * regmove.c (regmove_optimize): Avoid setting a register twice in
8591         a parallel set.
8592
8593 2001-08-10  Richard Henderson  <rth@redhat.com>
8594
8595         * doc/extend.texi (Arrays and pointers implementation): Document
8596         behavior of pointer/integer conversion.
8597
8598 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
8599
8600         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
8601
8602 2001-08-10  Richard Henderson  <rth@redhat.com>
8603
8604         * doc/extend.texi (C Implementation): New chapter.
8605         * doc/gcc.texi (Top): Link it in.
8606
8607 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
8608
8609         * doc/install.texi (Specific): Fix CVS merge botch.
8610
8611 2001-08-10  Richard Henderson  <rth@redhat.com>
8612
8613         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
8614         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
8615
8616 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
8617
8618         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
8619         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
8620         this macro is now required.
8621
8622         * cselib.c (cselib_process_insn), flow.c (propagate_block),
8623         loop.c (find_and_verify_loops), reload.c (reload): Check
8624         for rtx code of CALL_INSN, not CALL, when deciding if we
8625         need to check for REG_SETJMP note.
8626
8627         * gcse.c (compute_hash_table, compute_store_table): Update
8628         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
8629         logic.
8630
8631         * config/avr/avr.c: Fix typo.
8632         * config/convex/convex.c (expand_movstr): Use adjust_address.
8633         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
8634         variable.
8635         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
8636         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
8637         Fix typo.
8638         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
8639         Do define STACK_BOUNDARY.
8640         * config/i370/i370.c: Include expr.h.
8641         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
8642         config/pa/som.h, config/v850/v850.h: Take in_ctors and
8643         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
8644         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
8645         * config/m88k/m88k.c: Include c-tree.h after expr.h.
8646         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
8647         * config/romp/romp.c: Include expr.h after tree.h.
8648         Include toplev.h.
8649         (output_fpop): Use xmalloc, not oballoc.
8650         * config/we32k/we32k.c: Include expr.h.
8651
8652 2001-08-10  Kazu Hirata  <kazu@hxi.com>
8653
8654         * config/h8300/h8300.h: Fix formatting.
8655
8656 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
8657
8658         * c-common.h (RETURN_NULLIFIED_P): Lose.
8659         * c-semantics.c (genrtl_return_stmt): Don't check it.
8660
8661 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8662
8663         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
8664         (mips_annotate_frame_insn): New function.
8665         (mips_emit_frame_related_store): New function.
8666         (save_restore_insns): Don't mark instructions that set up the base
8667         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
8668         the store instructions instead.
8669         (mips_expand_prologue): If the stack size is moved into a temporary
8670         register, do not mark that move as frame-related.  Add a
8671         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
8672
8673 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8674
8675         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
8676         stack slot as unchanging if current_function_calls_eh_return.
8677
8678 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
8679
8680         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
8681         access the second half of the TFmode scratch operand.
8682
8683 2001-08-10  Anthony Green  <green@redhat.com>
8684
8685         * java/class.c (emit_register_classes): Conditionalize code on
8686         JCR_SECTION_NAME.
8687
8688 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8689
8690         * doc/install.texi (Specific, avr): Fix cross-reference to the
8691         main manual to work both for info and HTML versions.
8692
8693 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8694
8695         * stmt.c (expand_null_return_1): Remove code to generate simple returns
8696         and "use_goto" argument.
8697         (expand_null_return, expand_value_return): Update all callers.
8698         * function.c (expand_function_end): Remove code to generate simple
8699         return.
8700         * config/vax/vax.md (epilogue): New expander for function return.
8701         * doc/md.texi (epilogue): Remove "if defined".
8702
8703 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
8704
8705         * Makefile.in: Partially revert my previous change:
8706         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
8707         of the hashtab.o and safe-ctype.o rules.
8708
8709 2001-08-09  Richard Henderson  <rth@redhat.com>
8710
8711         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
8712         (USE_COLLECT2): Remove duplicate definition.
8713         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
8714         (use_collect2): Remove dead code.
8715         * configure.in (use_collect2): Remove will_use_collect2 and
8716         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
8717         * configure: Rebuild.
8718
8719         * target.h (targetm.asm_out.constructor): New.
8720         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
8721         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
8722         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
8723         * varasm.c (in_ctors, in_dtors): New.
8724         (assemble_constructor, assemble_destructor): Remove.
8725         (default_stabs_asm_out_destructor): New.
8726         (default_named_section_asm_out_destructor): New.
8727         (dtors_section, default_dtor_section_asm_out_destructor): New.
8728         (default_stabs_asm_out_constructor): New.
8729         (default_named_section_asm_out_constructor): New.
8730         (ctors_section, default_ctor_section_asm_out_constructor): New.
8731         * output.h: Update declarations.
8732         * c-decl.c (c_expand_body): Use target hooks instead of
8733         assemble_constructor and assemble_destructor.
8734         * profile.c (output_func_start_profiler): Likewise.
8735         * objc/objc-act.c (finish_objc): Likewise.
8736         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
8737         for the constructor.
8738         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
8739
8740         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
8741         (DTORS_SECTION_ASM_OP): Likewise.
8742         (__CTOR_LIST__): Use attribute section when possible.
8743         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
8744
8745         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
8746         ASM_OUTPUT_CONSTRUCTOR.
8747
8748         * config/darwin.c (machopic_asm_out_constructor): New.
8749         (machopic_asm_out_destructor): New.
8750         * config/darwin-protos.h: Update declarations.
8751         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8752         (ASM_OUTPUT_DESTRUCTOR): Remove.
8753         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8754         * config/nextstep.c (nextstep_asm_out_constructor): New.
8755         (nextstep_asm_out_destructor): New.
8756         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8757         (ASM_OUTPUT_DESTRUCTOR): Remove.
8758         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8759         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
8760         ASM_OUTPUT_*STRUCTOR.
8761         * config/i386/aix386ng.h: Likewise.
8762
8763         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
8764         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
8765         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8766         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8767         * config/lynx.h: Likewise.
8768         * config/netware.h: Likewise.
8769         * config/psos.h: Likewise.
8770         * config/alpha/alpha-interix.h: Likewise.
8771         * config/alpha/elf.h: Likewise.
8772         * config/arc/arc.h: Likewise.
8773         * config/arm/aof.h: Likewise.
8774         * config/arm/coff.h: Likewise.
8775         * config/arm/elf.h: Likewise.
8776         * config/c4x/c4x.h: Likewise.
8777         * config/h8300/h8300.h: Likewise.
8778         * config/i386/cygwin.h: Likewise.
8779         * config/i386/djgpp.h: Likewise.
8780         * config/i386/i386-coff.h: Likewise.
8781         * config/i386/i386-interix.h: Likewise.
8782         * config/i386/sco5.h: Likewise.
8783         * config/i386/vsta.h: Likewise.
8784         * config/i386/win32.h: Likewise.
8785         * config/i960/i960-coff.h: Likewise.
8786         * config/ia64/sysv4.h: Likewise.
8787         * config/m68hc11/m68hc11.h: Likewise.
8788         * config/m68k/coff.h: Likewise.
8789         * config/m68k/mot3300.h: Likewise.
8790         * config/m88k/m88k.h: Likewise.
8791         * config/mcore/mcore-pe.h: Likewise.
8792         * config/mcore/mcore.h: Likewise.
8793         * config/mips/elf.h: Likewise.
8794         * config/mips/elf64.h: Likewise.
8795         * config/mips/iris6.h: Likewise.
8796         * config/pa/pa64-hpux.h: Likewise.
8797         * config/rs6000/sysv4.h: Likewise.
8798         * config/sh/sh.h: Likewise.
8799         * config/sparc/litecoff.h: Likewise.
8800
8801         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
8802         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8803         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8804         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8805         (ASM_OUTPUT_DESTRUCTOR): Remove.
8806         * config/a29k/a29k.c: Move include of tree.h.
8807         * config/a29k/udi.h: Delete file.
8808         * config/alpha/alpha.c (vms_asm_out_constructor): New.
8809         (vms_asm_out_destructor): New.
8810         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
8811         (EXTRA_SECTION_FUNCTIONS): Likewise.
8812         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8813         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8814         * config/c4x/c4x.c: Move include of tree.h.
8815         * config/clipper/clipper.c (clix_asm_out_constructor): New.
8816         (clix_asm_out_destructor): New.
8817         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8818         (ASM_OUTPUT_DESTRUCTOR): Remove.
8819         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8820         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8821         (TARGET_ASM_CONSTRUCTOR): New.
8822         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
8823         (sco_asm_out_constructor): New.
8824         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
8825         * config/i386/svr3gas.h: Remove stack grows up code.
8826         Remove code duplicated from i386/sysv3.h.
8827         (TARGET_ASM_CONSTRUCTOR): New.
8828         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
8829         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
8830         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8831         (TARGET_ASM_CONSTRUCTOR): New.
8832         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
8833         (m68hc11_asm_out_destructor): New.
8834         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
8835         (TARGET_ASM_DESTRUCTOR): New.
8836         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
8837         * config/m68k/dpx2.h: Properly undef all the bits inherited from
8838         config/svr3.h pertaining to section manipulation.
8839         * config/m68k/dpx2g.h: Remove #if 0 code.
8840         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
8841         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
8842         (ASM_OUTPUT_CONSTRUCTOR): Remove.
8843         (TARGET_ASM_CONSTRUCTOR): New.
8844         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
8845         (m88k_svr3_asm_out_constructor): New.
8846         (m88k_svr3_asm_out_destructor): New.
8847         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8848         (ASM_OUTPUT_DESTRUCTOR): Remove.
8849         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8850         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
8851         * config/rs6000/aix.h: Likewise.
8852         * config/mips/rtems64.h: Don't undef removed constructor related bits.
8853         * config/mips/vxworks.h: Likewise.
8854         * config/rs6000/lynx.h: Likewise.
8855         * config/sh/elf.h: Likewise.
8856         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
8857         (DTORS_SECTION_ASM_OP): New.
8858         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8859         (ASM_OUTPUT_DESTRUCTOR): Remove.
8860         * config/sparc/sol2-sld-64.h: Likewise.
8861         * config/vax/vax.c (vms_asm_out_constructor): New.
8862         (vms_asm_out_destructor): New.
8863         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
8864         (ASM_OUTPUT_DESTRUCTOR): Remove.
8865         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8866
8867         * doc/tm.texi (@node Initialization): Update.
8868
8869 2001-08-09  Richard Henderson  <rth@redhat.com>
8870
8871         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
8872         (__do_global_dtors_aux): Use gp-relative static data to avoid
8873         one dynamic relocation.
8874         (__do_frame_setup): Register Java classes.
8875         * config/alpha/crtend.asm (__JCR_END__): New.
8876
8877 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
8878
8879         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
8880         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
8881         (GEN, STAGESTUFF): Add new files.
8882         (insn-constants.h, s-constants, tm-preds.h, s-preds,
8883         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
8884         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
8885         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
8886         as well as insn-codes.h and insn-flags.h in config.h; and no
8887         extra headers in tconfig.h and hconfig.h.
8888
8889         * gencodes.c: Eliminate code to generate predicate declarations
8890         or #defines for md-file constants.
8891         * genconstants.c, genpreds.c: New files.
8892
8893         * i386.md: Re-order guard expressions such that TARGET_64BIT
8894         comes first, when this permits better optimization.  Add
8895         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
8896         why this is desirable.
8897
8898 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
8899
8900         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
8901         (find_fde_for_dso): Remove.
8902         (_Unwind_IteratePhdrCallback): New.
8903         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
8904         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
8905
8906 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8907
8908         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
8909         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
8910
8911 2001-08-09  Graham Stott  <grahams@redhat.com>
8912
8913         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
8914         (vis_no_unit): Use it.
8915         (visualize_no_unit): Add the insn only if room exists.
8916
8917 2001-08-09  Graham Stott  <grahams@redhat.com>
8918
8919         * predict.c (estimate_probability): Replace magic numbers with
8920         appropriate enumeration.
8921
8922 2001-08-09  Graham Stott  <grahams@redhat.com>
8923
8924         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
8925         parameter.
8926         (EXTRACT_FLAGS): Likewise.
8927
8928 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
8929
8930         * config/mips/mips.c    (mips_legitimate_address_p): Check for
8931         CONST_INT in last patch.
8932
8933 2001-08-08  Anthony Green  <green@redhat.com>
8934
8935         * java/class.c (emit_register_classes): Use assemble_jcr if
8936         possible.  Keep the original mechanism as a fallback.
8937         * defaults.h (JCR_SECTION_NAME): Define if we have named section
8938         and weak symbol support.
8939         * crtstuff.c (__JCR_LIST__): Define.
8940         (__JCR_END__): Define.
8941         (_Jv_RegiserClasses): Define weak symbol if possible.
8942         (__do_global_ctors_aux): Register classes for ELF targets with
8943         weak symbol support.
8944
8945 2001-08-08  Kazu Hirata  <kazu@hxi.com>
8946
8947         * dbxout.c: Fix comment formatting.
8948         * dependence.c: Likewise.
8949         * df.c: Likewise.
8950         * diagnostic.c: Likewise.
8951         * dominance.c: Likewise.
8952         * doprint.c: Likewise.
8953         * dwarf2out.c: Likewise.
8954         * dwarfout.c: Likewise.
8955         * emit-rtl.c: Likewise.
8956         * except.c: Likewise.
8957         * explow.c: Likewise.
8958         * expmed.c: Likewise.
8959         * expr.c: Likewise.
8960         * flow.c: Likewise.
8961         * fold-const.c: Likewise.
8962         * function.c: Likewise.
8963
8964 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8965
8966         * global.c (retry_global_alloc): Avoid shadowing allocno.
8967
8968 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
8969
8970         * except.c (remove_fixup_regions): Fix typo.
8971
8972 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
8973
8974         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
8975         unsigned HOST_WIDE_INT to avoid warning.
8976         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
8977         * flow.c (set_block_for_new_insns): Likewise.
8978
8979 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
8980
8981         * sibcall.c (return_value_pseudo): New static variable.
8982         (skip_copy_to_return_value): Handle return_value_pseudo.
8983         (call_ends_block_p): Ensure that return_value_pseudo is set.
8984         (optimize_sibling_and_tail_recursive_call): Discover the
8985         load of pseudo return value in alternate exit block.
8986
8987 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
8988
8989         * calls.c (ECF_ALWAYS_RETURN): New constant.
8990         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
8991         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
8992         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
8993         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
8994         * rtl.c (reg_note_name): New name.
8995         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
8996
8997 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
8998
8999         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
9000
9001 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
9002
9003         * alias.c (get_alias_set): Return a previously calculated
9004         alias set for a VAR_DECL.
9005         * function.c (gen_mem_addressof): Calculate the alias set before
9006         touching the RTL.
9007
9008 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
9009
9010         * predict.def: Set hitrates according our experimental run.
9011
9012 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
9013
9014         * i386.h (HARD_REGNO_RENAME_OK): New macro.
9015
9016 2001-08-08  H.J. Lu <hjl@gnu.org>
9017
9018         * config/mips/mips.c (mips_unique_section): New. Copied from
9019         config/mips/elf.h.
9020
9021         * config/mips/mips-protos.h (mips_unique_section): New
9022         prototype.
9023
9024         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
9025
9026         * config/mips/little.h: New. Generic little endian mips
9027         targets. Only mips*-*-linux* is converted to use it so far.
9028
9029         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
9030         (WCHAR_TYPE): Defined
9031         (WCHAR_TYPE_SIZE): Likewise.
9032         (INIT_SUBTARGET_OPTABS): Likewise.
9033         (BSS_SECTION_ASM_OP): Likewise.
9034         (SBSS_SECTION_ASM_OP): Likewise.
9035         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9036         (ASM_DECLARE_OBJECT_NAME): Likewise.
9037         (UNIQUE_SECTION): Likewise.
9038         (EXTRA_SECTIONS): Likewise.
9039         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
9040         (ASM_OUTPUT_DESTRUCTOR): Likewise.
9041         (ASM_OUTPUT_DEF): Likewise.
9042         (HANDLE_SYSV_PRAGMA): Removed.
9043         (NO_IMPLICIT_EXTERN_C): Likewise.
9044         (TARGET_MEM_FUNCTIONS): Likewise.
9045         (STARTFILE_SPEC): Likewise.
9046         (ENDFILE_SPEC): Likewise.
9047         (LIB_SPEC): Likewise.
9048         (INVOKE__main): Likewise.
9049         (CTOR_LIST_BEGIN): Likewise.
9050         (CTOR_LIST_END): Likewise.
9051         (DTOR_LIST_BEGIN): Likewise.
9052         (DTOR_LIST_END): Likewise.
9053         (SET_ASM_OP): Likewise.
9054         (ASM_OUTPUT_SOURCE_LINE): Likewise.
9055         (ASM_OUTPUT_DEF): Likewise.
9056         (ASM_OUTPUT_IDENT): Likewise.
9057
9058         * config/mips/mips.h (ASM_SPEC): Undefine before define.
9059         (CPLUSPLUS_CPP_SPEC): Likewise.
9060         (ASM_APP_ON) Redefine only if not defined.
9061         (ASM_APP_OFF): Likewise.
9062         (ASM_OUTPUT_SOURCE_LINE): Likewise.
9063         (ASM_OUTPUT_IDENT): Likewise.
9064
9065         * config.gcc: Update tm_file for Linux/mips.
9066
9067 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
9068
9069         * cselib.c (cselib_record_sets): If insn is predicated, turn
9070         sources into IF_THEN_ELSEs.
9071
9072         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
9073         Turn into define_insn_and_split.
9074
9075         * sched-deps.c: Include "cselib.h".
9076         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
9077         Use cselib to turn memory addresses into VALUEs.
9078         (sched_analyze): Call cselib_init/cselib_finish if necessary.
9079         * sched-int.h (struct sched_info): New member USE_CSELIB.
9080         * sched-ebb.c (ebb_sched_info): Initialize it.
9081         * sched-rgn.c (rgn_sched_info): Likewise.
9082         * Makefile.in (sched-deps.o): Update dependencies.
9083
9084         * cselib.h (cselib_subst_to_values): Declare.
9085         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
9086         that have no value and autoincs to be handled by generating a new
9087         dummy value.
9088
9089 2001-08-08  Graham Stott  <grahams@redhat.com>
9090
9091         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
9092         within fixed length SEQUENCE.
9093
9094 2001-08-08  Graham Stott  <grahams@redhat.com>
9095
9096         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
9097         (diagnostic_prefixing_rule): Likewise.
9098         (diagnostic_line_cutoff): Likewise.
9099         (diagnostic_kind_count): Likewise.
9100
9101 2001-08-08  Graham Stott  <grahams@redhat.com>
9102
9103         * alias.c (find_base_decl): Delete redundent assignment.
9104
9105 2001-08-08  Graham Stott  <grahams@redhat.com>
9106
9107         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
9108         (abs): Uppercase and paranthesize macro parameter.
9109         (MEM_DEPENDENCY): Add whitespace.
9110
9111 2001-08-08  Graham Stott  <grahams@redhat.com>
9112
9113         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
9114         failure check for CONST_INT
9115
9116 2001-08-08  Graham Stott  <grahams@redhat.com>
9117
9118         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
9119         (libcall_dead_p): Likewise.
9120
9121         (mark_used_regs): Constify fmt.
9122         (find_use_as_address): Likewise.
9123
9124 2001-08-08  Graham Stott  <grahams@redhat.com>
9125
9126         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
9127          parameter.
9128
9129 2001-08-08  Graham Stott  <grahams@redhat.com>
9130
9131         * combine.c (combine_simplify_rtx): Update comment and
9132         remove erroneous test.
9133
9134 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9135
9136         * cppinit.c (cpp_finish): Pop the final buffer without comment.
9137         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
9138         take care to avoid multiple no-newline at EOF warnings in that
9139         case.
9140
9141 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
9142
9143         * calls.c (expand_call): Do not emit INSN_SETJMP note.
9144         (emit_library_call_value_1): Likewise.
9145         (emit_call_1): Emit REG_SETJMP note.
9146         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
9147         of INSN_SETJMP
9148         * cselib.c (cselib_process_insn): Likewise.
9149         * flow.c (propagate_block): Likewise.
9150         * loop.c (find_and_verify_loops): Likewise.
9151         * reload.c (find_equiv_regs): Likewise.
9152         * reload1.c (reload): Likewise.
9153         * resource.c (mark_referenced_resources,
9154         mark_set_resources): Likewise.
9155         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
9156         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
9157         * haifa-sched.c (unlink_other_notes): Likewise.
9158         (reemit_notes): Likewise.
9159         * sched-ebb.c (sched_ebb): Likewise.
9160         * sched-rgc.c (sched_region): Likewise.
9161         * rtl.c (note_insn_name): Likewise.
9162         (reg_note_name): Add REG_SETJMP
9163         * rtl.h (reg_note): Add REG_SETJMP.
9164         (insn_note): Remove NOTE_INSN_SETJMP.
9165
9166         * profile.c (branch_prob): Add fake edges for setjmp.
9167
9168 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
9169
9170         * config.gcc: Quote target_cpu_default2 correctly for
9171         powerpc*-*-* targets.
9172
9173 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
9174
9175         * cpplib.h, line-map.h: Update comments.
9176         * cppmain.c (printer_init): Move inline.
9177         (maybe_print_line, print_line): Take a map pointer.
9178         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
9179         (cb_file_change): Don't use prior value of print.map.
9180
9181 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
9182
9183         * doc/install.texi: Document fine-grained multilib configuration.
9184
9185 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9186
9187         * rtlanal.c (find_first_parameter_load): Call note_stores
9188         only on the instructions.
9189
9190 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9191
9192         * alias.c (nonlocal_mentioned_p):
9193         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
9194         * calls.c (emit_call_1): Likewise.
9195         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
9196         * cselib.c (cselib_process_insn): Likewise.
9197         * df.c (df_insns_modify): Likewise.
9198         * flow.c (need_fake_edge_p): Likewise.
9199         (propagate_one_insn): Likewise.
9200         * haifa-sched.c (reemit_notes): Likewise.
9201         * integrate.c (copy_insn_list): Likewise.
9202         * jump.c (delete_prior_computation): Likewise.
9203         * local-alloc.c (validate_equiv_mem): Likewise.
9204         * loop.c (scan_loop): Likewise.
9205         * predict.c (estimate_probability): Likewise.
9206         * reload.c (reload): Likewise.
9207         * sched-deps (sched_analyze): Likewise.
9208         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
9209         * gcse.c (compute_hash_table): Likewise.
9210         (mark_call): Likewise.
9211         (store_killed_in_insn): Likewise.
9212
9213 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
9214
9215         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
9216
9217 2001-08-06  Richard Henderson  <rth@redhat.com>
9218
9219         * varasm.c (assemble_gc_entry): Remove.
9220         * output.h: Likewise.
9221
9222 2001-08-06  Richard Henderson  <rth@redhat.com>
9223
9224         * varasm.c (assemble_constructor): Take a symbol_ref and a
9225         priority instead of a bare string.  Move priority handling
9226         here from cp/decl2.c.
9227         * output.h: Update decls.
9228
9229         * c-decl.c (c_expand_body): Update calls to assemble_constructor
9230         and assemble_destructor.
9231         * profile.c (output_func_start_profiler): Likewise.
9232         * objc/objc-act.c (finish_objc): Likewise.
9233         (build_module_descriptor): Return the symbol not the symbol name.
9234
9235 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
9236
9237         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
9238         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
9239         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
9240         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
9241         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
9242         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
9243
9244 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9245
9246         * cpperror.c (print_containing_files): Moved to line-map.c.
9247         (print_location): line-map.c handles re-listing or otherwise.
9248         * cpphash.h (struct lexer_state): Remove next_bol.
9249         (struct cpp_buffer): Remove include_stack_listed.
9250         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
9251         Remove faked buffer handling.
9252         (_cpp_do_file_change): Tweak.
9253         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
9254         * cppmain.c (struct printer): Remove filename.
9255         (print_line, cb_file_change): Update accordingly.
9256         * line-map.c: Include intl.h.
9257         (init_line_maps): Initialize last_listed.
9258         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
9259         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
9260         (print_containing_files): New.
9261         * line-map.h (struct line_maps): New member last_listed.
9262         (print_containing_files, INCLUDED_FROM): New.
9263         * Makefile.in: Update.
9264         * po/POTFILES.in: Add line-map.c.
9265
9266 2001-08-06  Richard Henderson  <rth@redhat.com>
9267
9268         * except.c (convert_from_eh_region_ranges_1): Never mark
9269         USE or CLOBBER insns as throwing.
9270
9271         * expr.c (store_constructor): Don't clobber memory targets.
9272
9273 2001-08-06  Andreas Jaeger  <aj@suse.de>
9274
9275         * profile.c (branch_prob): Remove unused variable insn.
9276
9277         * Makefile.in (local-alloc.o): Add dependency on except.h.
9278
9279         * local-alloc.c: Include except.h for can_throw_internal prototype.
9280
9281 2001-08-06  Richard Henderson  <rth@redhat.com>
9282
9283         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
9284         * function.c (expand_main_function): Implement it.
9285         * doc/tm.texi: Document it.
9286
9287 2001-08-06  Stan Shebs  <shebs@apple.com>
9288
9289         * doc/install.texi: Document powerpc-*-darwin* details.
9290
9291 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
9292
9293         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
9294         (ASM_CPU_SPEC): Move back to rs6000.h
9295         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
9296
9297         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
9298
9299         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
9300         readded.
9301
9302         * config/rs6000/linux64.h: Ditto.
9303
9304         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
9305         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
9306         nothing.
9307
9308         Remove accidently readded definitions of FUNCTION_PROLOGUE,
9309         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
9310
9311         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
9312         to rs6000.h
9313
9314 2001-08-05  Richard Henderson  <rth@redhat.com>
9315
9316         * local-alloc.c (update_equiv_regs): Do not move insns that
9317         can throw.
9318
9319 2001-08-05  Jan Hubicka  <jh@suse.cz>
9320
9321         * Makefile.in (reload1.o): Add dedendancy on except.h
9322         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
9323         prototypes.
9324         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
9325         indicating wehther edges has been cleaned up.
9326         * reload1.c: Inlucde except.h
9327         (fixup_abnormal_edges): Accept deleted insns.
9328         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
9329         after combine.
9330
9331 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9332
9333         * cpplib.c (do_line): Correct line number after pop_buffer.
9334
9335 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9336
9337         PR preprocessor/3824
9338         * line-map.c: Update comments.
9339         * line-map.h: Update comments.
9340         * tradcif.y: Don't consider large numbers unsigned.
9341
9342 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9343
9344         PR preprocessor/3081
9345         * c-lex.c (map): New.
9346         (cb_file_change): Update map and use it.
9347         (cb_def_pragma, cb_define, cb_undef): Use map and line.
9348         (c_lex): Update to use map.
9349         * cpperror.c (print_location): Move to using logical line numbers.
9350         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
9351         (cpp_make_system_header): Similarly.
9352         (_cpp_execute_include): Stop line numbering hacks.  Store the
9353         line we will return to.
9354         * cpphash.h (CPP_BUF_LINE): Remove.
9355         (struct cpp_buffer): Remove lineno and pseudo_newlines.
9356         Add map and return_to_line.
9357         (_cpp_do_file_change): Update.
9358         * cppinit.c (cpp_start_read): Update line kludge.
9359         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
9360         (trigraph_ok): Use logical line numbers for diagnostics.
9361         (skip_block_comment): Likewise.
9362         (skip_whitespace): Likewise.
9363         (skip_line_comment): Use pfile->line instead.
9364         (_cpp_lex_token): Update to use logical line numbering exclusively.
9365         Handle BOL locally.  Accept new lines in directives, but keep
9366         pfile->line decremented.  Diagnostics use logical lines.  Update
9367         directive handling.
9368         * cpplib.c (SEEN_EOL): New.
9369         (skip_rest_of_line, check_eol): Use it.
9370         (end_directive): Increase line number when accepting the newline
9371         at the end of a directive.
9372         (run_directive): Simplify.
9373         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
9374         (_cpp_do_file_change): Update to take buffer line number as an
9375         argument, and store the current map in the cpp_reader.  Remove
9376         line number kludges.
9377         (_cpp_do__Pragma): Restore output position after a _Pragma.
9378         (cpp_push_buffer): Don't set output line or lineno.
9379         (_cpp_pop_buffer): Transfer more info from a faked buffer.
9380         Remove line kludge.  Set output_line.
9381         * cppmacro.c (builtin_macro): Update handling of __LINE__.
9382         (parse_arg): Use logical lines.
9383         (save_lookahead_token): Save EOFs too now.
9384         * cppmain.c (struct printer): Fix comments.
9385         (printer_init): Simplify, let caller do errors.
9386         (scan_translation_unit, check_multiline_token, dump_macro): Update.
9387         (maybe_print_line): Simplify.
9388         (print_line): Don't print a linemarker if -P.
9389         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
9390         (cb_file_change): Simplify.
9391         * line-map.h (LAST_SOURCE_LINE): Fix.
9392         (CURRENT_LINE_MAP): New.
9393
9394 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
9395
9396         * doloop.c (doloop_modify_runtime): Properly compute number of
9397         iterations if loop was unrolled.
9398
9399         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
9400         if their CSELIB_VAL_PTRs are.
9401
9402         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
9403         (setup_spill_pointers): Initialize it.
9404         (spill_restore_mem): Set it.
9405         (do_spill, do_restore): Use it to add REG_INC note.
9406         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
9407
9408         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
9409         asms if other insns are available.
9410
9411         * config/ia64/ia64.c (condop_operator): New predicate.
9412         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
9413         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
9414         patterns.
9415
9416         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
9417         temporary register than directly using a MEM.
9418
9419 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9420
9421         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
9422         parameter in last change.
9423
9424 2001-08-04  Zack Weinberg  <zackw@panix.com>
9425
9426         * sparc.md: Don't use #if inside C test expression.
9427
9428 2001-08-04  Richard Henderson  <rth@redhat.com>
9429
9430         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
9431
9432 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9433
9434         * cpphash.h (struct cpp_reader): New member directive_line.
9435         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
9436         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
9437         do_pragma): Pass line to callbacks.
9438         (start_directive): Record line of directive.
9439         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
9440         cb_include): Similarly.
9441         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
9442         Similarly.
9443
9444 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9445
9446         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
9447         comment.
9448
9449 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
9450
9451         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
9452
9453         * reload1.c (fixup_abnormal_edges): New static function.
9454         (reload): Use it.
9455
9456         * flow.c (need_fake_edge_p): New function.
9457         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
9458         avoid call insn to be very last insn in the insn stream.
9459
9460         * profile.c (branch_prob): Call flow_call_edges_add instead of
9461         doing that by hand; cleanup cfg to re-merge basic blocks once
9462         we are done.
9463
9464 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9465
9466         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
9467         are also on line-map.h.
9468         * cppfiles.c (stack_include_file): Update.
9469         * cpphash.h (struct cpp_buffer): New member return_at_eof.
9470         (_cpp_pop_buffer): New.
9471         * cppinit.c (cpp_destroy, cpp_finish): Update.
9472         (do_includes): Mark each buffer to return at EOF.
9473         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
9474         return as requested.
9475         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
9476         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
9477         * cpplib.h (cpp_pop_buffer): Remove.
9478         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
9479         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
9480         buffers.
9481         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
9482         to pop buffers.
9483         (do_preprocessing): Update.
9484         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
9485         * c-parse.in (_yylex): Similarly.
9486         * scan-decls.c (scan_decls): Similarly.
9487         * line-map.h: Update comments.
9488
9489         * objc/Make-lang.in (objc-act.o): Update dependencies.
9490
9491 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9492
9493         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
9494         and soft register for operand 0.
9495         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
9496
9497 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9498
9499         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
9500         register for operand 0.
9501         ("bitcmpqi_z_used"): Allow memory for operand 0.
9502         (split "bitcmpqi"): New split to handle address reg as operand 1.
9503
9504 2001-08-04  Andreas Jaeger  <aj@suse.de>
9505
9506         * gcse.c: Revert Daniel's last patch.
9507
9508 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
9509
9510         * sparc-protos.h: Add prototypes for fp_zero_operand and
9511         reg_or_0_operand.
9512         * sh-protos.h: Add prototype for fpul_operand.
9513
9514 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
9515
9516         * doc/extend.texi (Other Builtins): Fix typo in last change.
9517
9518 2001-08-03  Richard Henderson  <rth@redhat.com>
9519
9520         * target.h (gcc_target): Add asm_out.named_section,
9521         section_type_flags, have_named_sections.
9522         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
9523         (TARGET_HAVE_NAMED_SECTIONS): New.
9524         (TARGET_SECTION_TYPE_FLAGS): New.
9525
9526         * Makefile.in (toplev.o): Depend on TARGET_H.
9527         (varasm.o, dbxout.o): Likewise.
9528         * c-common.c (decl_attributes): Check targetm.have_named_sections
9529         instead of ifdef ASM_OUTPUT_SECTION_NAME.
9530         * dbxout.c (dbxout_function_decl): Likewise.
9531         (dbxout_function_end): Likewise.
9532         * toplev.c (compile_file): Likewise.
9533         * varasm.c (exception_section): Likewise.
9534         * cp/decl2.c (finish_objects): Likewise.
9535
9536         * defaults.h (EH_FRAME_SECTION): Remove.
9537         (EH_FRAME_SECTION_ASM_OP): Remove.
9538         (EH_FRAME_SECTION_NAME): New.
9539         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
9540         (UNIQUE_SECTION_P): Remove.
9541         * dwarf2out.c (SECTION_FORMAT): Remove.
9542         (ASM_OUTPUT_SECTION): Remove.
9543         (output_call_frame_info): Use named_section_flags.
9544         (output_comp_unit, dwarf2out_start_source_file): Likewise.
9545         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
9546         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
9547         * varasm.c (in_eh_frame, eh_frame_section): Remove.
9548         (named_section_flags): New.
9549         (named_section): Use it and targetm.section_type_flags.
9550         (resolve_unique_section): New.
9551         (assemble_start_function): Use it.
9552         (asm_emit_uninitialised, assemble_variable): Likewise.
9553         (default_section_type_flags): New.
9554         (default_no_named_section, default_elf_asm_named_section): New.
9555         (default_coff_asm_named_section, default_pe_asm_named_section): New.
9556         * output.h: Update varasm.c decls.
9557         (SECTION_*): New flags.
9558
9559         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
9560         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
9561
9562         * config/elfos.h (UNIQUE_SECTION_P): Remove.
9563         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
9564         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
9565         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
9566         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
9567         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
9568         * config/mips/elf.h, config/mips/elf64.h: Likewise.
9569         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
9570         * config/pa/pa64-hpux.h,
9571
9572         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
9573         (TARGET_ASM_NAMED_SECTION): New.
9574         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
9575         * config/alpha/vms.h, config/arm/coff.h: Likewise.
9576         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
9577         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
9578         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
9579         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
9580         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
9581         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
9582         * config/i386/sco5.h, config/i386/win32.h: Likewise.
9583         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
9584         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
9585         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
9586         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
9587         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
9588         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
9589         * config/sparc/sysv4.h: Likewise.
9590
9591         * config/nextstep.h: Error until named sections implemented.
9592
9593         * config/a29k/a29k.c (a29k_asm_named_section): New.
9594         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
9595         (vms_section_type_flags, vms_asm_named_section): New.
9596         * config/arm/arm.c (arm_elf_asm_named_section): New.
9597         * config/avr/avr.c (asm_output_section_name): Remove.
9598         * config/avr/avr-protos.h: Update.
9599         * config/c4x/c4x.c (c4x_asm_named_section): New.
9600         * config/h8300/h8300.c (h8300_asm_named_section): New.
9601         * config/i386/i386.c (sco_asm_named_section): New.
9602         * config/i386/winnt.c (SECTION_PE_SHARED): New.
9603         (i386_pe_section_type_flags): New.
9604         (i386_pe_asm_named_section): New.
9605         * config/i386/i386-protos.h: Update.
9606         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
9607         * config/mcore/mcore.c (mcore_asm_named_section): New.
9608         * config/mips/mips.c (iris6_asm_named_section): New.
9609         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
9610         instead of UNIQUE_SECTION_P.
9611         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
9612         (xcoff_asm_named_section): New.
9613         * config/sh/sh.c (sh_asm_named_section): New.
9614         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
9615
9616         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
9617         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
9618         (EH_FRAME_SECTION_NAME): New.
9619         (EXCEPTION_SECTION): New.
9620         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
9621         (DEBUG_*_SECTION): Remove.
9622         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
9623         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
9624         (EH_FRAME_SECTION_ASM_OP): Remove.
9625
9626         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
9627         (ASM_OUTPUT_SECTION_NAME): Remove.
9628         (TARGET_ASM_NAMED_SECTION): New.
9629         (TARGET_HAVE_NAMED_SECTIONS): New.
9630         (TARGET_SECTION_TYPE_FLAGS): New.
9631         (EH_FRAME_SECTION_ASM_OP): Remove.
9632         (EH_FRAME_SECTION_NAME): New.
9633
9634 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
9635
9636         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
9637         for complex expressions when cfun == 0.
9638         * doc/extend.texi: Document that __builtin_constant_p can be
9639         used in data initializers as well as functions.
9640
9641 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
9642
9643         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
9644         variable I locally, instead of expecting a declaration in the
9645         calling context.
9646
9647 2001-08-03  Richard Henderson  <rth@redhat.com>
9648
9649         * except.c (collect_one_action_chain): Add an explicit cleanup
9650         action if regions surrounding a catch were encoded entirely
9651         within the call-site entry.
9652
9653 2001-08-03  Richard Henderson  <rth@redhat.com>
9654
9655         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
9656         don't take REGNO of a non-register.
9657
9658 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9659
9660         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
9661         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
9662         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
9663         (__gthread_mutex_init_function): New function for mutex initialization.
9664
9665 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9666
9667         * Makefile.in: Revert screwed up commit.
9668
9669 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9670
9671         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
9672         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
9673         merged by linker script to get a final _exit().
9674         (__do_global_dtors): New for destructor handling in specific exit
9675         section.
9676         (__do_global_ctors): New for constructors in specific install section.
9677         (__map_data_section): Map data sections before running constructors.
9678         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
9679         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
9680         (DTORS_SECTION_ASM_OP): Likewise.
9681         (CTORS_SECTION_FUNCTION): Define to force a reference to
9682         __do_global_ctors.
9683         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
9684
9685 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9686
9687         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
9688
9689         * Makefile.in: Add df.h to gcse.c dependencies.
9690
9691 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9692
9693         * varasm.c (output_constant_def_contents): Use for the length of a
9694         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
9695         depending on which is larger.
9696
9697 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
9698
9699         * gcse.c: Include df.h for use as a dataflow analyzer.
9700         Remove regvec.
9701         Declaration of reg_set_info: gone.
9702         New df_analyzer variable used by store motion.
9703         (reg_set_info): Deleted.
9704         (mark_mem_regs): New function, analyze regs used by a mem.
9705         (store_ops_ok): Use dataflow analyzer results to determine if
9706         necessary regs are changed in the block.
9707         (find_moveable_store): Remove check for symbol ref, we can handle
9708         much more complex expressions now.
9709         (compute_store_table): Remove most of the code, it's unnecessary
9710         now that the dataflow analyzer records the info for us.
9711         (store_killed_after): Add parameter to say whether to do the
9712         store_ops_okay test, used to speed up testing when we already know
9713         the answer, and just want to know if the store itself was killed.
9714         (build_store_vector): Largely rewritten to calculate the various
9715         vectors properly, and somewhat optimized.
9716         (store_motion): Init the df_analyzer, get REG_DEF chains.
9717         Also handle trapping expressions (since mems almost always trap)
9718         (simple_mem): Redefine what a simple mem is.
9719
9720 2001-08-03  DJ Delorie  <dj@redhat.com>
9721
9722         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
9723         set from a constant part of the condition.
9724
9725 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
9726
9727         * mkdeps.c (deps_add_default_target): Make local variable
9728         ``start'' a const char pointer.
9729         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
9730
9731 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9732
9733         * doc/install.texi (Configuration): Fix markup.
9734         (Specific, i?86-*-udk): Likewise.
9735         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
9736         --with-gnu-ld.
9737         Document --enable-threads and --enable-libgcj status.
9738         (Specific, mips-sgi-irix*): Canonicalize triples.
9739         (Specific, mips-sgi-irix5): Warn about problems with this config.
9740         Mention required GNU as patch.
9741         Native assembler problems are fixed.
9742         (Specific, mips-sgi-irix6): Update O32 ABI support status.
9743         Document --enable-threads and --enable-libgcj status.
9744
9745 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9746
9747         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
9748         of mkinstalldirs.
9749
9750 2001-08-03  Richard Henderson  <rth@redhat.com>
9751
9752         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
9753         constant data.
9754
9755 2001-08-03  Richard Henderson  <rth@redhat.com>
9756
9757         * rtlanal.c (find_first_parameter_load): Stop if we
9758         reach a CODE_LABEL at BOUNDARY.
9759
9760 2001-08-03  Richard Henderson  <rth@redhat.com>
9761
9762         * config/alpha/alpha.md (force_movdi): New insn.
9763         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
9764         Tweek FRP marking of VMS prologue insns.
9765         * config/alpha/vms.h (EPILOGUE_USES): New.
9766
9767 2001-08-02  Richard Henderson  <rth@redhat.com>
9768
9769         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
9770
9771 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
9772
9773         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
9774         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
9775         config/convex/convex.h, config/d30v/d30v.c,
9776         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9777         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
9778         config/mips/mips.h, config/mn10200/mn10200.h,
9779         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
9780         config/v850/v850.h, config/vax/openbsd.h,
9781         config/vax/openbsd1.h, config/vax/ultrix.h,
9782         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
9783         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
9784         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
9785         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
9786         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
9787         in comments and documentation.
9788
9789 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9790
9791         * line-map.c: New.
9792         * line-map.h: New.
9793         * Makefile.in (line-map.o): New.
9794         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
9795         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
9796         * cpperror.c (print_containing_files): Similarly.
9797         (print_location): Update.  Don't output a space before _Pragma.
9798         * cppfiles.c (stack_include_file): Set to line 1 immediately.
9799         (stack_include_filee, cpp_make_system_header): Update.
9800         (_cpp_execute_include): Get logical line number right for calling
9801         as-yet-unterminated #include.
9802         * cpphash.h (struct cpp_reader): Add line_maps.
9803         (_cpp_do_file_change): Update.
9804         * cppinit.c (cpp_create_reader): Initialize line maps.
9805         (cpp_destroy): Destroy line maps.
9806         (cpp_start_read): Get logical line number right.
9807         * cpplex.c (parse_string): Only warn once for multi-line strings.
9808         Use boolean variable for null warning.
9809         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
9810         already.
9811         (do_include_common): End the directive early.
9812         (do_line): Don't warn about out-of-range lines in preprocessed
9813         source.  Update.  Remove unused variables.
9814         (_cpp_do_file_change): Update for new line mapping.
9815         (pragma_cb): New typedef.
9816         (cpp_register_pragma): Stop looking ahead before calling the
9817         handler.  Clean up.
9818         (do_pragma_system_header): End directive early.
9819         (cpp_get_line_maps): New.
9820         (cpp_pop_buffer): Fudge logical line.  Update.
9821         * cpplib.h: Include line-map.h
9822         (enum cpp_fc_reason): Remove.
9823         (struct cpp_file_change): Update.
9824         (cpp_get_line_maps): New.
9825         * cppmain.c (struct_printer): New member map.
9826         (cb_file_change): Update for new mappings.
9827         * fix-header.c (cb_file_change): Similarly.
9828
9829 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9830
9831         * Makefile.in (libgcc.mk): Define mkinstalldirs.
9832         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
9833
9834 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
9835
9836         * config/vax/vax.c: include expr.h.
9837
9838 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
9839
9840         * Makefile.in ($(srcdir)/configure): Only rebuild in
9841         maintainer mode.
9842         ($(srcdir)/config.in): Only define in maintainer mode.
9843         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
9844
9845 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
9846
9847         * doc/install.texi (Install GCC: Binaries): Update Bull info.
9848
9849 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9850
9851         * gcc.c (set_collect_gcc_options): New function, split out from
9852         main.
9853         Ignore elided switches.
9854         (do_spec_1): Invoke before executing command.
9855         (set_input): Export.
9856         Move declaration ...
9857         * gcc.h (set_input): ... here.
9858         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9859         file.
9860
9861 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
9862
9863         Kill -fhonor-std.
9864         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
9865         interaction.
9866         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
9867
9868 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
9869
9870         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
9871         for the unnamed instructions it expands to.
9872
9873 2001-08-02  Richard Henderson  <rth@redhat.com>
9874
9875         * regclass.c (call_really_used_regs): Conditionally define.
9876         (init_reg_sets_1): Don't use it if not defined.
9877         (fix_register): Similarly, don't set it.
9878
9879 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9880
9881         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
9882         Correct comment that had been missed in the previous change.
9883
9884 2001-08-01  Stan Shebs  <shebs@apple.com>
9885
9886         * config/darwin.c (machopic_stub_name): Try matching by name.
9887         (update_stubs): New function.
9888         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
9889         unconditionally.
9890
9891 2001-08-01  Richard Henderson  <rth@redhat.com>
9892
9893         * except.c (output_function_exception_table): Use assemble_align.
9894         * varasm.c (assemble_eh_label): Remove.
9895         (assemble_eh_align, assemble_eh_integer): Remove.
9896
9897 2001-08-01  Robert Lipe  <robertl@caldera.com>
9898
9899         * dwarfout.c: Remove reference to README.DWARF.
9900
9901 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
9902
9903         * regclass.c (call_really_used_regs): New array for registers which
9904         are actually used by a call.
9905         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
9906         new array.
9907         (fix_register): Set call_really_used too.
9908         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
9909         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
9910
9911 2001-08-01  Richard Henderson  <rth@redhat.com>
9912
9913         * read-rtl.c (read_name): Consider \r whitespace.
9914
9915 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
9916
9917         * config.gcc: Recognize powerpc-*-netbsd*.
9918
9919         * doc/install.texi (Host/target specific installation notes for
9920         GCC): Mention powerpc-*-netbsd*.
9921
9922         * config/rs6000/netbsd.h: New file.
9923         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
9924         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
9925         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
9926         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
9927         (TARGET_VERSION): Redefine.
9928
9929         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
9930         mcall-netbsd as a match for mcall-sysv.
9931         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
9932         (ncrti.S, ncrtn.S): New targets.
9933         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
9934
9935         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
9936         "netbsd' as a V4 ABI.
9937         (ASM_SPEC): Check for -mcall-netbsd.
9938         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
9939         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
9940         (LIB_SPEC, ENDFILE_SPEC): Ditto.
9941         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
9942         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
9943         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
9944         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
9945
9946         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
9947         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
9948
9949 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
9950
9951         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
9952         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
9953         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
9954         including "unwind-pe.h".
9955
9956 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
9957
9958         * rs6000.md (define_splits): Kill unused constraints.
9959
9960 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
9961                               Jan Hubicka  <jh@suse.cz>
9962
9963         * function.c (thread_prologue_and_epilogue_insns): Kill code
9964         dealing with non-existent CFG.
9965
9966 2001-08-01  Kazu Hirata  <kazu@hxi.com>
9967
9968         * alias.c: Fix comment formatting.
9969         * bitmap.c: Likewise.
9970         * builtins.c: Likewise.
9971         * calls.c: Likewise.
9972         * c-common.c: Likewise.
9973         * c-decl.c: Likewise.
9974         * c-dump.c: Likewise.
9975         * c-lex.c: Likewise.
9976         * collect2.c: Likewise.
9977         * combine.c: Likewise.
9978         * conflict.c: Likewise.
9979         * cppfiles.c: Likewise.
9980         * cppinit.c: Likewise.
9981         * cpplex.c: Likewise.
9982         * cpplib.c: Likewise.
9983         * cppmacro.c: Likewise.
9984         * cppspec.c: Likewise.
9985         * c-pragma.c: Likewise.
9986         * crtstuff.c: Likewise.
9987         * cse.c: Likewise.
9988         * cselib.c: Likewise.
9989         * c-semantics.c: Likewise.
9990         * c-typeck.c: Likewise.
9991
9992 2001-08-01  H.J. Lu <hjl@gnu.org>
9993
9994         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
9995
9996 2001-08-01  H.J. Lu <hjl@gnu.org>
9997
9998         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
9999
10000 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
10001
10002         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
10003         contextualizing Objective-C class name lookup by the lexer.
10004         (typespec_reserved_nonattr): Disable ObjC class name lookup after
10005         seeing a TYPESPEC.
10006         (protocoldef): Add support for forward @protocol declarations.
10007         (yylexname): Suppress ObjC class name lookup in certain contexts;
10008         re-enable after lookup is complete.
10009         (_yylex): Re-enable ObjC class name lookup when certain
10010         punctuation marks are seen.
10011
10012         * objc/objc-act.c (check_protocol_recursively): New function used
10013         for finding circular dependencies in protocols.
10014         (objc_declare_protocols): New function for handling forward
10015         @protocol declarations.
10016         (receiver_is_class_object): Detect the case when 'self' is used
10017         inside of a class method.
10018         (build_message_expr): Issue a warning if class method is desired
10019         but instance method is found instead.
10020         (conforms_to_protocol): Streamline.
10021         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
10022         protocol Foo, even if 'Bar foo' does not.
10023         (check_protocols): Streamline.
10024         (start_protocol): Add checks for circular and duplicate protocol
10025         definitions.
10026         (encode_aggregate_within): For typedefs of structs, encode the
10027         underlying struct.
10028         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
10029         (objc_declare_protocols): New prototype.
10030
10031 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10032
10033         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
10034         * cpplex.c (handle_newline): Update prototype.  Maintain logical
10035         line number.
10036         (skip_escaped_newlines, skip_block_comment, parse_string):
10037         Update accordingly.
10038         (_cpp_lex_token): Update, and store token position within the token.
10039         * cpplib.h (struct cpp_token): Add line and column entries.
10040         * cppmacro.c (replace_args): Position stringified tokens correctly.
10041
10042 2001-08-01  Andreas Jaeger  <aj@suse.de>
10043
10044         * basic-block.h: Add prototype for last_loop_beg_note.
10045
10046 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
10047
10048         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
10049         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
10050         comment.
10051         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
10052         while handling WITH_CLEANUP_EXPR node. Use second operand calling
10053         expand_decl_cleanup.
10054         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
10055         the first RTX.
10056         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
10057         operand while calling simple_cst_equal.
10058         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
10059         operand is the cleanup expression, the third is the RTL_EXPR.
10060         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
10061
10062 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
10063
10064         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
10065
10066 2001-07-31  matthew green  <mrg@eterna.com.au>
10067
10068         * config.gcc (i386-*-netbsdelf): New description.
10069         * config/i386/netbsd-elf.h: New file.
10070
10071 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
10072
10073         * loop.c (check_dbra_loop): Use single_set to compute
10074         jump_label.
10075
10076 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
10077
10078         PowerPC reorg and support for powerpc64-*-linux*.
10079
10080         Also fixes emitting of constants on 32 bit and 64 bit
10081         platforms.
10082
10083         * config.gcc: powerpc64-*-linux* is a new target.
10084         Things that needed aix.h now also include xcoff.h
10085
10086         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
10087         xcoff.h.
10088         Move AIX specific stuff into aix.h.
10089         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
10090         with more than just XCOFF now.
10091         (SET_ASM_OP): Remove, now defined where needed.
10092         (FUNCTION_PROLOGUE): New macro definition.
10093         (FUNCTION_EPILOGUE): New macro definition.
10094         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
10095
10096         * config/rs6000/xcoff.h: New file.
10097
10098         * config/rs6000/linux64.h: New file.
10099
10100         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
10101
10102 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
10103
10104         * rs6000.c (print_operand_address): Handle ELF syntax.
10105         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
10106         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
10107         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
10108
10109 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
10110
10111         * rs6000.c (rs6000_override_options): Only disable
10112         flag_function_sections for XCOFF.
10113         (exact_log2_cint_operand): New predicate.
10114         (reg_or_{add,sub}_cint64_operand): New predicates.
10115         (add_operand): Compare CONST_INT with fewer function calls.
10116         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
10117         (print_operand, case 'p'): Ensure positive operand.
10118         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
10119         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
10120         (PREDICATE_CODES): Add new predicates.
10121         * rs6000.md (addsi3): Split 32-bit constants more correctly.
10122         (divsi3, modsi3): Ensure positive power-of-2.
10123         (adddi3): Use new predicate.  Split 32-bit constants more
10124         correctly.  Re-arrange splitter to handle any constant.
10125         (subdi3): Use new predicate.
10126         (divdi3, moddi3): Ensure positive power-of-2.
10127         (movdi): Use rs6000_emit_set_const.
10128         (load_toc_v4_pic_di): Delete.
10129
10130 2001-07-31  Graham Stott <grahams@redhat.com>
10131
10132         * function.c (pad_below): Revert 2001-07-26 patch.
10133
10134 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
10135
10136         * reg-stack (convert_regs_1): Fix best edge condition.
10137
10138 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
10139
10140         * jump.c (duplicate_loop_exit_test): Better test for jumps
10141         entering the loop; create loop pre_header.
10142
10143 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
10144
10145         * doc/install.texi: Add s390 and s390x as new targets.
10146         * doc/invoke.texi: Add documentation of S/390 and zSeries
10147         target options.
10148         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
10149
10150 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
10151
10152         * config/m68k/m68k.md: Replace all general_operand with
10153         nonimmediate_operand for all destinations.
10154         * config/m68k/m68k.c (not_sp_operand): Likewise.
10155
10156 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
10157
10158         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
10159
10160 2001-07-30  Richard Henderson  <rth@redhat.com>
10161
10162         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
10163         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
10164
10165 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
10166
10167         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
10168         Add missing doc strings
10169         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
10170         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
10171
10172 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
10173
10174         * i386.c (ix86_output_main_function_alignment_hack): New function.
10175         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
10176
10177         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
10178         edges by EDGE_DFS_BACK flag.
10179         (dump_edge_info): Add dfs_back flag.
10180         * basic-block.h (EDGE_DFS_BACK): New constant.
10181         (mark_dfs_back_edges): Declare.
10182         * alias.c (loop_p): Remove.
10183         (mark_constant_function): Use mark_dfs_back_edges.
10184
10185         * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
10186         (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
10187         (compensate_edge): Break out from ...
10188         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
10189         (convert_regs_2): Set block_done once block is really done;
10190         Do updating of the predecesors counts.
10191
10192         * toplev.c (rest_of_compilation): Recompute block_for_insn
10193         before post-reload cfg_cleanup.
10194         * function.c (thread_prologue_epilogue_insns):
10195         Call set_block_for_new_insns when emitting prologue directly.
10196
10197 2001-07-30  Andreas Jaeger  <aj@suse.de>
10198
10199         * jump.c: Add prototype for mark_modified_reg.
10200
10201         * cse.c (set_live_p): Add unused attribute.
10202
10203         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
10204         overflow.
10205         (scan_for_source_files): Use long for count to avoid overflow.
10206         (output_data): Likewise.
10207         (output_data): Don't use string concatatenation to silence gcc
10208         -traditional.
10209
10210         * predict.c: Fix typos and grammar.
10211
10212         * gcse.c (insert_insn_end_bb): Remove unused variables.
10213
10214 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
10215
10216         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
10217         (attempt_auto_inc): LIkewise.
10218         (mark_used_reg): Likewise.
10219         (try_pre_increment_1): Likewise.
10220         * regclass.c (regclass): Likewise.
10221         * global.c (allocno_compare): Update comment; change scaling factor.
10222         * local-alloc.c (QTY_CMP_PRI): Likewise.
10223         * regs.h (REG_FREQ_FROM_BB): New.
10224         (REG_FREQ_MAX): Likewise.
10225
10226 2001-07-30  H.J. Lu <hjl@gnu.org>
10227
10228         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
10229         -D_GNU_SOURCE.
10230
10231 2001-07-30  H.J. Lu  (hjl@gnu.org)
10232
10233         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
10234         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
10235         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
10236
10237 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
10238
10239         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
10240         as -mthumb-interwork when -mcpu=arm7 is specified.
10241
10242 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
10243
10244         * predict.def (noreturn, loop branch, loop exit): Mark as first
10245         match heuristics.
10246
10247 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
10248
10249         * combine.c (try_combine): Avoid barrier after noop jumps.
10250
10251 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10252
10253         * cpphash.h (struct cpp_reader): Remove import_warning.
10254         * cpplib.c (skip_rest_of_line): Don't bother turning off
10255         macro expansion.
10256         (parse_include): Move include handling to...
10257         (do_include_common): ... here.  Move import warning from...
10258         (do_import): ... here.
10259         (do_pragma_poison): Don't do a callback for poison identifiers.
10260         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
10261         * cppmain.c (setup_callbacks): Similarly.
10262
10263 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
10264
10265         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
10266         handle multiple sets.
10267         * except.c (sjlj_mark_call_sites): .... here.
10268         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
10269
10270 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
10271
10272         Suggested by Richard Henderson and Richard Kenner:
10273         * combine.c (recog_for_combine): Use the fake recog
10274         only if instruction does not match.
10275         * rtl.h (NOOP_MOVE_INSN_CODE): New.
10276         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
10277
10278         * combine.c (try_combine): Discover noop jump as direct jump.
10279
10280 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
10281
10282         * df.c (df_rd_global_compute): Add successors to worklist, not
10283         current item.
10284         (df_ru_global_compute): Ditto.
10285
10286 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
10287
10288         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
10289         increment REG_N_SETS.
10290
10291 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
10292
10293         * sbitmap.h: New prototype for sbitmap_a_xor_b.
10294
10295         * sbitmap.c (sbitmap_a_xor_b): New function.
10296         ifdef the basic block stuff on IN_GCC.
10297
10298 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10299
10300         * cppexp.c (parse_defined): Always record the macro name.
10301         (lex): Don't worry about identifiers, or special-case
10302         CPP_NOT here.
10303         (_cpp_parse_expr): Figure out at the end of the routine
10304         whether we saw a valid !defined() expression.
10305         * cppfiles.c (stack_include_file): Update for mi_valid.
10306         (_cpp_pop_file_buffer): Similarly.
10307         * cpplex.c (_cpp_lex_token): Similarly.
10308         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
10309         mi_if_not_defined, mi_lexed): Remove.
10310         (mi_valid): New.
10311         * cpplib.c (do_if): Simplify.
10312         (do_endif, push_conditional, _cpp_handle_directive): Update
10313         for renaming of mi_state to mi_valid.
10314 doc:
10315         * cpp.texi: Add index entries for digraphs, and add comment
10316         that C++ refers to them as alternative tokens.
10317
10318 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
10319
10320         * basic-block.h (CLEANUP_PRE_LOOP): New.
10321         * except.c (finish_eh_generation): Update call of cleanup_cfg.
10322         * sibcall.c (optimize_sibling_calls): Likewise.
10323         * toplev.c (rest_of_compilation): Likewise.
10324         * flow.c (try_forward_edges): Take argument MODE;
10325         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
10326         (try_optimize_cfg): Update call of try_forward_edges.
10327
10328 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
10329                                 Jan Hubicka  <jh@suse.cz>
10330
10331         * (validate_replace_rtx_1): Fix simplification of MINUS.
10332
10333 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
10334
10335         PR preprocessor/3669
10336         * cppinit.c (init_dependency_output): Turn off dump requests
10337         if sending dependencies to stdout.
10338
10339 2001-07-28  Richard Henderson  <rth@redhat.com>
10340
10341         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
10342         not optimizing.
10343
10344 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
10345
10346         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
10347
10348 2001-07-28  Kazu Hirata  <kazu@hxi.com>
10349
10350         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
10351         is VAR_DECL first to prevent an ICE.
10352
10353 2001-07-28  Richard Henderson  <rth@redhat.com>
10354
10355         * varasm.c (immed_real_const_1): Don't elide special cases for
10356         nested functions.
10357         (clear_const_double_mem): Clear const_tiny_rtx too.
10358
10359 2001-07-28  Richard Henderson  <rth@redhat.com>
10360
10361         * dwarf2out.c (dw_val_class_offset): New.
10362         (struct dw_ranges_struct, dw_ranges_ref): New.
10363         (ranges_table, ranges_table_allocated): New.
10364         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
10365         (add_AT_offset, add_ranges, output_ranges): New.
10366         (print_die, output_die): Handle dw_val_class_offset.
10367         (attr_checksum, size_of_die, value_format): Likewise.
10368         (gen_lexical_block_die): Handle non-contiguous blocks.
10369         (gen_block_die): Likewise.
10370         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
10371         if needed.  Dump the ranges table.
10372         * final.c (final_start_function): Remove unnecessary notes and
10373         rebuild the block tree before numbering the blocks.
10374         * function.c (reorder_blocks_0): Walk the existing block tree
10375         to unmark all blocks.
10376         (reorder_blocks_1): Create block fragments when duplicate block
10377         notes are seen.
10378         (reorder_fix_fragments): New.
10379         (reorder_blocks): Call it.
10380         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
10381
10382 2001-07-28  Richard Henderson  <rth@redhat.com>
10383
10384         * emit-rtl.c (adjust_address): Make a copy of the memory address.
10385
10386 2001-07-28  Richard Henderson  <rth@redhat.com>
10387
10388         * flow.c (add_to_mem_set_list): New function.
10389         (init_propagate_block_info): Use it.
10390         (mark_set_1): Likewise.
10391         (insn_dead_p): Canonicalize memory address for dead store
10392         comparison.  Allow wider mode stores to kill narrower mode stores.
10393         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
10394         (invalidate_mems_from_set): Don't handle MEMs.
10395
10396 2001-07-28  Kazu Hirata  <kazu@hxi.com>
10397
10398         * config/h8300/h8300.h: Fix formatting.
10399
10400 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10401
10402         * basic-block.h (EDGE_FREQUENCY): New macro.
10403         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
10404         for new BB/edges.
10405         * flow.c (find_sub_basic_blocks): Likewise.
10406         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
10407         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
10408
10409         * predict.c (DEF_PREDICTOR): New argument FLAGS.
10410         (HITRATE): New macro.
10411         (PRED_FLAG_FIRST_MATCH): New constant.
10412         (predictor_info): New field flgags.
10413         (combine_predictions_for_insn): Use DS theory to combine
10414         probabilities; set the edge probabilities when finished.
10415         (estimate_probability): Avoid duplicated matches
10416         of LOOP_BRANCH heuristics for nested loops; update comment.
10417         * predict.def: Add flags for each prediction, set probabilities
10418         according to B&L paper.
10419         * predict.h (DEF_PREDICTOR): New argument FLAGS.
10420
10421         * profile.c (compute_branch_probabilities):  Cleanup way the edge
10422         probabilities are computed and REG_BR_PROB notes are dropped; if
10423         values does not match, emit error.
10424         (init_branch_prob): Do error instead of warning when profile driven
10425         feedback is missing or corrupt.
10426
10427 2001-07-27  DJ Delorie  <dj@redhat.com>
10428
10429         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
10430         against a constant, try to adjust the compare to have the desired
10431         constant in it so that min/max optimizations happen more often.
10432
10433 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
10434
10435         * flow.c (last_loop_beg_note): New function.
10436         (redirect_edge_and_branch): Use it.
10437         (split_edge): Likewise.
10438
10439         * alias.c (loop_p): Avoid uninitialized memory access.
10440
10441         * flow.c (try_forward_edges): Avoid accessing freed memory.
10442
10443         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
10444         variable access.
10445
10446 2001-07-26  Andrew Haley  <aph@redhat.com>
10447         Joern Rennecke <amylaar@redhat.com>
10448
10449         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
10450         (SUBTARGET_CPP_ENDIAN_SPEC): New.
10451         (SUBTARGET_CPP_SPEC): New.
10452         (CPP_SPEC): Remove.
10453         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
10454         (SUBTARGET_CPP_PTR_SPEC): New.
10455         (CPP_DEFAULT_CPU_SPEC): New.
10456         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
10457         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
10458         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
10459         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
10460         (SUBTARGET_CPP_SPEC): Define as an empty string.
10461
10462 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10463
10464         * doc/install.texi (Configuration): Properly link the host
10465         specific instructions also when generating HTML.
10466
10467 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
10468
10469         * flow.c (redirect_edge_and_branch_force): Test
10470         target->global_live_at_start.
10471
10472 2001-07-26  Richard Henderson  <rth@redhat.com>
10473
10474         * simplify-rtx.c (avoid_constant_pool_reference): Export.
10475         * rtl.h (avoid_constant_pool_reference): Declare it.
10476         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
10477         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
10478
10479 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
10480
10481         * rtl.h (cleanup_barriers): Declare.
10482         * jump.c (cleanup_barriers): New function.
10483         * toplev.c (rest_of_compilation): Call cleanup_barriers
10484         before loop optimizer and after bb_reorder.
10485
10486         * flow.c (back_edge_of_syntactic_loop_p): New.
10487         (split_edge): Use it.
10488
10489 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10490
10491         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
10492
10493 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
10494
10495         * cse.c (cse_process_notes): Replace any registers if the address
10496         remains valid.
10497
10498 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
10499
10500         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
10501         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
10502         (propagate_block): Update prototype.
10503         * flow.c (update_life_info): Simplify the CFG and
10504         recalculate the global regs which are alive when
10505         removing dead code during a global update.
10506         (propagate_block): Return non-zero if an INSN is
10507         deleted.
10508
10509 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10510
10511         * Makefile.in (LIBICONV): Define.
10512
10513 2001-07-26  Catherine Moore  <clm@redhat.com>
10514
10515         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
10516         of conditional to avoid tree checking errors.
10517
10518 2001-07-26  Kazu Hirata  <kazu@hxi.com>
10519
10520         * regmove.c (regmove_optimize): Don't replace a reg with
10521         another reg of a different mode.
10522
10523 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
10524
10525         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
10526         limit length of dependency flush list.
10527         * params.h (MAX_PENDING_LIST_LENGTH): Define.
10528         * sched-int.h  (struct deps): Add pending_flush_length field.
10529         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
10530         has 1 element in it.
10531         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
10532         (sched_analyze): After a jump, if the pending memory flush list is too
10533         large, flush the pending lists.
10534         (init_deps): Initialize pending_flush_length to 0.
10535         * doc/invoke.texi (max_pending_list_length): Document parameter.
10536
10537 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10538
10539         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
10540         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
10541         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
10542
10543 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10544
10545         * cpphash.h (struct_lexer_state): Delete was_skipping.
10546         Move skipping here from struct cpp_reader.
10547         * cpplex.c (parse_identifier): Update.
10548         (_cpp_lex_token): Don't skip tokens in a directive.
10549         * cpplib.c (struct if_stack): Update.
10550         (start_directive, end_directive): Don't change skipping state.
10551         (_cpp_handle_directive): Update.
10552         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
10553         (do_else, do_endif): Update; only check for excess tokens if not
10554         in a skipped conditional block.
10555         (push_conditional): Update for new struct if_stack.
10556
10557 2001-07-26  Graham Stott  <grahams@redhat.com>
10558
10559         * function.c (locate_and_pad_parm): Also pad initial offset
10560         so that the total argument size also includes the padding.
10561
10562 2001-07-26  Graham Stott <grahams@redhat.com>
10563
10564         * gensupport.c (alter_output_for_insn): Correct enable checking failure
10565         change XSTR to XTMPL.
10566
10567         (process_one_cond_exec): Likewise
10568
10569 2001-07-25  Richard Henderson  <rth@redhat.com>
10570
10571         * varasm.c (assemble_variable): Create DECL_RTL before setting
10572         TREE_ASM_WRITTEN.
10573
10574 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
10575
10576         * predict.c (estimate_probability): Avoid duplicated predictions.
10577
10578         * loop.c (find_and_verify_loops): Grok multiple barriers.
10579
10580 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10581
10582         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
10583
10584         * dbxout.c: Consistently use putc instead of fputc.
10585         (print_wide_int): New function; call instead of direct fprintf.
10586         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
10587         (dbxout_type_fields, dbxout_type_method_1): Likewise.
10588         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
10589         (print_int_cst_octal): Likewise.
10590         (print_octal): Show we wrote characters.
10591         (dbxout_type): Set have_used_extensions in more places.
10592
10593 2001-07-25  Catherine Moore  <clm@redhat.com>
10594
10595         * config/v850/v850.c (v850_va_arg):  Use addr
10596         instead of valist to build incr.
10597
10598 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
10599
10600         * flow.c (delete_dead_jumptables): New function.
10601         (life_analyzis): Call it.
10602         * bb-reorder.c (skip_insns_after_block): Handle contradictory
10603         sequences.
10604
10605 2001-07-25  Richard Henderson  <rth@redhat.com>
10606
10607         * except.c (reachable_handlers): Handle a region being removed
10608         out from under a RESX.
10609
10610 2001-07-25  Richard Henderson  <rth@redhat.com>
10611
10612         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
10613         swap GE/GT if it is an fp comparison.
10614
10615 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
10616
10617         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
10618         operands.
10619
10620 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
10621
10622         * ssa.c (rename_insn_1): Do not wrap an assignment to a
10623         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
10624         glitch.
10625
10626         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
10627         throw an exception.
10628         (visit_expression): When attempting to simplify an expression,
10629         retrieve any modes for arguments before they are simplified
10630         to constants.
10631
10632 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
10633             Janis Johnson  <janis@us.ibm.com>
10634
10635         * stmt.c (expand_goto): A nonlocal goto can be a call too.
10636         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
10637         pointer parameters to match documented usage of nonlocal_goto.
10638         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
10639         parameters to their correct order.
10640         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
10641         parameters to their correct order.
10642
10643 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
10644
10645         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
10646
10647 2001-07-25  Jan Hubicka  <jh@suse.cz>
10648             Richard Henderson  <rth@redhat.com>
10649
10650         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
10651         the sequence.
10652         (make_edges): New argument update_p; populate the edge cache if set.
10653         (find_basic_blocks): Update make_edges invocation.
10654
10655 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10656
10657         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
10658
10659 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10660
10661         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
10662         -Acpu and -Amachine.h.
10663         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
10664         Corrected header to say ELF not a.out.
10665         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
10666         when given -msoft-float.
10667
10668 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10669
10670         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
10671         extra multilib parts like arm-elf.
10672         (i960-*-coff*, i960-*-rtems): Should not use collect2.
10673         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
10674         crtfini.o as extra multilib parts.
10675
10676 2001-07-24  Joel Sherrill <joel@OARcorp.com>
10677
10678         * configure.in: Add rtems as a supported thread model.
10679         * gthr-rtems.h: Add missing entry point __gthread_active_p.
10680         * configure: Rebuilt.
10681
10682 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
10683
10684         * stor-layout.c (get_mode_alignment): make it work when
10685         BITS_PER_UNIT is not a power of two.
10686         * builtins.c (get_pointer_alignment): Likewise.
10687
10688 2001-07-24  Richard Henderson  <rth@redhat.com>
10689
10690         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
10691         the retrieved constant into the expected mode.
10692
10693 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
10694
10695         * flow.c (try_simplify_condjump): Avoid duplicated edges.
10696         (verify_flow_info): Check for duplicated edges; clarify
10697         error reporting.
10698
10699         * flow.c (block_label): Update basic_block_for_insn.
10700         (commit_edge_insertions): Call compute_bb_for_insn.
10701
10702         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
10703         returns too.
10704
10705         * flow.c (redirect_edge_and_branch,
10706         try_optimize_cfg): Use redirect_edge_succ_nodup
10707         (redirect_edge_succ_nodup): New.
10708         * basic_block.h (redirect_edge_succ_nodup): Declare.
10709
10710         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
10711         after gcse.
10712
10713 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
10714
10715         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
10716         (try_crossjump_to_edge): Update commetns.
10717         (try_crossjump_bb): Likewise.
10718
10719 2001-07-24  Richard Henderson  <rth@redhat.com>
10720
10721         * combine.c (distribute_notes): Move set of need_refresh
10722         for noop_move_p down to catch all cases.
10723
10724 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
10725
10726         * recog.c (split_all_insns_noflow): New.
10727         * rtl.h (split_all_insns_noflow): Declare.
10728         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
10729         * m68hc11.c (m68hc11_reorg): Likewise.
10730         * sh.c (machine_dependent_reorg): Likewise.
10731         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
10732         call.
10733
10734 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
10735
10736         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
10737         (ashlsi3_n splitter): Likewise.
10738         (lshrsi3_n splitter): Likewise.
10739
10740         (GOTaddr2picreg): Make const SImode.
10741         (sym_label2reg): Likewise.
10742         (symGOT2reg): Likewise.
10743         (symGOTOFF2reg) Likewise.
10744
10745         (casesi_worker_0): Make unspec SImode.
10746
10747 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
10748
10749         * config/sh/sh.c (barrier_align): Check that an operand really is
10750         an insn before extracting its INSN_CODE.
10751
10752 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
10753
10754         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
10755         dangling else.
10756
10757         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
10758         for SImode to prevent overflow.
10759
10760 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10761
10762         * config/mips/irix6-libc-compat.c: New file.
10763         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
10764         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
10765         passing workaround.
10766
10767 2001-07-24  lars brinkhoff  <lars@nocrew.org>
10768
10769         * rtl.texi (REG_POINTER): Document.
10770         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
10771         QFmode, HFmode, TQFmode, QCmode, and HCmode.
10772
10773 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
10774
10775         * flow.c (delete_noop_moves): Do not confuse libcall regions.
10776
10777 2001-07-23  Richard Henderson  <rth@redhat.com>
10778
10779         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
10780
10781 2001-07-23  Kazu Hirata  <kazu@hxi.com>
10782
10783         * config/h8300/h8300-protos.h: Add a prototype for
10784         general_operand_dst_push.
10785         * config/h8300/h8300.c (general_operand_dst_push): New.
10786         * config/h8300/h8300.h (OK_FOR_T): New.
10787         (EXTRA_CONSTRAINT): Use it.
10788         * config/h8300/h8300.md (movqi_push): Remove and integrate into
10789         the existing movqi pattern.
10790         (movhi_push): Likewise.
10791
10792         * reload.c: Fix comment typos.
10793
10794 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
10795
10796         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
10797
10798 2001-07-23  H.J. Lu  (hjl@gnu.org)
10799
10800         * doc/extend.texi: Update __builtin_return_address and
10801         __builtin_frame_address.
10802
10803 2001-07-23  Richard Henderson  <rth@redhat.com>
10804
10805         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
10806         before CSE.
10807         * config/i386/i386.md: New setcc+movzbl peephole2.
10808
10809 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10810
10811         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
10812         * objc/objc-act.c: Include debug.h.
10813         (synth_module_prologue): Save and restore debug hooks too.
10814
10815 2001-07-23  lars brinkhoff  <lars@nocrew.org>
10816
10817         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
10818         and C4X_FLOAT_FORMAT.
10819         (BOOL_TYPE_SIZE): Document.
10820
10821 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
10822
10823         * unroll.c (loop_iterations): Fix miscalculation of initial
10824         giv offset.
10825
10826 2001-07-13  Andrew Haley  <aph@redhat.com>
10827
10828         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
10829         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
10830         * config/sh/sh.c (sh_can_redirect_branch): New function.
10831         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
10832         * reorg.c (steal_delay_list_from_target): Use
10833         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
10834
10835 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
10836
10837         * flow.c (try_simplify_condjump): Unlink insn chain on
10838         fallthru edge; use can_fallthru.
10839
10840 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
10841
10842         * basic-block.h (find_sub_basic_block): Declare.
10843         * flow.c (make_edges): New arguments MIN and MAX;
10844         (find_sub_basic_blocks): Revamp to use make_edges
10845         and purge_dead_edges.
10846         (find_basic_blocks): Update call of find_sub_basic_block.
10847
10848         * recog.c (split_all_insns): Always expect CFG to be consistent;
10849         call find_sub_basic_blocks in case something has changed.
10850         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
10851         has been built.
10852
10853         * basic-block.h (delete_noop_moves): Declare.
10854         * combine.c (combine_instructions): Call it.
10855         (recog_for_combine): Tolerate noop moves
10856         (distribute_notes): Force refresh when register dies at noop move.
10857         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
10858         too.
10859         (life_analysis): Update delete_noop_moves call.
10860         (set_noop_p): Move too ...
10861         * rtlanal.c (noop_move_p): ... here.
10862         * rtl.h (noop_move_p): Declare.
10863
10864         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
10865         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
10866         after combine.
10867         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
10868         (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
10869
10870 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
10871
10872         * reload.c (push_reload): Fix typo in comment.
10873         (find_reloads_address): Ditto.
10874         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
10875
10876 2001-07-22  Richard Henderson  <rth@redhat.com>
10877
10878         * flow.c: Grammar check and clarify a lot of comments.
10879         (try_simplify_condjump): Rename variables to be clearer.
10880         (try_forward_edges): Skip complex and fallthru edges.
10881         Rearrange tests to avoid duplicate checks.
10882         (flow_find_cross_jump): Likewise.
10883         (outgoing_edges_match): Allow match if neither branch has
10884         probability data.  Loosen probability match to 5%.
10885         (try_crossjump_to_edge): Hoist repeated indirection into
10886         local variables.
10887         (try_crossjump_bb): Don't check complex edges.  Eliminate
10888         redundant crossjump tests.
10889         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
10890         checks before more expensive checks.
10891
10892 2001-07-22  Richard Henderson  <rth@redhat.com>
10893
10894         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
10895         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
10896         arguments.
10897
10898 2001-07-22  Richard Henderson  <rth@redhat.com>
10899
10900         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
10901         (const_sint32_operand): Likewise.
10902         * m68k.md (anon mulsi pattern): Use const_int_operand not
10903         const_sint32_operand.
10904         (umulsi3_highpart): Zero extend a constant input.
10905         (smulsi3_highpart): Don't bother checking SImode constant.
10906         (const_umulsi3_highpart): Give op3 DImode.
10907         (const_smulsi3_highpart): Likewise.
10908
10909 2001-07-22  Richard Henderson  <rth@redhat.com>
10910
10911         * flow.c (split_block): Make sure bb_note is included in the
10912         new block when splitting before a label.
10913
10914 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
10915
10916         * basic-block.h (redirect_edge_and_branch_force,
10917         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
10918         * flow.c (redirect_edge_and_branch_force,
10919         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
10920         (redirect_edge_and_branch_force): Fix copying of lifeness information.
10921         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
10922         * ifcvt.c (dead_or_predictable): Take BB as an new destionation
10923         instead of label; update CFG after transformation.
10924         (find_if_case_1): Update call, use redirect_edge_and_branch_force
10925         for finishing the transformation; handle even case where ELSE
10926         does not follow THEN.
10927         (find_if_case_2): Update call of dead_or_predictable; simplify
10928         CFG update.
10929
10930         * emit-rtl.c (split_branch_probability): New global variable.
10931         (try_split): Take care to set split_branch_probability and
10932         create REG_BR_PROB note for new jump insns.
10933         * md.texi (define_split): Document new feature.
10934
10935         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
10936
10937 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
10938
10939         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
10940         (asm_out_file): Remove redundant declaration.
10941         (assemble_asm): Remove old #if 0 block.
10942         (assemble_variable): Remove end of function; debug output is
10943         now handled with global_decl.  Remove old #if 0 block.  Update.
10944         Remove saved_in_section and associated no-op code.
10945         * Makefile.in (varasm.o): Correct dependencies.
10946
10947 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
10948
10949         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
10950         the definition in defaults.h.
10951
10952 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
10953
10954         * jump.c: Update comments.
10955         (delete_barrier_successors, delete_unreferenced_labels,
10956         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
10957         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
10958         jump_optimize, jump_optimize_minimal): Kill.
10959         (rebuild_jump_labels): Move code from jump_optimize_1.
10960         (purge_line_number_notes): Likewise.
10961         (copy_loop_headers): Likewise.
10962         * reg-stack.c: Update comment.
10963         * stmt.c: Likewise.
10964         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
10965         JUMP_AFTER_REGSCAN): Kill.
10966         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
10967         purge_line_number_notes and copy_loop_headers.
10968
10969 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
10970            Richard Henderson  <rth@redhat.com>
10971
10972         * dbxout.c (dbxout_global_decl): New.
10973         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
10974         * sdbout.c (sdbout_finish): New.
10975         (sdbout_debug_hooks): Use it, add comments.
10976         (sdbout_global_decl): Defer initialised public vars to
10977         sdbout_finish.
10978         * varasm.c (assemble_variable): Don't output debug information
10979         for file-scope variables.
10980
10981 2001-07-22  Richard Henderson  <rth@redhat.com>
10982
10983         * config/alpha/alpha.c (get_trap_mode_suffix): New.
10984         (get_round_mode_suffix): New.
10985         (print_operand): Use them for [/].  Remove support for [&'`()+].
10986         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
10987         * config/alpha/alpha.md (attr round_suffix): New.
10988         (attr trap_suffix): New.
10989         (all insns): Set them appropriately.  Use %/ instead of the
10990         myriad punctuators.
10991
10992 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
10993
10994         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
10995
10996 2001-07-22  Richard Henderson  <rth@redhat.com>
10997
10998         * regrename.c (regrename_optimize): Compute nregs for each
10999         potential target register.
11000
11001 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
11002            Richard Henderson  <rth@redhat.com>
11003
11004         * dbxout.c (dbxout_global_decl): New.
11005         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
11006         * sdbout.c (sdbout_finish): New.
11007         (sdbout_debug_hooks): Use it, add comments.
11008         (sdbout_global_decl): Defer initialised public vars to
11009         sdbout_finish.
11010         * varasm.c (assemble_variable): Don't output debug information
11011         for file-scope variables.
11012
11013 2001-07-21  H.J. Lu  (hjl@gnu.org)
11014
11015         * config/mips/mips.c (mips_cpu): Moved into ...
11016         (override_options): Here.
11017
11018         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
11019         mips_tune.
11020         (mips_cpu): Removed.
11021
11022 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11023
11024         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
11025         ("iorqi3"): Likewise.
11026         ("xorqi3"): Likewise.
11027         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
11028         ("*subhi3_sp): Likewise.
11029         ("*subhi3"): Likewise.
11030         ("extendhisi2"): Accept D, X and Y as source operand to avoid
11031         reload problems.
11032
11033 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
11034
11035         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
11036         * config/freebsd.h: Likewise.
11037         * config/linux.h: Likewise.
11038         * config/openbsd.h: Likewise.
11039         * config/alpha/linux-elf.h: Likewise.
11040         * config/arm/linux-elf.h: Likewise.
11041         * config/d30v/d30v.h: Likewise.
11042         * config/fr30/fr30.h: Likewise.
11043         * config/ia64/aix.h: Likewise.
11044         * config/ia64/ia64.h: Likewise.
11045         * config/mips/linux.h: Likewise.
11046         * config/pj/pj.h: Likewise.
11047         * config/rs6000/linux.h: Likewise.
11048         * config/sparc/linux.h: Likewise.
11049         * config/sparc/linux64.h: Likewise.
11050
11051 2001-07-20  Bruce Korb  <bkorb@gnu.org>
11052
11053         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
11054         because getc() and char* may disagree on signedness.
11055
11056 2001-07-20  Richard Henderson  <rth@redhat.com>
11057
11058         * doc/rtl.texi (REG_DEAD): Update for current semantics.
11059
11060         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
11061         insns to delete in the presence of cc0 in a jump insn.
11062
11063 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
11064                                 Jan Hubicka  <jh@suse.cz>
11065
11066         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
11067         of doing the change by hand.
11068
11069 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
11070
11071         * rtlanal.c (set_noop_p): Return true for noop jumps.
11072
11073         * expr.c (emit_single_push_insn): Add call to push expander.
11074         * expr.h (optab_index): Add OTI_push
11075         (push_optab): New constant.
11076         * genopinit.c (optabs): Add push_optab.
11077         * optabs.c (init_optab): Init push optab.
11078         * md.texi (push??1): Document
11079
11080 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11081
11082         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
11083         expand to emit the pattern; put a REG_INC note for push/pop
11084         instructions.
11085         ("movdf", "movdf_internal"): Likewise.
11086         ("movsi", "movsi_internal"): Likewise.
11087         ("movsf", "movsf_internal"): Likewise.
11088         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
11089
11090 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11091
11092         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
11093         gen_highpart.
11094
11095 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
11096
11097         * params.def: Change default max inline insns to 100.
11098
11099 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
11100
11101         * combine.c (combine_simplify_rtx): Generate a new shift operation
11102         when simplifying the first operand of a (neg (ashift)) expression.
11103
11104 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11105
11106         * regclass.c (N_REG_INTS): Use only 32 bits per element.
11107
11108 2001-07-20  Kelley Cook  <kelley.cook@home.com>
11109
11110         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
11111         information.   Move rest into ...
11112         (*-*-solaris): ... here.  Eliminate redundant information and
11113         reword necessary packages section.  Delete 4.x assembler bug info.
11114         (sparc-sun-*): Merge into ...
11115         (sparc-sun-sunos*): here.
11116
11117 2001-07-20  Catherine Moore  <clm@redhat.com>
11118
11119         * config/v850/v850.md (casesi): Generate LABEL_REF
11120         with Pmode.
11121
11122 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
11123
11124         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
11125         * i386.c (ix86_zero_extend_to_Pmode): Make global.
11126         * i386.md (strclrsi expander): Use it.
11127
11128 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11129
11130         * integrate.c (copy_insn_list): handle
11131         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
11132         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
11133         identically as to CODE_LABEL.
11134
11135         * fold-const (fold): Convert A/B/C to A/(B*C) and
11136         A/(B/C) to (A/B)*C
11137
11138         * except.c (connect_post_landing_pads): Delete the RESX insns.
11139
11140 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
11141
11142         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
11143
11144         * config/mips/mips.md (nmadd/nmsub): Use macro.
11145
11146 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
11147
11148         * cppinit.c (remove_dup_dir): Make static.
11149         (remove_dup_dirs): Make static. Only warn about preempting a
11150         system directory with a non-system directory.
11151
11152 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
11153
11154         * ifcvt.c (noce_try_store_flag_constants): Correct order
11155         of parameters to trunc_int_for_mode.
11156
11157 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
11158
11159         * reorg.c (fill_simple_delay_slots): If an instruction might throw
11160         an exception that will be caught within this function, do not fill
11161         its delay slot with any subsequent instruction.
11162
11163 2001-07-19  Steve Ellcey <sje@cup.hp.com>
11164
11165         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
11166         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
11167         pointer extension instruction.
11168         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
11169         * simplify-rtx.c (simplify_unary_operation) Likewise.
11170         * explow.c (convert_memory_address) Check value of
11171         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
11172         less than zero.
11173         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
11174         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
11175         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
11176         Add Multilib Support.
11177         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
11178         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
11179         Add Multilib Support.
11180         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
11181         support.
11182         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
11183         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
11184         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
11185
11186 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
11187
11188         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
11189         old and new operands in `<', `3' and `b'.
11190
11191 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11192
11193         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
11194         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
11195         (toplev.o): Don't depend on xcoffout.h.
11196         * c-decl.c: Include debug.h
11197         (duplicate_decls): Use debug hook.
11198         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
11199         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11200         (dbxout_types): Remove.
11201         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
11202         * debug.c (do_nothing_debug_hooks): Update.
11203         (debug_true_tree, debug_nothing_rtx): New.
11204         * debug.h (struct rtx_def): New.
11205         (struct gcc_debug_hooks): New hooks ignore_block,
11206         outlining_inline_function and label.
11207         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
11208         dwarf2out_frame_finish): New.
11209         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
11210         Make static, update prototype.
11211         (dwarf2_debug_hooks): Update.
11212         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
11213         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
11214         * dwarfout.c (dwarf_debug_hooks): Update.
11215         * emit-rtl.c: Include debug.h.
11216         (remove_unnecessary_notes): Use debug hook.
11217         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
11218         (final_scan_insn): Use debug hook.
11219         * integrate.c (output_inline_function): Use debug hook.
11220         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
11221         (sdb_debug_hooks): Update.
11222         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
11223         * toplev.c: Don't include xcoffout.h.
11224         (note_outlining_of_inline_function, debug_ignore_block): Remove.
11225         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
11226         Remove.
11227         * tree.h (dwarf2out_do_frame): Remove.
11228
11229 2001-07-19  Catherine Moore  <clm@cygnus.com>
11230
11231         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
11232
11233 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
11234
11235         * reload1.c (eliminate_regs_in_insn): When updating a set
11236         to the frame pointer to the hardware frame pointer, perform
11237         the update always not just when REPLACE is set.
11238
11239         * reload1.c (choose_reload_regs): Don't inherit a reload
11240         that crosses multiple registers if registers past the first
11241         don't fit in the desired class.
11242
11243         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
11244         when negating constants.
11245
11246 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
11247
11248         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
11249         * doc/tree.texi: Ditto.
11250
11251 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
11252             Jakub Jelinek  <jakub@redhat.com>
11253
11254         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
11255         (extract_cie_info): Handle "eh" augmentation properly,
11256         remember eh_ptr.
11257         (struct frame_state, __frame_state_for): New.
11258
11259 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11260
11261         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
11262         HANDLE_SYSV_PRAGMA): Define.
11263         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
11264         previous args.
11265         (copy_object): Caller changed.
11266
11267 2001-07-19  Andreas Schwab  <schwab@suse.de>
11268
11269         * configure.in (assembler dwarf2 debug_line support): Define nop
11270         insn for m68k.
11271         * configure: Regenerated.
11272
11273 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11274
11275         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
11276         dwarfout.h.
11277         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
11278         to conditionally compiled block.
11279         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11280         * dbxout.h (dbxout_function): Remove.
11281         * debug.c (do_nothing_debug_hooks): Update.
11282         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
11283         global_decl, deferred_inline_function.
11284         * dwarf2out.c (dwarf2_debug_hooks): Update.
11285         (dwarf2out_global_decl): New.
11286         * dwarfout.c: Don't include dwarfout.h.
11287         (dwarfout_global_decl, dwarfout_function_decl,
11288         dwarfout_deferred_inline_function): New.
11289         (dwarf_debug_hooks): Update.
11290         * dwarfout.h: Remove.
11291         * final.c: Don't include dwarfout.h.
11292         * sdbout.c (sdbout_global_decl): New.
11293         (sdbout_debug_hooks): Update.
11294         * toplev.c: Don't include dwarfout.h.
11295         (check_global_declarations, rest_of_compilation): Use new debug hooks.
11296         (note_deferral_of_defined_inline_function): Remove.
11297         * toplev.h (note_deferral_of_defined_inline_function): Remove.
11298         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
11299         * ch/lex.c: Don't include dwarfout.h.
11300         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
11301         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
11302         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
11303         * cp/optimize.c: Include debug.h.
11304         (maybe_clone_body): Use debug hook.
11305         * cp/semantics.c: Include debug.h.
11306         (expand_body): Use debug hook.
11307         * po/POTFILES.in: Remove dwarfout.h.
11308
11309 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11310
11311         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
11312         * c-parse.in (yyerror, _yylex): Similarly.
11313         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
11314         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
11315         Update comments.
11316         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
11317         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
11318
11319 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
11320
11321         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
11322         in-class declaration at -g1.  Fixes c++/2814.
11323
11324 2001-07-18  Richard Henderson  <rth@redhat.com>
11325
11326         * doc/md.texi (reload_in/out): Document restrictions in predicates
11327         and constraints for these patterns.  Document empty string matching
11328         ALL_REGS.
11329
11330 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11331
11332         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
11333
11334 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11335
11336         * cse.c: Undo my previous patch.
11337
11338 2001-07-18  Tom Tromey  <tromey@redhat.com>
11339
11340         For PR java/2812:
11341         * configure: Rebuilt.
11342         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
11343         instead.
11344         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
11345
11346 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
11347                                 Jan Hubicka  <jh@suse.cz>
11348
11349         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
11350         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
11351         * jump.c (mark_jump_label): Do not forward branches.
11352
11353 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
11354
11355         * cse.c (delete_trivially_dead_insns): Delete the libcall block
11356         when return value is unused.
11357
11358 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11359
11360         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
11361
11362 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
11363
11364         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
11365         on error.  We can't blindly return the result of
11366         pthread_mutex_trylock because it returns a positive number on
11367         error, while we must return -1 on error.
11368         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
11369         fixes.
11370         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
11371
11372 2001-07-18  Andreas Jaeger  <aj@suse.de>
11373
11374         * integrate.c (output_inline_function): Correct type of debug_hooks.
11375
11376 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
11377
11378         * combine.c (combine_simplify_rtx): DIV can be treated
11379         associatively for floats if unsafe math optimisations are enabled.
11380
11381 2001-07-17  Richard Henderson  <rth@redhat.com>
11382
11383         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
11384
11385 2001-07-17  Richard Henderson  <rth@redhat.com>
11386
11387         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
11388         don't force the function address into a register.
11389         (expand_call, emit_library_call_value_1): Update callers.
11390         * builtins.c (expand_builtin_apply): Likewise.
11391         * expr.h (prepare_call_address): Update decl.
11392
11393 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
11394
11395         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
11396         config directory.
11397         * config/i386/chorus.h: Move up.
11398         * config/sparc/chorus.h: Likewise.
11399         * config/rs6000/chorus.h: Likewise.
11400         * config/chorus.h: Moved here.
11401
11402 2001-07-17  Andreas Schwab  <schwab@suse.de>
11403
11404         * configure.in  (assembler eh_frame optimization): Handle big
11405         endian.
11406         * configure: Regenerated.
11407
11408 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
11409
11410         * expr.c (epxand_expr): Convert divisions into multiplications by
11411         reciprocals if -ffast-math.
11412
11413 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
11414
11415         * dbxout.c (dbxout_really_begin_function): Rename to
11416         dbxout_begin_function.
11417         (dbx_debug_hooks, xcoff_debug_hooks): Update.
11418         (dbxout_begin_function): Remove.
11419         (dbxout_function): Update.
11420         (dbxout_source_line): Update prototype.
11421         * dbxout.h (dbxout_begin_function): Remove.
11422         * debug.c (do_nothing_debug_hooks): Update.
11423         (debug_nothing_tree): Update.
11424         (debug_nothing_charstar_rtx): Remove.
11425         * debug.h (union tree_node): Declare.
11426         (struct rtx_def): Remove.
11427         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
11428         begin_function.  Change source_line prototype.
11429         (debug_nothing_tree): New.
11430         (debug_nothing_charstar_rtx): Delete.
11431         (dwarf2out_begin_prologue): Moved from ...
11432         * tree.h: ... here.
11433         * dwarf2out.c (dwarf2_debug_hooks): Update.
11434         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
11435         debug info, call dwarf2out_source_line.
11436         (dwarf2out_souce_line): Update prototype.
11437         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
11438         Change prototype, make static.
11439         (dwarfout_source_line): Update prototype.
11440         (dwarf_debug_hooks): Update.
11441         * dwarfout.h (dwarfout_begin_function): Remove.
11442         * final.c (final_start_function, final_scan_insn): Use appropriate
11443         debug hooks, update to use notice_source_line.
11444         (output_source_line): Rename notice_source_line.  Don't call the
11445         source_line debug hook.
11446         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
11447         make static, update prototype.
11448         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
11449         prototype.
11450         (sdbout_end_prologue): New.
11451         (sdbout_source_line): Update prototype.
11452         (sdbout_debug_hooks): Update.
11453         (sdbout_symbol): Remove unused var.
11454         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
11455         Delete.
11456         * varasm.c: Include debug.h.
11457         (assemble_start_function): Use begin_function debug_hook.
11458         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
11459         update with prototype.
11460         (xcoffout_source_line): Update prototype.
11461         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
11462         update prototype.
11463         (xcoffout_source_line): Update prototype.
11464
11465 2001-07-17  Richard Henderson  <rth@redhat.com>
11466
11467         * c-typeck.c (build_binary_op): Do not shorten unsigned
11468         right shift after sign extension.
11469
11470 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
11471
11472         * combine.c (combine_simplify_rtx): Attempt to simplify
11473         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
11474
11475         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
11476         (simplify_binary_operation, simplify_unary_operation,
11477          simplify_relational_operation): Use it.
11478
11479         * combine.c (combine_simplify_rtx): Don't do associative law
11480         on divisions; allow associative law on floats.
11481
11482 2001-07-17  H.J. Lu <hjl@gnu.org>
11483             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11484
11485         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
11486         ASM_OUTPUT_WEAK_ALIAS are defined.
11487         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
11488         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
11489         Moved ...
11490         * config/mips/iris5.h: ... here.
11491         (HANDLE_SYSV_PRAGMA): Defined as 1.
11492         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
11493         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
11494         symbol.
11495
11496 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
11497
11498         * c-parse.in (all_prefix_attributes): New variable.
11499         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
11500         (maybe_resetattrs): New production.
11501         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
11502         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
11503         notype_initdcl, nested_function, notype_nested_function,
11504         component_decl, components, components_notype,
11505         component_declarator, component_notype_declarator,
11506         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
11507         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
11508         after a comma being applied to more than one declarator.
11509         * doc/extend.texi (Attribute Syntax): Update.  Remove
11510         documentation of bugs that are no longer present.
11511
11512 2001-07-13  Eric Christopher  <echristo@redhat.com>
11513
11514         * config/mips/mips.h: Change TUNE_MIPS* options to use
11515         mips_tune.
11516         (EXTRA_SPECS): Add cc1_cpu_spec.
11517         * config/mips/mips.md (muldf3): Fix typo.
11518
11519 2001-07-16  Richard Henderson  <rth@redhat.com>
11520
11521         * config/m68k/m68k.c: Include expr.h and reload.h.
11522         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
11523         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
11524
11525 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
11526             Richard Henderson  <rth@redhat.com>
11527
11528         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
11529         (insn_live_p): Fix fall off end of function.
11530         (dead_libcall_p): Remove COUNTS argument; update callers.
11531         (delete_trivially_dead_insns): Remove unused variables.
11532
11533 2001-07-17  Andreas Jaeger  <aj@suse.de>
11534
11535         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
11536         x86-64 pic support.
11537
11538         * lcm.c (optimize_mode_switching): Avoid warning for unused
11539         variable if !NORMAL_MODE.
11540
11541         * flow.c (try_crossjump_to_edge): Remove unused variable.
11542
11543 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11544
11545         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
11546         atexit declaration in stdlib.h.
11547
11548 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
11549
11550         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
11551
11552 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
11553
11554         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
11555         * except.c (finish_eh_generation): Update call of cleanup_cfg;
11556         do rebuild_jump_labels instead of jump_optimize
11557         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
11558         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
11559         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
11560
11561         * flow.c: Include timevar.h
11562         (find_basic_block): Push/pop timevar;
11563         (cleanup_cfg): Likewise.
11564         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
11565         * Makefile: Add dependencies on timevar.h
11566
11567         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
11568         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
11569
11570         * rtl.h (delete_trivially_dead_insns): Add new parameter.
11571         * toplev.c (rest_of_compilation): Update calls.
11572         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
11573         (delete_trivially_dead_insns): ... here; accept new argument
11574         preserve_basic_blocks; preserve basic blocks if set.
11575
11576         * reg-stack.c (stack_regs_mentioned): Return 0 if
11577         stack_regs_mentioned_data is not initialized.
11578         (reg_to_stack): Make stack_regs_mentioned survive after the
11579         reg-stack is completted; do not call cleanup_cfg.
11580         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
11581         make cleanup_cfg after bb-reorder to output to debug file.
11582
11583 2001-07-16  Richard Henderson  <rth@redhat.com>
11584
11585         * regclass.c (init_reg_sets): Use only 32 bits per initializer
11586         from int_reg_class_contents.
11587
11588 2001-07-16  Richard Henderson  <rth@redhat.com>
11589
11590         * hard-reg-set.h (regs_invalidated_by_call): Declare.
11591         * regclass.c (regs_invalidated_by_call): Move from cse.c.
11592         (init_reg_sets_1): Move initialization from cse_main.
11593         * cse.c (regs_invalidated_by_call): Move to regclass.c.
11594         (cse_main): Move its initialization also.
11595         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
11596         * flow.c (propagate_one_insn): Likewise.
11597         * gcse.c (compute_hash_table): Likewise.
11598         (compute_kill_rd, compute_store_table): Likewise.
11599         * sched-deps.c (sched_analyze_1): Likewise.
11600
11601 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
11602
11603         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
11604         gen_rtx_SET.
11605
11606 2001-07-16  Steve Ellcey <sje@cup.hp.com>
11607
11608         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
11609         in if statement so we don't access undefined memory.
11610
11611 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
11612
11613         * gcse.c: Update comment at top.
11614         Update comment on mem handling.
11615         mem_last_set, mem_first_set, mem_set_in_block: gone.
11616         Declaration of reg_set_info: gone.
11617         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
11618         pointless with load_killed_in_block_p (they are *more*
11619         conservative then it, not less, and less accurate).
11620         (oprs_not_set_p): Ditto.
11621         (alloc_gcse_mem): Don't allocate mem_set_in_block
11622         (free_gcse_mem): Don't free it, either.
11623         (record_last_mem_set_info): Update comment in front, remove
11624         mem_*set_* stuff. Note the reason we don't handle stores directly
11625         here.
11626         (compute_hash_table): Update comments to reflect reality. Remove
11627         mem_*set_* references.
11628         (reset_opr_set_tables): Remove mem_*set_* references.
11629         (mark_call): Ditto.
11630         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
11631         (mark_clobber): Ditto (on both parts, we double set here too).
11632         (expr_killed_p): Remove mem_set_in_block test.
11633         (compute_transp): Remove mem_set_in_block test.
11634
11635         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
11636         of edge, and removal of phi alternative to dump file.
11637         (ssa_ccp_substitute_constants): Add note about register now being
11638         constant, and which uses were replaced in what insns to dump file.
11639
11640 2001-07-16  Andreas Jaeger  <aj@suse.de>
11641
11642         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
11643         variables of type HOST_WIDEST_INT.
11644
11645         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
11646         (__bb_exit_func): Correct type of count_max to avoid overflow.
11647         (num_digits): Handle long long argument.
11648
11649         * combine.c (gen_lowpart_for_combine): Remove unused variable.
11650
11651 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11652
11653         * output.h (sdb_begin_function_line): Restore as an extern
11654         variable.
11655         * sdbout.c (sdb_begin_function_line): Make extern.
11656
11657 2001-07-15  Richard Henderson  <rth@redhat.com>
11658
11659         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
11660         * genrecog.c (maybe_both_true_mode): New.
11661         (maybe_both_true_2): Use it.
11662         (write_switch): Don't put Pmode in a switch.
11663         * rtl.c (mode arrays): Don't explicitly size them.
11664
11665 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
11666
11667         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
11668         handling; move unconditional splitting before mode switching.
11669
11670         * i386.md (type): Add fistp type.
11671         (i387, length_attr, scheduling definitions): Handle this type.
11672         (fix_trunc?f?i2): Revamp to use mode switching.
11673         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
11674         * i386.h (fp_cw_mode): New enum
11675         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
11676         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
11677
11678 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11679
11680         * Makefile.in (integrate.o): Add debug.h.
11681         * integrate.c (debug.h): Add.
11682         (output_inline_function): Save, reset, and restore debug_hooks.
11683
11684 2001-07-15  Richard Henderson  <rth@redhat.com>
11685
11686         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
11687         instead of COMPARE for the EQUIV expression.
11688
11689 2001-07-15  Richard Henderson  <rth@redhat.com>
11690
11691         * flow.c (redirect_edge_and_branch_force): Initialize
11692         global_live_at_start and global_live_at_end.
11693         (allocate_bb_life_data): Export.
11694         * basic-block.h (allocate_bb_life_data): Declare.
11695         * toplev.c (rest_of_compilation): Call it.
11696
11697 2001-07-15  Richard Henderson  <rth@redhat.com>
11698
11699         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
11700         (alpha_tablejump_best_label): New.
11701         * config/alpha/alpha-protos.h: Declare them.
11702         * config/alpha/alpha.md: Use braced strings for code blocks.
11703         (tablejump_osf): Break out add with r29.
11704         (tablejump_osf_internal): Remove.
11705         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
11706         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
11707
11708 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11709
11710         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
11711         of the movable.
11712
11713         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
11714
11715         * i386-protos.h (ix86_split_fp_branch): Update prototype.
11716         (ix86_fp_jump_nontrivial_p): New.
11717         * i386.md (fp_jcc_?): Update call of split_fp_branch;
11718         use ix86_fp_jump_nontrivial_p.
11719         * i386.c (ix86_fp_jump_nontrivial_p): New.
11720         (ix86_split_fp_branch): Accept code instead of rtx.
11721         (ix86_expand_compare): Expand comparison early in case
11722         doing so is resonably cheap.
11723
11724 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
11725
11726         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
11727         not 'machine'.
11728         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
11729         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
11730
11731 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11732
11733         * dbxout.c (dbxout_source_line): Make static, update prototype.
11734         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
11735         (dbxout_init, dbxout_finish, dbxout_source_line,
11736         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
11737         * dbxout.h (dbxout_source_line): Delete.
11738         * debug.c (debug_nothing_file, debug_nothing_file_int,
11739         debug_nothing_file_charstar_rtx): New.
11740         (do_nothing_debug_hooks): Update.
11741         (debug_nothing_void, debug_nothing_charstar_rtx,
11742         dwarf2out_end_epilogue): New.
11743         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
11744         * debug.h (struct rtx_def): Declare.
11745         (gcc_debug_hooks): New hooks source_line, end_epilogue
11746         and end_function.
11747         (debug_nothing_void, debug_nothing_charstar_rtx,
11748         dwarf2out_end_epilogue): New.
11749         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
11750         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
11751         (dwarf2_debug_hooks): Update.
11752         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
11753         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
11754         * dwarf2out.h (dwarf2out_source_line): Remove.
11755         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
11756         Make static, update prototype.
11757         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
11758         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
11759         (dwarf_debug_hooks): Update.
11760         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
11761         dwarfout_end_function): Remove.
11762         * final.c (profile_function): Use debug hooks for ending functions
11763         and epilogues.
11764         (output_source_line, final_end_function): Update prototype,
11765         use debug hooks.
11766         (final_start_function, final_scan_insn): Update.
11767         * output.h (sdb_begin_function_line): Remove.
11768         (final_end_function): Update prototype.
11769         * sdbout.c (sdb_begin_function_line): Make static.
11770         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
11771         (sdbout_source_line): New.
11772         (sdbout_end_epilogue, sdbout_end_function): Make static, update
11773         prototypes.
11774         (sdb_debug_hooks): Update.
11775         (sdbout_init, sdbout_source_line,
11776         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
11777         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
11778         * toplev.c (compile_file, rest_of_compilation): Update.
11779         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
11780         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
11781         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
11782         Update for prototype changes.
11783         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
11784         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
11785
11786 2001-07-15  Richard Henderson  <rth@redhat.com>
11787
11788         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
11789         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
11790         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
11791         * config/alpha/alpha.c: Likewise.
11792         * config/alpha/alpha.md: Likewise.
11793         * config/alpha/alpha32.h: Likewise.
11794         * config/alpha/vms.h: Likewise.
11795         (OPEN_VMS): Remove.
11796
11797 2001-07-14  Richard Henderson  <rth@redhat.com>
11798
11799         * config/alpha/alpha.md: Use define_constants for unspec values.
11800         Substitute throughout.
11801
11802 2001-07-14  Tim Josling  <tej@melbpc.org.au>
11803
11804         * tree.def (EXPON_EXPR) remove. Never supported anyway.
11805
11806 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11807
11808         * pa.md: Remove unused constraints from define_split's.
11809
11810 2001-04-14  Richard Henderson  <rth@redhat.com>
11811
11812         * ifcvt.c (find_cond_trap): Test for exit block.
11813
11814 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
11815
11816         Re-install recently reverted patch.
11817         * emit-rtl.c (try_split): Update mark_jump_label call.
11818         * flow.c (find_sub_basic_blocks): Likewise.
11819         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
11820         jump_back_p): Kill.
11821         (mark_all_labels): Kill second parameter.
11822         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
11823         (rebuild_jump_labels, jump_optimize_minimal): Update call
11824         of jump_optimize_1.
11825         (jump_optimize_1): Kill crossjumping code.
11826         (mark_jump_label): Kill cross_jump parameter.
11827         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
11828         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
11829         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
11830          splitting.
11831         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
11832         DFI_bpro.
11833         (dump_file_info): Likewise.
11834         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
11835         reorganize passes to do reg-stack first, bb-reorder second.
11836         * invoke.texi (-d letters doc): Remove the jump2 pass.
11837
11838 2001-07-14  Richard Henderson  <rth@redhat.com>
11839
11840         * ifcvt.c (find_cond_trap): New.
11841         (find_if_header): Call it.
11842         (merge_if_block): Relax existing jump sanity check.
11843         * jump.c (jump_optimize_1): Remove conditional trap handling.
11844
11845 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
11846
11847         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
11848         millicode.
11849         (insn_refs_are_delayed): Correct comment.
11850         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
11851         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
11852         instead of r31.  Make associated insn !TARGET_64BIT, and
11853         provide an additional 64-bit insn that clobbers r2.
11854         (divsi3): Likewise.
11855         (udivsi3): Likewise.
11856         (modsi3): Likewise.
11857         (umodsi3): Likewise.
11858
11859 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
11860
11861         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
11862
11863         * flow.c (redirect_edge_and_branch_force, split_edge,
11864         try_crossjump_to_edge): Use set_block_for_new_insns.
11865         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
11866
11867 2001-07-13  H.J. Lu  (hjl@gnu.org)
11868
11869         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
11870         the correct patch.
11871
11872 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
11873
11874         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
11875
11876 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11877
11878         * c-common.c (decl_attributes): Take a pointer to the node to
11879         which attributes are to be attached, and a flags argument.
11880         * c-common.h (enum attribute_flags): New.
11881         (decl_attributes): Update prototype.
11882         * c-decl.c (start_decl, push_parm_decl, finish_struct,
11883         finish_enum, start_function): Update calls to decl_attributes.
11884         * c-parse.in (component_declarator, component_notype_declarator,
11885         label): Update calls to decl_attributes.
11886
11887 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
11888
11889         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
11890         * config/avr/avr.c (legitimate_address_p): Return value changed
11891         from letter to register classes. For better debugging.
11892
11893 2001-07-13  Kazu Hirata  <kazu@hxi.com>
11894
11895         * jump.c (reversed_comparison_code_parts): Fix comment typos.
11896
11897 2001-07-13  H.J. Lu  (hjl@gnu.org)
11898
11899         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
11900
11901 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
11902
11903         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
11904         correctly for shared configurations.
11905         * config/t-libgcc-pic:  New.
11906         * config/{i386,m68k,sparc}/t-openbsd:  New.
11907         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
11908         Support -shared.  Support debugging libraries with -g.
11909         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
11910         frame information does not emit pointer diffs.
11911         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
11912         emit pointer diffs.
11913
11914 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
11915
11916         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
11917
11918 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
11919
11920         * combine.c (try_combine): Ensure const_int pow2 is positive.
11921
11922 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
11923
11924         * config.gcc: Add configuration for s/390.
11925         * config/s390/s390.c: New. Subroutines for code generation.
11926         * config/s390/s390.h: New. Definitions for s/390.
11927         * config/s390/s390-protos.h: New. Prototypes.
11928         * config/s390/linux.h: New. Definitions for linux for s/390.
11929         * config/s390/linux64.h: New. Definitions for linux for zSeries.
11930         * config/s390/t-linux: New. Makefile fragment.
11931         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
11932         * config/s390/fixdfdi.h: New. Fix L_fix*di.
11933
11934 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
11935
11936         * emit-rtl.c (try_split): Update mark_jump_label call.
11937         * flow.c (find_sub_basic_blocks): Likewise.
11938         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
11939         jump_back_p): Kill.
11940         (mark_all_labels): Kill second parameter.
11941         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
11942         (rebuild_jump_labels, jump_optimize_minimal): Update call
11943         of jump_optimize_1.
11944         (jump_optimize_1): Kill crossjumping code.
11945         (mark_jump_label): Kill cross_jump parameter.
11946         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
11947         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
11948         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
11949          splitting.
11950         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
11951         DFI_bpro.
11952         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
11953         reorganize passes to do reg-stack first, bb-reorder second.
11954         * invoke.texi (-d letters doc): Remove the jump2 pass.
11955
11956 2001-07-12  Steve Ellcey <sje@cup.hp.com>
11957
11958         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
11959
11960 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
11961
11962         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
11963         basic blocks.
11964         (verify_flow_info): Make diagnostics prettier.
11965
11966 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11967
11968         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
11969
11970         * flow.c (outgoing_edges_match): Return early if condition reversal
11971         failed.
11972
11973 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
11974
11975         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
11976         (mips_move_2words): When splitting a move into two instructions,
11977         prefix the second address operand with '%D'.
11978
11979 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
11980
11981         * Makefile.in (final.o): Depend on debug.h.
11982         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
11983         (dbx_debug_hooks): Add new hooks.
11984         (xcoff_debug_hooks): New.
11985         * debug.c (debug_nothing_file_int_int): New.
11986         (do_nothing_debug_hooks): Update.
11987         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
11988         (debug_nothing_file_int_int): New.
11989         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
11990         static, update prototype.
11991         (dwarf2_debug_hooks): Update.
11992         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
11993         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
11994         static, update prototype.
11995         (dwarf_debug_hooks): Update.
11996         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
11997         * final.c: Include debug.h.
11998         (final_scan_insn): Use debug hooks when beginning and ending blocks.
11999         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
12000         static, update prototype.
12001         (sdb_debug_hooks): Update.
12002         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
12003         * toplev.c: Distinguish between xcoff and dbx.
12004
12005         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
12006         Call all debug hooks, not just dwarf ones.
12007
12008 2001-07-11  Timothy Wall  <twall@redhat.com>
12009
12010         * config.gcc: Add configuration for AIX5/IA64.
12011         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
12012         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
12013         support prefix/suffix code.
12014         * config/ia64/t-aix: New.  Makefile fragment.
12015         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
12016
12017 2001-07-11  Kazu Hirata  <kazu@hxi.com>
12018
12019         * recog.c (validate_change): Fix a comment typo.
12020
12021 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12022
12023         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
12024         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
12025         hooks directly.
12026         * dbxout.c (dbx_debug_hooks): Add new hooks.
12027         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
12028         make static.
12029         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
12030         make static.
12031         * dbxout.h (dbxout_start_new_source_file,
12032         dbxout_resume_previous_source_file): Delete.
12033         * debug.c (do_nothing_debug_hooks): Add new hooks.
12034         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
12035         (debug_nothing_int_charstar, debug_nothing_int): New.
12036         * debug.h (gcc_debug_hooks): New hooks define, undef,
12037         start_source_file and end_source_file.
12038         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
12039         (debug_nothing_int_charstar, debug_nothing_int): New.
12040         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
12041         the conditionally compiled section.
12042         (dwarf2out_start_source_file, dwarf2out_end_source_file,
12043         dwarf2out_define, dwarf2out_undef): Make static.
12044         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
12045         dwarf2out_define, dwarf2out_undef): Remove.
12046         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
12047         (dwarfout_start_source_file, dwarfout_end_source_file,
12048         dwarfout_define, dwarfout_undef): Make static.
12049         (dwarfout_start_source_file_check,
12050         dwarfout_end_source_file_check): New.
12051         (dwarfout_define, dwarfout_finish): Update.
12052         * dwarfout.h (dwarfout_start_new_source_file,
12053         dwarfout_resume_previous_source_file, dwarfout_define,
12054         dwarfout_undef): Remove.
12055         * sdbout.c (sdb_debug_hooks): Add new hooks.
12056         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
12057         make static.
12058         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
12059         make static, take an arg.
12060         * sdbout.h (sdbout_start_new_source_file,
12061         sdbout_resume_previous_source_file): Delete.
12062         * toplev.c (debug_start_source_file, debug_end_source_file,
12063         debug_define, debug_undef): Delete.
12064         * toplev.h (debug_start_source_file, debug_end_source_file,
12065         debug_define, debug_undef): Delete.
12066
12067         * java/jcf-parse.c: Include debug.h.
12068         (parse_class_file): Update to use debug hooks directly.
12069         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
12070
12071 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12072
12073         * alias.c (set_mem_alias_set): New function.
12074         * rtl.h (set_mem_alias_set): Declare it.
12075         * builtins.c (expand_builtin_return_addr): Call it instead of
12076         using MEM_ALIAS_SET accessor.
12077         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
12078         (get_memory_rtx, expand_builtin_va_arg): Likewise.
12079         (expand_builtin_va_copy):Likewise.
12080         * caller-save.c (setup_save_areas): Likewise.
12081         * calls.c (compute_argument_addresses): Likewise.
12082         * explow.c (set_mem_attributes): Likewise.
12083         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
12084         (expand_assignment, store_constructor_field, store_field): Likewise.
12085         (expand_expr_unaligned): Likewise.
12086         * function.c (assign_stack_temp_for_type): Likewise.
12087         (put_reg_into_stack, gen_mem_addressof): Likewise.
12088         * ifcvt.c (noce_try_cmove_arith): Likewise.
12089         * reload1.c (reload, alter_reg): Likewise.
12090         * config/alpha/alpha.c (get_aligned_mem): Likewise.
12091         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
12092         (alpha_expand_unaligned_store): Likewise
12093         (alpha_expand_unaligned_load_words): Likewise.
12094         (alpha_expand_unaligned_store_words): Likewise.
12095         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
12096         (alpha_expand_epilogue): Likewise.
12097         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
12098         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
12099         * config/i386/i386.c (legitimize_pic_address): Likewise.
12100         * config/i960/i960.c (setup_incoming_varargs): Likewise.
12101         * config/ia64/ia64.c (spill_restore_mem): Likewise.
12102         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
12103         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
12104         * config/mips/mips.c (mips_va_arg): Likewise.
12105         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
12106         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
12107         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
12108         (setup_incoming_varargs, rs6000_va_arg): Likewise.
12109         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
12110         (rs6000_emit_epilogue): Likewise.
12111         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
12112         * config/sparc/sparc.c (sparc_va_arg): Likewise.
12113         * config/v850/v850.c (v850_va_arg): Likewise.
12114
12115 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
12116
12117         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
12118         when fallthru edge is present.
12119         (mege_blocks): Handle case where creation of jump insn
12120         is required.
12121
12122         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
12123         CLEANUP_POST_REGSTACK): New constants.
12124         * except.c (finish_eh_generation): Update call of cleanup_cfg,
12125         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
12126         * output.h (cleanup_cfg): Update prototype.
12127         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
12128         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
12129         cleanup_cfg call; kill missleading comment.
12130         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
12131         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
12132         parameter; control optimizations performed using it.
12133         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
12134         try_crossjump_bb): New functions.
12135
12136 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12137
12138         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
12139         extern.
12140         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
12141         pa_output_function_prologue.
12142         * pa-protos.h (pa_output_function_prologue): New prototype.
12143
12144 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12145
12146         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
12147         and low to get correct sign extension in low+high test.
12148
12149 2001-07-11  Janis Johnson <janis@us.ibm.com>
12150
12151         * gcov.c (arcdata): Use gcov_type to fix branch percentage
12152         for large hit count.
12153
12154         * profile.c (branch_prob): Fix .bbg info for computed gotos
12155         and C++ EH code.
12156
12157 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
12158
12159         * stmt.c (parse_output_constraint): New function, split out
12160         from ...
12161         (expand_asm_operands): ... here.  Use parse_output_constraint.
12162         * tree.h (parse_output_constraint): Declare it.
12163
12164 2001-07-11  Richard Henderson  <rth@redhat.com>
12165
12166         * bitmap.c: Comment some functions; fiddle whitespace.
12167         (bitmap_free): Don't export.
12168         (bitmap_element_allocate): Use memset.
12169         * bitmap.h (bitmap_free): Don't declare.
12170
12171 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
12172
12173         * gcse.c, lcm.c, sched-deps.c:
12174         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
12175
12176         * flow.c (flow_loops_find): Free dom if we found no loops, since
12177         we aren't going to save it.
12178
12179         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
12180         done.
12181
12182 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
12183
12184         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
12185
12186 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12187
12188         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
12189         #ifndef DWARF2_DEBUGGING_INFO.
12190
12191 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12192
12193         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
12194
12195 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12196
12197         * config/mips/mips.c (gen_int_relational): Tell the caller not to
12198         reverse a branch if a NE comparison is implemented with GTU.
12199
12200 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
12201             H.J. Lu  <hjl@gnu.org>
12202
12203         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
12204         constant addresses.
12205         (call_internal2): Likewise.
12206         (call_value_internal1): Likewise.
12207         (call_value_internal2): Likewise.
12208         (call_value_multiple_internal1): Likewise.
12209         (call_value_multiple_internal2): Likewise.
12210
12211 2001-07-10  Kazu Hirata  <kazu@hxi.com>
12212
12213         * calls.c (emit_library_call_value_1): Fix a comment typo.
12214         * dwarf2out.c (mem_loc_descriptor): Likewise.
12215         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
12216
12217 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
12218
12219         * simplify-rtx.c (simplify_subreg): Fix typo in comment
12220
12221 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12222
12223         * recog.c (offsettable_address_p): Handle LO_SUM case.
12224         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
12225         instead of plus_constant.
12226
12227 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12228
12229         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
12230         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
12231
12232 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12233
12234         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
12235         adjust_address_nv instead of plus_constant.
12236
12237 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12238
12239         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
12240         dwarf2out.o): Depend on debug.h, wrap long lines.
12241         * dbxout.c: Include debug.h.
12242         (dbx_debug_hooks): New.
12243         (dbxout_init): Make static, take just 2 args.
12244         (dbxout_finish): Make static.
12245         * dbxout.h (dbxout_init, dbxout_finish): Delete.
12246         * debug.c: New file.
12247         * debug.h: New file.
12248         * dwarf2out.c: Include debug.h.
12249         (dwarf2_debug_hooks): New.
12250         (dwarf2out_init): Make static.
12251         (dwarf2out_finish): Make static, take 2 args.
12252         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
12253         * dwarfout.c: Include debug.h.
12254         (dwarf_debug_hooks): New.
12255         (dwarfout_init): Make static.
12256         (dwarfout_finish): Make static, take 2 args.
12257         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
12258         * sdbout.c: Include debug.h.
12259         (sdb_debug_hooks): New.
12260         (sdbout_init): Make static, take 2 args.
12261         * sdbout.h (sdbout_init): Delete.
12262         * toplev.c: Include debug.h.
12263         (debug_hooks): New.
12264         (compile_file): Set deubg_hooks based on command line options.
12265         Use the hooks unconditionally rather than conditional compilation.
12266
12267 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
12268
12269         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
12270         first_insn_after_basic_block_note instead.
12271
12272         * df.c (df_bb_refs_unlink): #if 0 out for now.
12273
12274 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
12275
12276         * ssa.h: Add prototype for ssa_const_prop
12277         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
12278         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
12279         (ssa_fast_dce): Remove unused variable
12280
12281 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
12282
12283         * diagnostic.c (finish_diagnostic): Rename to
12284         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
12285         calls thourghout.
12286
12287 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
12288
12289         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
12290         .loc support.
12291
12292         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
12293         (dump_file): Only pad the demangled name with spaces if the
12294         mangled name was padded with spaces.
12295
12296 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
12297
12298         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
12299         edge detection.
12300
12301 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12302
12303         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
12304         extraction if no direct load if either EXPAND_CONST_ADDRESS or
12305         EXPAND_INITIALIZER.
12306
12307         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
12308         whether can put offset inside LO_SUM to check mode alignment, not size.
12309
12310 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
12311
12312         * doc/tm.texi (Misc): Fix thinko.
12313
12314 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
12315
12316         * regmove.c (replace_in_call_usage): Fix warnings.
12317         * sched-deps.c (add_dependence): Fix warnings.
12318         * simplify-rtx.c (simplify_subreg): Likewise.
12319         Return NULL_RTX instead of NULL.
12320
12321         * reg-stack.c (emit_swap_insn): Eliminate warnings.
12322         (subst_asm_stack_regs): Likewise.
12323
12324         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
12325         warnings.
12326
12327         * dwarf2out.c (output_call_frame_info): Declare i as int.
12328         (build_abbrev_table): Declare n_alloc as int.
12329         (dwarf2out_finish): Initialize die.
12330         * except.c: Declare sjlj_funcdef_number as unsigned.
12331         (connect_post_landing_pads): Declare j as unsigned.
12332         (convert_to_eh_region_ranges): Initialize call_site.
12333         (output_function_exception_table): Initialize tt_format_size.
12334         * expr.c (move_by_pieces_1): Initialize to1.
12335         (store_constructor): Initialize minelt and maxelt.
12336         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
12337         * function.c (instantiate_decls): Avoid signed/unsigned warning.
12338
12339         * c-decl.c (combine_parm_decls): Unused, remove.
12340         * c-tree.h: Remove prototype for combine_parm_decls.
12341
12342         * reload.c (push_reload): Fix warning.
12343         (regno_clobbered_p): Likewise.
12344         * reload1.c (replace_pseudos_in_call_usage): Likewise.
12345         (reload_combine): Likewise.
12346
12347         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
12348         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
12349         warnings.
12350         * bitmap.c (bitmap_operation): Change user.
12351         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
12352
12353 2001-07-10  Eric Christopher  <echristo@redhat.com>
12354
12355         * config/mips/mips.c (override_options): Fix typo.
12356
12357 2001-07-09  Stan Shebs  <shebs@apple.com>
12358
12359         * target.h (struct gcc_target): New fields init_builtins and
12360         expand_builtin.
12361         * target-def.h (TARGET_INIT_BUILTINS): New macro.
12362         (TARGET_EXPAND_BUILTIN): New macro.
12363         (TARGET_INITIALIZER): Add them.
12364         * builtins.c: Include target.h.
12365         (expand_builtin): Use targetm.expand_builtin.
12366         (default_init_builtins): New function.
12367         (default_expand_builtin): New function.
12368         * expr.h (default_init_builtins): Declare.
12369         (default_expand_builtin): Declare.
12370         * c-common.c (c_common_nodes_and_builtins): Use
12371         targetm.init_builtins.
12372         * defaults.h (MD_INIT_BUILTINS): Remove.
12373         * Makefile.in (builtins.o): Depend on target.h.
12374
12375         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
12376         (TARGET_EXPAND_BUILTIN): Define.
12377         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
12378         (MD_EXPAND_BUILTIN): Remove.
12379
12380         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
12381         (TARGET_EXPAND_BUILTIN): Define.
12382         (c4x_init_builtins): Make endlink arg a local.
12383         (c4x_print_operand): Fix typos in adjust_address usages.
12384         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
12385         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
12386         (MD_EXPAND_BUILTIN): Remove.
12387
12388         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
12389         (TARGET_EXPAND_BUILTIN): Define.
12390         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
12391         (ix86_init_builtins): Call new function only if TARGET_MMX.
12392         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
12393         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
12394         (MD_EXPAND_BUILTIN): Remove.
12395
12396         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
12397         (TARGET_EXPAND_BUILTIN): Define.
12398         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
12399         (MD_EXPAND_BUILTIN): Remove.
12400
12401         * doc/tm.texi: Document these changes.
12402
12403 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
12404
12405         * basic-block.h (tree_node): Forward declare if needed.
12406         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
12407         (BLOCK_HEAD_TREE): Define.
12408         (BLOCK_END_TREE): Define.
12409         (struct loops): Rename field 'tree' to 'tree_root'.
12410         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
12411         'end_tree'.
12412         (flow_loops_tree_build): Rename reference to field 'tree' to
12413         'tree_root'.
12414         (flow_loops_level_compute): Ditto.
12415         * predict.c (estimate_bb_frequencies): Ditto.
12416         * tree.h (struct tree_common): Add field 'aux'.
12417
12418 2001-07-09  Stan Shebs  <shebs@apple.com>
12419
12420         * config/darwin.c (darwin_encode_section_info): Don't mark any
12421         DECL_EXTERNAL node as defined.
12422
12423 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12424
12425         * pa.c (pa_init_machine_status, pa_mark_machine_status,
12426         pa_free_machine_status, hppa_init_pic_save): Delete.
12427         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
12428         (hppa_profile_hook): Use hppa_pic_save_rtx.
12429         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
12430         hppa_init_pic_save): Delete.
12431         (hppa_pic_save_rtx): Declare.
12432         * pa.md (call, call_value, sibcall, sibcall_value,
12433         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
12434
12435 2001-07-09  Kazu Hirata  <kazu@hxi.com>
12436
12437         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
12438         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
12439
12440 2001-07-09  Andreas Jaeger  <aj@suse.de>
12441
12442         * output.h: Add declaration of final_forward_branch_p.
12443
12444         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
12445
12446         * varray.c: Include errors.h for internal_error and trim_filename
12447         declarations.
12448
12449         * Makefile.in (varray.o): Add errors.h.
12450
12451 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
12452
12453         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
12454         * optabs.c (have_add2_insn): Check whether the add insn chosen
12455         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
12456         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
12457
12458 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
12459
12460         * Makefile.in (OBJS): Add ssa-ccp.o
12461         (ssa-ccp.o): Add dependencies.
12462         * toplev.c (DFI_ssa_ccp): New dump file enum.
12463         (dump_file): Add entry for dumping after SSA CCP.
12464         (flag_ssa_ccp): New flag variable.
12465         (f_options): Add -fssa-ccp.
12466         (rest_of_compilation): Run SSA CCP if requested.
12467         * timevar.def (TV_SSA_CCP): New timevar.
12468         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
12469         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
12470         Fix minor typo in SSA DCE documentation.
12471         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
12472         Add documentation for new dump option.  Renumber dump files
12473         appropriately.
12474
12475 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
12476
12477         * emit-rtl.c (gen_highpart_mode): New.
12478         * rtl.h (gen_highpart_mode): Declare.
12479         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
12480         operand can be VOIDmode constant.
12481
12482 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
12483
12484         * flow.c (redirect_edge_and_branch_force): New.
12485         (can_fallthru): Ensure that basic blocks are succeeding.
12486         (try_optimize_cfg): Do not delete basic block if it is the last one.
12487
12488         * flow.c (try_redirect_by_replacing_jump): Do not remove
12489         jumps with side effects, unlink chain on fallthru edge;
12490         set block for new jump instruction; avoid basic block to
12491         over by line number note.
12492
12493         * flow.c (try_simplify_condjump): Verify that the condjump
12494         is not always falling through.
12495
12496         Re-install patch:
12497         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
12498
12499         * flow.c (forwarder_block_p): Fix for fallthru blocks.
12500         (try_redirect_by_replacing_jump): Update properly the count
12501         and frequency information.
12502
12503 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12504
12505         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
12506         address that is a LO_SUM specially.
12507         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
12508
12509         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
12510
12511         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
12512         (operand_subword): Use them.
12513         (change_address_1): Renamed from change_address; new arg VALIDATE.
12514         * expr.h: Reflect above changes; change_address now macro.
12515         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
12516         making MEM.
12517         * cselib.c (add_mem_for_addr): Likewise.
12518         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
12519         * regmove.c (try_apply_stack_adjustment): Likewise.
12520         * reload.c (push_reload, make_memloc): Likewise.
12521         * reload1.c (eliminate_regs): Likewise.
12522         * simplify-rtx.c (simplify_replace_rtx): Likewise.
12523         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
12524         adjust_addess.
12525         * combine.c (make_extraction, simplify_shift_const): Likewise.
12526         (gen_lowpart_for_combine): Likewise.
12527         * cse.c (gen_lowpart_if_possible): Likewise.
12528         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
12529         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
12530         * optabs.c (gen_move_insn): Likewise.
12531         * reload1.c (alter_reg): Likewise.
12532         * simplify-rtx.c (simplify_subreg): Likewise.
12533         * stmt.c (expand_anon_union_decl): Likewise.
12534         * recog.c (validate_replace_rtx_1): Likewise.
12535         (expr.h): Include.
12536         * Makefile.in (recog.o): Add $(EXPR_H).
12537         * explow.c (stabilize): Call replace_equiv_address.
12538         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
12539         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
12540
12541 2001-07-03  Andrew Haley  <aph@redhat.com>
12542
12543         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
12544         the mode of the memory location.
12545
12546 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
12547
12548         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
12549
12550 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12551
12552         * final.c (output_addr_const): Use target opening and
12553         closing parentheses.
12554         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
12555         defaults, add to TARGET_ASM_OUT.
12556         * target.h (struct gcc_target): Add open_paren and close_paren.
12557         * doc/md.texi: Update.
12558         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
12559         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
12560         TARGET_ASM_CLOSE_PAREN.
12561         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
12562         Override.
12563         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
12564         Override.
12565         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
12566         * config/a29k/a29k.h: Similarly.
12567         * config/alpha/alpha.h: Similarly.
12568         * config/arc/arc.h: Similarly.
12569         * config/arm/aof.h: Similarly.
12570         * config/arm/aout.h: Similarly.
12571         * config/avr/avr.h: Similarly.
12572         * config/c4x/c4x.h: Similarly.
12573         * config/clipper/clipper.h: Similarly.
12574         * config/convex/convex.h: Similarly.
12575         * config/d30v/d30v.h: Similarly.
12576         * config/dsp16xx/dsp16xx.h: Similarly.
12577         * config/elxsi/elxsi.h: Similarly.
12578         * config/fr30/fr30.h: Similarly.
12579         * config/h8300/h8300.h: Similarly.
12580         * config/i370/i370.h: Similarly.
12581         * config/i386/i386.h: Similarly.
12582         * config/i860/i860.h: Similarly.
12583         * config/i960/i960.h: Similarly.
12584         * config/ia64/ia64.h: Similarly.
12585         * config/m32r/m32r.h: Similarly.
12586         * config/m68hc11/m68hc11.h: Similarly.
12587         * config/m68k/m68k.h: Similarly.
12588         * config/m88k/m88k.h: Similarly.
12589         * config/mcore/mcore.h: Similarly.
12590         * config/mips/mips.h: Similarly.
12591         * config/mn10200/mn10200.h: Similarly.
12592         * config/mn10300/mn10300.h: Similarly.
12593         * config/ns32k/ns32k.h: Similarly.
12594         * config/pa/pa.h: Similarly.
12595         * config/pdp11/pdp11.h: Similarly.
12596         * config/pj/pj.h: Similarly.
12597         * config/romp/romp.h: Similarly.
12598         * config/rs6000/rs6000.h: Similarly.
12599         * config/sh/sh.h: Similarly.
12600         * config/sparc/sparc.h: Similarly.
12601         * config/v850/v850.h: Similarly.
12602         * config/vax/vax.h: Similarly.
12603         * config/we32k/we32k.h: Similarly.
12604
12605 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
12606
12607         * doc/c-tree.texi: Document representation of attributes.
12608
12609 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12610
12611         * doc/tm.texi: Update some places for the rename of target to
12612         targetm.  Fix typo.
12613
12614 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12615
12616         * target.h (struct gcc_target): Add insert_attributes.
12617         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
12618         (TARGET_INITIALIZER): Update.
12619         * tree.c, tree.h (default_insert_attributes): New function.
12620         Update comments on other default functions to refer to targetm,
12621         not target.
12622         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
12623         TARGET_INSERT_ATTRIBUTES.
12624         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
12625         * c-common.c (decl_attributes): Use targetm.insert_attributes.
12626         Don't use PRAGMA_INSERT_ATTRIBUTES.
12627         * Makefile.in (c-common.o): Depend on $(TARGET_H).
12628         * c-decl.c (start_decl, start_function): Don't call
12629         SET_DEFAULT_DECL_ATTRIBUTES.
12630         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
12631         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
12632         declare.
12633         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
12634         (c4x_check_attribute): Avoid modifying attribute list itself.
12635         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
12636         Make static.
12637         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
12638         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
12639         declare.
12640         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
12641         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
12642         Make static.
12643         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
12644         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
12645         declare.
12646         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
12647         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
12648         Adjust parameters.  Make static.
12649
12650 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
12651
12652         * c-common.c (decl_attributes): Only take a single attributes
12653         parameter.
12654         * c-common.h (decl_attributes): Update prototype.
12655         * c-decl.c (start_decl, start_function): Only take a single
12656         attributes parameter.  Update calls to decl_attributes.
12657         (finish_struct, finish_enum): Update calls to decl_attributes.
12658         (push_parm_decl): Expect unified list of attributes.  Update call
12659         to decl_attributes.
12660         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
12661         notype_nested_function, component_declarator,
12662         component_notype_declarator, label): Update calls to
12663         decl_attributes.
12664         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
12665         lists that are passed to push_parm_decl.
12666         * c-tree.h (start_function, start_decl): Update prototypes.
12667         * config/sh/sh-protos.h, config/sh/sh.c
12668         (sh_pragma_insert_attributes): Only take a single attributes
12669         parameter.
12670         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
12671         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
12672         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
12673         build_module_descriptor, generate_static_references,
12674         generate_strings, build_selector_translation_table,
12675         generate_descriptor_table, generate_protocols,
12676         generate_ivars_list, generate_dispatch_table,
12677         generate_protocol_list, generate_category,
12678         generate_shared_structures, really_start_method, add_objc_decls,
12679         generate_classref_translation_entry): Update calls to start_decl
12680         and start_function.
12681         (build_tmp_function_decl, start_method_def): Unify attribute lists
12682         that are passed to push_parm_decl.
12683
12684 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
12685
12686         * final.c (no_asm_to_stream): New.
12687         (final_scan_insn): Use target structures for prologue ends
12688         and epilogue starts.
12689         * output.h (no_asm_to_stream): New.
12690         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
12691         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
12692         (TARGET_ASM_OUT): Update.
12693         * target.h (struct gcc_target): New members function_end_prologue
12694         and function_begin_epilogue.
12695         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
12696         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
12697         * config/alpha/alpha.c (output_end_prologue): Rename to
12698         alpha_output_function_end_prologue.  Use in target struct
12699         and make static.
12700         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
12701         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
12702         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
12703         ia64_output_function_end_prologue.  Use in target struct
12704         and make static.
12705         (ia64_function_prologue, ia64_funciton_epilogue): Rename
12706         mistyped prototypes.
12707         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
12708         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
12709         Delete.
12710         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
12711         an use in target struct, make static.
12712         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
12713         Delete.
12714
12715 2001-07-08  Richard Henderson  <rth@redhat.com>
12716
12717         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
12718
12719 2001-07-08  Richard Henderson  <rth@redhat.com>
12720
12721         * config/i386/i386.md: Remove constraints strings from define_split
12722         and define_peephole2 patterns.
12723         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
12724         (eh_return): Use them.
12725
12726 2001-07-08  Richard Henderson  <rth@redhat.com>
12727
12728         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
12729         Document MD_FALLBACK_FRAME_STATE_FOR.
12730
12731 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12732
12733         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
12734         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
12735         elimination.
12736         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
12737
12738 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
12739
12740         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
12741         of the label inside NAME as opposed to just the end of NAME.
12742
12743 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12744
12745         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
12746         * config/alpha/alpha.c (alpha_init_machine_status,
12747         alpha_mark_machine_status, alpha_free_machine_status): Delete.
12748         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
12749         (vms_valid_decl_attribute_p): Make static, conditionally compile.
12750         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
12751
12752 2001-07-06  Stan Shebs  <shebs@apple.com>
12753
12754         * target.h (targetm): Rename global from "target", so as not to
12755         conflict with local variables.
12756         * c-decl.c: Ditto.
12757         * c-typeck.c: Ditto.
12758         * final.c: Ditto.
12759         * tree.c: Ditto.
12760         * cp/decl.c: Ditto.
12761         * cp/decl2.c: Ditto.
12762         * cp/typeck.c: Ditto.
12763         * 1750a/1750a.c: Ditto.
12764         * a29k/a29k.c: Ditto.
12765         * arc/arc.c: Ditto.
12766         * arm/arm.c: Ditto.
12767         * avr/avr.c: Ditto.
12768         * clipper/clipper.c: Ditto.
12769         * convex/convex.c: Ditto.
12770         * d30v/d30v.c: Ditto.
12771         * dsp16xx/dsp16xx.c: Ditto.
12772         * elxsi/elxsi.c: Ditto.
12773         * fr30/fr30.c: Ditto.
12774         * h8300/h8300.c: Ditto.
12775         * i370/i370.c: Ditto.
12776         * i386/i386.c: Ditto.
12777         * i860/i860.c: Ditto.
12778         * i960/i960.c: Ditto.
12779         * ia64/ia64.c: Ditto.
12780         * m32r/m32r.c: Ditto.
12781         * m68hc11/m68hc11.c: Ditto.
12782         * m68k/m68k.c: Ditto.
12783         * m88k/m88k.c: Ditto.
12784         * mips/mips.c: Ditto.
12785         * ns32k/ns32k.c: Ditto.
12786         * pa/pa.c: Ditto.
12787         * pdp11/pdp11.c: Ditto.
12788         * romp/romp.c: Ditto.
12789         * rs6000/rs6000.c: Ditto.
12790         * sh/sh.c: Ditto.
12791         * sparc/sparc.c: Ditto.
12792         * vax/vax.c: Ditto.
12793         * we32k/we32k.c: Ditto.
12794         * doc/tm.texi: Update the manual to match.
12795
12796 2001-07-06  Richard Henderson  <rth@redhat.com>
12797
12798         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
12799         DWARF2_UNWIND_INFO not just whether it is defined.
12800
12801 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
12802
12803         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
12804         call to simplify_binary_operation returns a new pattern.
12805
12806 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12807
12808         * glimits.h (__SHRT_MAX__): New.
12809         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
12810         (SHRT_MAX): Define in terms of __SHRT_MAX__.
12811
12812 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
12813
12814         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
12815         avoid warnings.
12816
12817 2001-07-06  Richard Henderson  <rth@redhat.com>
12818
12819         * bitmap.c (bitmap_release_memory): Move adjacent to the
12820         allocation functions.
12821         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
12822         the implementation.  Binary search for the set bit.
12823         (bitmap_union_of_diff): Allocate the temporary on the stack
12824         instead of using xmalloc.
12825
12826 2001-07-06  Richard Henderson  <rth@redhat.com>
12827
12828         * genrecog.c (validate_pattern): Warn for constraints in
12829         define_{expand,split,peephole2}.  Remove strict_low_part
12830         before looking up match_dup.
12831
12832 2001-07-06  DJ Delorie  <dj@redhat.com>
12833
12834         * doc/gcc.texi (Makefile): Rename to be a more general purpose
12835         chapter about various build hints and history.  Add section
12836         talking about the various types of native and cross builds.
12837
12838 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12839
12840         * Makefile.in (final.o): Depend on target.h.
12841         * final.c: Include target.h.
12842         (default_function_pro_epilogue): New.
12843         (final_start_function): Use target structure for function prologues.
12844         (final_end_function): Use target structure for function epilogues.
12845         * fold-const.c (real_hex_to_f): Constify s and p.
12846         * output.h (default_function_pro_epilogue): New.
12847         * real.h (real_hex_to_f): Update prototype.
12848         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
12849         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
12850         (TARGET_INITIALIZER): Update.
12851         * target.h (gcc_target): Add struct asm_out.
12852         * doc/tm.texi: Update.
12853
12854 config:
12855         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
12856         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
12857         in cpu/cpu.c, or rename old functions consistently.  Take
12858         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
12859         redundant macros and prototypes.  Make new functions static.
12860
12861         * 1750a/1750a.c: Similarly.
12862         * 1750a/1750a.h: Similarly.
12863         * a29k/a29k-protos.h: Similarly.
12864         * a29k/a29k.c: Similarly.
12865         * a29k/a29k.h: Similarly.
12866         * arc/arc-protos.h: Similarly.
12867         * arc/arc.c: Similarly.
12868         * arc/arc.h: Similarly.
12869         * arm/arm-protos.h: Similarly.
12870         * arm/arm.c: Similarly.
12871         * arm/arm.h: Similarly.
12872         * avr/avr-protos.h: Similarly.
12873         * avr/avr.c: Similarly.
12874         * avr/avr.h: Similarly.
12875         * clipper/clipper-protos.h: Similarly.
12876         * clipper/clipper.c: Similarly.
12877         * clipper/clipper.h: Similarly.
12878         * convex/convex.c: Similarly.
12879         * convex/convex.h: Similarly.
12880         * d30v/d30v-protos.h: Similarly.
12881         * d30v/d30v.c: Similarly.
12882         * d30v/d30v.h: Similarly.
12883         * d30v/d30v.md: Similarly.
12884         * dsp16xx/dsp16xx-protos.h: Similarly.
12885         * dsp16xx/dsp16xx.c: Similarly.
12886         * dsp16xx/dsp16xx.h: Similarly.
12887         * elxsi/elxsi.c: Similarly.
12888         * elxsi/elxsi.h: Similarly.
12889         * fr30/fr30.c: Similarly.
12890         * fr30/fr30.md: Similarly.
12891         * h8300/h8300-protos.h: Similarly.
12892         * h8300/h8300.c: Similarly.
12893         * h8300/h8300.h: Similarly.
12894         * i370/i370-protos.h: Similarly.
12895         * i370/i370.c: Similarly.
12896         * i370/i370.h: Similarly.
12897         * i386/i386.c: Similarly.
12898         * i386/osf1elf.h: Similarly.
12899         * i386/osfrose.h: Similarly.
12900         * i860/i860-protos.h: Similarly.
12901         * i860/i860.c: Similarly.
12902         * i860/i860.h: Similarly.
12903         * i960/i960-protos.h: Similarly.
12904         * i960/i960.c: Similarly.
12905         * i960/i960.h: Similarly.
12906         * ia64/ia64-protos.h: Similarly.
12907         * ia64/ia64.c: Similarly.
12908         * ia64/ia64.h: Similarly.
12909         * m32r/m32r-protos.h: Similarly.
12910         * m32r/m32r.c: Similarly.
12911         * m32r/m32r.h: Similarly.
12912         * m68hc11/m68hc11-protos.h: Similarly.
12913         * m68hc11/m68hc11.c: Similarly.
12914         * m68hc11/m68hc11.h: Similarly.
12915         * m68k/crds.h: Similarly.
12916         * m68k/dpx2.h: Similarly.
12917         * m68k/m68k-protos.h: Similarly.
12918         * m68k/m68k.c: Similarly.
12919         * m68k/m68k.h: Similarly.
12920         * m68k/news.h: Similarly.
12921         * m88k/m88k-protos.h: Similarly.
12922         * m88k/m88k.c: Similarly.
12923         * m88k/m88k.h: Similarly.
12924         * mips/mips-protos.h: Similarly.
12925         * mips/mips.c: Similarly.
12926         * mips/mips.h: Similarly.
12927         * ns32k/merlin.h: Similarly.
12928         * ns32k/ns32k.c: Similarly.
12929         * ns32k/ns32k.h: Similarly.
12930         * ns32k/tek6000.h: Similarly.
12931         * pa/pa-protos.h: Similarly.
12932         * pa/pa.c: Similarly.
12933         * pa/pa.h: Similarly.
12934         * pdp11/2bsd.h: Similarly.
12935         * pdp11/pdp11-protos.h: Similarly.
12936         * pdp11/pdp11.c: Similarly.
12937         * pdp11/pdp11.h: Similarly.
12938         * romp/romp-protos.h: Similarly.
12939         * romp/romp.c: Similarly.
12940         * romp/romp.h: Similarly.
12941         * rs6000/rs6000-protos.h: Similarly.
12942         * rs6000/rs6000.c: Similarly.
12943         * rs6000/rs6000.h: Similarly.
12944         * rs6000/sysv4.h: Similarly.
12945         * sh/sh-protos.h: Similarly.
12946         * sh/sh.c: Similarly.
12947         * sh/sh.h: Similarly.
12948         * sparc/sparc-protos.h: Similarly.
12949         * sparc/sparc.c: Similarly.
12950         * sparc/sparc.h: Similarly.
12951         * vax/vax.c: Similarly.
12952         * vax/vax.h: Similarly.
12953         * vax/vms.h: Similarly.
12954         * we32k/we32k.c: Similarly.
12955         * we32k/we32k.h: Similarly.
12956
12957 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
12958
12959         * basic-block.h (first_insn_after_basic_block_note): Declare.
12960         * flow.c (first_insn_after_basic_block_note): Define.  Moved
12961         from...
12962         * ssa.c (first_insn_after_basic_block_note): Remove.
12963         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
12964         necessary.
12965         (ssa_eliminate_dead_code): Properly update the CFG and PHI
12966         nodes when we find a dead conditional branch.  Insert BARRIERs
12967         after any blocks with no successors, but which do not have
12968         any BARRIERs.
12969
12970 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
12971
12972         * varray.c (varray_check_failed): Use internal_error.
12973
12974 2001-07-05  Andrew Haley  <aph@redhat.com>
12975
12976         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
12977         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
12978         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
12979
12980 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
12981
12982         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
12983         reference if the target constant is also a SYMBOL_REF.
12984
12985 2001-07-05  Eric Christopher  <echristo@redhat.com>
12986
12987         * config/mips/mips.h (MASK_MIPS3900): Remove.
12988         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
12989         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
12990         (TARGET_MIPS3900): Change to use mips_arch.
12991         (TARGET_MIPS4000): New.
12992         (TARGET_MIPS4100): New.
12993         (TARGET_MIPS4300): New.
12994         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
12995         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
12996         for -mipsX.
12997         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
12998         (ISA_HAS_BRANCHLIKELY): To here.
12999         (CC1_CPU_SPEC):  New.
13000         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
13001         (mips_arch_string): Declare.
13002         (mips_arch): Declare.
13003         (TARGET_OPTIONS): Add -march and -mtune.
13004
13005         * config/mips/mips.c (mips_arch_string): New.
13006         (mips_arch): New.
13007         (override_options): Handle -march for codegen and -mtune
13008         for scheduling. Use mips_arch. Move tx39 target default here.
13009         (mips_parse_cpu): Move error message to override_options.
13010
13011         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
13012
13013         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
13014
13015         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
13016         (MIPS Options): Ditto.  Change mcpu entry to historical text.
13017
13018 2001-07-05  H.J. Lu  (hjl@gnu.org)
13019
13020         * config/mips/mips.c (mips_parse_cpu): New function to parse
13021         -march=*/-mcpu=*.
13022
13023 2001-07-05  Jim Wilson  <wilson@redhat.com>
13024
13025         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
13026         * config/ia64/t-ia64: Likewise.
13027         (LIB1ASMFUNCS): Update comment.
13028
13029 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
13030
13031         * doc/install.texi (Install GCC: Binaries): Fix typo.
13032
13033 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13034
13035         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
13036         reference using the stack pointer, adjust it since we push Y
13037         temporarily.
13038         ("*ashrsi3"): Likewise.
13039         ("*lshrsi3"): Likewise.
13040
13041 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13042
13043         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
13044         when -fomit-frame-pointer is used.
13045
13046 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
13047
13048         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
13049         (try_redirect_by_replacing_jump): Reverse updating properly the
13050         count and frequency information.  Reverse removing cc0 setter.
13051         (forwarder_block_p): Reverse fixing for fallthru blocks.
13052
13053 2001-07-05  DJ Delorie  <dj@redhat.com>
13054
13055         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
13056         (translate_options): If the above is defined, use it to map
13057         given options to new options.
13058         * doc/tm.texi: Document it.
13059
13060 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
13061             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13062
13063         * doc/invoke.texi (Optimize Options): Document that -fgcse may
13064         cause programs using computed gotos to run more slowly.
13065
13066 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13067
13068         * doc/install.texi (Specific): Markup, spelling and typo fixes.
13069         Fixed sorting.
13070         Consistently require binutils 2.11.2, not prereleases.
13071         (Specific, decstation-*): Canonicalize as mips-dec-*.
13072         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
13073         always necessary.
13074         (Specific, m68k-altos): Removed reference to README.altos, deleted.
13075         (Specific, mips-*): Reword MIPS C compiler requirements.
13076         (Specific, powerpc*-*-*): New, mention --with-cpu once.
13077         (Specific, sunv5): Removed, obsolete.
13078
13079 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13080
13081         * dwarf2out.c (output_loc_list): Use an all ones mask for
13082         .text asm output and don't rely on long long
13083         literals. Reformat some long lines.
13084
13085 2001-07-05  Andreas Jaeger  <aj@suse.de>
13086
13087         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
13088         section.
13089
13090 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
13091
13092         * dwarf2out.c (dwarf2out_define): Update comment.
13093         (dwarf2out_undef): Ditto.
13094         (dwarf2out_start_source_file): Ditto.
13095         (dwarf2out_end_source_file): Ditto.
13096         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
13097         since we never call the start/end debug hook for the primary file.
13098
13099 2001-07-04  Kazu Hirata  <kazu@hxi.com>
13100
13101         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
13102         from shll.
13103
13104 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
13105
13106         * cppinit.c (remove_dup_dirs): Inform if a system include
13107         directory is being reordered.
13108         * doc/invoke.texi (Directory Options): GCC warns if you hide a
13109         system include.
13110         * doc/cpp.texi (Search Paths): Likewise.
13111         * doc/gcc.texi (Interoperation): Remove information about
13112         -I/usr/include.
13113
13114 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
13115
13116         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
13117         (VARRAY_TOP_CHAR_PTR): Likewise.
13118
13119 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13120
13121         * gcc.c (process_command): Don't assign elements of a const char*.
13122
13123 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13124
13125         * emit-rtl.c (change_address): Don't abort if invalid address while
13126         reload is in progress.
13127
13128 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
13129
13130         * c-lex.c (cb_file_change): Pass line number to
13131         debug_start_source_file.
13132         (cb_undefine): Pass correct line number to debug_undef.
13133
13134         * toplev.c (debug_start_source_file): Add line number to
13135         parameters. Pass it along to dwarf2out_start_source_file.
13136         (decode_g_option): Stop resetting debug level back to normal when
13137         we change debug formats, unless the current level is
13138         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
13139         3).
13140
13141         * toplev.h (debug_start_source_file): Add line number to
13142         parameters.
13143
13144         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
13145         parameters.
13146
13147         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
13148         parameters.
13149         Output debug_macinfo data for starting file if requested.
13150         (dwarf2out_end_source_file): Output debug_macinfo data for ending
13151         file if requested.
13152         (dwarf2out_define): Output debug_macinfo data for defining a macro
13153         if requested.
13154         (dwarf2out_undef): Output debug_macinfo data for undefining a
13155         macro if requested.
13156         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
13157         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
13158         (macinfo_section_label): New. DWARF2 macro info section label.
13159         (dwarf2out_init): If we want macro info, output the start label
13160         for the section.
13161         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
13162         attribute to the compilation unit die pointing to the macro info.
13163
13164 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
13165
13166         * dwarf2out.c (new_loc_list): Move to inside #ifdef
13167         DWARF2_DEBUGGING_INFO.
13168         (add_loc_descr_to_loc_list): Ditto.
13169         (output_loc_list): Ditto.
13170         Also, fix thinko in curr not being initialized.
13171         (gen_internal_sym): Ditto.
13172
13173 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13174
13175         * emit-rtl.c (replace_equiv_address): New function.
13176         * expr.h (replace_equiv_address): New declaration.
13177         * explow.c (validize_mem): Call it instead of change_address and
13178         also call if -fforce-addr and address is constant.
13179         * expr.c: Replace more calls to change_address with adjust_address
13180         and/or replace_equiv_address or to validize_mem.
13181         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
13182         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
13183         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
13184         * config/i370/i370.md, config/i860/i860.md: Likewise.
13185         * config/i960/i960.md, config/mips/mips.c: Likewise.
13186         * config/mips/mips.md, config/pa/pa.md: Likewise.
13187         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
13188         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
13189
13190 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13191
13192         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
13193
13194         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
13195         function.
13196
13197 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
13198
13199         * doc/include: New directory.
13200         * doc/fdl.texi: Move to doc/include/fdl.texi.
13201         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
13202         * doc/include/funding.texi, doc/include/gpl.texi: New files.
13203         * doc/gcc.texi: Use funding.texi and gpl.texi.
13204         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
13205         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
13206         Update dependencies and use -I $(docdir)/include.
13207
13208 2001-07-04  Anthony Green  <green@redhat.com>
13209
13210         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
13211
13212 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13213
13214         * doc/install.texi (sparc64-*-*): Remove garbage.
13215
13216 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
13217
13218         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
13219         Fix typo in last change to use adjust_address.
13220
13221 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13222
13223         * doc/install.texi (Specific): Update information for *-*-solaris*.
13224
13225 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13226
13227         * explow.c (plus_constant_wide): Reinitialize Y for restart.
13228
13229 2001-07-03  Stan Shebs  <shebs@apple.com>
13230
13231         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
13232         case for flag_no_mach_text_sections.
13233         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
13234         * config/darwin.c (flag_no_mach_text_sections): Remove.
13235         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
13236
13237 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13238
13239         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
13240         and avoid checking for constant as first operand.
13241         * recog.c (find_constant_term_loc): No longer static.
13242         (adj_offettable_operand): Delete.
13243         * rtl.h (adj_offsettable_operand): Delete declaration.
13244         (find_constant_term): Add declaration.
13245         * caller-save.c: Replace calls to adj_offsettable_operand with calls
13246         to adjust_address.
13247         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
13248         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
13249         * config/i386/i386.c, config/i386/i386.md: Likewise.
13250         * config/i860/i860.c, config/i960/i960.c: Likewise.
13251         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
13252         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
13253         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
13254         * config/mips/mips.c, config/mips/mips.md: Likewise.
13255         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
13256         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
13257         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
13258         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
13259         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
13260         * config/ns32k/ns32k.md: Likewise.
13261
13262 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
13263
13264         * rtl.c (copy_rtx): Handle 'T' format letter.
13265         * gensupport.c (collect_insn_data): Likewise.
13266         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
13267
13268 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
13269
13270         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
13271         -B option.  Use 'dir' not 'foo' as example directory name.
13272
13273 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13274
13275         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13276         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
13277
13278 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13279
13280         * doc/cppinternals.texi: Improve formatting and logical markup.
13281
13282 2001-07-03  Andreas Jaeger  <aj@suse.de>
13283
13284         * Makefile.in (insn-recog.o): Add dependency on reload.h.
13285
13286         * genrecog.c (write_header): Include reload.h for prototypes in
13287         insn-recog.c.
13288
13289 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
13290
13291 config:
13292         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
13293         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
13294         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
13295         i386_pe_valid_type_attribute_p): Add.
13296         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
13297         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
13298
13299 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13300
13301         * explow.c (plus_constant_wide, case LO_SUM): New case.
13302         (plus_constant_for_output_wide): Delete.
13303         * rtl.h (plus_constant_for_output): Delete.
13304         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
13305         instead of plus_constant_for_output.
13306         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
13307         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
13308         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
13309         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
13310         * config/sparc/sparc.md: Likewise.
13311         Convert some change_address calls to adjust_address.
13312
13313 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13314
13315         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
13316         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
13317         documentation of -std and -Wwrite-strings.
13318
13319 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
13320
13321         * cse.c (canon_hash): Don't register registers in very small
13322         register classes, as extending their lifetime might cause
13323         reload to fail.
13324
13325 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
13326
13327         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13328
13329         * flow.c (forwarder_block_p): Fix for fallthru blocks.
13330         (try_redirect_by_replacing_jump): Update properly the count
13331         and frequency information.
13332
13333 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
13334
13335         * toplev.c (dump_file_index): Move SSA dumps just after first
13336         jump dump.
13337         (dump_file): Corresponding changes.
13338         (rest_of_compilation): Move SSA path to just after the first
13339         jump pass.
13340         * doc/gcc.texi (Passes): Update due to movement of SSA path.
13341         * doc/invoke.texi: Update dump file #s as they were completely
13342         out of date with reality.
13343
13344 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
13345
13346         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
13347
13348         * expr.c (emit_move_insn_1): Deal with non-default
13349         STACK_PUSH_CODE.
13350
13351         * expr.c (emit_single_push_insn): Fix warning.
13352
13353 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13354
13355         * expr.c (emit_move_insn_1): Avoid modifying
13356         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
13357
13358 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13359
13360         * emit-rtl.c (adjust_address): New function.
13361         * expr.h (adjust_address): Add declaration.
13362         * builtins.c: Replace some calls to change_address with calls to it
13363         or to validize_mem.
13364         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
13365         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
13366         * config/arm/arm.c, config/convex/convex.c: Likewise.
13367         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
13368         * config/i386/i386.c, config/i386/i386.md: Likewise.
13369         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
13370         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
13371         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
13372         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
13373         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
13374
13375 2001-07-02  Jim Wilson  <wilson@redhat.com>
13376
13377         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
13378
13379 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
13380
13381         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
13382         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
13383
13384 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
13385
13386         * cppinit.c (lang_defaults): New table.
13387         (set_lang): Just read from lang_defaults into the live options
13388         structure.
13389
13390 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
13391
13392         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
13393         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
13394         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
13395
13396 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13397
13398         * doc/install.texi: Various spelling and markup fixes.
13399         (Installing GCC): Component specific installation instructions are
13400         gone.
13401         Fix reference.
13402         Warn about removing old install dir in the presence of shared libs.
13403         (Configuration): Invoke with options target to match configure
13404         --help.
13405         Consistently refer to gas, gld pathnames.
13406         Invert --enable-multilib documentation.
13407         Remove references to old compiler versions.
13408
13409 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13410
13411         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
13412
13413 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13414
13415         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
13416         section.
13417         (Specific, mips*-sgi-irix5): Note IDO download.
13418         Reworded MIPS C hints.
13419         Use GNU as instead of GAS.
13420         Markup fixes.
13421         Removed SGI Freeware reference, IRIX 6 only.
13422         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
13423         Note N64 library requirement/workaround.
13424         Update O32 hints.
13425         Complete list of structure passing bug victims.
13426
13427 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13428
13429         * doc/install.texi: Remove CVS Id.
13430
13431 2001-07-02  Andreas Jaeger  <aj@suse.de>
13432
13433         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
13434         (find_inherently_necessary): Remove unused variable.
13435
13436 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
13437
13438         * c-common.h (TDI_inlined): New ast dump phase.
13439         (dump_flag_name): New function.
13440         * c-dump.c (dump_files): Add inlined phase.
13441         (dump_flag_name): Define.
13442         * doc/invoke.texi (-fdump-ast-inlined): Document.
13443
13444 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13445
13446         * stor-layout.c (layout_decl): Revert change to handling of alignment
13447         in packed types.
13448
13449 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13450
13451         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
13452         for FIELD_DECL.
13453
13454 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
13455
13456         * doc/tm.texi (FUNCTION_ARG): Document that the last call
13457         is special.
13458
13459 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13460
13461         * tlink.c (recompile_files): Remove COMPILER_PATH and
13462         LIBRARY_PATH from the environment.
13463
13464 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
13465
13466         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
13467         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
13468         enumerators.
13469         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
13470
13471         * c-parse.in (OBJC_STRING): Kill.
13472         (objc_string): Decompose to [objc_string] '@' STRING.
13473         (reswords): Take the leading '@' off all the Objective C keywords.
13474         (objc_rid_sans_at): Kill.
13475         (init_reswords): Don't initialize it.
13476         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
13477         (_yylex): Kill reconsider label.  Look ahead one token after
13478         an '@'; if we get an identifier, check whether it's an
13479         Objective C @-keyword.  If so, return the keyword.  Otherwise,
13480         put back the token and return the '@' as a terminal.
13481
13482         * cpplib.c (lex_macro_node): Remove unnecessary check for
13483         leading '@' on identifier.  Clarify control flow and commentary.
13484
13485 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13486
13487         * cse.c (new_label_ref): Variable deleted.
13488         (insert): Remove set of new_label_ref.
13489         (check_for_label_ref): New function.
13490         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
13491
13492 See ChangeLog.5 for earlier changes.