| 2014-05-26 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.texi (Project Status): Fix broken link. |
| |
| 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| PR libfortran/61310 |
| * intrinsics.texi (CTIME): Remove mention of locale-dependent |
| behavior. |
| |
| 2014-05-26 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/55117 |
| * trans-io.c (nml_full_name, transfer_namelist_element): Insert |
| a '+' rather then '%' to differentiate namelist variable names |
| that are based on extended derived types. |
| |
| 2014-05-25 Tobias Burnus <burnus@net-b.de> |
| |
| * check.c (gfc_check_num_images): New. |
| (gfc_check_this_image): Handle distance argument. |
| * intrinsic.c (add_functions): Update this_image and num_images |
| for new distance and failed arguments. |
| * intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new |
| arguments. |
| * intrinsic.h (gfc_check_num_images): New. |
| (gfc_check_this_image, gfc_simplify_num_images, |
| gfc_simplify_this_image, gfc_resolve_this_image): Update prototype. |
| * iresolve.c (gfc_resolve_this_image): Handle distance argument. |
| * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image): |
| Handle new arguments. |
| * trans-intrinsic.c (trans_this_image, trans_num_images): Ditto. |
| (gfc_conv_intrinsic_function): Update trans_num_images call. |
| |
| 2014-05-23 Tobias Burnus <burnus@net-b.de> |
| |
| * gfc-internals.texi: Change URLs to HTTPS; fix broken links. |
| * gfortran.texi: Ditto. |
| |
| 2014-05-22 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6) |
| (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8) |
| (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes. |
| * types.def: Simplify examples for DEF_FUNCTION_TYPE_*. |
| |
| 2014-05-17 Trevor Saunders <tsaunders@mozilla.com> |
| |
| * f95-lang.c (pushlevel): Adjust. |
| * trans-decl.c (gfc_allocate_lang_decl): Adjust. |
| (gfc_find_module): Likewise. |
| * trans-types.c (gfc_get_nodesc_array_type): Likewise. |
| (gfc_get_array_type_bounds): Likewise. |
| (gfc_nonrestricted_type): Likewise. |
| * trans.h: Don't use variable_size gty attribute. |
| |
| 2014-05-17 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| * check.c (gfc_check_fn_rc2008): move "argument" to the right |
| place. |
| |
| 2014-05-12 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/60127 |
| * openmp.c (resolve_omp_do): Reject do concurrent loops. |
| |
| 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/60834 |
| * frontend-passes.c (in_assoc_list): New variable. |
| (optimize_namespace): Initialize in_assoc_list |
| (combine_array_constructor): Don't try to combine |
| assoc lists. |
| (gfc_code_walker): Keep track of in_assoc_list. |
| |
| 2014-05-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * gfortran.h (gfc_statement): Add ST_OMP_CANCEL, |
| ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP, |
| ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD, |
| ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and |
| ST_OMP_DECLARE_SIMD. |
| (gfc_omp_namelist): New typedef. |
| (gfc_get_omp_namelist): Define. |
| (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR, |
| OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds. |
| (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums. |
| (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *. |
| Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and |
| simdlen_expr fields. |
| (gfc_omp_declare_simd): New typedef. |
| (gfc_get_omp_declare_simd): Define. |
| (gfc_namespace): Add omp_declare_simd field. |
| (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT, |
| EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and |
| EXEC_OMP_PARALLEL_DO_SIMD. |
| (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST |
| and GFC_OMP_ATOMIC_SWAP. |
| (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *. |
| (gfc_free_omp_namelist, gfc_free_omp_declare_simd, |
| gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New |
| prototypes. |
| * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype. |
| * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd. |
| * openmp.c (gfc_free_omp_clauses): Free safelen_expr and |
| simdlen_expr. Use gfc_free_omp_namelist instead of |
| gfc_free_namelist. |
| (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New |
| functions. |
| (gfc_match_omp_variable_list): Add end_colon, headp and |
| allow_sections arguments. Handle parsing of array sections. |
| Use *omp_namelist* instead of *namelist* data structure and |
| functions/macros. Allow termination at : character. |
| (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH, |
| OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND, |
| OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define. |
| (gfc_match_omp_clauses): Change first and needs_space variables |
| into arguments with default values. Parse inbranch, notinbranch, |
| proc_bind, safelen, simdlen, uniform, linear, aligned and |
| depend clauses. |
| (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND. |
| (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define. |
| (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND. |
| (gfc_match_omp_do_simd): New function. |
| (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist* |
| data structure and functions/macros. |
| (gfc_match_omp_simd, gfc_match_omp_declare_simd, |
| gfc_match_omp_parallel_do_simd): New functions. |
| (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap. |
| (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind, |
| gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New |
| functions. |
| (resolve_omp_clauses): Add where, omp_clauses and ns arguments. |
| Use *omp_namelist* instead of *namelist* data structure and |
| functions/macros. Resolve uniform, aligned, linear, depend, |
| safelen and simdlen clauses. |
| (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP} |
| addition, recognize atomic swap. |
| (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead |
| of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as |
| EXEC_OMP_PARALLEL_DO. |
| (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist* |
| data structure and functions/macros. |
| (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD, |
| EXEC_OMP_PARALLEL_DO_SIMD. |
| (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD, |
| EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust |
| resolve_omp_clauses caller. |
| (gfc_resolve_omp_declare_simd): New function. |
| * parse.c (decode_omp_directive): Parse cancellation point, cancel, |
| declare simd, end do simd, end simd, end parallel do simd, |
| end taskgroup, parallel do simd, simd and taskgroup directives. |
| (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT. |
| (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD, |
| ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD. |
| (case_decl): Add ST_OMP_DECLARE_SIMD. |
| (gfc_ascii_statement): Handle ST_OMP_CANCEL, |
| ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP, |
| ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD, |
| ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and |
| ST_OMP_DECLARE_SIMD. |
| (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and |
| ST_OMP_PARALLEL_DO_SIMD. |
| (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions. |
| (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and |
| ST_OMP_PARALLEL_DO_SIMD. |
| (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD, |
| ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP. |
| * trans-decl.c (gfc_get_extern_function_decl, |
| gfc_create_function_decl): Call gfc_trans_omp_declare_simd if |
| needed. |
| * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD, |
| EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk |
| safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist |
| of depend, aligned and linear clauses. |
| * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD |
| and EXEC_OMP_PARALLEL_DO_SIMD. |
| (gfc_free_omp_namelist): New function. |
| * dump-parse-tree.c (show_namelist): Removed. |
| (show_omp_namelist): New function. |
| (show_omp_node): Handle OpenMP 4.0 additions. |
| (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT, |
| EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and |
| EXEC_OMP_TASKGROUP. |
| * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point, |
| gfc_match_omp_declare_simd, gfc_match_omp_do_simd, |
| gfc_match_omp_parallel_do_simd, gfc_match_omp_simd, |
| gfc_match_omp_taskgroup): New prototypes. |
| * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd |
| argument, handle it. Allow current_function_decl to be NULL. |
| (gfc_trans_omp_variable_list): Add declare_simd argument, pass |
| it through to gfc_trans_omp_variable and disregard whether |
| sym is referenced if declare_simd is true. Work on gfc_omp_namelist |
| instead of gfc_namelist. |
| (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of |
| gfc_namelist. Adjust gfc_trans_omp_variable caller. |
| (gfc_trans_omp_clauses): Add declare_simd argument, pass it through |
| to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist |
| instead of gfc_namelist. Handle inbranch, notinbranch, safelen, |
| simdlen, depend, uniform, linear, proc_bind and aligned clauses. |
| Handle cancel kind. |
| (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap, |
| adjust for GFC_OMP_ATOMIC_* changes. |
| (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New |
| functions. |
| (gfc_trans_omp_do): Add op argument, handle simd translation into |
| generic. |
| (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL, |
| GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO, |
| GFC_OMP_MASK_PARALLEL): New. |
| (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions. |
| (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses. |
| (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New |
| functions. |
| (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL, |
| EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD, |
| EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. |
| Adjust gfc_trans_omp_do caller. |
| (gfc_trans_omp_declare_simd): New function. |
| * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL, |
| EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD, |
| EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. |
| For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of |
| gfc_free_namelist. |
| * module.c (omp_declare_simd_clauses): New variable. |
| (mio_omp_declare_simd): New function. |
| (mio_symbol): Call it. |
| * trans.c (trans_code): Handle EXEC_OMP_CANCEL, |
| EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD, |
| EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. |
| * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD, |
| EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. |
| (resolve_code): Handle EXEC_OMP_CANCEL, |
| EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD, |
| EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. |
| (resolve_types): Call gfc_resolve_omp_declare_simd. |
| |
| 2014-05-11 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-intrinsic.c (gfc_build_builtin_function_decls): |
| Change type of second argument to int. |
| |
| 2014-05-09 Mike Stump <mikestump@comcast.net> |
| |
| PR fortran/61109 |
| * trans-array.c (gfc_conv_array_initializer): Fix wide-int |
| conversion bug. |
| |
| 2014-05-08 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET |
| and GFC_ISYM_CAF_SEND. |
| * intrinsic.c (add_functions): Add only internally |
| accessible caf_get and caf_send functions. |
| * resolve.c (add_caf_get_intrinsic, |
| remove_caf_get_intrinsic): New functions. |
| (resolve_variable): Resolve expression rank and |
| prepare for add_caf_get_intrinsic call. |
| (gfc_resolve_expr): For variables, remove rank |
| resolution. |
| (resolve_ordinary_assign): Prepare call to |
| GFC_ISYM_CAF_SEND. |
| (resolve_code): Avoid call to GFC_ISYM_CAF_GET for |
| the LHS of an assignment. |
| |
| 2014-05-08 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-intrinsic.c (conv_co_minmaxsum): Change condition style. |
| |
| 2014-05-08 Tobias Burnus <burnus@net-b.de> |
| |
| * check.c (check_co_minmaxsum, gfc_check_co_minmax, |
| gfc_check_co_sum): New. |
| * error.c (gfc_notify_std): Update -std=f2008ts. |
| * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX, |
| GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM. |
| * intrinsic.h (gfc_check_co_minmax, |
| gfc_check_co_sum): Declare. |
| * intrinsic.c (add_subroutines): Add co_min, co_max |
| and co_sum. |
| (gfc_check_intrinsic_standard): Update text for |
| -std=f2008ts. |
| * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document |
| them. |
| * invoke.texi (-std=f2008ts): Update wording. |
| * trans.h (gfor_fndecl_co_max, |
| gfor_fndecl_co_min, gfor_fndecl_co_sum): Define. |
| * trans-decl.c (gfor_fndecl_co_max, |
| gfor_fndecl_co_min, gfor_fndecl_co_sum): Define. |
| (gfc_build_builtin_function_decls): Assign to it. |
| * trans-intrinsic.c (conv_co_minmaxsum): New. |
| (gfc_conv_intrinsic_subroutine): Call it. |
| |
| 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com> |
| Mike Stump <mikestump@comcast.net> |
| Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * target-memory.c: Include wide-int.h. |
| (gfc_interpret_logical): Use wide-int interfaces. |
| * trans-array.c: Include wide-int.h. |
| (gfc_conv_array_initializer): Use wide-int interfaces. |
| * trans-const.c: Include wide-int.h. |
| (gfc_conv_string_init): Use wide-int interfaces. |
| (gfc_conv_mpz_to_tree): Likewise. |
| (gfc_conv_tree_to_mpz): Likewise. |
| * trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p. |
| * trans-expr.c: Include wide-int.h. |
| (gfc_conv_cst_int_power): Use wide-int interfaces. |
| (gfc_string_to_single_character): Likewise. |
| (gfc_optimize_len_trim): Likewise. |
| * trans-intrinsic.c: Include wide-int.h. |
| (trans_this_image): Use wide-int interfaces. |
| (gfc_conv_intrinsic_bound): Likewise. |
| (conv_intrinsic_cobound): Likewise. |
| * trans-types.c (gfc_init_types): Likewise. |
| (gfc_get_array_type_bounds): Pass an integer of the correct type |
| instead of using integer_one_node. |
| |
| 2014-04-30 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-decl.c (create_function_arglist): Add hidden coarray arguments |
| also for polymorphic coarrays. |
| * trans-expr.c (gfc_conv_procedure_call): Pass hidden coarray arguments |
| also for polymorphic coarrays. |
| |
| 2014-04-30 Tobias Burnus <burnus@net-b.de> |
| |
| * resolve.c (resolve_function): Don't do |
| assumed-size check for lcobound/ucobound. |
| * trans-types.c (gfc_build_array_type): Only build an array |
| descriptor with codimensions for allocatable coarrays. |
| |
| 2014-04-30 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.h (gfc_init_coarray_decl): Remove. |
| * parse.c (translate_all_program_units): Remove call to it. |
| (gfc_parse_file): Update call. |
| * trans.h (gfor_fndecl_caf_this_image, |
| gfor_fndecl_caf_num_images): Add. |
| (gfort_gvar_caf_num_images, |
| gfort_gvar_caf_this_image): Remove. |
| * trans-decl.c (gfor_fndecl_caf_this_image, |
| gfor_fndecl_caf_num_images): Add. |
| (gfort_gvar_caf_num_images, |
| gfort_gvar_caf_this_image): Remove. |
| (gfc_build_builtin_function_decls): Init new decl. |
| (gfc_init_coarray_dec): Remove. |
| (create_main_function): Change calls. |
| * trans-intrinsic.c (trans_this_image, trans_image_index, |
| conv_intrinsic_cobound): Generate call to new library function |
| instead of to a static variable. |
| * trans-stmt.c (gfc_trans_sync): Ditto. |
| |
| 2014-04-30 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-expr.c (get_tree_for_caf_expr): Fix handling of polymorphic |
| and derived-type coarrays. |
| |
| 2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/59604 |
| PR fortran/58003 |
| * gfortran.h (gfc_convert_mpz_to_signed): Add prototype. |
| * arith.c (gfc_int2int): Convert number to signed if |
| arithmetic overflow is not checked. |
| * simplify.c (convert_mpz_to_unsigned): Only trigger assert for |
| size if range checking is in force. |
| (convert_mpz_to_signed): Make non-static, rename to |
| (gfc_convert_mpz_to_signed). |
| (simplify_dshift): Use gfc_convert_mpz_to_signed. |
| (gfc_simplify_ibclr): Likewise. |
| (gfc_simplify_ibits): Likewise. |
| (gfc_simplify_ibset): Likewise. |
| (simplify_shift): Likewise. |
| (gfc_simplify_ishiftc): Likewise. |
| (gfc_simplify_maskr): Likewise. |
| (gfc_simplify_maskl): Likewise. |
| |
| 2014-04-22 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/60881 |
| * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling |
| of scalar coarrays. |
| |
| 2014-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE |
| argument is enum machine_mode. |
| |
| 2014-04-13 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/58085 |
| PR fortran/60717 |
| * trans.h: Add 'use_offset' bitfield to gfc_se. |
| * trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset' |
| as a trigger to unconditionally recalculate the offset for |
| array slices and constant arrays. |
| trans-expr.c (gfc_conv_intrinsic_to_class): Use it. |
| trans-stmt.c (trans_associate_var): Ditto. |
| (gfc_conv_procedure_call): Ditto. |
| |
| 2014-04-11 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/58880 |
| PR fortran/60495 |
| * resolve.c (gfc_resolve_finalizers): Ensure that vtables |
| and finalization wrappers are generated. |
| |
| 2014-04-11 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| * intrinsic.texi (RANDOM_SEED): Improve example. |
| |
| 2014-04-10 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * class.c (gfc_build_class_symbol): Append "_t" to target class |
| names to make the generated type names unique. |
| |
| 2014-04-04 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR fortran/60191 |
| * trans-types.c (gfc_get_function_type): In case of recursion |
| build a variadic function type with empty argument list instead of a |
| stdarg-like function type with incomplete argument list. |
| |
| 2014-04-04 Tobias Burnus <burnus@net-b.de> |
| |
| * check.c (gfc_check_cmplx): Fix typo. |
| |
| 2014-03-28 Mikael Morin <mikael@gcc.gnu.org> |
| Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/60576 |
| * trans-expr.c (gfc_conv_derived_to_class): Avoid |
| generation of out-of-bounds range expr. |
| |
| 2014-03-28 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/60677 |
| * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument |
| list buffer. |
| |
| 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/60522 |
| * frontend-passes.c (cfe_code): Do not walk subtrees |
| for WHERE. |
| |
| 2014-03-27 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/58880 |
| * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling |
| of nonpointers. |
| |
| 2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR fortran/34928 |
| * fortran.texi: Document Volatile COMMON as not supported. |
| |
| 2014-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/60603 |
| * cpp.c (gfc_cpp_init): Restore cb_change_file call to |
| <built-in>. |
| |
| 2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/60148 |
| * gfortran.texi: Add description of namelist DELIM= behavior. |
| |
| 2014-03-19 Tobias Burnus <burnus@net-b.> |
| |
| PR fortran/60543 |
| * io.c (check_io_constraints): Use gfc_unset_implicit_pure. |
| * resolve.c (resolve_ordinary_assign): Ditto. |
| |
| 2014-03-19 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/60543 |
| PR fortran/60283 |
| * gfortran.h (gfc_unset_implicit_pure): New prototype. |
| * resolve.c (gfc_unset_implicit_pure): New. |
| (resolve_structure_cons, resolve_function, |
| pure_subroutine): Use it. |
| * decl.c (match_old_style_init, gfc_match_data, |
| match_pointer_init, variable_decl): Ditto. |
| * expr.c (gfc_check_pointer_assign): Ditto. |
| * intrinsic.c (gfc_intrinsic_sub_interface): Ditto. |
| * io.c (match_vtag, gfc_match_open, gfc_match_close, |
| match_filepos, gfc_match_inquire, gfc_match_print, |
| gfc_match_wait): Ditto. |
| * match.c (gfc_match_critical, gfc_match_stopcode, |
| lock_unlock_statement, sync_statement, gfc_match_allocate, |
| gfc_match_deallocate): Ditto. |
| * parse.c (decode_omp_directive): Ditto. |
| * symbol.c (gfc_add_save): Ditto. |
| |
| 2014-03-18 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/55207 |
| PR fortran/60549 |
| * decl.c (match_attr_spec): Revert r208590. |
| |
| 2014-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/58721 |
| * trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect |
| if !optimize. |
| |
| 2014-03-18 Tobias Burnus <burnus@net-b.de> |
| |
| PR ipa/58721 |
| * trans.h (gfc_unlikely, gfc_likely): Add predictor as argument. |
| (gfc_trans_io_runtime_check): Remove. |
| * trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat |
| as argument, add predictor to block. |
| (set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos, |
| gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls. |
| * trans.c (gfc_unlikely, gfc_likely): Add predictor as argument. |
| (gfc_trans_runtime_check, gfc_allocate_using_malloc, |
| gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly |
| branch predictor. |
| * trans-expr.c (gfc_conv_procedure_call): Ditto. |
| * trans-stmt.c (gfc_trans_allocate): Ditto. |
| * trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto. |
| |
| 2014-03-15 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/55207 |
| * decl.c (match_attr_spec): Variables in the main program implicitly |
| get the SAVE attribute in Fortran 2008. |
| |
| 2014-03-14 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/60392 |
| * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor |
| if it has transposed dimensions. |
| |
| 2014-03-08 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/60447 |
| * f95-lang.c (gfc_init): Return false when only |
| preprocessing. |
| * options.c (gfc_post_options): Ditto. |
| |
| 2014-03-08 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.texi (Fortran 2003 Status): Mention finalization, |
| deferred-length character support and input rounding. |
| (Fortran 2008 Status): Mention that at termination |
| signalling exceptions are shown. |
| |
| 2014-03-06 Paul Thomas <pault@gcc.gnu.org> |
| Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/51976 |
| * gfortran.h (symbol_attribute): Add deferred_parameter attribute. |
| * primary.c (build_actual_constructor): It is not an error if |
| a missing component has the deferred_parameter attribute; |
| equally, if one is given a value, it is an error. |
| * resolve.c (resolve_fl_derived0): Remove error for deferred |
| character length components. Add the hidden string length |
| field to the structure. Give it the deferred_parameter |
| attribute. |
| * trans-array.c (duplicate_allocatable): Add a strlen field |
| which is used as the element size if it is non-null. |
| (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a |
| NULL to the new argument in duplicate_allocatable. |
| (structure_alloc_comps): Set the hidden string length as |
| appropriate. Use it in calls to duplicate_allocatable. |
| (gfc_alloc_allocatable_for_assignment): When a deferred length |
| backend declaration is variable, use that; otherwise use the |
| string length from the expression evaluation. |
| * trans-expr.c (gfc_conv_component_ref): If this is a deferred |
| character length component, the string length should have the |
| value of the hidden string length field. |
| (gfc_trans_subcomponent_assign): Set the hidden string length |
| field for deferred character length components. Allocate the |
| necessary memory for the string. |
| (alloc_scalar_allocatable_for_assignment): Same change as in |
| gfc_alloc_allocatable_for_assignment above. |
| * trans-stmt.c (gfc_trans_allocate): Likewise. |
| * trans-intrinsic (size_of_string_in_bytes): Make non-static. |
| * trans-types.c (gfc_get_derived_type): Set the tree type for |
| a deferred character length component. |
| * trans.c (gfc_deferred_strlen): New function. |
| * trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes. |
| |
| 2014-03-01 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/60341 |
| * frontend-passes.c (optimize_comparison): Guard two union accesses |
| with the corresponding tag checks. |
| |
| 2014-02-28 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/60359 |
| * class.c (find_intrinsic_vtab): Prevent duplicate creation of copy |
| procedure for characters. |
| |
| 2014-02-21 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/60302 |
| * check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size' |
| is successful. |
| |
| 2014-02-21 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/60234 |
| * gfortran.h (gfc_build_class_symbol): Removed argument. |
| * class.c (gfc_add_component_ref): Fix up missing vtype if necessary. |
| (gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always |
| delayed now, except for unlimited polymorphics. |
| (comp_is_finalizable): Procedure pointer components are not finalizable. |
| * decl. (build_sym, build_struct, attr_decl1): Removed argument of |
| 'gfc_build_class_symbol'. |
| * match.c (copy_ts_from_selector_to_associate, select_type_set_tmp): |
| Ditto. |
| * symbol.c (gfc_set_default_type): Ditto. |
| |
| 2014-02-19 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/60232 |
| * expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful |
| functions, which are used as procedure pointer target. |
| |
| 2014-02-18 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/49397 |
| * expr.c (gfc_check_pointer_assign): Add check for |
| F2008Cor2, C729. |
| * trans-decl.c (gfc_get_symbol_decl): Correctly generate external |
| decl in a corner case. |
| |
| 2014-02-18 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/60231 |
| * resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy |
| arguments to prevent ICE. |
| |
| 2014-02-17 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/55907 |
| * resolve.c (build_default_init_expr): Don't initialize character |
| variable if -fno-automatic is given. |
| |
| 2014-02-15 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/59599 |
| * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the |
| number of arguments. |
| |
| 2014-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/52370 |
| * trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING |
| on decl if sym->attr.optional. |
| |
| 2014-02-09 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/57522 |
| * resolve.c (resolve_assoc_var): Set the subref_array_pointer |
| attribute for the 'associate-name' if necessary. |
| * trans-stmt.c (trans_associate_var): If the 'associate-name' |
| is a subref_array_pointer, assign the element size of the |
| associate variable to 'span'. |
| |
| 2014-02-09 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/59026 |
| * trans-expr.c (gfc_conv_procedure_call): Pass the value of the |
| actual argument to a formal argument with the value attribute |
| in an elemental procedure. |
| |
| 2014-02-08 Janus Weil <janus@gcc.gnu.org> |
| Mikael Morin <mikael.morin@gcc.gnu.org> |
| |
| PR fortran/58470 |
| * class.c (generate_finalization_wrapper): Assert that proc_tree has |
| been set in gfc_resolve_finalizers. |
| * resolve.c (resolve_fl_derived0): Remove unnecessary call to |
| gfc_is_finalizable. |
| |
| 2014-02-07 Benno Schulenberg <bensberg@justemail.net> |
| |
| PR translation/52289 |
| * fortran/resolve.c (resolve_ordinary_assign): Fix typoed word |
| in an error message. |
| |
| 2014-02-02 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/57033 |
| * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer |
| dereference. |
| |
| 2014-02-01 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/59906 |
| * trans-stmt.c (gfc_add_loop_ss_code): In the case of character |
| SS_REFERENCE, use gfc_conv_string_parameter to ensure that a |
| pointer to the string is stored. |
| * trans-expr.c (gfc_conv_expr_reference): Likewise, use |
| gfc_conv_string_parameter to ensure that a pointer to is passed |
| to the elemental function. |
| |
| 2014-01-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/59414 |
| * trans-stmt.c (gfc_trans_allocate): Before the pointer |
| assignment to transfer the source _vptr to a class allocate |
| expression, the final class reference should be exposed. The |
| tail that includes the _data and array references is stored. |
| This reduced expression is transferred to 'lhs' and the _vptr |
| added. Then the tail is restored to the allocate expression. |
| |
| 2014-01-26 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/58007 |
| * module.c (read_module): Assert for component name correctness. |
| |
| 2014-01-18 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/58007 |
| * module.c (MOD_VERSION): Bump. |
| (fp2, find_pointer2): Remove. |
| (mio_component_ref): Don't forcedfully set the containing derived type |
| symbol for loading. Remove unused argument. |
| (mio_ref): Update caller |
| (mio_symbol): Dump component list earlier. |
| (skip_list): New argument nest_level. Initialize level with the new |
| argument. |
| (read_module): Add forced pointer components association for derived |
| type symbols. |
| |
| 2014-01-12 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/58026 |
| * decl.c (gfc_match_data_decl): Improve error recovery. |
| |
| 2014-01-09 Tobias Burnus <burnus@net-b.de> |
| |
| * cpp.c (gfc_cpp_handle_option): Add missing break. |
| * trans-io.c (transfer_expr): Silence unused value warning. |
| |
| 2014-01-08 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/58182 |
| * resolve.c (gfc_verify_binding_labels): Modify order of checks. |
| |
| 2014-01-06 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/59589 |
| * class.c (comp_is_finalizable): New function to dermine if a given |
| component is finalizable. |
| (finalize_component, generate_finalization_wrapper): Use it. |
| |
| 2014-01-06 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/59023 |
| PR fortran/59662 |
| * resolve.c (resolve_global_procedure): Don't apply to c-binding |
| procedures. |
| (gfc_verify_binding_labels): Remove duplicate line. |
| |
| 2014-01-04 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/59547 |
| * class.c (add_proc_comp): Copy pure attribute. |
| |
| 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| Update copyright years |
| |
| 2014-01-02 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortranspec.c (lang_specific_driver): Update copyright notice |
| dates. |
| * gfc-internals.texi: Bump @copying's copyright year. |
| * gfortran.texi: Ditto. |
| * intrinsic.texi: Ditto. |
| * invoke.texi: Ditto. |
| |
| 2014-01-02 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/59654 |
| * resolve.c (resolve_typebound_procedures): No need to create the vtab |
| here. |
| |
| Copyright (C) 2014 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |