1 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
3 * c-lang.c (LANG_HOOKS_NAME): New.
4 (lang_hooks): Constify.
5 (c_init_options): Update.
6 (lang_identify): Remove.
7 * c-parse.in (language_string): Remove.
8 * dbxout.c: Include langhooks.h.
9 (dbxout_symbol_location): Update.
10 * dwarf2out.c: Include langhooks.h.
11 (gen_compile_unit_die): Update.
12 * dwarfout.c: Include langhooks.h.
13 (prototyped_attribute, output_compile_unit_die): Update.
14 * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
15 (LANG_HOOKS_INITIALIZER): Update.
16 * langhooks.h (struct lang_hooks): New members. Constify.
17 * stringpool.c: Don't include toplev.h.
18 (set_identifier_size): Remove.
19 * toplev.c (toplev_main): Initialize identifier size.
20 (print_version): Update.
21 * tree.h (language_string, init_lex, lang_identify,
22 set_identifier_size): Remove.
23 * Makefile.in: Update dependencies.
24 * config/darwin.c: Include langhooks.h.
25 (func_name_maybe_scoped): Update.
26 * config/darwin.h (ASM_END_FILE): Update.
27 * config/nextstep.h (ASM_END_FILE): Update.
28 * config/nextstep21.h (ASM_END_FILE): Update.
29 * config/i386/sun386.h (ASM_END_FILE): Update.
30 * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
31 (rs6000_output_function_epilogue): Update.
33 * objc-act.c (LANG_HOOKS_NAME): Override.
34 (struct lang_hooks): Constify.
35 (objc_init_options): Update.
36 (lang_identify): Remove.
38 Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
40 * fold-const.c (lshift_double): Honor PREC.
41 (rshift_double): Likewise.
43 2001-11-08 Kazu Hirata <kazu@hxi.com>
45 * config/1750a/1750a.c: Fix comment formatting.
46 * config/1750a/1750a.h: Likewise.
48 2001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
50 * configure.in (--enable-languages): Be more permissive about
51 syntax. Check for empty lists better. Warn about $LANGUAGES.
52 * configure: Regenerated.
54 2001-11-08 Richard Henderson <rth@redhat.com>
56 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
58 2001-11-08 Geoffrey Keating <geoffk@redhat.com>
60 * config.gcc: Rename stormy16 to xstormy16.
61 * config/stormy16/stormy-abi: Likewise.
62 * config/stormy16/stormy16-protos.h: Likewise.
63 * config/stormy16/stormy16.c: Likewise.
64 * config/stormy16/stormy16.h: Likewise.
65 * config/stormy16/stormy16.md: Likewise.
67 2001-11-06 Geoffrey Keating <geoffk@redhat.com>
69 * tree.h (TYPE_VOLATILE): Add enable-checking code.
70 (TYPE_READONLY): Likewise.
72 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
74 * reload1.c (reload): Don't delete equiv insn if can throw.
76 * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
77 (clear_storage): Likewise, for OBJECT.
79 Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
81 * pa.c (emit_move_sequence): Fix SUBREG expression to
82 use proper byte offset when extending a constant from
85 2001-11-09 Jakub Jelinek <jakub@redhat.com>
87 * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
90 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
92 * explow.c (convert_memory_address, case SUBREG): Only return
93 inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
95 2001-11-08 Richard Henderson <rth@redhat.com>
97 * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
98 (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
99 (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
101 2001-11-08 Aldy Hernandez <aldyh@redhat.com>
103 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
105 2001-11-08 Jakub Jelinek <jakub@redhat.com>
107 * dwarf2out.c (debug_str_hash): New.
108 (struct indirect_string_node): New.
109 (struct dw_val_struct): Change type of val_str to it.
110 (DEBUG_STR_SECTION_FLAGS): Define.
111 (add_AT_string): Push string into hashtable, increment reference
113 (AT_string): Return string from ht_identifier.
114 (AT_string_form): New.
115 (free_AT): For dw_val_class_str, just decrement reference counter.
116 (size_of_string): Remove.
117 (size_of_die): Use AT_string_form to decide what size the string
119 (size_of_pubnames): Use strlen instead of size_of_string.
120 (value_format): Use AT_string_form for dw_val_class_str.
121 (output_die): Output DW_FORM_strp strings using
122 dw2_asm_output_offset.
123 (indirect_string_alloc, output_indirect_string): New.
124 (dwarf2out_finish): Emit .debug_str strings if there are any.
126 2001-11-08 Andreas Franck <afranck@gmx.de>
128 * configure.in: Add AC_ARG_PROGRAM to support program name
129 transformation with --program-prefix, --program-suffix and
130 --program-transform-name.
131 * configure: Regenerated.
132 * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
133 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
134 GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
135 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
136 program_transform_name the way suggested by autoconf.
137 (GCC_TARGET_INSTALL_NAME): Define.
138 (install-driver): Use the transformed target alias name.
140 2001-11-08 Richard Henderson <rth@redhat.com>
142 * config/mips/mips.c (save_restore_insns): Remove GP from the
143 restore registers mask early instead of special casing it inside
146 2001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
148 * cp/decl.c (shadow_warning): New function.
149 (pushdecl): Improve -Wshadow warnings. Don't give both a warning
150 and an error when a block scope decl shadows a parameter.
152 2001-11-08 Richard Henderson <rth@redhat.com>
154 * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
157 2001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
159 * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
160 to implement floating negation on processors prior to PA 2.0.
162 2001-11-08 Jakub Jelinek <jakub@redhat.com>
164 * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
165 (USE_LINKONCE_INDIRECT): Define.
166 (dw2_output_indirect_constant_1): Try to output indirect constants
167 into linkonce sections if possible.
168 (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
169 (dw2_output_indirect_constants): Likewise.
171 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
173 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
175 2001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
177 * c-decl.c (pushdecl): Remove file and line.
178 * c-typeck.c (pop_init_level): Remove size.
180 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
182 * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
185 * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
186 (TARGET_ALTIVEC): New.
187 (TARGET_SWITCHES): Add altivec.
188 (FIRST_PSEUDO_REGISTER): Change to 109.
189 (CALL_USED_REGISTERS): Same.
190 (FIRST_ALTIVEC_REGNO): New.
191 (LAST_ALTIVEC_REGNO): New.
192 (ALTIVEC_REGNO_P): New.
193 (UNITS_PER_ALTIVEC_WORD): New.
194 (ALTIVEC_VECTOR_MODE): New.
195 (FIXED_REGISTERS): Add altivec registers.
196 (REG_ALLOC_ORDER): Same.
197 (HARD_REGNO_NREGS): Adjust for altivec registers.
198 (HARD_REGNO_MODE_OK): Same.
199 (MODES_TIEABLE_P): Same.
200 (REGISTER_MOVE_COST): Same.
201 (REGNO_REG_CLASS): Same.
202 (reg_class): Add ALTIVEC_REGS.
203 (REG_CLASS_NAMES): Same.
204 (REG_CLASS_CONTENTS): Same.
205 (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
206 (ALTIVEC_ARG_RETURN): New.
207 (FUNCTION_VALUE): Handle VECTOR_TYPE.
208 (LIBCALL_VALUE): Handle altivec vector modes.
209 (VECTOR_MODE_SUPPORTED_P): New.
210 (ALTIVEC_ARG_MIN_REG): New.
211 (ALTIVEC_ARG_MAX_REG): New.
212 (ALTIVEC_ARG_NUM_REG): New.
213 (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
214 (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
215 (REGISTER_NAMES): Add altivec regs.
216 (DEBUG_REGISTER_NAMES): Same.
217 (ADDITIONAL_REGISTER_NAMES): Same.
218 (rs6000_builtins): New.
219 (MD_EXPAND_BUILTIN): New.
220 (MD_INIT_BUILTINS): New.
221 (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
222 for AltiVec instructions.
223 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
224 (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
226 (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
227 (TARGET_SWITCHES): Add no-altivec.
228 (DATA_ALIGNMENT): Align vectors to 128 bits.
229 (TARGET_OPTIONS): Add abi= option.
230 Add rs6000_abi_string extern.
231 (LOCAL_ALIGNMENT): New.
232 (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
233 (MASK_ALTIVEC_ABI): New.
234 (TARGET_ALTIVEC_ABI): New.
235 (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
237 (STACK_BOUNDARY): Adjust for altivec.
238 (BIGGEST_ALIGNMENT): Same.
239 (rs6000_args): Add vregno.
240 (USE_ALTIVEC_FOR_ARG_P): New.
241 (FIXED_REGISTERS): Add vrsave register.
242 (CALL_USED_REGISTERS): Same.
243 (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
245 (reg_class): Add VRSAVE_REGS.
246 (REG_CLASS_NAMES): Same.
247 (REG_CLASS_CONTENTS): Same.
248 (REGNO_REG_CLASS): Same.
250 * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
251 (ABI_STACK_BOUNDARY): Same.
252 (BIGGEST_ALIGNMENT): Same.
253 (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
254 (ROUND_TYPE_ALIGN): Same.
256 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
259 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
262 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
265 * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
266 (altivec_expand_builtin): New.
267 (altivec_init_builtins): New.
268 (TARGET_EXPAND_BUILTIN): New.
269 (TARGET_INIT_BUILTINS): New.
270 (rs6000_init_builtins): New.
271 (struct builtin_description): New.
273 (rs6000_reg_names): Add altivec registers.
274 (alt_reg_names): Same.
275 (secondary_reload_class): Altivec regs can hold altivec regs and
277 (rs6000_emit_move): Force constants into memory for AltiVec moves.
278 (print_operand): Add 'y' case for printing altivec memory
280 (rs6000_legitimize_address): Legitimize vector addresses into
282 (altivec_expand_binop_builtin): New.
283 New string rs6000_current_abi.
284 (rs6000_override_options): Call rs6000_parse_abi_options.
285 (rs6000_parse_abi_options): New.
286 (function_arg_boundary): Vector arguments must be 16
288 (function_arg_advance): Handle vector arguments.
289 (function_arg_partial_nregs): Same.
290 (init_cumulative_args): Same.
291 (function_arg): Same.
293 * config/rs6000/rs6000.md (altivec_lvx): New.
294 (type): Add altivec attribute.
296 (*movv4si_internal): New.
298 (*movv16qi_internal): New.
300 (*movv8hi_internal1): New.
302 (*movv4sf_internal1): New.
419 2001-11-07 Daniel Berlin <dan@cgsoftware.com>
421 * Makefile.in (df.o): Add fibheap.h to dependencies.
423 * df.h: Add prototypes for transfer functions, iterative_dataflow
425 (enum df_flow_dir): New enum.
426 (enum df_confluence_op): New enum.
427 (struct df): Add inverse_rts_map.
429 * df.c: Add sbitmap.h to the list of includes.
430 (df_rd_global_compute): Removed.
431 (df_ru_global_compute): Removed.
432 (df_lr_global_compute): Removed.
433 (df_rd_transfer_function): New function.
434 (df_ru_transfer_function): New function.
435 (df_lr_transfer_function): New function.
436 (df_analyse_1): allocate/compute/free df->inverse_rts_map.
437 Use iterative_dataflow_bitmap instead of df_*_global_compute.
438 (iterative_dataflow_sbitmap): New function.
439 (iterative_dataflow_bitmap): New function.
441 2001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
443 * doc/gcc.texi: Move terminology and spelling conventions to
444 htdocs/codingconventions.html.
446 2001-11-07 Graham Stott <grahams@redhat.com>
448 * cse.c (cse_insn): Emit BARRIER after unconditional jump.
450 Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
452 * expmed.c (expand_mult): Force operand to register before computing
454 * i386.c (x86_decompose_lea): New global vairable.
455 * i386.h (x86_decompose_lea): Declare.
456 (TARGET_DECOMPOSE_LEA): New macro.
457 (RTX_COST): Handle leas properly.
459 2001-11-06 Richard Henderson <rth@redhat.com>
461 * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
462 defined for a CONSTRUCTOR; don't check it.
464 2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
466 * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
467 test for absolute pathnames.
469 2001-11-06 Olivier Hainque <hainque@act-europe.fr>
471 * unwind-dw2.c (execute_cfa_program): Evaluate call frame
472 instructions up to the target pc inclusive.
474 2001-11-06 Steve Christiansen <smc@us.ibm.com>
476 * loop.c (loop_regs_scan): Don't invalidate PIC register.
478 2001-11-06 Eric Christopher <echristo@redhat.com>
480 * config/mips/mips.md(movdf_internal2): Add constraints for float
481 to general register move.
482 * config/mips/elf64.h: Add default ABI.
484 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
486 * alias.c:: Include langhooks.h.
487 * emit-rtl.c: Similarly.
488 * toplev.c: Similarly.
489 * tree-inline.c: Similarly.
490 * langhooks-def.h: New, the old langhooks.h. Give the default
491 hooks a common prefix.
492 * langhooks.h: Contents extracted from toplev.h.
493 * toplev.h: Move langhook stuff to langhooks.h.
494 * langhooks.c: Give default hooks a common prefix.
496 * c-lang.c: Include langhooks-def.h.
497 * objc/objc-act.c: Similarly.
498 * Makefile.in: Update.
499 * objc/Make-lang.in: Update.
501 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
503 * doc/install.texi: Document that configure options not listed in
504 this file are unsupported. Document --with-system-zlib.
506 Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
508 * rtl.h (mem_for_const_double): New declaration.
509 * varasm.c (mem_for_const_double): New function.
510 * config/convex/convex.md (movdf): Use it.
511 * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
512 * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
513 * config/m68k/m68kv4.h: Likewise.
515 * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
516 of new GP reg classes.
518 * expr.c (store_field): When making temp object for unaligned
519 component, set it to alias set 0.
521 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
523 * c-common.c (c_expand_expr_stmt): Apply default conversions to
524 non-lvalue arrays if C99.
525 * c-typeck.c (default_conversion): Split out code handling
526 array-to-pointer and function-to-pointer conversions into a
527 separate default_function_array_conversion function.
528 (default_function_array_conversion): New function. Keep track of
529 whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
530 arrays unchanged outside C99 mode instead of giving an error for
532 (build_component_ref): Use pedantic_non_lvalue when handling
533 COMPOUND_EXPR. Don't handle COND_EXPR specially.
534 (convert_arguments): Use default_function_array_conversion.
535 (build_unary_op): For ADDR_EXPR, take a flag indicating whether
537 (unary_complex_lvalue): Likewise.
538 (internal_build_compound_expr): Use
539 default_function_array_conversion. Apply default conversions to
540 function in compound expression.
541 (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
542 Use default_function_array_conversion.
543 * doc/extend.texi: Update documentation of subscripting non-lvalue
547 2001-11-05 Zack Weinberg <zack@codesourcery.com>
549 * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
550 (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
551 corresponding to the complete set of .po and .gmo files in
552 the source directory's po subdir, modified by LINGUAS. Don't
554 * configure.in: Don't set ALL_LINGUAS.
555 * configure: Regenerate.
557 * Makefile.in (.po.gmo): Don't move into source directory.
558 (.po.pox): Clarify comments.
559 (install-po): Look for .gmo files in both srcdir and objdir;
560 don't fail if a file is totally missing.
561 (distclean): rmdir ada subdirectory too.
563 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
565 * config/rs6000/rs6000.c (rs6000_select_section): Handle
566 CONSTRUCTORs _correctly_.
568 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
570 * c-decl.c (delete_block): Remove.
571 * c-tree.h (delete_block): Remove.
573 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
575 * cppexp.c (lex, parse_defined): Update warning about defined.
577 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
579 * config/rs6000/rs6000.c (rs6000_select_section): Handle
582 2001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
584 * config/arm/arm.c (arm_return_in_memory): Cope with
585 int_size_in_bytes returning -1.
587 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
590 Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
592 * Makefile.in (bb-reoder.o): Add depdendency on cfglayout.h;
593 remove unneded depdendencies;
595 * cfglayout.c, cfglayout.h: New files; break out from ...
596 * bb-reorder.c: ... here; Remove unneeded includes;
598 2001-11-04 Alan Modra <amodra@bigpond.net.au>
600 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
602 2001-11-04 David Edelsohn <edelsohn@gnu.org>
604 * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
605 mode as well. Do not explicitly create intermediate regs.
607 2001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
609 * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
610 (common_section): Delete unused variable.
611 (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
612 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
613 * arm-protos.h (arm_poke_function_name, aof_add_import,
614 aof_delete_import): Const-ify.
615 * arm.c (legitimize_pic_address): Wrap variables in the macro
616 controlling their usage.
617 (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
618 (arm_poke_function_name, pic_chain, import, aof_add_import,
619 aof_delete_import): Const-ify.
620 * i386.c (ix86_osf_output_function_prologue): Const-ify.
621 * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
622 ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
623 * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
624 * i860/sysv3.h: Add missing comment closure.
625 * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
626 * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
629 * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
630 (i960-*-*): Set tmake_file.
631 (sparc86x-*-elf*): Fix typo in header name.
633 * sched-rgn.c (schedule_insns): Delete unused variable.
635 2001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
638 * c-typeck.c (lookup_field): Rework to return a chain down to
640 (build_component_ref): Use the new lookup_field to handle
641 nested anonymous entities correctly.
643 Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
645 * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
646 Change parameters to gen_rtx_CONST_DOUBLE.
647 (GEN_INT64, sparc_emit_set_const64): Likewise.
648 * config/sparc/sparc.md (movdf split): Likewise.
650 2001-11-03 Geoffrey Keating <geoffk@redhat.com>
652 * unroll.c (calculate_giv_inc): Use find_last_value rather
653 than just hoping the last instruction is the right SET.
654 [Fixes 990604-1.c on stormy16.]
656 * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
657 library at all if -T is used.
659 * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
660 some uses of uninitialized variables in error cases.
662 * config/stormy16/stormy16.c (stormy16_output_shift): Don't
663 look at 'temp' if we won't be using it.
665 * config/stormy16/stormy16.h (CONST_COSTS): Define.
667 (ADDRESS_COST): Define.
668 (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
670 * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
672 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
673 stormy16_asm_output_mi_thunk.
674 * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
676 * config/stormy16/stormy16-protos.h
677 (stormy16_asm_output_mi_thunk): New prototype.
679 2001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
681 * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
682 FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
683 caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
684 cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
685 sched-int.h, toplev.c, config/alpha/alpha.c,
686 config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
687 config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
688 config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
689 config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
690 config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
691 config/ns32k/ns32k.md, config/rs6000/rs6000.c,
692 config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
694 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
696 * Makefile.in (dbxout.o): Depend on function.h.
697 * collect2.c (is_in_list): Hide unused function.
698 * dbxout.c: Include function.h.
699 (source_label_number, dbxout_source_line, dbxout_source_file,
700 dbxout_function_end, dbxout_begin_function): Wrap/move inside
701 macros controlling usage.
702 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
703 * output.h (exports_section): Prototype.
705 * convex.c (convex_output_function_prologue): Fix format specifier
707 (asm_declare_function_name): Fix signed/unsigned warning.
708 (print_operand): Fix format specifier warning.
709 * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
710 * dsp16xx-protos.h (uns_comparison_operator,
711 num_1600_core_shifts): Prototype.
712 * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
713 (frame_size, frame_pointer_offset): Delete.
714 (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
715 Make static. Fix format specifier warnings.
716 * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
717 (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
718 * dsp16xx.md: Add default case in switches.
719 * fr30.h (IN_RANGE): Delete.
720 * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
721 * mcore-protos.h (mcore_output_cmov): Const-ify.
722 * mcore.c (mcore_output_cmov): Likewise.
723 * mcore.h (switch_to_section): Make static and prototype.
724 * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
725 unsigned>=0 warnings.
726 * mn10300.h (REGNO_IN_RANGE_P): Likewise.
727 * rs6000-protos.h (read_only_data_section,
728 read_only_private_data_section): Prototype.
729 * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
730 * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
731 * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
733 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
735 * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
737 * final.c (final_scan_insn): Add brackets around body of if-stmt.
738 * gcc.c (convert_filename): Add static prototype. Const-ify.
739 Wrap variable in macros controlling its use.
740 * output.h (sdata_section): Add prototype.
742 * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
743 (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
744 * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
745 (ASM_FILE_START): Const-ify.
746 (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
748 * c4x.md: Don't use the 'U' integer suffix.
749 * clipper.md (clipper_movstr): Delete declaration.
750 * d30v-protos.h (d30v_move_2words): Const-ify.
751 (debug_stack_info): Add prototype.
752 * d30v.c: Include "integrate.h".
753 (d30v_function_arg_boundary, d30v_function_arg,
754 d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
755 signed/unsigned warnings.
756 (d30v_print_operand_memory_reference, d30v_move_2words):
758 * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
759 * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
760 * fr30.md: Const-ify.
761 * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
762 * i370.c (i370_label_scan, mvs_get_label): Make definition static.
763 (mvs_get_label_page): Hide unused static function.
764 * i860.c (current_function_original_name): Const-ify.
765 * i860/sysv3.h (current_function_original_name): Likewise.
766 * i860/sysv4.h (current_function_original_name): Likewise.
767 * i960.md: Add default case in switches. Remove unused variable.
768 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
769 * m32r.md: Const-ify.
770 * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
771 * m68hc11.c: Include "reload.h".
772 (static_chain_reg, print_options, m68hc11_asm_file_start):
774 * m68hc11.md: Delete unused variable. Const-ify. Add parens
775 around & in comparison.
776 * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
777 * mn10200.c (shift_mode): Remove trailing comma.
778 * mn10300-protos.h (output_tst): Const-ify.
779 * mn10300.c (output_tst): Likewise.
780 * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
782 * pa-protos.h (output_ascii): Use regular char *, not unsigned.
783 * pa.c (output_ascii): Likewise.
784 * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
785 * pdp11.md (expand_unop): Delete declarations.
786 * pj-protos.h (pj_output_addsi3): Const-ify.
787 * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
788 pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
789 unique_src_operand): Add prototypes.
790 (pj_output_store_into_lval): Make definition static.
791 (pj_function_incoming_arg): Don't use unary plus.
792 (pj_output_addsi3): Const-ify.
793 * romp.md (get_symref): Delete declarations.
794 * v850-c.c (mark_current_function_as_interrupt): Don't return
795 value from void function.
796 * v850.c: Include "integrate.h".
797 * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
798 * vax-protos.h (const_section): Add prototype.
800 2001-11-03 Aldy Hernandez <aldyh@redhat.com>
802 * machmode.def: Add documentation for the seventh argument in
805 2001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
807 * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
809 <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
810 <-melf>: Don't have markup for ELF acronym.
812 2001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
814 * config.gcc (mmix-*-*): New target.
815 * doc/invoke.texi: Document MMIX options.
816 * doc/contrib.texi: Add note about MMIX port to my entry.
817 * config/mmix/t-mmix: New file.
818 * config/mmix/mmix.h: New file.
819 * config/mmix/mmix-protos.h: New file.
820 * config/mmix/mmix.c: New file.
821 * config/mmix/mmix.md: New file.
822 * config/mmix/crti.asm: New file.
823 * config/mmix/crtn.asm: New file.
825 2001-11-03 Kazu Hirata <kazu@hxi.com>
827 * config/sparc/linux-aout.h: Fix comment formatting.
828 * config/sparc/linux.h: Likewise.
829 * config/sparc/linux64.h: Likewise.
830 * config/sparc/lynx.h: Likewise.
831 * config/sparc/pbd.h: Likewise.
832 * config/sparc/sol2-sld-64.h: Likewise.
833 * config/sparc/sol2.h: Likewise.
834 * config/sparc/sparc.c: Likewise.
835 * config/sparc/sparc.h: Likewise.
836 * config/sparc/sparc.md: Likewise.
837 * config/sparc/sunos4.h: Likewise.
838 * config/sparc/vxsim.h: Likewise.
839 * config/sparc/vxsparc.h: Likewise.
840 * config/sparc/vxsparc64.h: Likewise.
842 Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
844 * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
845 reference to CONST_DOUBLE_MEM in comment.
846 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
847 (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
848 (init_emit_once): Don't clear CONST_DOUBLE_MEM.
849 * function.c (pop_function_context_from): Don't call
850 restore_varasm_status.
851 * function.h (restore_varasm_status): Delete declaration.
852 * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
854 * rtl.def (CONST_DOUBLE): Update comment.
855 * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
856 (CONST_DOUBLE_CHAIN): Likewise.
857 (CONST_DOUBLE_MEM): Delete.
858 (gen_rtx_CONST_DOUBLE): Update parameters.
859 * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
860 Remove reference to CONST_DOUBLE_MEM.
861 (const_alias_set): New variable.
862 (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
863 (immed_real_const_1): Adjust tests for 0, 1, and 2.
864 Don't set CONST_DOUBLE_MEM.
865 (clear_const_double_mem): Don't do anything with const_tiny_rtx.
866 (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
867 Put constant in const_alias_set.
868 (struct pool_constant): ALIGN now unsigned.
869 OFFSET now HOST_WIDE_INT.
871 (restore_varasm_status): Deleted.
872 (mark_pool_constant): Mark desc->rtl.
873 (force_const_mem): Rework to store rtl in hash table,
874 not CONST_DOUBLE_MEM.
875 Put constant in const_alias_set.
876 (find_pool_constant): Check desc->rtl.
877 (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
878 (init_varasm_once): Initialize const_alias_set.
880 * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
883 * reload.c (combine_reloads): Don't combine an output reload if there
884 are other reloads around for part of the output.
886 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
888 (set_mem_decl): New function.
889 * expr.h (set_mem_decl): New declaration.
890 * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
891 (output_asm_operand_names): Add tab.
892 * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
894 * builtins.c (get_memory_rtx): Properly set MEM alias set and
897 2001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
899 * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
900 Use "invalid" instead of "illegal". Use @r in comments in
903 2001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
905 * c-decl.c (pushdecl): Move block inside if conditional to remove
906 possibility of a segfault. Lookup block-level extern
907 variables in enclosing scopes correctly.
909 * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
911 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
913 * expmed.c (store_bit_field): Use simplify_gen_subreg to make
914 SUBREG so we avoid SUBREGing memory.
916 * expmed.c (store_bit_field): Same.
918 2001-11-02 DJ Delorie <dj@redhat.com>
920 * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
921 using FP registers for DImode mem-mem moves is acceptable.
923 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
925 * builtins.c (apply_args_size): Handle vector arguments.
926 (apply_result_size): Same.
928 * machmode.def: Set WIDER mode field for all vector entries.
930 2001-11-02 Graham Stott <grahams@redhat.com>
932 * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
934 2001-11-01 Eric Christopher <echristo@redhat.com>
936 * config.gcc: Revert part of earlier patch.
937 * config/mips/linux.h: Ditto.
938 * df.c: Include tm_p.h to avoid warnings.
939 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
941 * config/mips/mips.c: Define mips_abi regardless.
942 (mips_output_function_prologues): Add long casts for .frame
944 (override_options): Allow use of ABI_32.
946 2001-11-01 Kazu Hirata <kazu@hxi.com>
948 * config/m68hc11/m68hc11.c: Fix comment formatting.
949 * config/m68hc11/m68hc11.h: Likewise.
950 * config/m68hc11/m68hc11.md: Likewise.
952 2001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
954 * c-typeck.c (default_conversion): Retain the original expression
956 * gcc.dg/Wparentheses.c: New tests.
958 2001-11-01 David S. Miller <davem@redhat.com>
960 * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
961 64-bit Sparc description more in line with reality.
963 2001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
965 * Makefile.in (GCOV_OBJS): Add version.o.
966 * gcov.c: Include "version.h" and <getopt.h>.
967 (gcov_version_string): Remove.
968 (print_usage): Take a parameter to determine whether this is a
969 call from --help or an error message. Give fuller output that
970 follows the GNU Coding Standards for --help.
971 (print_version): New function.
973 (process_args): Use getopt_long. Support long options. Follow
974 GNU Coding Standards for --help and --version.
975 * doc/gcov.texi: Document long options.
976 Addresses part of PR other/704.
978 2001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
980 * pa.c (output_move_double): Fix typo in double load.
982 2001-11-01 Kazu Hirata <kazu@hxi.com>
984 * config/h8300/h8300.c (h8300_encode_label): Compute a string
985 before passing it to ggc_alloc_string.
987 2001-11-01 Kazu Hirata <kazu@hxi.com>
989 * config/m68k/3b1.h: Fix comment formatting.
990 * config/m68k/3b1g.h: Likewise.
991 * config/m68k/a-ux.h: Likewise.
992 * config/m68k/amix.h: Likewise.
993 * config/m68k/apollo68.h: Likewise.
994 * config/m68k/atari.h: Likewise.
995 * config/m68k/aux-exit.c: Likewise.
996 * config/m68k/ccur-GAS.h: Likewise.
997 * config/m68k/crds.h: Likewise.
998 * config/m68k/dpx2.h: Likewise.
999 * config/m68k/dpx2g.h: Likewise.
1000 * config/m68k/hp310.h: Likewise.
1001 * config/m68k/hp320.h: Likewise.
1002 * config/m68k/isi.h: Likewise.
1003 * config/m68k/linux.h: Likewise.
1004 * config/m68k/lynx.h: Likewise.
1005 * config/m68k/m68k-psos.h: Likewise.
1006 * config/m68k/m68k.c: Likewise.
1007 * config/m68k/m68k.h: Likewise.
1008 * config/m68k/m68k.md: Likewise.
1009 * config/m68k/m68kelf.h: Likewise.
1010 * config/m68k/m68kv4.h: Likewise.
1011 * config/m68k/mot3300.h: Likewise.
1012 * config/m68k/news.h: Likewise.
1013 * config/m68k/next.h: Likewise.
1014 * config/m68k/pbb.h: Likewise.
1015 * config/m68k/plexus.h: Likewise.
1016 * config/m68k/sgs.h: Likewise.
1017 * config/m68k/sun3.h: Likewise.
1018 * config/m68k/tower.h: Likewise.
1019 * config/m68k/vxm68k.h: Likewise.
1021 2001-10-31 DJ Delorie <dj@redhat.com>
1023 * config/mips/mips.h (mips_cache_flush_func): Prototype.
1024 (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
1025 (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
1026 * config/mips/mips.c (mips_cache_flush_func): New.
1027 * doc/invoke.texi: Document the new options.
1029 2001-10-31 Hans-Peter Nilsson <hp@axis.com>
1031 * config.gcc (cris-*-linux*, tm_file): Rearrange order.
1032 * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
1034 * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
1036 * config/cris/cris.c: Include output.h after tree.h but before
1039 2001-10-31 Zack Weinberg <zack@codesourcery.com>
1041 * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
1042 (INTL_SUBDIRS): Just intl.
1043 (.SUFFIXES): Add .gmo .po .pox.
1044 (native): Also depend on build-@POSUB@.
1045 (intl.all, intl.install): Depend on config.h and things it includes.
1046 (po-generated): New target; depend on c-parse.c and tradcif.c.
1047 (install-normal): Also depend on install-@POSUB@.
1048 (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
1049 (build-, install-, build-po, update-po, install-po,
1050 .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
1052 * aclocal.m4: Prefix each entry in CATALOGS with "po/"
1053 * configure.in: Don't munge XGETTEXT. Don't generate
1055 * configure: Regenerate.
1057 * exgettext: Delete.
1058 * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
1059 * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
1061 2001-10-31 Kazu Hirata <kazu@hxi.com>
1063 * config/h8300/h8300.md (two anonymous patterns): New.
1065 2001-10-31 Aldy Hernandez <aldyh@redhat.com>
1067 * tree.h (tree_index): Add support for V16QI and V8HI.
1068 (V8HI_type_node): New.
1069 (V16QI_type_node): New.
1071 * tree.c (build_common_tree_nodes_2): Same.
1073 * c-common.c (type_for_mode): Same.
1075 2001-10-31 Kazu Hirata <kazu@hxi.com>
1077 * config/i386/att.h: Fix comment formatting.
1078 * config/i386/beos-elf.h: Likewise.
1079 * config/i386/bsd.h: Likewise.
1080 * config/i386/bsd386.h: Likewise.
1081 * config/i386/crtdll.h: Likewise.
1082 * config/i386/cygwin.asm: Likewise.
1083 * config/i386/cygwin.h: Likewise.
1084 * config/i386/djgpp.h: Likewise.
1085 * config/i386/freebsd-aout.h: Likewise.
1086 * config/i386/freebsd.h: Likewise.
1087 * config/i386/gas.h: Likewise.
1088 * config/i386/i386-interix.h: Likewise.
1089 * config/i386/i386-protos.h: Likewise.
1090 * config/i386/i386.c: Likewise.
1091 * config/i386/i386.h: Likewise.
1092 * config/i386/i386.md: Likewise.
1093 * config/i386/i386elf.h: Likewise.
1094 * config/i386/interix.c: Likewise.
1095 * config/i386/isc.h: Likewise.
1096 * config/i386/isccoff.h: Likewise.
1097 * config/i386/iscdbx.h: Likewise.
1098 * config/i386/linux.h: Likewise.
1099 * config/i386/lynx.h: Likewise.
1100 * config/i386/mingw32.h: Likewise.
1101 * config/i386/netbsd-elf.h: Likewise.
1102 * config/i386/next.h: Likewise.
1103 * config/i386/osf1elf.h: Likewise.
1104 * config/i386/osfrose.h: Likewise.
1105 * config/i386/sco5.h: Likewise.
1106 * config/i386/seq-gas.h: Likewise.
1107 * config/i386/seq-sysv3.h: Likewise.
1108 * config/i386/sequent.h: Likewise.
1109 * config/i386/sol2.h: Likewise.
1110 * config/i386/sun386.h: Likewise.
1111 * config/i386/uwin.asm: Likewise.
1112 * config/i386/uwin.h: Likewise.
1113 * config/i386/vxi386.h: Likewise.
1114 * config/i386/win32.h: Likewise.
1115 * config/i386/winnt.c: Likewise.
1116 * config/i386/xm-cygwin.h: Likewise.
1117 * config/i386/xm-mingw32.h: Likewise.
1119 2001-10-31 Kazu Hirata <kazu@hxi.com>
1121 * builtins.def: Fix comment typos.
1122 * config/alpha.c: Likewise.
1123 * config/arm/arm.c: Likewise.
1124 * config/avr/avr.h: Likewise.
1125 * config/d30v/d30v.c: Likewise.
1126 * config/d30v/d30v.h: Likewise.
1127 * config/d30v/d30v.md: Likewise.
1128 * config/dsp16xx/dsp16xx.c: Likewise.
1129 * config/fr30/fr30.c: Likewise.
1130 * config/fr30/fr30.md: Likewise.
1131 * config/i386/i386.c: Likewise.
1132 * config/i860/i860.c: Likewise.
1133 * config/i960/i960.c: Likewise.
1134 * config/ia64/ia64.c: Likewise.
1135 * config/mips/mips.c: Likewise.
1136 * config/pa/pa.c: Likewise.
1137 * config/rs6000/rs6000.c: Likewise.
1138 * config/s390/s390.c: Likewise.
1139 * config/sparc/sparc.c: Likewise.
1141 2001-10-30 Kazu Hirata <kazu@hxi.com>
1143 * config/mips/elf.h: Fix comment formatting.
1144 * config/mips/elf64.h: Likewise.
1145 * config/mips/iris5.h: Likewise.
1146 * config/mips/iris5gas.h: Likewise.
1147 * config/mips/iris6.h: Likewise.
1148 * config/mips/isa3264.h: Likewise.
1149 * config/mips/linux.h: Likewise.
1150 * config/mips/mips.c: Likewise.
1151 * config/mips/mips.h: Likewise.
1152 * config/mips/mips.md: Likewise.
1153 * config/mips/mips16.S: Likewise.
1154 * config/mips/netbsd.h: Likewise.
1155 * config/mips/osfrose.h: Likewise.
1156 * config/mips/r3900.h: Likewise.
1157 * config/mips/sni-svr4.h: Likewise.
1158 * config/mips/svr4-t.h: Likewise.
1159 * config/mips/ultrix.h: Likewise.
1161 2001-10-30 Daniel Berlin <dan@cgsoftware.com>
1163 * bitmap.c (bitmap_element_free): Don't forget to update head->indx
1164 when we update head->current.
1166 2001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
1168 * tree.c (id_string_size): Remove.
1169 (dump_tree_statistics): Update.
1170 * toplev.c (compile_file): If dumping stats, dump tree stats too.
1172 Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
1174 * sched-rgn.c (schedule_insns): Fix comment.
1176 2001-10-30 Zack Weinberg <zack@codesourcery.com>
1178 * configure.in: Correct previous change: don't assume that
1179 gas's version number _isn't_ the last thing on the line, or
1180 isn't the only number on the line, either.
1181 * configure: Regenerate.
1183 2001-10-30 Kazu Hirata <kazu@hxi.com>
1185 * cfgcleanup.c: Fix a comment typo.
1187 2001-10-30 Kazu Hirata <kazu@hxi.com>
1189 * alias.c: Fix comment formatting.
1190 * recog.c: Likewise.
1191 * config/cris/cris.c: Likewise.
1192 * config/cris/cris.h: Likewise.
1193 * config/i960/i960.c: Likewise.
1194 * config/i960/i960.h: Likewise.
1196 2001-10-30 Kazu Hirata <kazu@hxi.com>
1198 * config/arm/arm.c: Fix a comment typo.
1199 * config/arm/arm.h: Likewise.
1200 * config/ia64/ia64.c: Likewise.
1202 2001-10-30 Jakub Jelinek <jakub@redhat.com>
1204 * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
1205 REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
1206 * rtl.h (set_unique_reg_note): Change return value.
1207 * gcse.c (try_replace_reg): Use set_unique_reg_note.
1208 * cse.c (cse_insn): Likewise.
1209 * expr.c (emit_move_insn): Likewise.
1210 * explow.c (force_reg): Likewise.
1211 * local-alloc (update_equiv_regs): Likewise.
1212 * loop.c (move_moveables, load_mems): Likewise.
1213 * reload (find_reloads): Likewise.
1215 2001-10-30 Paolo Bonzini <bonzini@gnu.org>
1218 * c-decl.c (parmlist_tags_warning, start_struct,
1219 check_for_loop_decls): Separate messages for struct, union and
1220 enum cases to allow for languages in which they have different
1222 * c-format.c (scanf_flag_specs): Separate short and long name of
1223 the assignment suppression feature.
1224 (check_format_types): Localize "pointer" and "different types"
1226 * c-lex.c (lex_number): Localize "an unsigned long int" and
1228 (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
1230 * c-typeck.c (build_unary_up): Separate messages for increment and
1231 decrement cases to allow for languages in which they use different
1232 articles. Localize the strings "increment" and "decrement" in one
1235 Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
1237 * lcm.c (optimize_mode_switching): Do not rebuild liveness information
1238 when no changes has been made.
1240 * gcse.c (reg_set_bitmap): Turn into reg_set.
1241 (modify_mem_list_set, canon_modify_mem_list_set)
1242 (clear_modify_mem_tables, free_modify_mem_tables): New.
1243 (gcse_main); Use free_modify_mem_tables.
1244 (free_gcse_mem): Likewise; free the bitmaps.
1245 (alloc_gcse_main): Initialize the bitmaps.
1246 (canon_list_insert): Set canon_modify_mem_list_set.
1247 (record_last_mem_set_info): Likewise; set modify_mem_list_set.
1248 (compute_hash_table): Use clear_modify_mem_tables.
1249 (reset_opr_set_tables): Likewise.
1250 (oprs_not_set_p): reg_set_bitmap is regset.
1251 (mark_set, mark_clobber): Likewise.
1253 * df.h (DF_EQUIV_NOTES): New constant.
1254 (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
1257 * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
1258 (init_regions, schedule_insns): Conditionalize the checking
1259 code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
1261 Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
1263 * i386.md (movti_rex64 splitter): Fix condition.
1265 2001-10-29 Zack Weinberg <zack@codesourcery.com>
1267 * configure.in: Do not assume that gas's version number is the
1268 last thing on the first line of as --version output.
1269 * configure: Regenerate.
1271 * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
1272 MT_WARNING, MT_ERROR, MT_FATAL.
1273 (main): Call gcc_init_libintl.
1274 (v_message): Call gettext on msgid and "warning: "
1275 * tradcif.y: Include intl.h.
1276 (yyerror): Make parameter definition consistent with
1277 prototype. Call gettext on msgid argument.
1279 2001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1281 * combine.c (num_sign_bit_copies): Avoid signed/unsigned
1284 * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
1286 Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1288 * reload1.c (eliminate_regs): Test for reg_renumber being allocated
1289 before referencing it.
1291 2001-10-26 DJ Delorie <dj@redhat.com>
1293 * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
1294 override -G, and force -G0.
1296 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
1298 * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
1299 FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
1300 c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
1301 timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
1303 * loop.h (struct induction): Rename ext_dependant to
1305 * loop.c: Change all uses.
1306 (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
1307 All callers changed.
1308 * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
1310 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
1312 * c-parse.in (expr_no_commas, primary), c-typeck.c
1313 (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
1315 2001-10-29 David Edelsohn <edelsohn@gnu.org>
1317 Undo assemble_name change in earlier patch.
1319 Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
1321 * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
1322 determining the type of the receiver, do not check that TREE_CODE
1323 of receiver is CALL_EXPR before calling receiver_is_class_object().
1324 (receiver_is_class_object): For the GNU runtime: recognize
1325 the case that the receiver is self in a class method context.
1326 Check that TREE_CODE of receiver is CALL_EXPR when checking that
1327 the receiver is a call to objc_get_class.
1329 2001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
1331 * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
1333 Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1335 * Makefile.in (OBJS): Put all files in alphabetical order.
1337 * dwarf2out.c (add_const_value_attribute): Fix error in last
1340 Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
1342 * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
1343 * cfgcleanup.c (merge_blocks): Update the life flag after merging;
1345 * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
1346 (life_analysis): call purge_all_dead_edges after deleting noops.
1347 (delete_noop_move): Do not purge CFG.
1348 * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
1350 2001-10-28 David Edelsohn <edelsohn@gnu.org>
1352 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
1353 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
1354 (ASM_GLOBALIZE_LABEL): Use assemble_name.
1355 (ASM_OUTPUT_COMMON): Likewise.
1356 * config/rs6000/rs6000.c (print_operand): Use assemble_name.
1357 (rs6000_output_function_epilogue): Likewise.
1358 (output_mi_thunk): Fix typo.
1359 (rs6000_output_symbol_ref): Use assemble_name.
1360 (output_toc): Likewise.
1361 * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
1362 * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
1363 assemble_name calls STRIP_NAME_ENCODING.
1364 (ASM_OUTPUT_LABEL): Use assemble_name.
1365 (ASM_GLOBALIZE_LABEL): Likewise.
1366 (ASM_DECLARE_FUNCTION_NAME): Likewise.
1367 (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
1368 (ASM_OUTPUT_LOCAL): Likewise.
1370 Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1372 * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
1373 (expand_builtin_apply, expand_builtin_return): Likewise.
1374 (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
1376 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
1378 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1379 ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
1380 c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
1381 configure, configure.in, except.c, except.h, flow.c, function.c,
1382 gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
1383 predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
1384 sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
1385 unroll.c: Fix spelling errors.
1387 * doc/extend.texi, doc/invoke.texi: Fix spelling.
1389 * doc/gcc.texi: Document use of "dependent" and American spelling.
1391 Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
1393 * expr.c (emit_group_load): Support CONCATs by storing them to memory
1396 Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1398 * expr.c (store_constructor_field): Only call adjust_address on MEM.
1400 Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
1402 * genrecog.c (write_switch): Output if before switch for
1403 DT_elt_zero_wide_safe.
1405 2001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1407 * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
1408 * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
1409 (FUNCTION_PROFILER): Const-ify.
1410 * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
1411 (eliminate_constant_term, assemble_name, output_addr_const):
1412 Remove declarations.
1413 (ptr_half_pic_address_p, half_pic_hash): Prototype.
1414 (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
1415 half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
1416 * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
1417 (half_pic_declare, half_pic_external): Const-ify.
1418 * toplev.c: Include "halfpic.h".
1420 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
1422 * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
1423 config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
1424 config/i386/i386.c, config/i386/i386-interix.h,
1425 config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
1426 config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
1427 config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
1428 config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
1429 config/sparc/sparc.c, config/m68hc11/m68hc11.c,
1430 config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
1431 config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
1434 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
1435 ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
1436 c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
1437 collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
1438 haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
1439 regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
1440 system.h, toplev.c: Fix spelling errors.
1442 Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1444 * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
1446 * dwarf2out.c (reg_number): Abort if pseudo.
1447 (reg_loc_descriptor): Return 0 if pseudo.
1448 (is_based_loc): Return 0 if pseudo.
1449 (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
1451 (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
1452 (loc_descriptor): Return 0 if can't find location and handle 0
1453 return from recursive calls.
1454 (loc_descriptor_from_tree): Likewise.
1455 Fix handling of indirect.
1456 Also return 0 for PLACEHOLDER_EXPR.
1457 Clean up COMPONENT_REF cases.
1458 (add_AT_location_descriptor): Simplify, but handle 0 return from
1460 (add_const_value_attribute): Avoid shift count warning.
1461 (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
1462 Set comp_unit_die as context if not in function.
1464 * config/mips/mips-protos.h: Break up long lines.
1465 Remove needless #ifdef/#endif blocks.
1466 Don't declare functions declared in file made by genpreds or recog.h.
1467 * config/mips/mips.c (mips_output_function_prologue): TSIZE
1468 is now HOST_WIDE_INT; delete unneeded casts.
1469 * config/mips/mips.h: Don't use #elif.
1471 * expr.c (stor_constructor_field): Always call adjust_address.
1472 Copy TARGET before changing its alias set.
1473 (store_field): Likewise, for TO_RTX.
1474 (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
1476 (safe_from_p, case ADDR_EXPR): Properly check for conflict.
1477 (find_placeholder): Return 0 if can't find object.
1478 (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
1481 Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
1483 * ifcvt.c (if_convert): Call clear_aux_for_blocks.
1485 Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
1487 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
1488 merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
1489 (merge_blocks): Properly udpate life after making edge nonfallthru.
1490 * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
1492 2001-10-26 Kazu Hirata <kazu@hxi.com>
1494 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1496 2001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
1498 * c-typeck.c (convert_arguments): When comparing for enumeral
1499 type equality, use TYPE_MAIN_VARIANT.
1500 * gcc.dg/Wconversion.c: New tests.
1502 2001-10-26 Kazu Hirata <kazu@hxi.com>
1504 * s390/s390.c: Fix comment typos.
1505 * s390/s390.h: Likewise.
1506 * s390/s390.md: Likewise.
1508 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
1510 * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
1511 (walk_tree): Use it for tail calls where appropriate.
1513 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
1515 * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
1516 non-local label_refs.
1518 2001-10-26 Kazu Hirata <kazu@hxi.com>
1520 * config/h8300/h8300.md (4 anonymous patterns): New.
1522 2001-10-26 Kazu Hirata <kazu@hxi.com>
1524 * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
1525 algorithm through the shift_info structure.
1526 (emit_a_shift): Update the use of get_shift_alg.
1528 2001-10-27 Daniel Berlin <dan@cgsoftware.com>
1530 * sched-rgn.c: Remove bitset typedef.
1531 Change bitset to sbitmap in prototypes / variable types.
1533 Remove edgeset_bits.
1534 Remove edgeset_size.
1535 s/BITSET_ADD/SET_BIT/g
1536 s/BITSET_INVERT/sbitmap_ones/g
1537 s/BITSET_INTER/sbitmap_a_and_b/g
1538 s/BITSET_UNION/sbitmap_a_or_b/g
1539 s/BITSET_DIFFER/sbitmap_difference/g
1540 s/bitset_member/TEST_BIT/g
1541 (BITSET_*): Removed.
1542 (bitset_member): Removed.
1543 (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
1544 EXECUTE_IF_SET_IN_SBITMAP.
1545 (split_edges): Rewrite, use sbitmap functions instead of bitset
1547 (schedule_region): Allocate/free sbitmaps, rather than bitsets.
1549 2001-10-26 Andreas Schwab <schwab@suse.de>
1551 * reload1.c (emit_input_reload_insns): Fix parens in last
1552 (undocumented) change that was supposed to change only whitespace.
1554 Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1556 * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
1558 * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
1561 2001-10-26 Andreas Jaeger <aj@suse.de>
1563 * flow.c (clear_log_links): Remove unused variable.
1564 * cfgcleanup.c (cleanup_cfg): Likewise.
1566 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
1568 * tree-inline.c (remap_decl): Don't copy size and size_unit here.
1569 (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
1571 2001-10-26 Richard Henderson <rth@redhat.com>
1573 * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
1574 rename PV_REG to R27_REG.
1575 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
1576 (REG_CLASS_FROM_LETTER): Update.
1577 (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
1578 * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
1579 (udivsi3, modsi3, umodsi3): Likewise.
1580 (divdi3, udivdi3, moddi3, umoddi3): Likewise.
1582 2001-10-26 Richard Henderson <rth@redhat.com>
1584 * cfg.c (clear_aux_for_blocks): Split out of ...
1585 (free_aux_for_blocks): here.
1586 (clear_aux_for_edges): Split from ...
1587 (free_aux_for_edges): here.
1588 * basic-block.h: Declare them.
1589 * lcm.c (compute_antinout_edge): Use them.
1590 (compute_laterin, compute_available, compute_nearerout): Likewise.
1591 (optimize_mode_switching): Likewise.
1593 2001-10-26 Richard Henderson <rth@redhat.com>
1595 * Makefile.in (unstage*): Remove as, ld, collect-ld before
1596 moving everything back to the main build directory.
1598 2001-10-26 Christopher Faylor <cgf@redhat.com>
1600 * config/i386/cygwin.h: Search target specfic include directory, if
1603 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1605 * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
1606 of macro guards. Fix #endif comment.
1608 * output.h (default_exception_section, default_eh_frame_section):
1609 Move prototypes outside of macro guard.
1611 * crtstuff.c: Fix #endif comment.
1613 Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
1615 * doc/md.texi (movMM): Clarify semantics of storing into a
1616 non-paradoxical SUBREG.
1618 2001-10-25 Zack Weinberg <zack@codesourcery.com>
1620 * langhooks.c (lang_hook_default_clear_binding_stack): New.
1621 (lang_hook_default_get_alias_set): Move next to other alias
1623 * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
1624 (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
1625 (LANG_HOOKS_INITIALIZER): Add it.
1626 * toplev.h (struct lang_hooks): Add clear_binding_stack.
1627 * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
1628 instead of a loop calling poplevel.
1630 2001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
1632 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
1633 occurrences of #elif with #if...#endif.
1635 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1637 * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
1639 Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1641 * alias.c (can_address_p): No longer static.
1642 * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
1643 Return 0 if all parameters are default values.
1644 (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
1645 (adjust_address_1): Try harder to compute a size.
1646 * expr.c (expand_assignment, store_constructor): If can't address,
1647 set MEM_KEEP_ALIAS_SET_P.
1648 (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
1649 (store_field): Likewise.
1650 (store_constructor): Simplify call to store_constructor_field.
1651 * expr.h (can_address_p): New declaration.
1652 * gensupport.c (gen_rtx_CONST_INT): New function.
1653 * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
1654 (MEM_SIZE): Get size from mode, if not set and not BLKmode.
1655 (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
1657 * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
1659 2001-10-24 Christopher Faylor <cgf@redhat.com>
1661 * config/i386/cygwin.h: Use proper path for mingw crt files when
1664 Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1666 * dwarf2out.c (file_info_cmp): Always return consistent results.
1668 2001-10-24 Roger Sayle <roger@eyesopen.com>
1670 * stmt.c (expand_end_case): Index jumptables from zero for
1671 suitably small values of minval.
1673 2001-10-24 Jakub Jelinek <jakub@redhat.com>
1675 * stor-layout.c (place_union_field): If any field was aligned with
1676 attribute aligned, set record type's TYPE_USER_ALIGN.
1677 (place_field): Likewise.
1678 (finalize_record_size): Don't clear TYPE_USER_ALIGN.
1679 (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
1681 2001-10-24 Zack Weinberg <zack@codesourcery.com>
1683 * c-common.h (struct c_common_identifier): Remove rid_code field.
1684 (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
1686 * c-typeck.c (constructor_designated): New local flag.
1687 (struct constructor_stack): Add "designated" field to match.
1688 (start_init): Clear it.
1689 (really_start_incremental_init, push_init_level): Push and
1691 (pop_init_level): Pop it.
1692 (set_designator): Set it.
1694 (pop_init_level): Suppress "missing initializer" warnings if
1695 constructor_designated is true.
1696 (process_init_element): Suppress warning about union
1697 initialization under traditional C, if constructor_designated
1700 Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1702 * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
1705 Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
1707 * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
1709 2001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
1711 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
1712 the node was already a set to a constant.
1714 Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1716 * emit-rtl.c (set_mem_attributes): Fix typo in last change.
1717 * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
1719 2001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1721 * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
1722 (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
1723 (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
1724 * s390.c (s390_final_chunkify): Don't use string concatenation.
1725 (s390_function_prologue, s390_function_epilogue): Const-ify.
1726 * s390.h (FUNCTION_PROFILER): Remove unused variable.
1728 2001-10-24 Jakub Jelinek <jakub@redhat.com>
1730 * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
1733 2001-10-23 Stan Shebs <shebs@apple.com>
1735 * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
1736 -traditional-cpp in first-stage compilation.
1738 Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1740 * gensupport.c (target_flags): Add.
1742 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
1744 * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
1746 (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
1747 * except.c (expand_builtin_frob_return_addr): Likewise.
1748 (expand_builtin_eh_return): Likewise.
1749 * stmt.c (expand_computed_goto): Likewise.
1750 * explow.c (memory_address): Likewise.
1751 (allocate_dynamic_stack_space): Clean up predicate testing.
1752 (probe_stack_range): Convert SIZE to Pmode.
1753 * calls.c (rtx_for_function_call): Only call convert_memory_address
1755 Pass function call operand as ptr_mode, not Pmode.
1756 * expr.c (expand_assignment): Clean up calls to convert_memory
1757 address by only doing so when needed and making offsets Pmode.
1758 (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
1759 * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
1760 is in Pmode, not ptr_mode.
1762 2001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1764 * darwin-protos.h (constructor_section, destructor_section,
1765 mod_init_section, mod_term_section): Prototype.
1766 * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
1768 * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
1770 (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
1771 objc_section_init declaration.
1772 (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
1773 (objc_section_init, try_section_alias): Make static.
1774 (alias_section): Make static and hide unused function.
1775 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1777 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1779 * alias.c (can_address_p): Compnonents are not addressable if
1780 the containing type has alias set 0.
1781 (get_alias_set): Rework to use STRIP_NOPS.
1782 Only call front-end routine on object, type, or object with
1783 NOPs stripped, not inner values.
1784 Use language hook to call front-end routine.
1785 * builtins.c (get_memory_rtx): Always call set_mem_attributes.
1786 (expand_builtin_apply): Call set_mem_align on MEMs we make.
1787 Don't pass alignment to emit_block_move.
1788 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
1789 (expand_builtin_memset): Likewise, but for clear_storage.
1790 * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
1791 and remove C++ specific parts.
1792 * c-common.h (c_common_get_alias_set): Add declaration.
1793 * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
1794 * calls.c (emit_call_1): Fix typo in sibcall_pop case.
1795 (save_fixed_argument_area): Call set_mem_align.
1796 Remove alignment in call to emit_block_move.
1797 (emit_library_call_value_1, store_one_arg): Likewise.
1798 (target_for_arg): Remove; disabled long ago.
1799 * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
1800 once and similar cleanups.
1801 (offset_address): Use proper introductory comment.
1802 * expr.c (emit_block_move): Use alignment from that of MEM args, not
1803 from explicit operand; all callers changed.
1804 (clear_storage): Likewise.
1805 (expand_assignment): Don't call set_mem_alias_set on to_rtx.
1806 (store_field): Remove kludge on alias set used for to_rtx.
1807 (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
1808 (expand_expr_unaligned): Call set_mem_attributes instead of
1810 * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
1811 * function.c (assign_stack_temp_for_type): Set MEM alignment.
1812 (expand_function_end): Track MEM attributes of trampolines.
1813 * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
1814 * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
1815 attributes from original.
1816 * langhooks.c (lang_hook_default_get_alias_set): New function.
1817 (hook_get_alias_set_0): New function.
1818 * langhooks.h (hook_get_alias_set_0): New declaration.
1819 (lang_hook_default_get_alias_set): Likewise.
1820 (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
1821 * reload1.c (alter_reg): Use adjust_address_nv.
1822 * rtl.c (get_mode_alignment): Moved to here.
1823 * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
1824 change default if unknown from 1 to BITS_PER_UNIT.
1825 * stor-layout.c (get_mode_alignment): Remove from here.
1826 * toplev.h (struct lang_hoks): Add get_alias_set field.
1827 * tree.h (lang_get_alias_set): Delete declaration.
1828 * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
1829 * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
1830 (ix86_va_arg): Likewise.
1831 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
1832 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1833 * config/sparc/sparc.c (sparc_va_arg): Likewise.
1834 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
1835 (expand_block_move_mem): Remove dead code.
1837 2001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
1839 * c-common.c (warn_div_by_zero): New.
1840 * c-common.h (warn_div_by_zero): New.
1841 * c-decl.c (c_decode_option): Take it on the command line.
1842 * c-typeck.c (build_binary_op): Warn about division by zero.
1843 * doc/invoke.texi: Document the new command line option, fix
1844 documentation of -Wmultichar.
1845 * testsuite/gcc.dg/divbyzero.c: New tests.
1846 * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
1848 Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
1850 * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
1852 * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
1853 to avoid update_life_info call.
1854 * basic-block.h (CLEANUP_UPATE_LIFE): Define.
1855 * cfgcleanup.c (bb_flags): New enum.
1856 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
1857 (notice_new_block, update_forwarder_flag): New functions.
1858 (try_simplify_condjump): Use FORWARDER_BLOCK_P.
1859 (try_forward_edges): Likewise; update flags.
1860 (merge_blocks): Likewise.
1861 (outgoing_edges_match): Likewise.
1862 (try_crossjump_to_edge): Likewise.
1863 (try_optimize_cfg): Likewise; initialize and clear the flags;
1864 recompute life info if needed.
1865 (cleanup_cfg): No need to clear aux pointers.
1867 2001-10-23 Alexandre Oliva <aoliva@redhat.com>
1869 * config/i386/i386.c (override_options): Default to minimum
1870 stack alignment when optimizing for code size.
1871 * doc/invoke.texi (-mpreferred-stack-boundary): Document the
1874 * config/i386/i386.c (override_options): Set upper limit of
1875 -mpreferred-stack-boundary to 12.
1877 2001-10-22 Zack Weinberg <zack@codesourcery.com>
1879 * recog.c (peephole2_optimize): Add default case to switch.
1881 2001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
1883 * doc/gcc.texi (Sending Patches): Remove.
1885 2001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
1887 * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
1888 fields when comparing.
1890 2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1892 * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
1893 * arm.c (HOST_INT, HOST_UINT): Likewise.
1895 2001-10-22 Stan Shebs <shebs@apple.com>
1897 * config/darwin-protos.h (darwin_exception_section): Declare.
1898 (darwin_eh_frame_section): Declare.
1900 Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
1902 * i386.md (movti_rex64): Fix mode.
1904 2001-10-22 Stan Shebs <shebs@apple.com>
1906 * target.h (struct gcc_target): Add asm_out.exception_section,
1907 asm_out.eh_frame_section.
1908 * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
1909 (TARGET_ASM_EH_FRAME_SECTION): New.
1910 (TARGET_INITIALIZER): Update.
1911 * output.h (default_exception_section): Declare.
1912 (default_eh_frame_section): Declare.
1913 * dwarf2out.c: Include target.h.
1914 (output_call_frame_info): Call target hook for eh frames.
1915 (default_eh_frame_section): New function.
1916 * except.c: Include target.h.
1917 (output_function_exception_table): Call target hook for exception
1919 * varasm.c (default_exception_section): Rename from
1920 exception_section, remove EXCEPTION_SECTION macro.
1922 * config/darwin.h (darwin_eh_frame_section): New function.
1923 (EXCEPTION_SECTION): Remove.
1924 (TARGET_ASM_EXCEPTION_SECTION): Define.
1925 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
1926 (nextstep_exception_section): New function.
1927 (nextstep_eh_frame_section): New function.
1928 (TARGET_ASM_EXCEPTION_SECTION): Define.
1929 (TARGET_ASM_EH_FRAME_SECTION): Define.
1931 * config/pa/som.h (EXCEPTION_SECTION): Remove.
1932 (TARGET_ASM_EXCEPTION_SECTION): Define.
1933 * config/rs6000/sysv4.h, config/rs6000/xcoff.h
1934 (EXCEPTION_SECTION): Remove.
1935 (TARGET_ASM_EXCEPTION_SECTION): Define.
1936 * config/stormy16/stormy16.h: Remove comments referencing
1937 EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
1939 * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
1940 TARGET_ASM_EH_FRAME_SECTION.
1942 2001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
1944 * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
1947 * c-format.c: Fix spelling typo in comment.
1949 * sched-int.h: Fix typo in GCC preamble.
1951 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
1954 * doc/invoke.texi: Remove references to -fdump-translation-unit.
1956 2001-10-22 Richard Henderson <rth@redhat.com>
1958 * config/i386/i386.c (ix86_expand_clear): New.
1959 * config/i386/i386-protos.h: Declare it.
1960 * config/i386/i386.md (setcc peep2s): Use it.
1961 (movsi_xor): Unexport.
1963 2001-10-22 Richard Henderson <rth@redhat.com>
1965 * flow.c (clear_log_links): Use free_INSN_LIST_list, not
1966 free_EXPR_LIST_list for LOG_LINKS.
1968 2001-10-21 Robert Lipe <robertlipe@usa.net>
1970 * config/i386/i386.c (sco_asm_named_section): Delete.
1971 (sco_asm_out_constructor): Delete.
1972 * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
1973 (ASM_OUTPUT_DOUBLE_INT): Likewise.
1974 (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
1975 (TARGET_ASM_NAMED_SECTION): Use default for ELF.
1976 (EXCEPTION_SECTION): Delete EH scn renaming hack.
1978 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1980 * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
1981 and/or fold extra calls into fewer ones.
1982 * collect2.c (dump_file): Likewise.
1983 * cppexp.c (parse_number): Likewise.
1984 * cpplex.c (_cpp_lex_direct): Likewise.
1985 * final.c (output_asm_insn, asm_fprintf): Likewise.
1986 * fix-header.c (inf_scan_ident, main): Likewise.
1987 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
1989 * fold-const.c (real_hex_to_f): Likewise.
1990 * gen-protos.c (parse_fn_proto): Likewise.
1991 * genattrtab.c (check_attr_test, check_attr_value): Likewise.
1992 * genrecog.c (change_state, write_action): Likewise.
1993 * gensupport.c (shift_output_template): Likewise.
1994 * local-alloc.c (requires_inout): Likewise.
1995 * mips-tfile.c (IS_ASM_IDENT): Likewise.
1996 * protoize.c (is_id_char, main): Likewise.
1997 * real.c (asctoeg): Likewise.
1998 * recog.c (asm_operand_ok): Likewise.
1999 * reload.c (find_reloads): Likewise.
2000 * scan.c (scan_identget_token): Likewise.
2001 * sched-vis.c (print_value): Likewise.
2002 * stringpool.c (ggc_alloc_string): Likewise.
2003 * toplev.c (read_integral_parameter, decode_g_option): Likewise.
2004 * tradcif.y (parse_number, yylex, parse_escape): Likewise.
2005 * tradcpp.c (rescan): Likewise.
2006 * tree.c (clean_symbol_name): Likewise.
2007 * varasm.c (decode_reg_name): Likewise.
2009 * alpha.h (ASM_OUTPUT_ASCII): Likewise.
2010 * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
2011 * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
2012 * m88k.c (output_ascii): Likewise.
2013 * m88k.h (OVERRIDE_OPTIONS): Likewise.
2014 * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
2015 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
2016 * sh.h (REG_CLASS_FROM_LETTER): Likewise.
2018 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
2020 * langhooks.c (lang_hook_default_do_nothing,
2021 lang_hook_default_decode_option): New defaults.
2022 * langhooks.h: Make hooks unconditional and non-NULL.
2023 * toplev.c (compile_file, toplev_main): Update.
2024 * toplev.h: Update comments.
2025 * objc/objc-act.c (lang_hooks): Update to new paradigm.
2027 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2029 * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
2031 * system.h (IN_RANGE): New macro.
2033 2001-10-21 Zack Weinberg <zack@codesourcery.com>
2035 * aclocal.m4 (AM_WITH_NLS): Also create and substitute
2036 INTLDEPS variable, which does not include $LIBICONV.
2037 * Makefile.in: Use INTLDEPS in LIBDEPS.
2038 * configure: Regenerate.
2040 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
2042 * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
2043 * cpplex.c (lex_percent, lex_dot): Remove.
2044 (get_effective_char, skip_block_comment, skip_line_comment,
2045 parse_identifier_slow, parse_number, parse_string, save_comment,
2046 _cpp_lex_direct): Update to do lookback freely.
2047 (IF_NEXT_IS, BACKUP): New macros.
2048 * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
2049 * cppmacro.c (paste_tokens): Update.
2051 2001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
2053 * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
2055 2001-10-20 Hans-Peter Nilsson <hp@axis.com>
2057 * reload1.c (reload): Check CONSTANT_P before calling
2058 LEGITIMATE_PIC_OPERAND_P.
2059 * config/cris/cris.c (cris_legitimate_pic_operand): Revert
2060 workaround of 2001-10-13.
2062 Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
2064 * i386.c (split_di): Handle splitting of DFmode.
2066 Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2068 * emit-rtl.c (set_mem_attributes): Alignment is in bits.
2069 (adjust_address_1, offset_address): Likewise.
2071 * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
2072 (output_asm_insn): Call it for each line output.
2073 Don't record an operand more than once.
2075 * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
2076 * main.c: Include config.h and system.h, but not ansidecl.h.
2077 * Makefile.in (main.o): Update accordingly.
2079 Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
2081 * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
2083 Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
2085 * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
2086 * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
2088 (find_sub_basic_blocks): ... here;
2089 (find_many_sub_basic_blocks): New.
2090 * recog.c (split_all_insns): Update find_sub_basic_blocks call.
2092 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
2094 * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
2096 * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
2098 * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
2099 * flow.c (update_life_info): Measure time.
2100 * c-decl.c: Include timevar.h
2101 (c_expand_body): Measure time.
2102 * toplev.c (rest_of_compilation): Measure time of mode switching
2104 * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
2106 * toplev.c (flag_asynchronous_unwind_tables): New global variable.
2107 (lang_independent_options): Add asynchronous-unwind-tables
2108 (toplev_main): flag_asynchronous_unwind_tables implies
2110 * flags.h (flag_asynchronous_unwind_tables): Declare.
2111 * dwarf2out.c (dwarf2out_stack_adjust): Take into account
2112 flag_asynchronous_unwind_tables.
2113 (output_call_frame_info): Likewise.
2114 * invoke.texi (-fasynchronous-unwind-tables): Document.
2115 * i386.c (optimization_options): Enable
2116 flag_asynchronous_unwind_tables.
2118 * i386.c (ix86_expand_setcc): Always expect target to be QImode.
2119 * i386.md (s* expanders): Destination is QImode.
2121 * toplev.c (rest_of_compilation): Do not call clear_log_links.
2122 * rtl.h (clear_log_links): Kill.
2123 * flow.c (clear_log_links): Make static; accept blocks parameter;
2124 do no clear life info.
2125 (update_life_info): Call clear_log_links.
2127 * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
2129 2001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
2131 * cpplex.c (handle_newline, skip_escaped_newlines,
2132 get_effective_char, skip_block_comment, skip_line_comment,
2133 parse_identifier_slow, parse_number, parse_string,
2134 _cpp_lex_direct): Update to do more stepping back.
2135 (trigraph_ok): Similarly. Rename trigraph_p.
2136 (SAVE_STATE, RESTORE_STATE): Remove.
2137 (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
2139 * cpplib.c (destringize): Rename destringize_and_run, and
2140 call run_directive directly.
2141 (_cpp_do__Pragma): Simplify.
2143 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2145 * pe.c (arm_pe_unique_section): Const-ify.
2146 * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2147 (switch_to_section): Add static prototype.
2149 * output.h (drectve_section): Prototype.
2151 2001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2153 * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
2154 fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
2155 parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
2156 i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
2157 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
2158 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
2159 i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
2160 i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
2161 i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
2162 i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
2163 i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
2164 i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
2165 ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
2166 mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
2167 powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2168 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2169 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2170 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2171 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2172 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
2173 rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
2174 sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
2175 v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
2176 cris-*-none, cris-*-linux*: Update ${tmfile} list.
2177 (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
2178 i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
2179 mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
2180 powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
2181 v850-*-*): Delete superflous ${cpu_type} setting.
2182 * config/linux.h: Delete svr4.h include.
2183 (SET_ASM_OP): Delete.
2184 * config/netware.h (INT_ASM_OP): Undef before define.
2185 * config/ptx4.h: Delete elfos.h include.
2186 (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
2187 * config/svr4.h: Delete elfos.h include. Update commentary.
2188 * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
2189 config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
2190 config/mn10200/mn10300.h, config/stormy16/stormy16.h,
2191 config/v850/v850.h: Delete svr4.h include.
2192 * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
2193 config/m68k/m68kv4.h, config/m88k/sysv4.h,
2194 config/sparc/sysv4.h: Update includes.
2195 * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
2196 config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
2197 config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
2198 config/m88k/dguxbcs.h: Delete includes.
2199 * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
2200 (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
2201 * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
2203 * config/m88k/dgux.h: Delete include.
2204 (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
2206 * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
2207 ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
2208 * config/sh/elf.h: Update include.
2209 (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
2210 DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
2212 2001-10-19 Catherine Moore <clm@redhat.com>
2214 * config/stormy16/stormy-abi: Updates to varargs descriptions.
2215 * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
2216 base and count fields.
2217 (stormy16_expand_builtin_va_start): last_reg_count changed to
2218 size_of_reg_args. Use count + size in first comparison.
2220 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2222 * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
2223 * toplev.h (struct lang_hooks): New field HONOR_READONLY.
2224 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
2225 TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
2226 Set alignment from type if INDIRECT_REF.
2227 (adjust_address_1, offset_address): Simplify alignment compuitation.
2228 * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
2229 here; done by set_mem_attributes.
2231 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2233 * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
2234 * arm-protos.h (rdata_section, zero_init_section, common_section):
2236 * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
2237 * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
2238 traditional mode stringification.
2239 * function.c (thread_prologue_and_epilogue_insns): Wrap variable
2240 in macros controling its use.
2241 * rtlanal.c: Include tm_p.h.
2242 * varasm.c (asm_output_aligned_bss): Mark parameter with
2244 (assemble_constant_align, assemble_start_function, assemble_align,
2245 assemble_variable, assemble_trampoline_template,
2246 output_constant_def_contents): Wrap potentially empty if-stmt body
2249 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2251 * a29k-protos.h (literal_section): Prototype.
2252 * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
2253 * a29k.md: Ensure function pointers are prototyped.
2254 * genattrtab.c (write_eligible_delay): Mark parameter with
2257 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2259 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
2260 * 1750a.c (print_operand): Fix format specifier warning.
2261 * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
2262 * 1750a.md: Likewise.
2263 * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
2264 * genemit.c (output_add_clobbers): Mark parameter with
2266 * genrecog.c (write_subroutine): Likewise.
2267 * integrate.c (expand_inline_function): Delete unused variable.
2268 * varasm.c (remove_from_pending_weak_list): Wrap with
2271 2001-10-19 Jakub Jelinek <jakub@redhat.com>
2273 * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
2274 field is different to previous argument's neg field.
2276 * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
2278 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2280 * final.c (get_decl_from_op): New function.
2281 (output_asm_insn): Call it; write "*" when item with decl is address.
2283 2001-10-19 Janis Johnson <janis187@us.ibm.com>
2285 * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
2286 about 64-bit support from the 3.0_branch version.
2288 2001-10-19 Zack Weinberg <zack@codesourcery.com>
2290 * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
2291 USE_INCLUDED_LIBINTL when appropriate.
2292 * configure, config.in: Regenerate.
2293 * Makefile.in (datadir): Set to @datadir@.
2294 (intl.o): Also depend on $(CONFIG_H) and system.h.
2296 * intl.c: Factor out common gettext initialization sequence.
2297 (gcc_init_libintl): New function.
2298 * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
2299 otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
2300 off NLS. Add multiple include guard. No need to #ifdef-guard
2301 an #undef. Prototype gcc_init_libintl here.
2303 * collect2.c (main), cppmain.c (general_init), gcc.c (main),
2304 gcov.c (main), protoize.c (main), toplev.c (toplev_main):
2305 Use gcc_init_libintl.
2307 2001-10-19 Catherine Moore <clm@redhat.com>
2309 * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
2311 * config/stormy16/stormy16.c (stormy16_split_move): Make
2312 sure that REG_INC notes are present for auto_inc operands.
2314 2001-10-19 Andreas Jaeger <aj@suse.de>
2316 * configure: Regenerated.
2317 * configure.in: Add x86_64 to switch statements.
2319 2001-10-18 Richard Henderson <rth@redhat.com>
2321 * config/alpha/alpha.md (sibcall_osf_1): Load destination
2322 address into $27 explicitly.
2323 (sibcall_value_osf_1): Likewise.
2325 Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2327 * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
2328 (offset_address): New function.
2329 (free_emit_status): Free regno_decl.
2330 (init_emit): Pass proper number of elements to xcalloc.
2331 Allocate regno_decl.
2332 (mark_emit_status): Mark regno_decl values.
2333 * expr.c (highest_pow2_factor): New function.
2334 (expand_assigment): Use it and offset_address.
2335 Properly handle ptr_mode vs. Pmode in offset calculation.
2336 (store_constructor, expand_expr_unaligned): Likewise.
2337 (expand_expr, case COMPONENT_EXPR): Likewise.
2338 * expr.h (offset_address): New decl.
2339 * function.h (struct emit_status): Add regno_decl.
2340 (REGNO_DECL): New macro.
2341 * final.c (output_asm_name): Move in file and don't conditionalize
2342 on flag_print_asm_name.
2343 (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
2344 Output names of operands, if known.
2345 * function.c (assign_parms): Set REGNO_DECL.
2346 * integrate.c (integrate_decl_tree): Likewise.
2347 * stmt.c (expand_decl): Likewise.
2348 * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
2350 2001-10-18 Alexandre Oliva <aoliva@redhat.com>
2352 * attribs.c (handle_noinline_attribute): New function.
2353 (handle_used_attribute): Likewise.
2354 (c_common_attribute_table): Added noinline and used.
2355 * doc/extend.texi (Function Attributes): Document them.
2356 * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
2357 Warn when merging inline with attribute noinline.
2358 (start_decl, start_function): Warn if inline and attribute
2359 noinline appear in the same declaration.
2361 2001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
2363 * config.gcc: Update c4x and i370 for C front end-specific
2365 * config/c4x/c4x-c.c: New.
2366 * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
2367 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2369 * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
2370 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
2372 (c4x_init_pragma): Remove.
2373 (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
2374 c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
2375 c4x_pr_ignored): Move to c4x-c.c.
2376 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2377 * config/c4x/t-c4x: Update.
2378 * config/i370/i370-c.c: New.
2379 * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
2380 (i370_pr_map): Move to i370-c.c.
2381 * config/i370/t-i370: New.
2383 * doc/tm.texi: Update.
2385 2001-10-17 Stan Shebs <shebs@apple.com>
2387 * config/rs6000/rs6000.c: Make assorted mechanical formatting and
2388 typo fixes throughout.
2389 (machopic_output_stub): Remove some dead code.
2391 2001-10-17 Richard Earnshaw <rearnsha@arm.com>
2393 * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
2396 Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2398 * Makefile.in (print-rtl.o): Depend on TREE_H.
2399 * alias.c (get_alias_set): Make two passes over objects to first
2400 see if inner object is access via restricted pointer.
2401 Defer allocating alias set for restricted pointer until here.
2402 Call find_placeholder with second arg nonzero.
2404 * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
2405 set for restricted pointer types.
2406 * emit-rtl.c (set_mem_attributes): Set more attributes.
2407 (set_mem_align, change_address, adjust_address_1): New functions.
2408 (change_address_1): Now static.
2409 (adjust_address, adjust_address_nv): Deleted.
2410 (replace_equiv_address): Call change_address_1.
2411 * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
2412 (find_placeholder): Get starting point from PLIST arg.
2413 (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
2414 * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
2415 (adjust_address, adjust_address_nv): New macros.
2416 * print-rtl.c (tree.h): New include.
2417 (print_rtx, case MEM): Print all memory attributes.
2419 2001-10-17 Richard Henderson <rth@redhat.com>
2421 * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
2423 2001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
2425 * c-tree.texi: Eliminate duplicated word.
2426 * cpp.texi: Likewise.
2427 * install.texi: Likewise.
2428 * invoke.texi: Likewise.
2429 * tm.texi: Likewise.
2431 2001-10-17 Michael Collison <collison@isisinc.net>
2433 * dsp16xx.c: Fix comment formatting to match GNU standards.
2434 (dsp16xx_output_function_prologue): Change type of 'size'
2435 parameter from 'int' to HOST_WIDE_INT.
2436 (dsp16xx_output_function_epilogue): Change type of 'size'
2437 parameter from 'int' to HOST_WIDE_INT.
2439 2001-10-16 Richard Henderson <rth@redhat.com>
2441 * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
2442 * configure, config.in: Rebuild.
2444 * config/i386/i386.c (ix86_output_addr_vec_elt): New.
2445 (ix86_output_addr_diff_elt): New.
2446 * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
2447 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2448 (JUMP_TABLES_IN_TEXT_SECTION): New.
2449 * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
2450 * config/i386/i386-protos.h: Update.
2452 * config/i386/386bsd.h, config/i386/beos-elf.h,
2453 config/i386/freebsd-aout.h, config/i386/freebsd.h,
2454 config/i386/i386-interix.h, config/i386/i386elf.h,
2455 config/i386/linux.h, config/i386/netbsd-elf.h,
2456 config/i386/netbsd.h, config/i386/openbsd.h,
2457 config/i386/ptx4-i.h, config/i386/rtemself.h,
2458 config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
2459 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
2461 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
2463 * stmt.c (expand_asm_operands): Update commentary.
2465 2001-10-16 Stan Shebs <shebs@apple.com>
2467 * config/darwin.h (GCC_NAME): Remove, no longer used.
2468 (NO_MATH_LIBRARY): Ditto.
2469 (MATH_LIBRARY): Define to emptiness.
2470 (DWARF2_DEBUGGING_INFO): Define.
2471 (PREFERRED_DEBUGGING_TYPE): Define.
2472 (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
2473 (EXCEPTION_SECTION): Define.
2474 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2475 * config/darwin.c (darwin_encode_section_info): Handle case of
2476 DECL_INITIAL being error_mark_node.
2478 2001-10-16 Richard Henderson <rth@redhat.com>
2480 * alpha.c (current_file_function_operand): Don't fail for profiling.
2481 (direct_call_operand): New.
2482 * alpha-protos.h: Declare it.
2483 * alpha.h (EXTRA_CONSTRAINT): Use it.
2484 (PREDICATE_CODES): Add it.
2485 (ASM_OUTPUT_MI_THUNK): Remove.
2486 * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
2487 * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
2489 2001-10-16 Krister Walfridsson <cato@df.lth.se>
2491 * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
2492 (JUMP_TABLES_IN_TEXT_SECTION): Define.
2494 Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
2496 * cfg.c (free_edge): Break out from ....
2497 (remove_edge): ... here.
2498 (clear_edges): Use free_edge.
2500 * att.h (ASM_QUAD): Add comment.
2501 * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
2503 Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
2505 * i386.c (split_ti): New function.
2506 (ix86_split_to_parts): Support TImodes.
2507 * i386.h (VALID_INT_MODE_P): Add TImode.
2508 * i386.md (movdi splitter): Fix.
2509 (movti): Support 64bit integer registers.
2510 (movti_rex64): New function and splitter.
2512 * i386.c (*_cost): Add movsx/movzx cost.
2513 * i386.h (struct processor_costs): Add movsx/movzx fields.
2514 (RTX_COSTS): Handle zero/sign extend + avoid believing that
2515 64bit operations require split on 64bit machine.
2516 (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
2518 * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
2519 (ix86_expand_move): Avoid pushes of memory if size does not match;
2520 move long constants to register.
2521 (x86_initialize_trampoline): Fix mode.
2522 * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
2523 Use ASM_QUAD on 64bit.
2524 * i386.md (test pattern): Disallow impossible constants.
2525 (tablejump PIC expander): Fix emitting of sum.
2526 (movdicc_rex64): Rename to movdicc.
2527 * linux64.h (LINK_SPEC): Add missing '%'.
2529 2001-10-16 Alexandre Oliva <aoliva@redhat.com>
2531 * tree-inline.c (inlinable_function_p): Leave it up to the
2532 front-end to turn -finline-functions into DECL_INLINE set for all
2535 2001-10-16 Stan Shebs <shebs@apple.com>
2537 * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
2539 2001-10-16 Alan Modra <amodra@bigpond.net.au>
2541 * recog.c: Formatting and comment typo fixes.
2543 * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
2544 version in single tree build.
2545 * configure: Regenerate.
2547 2001-10-15 David Edelsohn <edelsohn@gnu.org>
2549 * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
2550 MODE arguments to gen_rtx and compare operand with const0_rtx.
2552 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
2554 * system.h: Poison old unused target macros.
2555 * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
2556 * config/stormy16/stormy16.c: Update references to obsolete macros.
2557 * config/stormy16/stormy16.h: Similarly.
2558 * config/stormy16/stormy16.md: Similarly.
2559 * config/cris/cris.h: Similarly.
2561 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
2563 * cpplib.c (struct pragma_entry): Store the name as a hashnode.
2564 (lookup_pragma_entry, insert_pragma_entry, do_pragma,
2565 cpp_register_pragma): Update accordingly.
2567 2001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
2569 * c-pragma.h (cpp_register_pragma_space): Remove.
2570 * cpplib.h (cpp_register_pragma_space): Remove.
2571 * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
2572 (cpp_register_pragma_space): Remove.
2573 (cpp_register_pragma): Simplify using lookup_pragma_entry,
2575 (do_pragma): Similarly.
2576 (_cpp_init_internal_pragmas): Don't register namespaces.
2578 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
2579 Don't register namespaces.
2580 * cp/lex.c (init_cp_pragma): Similarly.
2581 * doc/tm.texi: Update.
2583 2001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
2586 * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
2588 2001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
2590 * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
2591 add scheduling support.
2592 * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
2593 * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
2594 * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
2597 2001-10-13 Hans-Peter Nilsson <hp@axis.com>
2599 * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
2600 missing CONSTANT_P test in core GCC.
2602 2001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
2604 * cppmain.c (struct printer): New member source.
2605 (scan_translation_unit): Fix spacing at start of lines.
2606 (cb_line_change): Update.
2608 * gcc.dg/cpp/spacing2.c: New test.
2610 2001-10-12 Hans-Peter Nilsson <hp@axis.com>
2612 * config/cris/arit.c: Use __builtin_labs, not abs.
2614 * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
2616 * config/cris/cris.c (cris_target_asm_function_epilogue): Move
2617 misplaced sprintf and fprintf argument.
2619 2001-10-12 Zack Weinberg <zack@codesourcery.com>
2621 * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
2622 * configure.in, Makefile.in: Take out obsolete check-po logic.
2623 * configure, config.in: Regenerate.
2625 2001-10-12 Ziemowit Laski <zlaski@apple.com>
2627 * objc/objc-act.c (finish_objc): Correct precondition for emitting
2628 symtab declarations.
2630 2001-10-12 Stan Shebs <shebs@apple.com>
2632 * config/rs6000/rs6000.c: Remove uses of "register" specifier in
2633 declarations of arguments and local variables.
2635 2001-10-12 Christopher Faylor <cgf@redhat.com>
2637 * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
2638 ENDFILE_SPEC definition.
2640 2001-10-12 Kazu Hirata <kazu@hxi.com>
2642 * gthr-dce.h: Fix comment formatting.
2643 * gthr-posix.h: Likewise.
2644 * gthr-single.h: Likewise.
2645 * gthr-solaris.h: Likewise.
2646 * gthr-vxworks.h: Likewise.
2647 * gthr-win32.h: Likewise.
2649 2001-10-12 Jakub Jelinek <jakub@redhat.com>
2651 * final.c (output_asm_insn): Make sure assembly dialects are
2652 terminated, not nested. Output `|' and `}' characters if they
2653 don't appear inside assembly dialect selection.
2654 * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
2655 rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
2656 rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
2657 strsetsi_rex_1): Add {} braces.
2659 2001-10-11 Zack Weinberg <zack@codesourcery.com>
2661 * toplev.c (compile_file): Ignore return value from yyparse.
2662 Always pop any nested binding levels after yyparse returns.
2664 2001-10-11 Richard Henderson <rth@redhat.com>
2666 * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
2668 2001-10-11 Richard Henderson <rth@redhat.com>
2670 * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
2671 fall back to add_AT_long_long for large CONST_INT.
2673 2001-10-11 Richard Henderson <rth@redhat.com>
2675 * config/i386/i386.md (setcc splitters): Add four splitters to
2676 simplify compound compares that simplify_comparison can't handle.
2678 2001-10-11 Zack Weinberg <zack@codesourcery.com>
2680 * cpplex.c (digraph_spellings, token_spellings): Make static.
2682 2001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2684 * unroll.c (loop_iterations): Fixup last patch.
2686 2001-10-11 Richard Henderson <rth@redhat.com>
2688 * rtl.h (REG_VTABLE_REF): New.
2689 * rtl.c (reg_note_name): Add it.
2690 * combine.c (distribute_notes): Handle it.
2691 * final.c (final_scan_insn): Handle it.
2692 * tree.def (VTABLE_REF): New.
2693 * expr.c (expand_expr): Handle it.
2694 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
2695 * output.h: Declare them.
2697 2001-10-11 Richard Henderson <rth@redhat.com>
2699 * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
2702 2001-10-11 David Edelsohn <edelsohn@gnu.org>
2704 * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
2705 available in 64-bit mode.
2707 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
2709 * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
2710 cris-*-linux* cases.
2711 * config/cris/cris-protos.h: New file.
2712 * config/cris/cris.c: New file.
2713 * config/cris/cris.h: New file.
2714 * config/cris/cris.md: New file.
2715 * config/cris/linux.h: New file.
2716 * config/cris/aout.h: New file.
2717 * config/cris/arit.c: New file.
2718 * config/cris/cris_abi_symbol.c: New file.
2719 * config/cris/mulsi3.asm: New file.
2720 * config/cris/t-aout: New file.
2721 * config/cris/t-cris: New file.
2722 * config/cris/t-elfmulti: New file.
2723 * config/cris/t-linux: New file.
2724 * doc/invoke.texi: Add CRIS options.
2725 * doc/install.texi (Specific): Add blurb for CRIS.
2727 2001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
2729 * config/float-i128.h: Make sure __STDC__VERSION__ is defined
2731 * config/float/i32.h: Likewise.
2732 * config/float-i386.h: Likewise.
2733 * config/float-i64.h: Likewise.
2734 * config/float-m68k.h: Likewise.
2735 * config/float-sh.h: Likewise.
2736 * config/float-sparc.h: Likewise.
2738 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
2740 * doc/contrib.texi: Add note about CRIS port to my entry.
2742 2001-10-11 Kazu Hirata <kazu@hxi.com>
2744 * basic-block.h: Fix formatting.
2745 * bitmap.h: Likewise.
2746 * cpplib.h: Likewise.
2747 * c-tree.h: Likewise.
2748 * diagnostic.h: Likewise.
2749 * flags.h: Likewise.
2751 * longlong.h: Likewise.
2753 * reload.h: Likewise.
2757 2001-10-10 Richard Henderson <rth@redhat.com>
2759 * c-parse.in (asm_operand): Allow named operands.
2760 * genconfig.c (max_recog_operands): Set to 29.
2761 * local-alloc.c (requires_inout): Skip multiple digits.
2762 * recog.c (asm_operand_ok): Likewise.
2763 (preprocess_constraints): Use strtoul for matching constraints.
2764 (constrain_operands): Likewise.
2765 * regmove.c (find_matches): Likewise.
2766 * reload.c (find_reloads): Likewise.
2767 * stmt.c (parse_output_constraint): Don't reject in-out
2768 constraint on operands > 9. Reject '[' in constraint.
2769 (expand_asm_operands): Handle named operands. Use strtoul
2770 for matching constraints.
2771 (check_operand_nalternatives): Split out from expand_asm_operands.
2772 (check_unique_operand_names): New.
2773 (resolve_operand_names, resolve_operand_name_1): New.
2775 * doc/extend.texi (Extended Asm): Document named operands.
2776 * doc/md.texi (Simple Constraints): Document matching constraints
2779 2001-10-10 Richard Henderson <rth@redhat.com>
2781 * combine.c (try_combine): Handle a SEQUENCE of one insn.
2783 * i386.c (test splitter): Narrow tests vs paradoxical subregs.
2784 (jcc splitters): Add two splitters to simplify compound compares
2785 that simplify_comparison can't handle.
2787 2001-10-10 Richard Henderson <rth@redhat.com>
2789 * langhooks.c: Include langhooks.h.
2790 * Makefile.in (langhooks.o): Depend on it.
2792 Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
2794 * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
2795 should not be considered as a no-op.
2796 * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
2798 2001-10-10 Stan Shebs <shebs@apple.com>
2800 * alias.c: Remove uses of "register" specifier in declarations
2801 of arguments and local variables.
2802 * c-common.c: Ditto.
2803 * c-convert.c: Ditto.
2805 * c-format.c: Ditto.
2806 * c-semantics.c: Ditto.
2807 * c-typeck.c: Ditto.
2808 * caller-save.c: Ditto.
2811 * cfgbuild.c: Ditto.
2813 * collect2.c: Ditto.
2817 * cppfiles.c: Ditto.
2820 * defaults.h: Ditto.
2822 * dwarf2out.c: Ditto.
2823 * dwarfout.c: Ditto.
2824 * emit-rtl.c: Ditto.
2829 * fix-header.c: Ditto.
2830 * floatlib.c: Ditto.
2832 * fold-const.c: Ditto.
2833 * function.c: Ditto.
2836 * gen-protos.c: Ditto.
2837 * genattrtab.c: Ditto.
2838 * gencheck.c: Ditto.
2839 * genconfig.c: Ditto.
2841 * genextract.c: Ditto.
2842 * genflags.c: Ditto.
2843 * gengenrtl.c: Ditto.
2844 * genoutput.c: Ditto.
2846 * genrecog.c: Ditto.
2847 * gensupport.c: Ditto.
2851 * haifa-sched.c: Ditto.
2852 * hard-reg-set.h: Ditto.
2854 * integrate.c: Ditto.
2857 * local-alloc.c: Ditto.
2859 * mips-tdump.c: Ditto.
2860 * mips-tfile.c: Ditto.
2863 * print-rtl.c: Ditto.
2864 * read-rtl.c: Ditto.
2867 * reg-stack.c: Ditto.
2868 * regclass.c: Ditto.
2873 * resource.c: Ditto.
2877 * sched-deps.c: Ditto.
2878 * sched-rgn.c: Ditto.
2880 * simplify-rtx.c: Ditto.
2882 * stor-layout.c: Ditto.
2889 * xcoffout.c: Ditto.
2891 2001-10-10 Richard Henderson <rth@redhat.com>
2893 * rtl.h (can_reverse_comparison_p): Remove.
2895 2001-10-10 Christopher Faylor <cgf@redhat.com>
2897 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
2900 2001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
2902 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
2903 (Thanks to Chris Faylor for suggesting macro name).
2904 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
2906 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
2907 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
2908 (MATH_LIBRARY): Undef before definition.
2909 (OUTPUT_QUOTED_STRING): Likewise.
2910 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
2912 2001-10-10 Richard Henderson <rth@redhat.com>
2914 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
2915 (fde_unencoded_compare): Likewise. Don't use subtraction to get
2916 a tristate comparison value.
2917 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
2919 2001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2922 * unroll.c (loop_iterations): Ignore insns generated by loop
2925 * config.gcc (mips*-*-gnu*): Delete support.
2926 * config/mips/gnu.h: Remove.
2928 2001-10-10 Kazu Hirata <kazu@hxi.com>
2930 * calls.c: Fix formatting.
2931 * c-decl.c: Likewise.
2932 * cfgcleanup.c: Likewise.
2933 * combine.c: Likewise.
2934 * cppfiles.c: Likewise.
2935 * cpplib.c: Likewise.
2936 * cppmacro.c: Likewise.
2937 * crtstuff.c: Likewise.
2939 * dwarf2out.c: Likewise.
2940 * expmed.c: Likewise.
2942 * fold-const.c: Likewise.
2943 * function.c: Likewise.
2945 * genattrtab.c: Likewise.
2946 * ggc-page.c: Likewise.
2947 * integrate.c: Likewise.
2948 * libgcc2.c: Likewise.
2950 * optabs.c: Likewise.
2951 * profile.c: Likewise.
2952 * protoize.c: Likewise.
2954 * recog.c: Likewise.
2955 * reload1.c: Likewise.
2956 * reload.c: Likewise.
2957 * reorg.c: Likewise.
2958 * resource.c: Likewise.
2959 * sched-rgn.c: Likewise.
2960 * sdbout.c: Likewise.
2962 * toplev.c: Likewise.
2963 * varasm.c: Likewise.
2965 2001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
2967 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
2968 * Makefile.in (langhooks.o): Add dependencies.
2970 Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
2972 * rs6000.c (rs6000_emit_load_toc_table): Don't
2973 strdup the toc label.
2974 (create_TOC_reference): Likewise.
2976 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
2978 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
2981 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
2983 * config/i386/i386.c (ix86_attribute_table): Correct
2984 min_len, max_len fields for dllimport, dllexport and shared.
2986 2001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
2988 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
2989 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
2990 Consistently use "nonzero" instead of "non-zero".
2992 2001-10-09 Kazu Hirata <kazu@hxi.com>
2994 * acconfig.h: Fix comment formatting.
2995 * c-dump.h: Likewise.
2996 * c-tree.h: Likewise.
2997 * conditions.h: Likewise.
2999 * function.h: Likewise.
3001 * hwint.h: Likewise.
3002 * integrate.h: Likewise.
3005 * optabs.h: Likewise.
3007 2001-10-09 Kazu Hirata <kazu@hxi.com>
3009 * c-common.h: Fix comment formatting.
3010 * c-dump.c: Likewise.
3012 * diagnostic.h: Likewise.
3013 * except.c: Likewise.
3015 * gcov-io.h: Likewise.
3016 * genattrtab.c: Likewise.
3017 * output.h: Likewise.
3018 * predict.h: Likewise.
3019 * reload1.c: Likewise.
3020 * reload.h: Likewise.
3021 * resource.h: Likewise.
3023 * system.h: Likewise.
3025 * tree-inline.c: Likewise.
3026 * tsystem.h: Likewise.
3027 * varasm.c: Likewise.
3028 * xcoffout.h: Likewise.
3030 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
3032 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
3034 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
3036 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
3037 config/i386/i386elf.h, config/i386/netbsd-elf.h,
3038 config/i386/netware.h, config/mcore/gfloat.h,
3039 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
3040 config/netware.h, gccbug.in: Update FSF address.
3042 2001-10-09 Kazu Hirata <kazu@hxi.com>
3044 * c-common.c: Fix comment typos.
3045 * cfgrtl.c: Likewise.
3046 * collect2.c: Likewise.
3047 * cpplex.c: Likewise.
3048 * doloop.c: Likewise.
3049 * dwarf2out.c: Likewise.
3050 * dwarfout.c: Likewise.
3052 * fold-const.c: Likewise.
3056 * global.c: Likewise.
3057 * ifcvt.c: Likewise.
3059 * optabs.c: Likewise.
3060 * protoize.c: Likewise.
3061 * regclass.c: Likewise.
3062 * reorg.c: Likewise.
3066 * doc/cpp.texi: Likewise.
3067 * doc/c-tree.texi: Likewise.
3068 * doc/extend.texi: Likewise.
3069 * doc/invoke.texi: Likewise.
3070 * doc/objc.texi: Likewise.
3071 * doc/tm.texi: Likewise.
3073 2001-10-08 Richard Henderson <rth@redhat.com>
3075 * varasm.c (set_named_section_flags): Initialize "declared".
3077 2001-10-08 Robert Lipe <robertlipe@usa.net>
3079 * varasm.c (struct in_named_entry): Add declared.
3080 (named_section_first_declaration): New function.
3081 (default_elf_asm_named_section): Use it.
3082 * output.h (named_section_first_declaration): New.
3084 2001-10-08 Richard Henderson <rth@redhat.com>
3086 * i386.md (movsi_xor): Export.
3087 (setcc peep2): Use it when available; add an alternative to
3088 match zero_extendhisi2_and.
3090 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3092 * romp-protos.h (romp_initialize_trampoline): New function.
3093 * romp.c (romp_initialize_trampoline): Likewise.
3094 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
3095 romp_initialize_trampoline.
3097 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3099 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
3100 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3101 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3102 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
3104 2001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3106 * unroll.c (loop_iterations): Extend check for multiple back edges.
3108 2001-10-08 Alexandre Oliva <aoliva@redhat.com>
3110 * langhooks.h: New file.
3111 * Makefile.in (OBJS): Added langhooks.o.
3112 (c-lang.o): Depend on langhooks.h.
3113 (c-common.o): Don't depend on tree-inline.h.
3114 (tree-inline.o): Depend on toplev.h.
3115 (langhooks.o): New rule.
3116 * c-common.c: Don't include tree-inline.h.
3117 (c_mark_lang_decl): Mark argument c as unused.
3118 (c_common_lang_init): Don't initialize hooks here.
3119 * c-lang.c: Include langhooks.h, then override some macros.
3120 (lang_hooks): Initialize with macros in langhooks.h.
3121 (c_init): Don't initialize hooks here.
3122 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
3123 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
3124 * tree-inline.c: Include toplev.h. Don't define hook variables.
3125 * tree-inline.h: Don't define hook types nor declare hook
3126 variables. Move macros to...
3127 * langhooks.c: ... new file, as functions. Adjust all callers.
3129 2001-10-08 Jeffrey A Law <law@cygnus.com>
3131 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
3132 purge_mem_unchanging_flag on all instructions, not just on those
3133 before NOTE_INSN_FUNCTION_BEG.
3135 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
3137 * cppmacro.c (_cpp_create_definition): Leave comments off.
3139 * doc/cpp.texi: Update.
3141 2001-10-08 DJ Delorie <dj@redhat.com>
3143 * c-decl.c (grokfield): Make sure the only unnamed fields
3144 we're allowing are either structs or unions.
3145 * doc/extend.texi: Add documentation for the unnamed field
3148 2001-10-08 Zack Weinberg <zack@codesourcery.com>
3150 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
3151 * configure.in: Use it.
3152 * configure: Regenerated.
3153 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
3154 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
3156 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
3158 * cppfiles.c (open_file): Don't mark zero-length files
3159 never-reread here. Don't output diagnostics here either.
3160 (stack_include_file): Mark them never-reread here.
3161 (_cpp_read_file): Update.
3163 2001-10-08 Richard Henderson <rth@redhat.com>
3165 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
3167 2001-10-08 Richard Henderson <rth@redhat.com>
3169 * expr.c (store_expr): When converting a CONST_INT for storage
3170 in a SUBREG, convert it to both SUBREG modes before stripping
3173 2001-10-08 Richard Henderson <rth@redhat.com>
3175 * varasm.c (restore_varasm_status): New.
3176 * function.h: Declare it.
3177 * function.c (pop_function_context_from): Call it.
3179 2001-10-08 Richard Henderson <rth@redhat.com>
3181 * c-common.h (struct c_lang_decl): Add declared_inline.
3182 * c-tree.h (DECL_DECLARED_INLINE_P): New.
3183 * c-lang.c (c_disregard_inline_limits): Use it.
3184 * c-decl.c (duplicate_decls): Likewise.
3185 (pushdecl, redeclaration_error_message): Likewise.
3186 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
3187 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
3188 Set DECL_INLINE if -finline-functions.
3189 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
3191 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
3193 * cppmacro.c (funlike_invocation_p): Move some logic to caller
3194 in enter_macro_context. Create a padding token in its own context
3195 if necessary when the search for '(' fails.
3196 (enter_macro_context): Update.
3198 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
3200 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
3201 genmultilib, toplev.c: Fix spelling errors of "separate" as
3202 "seperate", and corresponding spelling errors of related words.
3204 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3206 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
3207 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
3209 * c-dump.c (dump_option_value_info): Likewise.
3210 * c-format.c (format_length_info, format_char_info,
3211 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
3212 * collect2.c (names): Likewise.
3213 * cppdefault.h (default_include): Likewise.
3214 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
3215 * flow.c (life_analysis): Likewise.
3216 * gcc.c (dir_separator_str, modify_target, option_map,
3217 target_option_translations, spec_list_1, extra_specs_1,
3218 init_spec): Likewise.
3219 * gcov.c (gcov_version_string): Likewise.
3220 * genattr.c (write_units): Likewise.
3221 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
3222 * gengenrtl.c (rtx_definition, defs): Likewise.
3223 * genrecog.c (pred_table): Likewise.
3224 * global.c (global_alloc): Likewise.
3225 * lcm.c (optimize_mode_switching): Likewise.
3226 * local-alloc.c (find_free_reg): Likewise.
3227 * params.h (param_info): Likewise.
3228 * predict.c (predictor_info): Likewise.
3229 * protoize.c (unexpansion_struct): Likewise.
3230 * real.c (bmask): Likewise.
3231 * recog.h (insn_operand_data, insn_data): Likewise.
3232 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
3233 * stmt.c (expand_nl_goto_receiver): Likewise.
3234 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
3235 target_switches, target_options): Likewise.
3236 * tradcif.y (token, tokentab2, yylex): Likewise.
3237 * tree.h (attribute_spec): Likewise.
3239 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
3241 * arc.c (arc_output_function_epilogue): Likewise.
3242 * arm.c (processors, all_cores, all_architectures,
3243 arm_override_options, isr_attribute_arg, isr_attribute_args,
3244 arm_isr_value): Likewise.
3245 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
3247 * c4x.c (c4x_int_reglist): Likewise.
3248 * d30v.c (override_options): Likewise.
3249 * h8300.c (shift_insn): Likewise.
3250 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
3251 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
3252 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
3253 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
3254 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
3255 * i386.h (processor_costs, ix86_cost): Likewise.
3256 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
3257 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
3258 * m68k.c (codes_68881, codes_FPA): Likewise.
3259 * m88k.c (mode_from_align, max_from_align, all_from_align,
3260 best_from_align, m_options): Likewise.
3261 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
3262 * mcore.c (mode_from_align): Likewise.
3263 * mips/elf64.h (UNIQUE_SECTION): Likewise.
3264 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
3265 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
3266 * mips.h (mips_regno_to_class): Likewise.
3267 * ns32k.c (scales): Likewise.
3268 * pa.c (import_string, magic_milli): Likewise.
3269 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
3270 * sparc.c (leaf_reg_remap, sparc_override_options,
3271 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
3273 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
3275 2001-10-07 Dale Johannesen <dalej@apple.com>
3277 * reload1.c (reload_reg_free_p): Teach register interference
3278 checking that multiple output reloads are emitted in
3280 reload1.c (reload_reg_reaches_end_p): Ditto.
3281 reload1.c (reloads_conflict): Ditto.
3283 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
3285 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
3286 NULL_TREE inside @code.
3288 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
3290 * doc/gcc.texi: Document consistent style of "32-bit",
3291 "Objective-C", and "@code{NULL}".
3293 2001-10-06 Zack Weinberg <zack@codesourcery.com>
3295 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
3296 (cpp_token_len, cpp_spell_token, cpp_output_token,
3297 _cpp_equiv_tokens): Handle it.
3298 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
3299 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
3300 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
3303 Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3305 * gcc.c (default_compilers): Remove .ada.
3307 2001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
3309 * doc/cppinternals.texi: Update.
3311 2001-10-06 Zack Weinberg <zack@codesourcery.com>
3313 * gcc.c (main): Set this_file_error if the appropriate
3314 compiler for a language has not been installed.
3316 2001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
3318 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
3320 2001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
3322 * gccbug.in (CATEGORIES): Add ada.
3324 2001-10-05 Catherine Moore <clm@redhat.com>
3326 * config/stormy16/stormy-abi: Document abi changes.
3327 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
3328 (ICALL_REGS): New register class.
3329 (NUM_ARGUMENT_REGISTERS): Now 6.
3330 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
3332 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
3333 * config/stormy16.md (call_internal, call_value_internal,
3334 indirect_jump): Use new 'z' constraint.
3336 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
3338 * doc/cppinternals.texi: Update.
3340 2001-10-05 Richard Henderson <rth@redhat.com>
3342 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
3343 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
3344 the gas section-name-as-label feature.
3346 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
3348 * doc/cppinternals.texi: Update.
3350 Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3352 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
3353 to ensure valid SImode constants.
3355 2001-10-05 Alexandre Oliva <aoliva@redhat.com>
3357 * Makefile.in (c-decl.o): Depend on tree-inline.h.
3358 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
3359 * c-decl.c: Include tree-inline.h.
3360 (c_expand_body): Call optimize_inline_calls. Determine whether
3361 a function is inlinable upfront, and only clear
3362 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
3363 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
3364 (c_disregard_inline_limits): New function.
3365 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
3366 (c_post_options): Enable tree inlining if inlining is enabled.
3367 Don't inline trees when instrumenting functions.
3368 (c_init): Initialize lang_disregard_inline_limits and
3369 lang_cannot_inline_tree_fn.
3370 * tree-inline.c (initialize_inlined_parameters): Handle calls
3371 with fewer arguments than declared parameters, and fewer
3372 parameters than passed arguments. Don't assume value is a
3374 (declare_return_variable): Convert return value back to the
3375 original type, if it was promoted.
3376 (tree_inlinable_function_p): New function.
3377 (inlinable_function_p): Don't look at DECL_INLINE if we're
3378 inlining all functions. Make it work with a NULL id.
3379 Re-check DECL_UNINLINABLE after language-specific checks.
3380 * tree-inline.h (tree_inlinable_function_p): Declare it.
3381 * integrate.c (save_for_inline): Don't bother to prepare argvec
3383 * cse.c (check_for_label_ref): Don't check deleted labels.
3385 * Makefile.in (tree-inline.o): Depend on newly-included headers.
3386 * tree-inline.c: Include headers needed for the functions moved in.
3387 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
3388 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
3389 (copy_body, initialize_inlined_parameters): Likewise.
3390 (declare_return_variable, inlinable_function_p): Likewise.
3391 (expand_call_inline, expand_calls_inline): Likewise.
3392 (optimize_inline_calls, clone_body): Likewise.
3393 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
3394 (copy_tree_r, remap_save_expr): Likewise.
3396 2001-10-04 Alexandre Oliva <aoliva@redhat.com>
3398 * Makefile.in (OBJS): Added tree-inline.o.
3399 (c-common.o): Depend on tree-inline.h.
3400 (tree-inline.o): New target.
3401 * c-common.c: Include tree-inline.h.
3402 (c_mark_lang_decl): Don't mark saved_tree.
3403 (c_common_lang_init): Set lang_anon_aggr_type_p.
3404 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
3405 (struct c_lang_decl): Moved saved_tree to tree_decl.
3406 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
3407 * integrate.h (function_attribute_inlinable_p): Declare it.
3408 * integrate.c (function_attribute_inlinable_p): Export it.
3409 * tree-inline.c: New file. Define variables declared in...
3410 * tree-inline.h: New file. Declare functions to be moved to
3411 tree-inline.c. Define macros and declare types and hooks for
3412 language-specific tree inlining.
3413 (flag_inline_trees): Moved definition from cp/decl2.c.
3414 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
3415 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
3416 (struct tree_decl): Moved saved_tree from c_lang_decl and
3417 inlined_fns from C++'s lang_decl.
3419 2001-10-04 Loren J. Rittle <ljrittle@acm.org>
3421 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
3422 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
3424 2001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
3426 * doc/cppinternals.texi: Update.
3428 2001-10-04 Eric Christopher <echristo@redhat.com>
3430 * config/mips/mips.c (init_cumulative_args): Remember to set
3432 * config.gcc: Redo linux configuration. Add target_cpu_default
3433 of soft-float to all mipsisa32 combinations and tx39.
3434 * config/mips/linux.h: Remove include of mips.h.
3436 2001-10-03 Loren J. Rittle <ljrittle@acm.org>
3438 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
3439 HOST_LDFLAGS and HOST_CPPFLAGS.
3441 2001-10-03 Ziemowit Laski <zlaski@apple.com>
3443 * c-parse.in (objc_inherit_code, objc_pq_context,
3444 objc_public_flag): Make static.
3445 (objc_interface_context, objc_implementation_context,
3446 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
3447 global tree array in objc/objc-act.[ch].
3448 (methoddef): Remove unnecessary code.
3450 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
3451 Hoist struct definitions to objc-act.h.
3452 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
3453 cat_count): Place declaration in objc-act.h.
3454 (objc_tree_index): Move enumeration to objc-act.h.
3455 (objc_global_trees): Place declaration and macro accessors in
3457 (implementation_context): Remove duplicate; use
3458 objc_implementation_context instead:
3459 (method_context): Remove duplicate; use objc_method_context
3461 (objc_ellipsis_node, objc_method_prototype_template,
3462 implemented_classes, function_type): Move global vars to
3464 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
3465 (build_message_expr): Move actual construction of ObjC message
3466 send nodes to finish_message_expr.
3467 (finish_message_expr): New routine, contains code formerly in
3469 * objc/objc-act.h (finish_message_expr): New prototype.
3470 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
3471 declarations; these vars are now part of objc_global_trees.
3472 (objc_tree_index, objc_global_trees): Move definitions from
3474 * objc/objc-tree.def: Update copyright info.
3476 Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
3478 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
3480 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
3481 only if TARGET_ARCH64.
3483 2001-10-02 Bernd Schmidt <bernds@redhat.com>
3485 * doc/extend.texi: Fix some problems with previous checkin.
3486 * doc/invoke.texi: Likewise.
3488 2001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
3490 * cpphash.h: Update comments.
3491 (cpp_context): Update.
3492 (spec_nodes): Remove n__Pragma.
3493 * cppinit.c (cpp_create_reader): Update.
3494 (builtin_array): Add _Pragma.
3495 * cpplib.h: Update comments.
3496 (NODE_DISABLED, BT_PRAGMA): New.
3497 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
3498 * cppmacro.c (struct cpp_macro): Remove disabled.
3499 (builtin_macro): Return int, handle _Pragma, push the new token
3500 on the context stack.
3501 (funlike_invocation_p): Unconstify, update.
3502 (enter_macro_context): Handle builtins here.
3503 (replace_args, push_token_context, push_ptoken_context):
3504 Update for prototype changes.
3505 (_cpp_pop_context): Update.
3506 (cpp_get_token): Don't handle buitins, nor _Pragma here.
3507 (cpp_sys_macro_p): Update.
3508 (_cpp_free_definition): Clear disabled flag.
3509 (_cpp_create_definition): Upate.
3510 * cppmain.c: Update comments.
3512 Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
3513 Andreas Jaeger <aj@suse.de>,
3514 Jan Hubicka <jh@suse.cz>
3516 * doc/invoke.texi (i386 Options): Document x86-64 options.
3517 (i386 and x86-64 Options): Rename i386 options section.
3519 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
3520 (TARGET_SWITCHES): Add -munwind-info.
3521 (MASK_NO_UNWIND_INFO): New.
3522 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
3524 (ASM_OUTPUT_DOUBLE_INT): New.
3526 * config/i386/linux64.h: New spec file for Linux x86-64 support.
3527 * config.gcc: Fix tm_file settings for x86-64.
3528 * config/i386/x86-64.h: New file with OS independent x86-64
3530 * config/i386/biarch64.h: New file used to configure compiler
3531 to biarch/64bit compilation.
3533 * config/i386/i386.c: (override_options): Set flags default
3534 for 64bit compilation.
3536 Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
3538 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3539 (ix86_expand_int_movcc): Optimize DImode conditional moves with
3540 constants on x86_64.
3541 (ix86_attr_length_immediate_default): Support MODE_DI.
3542 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
3544 (indirect_jump, tablejump): Turn into expander.
3546 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
3548 * c-common.c (c_format_attribute_table): Make format and
3549 format_arg attributes apply to function types rather than to
3551 (is_valid_printf_arglist): Construct an attribute list and pass
3552 that to check_function_format rather than a name.
3553 * c-common.h (check_function_format): Adjust prototype.
3554 * c-decl.c (duplicate_decls): Preserve attributes from type of
3555 built-in decl when allowing for harmless conflict in types.
3556 * c-format.c (record_function_format,
3557 record_international_format, function_format_list,
3558 international_format_info, international_format_list): Remove.
3559 (function_format_info): Remove next, name and assembler_name.
3560 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
3561 (decode_format_attr): New.
3562 (handle_format_attribute): Handle receiving a type rather than a
3563 decl. Call decode_format_attr. Store format information in a
3564 function_format_info.
3565 (handle_format_arg_attribute): Correct comment. Handle receiving
3566 a type rather than a decl. Use unsigned HOST_WIDE_INT for
3568 (check_format_info_recurse, check_format_info_main): Take argument
3569 numbers as unsigned HOST_WIDE_INT.
3570 (check_function_format): Take a list of attributes from the
3571 function type rather than a name or assembler name. Check for
3572 format attributes in that list and the attributes on the type of
3573 the current function rather than looking through
3574 function_format_list.
3575 (check_format_info): Use unsigned HOST_WIDE_INT for argument
3577 (check_format_info_recurse): Take format_arg attributes from the
3578 type of the function calls rather than using
3579 international_format_list. Allow for multiple format_arg
3581 * c-typeck.c (build_function_call): Pass type attributes to
3582 check_function_format rather than name or assembler name. Don't
3583 require there to be a name or assembler name to check formats.
3585 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
3587 * attribs.c (decl_attributes): Possibly call
3588 insert_default_attributes to insert default attributes on
3589 functions in a lazy manner.
3590 * builtin-attrs.def: New file; define the default format and
3591 format_arg attributes.
3592 * c-common.c (c_format_attribute_table): Move to earlier in the
3594 (c_common_nodes_and_builtins): Initialize format_attribute_table.
3595 (enum built_in_attribute, built_in_attributes,
3596 c_attrs_initialized, c_init_attributes,
3597 c_common_insert_default_attributes): New.
3598 (c_common_lang_init): Don't initialize format_attribute_table. Do
3599 call c_init_attributes.
3600 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
3601 * c-common.h (init_function_format_info): Don't declare.
3602 (c_common_insert_default_attributes): Declare.
3603 * c-decl.c (implicitly_declare, builtin_function): Call
3605 (init_decl_processing): Don't call init_function_format_info.
3606 (insert_default_attributes): New.
3607 * c-format.c (handle_format_attribute,
3608 handle_format_arg_attribute): Be quiet about inappropriate
3609 declaration when applying default attributes.
3610 (init_function_format_info): Remove.
3611 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
3612 (insert_default_attributes): Declare.
3614 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
3616 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
3618 2001-10-01 Jim Wilson <wilson@redhat.com>
3620 * sched-deps.c (add_dependence): When elide conditional dependence,
3621 check that insn doesn't modify cond2.
3623 2001-10-01 Dale Johannesen <dalej@apple.com>
3625 * config/rs6000/rs6000.h (enum processor_type): Add support
3626 for 7400 (G4) and 7450.
3628 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
3629 (rs6000_issue_rate): Ditto.
3630 (rs6000_adjust_cost): Fix cycle counts for compares.
3631 (debug_stack_info): Fix an obvious typo.
3632 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
3633 * doc/invoke.texi: Document.
3634 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
3636 (PROCESSOR_DEFAULT): Ditto.
3638 2001-10-01 Loren J. Rittle <ljrittle@acm.org>
3640 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
3641 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
3642 later recursive make invocation.
3644 2001-10-01 Hans Boehm <boehm@acm.org>
3646 * optabs.c (emit_libcall_block): When using non-call exceptions,
3647 don't add REG_LIBCALL reg notes to trapping calls.
3649 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
3651 * flow.c (propagate_block_delete_libcall): Remove unused first arg
3652 (propagate_one_insn): Update for above change
3654 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
3656 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
3657 _Unwind_GetTextRelBase): Argument is unused.
3659 Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3661 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
3662 Loop through NOPs, placeholders, and components.
3663 Don't go through NOPs if change mode.
3664 (record_alias_subset): Do nothing if SUBSET and SET are the same.
3665 * emit-rtl.c (set_mem_alias_set): Enable check.
3666 * expr.c (find_placeholder): New function.
3667 (expand_expr, case PLACEHOLDER_EXPR): Use it.
3668 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
3669 to modify it and avoid unneeded copies.
3670 * expr.h (expand_expr): Always define.
3671 (find_placeholder): New declaration.
3673 2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3675 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
3676 operand 2 is the stack pointer.
3677 ("addr-peephole"): Fix address computation peephole when operand 2
3678 is the stack pointer.
3680 Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3682 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
3683 (ix86_setup_incoming_varargs): Likewise.
3685 2001-10-01 Jason Merrill <jason_merrill@redhat.com>
3687 * stor-layout.c (layout_type): Don't complain about too-large
3690 Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3692 * function.c (keep_stack_depressed): Don't use delete_insn.
3694 * expr.h (set_mem_alias_set): Move decl to here.
3695 * rtl.h (mem_attrs): New typedef and struct.
3696 (union rtunion_def): Add field for mem_attrs.
3697 (X0MEMATTR, MEM_ATTRS): New macros.
3698 (MEM_ALIAS_SET): Use MEM_ATTRS.
3699 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
3700 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
3701 (set_mem_alias_set): Delete decl from here.
3703 * alias.c (set_mem_alias_set): Delete from here.
3704 * emit-rtl.c (mem_attrs_htab): New variable.
3705 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
3706 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
3707 (mem_attrs_mark, get_mem_attrs): Likewise.
3708 (gen_rtx_MEM): Clear MEM_ATTRS.
3709 (set_mem_attributes): Move to here.
3710 (set_mem_alias_set): Likewise, and call get_mem_attrs.
3711 (init_emit_once): const_int_htab now deletable htab.
3712 Initialize mem_attrs_htab.
3713 * explow.c (set_mem_attributes): Delete from here.
3714 * function.c (put_var_into_stack): Clear MEM_ATTRS.
3715 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
3716 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
3717 * reload1.c (reload): Rework changing REG to MEM.
3719 2001-09-30 H.J. Lu <hjl@gnu.org>
3721 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
3722 * config.in: Rebuild.
3724 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3726 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
3727 ("tsthi_1"): Avoid allocation in register y.
3728 ("*movqi_68hc12"): Reorganize and fix constraints.
3729 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
3730 ("addqi3"): Likewise.
3731 ("addhi3"): Fix constraints.
3732 ("*logicalhi3_zexthi"): Disparage soft registers.
3734 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3736 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
3739 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3741 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
3742 that we use setjmp/longjmp exceptions.
3744 2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
3746 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
3747 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
3748 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3749 _cpp_pool_alloc, _cpp_next_chunk): Remove.
3750 (_cpp_extend_buff, BUFF_ROOM): Update.
3751 (_cpp_append_extend_buff): New.
3752 (struct cpp_reader): Remove macro_pool, add a_buff.
3753 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
3755 (cpp_destroy): Free a_buff instead of macro_pool.
3756 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
3757 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
3758 _cpp_pool_alloc, ): Remove.
3759 (parse_number, parse_string): Update use of _cpp_extend_buff.
3760 (_cpp_extend_buff): Update.
3761 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
3762 * cpplib.c (glue_header_name, parse_answer):
3763 Update use of _cpp_extend_buff.
3764 (cpp_register_pragma, cpp_register_pragma_space): Use
3766 (do_assert, do_unassert): Check for EOL, update.
3767 * cppmacro.c (stringify_arg, collect_args): Update to use
3768 _cpp_extend_buff and _cpp_append_extend_buff.
3769 (save_parameter, parse_params, alloc_expansion_token,
3770 _cpp_create_definition): Rework memory management.
3772 2001-09-29 Andris Pavenis <pavenis@lanet.lv>
3774 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
3775 update md_exec_prefix.
3776 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
3779 2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3781 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
3782 (SELECT_CC_MODE): Use s390_select_ccmode.
3783 * config/s390/s390-protos.h (s390_select_ccmode): Add.
3784 * config/s390/s390.c (s390_select_ccmode): New.
3785 (s390_match_ccmode): Add CCLmode.
3786 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
3787 (output_branch_condition, output_inverse_branch_condition): Removed.
3788 (print_operand): Use s390_branch_condition_mnemonic.
3789 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
3790 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
3791 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
3793 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
3794 when converting conditional branches to far branches.
3795 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
3796 cmpint_di): Use CCSmode instead of CCUmode.
3798 * config/s390/s390.c (legitimate_la_operand_p): New.
3799 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
3800 * config/s390/s390.md (movsi): Convert load address patterns to
3801 arithmetic operations when necessary.
3802 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
3803 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
3804 (*do_la_reg_0): Don't use before reload.
3806 * config/s390/s390.c (legitimize_address): Make more efficient
3807 use of two-register addressing mode.
3809 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
3810 with -mno-backchain in some corner cases.
3812 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
3814 2001-09-29 Alexandre Oliva <aoliva@redhat.com>
3816 * reload.c (find_reloads): Mark new USE insns with QImode.
3817 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
3818 find_reloads_subreg_address): Likewise.
3819 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
3821 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
3823 (reload): Make sure there are no USEs with mode other than
3824 VOIDmode. At the end, remove those marked with QImode.
3826 2001-09-29 Per Bothner <per@bothner.com>
3828 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
3829 * Makefile.in (includedir): Rename to local_includedir.
3830 (includedir): Define as $(prefix)/include.
3831 * config.in (PREFIX_INCLUDE_DIR): New variable.
3832 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
3834 2001-09-29 Bernd Schmidt <bernds@redhat.com>
3836 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
3838 * doc/extend.texi (Vector Extensions): New node.
3839 * doc/invoke.texi (Machine Dependent Options): Add documentation for
3840 i386 -mmmx, -msse, -m3dnow.
3842 Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
3844 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
3846 2001-09-29 Hans-Peter Nilsson <hp@axis.com>
3848 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
3850 * doc/invoke.texi (Optimize Options): Delete spurious @table.
3852 2001-09-28 Richard Henderson <rth@redhat.com>
3854 * varasm.c (assemble_integer): Bound alignment check by
3857 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
3859 2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3861 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3863 2001-09-25 Bernd Schmidt <bernds@redhat.com>
3865 Mostly from Graham Stott <grahams@redhat.com>
3866 * c-common.c (type_for_mode): Add support for V2SFmode.
3867 * tree.c (build_common_tree_nodes_2): Likewise.
3868 * tree.h (enum tree_index, global_trees): Likewise.
3869 * config/i386/i386.c (x86_3dnow_a): New variable.
3870 (override_options): Support 3Dnow extensions.
3871 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
3872 Athlon's version of 3Dnow.
3873 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
3874 (ix86_expand_builtin): Handle them.
3875 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
3876 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
3877 TARGET_3DNOW_A): New macros.
3878 (TARGET_SWITCHES): Add 3Dnow switches.
3879 (VALID_MMX_REG_MODE_3DNOW): New macro.
3880 (VECTOR_MODE_SUPPORTED_P): Use it.
3881 (enum ix86_builtins): Add entries for 3Dnow builtins.
3882 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
3883 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
3884 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
3885 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
3886 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
3887 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
3888 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
3889 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
3890 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
3891 sfence_insn, prefetch): Make these available if TARGET_SSE or
3894 Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
3896 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
3897 ix86_va_start, ix86_build_va_list): Declare.
3898 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
3899 ix86_va_start, ix86_build_va_list): New global functions.
3900 * i386.md (sse_prologue_save_insn): New insn.
3901 (sse_prologue_save): New expander.
3902 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
3903 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
3905 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
3907 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
3908 Use size_t everywhere, make definitions consistent with
3911 Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
3913 * gcse.c (replace_store_insn): Use delete_insn.
3914 * loop.c (move_movables): Likewise; avoid delete_insn
3915 from clobbering notes moved elsewhere.
3916 (check_dbra_loop): Use delete_insn.
3917 * ssa.c (convert_from_ssa): Likewise.
3918 * cse.c (cse_insn): Use delete_insn.
3920 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
3922 * cpphash.h (struct cpp_buff): Make unsigned.
3923 (_cpp_get_buff): Take length of size_t.
3924 (_cpp_unaligned_alloc): New.
3925 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
3926 (struct cpp_reader): Remove ident_pool. Add u_buff.
3927 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
3928 (cpp_destroy): Destroy u_buff, not ident_pool.
3929 * cpplex.c (parse_number, parse_string, save_comment,
3930 cpp_token_as_text): Update to use the unaligned buffer.
3931 (new_buff): Make unsigned.
3932 (_cpp_unaligned_alloc): New.
3933 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
3934 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
3936 (collect_args): Make unsigned.
3938 2001-09-27 Zack Weinberg <zack@codesourcery.com>
3940 * cpplex.c (cpp_output_token): Use a putc loop for
3941 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
3943 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
3944 * configure, config.in: Regenerate.
3945 * system.h: Replace fwrite and fprintf with their unlocked
3946 variants if available.
3948 2001-09-27 Richard Henderson <rth@redhat.com>
3950 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
3951 in favour of .eh_frame.
3953 2001-09-27 Aldy Hernandez <aldyh@redhat.com>
3955 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
3957 (LIBCALL_VALUE): Likewise.
3959 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
3961 * cpphash.h: Update comment.
3962 * cpplex.c: Update comments.
3963 (_cpp_can_paste): Remove.
3964 * cpplib.h (_cpp_can_paste): Remove.
3965 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
3966 lexer rather than _cpp_can_paste.
3968 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
3970 * doc/cppinternals.texi: Update.
3972 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
3974 * cpphash.h (struct cpp_pool): Remove locks and locked.
3975 (struct cpp_context): Add member buff.
3976 (struct cpp_reader): Remove member argument_pool.
3977 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3978 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
3979 * cpplex.c (chunk_suitable): Remove pool argument.
3980 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
3981 (new_buff, _cpp_extend_buff): Update.
3982 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
3983 which buffer is returned.
3984 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
3985 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
3986 * cppmacro.c (lock_pools, unlock_pools): Remove.
3987 (push_ptoken_context): Take a _cpp_buff.
3988 (enter_macro_context): Pool locking removed.
3989 (replace_args): Use a _cpp_buff for the replacement list with
3991 (push_token_context): Clear buff.
3992 (expand_arg): Use _cpp_pop_context.
3993 (_cpp_pop_context): Free a context's buffer, if any.
3995 2001-09-26 DJ Delorie <dj@redhat.com>
3997 * c-typeck.c (digest_init): Check for sizeless arrays.
3999 2001-09-26 Richard Henderson <rth@redhat.com>
4001 * optabs.c (init_one_libfunc): Create a dummy function type
4002 instead of using error_mark_node.
4004 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
4006 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
4007 _cpp_extend_buff, _cpp_free_buff): New.
4008 (struct cpp_reader): New member free_buffs.
4009 * cppinit.c (cpp_destroy): Free buffers.
4010 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
4011 _cpp_extend_buff, _cpp_free_buff): New.
4012 * cpplib.h (struct cpp_options): Remove unused member.
4013 * cppmacro.c (collect_args): New. Combines the old parse_arg
4014 and parse_args. Use _cpp_buff for memory allocation.
4015 (funlike_invocation_p, replace_args): Update.
4017 Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
4019 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
4021 2001-09-25 Andrew Haley <aph@cambridge.redhat.com>
4023 * except.c (sjlj_mark_call_sites): Change address inside sequence.
4025 2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
4027 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
4030 2001-09-25 Janis Johnson <janis187@us.ibm.com>
4031 Jim Wilson <wilson@redhat.com>
4033 * doc/install.texi (Specific, ia64-*-linux): Document.
4035 Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>