1. 24 Jul, 2007 2 commits
    • re PR fortran/30814 (non-conforming array sizes in PACK should raise an error) · 18fe404f
      2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/30814
      	* trans-decl.c (generate_function_code):  Add argument
      	for flag_bounds_check to the array for set_options.
      	* invoke.texi:  Mention that some checks require
      	-fbounds-check to be set during compilation of the
      	main program.
      
      2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/30814
      	* libgfortran.h:  Add bounds_check to compile_options_t.
      	* runtime/compile_options.c (set_options):  Add handling
      	of compile_options.bounds_check.
      	* intrinsics/pack_generic.c (pack_internal):  Also determine
      	the number of elements if compile_options.bounds_check is
      	true.  Raise runtime error if a different array shape is
      	detected.
      
      2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/30814
      	* gfortran.dg/pack_bounds_1.f90:  New test case.
      
      From-SVN: r126866
      Thomas Koenig committed
    • Daily bump. · bf3900bf
      From-SVN: r126864
      GCC Administrator committed
  2. 23 Jul, 2007 17 commits
    • i386.c (ix86_secondary_memory_needed): Break out to... · 6232eadc
      	* i386.c (ix86_secondary_memory_needed): Break out to...
      	(inline_secondary_memory_needed): ... here.
      	(ix86_memory_move_cost): Break out to ...
      	(inline_memory_move_cost): ... here; add support for IN value of 2 for
      	maximum of input and output; fix handling of Q_REGS on 64bit.
      	(ix86_secondary_memory_needed): Microoptimize.
      
      From-SVN: r126861
      Jan Hubicka committed
    • tree-data-ref.c (find_vertex_for_stmt, [...]): New. · 3a796c6f
      	* tree-data-ref.c (find_vertex_for_stmt, create_rdg_edge_for_ddr,
      	create_rdg_edges_for_scalar, create_rdg_edges, create_rdg_vertices,
      	stmts_from_loop, known_dependences_p, build_rdg): New.
      	* tree-data-ref.h: Depends on graphds.h.
      	(rdg_vertex, RDGV_STMT, rdg_dep_type, rdg_edge, RDGE_TYPE): New.
      	(build_rdg): Declared.
      	* Makefile.in (TREE_DATA_REF_H): Depends on graphds.h.
      
      From-SVN: r126859
      Sebastian Pop committed
    • re PR fortran/25104 ([F2003] Non-initialization expr. as case-selector) · 5ab0eadf
      gcc/fortran:
      2007-07-23  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/25104
      	PR fortran/31639
      	* expr.c (check_transformational): Reject valid transformational
      	intrinsics to avoid ICE.
      	(check_inquiry): Report error for assumed character lengths for
      	all supported standards.
      	(check_init_expr): Whitespace fix.
      
      gcc/testsuite:
      2007-07-23  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/31639
      	* gfortran.dg/initialization_9.f90: New test.
      
      From-SVN: r126858
      Daniel Franke committed
    • tree-ssa-propagate.c (valid_gimple_expression_p): Match up with ccp_min_invariant. · 623b0223
      2007-07-23  Daniel Berlin  <dberlin@dberlin.org>
      
      	* tree-ssa-propagate.c (valid_gimple_expression_p): Match up with
      	ccp_min_invariant.
      
      From-SVN: r126857
      Daniel Berlin committed
    • re PR fortran/32797 ([ISO C Binding] Internal Error: gfc_basic_typename(): Undefined type) · d8fa96e0
      2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
      
              PR fortran/32797
              PR fortran/32800
              * decl.c (verify_bind_c_sym): Use the result symbol for functions
              with a result clause.  Warn if implicitly typed.  Verify the type
              and rank of the SHAPE argument, if given.
              * resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to
              check the actual args against the formal, sorting them if
              necessary.
              * symbol.c (gen_shape_param): Initialize type of SHAPE param to
              BT_VOID.
      
      2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
      
              PR fortran/32797
              PR fortran/32800
              * gfortran.dg/bind_c_usage_8.f03: New test case.
              * gfortran.dg/c_f_pointer_tests_2.f03: Ditto.
              * gfortran.dg/c_ptr_tests_5.f03: Updated expected error message.
      
      From-SVN: r126856
      Christopher D. Rickett committed
    • argv.c (writeargv): Fix typo in inline documentation. · f4e00f44
      * argv.c (writeargv): Fix typo in inline documentation.
      * functions.texi: Regenerate.
      
      From-SVN: r126855
      DJ Delorie committed
    • PR middle-end/PR28690 · 7e0b4eae
      	PR middle-end/PR28690
      	* optabs.c (expand_binop): (emit_cmp_and_jump_insns): Allow EQ compares.
      	* rtlanal.c (commutative_operand_precedence): Prefer both REG_POINTER
      	and MEM_POINTER operands over REG and MEM operands.
      	(swap_commutative_operands_p): Change return value to bool.
      	* rtl.h: Update the corresponding prototype.
      	* tree-ssa-address.c (gen_addr_rtx): Use simplify_gen_binary
      	instead of gen_rtx_PLUS.
      	* simplify-rtx.c (simplify_plus_minus_op_data_cmp): Change return
      	value to bool.  Change function arguments to rtx's and update code
      	to match.
      	(simplify_plus_minus): Update the simplify_plus_minus_op_data_cmp
      	calls to match the new declaration.
      	* simplify-rtx.c (simplify_associative_operation): Don't
      	reorder simplify_binary_operation arguments.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r126852
      Peter Bergner committed
    • configure.ac (mips-sgi-irix6*): Override SYSTEMSPEC. · de2b3a07
      	* configure.ac (mips-sgi-irix6*): Override SYSTEMSPEC.
      	* configure: Regenerate.
      
      From-SVN: r126847
      Rainer Orth committed
    • mips.c (override_options): Use mips_costs to derive the default branch cost. · a05bea76
      gcc/
      	* config/mips/mips.c (override_options): Use mips_costs to derive
      	the default branch cost.
      	* config/mips/mips.h (BRANCH_COST): Use mips_branch_cost rather
      	than mips_costs.
      	* config/mips/mips.opt (mbranch-cost=): New option.
      	* doc/invoke.texi (-mbrach-cost): Document new MIPS option.
      
      gcc/testsuite/
      	* gcc.target/mips/branch-cost-1.c: New test.
      	* gcc.target/mips/branch-cost-2.c: Likewise.
      
      From-SVN: r126846
      Richard Sandiford committed
    • Fix last changelog. · fae4095f
      From-SVN: r126845
      Richard Sandiford committed
    • mips.h (GR_REG_CLASS_P, [...]): Delete. · fe3465d1
      gcc/
      	* config/mips/mips.h (GR_REG_CLASS_P, COP_REG_CLASS_P): Delete.
      	(SECONDARY_MEMORY_NEEDED): Delete commented-out definition.
      	* config/mips/mips.c (mips_init_libfuncs): Use reg_class_subset_p
      	instead of GR_REG_CLASS_P and COP_REG_CLASS_P.
      
      From-SVN: r126844
      Richard Sandiford committed
    • Fix last changelog. · 2b656cfd
      From-SVN: r126843
      Richard Sandiford committed
    • constraints.md (ks): New constraint. · f348741d
      gcc/
      	* config/mips/constraints.md (ks): New constraint.
      	* config/mips/mips.md (*add<mode>3_sp1, *add<mode>3_sp2): Fold into...
      	(*add<mode>3_mips16): ...here and fix their length calculations.
      
      From-SVN: r126842
      Richard Sandiford committed
    • re PR fortran/32732 ([Bind C] Character scalars are passed as arrays) · 8b16d231
      2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
      
             PR fortran/32732
             * trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by
             value character dummy args of BIND(C) procedures.
             * trans-expr.c (gfc_conv_variable): Do not build address
             expression for BT_CHARACTER dummy args.
      
      2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
      
             PR fortran/32732
             * gfortran.dg/c_char_tests.f03: New test case.
             * gfortran.dg/c_char_driver.c: Driver for c_char_tests.f03.
             * gfortran.dg/c_char_tests_2.f03: New test case.
             * gfortran.dg/value_6.f03: Ditto.
             * gfortran.dg/value_7.f03: Ditto.
      
      From-SVN: r126836
      Christopher D. Rickett committed
    • re PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function) · 089db47d
      2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
      	    Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/32600
      	* trans-expr.c (gfc_conv_function_call): Handle c_funloc.
      	* trans-types.c: Add pfunc_type_node.
      	(gfc_init_types,gfc_typenode_for_spec): Use it.
      	* resolve.c (gfc_iso_c_func_interface): Fix whitespace and
      	improve error message.
      
      2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
      
      	PR fortran/32600
      	* intrinsics/iso_c_binding.c (c_funloc): Remove.
      	* intrinsics/iso_c_binding.h: Remove c_funloc.
      	* gfortran.map: Ditto.
      
      2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
      
      	PR fortran/32600
      	* gfortran.dg/c_funloc_tests_5.f03: New.
      	* gfortran.dg/c_funloc_tests_5.f04: New.
      	* gfortran.dg/c_funloc_tests_4_driver.c: New.
      
      
      Co-Authored-By: Tobias Burnus <burnus@net-b.de>
      
      From-SVN: r126835
      Christopher D. Rickett committed
    • read.c (convert_real): Generate error only on EINVAL. · db75c37a
      2007-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	* io/read.c (convert_real): Generate error only on EINVAL.
      
      From-SVN: r126834
      Jerry DeLisle committed
    • Daily bump. · b92dddf0
      From-SVN: r126832
      GCC Administrator committed
  3. 22 Jul, 2007 7 commits
    • re PR c++/32839 (internal compiler error: Segmentation fault (templates)) · 823c22f9
      cp/
      	PR c++/32839
      	* typeck.c (convert_arguments): Only use default args if we have
      	a function decl.
      
      testsuite/
      	PR c++/32839
      	* g++.dg/expr/call4.C: New.
      	* g++.dg/expr/call5.C: New.
      
      From-SVN: r126829
      Nathan Sidwell committed
    • re PR fortran/32710 (ICE: namelist and subroutine with the same name) · eec14ce5
      gcc/fortran:
      2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/32710
      	* parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if
      	the current is a namelist.
      
      gcc/testsuite:
      2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/32710
      	* gfortran.dg/namelist_30.f90: New test.
      
      From-SVN: r126828
      Daniel Franke committed
    • ChangeLogs for r126826. · 26677eb8
      From-SVN: r126827
      Daniel Franke committed
    • re PR fortran/29962 (Initialization expressions) · e1633d82
      gcc/fortran:
      2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/29962
      	PR fortran/31253
      	PR fortran/31265
      	PR fortran/31639
      	* gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure,
      	generic, specific, actual_ok, noreturn into bits of a bitfield, 
      	added bits for inquiry, transformational, conversion.
      	* check.c (non_init_transformational): Removed, removed all callers.
      	* intrinsic.c (enum class): New.
      	(add_sym*): Replaced argument elemetal by enum class. Changed all
      	callers.
      	(add_functions): Assign appropriate classes to intrinsic functions.
      	(add_subroutines): Assign appropriate classes to intrinsic subroutines.
      	(add_conv): Set conversion attribute.
      	(gfc_init_expr_extensions): Removed, removed all callers.
      	(gfc_intrinsic_func_interface): Reimplemented check for non-standard
      	initializatione expressions.
      	* expr.c (check_specification_function): New.
      	(gfc_is_constant_expr): Added check for specification functions.
      	(check_init_expr_arguments): New.
      	(check_inquiry): Changed return value to MATCH, added checks for
      	inquiry functions defined by F2003.
      	(check_transformational): New.
      	(check_null): New.
      	(check_elemental): New.
      	(check_conversion): New.
      	(check_init_expr): Call new check functions, add more specific error
      	messages.
      
      gcc/testsuite:
      2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/29962
      	* gfortran.dg/array_initializer_1.f90: Removed warning.
      	* gfortran.dg/initialization_1.f90: Adjusted messages.
      	* gfortran.dg/nested_modules_6.f90: Removed warning.
      
      	PR fortran/31253
      	* gfortran.dg/initialization_7.f90: New test.
      
      	PR fortran/31639
      	* gfortran.dg/initialization_8.f90: New test.
      
      From-SVN: r126826
      Daniel Franke committed
    • re PR c++/30818 (templates and typedefs cause function prototype not to match) · 4195a767
      cp/
      	PR c++/30818
      	* typeck.c (structural_comptypes): No need to check
      	resolve_typename_type return value here.
      	* cp-tree.h (TYPENAME_IS_RESOLVING_P): New.
      	* pt.c (resolve_typename_type): Follow typename typedefs.  Return
      	original type rather than error_mark_node in case of failure.
      	* parser.c (cp_parser_nested_name_specifier_opt): Adjust
      	resolve_typename_type result check.
      	(cp_parser_direct_declarator, cp_parser_head,
      	cp_parser_constructor_declarator_p): Likewise.
      
      testsuite/
      	PR c++/30818
      	* g++.dg/template/crash47.C: Adjust errors.
      	* g++.dg/template/crash48.C: Adjust errors.
      	* g++.dg/template/typename12.C: New.
      	* g++.dg/template/typename13.C: New.
      	* g++.dg/template/typename14.C: New.
      	* g++.dg/template/typedef6.C: Adjust errors.
      
      From-SVN: r126825
      Nathan Sidwell committed
    • Add missing ChangeLog entry. · 7e24f16c
      From-SVN: r126824
      H.J. Lu committed
    • Daily bump. · 83dc3db9
      From-SVN: r126820
      GCC Administrator committed
  4. 21 Jul, 2007 8 commits
    • re PR fortran/32627 ([ISO Bind C] Accept c_f_pointer for TYPE) · 6ad5cf72
      2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
      
              PR fortran/32627
              * resolve.c (set_name_and_label): Set kind number for character
              version of c_f_pointer.
              (gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to
              that of the actual SHAPE arg.
              * symbol.c (gen_shape_param): Initialize kind for SHAPE arg.
      
      2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
      
              PR fortran/32627
              * libgfortran/intrinsics/iso_c_generated_procs.c: Add c_f_pointer
              for character/string arguments.
              * libgfortran/intrinsic/iso_c_binding.c (c_f_pointer_u0): Allow
              the optional SHAPE arg to be any valid integer kind.
              * libgfortran/gfortran.map: Add c_f_pointer_s0.
              * libgfortran/mk-kinds-h.sh: Save smallest integer kind as default
              character kind.
              * libgfortran/intrinsics/iso_c_generated_procs.c: Add versions of
              c_f_pointer for complex and logical types.
              * libgfortran/gfortran.map: Add c_f_pointer versions for logical
              and complex types.
      
      2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
      
              PR fortran/32627
              * gfortran.dg/pr32627_driver.c: Driver for pr32627.
              * gfortran.dg/pr32627.f03: New test case.
              * gfortran.dg/c_f_pointer_logical.f03: New test case.
              * gfortran.dg/c_f_pointer_logical_driver.c: Driver for
              c_f_pointer_logical.
              * gfortran.dg/c_f_pointer_complex_driver.c: Driver for
              c_f_pointer_complex.
              * gfortran.dg/c_f_pointer_complex.f03: New test case.
              * gfortran.dg/c_f_pointer_shape_tests_2_driver.c: Driver for
              c_f_pointer_shape_tests_2.
              * gfortran.dg/c_f_pointer_shape_tests_2.f03: New test case.
      
      From-SVN: r126817
      Christopher D. Rickett committed
    • * genopinit.c (optabs): Missed commit from my previous commit. · 8e4c6d88
      From-SVN: r126814
      Uros Bizjak committed
    • optabs.h (enum optab_index): Add new OTI_signbit. · d0c9d431
              * optabs.h (enum optab_index): Add new OTI_signbit.
              (signbit_optab): Define corresponding macro.
              (enum insn_code signbit_optab[]): Remove array.
              * optabs.c (init_optabs): Initialize signbit_optab using init_optab.
              (expand_copysign_absneg): If back end provides signbit insn, use it
              instead of bit operations on floating point argument.
              * builtins.c (enum insn_code signbit_optab[]): Remove array.
              (expand_builtin_signbit): Check signbit_optab->handlers[].insn_code for
              availability of signbit insn.
      
              * config/i386/i386.md (signbit<mode>2): New insn pattern to implement
              signbitf, signbit and signbitl built-ins as inline x87 intrinsics when
              SSE mode is not active.
              (isinf<mode>2): Disable for mfpmath=sse,387.
      
      From-SVN: r126813
      Uros Bizjak committed
    • re PR fortran/32801 (USE of ISO_C_BINDING, ONLY: C_LOC causes compiler seg fault) · 21a77227
      2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
      
              PR fortran/32801
              * symbol.c (generate_isocbinding_symbol): Remove unnecessary
              conditional.
      
              PR fortran/32804
              * resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and
              deferred-shape arrays as args to C_LOC.  Fix bug in testing
              character args to C_LOC.
      
      2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
      
              PR fortran/32804
              * gfortran.dg/c_loc_tests_9.f03: New test case.
              * gfortran.dg/c_loc_tests_10.f03: Ditto.
      
      From-SVN: r126812
      Christopher D. Rickett committed
    • regclass.c (invalid_mode_change_p): Attach ATTRIBUTE_UNUSED to `class' parameter. · d3960cf4
      	* regclass.c (invalid_mode_change_p): Attach ATTRIBUTE_UNUSED to
      	`class' parameter.
      	* struct-equiv.c (note_local_live): Likewise for `y_regno'.
      
      From-SVN: r126811
      Ben Elliston committed
    • re PR fortran/32823 (internal compiler error: in gfc_trans_assignment_1) · ffd82975
              PR fortran/32823
              * trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all
              arguments passed, not just the first one. Adjust code to refer
              to "args[0]" instead of "arg" as a result.
      
              * gfortran.dg/int_2.f90: New test.
      
      From-SVN: r126810
      Lee Millward committed
    • Daily bump. · a2c996f3
      From-SVN: r126807
      GCC Administrator committed
  5. 20 Jul, 2007 6 commits
    • tree-cfg.c (verify_expr): COND_EXPRs can have any integral typed condition. · d40055ab
      2007-07-20  Richard Guenther  <rguenther@suse.de>
      
      	* tree-cfg.c (verify_expr): COND_EXPRs can have any
      	integral typed condition.
      	* tree-ssa.c (useless_type_conversion_p): Do not preserve
      	booleanness.  Only preserve conversions from a non-base
      	type to a base type, not in general between types with
      	different TYPE_MIN_VALUE or TYPE_MAX_VALUE.
      	* tree.def (COND_EXPR): Document that the condition
      	can be of any integral type.
      
      From-SVN: r126804
      Richard Guenther committed
    • mips.exp (is_gp32_flag): Return true for -msmartmips. · 4d40a94f
      gcc/testsuite/
      	* gcc.target/mips/mips.exp (is_gp32_flag): Return true for -msmartmips.
      	* gcc.target/mips/save-restore-5.c: Fix positioning of dg-do directive.
      
      From-SVN: r126802
      Richard Sandiford committed
    • mips.h (mips_dwarf_regno): Declare. · 48156a39
      gcc/
      2007-07-20  Nigel Stephens  <nigel@mips.com>
      	    Richard Sandiford  <richard@codesourcery.com>
      
      	* config/mips/mips.h (mips_dwarf_regno): Declare.
      	(DBX_REGISTER_NUMBER): Remove redundant brackets.
      	(HI_REGNUM, LO_REGNUM): Define in an endian-dependent way.
      	(AC1HI_REGNUM, AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM)
      	(AC3HI_REGNUM, AC3LO_REGNUM, ACC_HI_REG_P): Delete.
      	(reg_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
      	(REG_CLASS_NAMES): Update accordingly.
      	* config/mips/mips.c (mips_dwarf_regno): New array.
      	(mips_regno_to_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
      	(mips_subword): Remove special handling for accumulator registers.
      	(override_options): Initiailize mips_dwarf_regno.  Remove use
      	of ACC_HI_REG_P.
      	(mips_swap_registers): New function.
      	(mips_conditional_register_usage): Swap accumulator registers
      	around if TARGET_LITTLE_ENDIAN.
      	(mips_cannot_change_mode_class): Remove special treatment of ACC_REGS.
      	* config/mips/constraints.md (h, l): Use the endianness to choose
      	between MD0_REG and MD1_REG.
      	* config/mips/mips.md (*mfhilo_<mode>_macc): Use a fixed-string,
      	alternative-dependent template.
      
      Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
      
      From-SVN: r126801
      Nigel Stephens committed
    • re PR tree-optimization/19910 (ICE with -ftree-loop-linear) · b644e061
      	PR tree-optimization/19910
      	* gcc.dg/pr19910.c: New test.
      
      From-SVN: r126799
      Uros Bizjak committed
    • arm.md (movsi): Use can_create_pseudo_p instead of no_new_pseudos. · 08a576fb
      gcc/
      	* config/arm/arm.md (movsi): Use can_create_pseudo_p instead of
      	no_new_pseudos.
      
      From-SVN: r126798
      Richard Sandiford committed
    • function.c (thread_prologue_and_epilogue_insns): Fix exit predecessor fallthru flags. · 30a873c3
      	* function.c (thread_prologue_and_epilogue_insns): Fix exit
      	predecessor fallthru flags.
      
      From-SVN: r126797
      Zdenek Dvorak committed