OSDN Git Service

Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 39054b2..6b3b54a 100644 (file)
@@ -1,3 +1,332 @@
+Wed Feb 27 10:45:19 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
+       * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
+
+Wed Feb 27 10:39:20 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
+
+2002-02-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpplex.c (_cpp_lex_token): Handle directives in macro
+       arguments.
+       * cpplib.c (_cpp_handle_directive): Save and restore state
+       if parsing macro args when entering a directive.
+       * cppmacro.c (collect_args): No need to handle directives
+       in macro arguments.
+       (enter_macro_context, replace_args): Use the original macro
+       definition in case it was redefined whilst collecting arguments.
+doc:
+       * cpp.texi: Update.
+
+2002-02-26  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
+       * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
+       * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
+       method on AIX.
+       * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
+       (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
+       (load_toc_v4_PIC_2): Same.
+
+2002-02-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
+
+2002-02-26  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (ashldi_se): Re-enable.
+
+2002-02-26  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_encode_section_info): Examine
+       MODULE_LOCAL_P; improve commentary.
+
+2002-02-26  Zack Weinberg  <zack@codesourcery.com>
+
+       * doc/cpp.texi: Clarify documentation of relationship between
+       #line and #include.
+
+2002-02-26  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300-protos.h: Update the prototype for
+       compute_logical_op_length.  Add the prototype for
+       compute_logical_op_cc.
+       * config/h8300/h8300.c (compute_logical_op_length): Figure out
+       code from operands.
+       (compute_logical_op_cc): New.
+       * config/h8300/h8300.md: Combine all the logical op patterns
+       in HImode and SImode.  Use compute_logical_op_cc.
+
+2002-02-26  Kelley Cook  <kelleycook@comcast.net>
+
+       * config/i386/i386.c (print_operand): Don't append ATT-style
+       length suffixs to x87 opcodes when in Intel mode.
+
+2002-02-26  Ryan T. Sammartino <ryants@shaw.ca>
+
+       * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
+       (init_emit_once): Update calls.
+       * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
+       (init_syntax_once): Prototype.
+
+2002-02-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa-linux.h (LIB_SPEC): Update definition.
+       * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
+
+2002-02-26  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
+       if we emitted a stop bit.
+
+2002-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.in (libgcc_visibility): Substitute.
+       * configure: Rebuilt.
+       * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
+       defined symbols .hidden.
+
+2002-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * attribs.c (c_common_attribute_table): Add visibility.
+       (handle_visibility_attribute): New function.
+       * varasm.c (assemble_visibility): New function.
+       * output.h (assemble_visibility): Add prototype.
+       * tree.h (MODULE_LOCAL_P): Define.
+       * crtstuff.c (__dso_handle): Use visibility attribute.
+       * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
+       for MODULE_LOCAL_P symbols too.
+       * config/ia64/ia64.c (ia64_encode_section_info): Handle
+       MODULE_LOCAL_P symbols the same way as local symbols.
+       Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
+       into .sdata/.sbss by the user.
+       * doc/extend.texi (Function Attributes): Document visibility
+       attribute.
+
+2002-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/5770
+       * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
+       STRING_CST initializer spanning the whole variable without
+       embedded zeros.
+       If expand_expr returned MEM, don't use it.
+
+2002-02-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
+       generate a die for the lexical block.
+
+2002-02-26  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300-protos.h: Add a prototype for
+       compute_logical_op_length.
+       * config/h8300/h8300.c (compute_logical_op_length): New.
+       * config/h8300/h8300.md (anonymous logical patterns): Use
+       compute_logical_op_length for length.
+
+2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * dwarf2out.c (modified_type_die): Do not call type_main_variant
+       for vectors.
+       (gen_type_die): Same.
+
+       * attribs.c (handle_vector_size_attribute): Set debug information.
+
+2002-02-26  Daniel Egger  <degger@fhm.edu>
+
+       * config/rs6000/rs6000.md: Swap define_insn attributes to
+       fix incorrect generation of merge high instructions instead
+       of merge low.
+
+2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * c-typeck.c (really_start_incremental_init): Use
+       bitsize_zero_node for vectors.
+
+2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
+       ("*set_vrsave_internal"): Same.
+
+2002-02-25  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
+       in EXPAND_SUM case.  Use host_integerp/tree_low_cst.
+
+2002-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/5755
+       * config/i386/i386.c (ix86_return_pops_args): Only pop
+       fake structure return argument if it was passed on the stack.
+
+2002-02-25  Jason Merrill  <jason@redhat.com>
+
+       * attribs.c (decl_attributes): Also re-layout PARM_DECL and
+       RESULT_DECL.
+
+2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
+
+       * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
+       link with shared_name only.
+       * doc/invoke.texi (Link Options): Document new behavior.
+
+2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       * c-typeck.c (push_init_level): Handle vectors.
+
+2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sparc/sparc.c (const64_high_operand): Zero-extend
+       operands of SPARC_SETHI_P.
+       (input_operand): Likewise.
+       (sparc_emit_set_const32): Likewise.
+       * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
+       (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
+       (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'.  Add `N' as SETHI.
+       * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
+       (movdi_insn_sp64_vis): Likewise.
+       (movdi split, movdf split): Use SETHI32.
+       * doc/md.texi: Document SPARC constraints L, M and N.
+
+2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
+       ("*set_vrsave_internal"): use mfspr for Darwin.
+
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
+       gen_get_vrsave_internal.
+
+Sun Feb 24 16:38:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
+
+2002-02-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpplex.c (cpp_interpret_charconst): Get signedness or
+       otherwise of wide character constants correct.
+       * cppexp.c (lex): Get signedness of wide charconsts correct.
+
+Sun Feb 24 07:41:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * optabs.c (widen_operand): Only call convert_modes for
+       promoted SUBREG if signedness matches.
+       * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
+
+2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpplib.c (glue_header_name): Use local buffer to build up
+       header name.
+
+2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
+
+2002-02-23  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
+       H8/300[HS] separately.
+       * config/h8300/h8300.md: Remove the early clobber constraint
+       from bit field patterns.
+
+2002-02-23  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md (mulqihi3): Tighten predicates to
+       register_operand.
+       (mulhisi3): Likewise.
+       (umulqisi3): Likewise.
+       (umulhisi3): Likewise.
+
+2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppinit.c (output_deps): Correct test for stdout output.
+       (init_dependency_output): Cure warning.
+
+Sat Feb 23 08:42:47 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (store_expr): When converting expression to promoted
+       equivalent type, allow using SUBREG_REG of TARGET as the target
+       of the expansion of EXP.
+       * loop.c (basic_induction_var, case SUBREG): Always look inside.
+       * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
+       (alpha_emit_set_const): Handle SImode when can't make new pseudos.
+       (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
+       * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
+
+2002-02-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/contribute.texi, doc/extend.texi, doc/install.texi,
+       doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
+       doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
+
+2002-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR optimization/5747
+       * loop.c (scan_loop): Update reg info if move_movables created new
+       pseudos.
+
+2002-02-23  David Edelsohn  <edelsohn@gnu.org>
+
+       * gcc.c (init_gcc_spec): Revert last change.
+
+2002-02-23  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
+       gpc_reg_operand constraint.
+
+2002-02-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
+       Simplify comparison of `low'.
+       (add_operand): Fix formatting.
+       (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
+       (mask_operand): Disallow mask to wrap in 64-bit mode.
+       (rs6000_stack_info): Remove redundant test setting push_p.
+       (output_toc): Fix formatting.
+       * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
+       cc_reg_not_cr0_operand constraint.
+       (booldi3, boolcdi3 splitters): Same.
+
+2002-02-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/altivec.h: Add extra level of parentheses on casts.
+
+2002-02-22  David Edelsohn  <edelsohn@gnu.org>
+
+       * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
+       gcc invoked with -shared-libgcc.
+
+2002-02-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/5748
+       * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
+       decl if any of elements was TREE_USED.
+
+2002-02-22  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sparc/sol2.h: Don't include sys/mman.h.
+       * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
+       (arith_4096_operand): Don't throw high bits away.
+       (const64_operand): Take sign extension of CONST_INTs into account.
+       (const64_high_operand, sparc_emit_set_const32): Likewise.
+       (GEN_HIGHINT64): Likewise.
+       (sparc_emit_set_const64_quick1): Likewise.
+       (const64_is_2insns): Likewise.
+       (print_operand): Use trunc_int_for_mode for sign extension.
+       * config/sparc/sparc.h (SMALL_INT32): Likewise.
+       * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
+       chars.  Assume CONST_INT is already properly sign-extended.
+       (movdi split): Sign-extend each SImode part.
+       (andsi3 split): Don't mask high bits off, so that result
+       remains properly sign-extend.
+       (iorsi3 split): Likewise.
+       (xorsi3 split): Likewise.
+
+2002-02-22  Richard Sandiford  <rsandifo@redhat.com>
+
+       * fold-const.c (fold): Fix typo in comments.
+
 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
 
        * Makefile.in (langhooks.o): Update dependencies.
@@ -111,7 +440,7 @@ Thu Feb 21 21:17:21 2002  J"orn Rennecke <joern.rennecke@superh.com>
 2002-02-20  Torbjorn Granlund  <tege@swox.com>
 
        * config/avr/avr.md: Add more patterns for mized-mode add and subtract
-        (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
+       (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
 
 Thu Feb 21 16:20:46 2002  Alexandre Oliva  <aoliva@redhat.com>
 
@@ -783,20 +1112,20 @@ Sat Feb 16 13:39:09 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
+       * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
 
-        * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
+       * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
 
 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
-        alternatives.
-        ("*movv8hi_internal1"): Same.
-        ("*movv16qi_internal1"): Same.
-        ("*movv4sf_internal1"): Same.
+       * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
+       alternatives.
+       ("*movv8hi_internal1"): Same.
+       ("*movv16qi_internal1"): Same.
+       ("*movv4sf_internal1"): Same.
 
-        * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
-        not push_reload for altivec modes.
+       * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
+       not push_reload for altivec modes.
 
 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
 
@@ -909,17 +1238,17 @@ Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.md: Use predicate altivec_register_operand
-        for altivec_lvx* and altivec_stvx*.
-        ("*movv4si_internal"): Add constraint for loading from GPRs.
-        ("*movv8hi_internal1"): Same.
-        ("*movv16qi_internal1"): Same.
-        ("*movv4sf_internal1"): Same.
+       * config/rs6000/rs6000.md: Use predicate altivec_register_operand
+       for altivec_lvx* and altivec_stvx*.
+       ("*movv4si_internal"): Add constraint for loading from GPRs.
+       ("*movv8hi_internal1"): Same.
+       ("*movv16qi_internal1"): Same.
+       ("*movv4sf_internal1"): Same.
 
-        * config/rs6000/rs6000.c (altivec_register_operand): New.
+       * config/rs6000/rs6000.c (altivec_register_operand): New.
 
-        * config/rs6000/rs6000.h (PREDICATE_CODES): Add
-        altivec_register_operand.
+       * config/rs6000/rs6000.h (PREDICATE_CODES): Add
+       altivec_register_operand.
 
 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
 
@@ -928,15 +1257,15 @@ Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-02-13  Stan Shebs  <shebs@apple.com>
 
-        * c-typeck.c (digest_init): Handle vectors.
-        (really_start_incremental_init): Same.
-        (pop_init_level): Same.
-        (process_init_element): Same.
+       * c-typeck.c (digest_init): Handle vectors.
+       (really_start_incremental_init): Same.
+       (pop_init_level): Same.
+       (process_init_element): Same.
 
-        * varasm.c (output_constant): Same.
+       * varasm.c (output_constant): Same.
 
-        * expr.c (clear_storage): Same.
-        (store_constructor): Same.
+       * expr.c (clear_storage): Same.
+       (store_constructor): Same.
 
 2002-02-12  Eric Christopher  <echristo@redhat.com>
 
@@ -2005,9 +2334,9 @@ Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
 
-        * config/mips/mips.md (casesi_internal, casesi_internal_di):
-        Protect jump delay slot instructions with .set noreorder and
-        .set nomacro.
+       * config/mips/mips.md (casesi_internal, casesi_internal_di):
+       Protect jump delay slot instructions with .set noreorder and
+       .set nomacro.
 
 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
 
@@ -2243,7 +2572,7 @@ Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/altivec.h: Change elem to _S_elem.
+       * config/rs6000/altivec.h: Change elem to _S_elem.
 
 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
 
@@ -2393,10 +2722,10 @@ Mon Feb  4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * config/arm/arm.h (machine_function): Add uses_anonymous_args
        field.
-        (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
+       (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
        * config/arm/arm.c (current_function_anonymous_args): Delete,
-        replace uses with cfun->machine->uses_anonymous_args.
-        (arm_reorg): Do not reset uses_anonymous_args.
+       replace uses with cfun->machine->uses_anonymous_args.
+       (arm_reorg): Do not reset uses_anonymous_args.
 
        * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
        any geenral register.
@@ -2503,8 +2832,8 @@ Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
 
 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
 
-        * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
-        constant pool to be identical by string address and index.
+       * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
+       constant pool to be identical by string address and index.
 
 2002-02-04  Anthony Green  <green@redhat.com>
 
@@ -2659,18 +2988,18 @@ doc:
 
 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
 
-        * config/stormy16/stormy16.md (pushqi): New.
-        (popqi): New.
-        (pushhi): New.
-        (pophi): New.
-        (movhi): Remove stack operands.
-        (movqi): Likewise.
-        * config/stormy16/stormy16.h (PREDICATE_CODES): Add
-        nonimmediate_nonstack_operand.
-        * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
-        New.
-        * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
-        New.
+       * config/stormy16/stormy16.md (pushqi): New.
+       (popqi): New.
+       (pushhi): New.
+       (pophi): New.
+       (movhi): Remove stack operands.
+       (movqi): Likewise.
+       * config/stormy16/stormy16.h (PREDICATE_CODES): Add
+       nonimmediate_nonstack_operand.
+       * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
+       New.
+       * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
+       New.
 
 2002-01-31  Jason Merrill  <jason@redhat.com>