OSDN Git Service

* combine.c (record_dead_and_set_regs): Use
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index eb1fbff..e013d73 100644 (file)
@@ -1,3 +1,482 @@
+2001-12-14  Zack Weinberg  <zack@codesourcery.com>
+
+       * combine.c (record_dead_and_set_regs): Use
+       regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
+
+2001-12-14  Roger Sayle <roger@eyesopen.com>
+
+       * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
+       __builtin_fsqrt to __builtin_sqrt.
+
+       * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
+       * doc/extend.texi: Simplify documentation to match patch.
+
+Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * config.gcc: Revamp target_cpu_default2 to strings;
+       support new x86 variants.
+       * i386.c (override_options): Default x86_cpu_string and x86_arch_string
+       properly; set prefetch_sse.
+       * i386.h (x86_prefetch_sse): Declare.
+       (TARGET_PREFETCH_SSE): New.
+       (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
+       (TARGET_CPU_DEFAULT_*): New.
+
+Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
+                             Jan Hubicka  <jh@suse.cz>
+
+       * config/i386/i386.h (struct processor_costs): Add new members
+         prefetch_block and simultaneous_prefetches.
+         (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
+       * config/i386/i386.c (processor_costs structs): Add values for
+         prefetch_block and simultaneous_prefetches.
+       * config/i386/i386.md (unspec values): Remove values for prefetch
+         operations, which now use the PREFETCH rtx code.
+         (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
+         unified prefetch support.
+
+2001-12-14  Jason Merrill  <jason@redhat.com>
+
+       * diagnostic.c (sorry): Increment sorrycount before saving the
+       buffer state.
+
+Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (sqrt?f): Fix conditionals.
+
+Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
+
+       * config.gcc (alpha64-dec-*vms*): New case.
+       * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
+       * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
+       * config/alpha/xm-vms64.h: Likewise.
+
+       * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
+       (alpha_write_linkage): Test for null alpha_links.
+       (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
+       (vms_section_type_flags, vms_asm_named_section): Handle them.
+
+Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_fpmath, ix86_fpmath_string): New.
+       (override_option): Set ix86_fpmath.
+       * i386.h (MASK_MIX_SSE_I387): Remove.
+       (TARGET_SSE_MATH): New.
+       (TARGET_MIX_SSE_I387): Use ix86_fpmath.
+       (TARGET_SWITCHES): Remove "mix-sse-i387".
+       (fpmath_unit): New enum.
+       (ix86_fpmath, ix86_fpmath_string): Declare.
+       * i386.md (swapsf): Fix condition.
+       (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
+       (fp_?f_*_nosse): New.
+       (fp_*): Use TARGET_SSE_MATH.
+       * invoke.texi (-mfpmath): Document.
+       (-msse2): Add.
+
+2001-12-14  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (output_die): Print the string in the comment for
+       a DW_FORM_strp.
+
+2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       * netbsd.h (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
+       * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
+
+2001-12-13  Richard Henderson  <rth@redhat.com>
+
+       * regrename.c (kill_value_regno): Simplify chain removal.
+       (kill_value): Kill all of HARD_REGNO_NREGS.
+       (kill_set_value): Use kill_value not kill_value_regno.
+       (kill_autoinc_value): Likewise.
+       (copyprop_hardreg_forward): Don't collect refresh_blocks.
+       Call delete_noop_moves.
+
+2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * attribs.c (c_common_attribute_table): Swap decl_req and type_req
+       for the mode attribute.
+       (handle_mode_attribute): Handle types, not decls.
+
+2001-12-13  Jason Merrill  <jason@redhat.com>
+
+       * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
+
+2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
+        constraint to base register.
+        (eh_set_lr_si): Same.
+
+2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       * expr.c (expand_expr, case ADDR_EXPR): Don't honor
+       flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
+       modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
+
+Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
+       warning and reformat comments.
+       (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
+       (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
+       if overflow.
+
+2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Add
+       SUBSUBTARGET_OVERRIDE_OPTIONS.
+
+       * config/rs6000/eabialtivec.h: New file.
+
+       * config/rs6000/linuxaltivec.h: New file.
+
+       * config.gcc: Add powerpc-*-eabialtivec and
+       powerpc-*-linux-gnualtivec.
+
+2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * toplev.c (process_options, parse_options_and_default_flags):
+       Set flag_no_inline before the post_options hook.
+
+2001-12-13  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
+       is false.
+
+2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * collect2.c (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Define default values.
+       (write_c_file_stat): Use them to call construtor and destructor
+       functions in shared libraries.
+       * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Document them.
+       * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Define.
+
+       * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
+       shared library.  Pass -shared through to the linker.
+       * config/arm/netbsd.h (LINK_SPEC): Likewise.
+
+       * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
+       (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
+       (SHLIB_INSTALL): Define.
+
+2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
+       the same way as we handle SYMBOL_REFS.
+
+Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * loop.c (remove_constant_addition): Fix prototype and whitespace.
+       (emit_prefetch_instructions): Remove warnings and whitespace
+       changes.
+
+Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
+
+       * config/alpha/vms-cc.c (preprocess_args): Fix forward
+       declaration.
+
+Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_probability): Reorganize opcode heuristics.
+       * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
+       PRED_FPOPCODE): New.
+
+       * i386.c (override_options): Recognize various CPU variants and set
+       SSE/MMX/3dNOW flags accordingly.
+       * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
+       MASK_3DNOW_A_SET): New.
+       (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
+       (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
+       (MASK_*): Renumber.
+       (TARGET_FLAGS): Use new masks.
+       (CPP_CPU_SPECS): Recognize new CPU variants.
+       * invoke.texi (-mcpu): Update documentation.
+
+       * flags.h (flag_prefetch_loop_arrays): Declare.
+       * loop.h (LOOP_PREFETCH): Define new constant.
+       * loop.c (strength_reduce): Call emit_prefetch_instructions.
+       (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
+       PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
+       constants.
+       (check_store_data): New structure.
+       (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
+       New functions.
+       * toplev.c: Include insn-flags.h.
+       (flag_prefetch_loop_arrays): New global variable.
+       (lang_independent_option): Add -fprefetch-loop-arrays.
+       (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
+        is set.
+       * Makefile.in (toplev.c): Depend on insn-flags.h.
+       * invoke.texi (-fprefetch-loop-arrays): Document.
+
+       * predict.c (estimate_probability): Distribute the loop exit
+       probability according to number of exit edges.
+
+       * cfgcleanup.c (insns_match_p): Break out from ...;
+       (flow_find_cross_jump): ... here;
+       (outgoing_edges_match): Add parameter MODE; attempt to match everything
+       except for tablejumps.
+       (try_crossjump_to_edge): Accept complex edges.
+       (try_crossjump_bb): Likewise.
+
+2001-11-29  Corey Minyard <minyard@acm.org>
+
+       * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
+       instead of plus_constant.
+       * simplify-rtx.c (neg_const_int): New.
+       (simplify_gen_binary, simplify_plus_minus): Use it.
+
+2001-12-12  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
+       expand_builtin_strcpy): Additional arguments TARGET and MODE.
+       (expand_builtin_bzero, expand_builtin_strcpy,
+       expand_builtin_strncpy, expand_builtin_bzero): Pass additional
+       TARGET and MODE parameters to the above functions.
+       (expand_builtin_memset, expand_builtin_memcpy): Optimize the
+       case where the LEN parameter is constant zero.
+       (expand_builtin_memcmp): No longer conditional on
+       HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
+       the cases where len is either constant zero or one.
+       Optimize to call to memcpy, even if the memcpy isn't inlined.
+       (expand_builtin_strncpy): Optimize to call memcpy, even if the
+       memcpy isn't inlined.
+       (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
+       to optimize to a call to memcmp.
+       (expand_builtin): expand_builtin_memcmp can always be called,
+       and pass the required parameters to expand_builtin_memcmp,
+       expand_builtin_memset, expand_builtin_memcpy and
+       expand_builtin_strcpy.
+
+2001-12-12  David O'Brien  <obrien@FreeBSD.org>
+
+       * config.gcc (arm-*-freebsd*): Add target.
+       * config/arm/freebsd.h: New file.
+       * config/arm/arm.h (CPP_PREDEFINES): Do not define.
+       (CPP_SPEC): #undef before defining.
+       (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
+       * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
+       -Amachine=arm.
+       * config/arm/linux-elf.h: Likewise.
+       * config/arm/netbsd.h: Likewise.
+       * config/arm/riscix.h: Likewise.
+       * config/arm/riscix1-1.h: Likewise.
+       * config/arm/semiaof.h: Likewise.
+
+2001-12-12  Richard Henderson  <rth@redhat.com>
+
+       * regrename.c (copyprop_hardreg_forward): New optimization.
+       (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
+       kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
+       replace_oldest_value_reg, replace_oldest_value_addr,
+       replace_oldest_value_mem, copyprop_hardreg_forward_1,
+       debug_value_data, validate_value_data): New.
+       * rtl.h (copyprop_hardreg_forward): Declare.
+       * toplev.c (flag_cprop_registers): New.
+       (f_options): Add -fcprop-registers
+       (rest_of_compilation): Invoke it.
+       (parse_options_and_default_flags): Set it at -O1.
+       * doc/invoke.texi: Document it.
+
+2001-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
+       (DEBUG_RANGES_SECTION_LABEL): Define.
+       (ranges_section_label): Add.
+       (add_AT_range_list): New.
+       (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
+       (output_loc_list): Location expression length is always 2-byte.
+       (output_die): Handle dw_val_class_range_list.
+       (gen_lexical_block_die): Call add_AT_range_list.
+       (dwarf2out_init): Initialize ranges_section_label.
+       (dwarf2out_finish): Emit ranges_section_label.
+
+2001-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-typeck.c (digest_init): Allow initializing
+       static storage duration objects with compound literals.
+       * doc/extend.texi (Compound literals): Document the extension.
+
+2001-12-12  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c (adjust_address_1): Always copy address to avoid
+       shared rtl.
+
+Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
+
+       * stmt.c (expand_end_case): Do subtraction of lower bound as trees
+       to avoid overflow.
+
+Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
+
+       * cppfiles.c (read_include_file): Set buffer size properly when
+       file is shorter than expected.
+
+Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
+
+       * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
+       enumeral types - encode them using 'i'.
+
+2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * doc/extend.texi (Deprecated Features): Deprecate implicit
+       typename. Document that named return and initializer lists are now
+       removed.
+
+2001-12-11  Roger Sayle <roger@eyesopen.com>
+
+       * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
+       compiler warning about enumeration values not being handled.
+
+2001-12-11  Momchil Velikov  <velco@fadata.bg>
+
+       * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
+       shifts.
+
+2001-12-11  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
+       * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
+       * config/alpha/alpha.md (prefetch): New.
+
+2001-12-11  Richard Henderson  <rth@redhat.com>
+
+       * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
+       if C has only low bits set and doesn't intersect with X or Y.
+
+Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
+
+       * basic-block.h (flow_preorder_transversal_compute): Declare.
+       * cfganal.c (flow_preorder_transversal_compute): Implement.
+
+Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
+
+       * cfganal.c (flow_depth_first_order_compute): Always
+       increment dfsnum.
+
+2001-11-30 Alan Matsuoka <alanm@redhat.com>
+
+       * combine.c (combine_simplify_rtx) : Can't simplify
+       cases that use mode class MODE_CC.
+
+2001-12-11  Richard Henderson  <rth@redhat.com>
+
+       * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
+       which there is no divide expander.
+
+2001-12-11  Richard Henderson  <rth@redhat.com>
+
+       * except.c (sjlj_find_directly_reachable_regions): Don't
+       consider RNL_BLOCKED a directly reachable region.
+       (sjlj_assign_call_site_values): Trust directly_reachable.
+       (sjlj_emit_dispatch_table): Likewise.
+
+2001-12-11  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
+       we represent the address load's dependency on the gp.
+       (divmoddi_internal_er): Likewise.
+       (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
+
+2001-12-11  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c (widen_memory_access): New.
+       * expr.h (widen_memory_access): Declare it.
+       * config/alpha/alpha.c (get_aligned_mem): Use it.
+
+2001-12-11  Richard Henderson  <rth@redhat.com>
+
+       * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
+       simplification above out of range check.
+
+2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * config/sparc/sparc.md (prefetch): New.
+
+2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * output.h (regno_uninitialized): Make argument unsigned.
+
+       * flow.c (regno_uninitialized): Make regno unsigned.
+
+2001-12-11  David O'Brien  <obrien@FreeBSD.org>
+
+       * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
+       * config/cris/cris.h (ENDFILE_SPEC): Define.
+       * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
+       * config/pa/elf.h: Likewise.
+
+2001-12-11  Richard Henderson  <rth@redhat.com>
+
+       * objc/objc-act.c (build_string_class_template): New.
+       (build_objc_string_object): Call it.
+
+2001-12-11  Steve Ellcey  <sje@cup.hp.com>
+
+       * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
+       * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
+       * calls.c (store_unaligned_arguments_into_pseudos): Check
+       FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
+       are passed/returned.
+       * expr.c (move_block_from_reg): Ditto.
+       (move_block_from_reg): Ditto.
+       (copy_blkmode_from_reg): Ditto.
+       * stmt.c (expand_return): Ditto.
+       * stor-layout.c (compute_record_mode): If
+       FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
+       MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
+       * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
+       so that Structures of one field are still treated as structures.
+       (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
+       (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
+       (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
+       * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
+       * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
+       to special case handling of structure padding.
+
+2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
+
+       * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
+       (may_trap_exp): Stores only are risk if they trap, too, not just
+       if code == MEM.
+
+2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * flow.c (find_regno_partial): Indent properly.  Add a default to
+       switch.
+
+2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-common.c (combine_strings): Complain if concatenating
+       __FUNCTION__.
+       * c-parse.in (yylexname): Flag artificial strings.
+       * tree.h (TREE_ARTIFICIAL_STRING_P): New.
+doc:
+       * extend.texi: Update.
+
+2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * c-common.c (type_for_mode): Handle unsigned vectors.
+       (type_for_mode): Remove redundant calls to TYPE_MODE.
+
+       * tree.c (make_vector): New.
+       (build_common_tree_nodes_2): Use make_vector for vector types.
+       Add unsigned vector types.
+
+       * tree.h (tree_index): Add unsigned types for vectors.
+       (unsigned_V16QI_type_node): New.
+       (unsigned_V4SI_type_node): New.
+       (unsigned_V8QI_type_node): New.
+       (unsigned_V8HI_type_node): New.
+       (unsigned_V4HI_type_node): New.
+       (unsigned_V2SI_type_node): New.
+
 2001-12-11  Stan Shebs  <shebs@apple.com>
 
        * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
@@ -200,7 +679,7 @@ Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
        * ia64.md: Add missing braces.
        * rs6000-protos.h (s8bit_cint_operand): Prototype.
        * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
-        if-else statement.
+       if-else statement.
        * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
        * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
        * dbxout.c (dbxout_source_file): Move a variable into the scope
@@ -236,17 +715,17 @@ Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
 
        * c-common.h (rid): Add RID_CHOOSE_EXPR and
-        RID_TYPES_COMPATIBLE_P.
+       RID_TYPES_COMPATIBLE_P.
 
-        * c-parse.in (reswords): Add __builtin_choose_expr.
-        Add __builtin_types_compatible_p.
-        Add CHOOSE_EXPR token.
+       * c-parse.in (reswords): Add __builtin_choose_expr.
+       Add __builtin_types_compatible_p.
+       Add CHOOSE_EXPR token.
        Add TYPES_COMPATIBLE_P token.
-        Add production for CHOOSE_EXPR.
-        Add production for TYPES_COMPATIBLE_P.
+       Add production for CHOOSE_EXPR.
+       Add production for TYPES_COMPATIBLE_P.
 
-        * doc/extend.texi (__builtin_choose_expr): Add documentation.
-        (__builtin_types_compatible_p): Likewise.
+       * doc/extend.texi (__builtin_choose_expr): Add documentation.
+       (__builtin_types_compatible_p): Likewise.
 
 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
 
@@ -304,19 +783,19 @@ Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
 
 2001-12-07  Dale Johannesen  <dalej@apple.com>
 
-        * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
-        * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
-        specific codegen, eliminate a register copy.
-        (print_operand_address): Add support for Darwin's lo16(constant)
+       * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
+       * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
+       specific codegen, eliminate a register copy.
+       (print_operand_address): Add support for Darwin's lo16(constant)
        syntax.
-        (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
-        generation of addresses within very large data objects.
-        (s8bit_cint_operand):  New.
-        * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
-        Move "mtjmpr" to correct functional unit for 750/7400/7450.
-        Add imul2 and imul3 insn types for multiplication by 16- and
+       (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
+       generation of addresses within very large data objects.
+       (s8bit_cint_operand):  New.
+       * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
+       Move "mtjmpr" to correct functional unit for 750/7400/7450.
+       Add imul2 and imul3 insn types for multiplication by 16- and
        8-bit constants.
-        Change tablejump patterns to strongly discourage using LR
+       Change tablejump patterns to strongly discourage using LR
        rather than CTR.
        Add %lo16 patterns for Darwin loads and stores.
 
@@ -340,9 +819,9 @@ Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
 
        * doc/extend.texi (Variable Attributes): Document vector_size.
 
-        * attribs.c (c_common_attribute_table): Add vector_size.
+       * attribs.c (c_common_attribute_table): Add vector_size.
        (handle_vector_size_attribute): New.
-        (vector_size_helper): New.
+       (vector_size_helper): New.
        (decl_attributes): Relayout the decl after calculating attribs.
 
 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
@@ -382,7 +861,7 @@ Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
 
        * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
-        (DWARF_FRAME_REGISTERS): Delete.
+       (DWARF_FRAME_REGISTERS): Delete.
 
 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
 
@@ -401,14 +880,14 @@ Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        Fixes PR libf2c/4826.
 
 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
-            Richard Henderson  <rth@redhat.com>
+           Richard Henderson  <rth@redhat.com>
 
        * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
-        (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
+       (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
 
-        * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
-        to PRE_GCC3_DWARF_FRAME_REGISTERS.
-        (frame_state): Same.
+       * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
+       to PRE_GCC3_DWARF_FRAME_REGISTERS.
+       (frame_state): Same.
        (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
 
 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
@@ -463,9 +942,9 @@ Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
 
        * config/arm/arm.c (load_multiple_sequence): Pass pointer to
-        RTX when calling alter_subreg().
+       RTX when calling alter_subreg().
        (store_multiple_sequence): Pass pointer to RTX when calling
-        alter_subreg().
+       alter_subreg().
 
 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>