1. 15 Nov, 2006 16 commits
    • i386.opt: New target option -mx87regparm. · 47a37ce4
      	* config/i386/i386.opt: New target option -mx87regparm.
      
      	* config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
      	float_in_x87: Add new variables. mmx_words, sse_words: Remove.
      	(X87_REGPARM_MAX): Define.
      
      	* config/i386/i386.c (override_options): Error out for
      	-mx87regparm but no 80387 support.
      	(ix86_attribute_table): Add x87regparm.
      	(ix86_handle_cconv_attribute): Update comments for x87regparm.
      	(ix86_comp_type_attributes): Check for mismatched x87regparm types.
      	(ix86_function_x87regparm): New function.
      	(ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
      	point registers.
      	(init_cumulative_args): Initialize x87_nregs and float_in_x87
      	variables.
      	(function_arg_advance): Process x87_nregs and x87_regno when
      	floating point argument is to be passed in 80387 register.
      	(function_arg): Pass XFmode arguments in 80387 registers for local
      	functions.  Pass SFmode and DFmode arguments to local functions
      	in 80387 registers when flag_unsafe_math_optimizations is set.
      
      	* reg-stack.c (convert_regs_entry): Disable NaN load for
      	stack registers that are used for argument passing.
      
      	* doc/extend.texi: Document x87regparm function attribute.
      	* doc/invoke.texi: Document -mx87regparm.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/x87regparm-1.c: New test.
      	* gcc.target/i386/x87regparm-2.c: New test.
      	* gcc.target/i386/x87regparm-3.c: New test.
      	* gcc.target/i386/x87regparm-4.c: New test.
      
      From-SVN: r118859
      Uros Bizjak committed
    • parse.c (parse_contained): Fix indention of one line. · ab25c2d9
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             * parse.c (parse_contained): Fix indention
               of one line.
      
      From-SVN: r118858
      Tobias Burnus committed
    • re PR fortran/27546 (IMPORT is broken) · 8998be20
      fortran/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/27546
             * decl.c (gfc_match_import,variable_decl):
               Add IMPORT support.
               (gfc_match_kind_spec): Fix typo in gfc_error.
             * gfortran.h (gfc_namespace, gfc_statement):
               Add IMPORT support.
             * parse.c (decode_statement,gfc_ascii_statement,
               verify_st_order): Add IMPORT support.
             * match.h: Add gfc_match_import.
             * gfortran.texi: Add IMPORT to the supported
               Fortran 2003 features.
      
      testsuite/
       2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/27546
             * gfortran.dg/import.f90: New test.
             * gfortran.dg/import2.f90: New test.
             * gfortran.dg/import3.f90: New test.
      
      From-SVN: r118857
      Tobias Burnus committed
    • tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype. · dd5f63f8
      	* tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype.
      	* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): New
      	arg MODE; all callers changed.  Use it to determine validity per
      	machine mode instead of using Pmode for all memory references.
      	(get_address_cost): Likewise add and use new arg MEM_MODE.
      
      From-SVN: r118856
      Bernd Schmidt committed
    • combine.c (likely_spilled_retval_1): Fix masking operation. · c78ba53a
      2006-11-15  Rask Ingemann Lambertsen <rask@sygehus.dk>
      	    J"orn Rennecke <joern.rennecke@st.com>
      
      	* combine.c (likely_spilled_retval_1): Fix masking operation.
      	(likely_spilled_retval_p): Use proper pattern for call to
      	likely_spilled_retval_1.
      
      Co-Authored-By: J"orn Rennecke <joern.rennecke@st.com>
      
      From-SVN: r118855
      Rask Ingemann Lambertsen committed
    • bfin.c (legitimize_pic_address): Lose dead code that tests for CONSTANT_POOL_ADDRESS_P. · 6b97a439
      	* config/bfin/bfin.c (legitimize_pic_address): Lose dead code
      	that tests for CONSTANT_POOL_ADDRESS_P.
      
      From-SVN: r118854
      Bernd Schmidt committed
    • tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting. · 0f14009a
      	* tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting.
      
      From-SVN: r118853
      Bernd Schmidt committed
    • re PR fortran/27588 (-fbounds-check should catch substring out of range accesses) · 65713e5b
      fortran/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
                  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
      
             PR fortran/27588
             * trans-expr.c (gfc_conv_substring): Add bounds checking.
               (gfc_conv_variable, gfc_conv_substring_expr): Pass more
               arguments to gfc_conv_substring.
      
      testsuite/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/27588
             * gfortran.dg/char_bounds_check_fail_1.f90: New test.
      
      
      Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
      
      From-SVN: r118852
      Tobias Burnus committed
    • re PR fortran/29806 (Error if CONTAINS is present without SUBPROGRAM) · 8c894ae2
      fortran/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/29806
             * parse.c (parse_contained): Check for empty contains statement.
      
      testsuite/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/29806
             * gfortran.dg/contains.f90: New test.
             * gfortran.dg/derived_function_interface_1.f90: Add a dg-warning.
      
      From-SVN: r118851
      Tobias Burnus committed
    • re PR tree-optimization/29581 (Latent bug in 4.1/4.2/4.3 lambda-code.c) · 08700251
      	PR tree-optimization/29581
      	* lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
      	REPLACEMENTS, FIRSTBSI arguments.  If initial condition or
      	type is different between Y and USE, create a temporary
      	variable, initialize it at the beginning of the body bb
      	and use it as replacement instead of Y.
      
      	* gcc.dg/pr29581-1.c: New test.
      	* gcc.dg/pr29581-2.c: New test.
      	* gcc.dg/pr29581-3.c: New test.
      	* gcc.dg/pr29581-4.c: New test.
      	* gfortran.dg/pr29581.f90: New test.
      
      From-SVN: r118848
      Jakub Jelinek committed
    • re PR tree-optimization/29753 (Volatile semantics ignored in some cases) · d6cfd931
      2006-11-15  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR middle-end/29753
      	* gimplify.c (fold_indirect_ref_rhs): Use
      	STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.
      
      From-SVN: r118845
      Paolo Bonzini committed
    • re PR fortran/28974 (Extremely slow compilation of enumerated DATA statements.) · 5868cbf9
      2006-11-15  Bud Davis <bdavis9659@sbcglobal.net>
      
              PR fortran/28974
              * gfortran.h (gfc_expr): Add element which holds a splay-tree
              for the exclusive purpose of quick access to a constructor by
              offset.
              * data.c (find_con_by_offset): Use the splay tree for the search.
              (gfc_assign_data_value): Use the splay tree.
              (gfc_assign_data_value_range): ditto.
              * expr.c (gfc_get_expr): Initialize new element to null.
              (gfc_free_expr): Delete splay tree when deleting gfc_expr.
      
      From-SVN: r118844
      Bud Davis committed
    • re PR fortran/29702 (RFE: Column number in error messages.) · 12c78966
      PR fortran/29702
      * fortran/error.c (show_loci): Move column-offset calculation to
      show_locus.
      (show_locus): Remove blank lines before "Included in"
      lines, clean up code, calculate column-offsets, print
      column number is error-header lines as appropriate.
      (error_integer): (new function) Print integer to error
      buffer.
      (error_print): Use error_integer, avoid possible buffer
      overflows from buggy error formats.
      * testsuite/lib/gfortran-dg.exp (gfortran-dg-test): Ignore column
      numbers in error message headers.
      
      From-SVN: r118843
      Brooks Moses committed
    • gfortran.h (GFC_MAX_LINE): Remove constant definition. · 1dde8683
      * gfortran.h (GFC_MAX_LINE): Remove constant definition.
      (gfc_option_t): Clarify comments.
      * options.c: Set default line length limits to actual default
      values, rather than flag values.
      * scanner.c: Eliminate checking and handling of the
      fixed/free_line_length flag values.
      
      From-SVN: r118842
      Brooks Moses committed
    • lang.opt: Remove -fno-backend option. · 4887aa71
      * lang.opt: Remove -fno-backend option.
      * gfortran.h (gfc_option_t): Remove flag_no_backend.
      * options.c (gfc_init_options): Remove flag_no_backend.
      (gfc_handle_option): Remove -fno-backend option handler.
      * parse.c (gfc_parse_file): Remove references to
      gfc_option.flag_no_backend.
      
      From-SVN: r118841
      Brooks Moses committed
    • Daily bump. · a48cfb7c
      From-SVN: r118835
      GCC Administrator committed
  2. 14 Nov, 2006 18 commits
  3. 13 Nov, 2006 6 commits
    • rtti.c (get_pseudo_ti_init): Ensure that the offset field of the base type info… · 07b183fd
      rtti.c (get_pseudo_ti_init): Ensure that the offset field of the base type info initializer has the correct type.
      
      
      	* rtti.c (get_pseudo_ti_init): Ensure that the offset field of the
      	base type info initializer has the correct type.
      
      From-SVN: r118785
      Roger Sayle committed
    • sh.c (expand_cbranchdi4): Initialize skip_label. · cb3d3842
      	* config/sh/sh.c (expand_cbranchdi4): Initialize skip_label.
      	(sh_optimize_target_register_callee_saved): #if 0 the code
      	using NOTE_INSN_LOOP_{BEG,END}.
      
      From-SVN: r118784
      Kaz Kojima committed
    • fold-const.c (optimize_bit_field_compare): Recursively call fold when… · 7c06f565
      fold-const.c (optimize_bit_field_compare): Recursively call fold when simplifying non-constant comparisons between bit-fields.
      
      
      	* fold-const.c (optimize_bit_field_compare): Recursively call
      	fold when simplifying non-constant comparisons between bit-fields.
      
      From-SVN: r118783
      Roger Sayle committed
    • configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL test. · 65280f6c
      	* configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL
      	test.
      	* configure: Rebuilt.
      
      From-SVN: r118780
      Jakub Jelinek committed
    • * tls.m4 (GCC_CHECK_TLS): Fall back to a link test. · 597c25e6
      From-SVN: r118777
      Daniel Jacobowitz committed
    • cell.md: New file. · d296e02e
      2006-11-13  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              * config/rs6000/cell.md: New file.
              * config/rs6000/rs6000.c (rs6000_cell_dont_microcode): New
              variable.
              (ppccell_cost): New cost matrix.
              (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
              (rs6000_override_options): Set rs6000_always_hint to false
              for cell. Also align functions/lables/loops to 8byte
              for the Cell. Use PROCESSOR_CELL.
              (rs6000_emit_epilogue): Rename using_mfcr_multiple to
              using_mtcr_multiple.
              (rs6000_variable_issue): If the insn is a nonpipelined instruction
              on the Cell, return 0.
              (rs6000_adjust_cost): Add Cell cost adjustments.
              (is_microcoded_insn): Return true for Cell microcoded
              instructions.
              (is_nonpipeline_insn): New function.
              (rs6000_issue_rate): Add PROCESSOR_CELL.
              (rs6000_use_sched_lookahead): If Cell, then we should look ahead 8
              instructions.
              (rs6000_use_sched_lookahead_guard): New function.
              (rs6000_sched_reorder):  Reorder the ready list, if the second
              to last ready insn is a nonepipeline insn on the Cell.
              * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_CELL.
              (ASM_CPU_SPEC): Add Cell.
              * config/rs6000/rs6000.md (cpu): Add Cell.
              (cell_micro): New Attr.
              Include cell.md
      
      From-SVN: r118776
      Andrew Pinski committed