OSDN Git Service

2010-03-31 Paul Thomas <pault@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 7e0d91a..53884cc 100644 (file)
@@ -1,548 +1,3 @@
-2010-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-       PR fortran/43747
-       * constructor.c: Fix typo in comment.
-       * expr.c (find_array_section): Add check for max array limit.
-
-2010-04-13  Iain Sandoe  <iains@gcc.gnu.org>
-
-       PR bootstrap/31400
-       * gfortranspec.c (lookup_option): Check for -static and return
-       OPTION_static.
-       (lang_specific_driver): Break when OPTION_static is discovered.
-
-2010-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-       * array.c (extract_element): Restore function from trunk.
-       (gfc_get_array_element): Restore function from trunk.
-       (gfc_expand_constructor): Restore check against
-       flag_max_array_constructor.
-       * constructor.c (node_copy_and_append): Delete unused.
-       * gfortran.h: Delete comment and extra include.
-       * constructor.h: Bump copyright and clean up TODO comments.
-       * resolve.c: Whitespace.
-
-2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
-
-       * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
-       with direct access access to elements. Adjusted prototype, fixed all
-       callers.
-       (gfc_simplify_dot_product): Removed duplicate check for zero-sized
-       array.
-       (gfc_simplify_matmul): Removed usage of ADVANCE macro.
-       (gfc_simplify_spread): Removed workaround, directly insert elements
-       at a given array position.
-       (gfc_simplify_transpose): Likewise.
-       (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
-       function calls.
-       (gfc_simplify_unpack): Likewise.
-
-2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
-
-       * simplify.c (only_convert_cmplx_boz): Renamed to ...
-       (convert_boz): ... this and moved to start of file.
-       (gfc_simplify_abs): Whitespace fix.
-       (gfc_simplify_acos): Whitespace fix.
-       (gfc_simplify_acosh): Whitespace fix.
-       (gfc_simplify_aint): Whitespace fix.
-       (gfc_simplify_dint): Whitespace fix.
-       (gfc_simplify_anint): Whitespace fix.
-       (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
-       (gfc_simplify_dnint): Whitespace fix.
-       (gfc_simplify_asin): Whitespace fix.
-       (gfc_simplify_asinh): Moved creation of result-expr out of switch.
-       (gfc_simplify_atan): Likewise.
-       (gfc_simplify_atanh): Whitespace fix.
-       (gfc_simplify_atan2): Whitespace fix.
-       (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
-       (gfc_simplify_bessel_j1): Likewise.
-       (gfc_simplify_bessel_jn): Likewise.
-       (gfc_simplify_bessel_y0): Likewise.
-       (gfc_simplify_bessel_y1): Likewise.
-       (gfc_simplify_bessel_yn): Likewise.
-       (gfc_simplify_ceiling): Reorderd statements.
-       (simplify_cmplx): Use convert_boz(), check for constant arguments.
-       Whitespace fix.
-       (gfc_simplify_cmplx): Use correct default kind. Removed check for
-       constant arguments.
-       (gfc_simplify_complex): Replaced if-gate. Removed check for
-       constant arguments.
-       (gfc_simplify_conjg): Whitespace fix.
-       (gfc_simplify_cos): Whitespace fix.
-       (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
-       (gfc_simplify_dcmplx): Removed check for constant arguments.
-       (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
-       (gfc_simplify_digits): Whitespace fix.
-       (gfc_simplify_dim): Whitespace fix.
-       (gfc_simplify_dprod): Reordered statements.
-       (gfc_simplify_erf): Whitespace fix.
-       (gfc_simplify_erfc): Whitespace fix.
-       (gfc_simplify_epsilon): Whitespace fix.
-       (gfc_simplify_exp): Whitespace fix.
-       (gfc_simplify_exponent): Use convert_boz().
-       (gfc_simplify_floor): Reorderd statements.
-       (gfc_simplify_gamma): Whitespace fix.
-       (gfc_simplify_huge): Whitespace fix.
-       (gfc_simplify_iand): Whitespace fix.
-       (gfc_simplify_ieor): Whitespace fix.
-       (simplify_intconv): Use gfc_convert_constant().
-       (gfc_simplify_int): Use simplify_intconv().
-       (gfc_simplify_int2): Reorderd statements.
-       (gfc_simplify_idint): Reorderd statements.
-       (gfc_simplify_ior): Whitespace fix.
-       (gfc_simplify_ishftc): Removed duplicate type check.
-       (gfc_simplify_len): Use range_check() instead of manual range check.
-       (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
-       (gfc_simplify_log): Whitespace fix.
-       (gfc_simplify_log10): Whitespace fix.
-       (gfc_simplify_minval): Whitespace fix.
-       (gfc_simplify_maxval): Whitespace fix.
-       (gfc_simplify_mod): Whitespace fix.
-       (gfc_simplify_modulo): Whitespace fix.
-       (simplify_nint): Reorderd statements.
-       (gfc_simplify_not): Whitespace fix.
-       (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
-       (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
-       (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
-       (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
-       (gfc_simplify_realpart): Whitespace fix.
-       (gfc_simplify_selected_char_kind): Removed unused result-variable.
-       (gfc_simplify_selected_int_kind): Removed unused result-variable.
-       (gfc_simplify_selected_real_kind): Removed unused result-variable.
-       (gfc_simplify_sign): Whitespace fix.
-       (gfc_simplify_sin): Whitespace fix.
-       (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
-       (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
-       (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
-       (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
-       (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
-
-2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
-
-       * gfortran.h (gfc_start_constructor): Removed.
-       (gfc_get_array_element): Removed.
-       * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr 
-       instead. Fixed all callers.
-       (extract_element): Removed.
-       (gfc_expand_constructor): Temporarily removed check for
-       max-array-constructor. Will be re-introduced later if still required.
-       (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
-       instead. Fixed all callers.
-       * expr.c (find_array_section): Replaced manual lookup of elements
-       by gfc_constructor_lookup.
-
-2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
-
-        * gfortran.h (gfc_get_null_expr): New prototype.
-        (gfc_get_operator_expr): New prototype.
-        (gfc_get_character_expr): New prototype.
-        (gfc_get_iokind_expr): New prototype.
-        * expr.c (gfc_get_null_expr): New.
-        (gfc_get_character_expr): New.
-        (gfc_get_iokind_expr): New.
-        (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
-        * matchexp.c (build_node): Renamed and moved to
-        expr.c (gfc_get_operator_expr). Reordered arguments to match 
-        other functions. Fixed all callers.
-        (gfc_get_parentheses): Use specific function to build expr.
-        * array.c (gfc_match_array_constructor): Likewise.
-        * arith.c (eval_intrinsic): Likewise.
-        (gfc_hollerith2int): Likewise.
-        (gfc_hollerith2real): Likewise.
-        (gfc_hollerith2complex): Likewise.
-        (gfc_hollerith2logical): Likewise.
-        * data.c (create_character_intializer): Likewise.
-        * decl.c (gfc_match_null): Likewise.
-        (enum_initializer): Likewise.
-        * io.c (gfc_match_format): Likewise.
-        (match_io): Likewise.
-        * match.c (gfc_match_nullify): Likewise.
-        * primary.c (match_string_constant): Likewise.
-        (match_logical_constant): Likewise.
-        (build_actual_constructor): Likewise.
-        * resolve.c (build_default_init_expr): Likewise.
-        * symbol.c (generate_isocbinding_symbol): Likewise.
-        (gfc_build_class_symbol): Likewise.
-        (gfc_find_derived_vtab): Likewise.
-        * simplify.c (simplify_achar_char): Likewise.
-        (gfc_simplify_adjustl): Likewise.
-        (gfc_simplify_adjustr): Likewise.
-        (gfc_simplify_and): Likewise.
-        (gfc_simplify_bit_size): Likewise.
-        (gfc_simplify_is_iostat_end): Likewise.
-        (gfc_simplify_is_iostat_eor): Likewise.
-        (gfc_simplify_isnan): Likewise.
-        (simplify_bound): Likewise.
-        (gfc_simplify_leadz): Likewise.
-        (gfc_simplify_len_trim): Likewise.
-        (gfc_simplify_logical): Likewise.
-        (gfc_simplify_maxexponent): Likewise.
-        (gfc_simplify_minexponent): Likewise.
-        (gfc_simplify_new_line): Likewise.
-        (gfc_simplify_null): Likewise.
-        (gfc_simplify_or): Likewise.
-        (gfc_simplify_precision): Likewise.
-        (gfc_simplify_repeat): Likewise.
-        (gfc_simplify_scan): Likewise.
-        (gfc_simplify_size): Likewise.
-        (gfc_simplify_trailz): Likewise.
-        (gfc_simplify_trim): Likewise.
-        (gfc_simplify_verify): Likewise.
-        (gfc_simplify_xor): Likewise.
-        * trans-io.c (build_dt): Likewise.
-        (gfc_new_nml_name_expr): Removed.
-
-2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
-
-       * arith.h (gfc_constant_result): Removed prototype.
-       * constructor.h (gfc_build_array_expr): Removed prototype.
-       (gfc_build_structure_constructor_expr): Removed prototype.
-       * gfortran.h (gfc_int_expr): Removed prototype.
-       (gfc_logical_expr): Removed prototype.
-       (gfc_get_array_expr): New prototype.
-       (gfc_get_structure_constructor_expr): New prototype.
-       (gfc_get_constant_expr): New prototype.
-       (gfc_get_int_expr): New prototype.
-       (gfc_get_logical_expr): New prototype.
-       * arith.c (gfc_constant_result): Moved and renamed to
-       expr.c (gfc_get_constant_expr). Fixed all callers.
-       * constructor.c (gfc_build_array_expr): Moved and renamed to
-       expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
-       and kind. Fixed all callers.
-       (gfc_build_structure_constructor_expr): Moved and renamed to
-       expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
-       to type and kind. Fixed all callers.
-       * expr.c (gfc_logical_expr): Renamed to ...
-       (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
-       (gfc_int_expr): Renamed to ...
-       (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
-       callers.
-       (gfc_get_constant_expr): New.
-       (gfc_get_array_expr): New.
-       (gfc_get_structure_constructor_expr): New.
-       * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
-       instead.
-
-2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
-
-       * constructor.h: New.
-       * constructor.c: New.
-       * Make-lang.in: Add new files to F95_PARSER_OBJS.
-       * arith.c (reducy_unary): Use constructor API.
-       (reduce_binary_ac): Likewise.
-       (reduce_binary_ca): Likewise.
-       (reduce_binary_aa): Likewise.
-       * check.c (gfc_check_pack): Likewise.
-       (gfc_check_reshape): Likewise.
-       (gfc_check_unpack): Likewise.
-       * decl.c (add_init_expr_to_sym): Likewise.
-       (build_struct): Likewise.
-       * dependency.c (gfc_check_dependency): Likewise.
-       (contains_forall_index_p): Likewise.
-       * dump-parse-tree.c (show_constructor): Likewise.
-       * expr.c (free_expr0): Likewise.
-       (gfc_copy_expr): Likewise.
-       (gfc_is_constant_expr): Likewise.
-       (simplify_constructor): Likewise.
-       (find_array_element): Likewise.
-       (find_component_ref): Likewise.
-       (find_array_section): Likewise.
-       (find_substring_ref): Likewise.
-       (simplify_const_ref): Likewise.
-       (scalarize_intrinsic_call): Likewise.
-       (check_alloc_comp_init): Likewise.
-       (gfc_default_initializer): Likewise.
-       (gfc_traverse_expr): Likewise.
-       * iresolve.c (check_charlen_present): Likewise.
-       (gfc_resolve_reshape): Likewise.
-       (gfc_resolve_transfer): Likewise.
-       * module.c (mio_constructor): Likewise.
-       * primary.c (build_actual_constructor): Likewise.
-       (gfc_match_structure_constructor): Likewise.
-       * resolve.c (resolve_structure_cons): Likewise.
-       * simplify.c (is_constant_array_expr): Likewise.
-       (init_result_expr): Likewise.
-       (transformational_result): Likewise.
-       (simplify_transformation_to_scalar): Likewise.
-       (simplify_transformation_to_array): Likewise.
-       (gfc_simplify_dot_product): Likewise.
-       (simplify_bound): Likewise.
-       (simplify_matmul): Likewise.
-       (simplify_minval_maxval): Likewise.
-       (gfc_simplify_pack): Likewise.
-       (gfc_simplify_reshape): Likewise.
-       (gfc_simplify_shape): Likewise.
-       (gfc_simplify_spread): Likewise.
-       (gfc_simplify_transpose): Likewise.
-       (gfc_simplify_unpack): Likewise.q
-       (gfc_convert_constant): Likewise.
-       (gfc_convert_char_constant): Likewise.
-       * target-memory.c (size_array): Likewise.
-       (encode_array): Likewise.
-       (encode_derived): Likewise.
-       (interpret_array): Likewise.
-       (gfc_interpret_derived): Likewise.
-       (expr_to_char): Likewise.
-       (gfc_merge_initializers): Likewise.
-       * trans-array.c (gfc_get_array_constructor_size): Likewise.
-       (gfc_trans_array_constructor_value): Likewise.
-       (get_array_ctor_strlen): Likewise.
-       (gfc_constant_array_constructor_p): Likewise.
-       (gfc_build_constant_array_constructor): Likewise.
-       (gfc_trans_array_constructor): Likewise.
-       (gfc_conv_array_initializer): Likewise.
-       * trans-decl.c (check_constant_initializer): Likewise.
-       * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
-       (gfc_apply_interface_mapping_to_cons): Likewise.
-       (gfc_trans_structure_assign): Likewise.
-       (gfc_conv_structure): Likewise.
-       * array.c (check_duplicate_iterator): Likewise.
-       (match_array_list): Likewise.
-       (match_array_cons_element): Likewise.
-       (gfc_match_array_constructor): Likewise.
-       (check_constructor_type): Likewise.
-       (check_constructor): Likewise.
-       (expand): Likewise.
-       (expand_constructor): Likewise.
-       (extract_element): Likewise.
-       (gfc_expanded_ac): Likewise.
-       (resolve_array_list): Likewise.
-       (gfc_resolve_character_array_constructor): Likewise.
-       (copy_iterator): Renamed to ...
-       (gfc_copy_iterator): ... this.
-       (gfc_append_constructor): Removed.
-       (gfc_insert_constructor): Removed unused function.
-       (gfc_get_constructor): Removed.
-       (gfc_free_constructor): Removed.
-       (qgfc_copy_constructor): Removed.
-       * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
-       Removed all references. Replaced constructor list by splay-tree.
-       (struct gfc_constructor): Removed member 'next', moved 'offset' from
-       the inner struct, added member 'base'.
-       (gfc_append_constructor): Removed prototype.
-       (gfc_insert_constructor): Removed prototype.
-       (gfc_get_constructor): Removed prototype.
-       (gfc_free_constructor): Removed prototype.
-       (qgfc_copy_constructor): Removed prototype.
-       (gfc_copy_iterator): New prototype.
-       * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
-
-2010-04-10  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/43591
-       * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
-       proc-pointers and type-bound procedures.
-       (gfc_specification_expr): Check proc-pointers for pureness.
-
-2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
-
-       PR bootstrap/43684
-       * gfortranspec.c (lang_specific_driver): Do not expose vars 
-       only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
-       for such.
-
-2010-04-09  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * decl.c (variable_decl, match_attr_spec): Fix setting the array
-       spec.
-       * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
-       * data.c (gfc_assign_data_value): Ditto.
-       * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
-       (gfc_traverse_expr): Traverse also through codimension expressions.
-       (gfc_is_coindexed, gfc_has_ultimate_allocatable,
-       gfc_has_ultimate_pointer): New functions.
-       * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
-       (gfc_array_ref): Add codimen.
-       (gfc_array_ref): Add in_allocate.
-       (gfc_is_coindexed, gfc_has_ultimate_allocatable,
-       gfc_has_ultimate_pointer): Add prototypes.
-       * interface.c (compare_parameter, compare_actual_formal,
-       check_intents): Add coarray constraints.
-       * match.c (gfc_match_iterator): Add coarray constraint.
-       * match.h (gfc_match_array_ref): Update interface.
-       * primary.c (gfc_match_varspec): Handle codimensions.
-       * resolve.c (coarray_alloc, inquiry_argument): New static variables.
-       (check_class_members): Return gfc_try instead for error recovery.
-       (resolve_typebound_function,resolve_typebound_subroutine,
-       check_members): Handle return value of check_class_members.
-       (resolve_structure_cons, resolve_actual_arglist, resolve_function,
-       check_dimension, compare_spec_to_ref, resolve_array_ref,
-       resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
-       resolve_allocate_expr, resolve_ordinary_assign): Add coarray
-       support.
-       * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
-       Skip over coarray refs.
-       (gfc_array_allocate) Add support for references containing coindexes.
-       * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
-       (gfc_map_intrinsic_function): Ignore codimensions.
-
-2010-04-08  Bud Davis  <bdavis9659@sbcglobal.net>
-
-       PR fortran/28039
-       * io.c (check_format_string):  Added check for additional non 
-       blank characters after the format string was successfully 
-       parsed.
-       * io.c (check_format): Changed the error messages for positive
-       int required and period required to drop through the error logic
-       and report with gfc_error instead of gfc_error_now.  Corrected
-       format postion for hollerith strings.
-
-2010-04-08  Tobias Burnus  <burnus@net-b.de>
-
-       * module.c (use_iso_fortran_env_module): Fix standard check.
-
-2010-04-07  Jakub Jelinek  <jakub@redhat.com>
-
-       * parse.c (parse_derived, parse_enum): Avoid set but not used
-       warning.
-
-2010-04-07  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR fortran/40539
-       * gfortran.texi: Add section about representation of
-       LOGICAL variables.
-
-2010-04-07  Simon Baldwin  <simonb@google.com>
-
-       * cpp.c (cb_cpp_error): Add warning reason argument, set a value
-       for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
-
-2010-04-07  Richard Guenther  <rguenther@suse.de>
-
-       * options.c (gfc_init_options): Do not set.
-
-2010-04-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
-       * match.c (gfc_match_critical, sync_statement): Ditto.
-       * gfortran.h (gfc_fcoarray): New enum.
-       (gfc_option_t): Use it.
-       * lang.opt (fcoarray): Add new flag.
-       * invoke.texi (fcoarray): Document it.
-       * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
-       (gfc_handle_coarray_option): New function.
-
-2010-04-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * gfortran.h (gfc_array_spec): Add cotype.
-       * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
-       and defer error diagnostic.
-       * resolve.c (resolve_fl_derived): Add missing check.
-       (resolve_symbol): Add cotype/type check.
-       * parse.c (parse_derived): Fix setting of coarray_comp.
-
-2010-04-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
-       match_array_element_spec,gfc_copy_array_spec,
-       gfc_compare_array_spec): Include corank.
-       (match_array_element_spec,gfc_set_array_spec): Support codimension.
-       * decl.c (build_sym,build_struct,variable_decl,
-       match_attr_spec,attr_decl1,cray_pointer_decl,
-       gfc_match_volatile): Add codimension.
-       (gfc_match_codimension): New function.
-       * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
-       * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
-       (gfc_add_codimension): New function prototype.
-       * match.h (gfc_match_codimension): New function prototype.
-       (gfc_match_array_spec): Update prototype
-       * match.c (gfc_match_common): Update gfc_match_array_spec call.
-       * module.c (MOD_VERSION): Bump.
-       (mio_symbol_attribute): Support coarray attributes.
-       (mio_array_spec): Add corank support.
-       * parse.c (decode_specification_statement,decode_statement,
-       parse_derived): Add coarray support.
-       * resolve.c (resolve_formal_arglist, was_declared,
-       is_non_constant_shape_array, resolve_fl_variable,
-       resolve_fl_derived, resolve_symbol): Add coarray support.
-       * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
-       gfc_build_class_symbol): Add coarray support.
-       (gfc_add_codimension): New function.
-
-2010-04-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
-       atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
-       stat_locked_other_image, stat_stopped_image and stat_unlocked of
-       Fortran 2008.
-       * intrinsic.texi (iso_fortran_env): Ditto.
-       * libgfortran.h (libgfortran_stat_codes): New enum.
-       * module.c (use_iso_fortran_env_module): Honour -std= when loading
-       constants from the intrinsic module.
-
-2010-04-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/39997
-       * intrinsic.c (add_functions): Add num_images.
-       * decl.c (gfc_match_end): Handle END CRITICAL.
-       * intrinsic.h (gfc_simplify_num_images): Add prototype.
-       * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
-       and SYNC.
-       * gfortran.h (gfc_statement): Add enum items for those.
-       (gfc_exec_op) Ditto.
-       (gfc_isym_id): Add num_images.
-       * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
-       (gfc_trans_sync,gfc_trans_critical): New functions.
-       * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
-       gfc_trans_critical): Add/update prototypes.
-       * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
-       and SYNC statements.
-       * trans.h (gfor_fndecl_error_stop_string) Add variable.
-       * resolve.c (resolve_sync): Add function.
-       (gfc_resolve_blocks): Handle CRITICAL.
-       (resolve_code): Handle CRITICAL, ERROR STOP,
-       (resolve_branch): Add CRITICAL constraint check.
-       and SYNC statements.
-       * st.c (gfc_free_statement): Add new statements.
-       * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
-       (gfc_build_builtin_function_decls): Initialize it.
-       * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
-       (gfc_match_critical, gfc_match_error_stop, sync_statement,
-       gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
-       New functions.
-       (match_exit_cycle): Handle CRITICAL constraint.
-       (gfc_match_stopcode): Handle ERROR STOP.
-       * match.h (gfc_match_critical, gfc_match_error_stop,
-       gfc_match_sync_all, gfc_match_sync_images,
-       gfc_match_sync_memory): Add prototype.
-       * parse.c (decode_statement, gfc_ascii_statement,
-       parse_executable): Handle new statements.
-       (parse_critical_block): New function.
-       * parse.h (gfc_compile_state): Add COMP_CRITICAL.
-       * intrinsic.texi (num_images): Document new function.
-       * simplify.c (gfc_simplify_num_images): Add function.
-
-2010-04-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/43178
-       * trans-array.c (gfc_conv_expr_descriptor): Update
-       gfc_trans_scalar_assign call.
-       (has_default_initializer): New function.
-       (gfc_trans_deferred_array): Nullify less often.
-       * trans-expr.c (gfc_conv_subref_array_arg,
-       gfc_trans_subcomponent_assign): Update call to
-       gfc_trans_scalar_assign.
-       (gfc_trans_scalar_assign): Add parameter and pass it on.
-       (gfc_trans_assignment_1): Optionally, do not dealloc before
-       assignment.
-       * trans-openmp.c (gfc_trans_omp_array_reduction): Update
-       call to gfc_trans_scalar_assign.
-       * trans-decl.c (gfc_get_symbol_decl): Do not always apply
-       initializer to static variables.
-       (gfc_init_default_dt): Add dealloc parameter and pass it on.
-       * trans-stmt.c (forall_make_variable_temp,
-       generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
-       gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
-       gfc_trans_allocate): Update gfc_trans_assignment call.
-       * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
-       gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
-       parameter to prototype.
-
 2010-03-31  Paul Thomas  <pault@gcc.gnu.org>
 
        * ioparm.def : Update copyright.