1. 04 Jul, 2009 2 commits
  2. 02 Jul, 2009 1 commit
    • matz's avatar
      fortran/ · f19c25b8
      matz authored
              PR fortran/32131
              * trans-array.c (gfc_conv_descriptor_stride_get): Return
              constant one for strides in the first dimension of ALLOCATABLE
              arrays.
      
      testsuite/
              PR fortran/32131
              * gfortran.dg/pr32921.f: Adjust.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149178 138bc75d-0d04-0410-961f-82ee72b054a4
      f19c25b8
  3. 30 Jun, 2009 1 commit
  4. 29 Jun, 2009 2 commits
    • burnus's avatar
      2009-06-29 Tobias Burnus <burnus@net-b.de> · 91cf6ba3
      burnus authored
              PR fortran/40580
              * trans-expr.c  (gfc_conv_procedure_call): Add -fcheck=pointer
              * check.
              * libgfortran.h: Add GFC_RTCHECK_POINTER.
              * invoke.texi (-fcheck): Document new pointer option.
              * options.c (gfc_handle_runtime_check_option): Handle pointer
              * option.
      
              * gfortran.texi (C Binding): Improve wording.
              * iso-c-binding.def: Remove obsolete comment.
      
      
      2009-06-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/40580
              * pointer_check_1.f90: New test.
              * pointer_check_2.f90: New test.
              * pointer_check_3.f90: New test.
              * pointer_check_4.f90: New test.
              * pointer_check_5.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149063 138bc75d-0d04-0410-961f-82ee72b054a4
      91cf6ba3
    • pault's avatar
      2009-06-29 Paul Thomas <pault@gcc.gnu.org> · 8d60cc46
      pault authored
      	PR fortran/40551
      	* dependency.h : Add second bool* argument to prototype of
      	gfc_full_array_ref_p.
      	* dependency.c (gfc_full_array_ref_p): If second argument is
      	present, return true if last dimension of reference is an
      	element or has unity stride.
      	* trans-array.c : Add NULL second argument to references to
      	gfc_full_array_ref_p.
      	* trans-expr.c : The same, except for;
      	(gfc_trans_arrayfunc_assign): Return fail if lhs reference
      	is not a full array or a contiguous section.
      
      2009-06-29  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/40551
      	* gfortran.dg/func_assign_2.f90 : New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149062 138bc75d-0d04-0410-961f-82ee72b054a4
      8d60cc46
  5. 28 Jun, 2009 2 commits
    • burnus's avatar
      2009-06-28 Tobias Burnus <burnus@net-b.de> · 36b0a1b0
      burnus authored
      	    Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
      
      	PR fortran/34112
      	* symbol.c (gfc_add_ext_attribute): New function.
      	(gfc_get_sym_tree): New argument allow_subroutine.
      	(gfc_get_symbol,gfc_get_ha_sym_tree,gen_cptr_param,gen_fptr_param
      	gen_shape_param,generate_isocbinding_symbol): Use it.
      	* decl.c (find_special): New argument allow_subroutine.
      	(add_init_expr_to_sym,add_hidden_procptr_result,attr_decl1,
      	match_procedure_in_type,gfc_match_final_decl): Use it.
      	(gfc_match_gcc_attributes): New function.
      	* gfortran.texi (Mixed-Language Programming): New section
      	"GNU Fortran Compiler Directives".
      	* gfortran.h (ext_attr_t): New struct.
      	(symbol_attributes): Use it.
      	(gfc_add_ext_attribute): New prototype.
      	(gfc_get_sym_tree): Update pototype.
      	* expr.c (gfc_check_pointer_assign): Check whether call
      	convention is the same.
      	* module.c (import_iso_c_binding_module, create_int_parameter,
      	use_iso_fortran_env_module): Update gfc_get_sym_tree call.
      	* scanner.c (skip_gcc_attribute): New function.
      	(skip_free_comments,skip_fixed_comments): Use it.
      	(gfc_next_char_literal): Support !GCC$ lines.
      	* resolve.c (check_host_association): Update
      	gfc_get_sym_tree call.
      	* match.c (gfc_match_sym_tree,gfc_match_call): Update
      	gfc_get_sym_tree call.
      	* trans-decl.c (add_attributes_to_decl): New function.
      	(gfc_get_symbol_decl,get_proc_pointer_decl,
      	gfc_get_extern_function_decl,build_function_decl: Use it.
      	* match.h (gfc_match_gcc_attributes): Add prototype.
      	* parse.c (decode_gcc_attribute): New function.
      	(next_free,next_fixed): Support !GCC$ lines.
      	* primary.c (match_actual_arg,check_for_implicit_index,
      	gfc_match_rvalue,gfc_match_rvalue): Update
      	gfc_get_sym_tree call.
      
      2009-06-28  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/34112
      	* gfortran.dg/compiler-directive_1.f90: New test.
      	* gfortran.dg/compiler-directive_2.f: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149036 138bc75d-0d04-0410-961f-82ee72b054a4
      36b0a1b0
    • ghazi's avatar
      gcc/fortran: · be262ab5
      ghazi authored
      	* gfortran.h: Define HAVE_mpc_pow.
      	* arith.c (complex_reciprocal, complex_pow): If HAVE_mpc_pow,
      	don't define these functions.
      	(arith_power): If HAVE_mpc_pow, use mpc_pow.
      
      gcc/testsuite:
      	* gfortran.dg/integer_exponentiation_4.f90: Temporarily
      	comment out some values and add some cases.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149023 138bc75d-0d04-0410-961f-82ee72b054a4
      be262ab5
  6. 26 Jun, 2009 1 commit
    • janus's avatar
      2009-06-26 Janus Weil <janus@gcc.gnu.org> · e40ac2fe
      janus authored
      	PR fortran/39997
      	PR fortran/40541
      	* decl.c (add_hidden_procptr_result): Copy the typespec to the hidden
      	result.
      	* expr.c (gfc_check_pointer_assign): Enable interface check for
      	procedure pointer assignments where the rhs is a function returning a
      	procedure pointer.
      	* resolve.c (resolve_symbol): If an external procedure with unspecified
      	return type can not be implicitly typed, it must be a subroutine.
      
      
      2009-06-26  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/39997
      	PR fortran/40541
      	* gfortran.dg/proc_ptr_15.f90: Fixed and extended.
      	* gfortran.dg/proc_ptr_common_1.f90: Fixed invalid test case.
      	* gfortran.dg/proc_ptr_result_1.f90: Ditto.
      	* gfortran.dg/proc_ptr_result_5.f90: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148996 138bc75d-0d04-0410-961f-82ee72b054a4
      e40ac2fe
  7. 24 Jun, 2009 1 commit
    • janus's avatar
      2009-06-24 Janus Weil <janus@gcc.gnu.org> · a84cb1a9
      janus authored
      	PR fortran/40427
      	* gfortran.h (gfc_component): New member 'formal_ns'.
      	(gfc_copy_formal_args_ppc,void gfc_ppc_use): New.
      	* interface.c (gfc_ppc_use): New function, analogous to
      	gfc_procedure_use, but for procedure pointer components.
      	* module.c (MOD_VERSION): Bump module version.
      	(mio_component): Treat formal arguments.
      	(mio_formal_arglist): Changed argument from gfc_symbol to
      	gfc_formal_arglist.
      	(mio_symbol): Changed argument of mio_formal_arglist.
      	* resolve.c (resolve_ppc_call,resolve_expr_ppc): Call gfc_ppc_use,
      	to check actual arguments and treat formal args correctly.
      	(resolve_fl_derived): Copy formal args of procedure pointer components
      	from their interface.
      	* symbol.c (gfc_copy_formal_args_ppc): New function, analogous to
      	gfc_copy_formal_args, but for procedure pointer components.
      
      
      2009-06-24  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/40427
      	* gfortran.dg/proc_ptr_comp_11.f90: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148906 138bc75d-0d04-0410-961f-82ee72b054a4
      a84cb1a9
  8. 22 Jun, 2009 5 commits
  9. 21 Jun, 2009 1 commit
    • janus's avatar
      2009-06-21 Janus Weil <janus@gcc.gnu.org> · 2fe3057a
      janus authored
      	PR fortran/39850
      	* interface.c (gfc_compare_interfaces): Take care of implicit typing
      	when checking the function attribute. Plus another bugfix.
      	(compare_parameter): Set attr.function and attr.subroutine according
      	to the usage of a procedure as actual argument.
      
      
      2009-06-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/39850
      	* gfortran.dg/interface_19.f90: Add 'cleanup-modules'.
      	* gfortran.dg/interface_20.f90: Ditto.
      	* gfortran.dg/interface_21.f90: Ditto.
      	* gfortran.dg/interface_22.f90: Ditto.
      	* gfortran.dg/interface_30.f90: New.
      	* gfortran.dg/proc_ptr_11.f90: Fix invalid test case.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148767 138bc75d-0d04-0410-961f-82ee72b054a4
      2fe3057a
  10. 20 Jun, 2009 1 commit
  11. 19 Jun, 2009 4 commits
  12. 18 Jun, 2009 1 commit
    • janus's avatar
      2009-06-18 Janus Weil <janus@gcc.gnu.org> · 969eb27f
      janus authored
      	PR fortran/40451
      	* resolve.c (resolve_contained_fntype): Prevent implicit typing for
      	procedures with explicit interface.
      	* symbol.c (gfc_check_function_type): Ditto.
      
      2009-06-18  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/40451
      	* gfortran.dg/proc_ptr_result_4.f90: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148652 138bc75d-0d04-0410-961f-82ee72b054a4
      969eb27f
  13. 17 Jun, 2009 1 commit
  14. 16 Jun, 2009 2 commits
    • janus's avatar
      2009-06-16 Janus Weil <janus@gcc.gnu.org> · f92aa4d8
      janus authored
      	PR fortran/36947
      	PR fortran/40039
      	* expr.c (gfc_check_pointer_assign): Call 'gfc_compare_interfaces' with
      	error message.
      	* gfortran.h (gfc_compare_interfaces): Additional argument.
      	* interface.c (operator_correspondence): Removed.
      	(gfc_compare_interfaces): Additional argument to return error message.
      	Directly use the code from 'operator_correspondence' instead of calling
      	the function. Check for OPTIONAL. Some rearrangements.
      	(check_interface1): Call 'gfc_compare_interfaces' without error message.
      	(compare_parameter): Call 'gfc_compare_interfaces' with error message.
      	* resolve.c (check_generic_tbp_ambiguity): Call 'gfc_compare_interfaces'
      	without error message.
      
      
      2009-06-16  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/36947
      	PR fortran/40039
      	* gfortran.dg/dummy_procedure_1.f90: Extended test case.
      	* gfortran.dg/interface_20.f90: Modified error messages.
      	* gfortran.dg/interface_21.f90: Ditto.
      	* gfortran.dg/interface_26.f90: Ditto.
      	* gfortran.dg/interface_27.f90: Ditto.
      	* gfortran.dg/interface_28.f90: Extended test case.
      	* gfortran.dg/interface_29.f90: New.
      	* gfortran.dg/proc_decl_7.f90: Modified error messages.
      	* gfortran.dg/proc_decl_8.f90: Ditto.
      	* gfortran.dg/proc_ptr_11.f90: Ditto.
      	* gfortran.dg/proc_ptr_15.f90: Ditto.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148519 138bc75d-0d04-0410-961f-82ee72b054a4
      f92aa4d8
    • burnus's avatar
      2009-06-16 Tobias Burnus <burnus@net-b.de> · 6be7c32c
      burnus authored
              PR fortran/40383
              * trans-decl.c (create_function_arglist): Copy formal charlist
              * to
              have a proper passed_length for -fcheck=bounds.
      
      2009-06-16  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/40383
              * gfortran.dg/bounds_check_strlen_8.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148517 138bc75d-0d04-0410-961f-82ee72b054a4
      6be7c32c
  15. 12 Jun, 2009 4 commits
    • kargl's avatar
      Add ChangeLog forgotten during my previous commit. · d836e284
      kargl authored
      2009-06-12  Steven G. Kargl  <kargls@comcast.net>
      
      	* arith.c (gfc_enum_initializer): Move function ...
      	* decl.c: ... here.  Remove gfc_ prefix and make static.
      	(enumerator_decl): Update function call.
      	* gfortran.h: Wrap long line.  Remove gfc_enum_initializer
      	prototype.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148443 138bc75d-0d04-0410-961f-82ee72b054a4
      d836e284
    • aldyh's avatar
      gcc/java/ · e60a6f7b
      aldyh authored
      	* java-gimplify.c (java_gimplify_block): New argument to
      	build_empty_stmt.
      	* expr.c (force_evaluation_order): Same.
      	* typeck.c: Add location to build_decl or PUSH_FIELD calls.
      	* class.c: Same.
      	* decl.c: Same.
      	* jcf-parse.c: Same.
      	* constants.c: Same.
      	* resource.c: Same.
      	* except.c: Same.
      	* builtins.c: Same.
      	* expr.c: Same.
      	* java-tree.h (PUSH_FIELD): Add location field.
      gcc/objc/
      	* objc-act.c (finish_var_decl): Pass location to finish_decl.
      	(objc_get_parm_info): Same.
      	(get_super_receiver): Same.
      	* objc-act.c (objc_build_component_ref): Pass location to
      	build_compound_ref.
      	(build_module_initializer_routine): Pass location to
      	c_end_compound_stmt.
      	(objc_generate_static_init_call): Pass location to build_stmt.
      	(build_typed_selector_reference): New location argument.
      	(build_selector_reference): Same.
      	(objc_substitute_decl): Pass location to build_array_ref.
      	(next_sjlj_build_try_catch_finally): Pass location to build_stmt.
      	(objc_begin_catch_clause): Same.
      	(objc_finish_try_stmt): Same.
      	(objc_finish_catch_clause): Pass location to c_end_compound_stmt.
      	(objc_build_throw_stmt): New argument.
      	(generate_shared_structures): Pass location to build_c_cast.
      	(objc_build_message_expr): Use local location.
      	(objc_finish_message_expr): Use input_location.
      	(build_objc_method_call): New argument.
      	(objc_build_selector_expr): Same.
      	(get_super_receiver): Pass location to build_c_cast,
      	build_modify_expr, build_compound_expr.
      	* objc-act.c: Add location to all calls to start_struct, build_decl,
      	finish_struct.
      gcc/
      	* tree-pretty-print.c (dump_generic_node): Dump column numbers.
      	* gimple-pretty-print.c (dump_gimple_stmt): Same.
      	* gimplify.c (gimplify_modify_expr): Set location for GIMPLE_ASSIGNs
      	created.
      	* c-parser.c (c_parser_binary_expression): Use current column while
      	building binary operations.
      	* common.opt (fshow-column): Enable by default.
      	* tree-vrp.c (check_array_ref): Use warning_at.
      	(check_array_bounds): Use location from call back if expr has no
      	location.
      	* tree.h: Add location argument to maybe_fold_*.
      	* tree-ssa-ccp.c (ccp_fold): Pass location to maybe_fold_*.
      	(maybe_fold_offset_to_array_ref): Add location argument and use it.
      	(maybe_fold_offset_to_component_ref): Same.
      	(maybe_fold_offset_to_reference): Same.
      	(maybe_fold_offset_to_address): Same.
      	(maybe_fold_stmt_indirect): Same.
      	(maybe_fold_stmt_addition): Same.
      	(fold_stmt_r): Pass location to maybe_fold_*.
      	(fold_gimple_assign): Same.
      	* c-tree.h: Add location argument to finish_decl,
      	default_function_array_conversion, store_init_value.
      	* c-decl.c (define_label): Use error_at.
      	(c_make_fname_decl): Pass location to finish_decl.
      	(finish_decl): New location argument.
      	(build_compound_literal): Pass location to store_init_value.
      	(grokdeclarator): Pass location to finish_decl.
      	(grokfield): Same.
      	* c-typeck.c (array_to_pointer_conversion): New location argument.
      	(function_to_pointer_conversion): Same.
      	(default_function_array_conversion): Same.
      	(parser_build_unary_op): Pass location to overflow_warning.
      	(parser_build_binary_op): Same.  Use warning_at.
      	(build_unary_op): Pass location to array_to_pointer_conversion.
      	(build_c_cast): Pass location to digest_init.
      	(build_modify_expr): New location argument.
      	(convert_for_assignment): Same.
      	(store_init_value): Same.
      	(digest_init): Same.
      	(output_init_element): Pass location to digest_init and
      	array_to_pointer_conversion.
      	(c_finish_return): Pass location to convert_for_assignment.
      	* gimplify.c (gimplify_conversion): Pass location to
      	maybe_fold_offset_to_address.
      	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Pass location
      	to maybe_fold_stmt_addition.
      	* c-omp.c (c_finish_omp_atomic): Pass new location to
      	build_modify_expr.
      	(c_finish_omp_for): Same.
      	* c-common.c (overflow_warning): New argument.
      	* c-common.h: New argument to build_modify_expr, overflow_warning.
      	* c-parser.c (c_parser_declaration_or_fndef): Pass location to
      	finish_decl.
      	(c_parser_initializer): Pass location to
      	default_function_array_conversion.
      	(c_parser_initelt): Same.
      	(c_parser_initval): Same.
      	(c_parser_asm_operands): Same.
      	(c_parser_expr_no_commas): Same.  Pass location to build_modify_expr.
      	(c_parser_conditional_expression): Same.
      	(c_parser_binary_expression): Add location info to stack.  Use it.
      	(c_parser_unary_expression): Pass location to
      	default_function_array_conversion, parser_build_unary_op,
      	build_indirect_ref, c_parser_postfix_expression_after_primary.
      	(c_parser_postfix_expression_after_primary): New location argument.
      	Use it.
      	(c_parser_expression_conv): Pass location to
      	default_function_array_conversion.
      	(c_parser_expr_list): Same.
      	(c_parser_omp_atomic): Same.
      	(c_parser_omp_for_loop): Same.
      	* c-tree.h: (struct c_declarator): Add comment to id_loc.
      	(build_array_declarator): New argument.
      	* c-decl.c (build_array_declarator): Add location argument.
      	(grokdeclarator): Set id_loc for cdk_array.
      	* c-parser.c (c_parser_direct_declarator_inner): Pass location to
      	build_array_declarator.
      	* tree.c (build_omp_clause): Add location argument.
      	* tree.h (OMP_CLAUSE_HAS_LOCATION): New macro.
      	(OMP_CLAUSE_LOCATION): New macro.
      	(struct tree_omp_clause): Add location field.
      	(build_omp_clause): Add argument.
      	* testsuite/gcc.dg/gomp/for-1.c: Fix column.
      	* cp/pt.c (tsubst_omp_for_iterator): Pass location to
      	build_omp_clause.
      	* cp/parser.c (cp_parser_omp_var_list_no_open): Same.
      	(cp_parser_omp_clause_collapse): Same.
      	(cp_parser_omp_clause_default): Same.
      	(cp_parser_omp_clause_if): Same.
      	(cp_parser_omp_clause_nowait): Same.
      	(cp_parser_omp_clause_num_threads): Same.
      	(cp_parser_omp_clause_ordered): Same.
      	(cp_parser_omp_clause_schedule): Same.
      	(cp_parser_omp_clause_untied): Same.
      	(cp_parser_omp_for_loop): Same.
      	(cp_parser_omp_parallel): Pass location to c_split_parallel_clauses.
      	* c-tree.h (c_start_case): Add location argument.
      	(c_process_expr_stmt): Same.
      	(c_finish_goto_*): Same.
      	* tree-parloops.c (initialize_reductions): Pass location to
      	build_omp_clause.
      	(create_parallel_loop): Same.
      	* fortran/trans-openmp.c (gfc_trans_omp_variable_list): Same.
      	(gfc_trans_omp_reduction_list): Same.
      	(gfc_trans_omp_clauses): Same.
      	(gfc_trans_omp_do): Same.
      	* c-typeck.c (c_finish_goto_label): Same.
      	(c_finish_goto_ptr): New location argument.
      	(c_start_case): Same.
      	(emit_side_effect_warnings): Same.
      	(c_process_expr_stmt): Same.
      	(c_finish_stmt_expr): Same.
      	(c_finish_omp_clauses): Use error_at instead of error.
      	* gimplify.c (gimplify_adjust_omp_clauses_1): Pass location to
      	build_omp_clause.
      	* c-omp.c (c_split_parallel_clauses): New location argument.
      	* tree-nested.c (convert_nonlocal_reference_stmt): Pass location
      	to build_omp_clause.
      	(convert_local_reference_stmt): Same.
      	(convert_gimple_call): Same.
      	* c-common.h (c_split_parallel_clauses): New argument.
      	* c-parser.c (c_parser_statement_after_labels): Pass location to
      	c_finish_goto_label.
      	(c_parser_switch_statement): Pass location to c_start_case.
      	(c_parser_for_statement): Pass location to c_finish_expr_stmt,
      	and c_process_expr_stmt.
      	(c_parser_omp_variable_list): Add location argument.
      	(c_parser_omp_clause_collapse): Pass location to
      	build_omp_clause.
      	(c_parser_omp_clause_default): Same.
      	(c_parser_omp_clause_if): Same.
      	(c_parser_omp_clause_num_threads): Same.
      	(-c_parser_omp_clause_ordered): Same.
      	(c_parser_omp_clause_reduction): Pass location to
      	c_parser_omp_variable_list.
      	(c_parser_omp_clause_schedule): Pass location to build_omp_clause.
      	(c_parser_omp_clause_untied): Same.
      	(c_parser_omp_for_loop): Pass location to c_process_expr_stmt.
      	(c_parser_omp_parallel): Pass location to
      	c_split_parallel_clauses.
      	* c-tree.h (check_for_loop_decls, undeclared_variable,
      	build_component_ref, build_array_ref, build_external_ref,
      	c_expr_sizeof_expr, c_expr_sizeof_type, parser_build_unary_op,
      	build_conditional_expr, build_compound_expr, c_cast_expr,
      	build_c_cast, build_asm_expr, c_end_compound_stmt, c_finish_stmt_expr,
      	c_finish_return, c_finish_omp_parallel, c_finish_omp_task): New
      	argument.
      	* c-semantics.c (build_stmt): Same.
      	(build_case_label): Same.
      	* c-decl.c (c_finish_incomplete_decl): Pass location on down.
      	(undeclared_variable): New argument.
      	(make_label): Same.
      	(lookup_label): Pass location on down.
      	(define_label): Same.
      	(finish_decl): Same.
      	(build_compound_literal): Same.
      	(finish_struct): Same.
      	(finish_function): Do not set location here.
      	(check_for_loop_decls): New argument.
      	* tree.c (save_expr): Set location.
      	(build_empty_stmt): New argument.
      	* tree.h (build_empty_stmt): New argument to build_empty_stmt.
      	(CAN_HAVE_LOCATION_P): Make sure we have a non empty node.
      	* builtins.c (gimplify_va_arg_expr): Use locations.
      	(expand_builtin_sync_operation): Same.
      	* c-typeck.c (build_component_ref): New argument.
      	(build_array_ref): Same.
      	(build_external_ref): Same.
      	(c_expr_sizeof_expr): Same.
      	(c_expr_sizeof_type): Same.
      	(parser_build_unary_op): Same.
      	(build_conditional_expr): Same.
      	(build_compound_expr): Pass location on down.
      	(build_compound_expr): New argument.
      	(build_c_cast): Same.
      	(c_cast_expr): Same.
      	(build_asm_expr): Same.
      	(c_finish_return): Same.
      	(c_process_expr_stmt): Pass location on down.
      	(c_finish_stmt_expr): New argument.
      	(push_clenaup): Same.
      	(c_finish_omp_parallel): Same.
      	(c_finish_omp_task): Same.
      	* gimplify.c (gimplify_call_expr): Pass location on down.
      	* c-omp.c (c_finish_omp_master): New argument.
      	(c_finish_omp_critical): Same.
      	(c_finish_omp_ordered): Same.
      	(c_finish_omp_barrier): Same.
      	(-c_finish_omp_taskwait): Same.
      	(c_finish_omp_atomic): Same.
      	(c_finish_omp_flush): Same.
      	* tree-inline.c (copy_tree_body_r): Pass location on down.
      	(inline_forbidden_p): Remove use of input_location.
      	* c-gimplify.c (c_build_bind_expr): New argument.
      	* c-common.c (c_common_truthvalue_conversion): Pass location on down.
      	(c_sizeof_or_alignof_type): New argument.
      	(c_alignof_expr): Same.
      	(build_va_arg): Same.
      	(c_add_case_label): Same.
      	* c-common.h (c_sizeof_or_alignof_type, c_alignof_expr,
      	c_sizeof, c_alignof, build_va_arg, build_stmt, build_case_label,
      	c_build_bind_expr, objc_build_selector_expr, objc_build_throw_stmt,
      	c_finish_omp_master, c_finish_omp_critical, c_finish_omp_ordered,
      	c_finish_omp_barrier, c_finish_omp_atomic, c_finish_omp_flush,
      	c_finish_omp_taskwait, c_finish_omp_for, c_split_parallel_clauses):
      	New argument.
      	* stub-objc.c (objc_build_selector_expr): Same.
      	(objc_build_throw_stmt): Same.
      	* c-parser.c (c_parser_declaration_or_fndef): Pass location on down.
      	(c_parser_initelt): Same.
      	(c_parser_compound_statement): Same.
      	(c_parser_compound_statement_nostart): Same.
      	(c_parser_label): Same.
      	(c_parser_statement_after_labels): Same.
      	(c_parser_if_body): Same.
      	(c_parser_else_body): Same.
      	(c_parser_if_statement): Same.
      	(c_parser_switch_statement): Same.
      	(c_parser_while_statement): Same.
      	(c_parser_do_statement): Same.
      	(c_parser_for_statement): Same.
      	(c_parser_asm_statement): Same.
      	(c_parser_conditional_expression): Same.
      	(c_parser_binary_expression): Same.
      	(c_parser_cast_expression): Same.
      	(c_parser_unary_expression): Same.
      	(c_parser_sizeof_expression): Same.
      	(c_parser_alignof_expression): Same.
      	(c_parser_postfix_expression): Same.
      	(c_parser_expression): Same.
      	(c_parser_objc_receiver): Same.
      	(c_parser_omp_variable_list): Same.
      	(c_parser_omp_structured_block): Same.
      	(c_parser_omp_atomic): New argument.
      	(c_parser_omp_barrier): Same.
      	(c_parser_omp_critical): Same.
      	(c_parser_omp_flush): Pass location on down.
      	(c_parser_omp_for_loop): New argument.
      	(c_parser_omp_for): Same.
      	(c_parser_omp_master): Same.
      	(c_parser_omp_ordered): Same.
      	(c_parser_omp_sections_scope): Same.
      	(c_parser_omp_sections): Same.
      	(c_parser_omp_parallel): Same.
      	(c_parser_omp_single): Same.
      	(c_parser_omp_task): Same.
      	(c_parser_omp_taskwait): Pass location on down.
      	(c_parser_omp_construct): Same.
      	(c_parser_omp_threadprivate): Same.
      	* dwarf2asm.c, targhooks.c, optabs.c, tree.c, tree.h, target.h,
      	builtins.c, omp-low.c, cgraphunit.c, tree-call-cdce.c,
      	tree-ssa-alias.c, gimple-low.c, c-tree.h, expr.c, tree-parloops.c,
      	c-decl.c, tree-eh.c, langhooks.c, function.c, stor-layout.c,
      	c-typeck.c, gimplify.c, c-pragma.c, expmed.c, except.c, coverage.c,
      	emit-rtl.c, cfgexpand.c, tree-mudflap.c, varasm.c, tree-nested.c,
      	rtl.h, tree-inline.c, tree-profile.c, c-common.c, c-common.h,
      	tree-switch-conversion.c, tree-cfg.c, ipa-struct-reorg.c, c-parser.c,
      	config/i386/i386.c, stmt.c:
      	Add location argument to the following function definitions and/or
      	function calls: build_decl, objcp_start_struct, objcp_finish_struct,
      	start_struct, finish_struct, PUSH_FIELD, create_artificial_label,
      	cp_make_fname_decl, pushtag, implicitly_declare, c_make_fname_decl,
      	build_compound_literal, parser_xref_tag, resolve_overloaded_builtin,
      	do_case, c_finish_bc_stmt, build_compound_literal,
      	build_function_call.
      	* c-decl.c (build_compound_literal): Add location argument.
      	Make all diagnostic calls use location.
      	(start_struct): Same.
      	(finish_struct): Same.
      	(start_enum): Same.
      	(build_enumerator): Same.
      	(start_function): Same.
      	(grokdeclarator): Make all diagnostic calls use location.
      	(store_parm_decls_oldstyle): Same.
      	* c-typeck.c (build_function_call): Add location argument.
      	Make all diagnostic calls use location.
      	(do_case): Same.
      	(c_finish_bc_stmt): Same.
      	* tree-nested.c (get_trampoline_type): Add argument.
      	Pass location to build_decl.
      	(lookup_tramp_for_decl): Pass location to get_trampoline_type.
      	* rtl.h (RTL_LOCATION): New.
      	* c-common.c (c_add_case_label): Add location argument.
      	Make all diagnostic calls use location.
      	* c-common.h: Add location argument to make_fname_decl, do_case,
      	c_add_case_label, build_function_call, resolve_overloaded_builtin.
      	* c-parser.c (c_parser_enum_specifier): Rename ident_loc to enum_loc.
      	Set it appropriately for every case.  Pass enum_loc to start_enum
      	call.  Pass value_loc first to build_enumerator.  Pass enum_loc to
      	parser_xref_tag.
      	(c_parser_struct_or_union_specifier): Save location.  Use it for
      	start_struct, finish_struct, and parser_xref_tag.
      gcc/testsuite/
      	* gcc.dg/old-style-prom-3.c: Add column info.
      	* gcc.dg/overflow-warn-1.c
      	* gcc.dg/gomp/pr27415.c
      	* gcc.dg/gomp/for-1.c: Same.
      	* gcc.dg/enum-compat-1.c: Same.
      	* gcc.dg/c99-tag-3.c: Same.
      	* gcc.dg/Wredundant-decls-2.c: Same.
      	* gcc.dg/func-ptr-conv-1.c: Same.
      	* gcc.dg/asm-wide-1.c: Same.
      	* gcc.dg/nofixed-point-2.c: Same.
      	* gcc.dg/cpp/line3.c: Same.
      	* gcc.dg/array-10.c: Same.
      	* gcc.dg/c99-vla-jump-1.c: Same.
      	* gcc.dg/pr20368-1.c: Same.
      	* gcc.dg/Wshadow-3.c: Same.
      	* gcc.dg/c90-const-expr-8.c: Same.
      	* gcc.dg/label-decl-2.c: Same.
      	* gcc.dg/dremf-type-compat-2.c: Same.
      	* gcc.dg/c90-const-expr-5.c: Same.
      	* gcc.dg/builtins-30.c: Same.
      	* gcc.dg/Warray-bounds.c: Same.
      	* gcc.dg/Wcxx-compat-2.c: Same.
      	* gcc.dg/tree-ssa/col-1.c: Same.
      	* gcc.dg/old-style-prom-2.c: Same.
      	* gcc.dg/cast-function-1.c: Same.
      	* gcc.dg/pr15698-1.c: Same.
      	* gcc.dg/dremf-type-compat-3.c: Same.
      	* gcc.dg/vla-8.c: Same.
      	* gcc.dg/gomp/pr27415.c: Move firstprivate diagnostics to correct
      	line.
      	* gcc.dg/label-decl-2.c: Move label diagnostic to correct line.
      	* gcc.dg/old-style-prom-3.c: Check for error on the correct line.
      	* gcc.dg/enum-compat-1.c: Same.
      	* gcc.dg/dremf-type-compat-2.c: Same.
      	* gcc.dg/old-style-prom-2.c: Same.
      	* gcc.dg/pr15698-1.c: Same.
      	* gcc.dg/pr20368-1.c: Same.
      	* gcc.dg/dremf-type-compat-3.c: Same.
      	* gcc.dg/builtins-30.c: Same.  Test for columns.
      gcc/objcp/
      	* objcp-decl.h (c_end_compound_stmt): New argument.
      	* objcp-decl.c (objcp_start_struct): Add argument.
      	(objcp_finish_struct): Same.
      gcc/cp/
      	* typeck.c (cp_build_binary_op): Pass location to overflow_warning.
      	(build_modify_expr): New arg.
      	* semantics.c (finish_unary_op_expr): Pass location to
      	overflow_warning.
      	(handle_omp_for_class_iterator): Pass location to build_modify_expr.
      	* typeck.c (cxx_sizeof_or_alignof_type): Pass location to
      	c_sizeof_or_alignof_type.
      	(build_array_ref): New argument.
      	(build_compound_expr): Same.
      	(build_const_cast): Same.
      	(build_ptrmemfunc): Pass location to build_c_cast.
      	* init.c (avoid_placement_new_aliasing): Pass location to
      	build_stmt.
      	(build_vec_delete_1): Pass location to cp_build_modify_expr,
      	build_compound_expr.
      	* class.c (build_vtbl_ref_1): Pass location to build_array_ref.
      	* decl.c (poplevel): Pass location to c_build_bind_expr.
      	(finish_case_label): Pass location to build_case_label.
      	(finish_constructor_body): Same.
      	(finish_destructor_body): Pass location to build_stmt.
      	(cxx_maybe_build_cleanup): Same, but to build_compound_expr.
      	* call.c (build_new_op): Pass location to build_array_ref.
      	(build_x_va_arg): Pass location to build_va_arg.
      	* except.c (expand_end_catch_block): Pass location to
      	build_stmt.
      	* cp-tree.h (build_array_ref): New argument.
      	(build_compound_expr): Same.
      	(build_c_cast): Same.
      	* cp-gimplify.c (gimplify_if_stmt): Pass location on down.
      	(gimplify_switch_stmt): Same.
      	* typeck2.c (split_nonconstant_init_1): Same.
      	* pt.c (tsubst_copy): Same.
      	* semantics.c (add_decl_expr): Same.
      	(do_poplevel): Same.
      	(push_cleanup): Same.
      	(finish_goto_stmt): Same.
      	(finish_expr_stmt): Same.
      	(begin_if_stmt): Same.
      	(begin_while_stmt): Same.
      	(begin_do_stmt): Same.
      	(finish_return_stmt): Same.
      	(begin_for_stmt): Same.
      	(finish_break_stmt): Same.
      	(finish_continue_stmt): Same.
      	(begin_switch_stmt): Same.
      	(begin_try_block): Same.
      	(begin_handler): Same.
      	(finish_asm_stmt): Same.
      	(finish_label_stmt): Same.
      	(finish_stmt_expr_expr): Same.
      	(finalize_nrv_r): Same.
      	(finish_omp_atomic): Same.
      	* name-lookup.c (do_using_directive): Same.
      	* decl2.c (grok_array_decl): Same.
      	* parser.c (cp_parser_cast_expression): Same.
      	(cp_parser_selection_statement): Same.
      	(cp_parser_implicitly_scoped_statement): Same.
      	(cp_parser_objc_selector_expression): Same.
      	(cp_parser_objc_synchronized_statement): Same.
      	(cp_parser_objc_throw_statement): Same.
      	(cp_parser_omp_critical): Same.
      	(cp_parser_omp_master): Same.
      	* typeck.c (build_function_call): Add location argument.
      	* init.c: Add location argument to all build_decl calls.
      	* class.c: Same.
      	* method.c: Same.
      	* rtti.c: Same.
      	* tree.c: Same.
      	* pt.c: Same.
      	* semantics.c: Same.
      	* lex.c: Same.
      	* decl2.c: Same.
      	* cp-gimplify.c: Same.
      	* decl.c: Same.
      	(cp_make_fname_decl): Add location argument.  Pass location ot
      	build_decl.
      	(finish_case_label): Same.
      	* cp-tree.h (finish_case_label): Add location argument.
      	* parser.c (cp_parser_label_for_labeled_statement): Pass location to
      	finish_case_label.
      gcc/fortran/
      	* trans-array.c (gfc_trans_allocate_array_storage): Pass
      	location on down.
      	(gfc_trans_array_constructor_value): Same.
      	(gfc_trans_scalarized_loop_end): Same.
      	(gfc_conv_ss_startstride): Same.
      	(gfc_trans_g77_array): Same.
      	(gfc_trans_dummy_array_bias): Same.
      	(gfc_conv_array_parameter): Same.
      	(structure_alloc_comps): Same.
      	* trans-expr.c (gfc_conv_function_call): Same.
      	(fill_with_spaces): Same.
      	(gfc_trans_string_copy): Same.
      	(gfc_trans_scalar_assign): Same.
      	* trans-stmt.c (gfc_trans_goto): Same.
      	(gfc_trans_if_1): Same.
      	(gfc_trans_simple_do): Same.
      	(gfc_trans_do): Same.
      	(gfc_trans_do_while): Same.
      	(gfc_trans_logical_select): Same.
      	(gfc_trans_select): Same.
      	(gfc_trans_forall_loop): Same.
      	(gfc_trans_nested_forall_loop): Same.
      	(generate_loop_for_temp_to_lhs): Same.
      	(generate_loop_for_rhs_to_temp): Same.
      	(gfc_trans_forall_1): Same.
      	(gfc_trans_where_assign): Same.
      	(gfc_trans_where_3): Same.
      	(gfc_trans_allocate): Same.
      	* trans.c (gfc_finish_block): Same.
      	(gfc_trans_runtime_check): Same.
      	(gfc_call_malloc): Same.
      	(gfc_allocate_with_status): Same.
      	(gfc_call_free): Same.
      	(gfc_deallocate_with_status): Same.
      	(gfc_call_realloc): Same.
      	(gfc_trans_code): Same.
      	* trans-decl.c (gfc_init_default_dt): Same.
      	(gfc_generate_constructors): Same.
      	* trans-io.c (gfc_trans_io_runtime_check): Same.
      	* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Same.
      	(gfc_conv_intrinsic_fdate): Same.
      	(gfc_conv_intrinsic_ttynam): Same.
      	(gfc_conv_intrinsic_minmax): Same.
      	(gfc_conv_intrinsic_minmax_char): Same.
      	(gfc_conv_intrinsic_anyall): Same.
      	(gfc_conv_intrinsic_count): Same.
      	(gfc_conv_intrinsic_arith): Same.
      	(gfc_conv_intrinsic_minmaxloc): Same.
      	(gfc_conv_intrinsic_minmaxval): Same.
      	(gfc_conv_intrinsic_rrspacing): Same.
      	(gfc_conv_intrinsic_array_transfer): Same.
      	(gfc_conv_intrinsic_trim): Same.
      	(gfc_conv_intrinsic_repeat): Same.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148442 138bc75d-0d04-0410-961f-82ee72b054a4
      e60a6f7b
    • kargl's avatar
      2009-06-12 Steven G. Kargl <kargls@comcast.net> · fe1328da
      kargl authored
      	* arith.c (gfc_enum_initializer): Move function ...
      	* decl.c: ... here.  Remove gfc_ prefix and make static.
      	(enumerator_decl): Update function call.
      	* gfortran.h:  Remove gfc_enum_initializer prototype.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148441 138bc75d-0d04-0410-961f-82ee72b054a4
      fe1328da
    • janus's avatar
      2009-06-12 Janus Weil <janus@gcc.gnu.org> · 13e80622
      janus authored
      	PR fortran/40176
      	* resolve.c (resolve_symbol): Additional error check, preventing an
      	infinite loop.
      
      
      2009-06-12  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/40176
      	* gfortran.dg/proc_decl_1.f90: Extended.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148440 138bc75d-0d04-0410-961f-82ee72b054a4
      13e80622
  16. 11 Jun, 2009 3 commits
    • pault's avatar
      2009-06-11 Paul Thomas <pault@gcc.gnu.org> · a733be02
      pault authored
      	PR fortran/40402
      	* resolve.c (next_data_value): It is an error if the value is
      	not constant.
      
      2009-06-11  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/40402
      	* gfortran.dg/data_value_1.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148396 138bc75d-0d04-0410-961f-82ee72b054a4
      a733be02
    • fxcoudert's avatar
      PR fortran/38718 · 96098ab0
      fxcoudert authored
      	* intrinsic.c (add_functions): Add simplifiers for ISNAN,
      	IS_IOSTAT_END and IS_IOSTAT_EOR.
      	* intrinsic.h (gfc_simplify_is_iostat_end,
      	* gfc_simplify_is_iostat_eor,
      	gfc_simplify_isnan): New prototypes.
      	* intrinsic.c (gfc_simplify_is_iostat_end,
      	* gfc_simplify_is_iostat_eor,
      	gfc_simplify_isnan): New functions.
      
      	* gfortran.dg/is_iostat_end_eor_2.f90: New test.
      	* gfortran.dg/nan_5.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148367 138bc75d-0d04-0410-961f-82ee72b054a4
      96098ab0
    • jakub's avatar
      * interface.c (fold_unary): Rename to... · 9e6639e6
      jakub authored
      	(fold_unary_intrinsic): ... this.
      	(gfc_extend_expr): Adjust caller.
      	(gfc_match_generic_spec): Likewise.  Initialize *op to INTRINSIC_NONE
      	to avoid warnings.
      	* expr.c (gfc_simplify_expr): Initialize start and end before calling
      	gfc_extract_int.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148366 138bc75d-0d04-0410-961f-82ee72b054a4
      9e6639e6
  17. 10 Jun, 2009 1 commit
  18. 09 Jun, 2009 1 commit
  19. 08 Jun, 2009 3 commits
    • burnus's avatar
      Update ChangeLog for commit Rev. 148290 · cf47b176
      burnus authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148296 138bc75d-0d04-0410-961f-82ee72b054a4
      cf47b176
    • pault's avatar
      2009-06-08 Paul Thomas <pault@gcc.gnu.org> · 6b1a9af3
      pault authored
      	* trans-array.h : Replace prototypes for
      	gfc_conv_descriptor_offset, gfc_conv_descriptor_stride,
      	gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound with new
      	prototypes of the same names with _get or _set appended.
      	* trans-array.c : Make the originals of the above static and
      	new functions for the _get and _set functions. Update all the
      	references to these descriptor access functions.
      	* trans-expr.c : Update references to the above descriptor
      	access functions.
      	* trans-intrinsic.c : The same.
      	* trans-openmp.c : The same.
      	* trans-stmt.c : The same.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148290 138bc75d-0d04-0410-961f-82ee72b054a4
      6b1a9af3
    • aoliva's avatar
      gcc/ChangeLog: · 71278019
      aoliva authored
      * common.opt (fcompare-debug=, fcompare-debug-second): New.
      (fdump-final-insns=, gtoggle): New.
      * doc/invoke.texi: Document them.
      * final.c (rest_of_clean_state): Dump final insn stream.
      * gcc.c (invoke_as): Hook in -fcompare-debug.
      (static_spec_functions): Add compare-debug-dump-opt,
      compare-debug-self-opt and compare-debug-auxbase-opt.
      (compare_debug, compare_debug_second, compare_debug_opt): New.
      (switches_debug_check, n_switches_debug_check): New.
      (debug_auxbase_opt, debug_check_temp_file): New.
      (process_command): Handle -fno-compare-debug, -fcompare-debug and
      -fcompare-debug=*.
      (do_self_spec): Handle arguments after switches.
      (do_spec_1): Add .gk extension to temp file basenames for compare.
      (check_live_switch): Take SWITCH_IGNORE into account, and earlier.
      (cc1_options): Use it instead of normal auxbase computation for
      the second compare-debug compilation.
      (compare_files): New.
      (main): Set up and implement compare debug mode.
      (compare_debug_dump_opt_spec_function): New.
      (compare_debug_self_opt_spec_function): New.
      (compare_debug_auxbase_opt_spec_function): New.
      * toplev.c (process_options): Handle flag_gtoggle,
      flag_dump_final_insns.
      * coverage.c (coverage_begin_output): Don't overwrite .gcno file
      during -fcompare-debug-second compilation.
      gcc/cp/ChangeLog:
      * repo.c (get_base_filename): Use aux_base_name rather than
      alternate temporary file during second compare debug compilation.
      (finish_repo): Skip during -fcompare-debug-second.
      gcc/ada/ChangeLog:
      * lib-writ.adb (flag_compare_debug): Import.
      (Write_ALI): Skip during -fcompare-debug-second.
      gcc/fortran/ChangeLog:
      * options.c (gfc_post_options): Disable dump_parse_tree
      during -fcompare-debug-second.
      gcc/objc/ChangeLog:
      * objc-act.c (objc_init): Skip print_struct_values during
      -fcompare-debug-second.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148271 138bc75d-0d04-0410-961f-82ee72b054a4
      71278019
  20. 07 Jun, 2009 3 commits
    • jvdelisle's avatar
      Fix date on last entry. · 25ccfed3
      jvdelisle authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148254 138bc75d-0d04-0410-961f-82ee72b054a4
      25ccfed3
    • jvdelisle's avatar
      2009-05-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> · 82b12af7
      jvdelisle authored
      	PR fortran/40008
      	* gfortran.h (gfc_open): Add newunit expression to structure.
      	* io.c (io_tag): Add new unit tag and fix whitespace.
      	(match_open_element): Add matching for newunit.
      	(gfc_free_open): Free the newunit expression.
      	(gfc_resolve_open): Add newunit to resolution and check constraints.
      	(gfc_resolve_close): Add check for non-negative unit.
      	(gfc_resolve_filepos): Likewise.
      	(gfc_resolve_dt): Likewise.
      	* trans-io.c (set_parameter_value): Build runtime checks for unit
      	numbers within range of kind=4 integer. (gfc_trans_open) Set the
      	newunit parameter.
      	* ioparm.def (IOPARM): Define the newunit parameter as a pointer
      	to GFC_INTEGER_4, pint4.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148252 138bc75d-0d04-0410-961f-82ee72b054a4
      82b12af7
    • burnus's avatar
      2009-06-07 Daniel Franke <franke.daniel@gmail.com> · 7a236826
      burnus authored
              PR fortran/25104
              PR fortran/29962
              * array.c (gfc_append_constructor): Added NULL-check.
              * check.c (gfc_check_spread): Check DIM.
              (gfc_check_unpack): Check that the ARRAY arguments provides
              enough values for MASK.
              * intrinsic.h (gfc_simplify_spread): New prototype.
              (gfc_simplify_unpack): Likewise.
              * intrinsic.c (add_functions): Added new simplifier callbacks.
              * simplify.c (gfc_simplify_spread): New.
              (gfc_simplify_unpack): New.
              * expr.c (check_transformational): Allow additional
              * transformational
              intrinsics in initialization expression.
      
      2009-06-07  Daniel Franke  <franke.daniel@gmail.com>
      
              PR fortran/25104
              PR fortran/29962
              * gfortran.dg/spread_init_expr.f03: New.
              * gfortran.dg/unpack_init_expr.f03: New.
              * gfortran.dg/intrinsic_argument_conformance_2.f90: Adjusted
              error message.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148250 138bc75d-0d04-0410-961f-82ee72b054a4
      7a236826