OSDN Git Service

* config/ia64/elf.h: Remove CPP_PREDEFINES.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2235b8d..debee29 100644 (file)
@@ -1,5 +1,230 @@
+2002-09-17  Steve Ellcey  <sje@cup.hp.com>
+
+        * config/ia64/elf.h: Remove CPP_PREDEFINES.
+
+Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+
+       Fix PR/7014 and related objc bugs:
+       * c-typeck.c (comp_target_types): Added a reflexive argument.
+       Pass it to ObjC when/if calling objc_comptypes().  Updated all
+       callers to provide the appropriate reflexive argument.
+       * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
+       typechecking for all cases of comparisons and assignments,
+       particularly the obscure and less common ones involving protocols.
+
+2002-09-17  Nick Clifton  <nickc@redhat.com>
+
+       * machmode.def (V1DImode): New mode.  A single element vector.
+       * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
+       (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
+       * tree.c (build_common_tree_nodes_2): Build
+       unsigned_V1DI_type_node and V1D1_type_node.
+       * c-common.c (c_common_type_for_mode): Return
+       unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
+       * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
+
+Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+
+       * doc/objc.texi (Constant string objects): Extended documentation
+       to make clear that the constant string class ivar layout is
+       completely fixed.
+       
+2002-09-17  Roger Sayle  <roger@eyesopen.com>
+
+       * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
+       NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
+
+2002-09-16  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (emit_block_move): Set memory block size as appropriate
+       for the copy.
+
+2002-09-16  Richard Henderson  <rth@redhat.com>
+
+       PR fortran/3924
+        * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
+
+2002-09-16  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
+       as well as OFFSET for BITPOS.
+
+2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
+
+        * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
+        * config/i386/i386.c (processor_alias_table): Add winchip-c6,
+       winchip2 and c3.
+        * doc/invoke.texi: Mention new aliases.
+
+2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * calls.c (store_one_arg): Set default alignment for BLKmode arguments
+       to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
+       downward.
+       * function.c (pad_below):  Always compile.
+       (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
+       alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
+       Pad below when the argument is not in a register and the padding
+       direction is downward.
+
+       * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
+       (PAD_VARARGS_DOWN): Define.
+       * pa.c (function_arg_padding): Revise padding directions to make them
+       compatible with the 32 and 64-bit runtime architecture documentation.
+       (hppa_va_arg):  Add code to handle variable and size zero arguments
+       passed by reference on TARGET_64BIT.  Reformat.
+       (function_arg): Use a PARALLEL for BLKmode and aggregates args on
+       TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
+       wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
+       Add comments.
+       * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
+       (RETURN_IN_MEMORY): Return size zero types in memory.
+       (FUNCTION_VALUE): Return TFmode in general registers.
+       (MUST_PASS_IN_STACK): Define.
+       (FUNCTION_ARG_BOUNDARY): Simplify.
+       (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
+       by reference.
+       (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
+
+2002-09-16  Richard Henderson  <rth@redhat.com>
+
+       * real.c (do_fix_trunc): New.
+       (real_arithmetic): Call it.
+       * simplify-rtx.c (simplify_unary_operation): Handle FIX
+       with a floating-point result mode.
+
+2002-09-16  Richard Henderson  <rth@redhat.com>
+
+       * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
+       (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
+       * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
+       (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
+       * builtins.c (fold_builtin_nan): New.
+       (fold_builtin): Call it.
+       * real.c (real_nan): Parse a non-empty string.
+       (round_for_format): Fix NaN significand truncation.
+       * real.h (real_nan): Return bool.
+       * doc/extend.texi: Document new builtins.
+
+2002-09-16  Jason Merrill  <jason@redhat.com>
+           Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/winnt.c (ix86_handle_dll_attribute): Set
+       DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
+       (i386_pe_mark_dllimport): Not here.
+
+2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
+
+2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
+
+       * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
+       warnings about unused operands when HOST_BITS_PER_WIDE_INT is
+       < 64.
+       (rs6000_emit_cmove): Use real_isinf not target_isinf.
+
+2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * calls.c (emit_library_call_value_1): Don't refer to
+       hard_libcall_value.
+       * optabs.c (prepare_float_lib_cmp): Likewise.
+
+2002-09-16  Geoffrey Keating  <geoffk@apple.com>
+
+       * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
+       mangling.
+
+       The following changes are merged from pch-branch:
+
+       * doc/gty.texi (GTY Options): Document %a.
+       * gengtype.c (do_scalar_typedef): New function.
+       (process_gc_options): Handle `length' option.
+       (set_gc_used_type): A pointer to an array of structures doesn't
+       qualify as a pointer to a structure.
+       (output_escaped_param): Add `%a' escape.
+       (write_gc_structure_fields): Allow 'desc' on array of unions.
+       (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
+       do_scalar_typedef.
+
+       * gengtype.c (enum rtx_code): Make global.
+       (rtx_format): Make global.
+       (rtx_next): New.
+       (gen_rtx_next): New.
+       (write_rtx_next): New.
+       (adjust_field_rtx_def): Skip fields marked by chain_next.
+       (open_base_files): Delete redundant prototype.
+       (write_enum_defn): New.
+       (output_mangled_typename): Correct abort call.
+       (write_gc_marker_routine_for_structure): Handle chain_next and
+       chain_prev options.
+       (finish_root_table): Don't output redundant \n.
+       (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
+       * c-tree.h (union lang_tree_node): Add chain_next option.
+
+       * gengtype.h (NUM_PARAM): New definition.
+       (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
+       * gengtype.c (find_param_structure): New.
+       (adjust_field_type): Handle param<n>_is option.
+       (process_gc_options): Detect use_params option.  Update callers.
+       (set_gc_used_type): Add 'param' parameter, update callers.  Handle
+       'use_params' option.
+       (open_base_files): Add splay-tree.h to list of files included.
+       (output_mangled_typename): New.
+       (write_gc_structure_fields): Update 'param' parameter to support
+       multiple parameters.  Change name mangling.  Allow parameterized
+       fields to have an apparent scalar type.  Handle param<n>_is options,
+       use_param option.
+       (write_gc_marker_routine_for_structure): Update for change to name
+       mangling.  Better guess the output file for parameterized types.
+       (write_gc_types): Update for change to name mangling.
+       (write_gc_root): Update for change to name mangling.  Handle (ignore)
+       param<n>_is options.
+       * doc/gty.texi (GTY Options): Add description of param<n>_is
+       options, use_params option.
+       * ggc.h (ggc_mark_rtx): Update for changed name mangling.
+       * gengtype-lex.l: Produce token for param<n>_is.
+       * gengtype-yacc.y: Parse param<n>_is.
+
+       * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
+
+       * rtl.c: Update comment describing rtx_format.
+       * rtl.h (union rtunion): Separate definition and typedef.
+       (struct rtx_def): Use gengtype to mark.
+       * Makefile.in (gengtype.o): Also depend on rtl.def.
+       * ggc.h (ggc_mark_rtx_children): Delete prototype.
+       (ggc_mark_rtx): Change to alias of gengtype-generated routine.
+       * ggc-common.c (ggc_mark_rtx_children): Delete.
+       (ggc_mark_rtx_children_1): Delete.
+       (gt_ggc_m_rtx_def): Delete.
+       * gengtype.c (adjust_field_rtx_def): New.
+       (adjust_field_type): Call adjust_field_rtx_def.
+       (write_gc_structure_fields): Add 'default' case to switch if none
+       is specified; remove unused code.
+
+       * tree.h (struct tree_exp): Update for change to meaning
+       of special.
+       * gengtype.c (adjust_field_tree_exp): New function.
+       (adjust_field_type): Handle `tree_exp' special here.
+       (write_gc_structure_fields): Don't handle `tree_exp' special here.
+       Handle new `dot' option.
+
+       * gengtype.h: Make `info' a pointer-to-const.
+       * gengtype-yacc.y (yacc_ids): Use xasprintf.
+
+       * gengtype.c (write_gc_structure_fields): Remove implementation
+       of `always' option, add `default' option.
+       * doc/gty.texi (GTY Options): Remove documentation of `always',
+       add `default'.
+
+2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
+
 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
+       * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
+
        * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
        instead of the *-protos.h file directly.
        * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).