summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/gfortran.dg/coarray
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright years in gcc/rsandifo2014-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206289 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-22 Tobias Burnus <burnus@net-b.de>burnus2013-07-221-1/+0
| | | | | | | | | | | | | | | | | | | PR fortran/57906 PR fortran/52052 * class.c (gfc_build_class_symbol): Set coarray_comp. * trans-array.c (structure_alloc_comps): For coarrays, directly use the data pointer address. 2013-07-22 Tobias Burnus <burnus@net-b.de> PR fortran/57906 PR fortran/52052 * coarray/lib_realloc_1.f90: Permit optimization. * gfortran.dg/coarray_31.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201140 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-15 Tobias Burnus <burnus@net-b.de>burnus2013-07-151-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | * trans-array.h (gfc_deallocate_alloc_comp_no_caf, gfc_reassign_alloc_comp_caf): New prototype. * trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF and COPY_ALLOC_COMP_CAF. (structure_alloc_comps): Handle it. (gfc_reassign_alloc_comp_caf, gfc_deallocate_alloc_comp_no_caf): New function. (gfc_alloc_allocatable_for_assignment): Call it. * trans-expr.c (gfc_trans_scalar_assign, gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto. * parse.c (parse_derived): Correctly set coarray_comp. * resolve.c (resolve_symbol): Improve error wording. 2013-07-15 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_lib_realloc_1.f90: New. * gfortran.dg/coarray/lib_realloc_1.f90: New. * gfortran.dg/coarray_6.f90: Add dg-error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200955 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-04-12 Tobias Burnus <burnus@net-b.de>burnus2013-04-121-0/+19
| | | | | | | | | | | | | | | PR fortran/56929 * trans-array.c (duplicate_allocatable): Fix handling of scalar coarrays. 2013-04-12 Tobias Burnus <burnus@net-b.de> PR fortran/56929 * gfortran.dg/coarray/alloc_comp_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197930 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in gcc/rsandifo2013-01-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195098 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-11-28 Tobias Burnus <burnus@net-b.de>burnus2012-11-291-0/+7
| | | | | | | | | | | | | | | PR fortran/52161 * trans-stmt.c (gfc_trans_sync): Fix bound checking for -fcoarray=lib. 2012-11-28 Tobias Burnus <burnus@net-b.de> PR fortran/52161 * coarray/sync_3.f90: Extend test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193924 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-11-28 Tobias Burnus <burnus@net-b.de>burnus2012-11-281-0/+68
| | | | | | | | | | | | | | | PR fortran/52161 * trans-stmt.c (gfc_trans_sync): Fix bound checking. 2012-11-28 Tobias Burnus <burnus@net-b.de> PR fortran/52161 * coarray/sync_3.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193908 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-18 Tobias Burnus <burnus@net-b.de>burnus2012-06-181-0/+24
| | | | | | | | | | | | | | | PR fortran/53526 * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle * coarrays. 2012-06-18 Tobias Burnus <burnus@net-b.de> PR fortran/53526 * gfortran.dg/coarray_lib_move_alloc_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188748 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove now redundant manual cleanup-modules directive.aldot2012-05-151-2/+0
| | | | | | | | | | | 2012-05-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * gfortran.dg/*.f90: Remove now redundant manual cleanup-modules directive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187521 138bc75d-0d04-0410-961f-82ee72b054a4
* gfortran testsuite: implicitly cleanup-modulesaldot2012-03-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ChangeLog: 2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * doc/sourcebuild.texi (cleanup-modules, keep-modules): Update documentation. gcc/testsuite/ChangeLog: 2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * gfortran.fortran-torture/compile/compile.exp: Simplify. * gfortran.fortran-torture/execute/execute.exp: Likewise. * lib/gcc-dg.exp (cleanup-modules): Move to .. * lib/fortran-modules.exp: .. this new file. Adjust users. * lib/gfortran-dg.exp (gfortran-dg-runtest, gfortran-dg-debug-runtest): Call cleanup-modules. * lib/fortran-torture.exp (fortran-torture-execute, fortran-torture): Likewise. * gfortran.dg/coarray/caf.exp: Likewise. * lib/lto.exp: Likewise. * gfortran.dg/class_4a.f03: Adjust cleanup-modules and keep-modules. * gfortran.dg/class_4b.f03: Likewise. * gfortran.dg/class_4c.f03: Likewise. * gfortran.dg/class_45a.f03: Likewise. * gfortran.dg/binding_label_tests_10.f03: Likewise. * gfortran.dg/binding_label_tests_10_main.f03: Likewise. * gfortran.dg/binding_label_tests_11.f03: Likewise. * gfortran.dg/binding_label_tests_11_main.f03: Likewise. * gfortran.dg/binding_label_tests_13.f03: Likewise. * gfortran.dg/binding_label_tests_13_main.f03: Likewise. * gfortran.dg/test_common_binding_labels_2.f03: Likewise. * gfortran.dg/test_common_binding_labels_2_main.f03: Likewise. * gfortran.dg/test_common_binding_labels_3.f03: Likewise. * gfortran.dg/test_common_binding_labels_3_main.f03: Likewise. * gfortran.dg/whole_file_28.f90: Likewise. * gfortran.dg/whole_file_29.f90: Likewise. * gfortran.dg/whole_file_30.f90: Likewise. * gfortran.dg/whole_file_31.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185430 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-01-06 Tobias Burnus <burnus@net-b.de>burnus2012-01-062-6/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * trans-openmp.c (gfc_omp_clause_dtor, * gfc_trans_omp_array_reduction): Update call to gfc_trans_dealloc_allocated. * trans.c (gfc_allocate_using_malloc): Fix spacing. (gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to label_finish when an error occurs. (gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib. * trans.h (gfc_allocate_allocatable, * gfc_deallocate_with_status): Update prototype. (gfor_fndecl_caf_deregister): New tree symbol. * trans-expr.c (gfc_conv_procedure_call): Update gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls. * trans-array.c (gfc_array_allocate, * gfc_trans_dealloc_allocated, structure_alloc_comps, gfc_trans_deferred_array): Ditto. (gfc_array_deallocate): Handle coarrays with -fcoarray=lib. * trans-array.h (gfc_array_deallocate, gfc_array_allocate, gfc_trans_dealloc_allocated): Update prototypes. * trans-stmt.c (gfc_trans_sync): Fix indentation. (gfc_trans_allocate): Fix errmsg padding and label handling. (gfc_trans_deallocate): Ditto and handle -fcoarray=lib. * expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS. * libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value to avoid other stats accidentally matching this one. * trans-decl.c (gfor_fndecl_caf_deregister): New global var. (gfc_build_builtin_function_decls): Fix prototype decl of caf_register and add decl for caf_deregister. (gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib. * trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to gfc_deallocate_with_status. 2012-01-06 Tobias Burnus <burnus@net-b.de> * caf/single.c (_gfortran_caf_register, * _gfortran_caf_deregister): Fix token handling. * caf/mpi.c (_gfortran_caf_register, _gfortran_caf_deregister): * Ditto. * caf/libcaf.h (STAT_STOPPED_IMAGE): Sync with libgfortran.h. (_gfortran_caf_register, _gfortran_caf_deregister): Update prototype. 2012-01-06 Tobias Burnus <burnus@net-b.de> * gfortran.dg/deallocate_stat_2.f90: New. * coarray/allocate_errgmsg.f90: New. * gfortran.dg/coarray_lib_alloc_1.f90: New. * gfortran.dg/coarray_lib_alloc_2.f90: New. * coarray/subobject_1.f90: Fix for num_images > 1. * gfortran.dg/deallocate_stat.f90: Update due to changed stat= handling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182951 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-01-02 Tobias Burnus <burnus@net-b.de>burnus2012-01-021-0/+103
| | | | | | | | | | | | | | | | PR fortran/51682 * trans-intrinsic.c (trans_this_image, trans_image_index, trans_num_images, conv_intrinsic_cobound): Fold_convert the caf_num_images/caf_this_images variables to the correct int kind. 2012-01-02 Tobias Burnus <burnus@net-b.de> PR fortran/51682 * gfortran.dg/coarray/image_index_3.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182781 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-19 Tobias Burnus <burnus@net-b.de>burnus2011-12-191-8/+16
| | | | | | | | | | | | | | | | * check.c (coarray_check): Add class ref if needed. * resolve.c (resolve_fl_var_and_proc, resolve_fl_derived0, resolve_symbol): Fix checking for BT_CLASS. 2011-12-19 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_poly_3.f90: New. * coarray/poly_run_1.f90: Enable some previously commented code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182471 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-15 Tobias Burnus <burnus@net-b.de>burnus2011-12-152-3/+41
| | | | | | | | | | | | | | | | | | | | * primary.c (gfc_match_varspec): Match array spec for polymorphic coarrays. (gfc_match_rvalue): If a symbol of unknown flavor has a codimension, mark it as a variable. * simplify.c (gfc_simplify_image_index): Directly call simplify_cobound. * trans-intrinsic.c (trans_this_image): Fix handling of corank = 1 arrays. 2011-12-15 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray/poly_run_3.f90: New. * gfortran.dg/coarray/poly_run_2.f90: Enable comment-out test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182371 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-11 Paul Thomas <pault@gcc.gnu.org>pault2011-12-112-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tobias Burnus <burnus@gcc.gnu.org> PR fortran/41539 PR fortran/43214 PR fortran/43969 PR fortran/44568 PR fortran/46356 PR fortran/46990 PR fortran/49074 * interface.c(symbol_rank): Return the rank of the _data component of class objects. (compare_parameter): Also compare the derived type of the class _data component for type mismatch. Similarly, return 1 if the formal and _data ranks match. (compare_actual_formal): Do not compare storage sizes for class expressions. It is an error if an actual class array, passed to a formal class array is not full. * trans-expr.c (gfc_class_data_get, gfc_class_vptr_get, gfc_vtable_field_get, gfc_vtable_hash_get, gfc_vtable_size_get, gfc_vtable_extends_get, gfc_vtable_def_init_get, gfc_vtable_copy_get): New functions for class API. (gfc_conv_derived_to_class): For an array reference in an elemental procedure call retain the ss to provide the scalarized array reference. Moved in file. (gfc_conv_class_to_class): New function. (gfc_conv_subref_array_arg): Use the type of the class _data component as a basetype. (gfc_conv_procedure_call): Ensure that class array expressions have both the _data reference and an array reference. Use gfc_conv_class_to_class to handle class arrays for elemental functions in scalarized loops, class array elements and full class arrays. Use a call to gfc_conv_subref_array_arg in order that the copy-in/copy-out for passing class arrays to derived type arrays occurs correctly. (gfc_conv_expr): If it is missing, add the _data component between a class object or component and an array reference. (gfc_trans_class_array_init_assign): New function. (gfc_trans_class_init_assign): Call it for array expressions. * trans-array.c (gfc_add_loop_ss_code): Do not use a temp for class scalars since their size will depend on the dynamic type. (build_class_array_ref): New function. (gfc_conv_scalarized_array_ref): Call build_class_array_ref. (gfc_array_init_size): Add extra argument, expr3, that represents the SOURCE argument. If present,use this for the element size. (gfc_array_allocate): Also add argument expr3 and use it when calling gfc_array_init_size. (structure_alloc_comps): Enable class arrays. * class.c (gfc_add_component_ref): Carry over the derived type of the _data component. (gfc_add_class_array_ref): New function. (class_array_ref_detected): New static function. (gfc_is_class_array_ref): New function that calls previous. (gfc_is_class_scalar_expr): New function. (gfc_build_class_symbol): Throw not implemented error for assumed size class arrays. Remove error that prevents CLASS arrays. (gfc_build_class_symbol): Prevent pointer/allocatable conflict. Also unset codimension. (gfc_find_derived_vtab): Make 'copy' elemental and set the intent of the arguments accordingly.: * trans-array.h : Update prototype for gfc_array_allocate. * array.c (gfc_array_dimen_size): Return failure if class expr. (gfc_array_size): Likewise. * gfortran.h : New prototypes for gfc_add_class_array_ref, gfc_is_class_array_ref and gfc_is_class_scalar_expr. * trans-stmt.c (trans_associate_var): Exclude class targets from test. Move the allocation of the _vptr to an earlier time for class objects. (trans_associate_var): Assign the descriptor directly for class arrays. (gfc_trans_allocate): Add expr3 to gfc_array_allocate arguments. Convert array element references into sections. Do not invoke gfc_conv_procedure_call, use gfc_trans_call instead. * expr.c (gfc_get_corank): Fix for BT_CLASS. (gfc_is_simply_contiguous): Exclude class from test. * trans.c (gfc_build_array_ref): Include class array refs. * trans.h : Include prototypes for class API functions that are new in trans-expr. Define GFC_DECL_CLASS(node). * resolve.c (check_typebound_baseobject ): Remove error for non-scalar base object. (resolve_allocate_expr): Ensure that class _data component is present. If array, call gfc_expr_to_intialize. (resolve_select): Remove scalar error for SELECT statement as a temporary measure. (resolve_assoc_var): Update 'target' (aka 'selector') as needed. Ensure that the target expression has the right rank. (resolve_select_type): Ensure that target expressions have a valid locus. (resolve_allocate_expr, resolve_fl_derived0): Fix for BT_CLASS. * trans-decl.c (gfc_get_symbol_decl): Set GFC_DECL_CLASS, where appropriate. (gfc_trans_deferred_vars): Get class arrays right. * match.c(select_type_set_tmp): Add array spec to temporary. (gfc_match_select_type): Allow class arrays. * check.c (array_check): Ensure that class arrays have refs. (dim_corank_check, dim_rank_check): Retrun success if class. * primary.c (gfc_match_varspec): Fix for class arrays and co-arrays. Make sure that class _data is present. (gfc_match_rvalue): Handle class arrays. *trans-intrinsic.c (gfc_conv_intrinsic_size): Add class array reference. (gfc_conv_allocated): Add _data component to class expressions. (gfc_add_intrinsic_ss_code): ditto. * simplify.c (simplify_cobound): Fix for BT_CLASS. (simplify_bound): Return NULL for class arrays. (simplify_cobound): Obtain correct array_spec. Use cotype as appropriate. Use arrayspec for bounds. 2011-12-11 Paul Thomas <pault@gcc.gnu.org> Tobias Burnus <burnus@gcc.gnu.org> PR fortran/41539 PR fortran/43214 PR fortran/43969 PR fortran/44568 PR fortran/46356 PR fortran/46990 PR fortran/49074 * gfortran.dg/class_array_1.f03: New. * gfortran.dg/class_array_2.f03: New. * gfortran.dg/class_array_3.f03: New. * gfortran.dg/class_array_4.f03: New. * gfortran.dg/class_array_5.f03: New. * gfortran.dg/class_array_6.f03: New. * gfortran.dg/class_array_7.f03: New. * gfortran.dg/class_array_8.f03: New. * gfortran.dg/coarray_poly_1.f90: New. * gfortran.dg/coarray_poly_2.f90: New. * gfortran.dg/coarray/poly_run_1.f90: New. * gfortran.dg/coarray/poly_run_2.f90: New. * gfortran.dg/class_to_type_1.f03: New. * gfortran.dg/type_to_class_1.f03: New. * gfortran.dg/typebound_assignment_3.f03: Remove the error. * gfortran.dg/auto_dealloc_2.f90: Occurences of __builtin_free now 2. * gfortran.dg/class_19.f03: Occurences of __builtin_free now 8. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182210 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/50420mikael2011-10-181-0/+43
| | | | | | | | | * gfortran.dg/coarray_subobject_1.f90: New test. * gfortran.dg/coarray/subobject_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180153 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-25 Tobias Burnus <burnus@net-b.de>burnus2011-08-251-0/+16
| | | | | | | | | | | | | | | * trans-array.c (structure_alloc_comps): Fix for allocatable scalar coarray components. * trans-expr.c (gfc_conv_component_ref): Ditto. * trans-type.c (gfc_get_derived_type): Ditto. 2011-08-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray/alloc_comp_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178068 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-02 Tobias Burnus <burnus@net-b.de>burnus2011-08-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * trim_optimize_5.f90: Remove spurious "use foo". * actual_array_vect_1.f90: Fix or add dg-final cleanup-module * alloc_comp_assign_7.f90: Ditto. * allocatable_function_5.f90: Ditto. * allocate_stat.f90: Ditto. * array_constructor_20.f90: Ditto. * array_constructor_21.f90: Ditto. * array_constructor_22.f90: Ditto. * array_constructor_26.f03: Ditto. * array_function_4.f90: Ditto. * assumed_charlen_function_1.f90: Ditto. * assumed_size_dt_dummy.f90: Ditto. * bind_c_usage_15.f90: Ditto. * bind_c_usage_16.f03: Ditto. * bind_c_usage_3.f03: Ditto. * binding_label_tests_7.f03: Ditto. * class_15.f03: Ditto. * class_27.f03: Ditto. * class_33.f90: Ditto. * class_37.f03: Ditto. * class_40.f03: Ditto. * class_42.f03: Ditto. * class_defined_operator_1.f03: Ditto. * coarray/registering_1.f90: Ditto. * convert_1.f90: Ditto. * default_initialization_3.f90: Ditto. * dependency_25.f90: Ditto. * dependency_26.f90: Ditto. * dependency_36.f90: Ditto. * dependency_37.f90: Ditto. * derived_array_intrinisics_1.f90: Ditto. * dynamic_dispatch_10.f03: Ditto. * elemental_non_intrinsic_dummy_1.f90 |: Ditto. * elemental_pointer_1.f90: Ditto. * elemental_result_1.f90: Ditto. * empty_derived_type.f90: Ditto. * entry_7.f90: Ditto. * entry_dummy_ref_2.f90: Ditto. * equiv_constraint_3.f90: Ditto. * error_recovery_3.f90: Ditto. * extends_4.f03: Ditto. * func_assign.f90: Ditto. * func_assign_3.f90: Ditto. * generic_1.f90: Ditto. * generic_18.f90: Ditto. * generic_22.f03: Ditto. * generic_4.f90: Ditto. * generic_6.f90: Ditto. * generic_actual_arg.f90: Ditto. * graphite/id-21.f: Ditto. * graphite/pr45758.f90: Ditto. * host_assoc_call_2.f90: Ditto. * host_assoc_call_3.f90: Ditto. * host_assoc_call_4.f90: Ditto. * host_assoc_function_4.f90: Ditto. * host_used_types_1.f90: Ditto. * implicit_1.f90: Ditto. * implicit_11.f90: Ditto. * implicit_derived_type_1.f90: Ditto. * impure_actual_1.f90: Ditto. * impure_assignment_1.f90: Ditto. * impure_constructor_1.f90: Ditto. * initialization_10.f90: Ditto. * initialization_12.f90: Ditto. * interface_14.f90: Ditto. * interface_15.f90: Ditto. * interface_2.f90: Ditto. * interface_25.f90: Ditto. * interface_26.f90: Ditto. * interface_29.f90: Ditto. * interface_assignment_1.f90: Ditto. * internal_pack_6.f90: Ditto. * internal_pack_7.f90: Ditto. * internal_pack_8.f90: Ditto. * lto/pr45586_0.f90: Ditto. * lto/pr47839_0.f90: Ditto. * module_commons_3.f90: Ditto. * module_equivalence_4.f90: Ditto. * module_equivalence_6.f90: Ditto. * module_function_type_1.f90: Ditto. * module_naming_1.f90: Ditto. * namelist_4.f90: Ditto. * operator_c1202.f90: Ditto. * parens_7.f90: Ditto. * pr32921.f: Ditto. * pr33646.f90: Ditto. * pr41928.f90: Ditto. * pr42119.f90: Ditto. * pr43984.f90: Ditto. * present_1.f90: Ditto. * private_type_2.f90: Ditto. * proc_decl_2.f90: Ditto. * proc_ptr_10.f90: Ditto. * proc_ptr_22.f90: Ditto. * proc_ptr_8.f90: Ditto. * proc_ptr_comp_12.f90: Ditto. * proc_ptr_comp_pass_6.f90: Ditto. * pure_formal_proc_2.f90: Ditto. * realloc_on_assign_4.f03: Ditto. * substring_equivalence.f90: Ditto. * transfer_assumed_size_1.f90: Ditto. * transpose_optimization_1.f90: Ditto. * trim_optimize_6.f90: Ditto. * typebound_call_12.f03: Ditto. * typebound_operator_5.f03: Ditto. * typebound_operator_6.f03: Ditto. * typebound_proc_18.f03: Ditto. * unreferenced_use_assoc_1.f90: Ditto. * use_1.f90: Ditto. * use_10.f90: Ditto. * use_11.f90: Ditto. * use_14.f90: Ditto. * use_only_2.f90: Ditto. * use_rename_4.f90: Ditto. * use_rename_5.f90: Ditto. * used_dummy_types_3.f90: Ditto. * used_interface_ref.f90: Ditto. * used_types_11.f90: Ditto. * used_types_3.f90: Ditto. * used_types_4.f90: Ditto. * userdef_operator_2.f90: Ditto. * vect/fast-math-vect-8.f90: Ditto. * vect/pr46213.f90: Ditto. * whole_file_21.f90: Ditto. * whole_file_22.f90: Ditto. * coarray_lib_token_1.f90: Ditto. Add space before "}". * coarray_lib_token_2.f90: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177184 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-07-16 Tobias Burnus <burnus@net-b.de>burnus2011-07-162-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * expr.c (gfc_ref_this_image): New function. (gfc_is_coindexed): Use it. * gfortran.h (gfc_ref_this_image): New prototype. * resolve.c (resolve_deallocate_expr, resolve_allocate_expr): Support alloc scalar coarrays. * trans-array.c (gfc_conv_array_ref, gfc_array_init_size, gfc_conv_descriptor_cosize, gfc_array_allocate, gfc_trans_deferred_array): Ditto. * trans-expr.c (gfc_conv_variable) Ditto.: * trans-stmt.c (gfc_trans_deallocate): Ditto. * trans-types.c (gfc_get_element_type, gfc_get_array_type_bounds gfc_get_array_descr_info): Ditto. * trans-decl.c (gfc_get_symbol_decl): Ditto. 2011-07-16 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_14.f90: Remove dg-error "sorry not * implemented". * gfortran.dg/coarray_7.f90: Ditto. * gfortran.dg/coarray/scalar_alloc_1.f90: New. * gfortran.dg/coarray/scalar_alloc_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176358 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-06-20 Tobias Burnus <burnus@net-b.de>burnus2011-06-201-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/18918 * gfortran.h (gfc_check_vardef_context): Update prototype. (iso_fortran_env_symbol): Handle derived types. (symbol_attribute): Add lock_comp. * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check. * interface.c (compare_parameter, gfc_procedure_use): Handle LOCK_TYPE. (compare_actual_formal): Update gfc_check_vardef_context call. * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto. * intrinsic.c (check_arglist): Ditto. * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): * Ditto. * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add. * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE. * module.c (mio_symbol_attribute): Handle lock_comp. (create_derived_type): New function. (use_iso_fortran_env_module): Call it to handle LOCK_TYPE. * parse.c (parse_derived): Add constraint check for LOCK_TYPE. * resolve.c (resolve_symbol, resolve_lock_unlock): Add * constraint checks for LOCK_TYPE. (gfc_resolve_iterator, resolve_deallocate_expr, resolve_allocate_expr, resolve_code, resolve_transfer): Update gfc_check_vardef_context call. * trans-stmt.h (gfc_trans_lock_unlock): New prototype. * trans-stmt.c (gfc_trans_lock_unlock): New function. * trans.c (trans_code): Handle LOCK and UNLOCK. 2011-06-20 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray_lock_1.f90: Update dg-error. * gfortran.dg/coarray_lock_3.f90: New. * gfortran.dg/coarray/lock_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175228 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran/burnus2011-06-101-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2011-06-10 Daniel Carrera <dcarrera@gmail.com> * trans-decl.c (gfc_build_builtin_function_decls): Updated declaration of caf_sync_all and caf_sync_images. * trans-stmt.c (gfc_trans_sync): Function can now handle a "stat" variable that has an integer type different from integer_type_node. libgfortran/ 2011-06-10 Daniel Carrera <dcarrera@gmail.com> * caf/mpi.c (_gfortran_caf_sync_all, _gfortran_caf_sync_images): Functions have void return type and move status into parameter list. * caf/single.c (_gfortran_caf_sync_all, _gfortran_caf_sync_images): Functions have void return type and move status into parameter list. * caf/libcaf.h (_gfortran_caf_sync_all, _gfortran_caf_sync_images): Functions have void return type and move status into parameter list. gcc/testsuite/ 2011-06-10 Daniel Carrera <dcarrera@gmail.com> * gfortran.dg/coarray/sync_1.f90: New test for "SYNC ALL", "SYNC MEMORY" and "SYNC IMAGES". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174896 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-31 Tobias Burnus <burnus@net-b.de>burnus2011-05-311-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/18918 * intrinsic.c (klass): Add CLASS_ATOMIC. (add_subroutines): Add atomic_ref/atomic_define. * intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document. * intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref, gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes. * gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEF and GFC_ISYM_ATOMIC_REF. (gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars. * iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref): * New functions. * check.c (gfc_check_atomic, gfc_check_atomic_def, gfc_check_atomic_ref): New functions. * iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND, ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value. * trans-intrinsic.c (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): New functions. (conv_intrinsic_move_alloc) Renamed from gfc_conv_intrinsic_move_alloc - and made static. * trans.h (gfc_conv_intrinsic_move_alloc): Remove. (gfc_conv_intrinsic_subroutine) Add prototype. * trans.c (trans_code): Call gfc_conv_intrinsic_subroutine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174510 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-31 Tobias Burnus <burnus@net-b.de>burnus2011-05-311-0/+70
| | | | | | | | | | | | | | | PR fortran/18918 * trans-array.c (gfc_trans_dummy_array_bias): Handle cobounds of assumed-shape arrays. 2011-05-31 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray/dummy_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174504 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-26 Tobias Burnus <burnus@net-b.de>burnus2011-05-261-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/18918 * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays. * trans-decl.c (has_coarray_vars, caf_init_block, gfor_fndecl_caf_register): New file-global variables. (gfc_finish_var_decl): Make sure that coarrays in main are static. (gfc_build_qualified_array): Generate coarray token variable. (gfc_get_symbol_decl): Don't use a static initializer for coarrays. (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register. (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for static coarrays. (generate_local_decl): Check for local coarrays. (create_main_function): SYNC ALL before calling MAIN. (generate_coarray_sym_init): Register static coarray. (generate_coarray_init): Generate CAF registering constructor function. (gfc_generate_function_code): Call it, if needed, do not create cgraph twice. (gfc_generate_module_vars, gfc_process_block_locals): Call generate_coarray_init. * trans-types.c (gfc_get_nodesc_array_type): Generate pointers * for -fcoarray=lib. * trans.h (gfor_fndecl_caf_register): New variable. (lang_type): New element caf_token. (GFC_TYPE_ARRAY_CAF_TOKEN): New macro. 2011-05-26 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray/registering_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174301 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-15 Tobias Burnus <burnus@net-b.de>burnus2011-05-151-0/+76
| | | | | | | | | | | | | | | | | | PR fortran/18918 actual argument is not an array; rank mismatch is diagnosted later. * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars): * Handle scalar coarrays. * trans-types.c (gfc_get_array_type_bounds): Ditto. 2011-05-15 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray/image_index_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173772 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-06 Tobias Burnus <burnus@net-b.de>burnus2011-05-061-0/+125
| | | | | | | | | | | | | | | | | | | | | | PR fortran/18918 * trans-array.c (gfc_walk_variable_expr): Continue walking for scalar coarrays. * trans-intrinsic.c (convert_element_to_coarray_ref): New * function. (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it. (trans_this_image): Fix algorithm. * trans-types.c (gfc_get_element_type, * gfc_get_array_descriptor_base, gfc_sym_type): Handle scalar coarrays. 2011-05-06 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray/this_image_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173506 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-03 Tobias Burnus <burnus@net-b.de>burnus2011-05-031-1/+0
| | | | | | | | | PR fortran/18918 * gfortran.dg/coarray/this_image_1.f90: Remove dg-options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173343 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-03 Tobias Burnus <burnus@net-b.de>burnus2011-05-031-0/+197
| | | | | | | | | | | | | | | PR fortran/18918 * trans-intrinsic.c (trans_this_image): Implement version with coarray argument. 2011-05-03 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray/this_image_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173342 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-03 Tobias Burnus <burnus@net-b.de>burnus2011-05-032-0/+175
PR fortran/18918 * gfortran.dg/coarray/caf.dg: New. * gfortran.dg/coarray/image_index_1.f90: New, copied from ../coarray_16.f90. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173341 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud