| 2014-12-31 Tobias Burnus <burnus@net-b.de> |
| |
| * match.c (gfc_match_stopcode): Permit error stop in pure |
| procedures with F2015. |
| |
| 2014-12-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| * trans-array.c (trans_array_bound_check): Use xasprintf instead |
| of unchecked asprintf. |
| (gfc_conv_array_ref): Ditto. |
| (gfc_conv_ss_startstride): Ditto. |
| (gfc_trans_dummy_array_bias): Ditto. |
| (gfc_conv_array_parameter): Ditto. |
| * trans-decl.c (gfc_generate_function_code): Ditto. |
| * trans-expr.c (gfc_conv_substring): Ditto. |
| (gfc_conv_procedure_call): Ditto. |
| * trans-io.c (gfc_trans_io_runtime_check): Ditto. |
| (set_string): Ditto. |
| * trans.c (trans-runtime_error_vararg): Ditto. |
| |
| 2014-12-29 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/60357 |
| * array.c (check_constructor): Ignore empty expressions. |
| * expr.c (check_alloc_comp_init): Check if constructor expression |
| exists. |
| * primary.c (build_actual_constructor): Warn for absent alloc-comp |
| initializers in pre-2008 standards. |
| |
| 2014-12-28 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/56867 |
| * trans-array.c (gfc_conv_resolve_dependencies): Also check |
| dependencies when there may be substrings of character arrays. |
| |
| 2014-12-27 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/54756 |
| * resolve.c (resolve_formal_arglist): Reject polymorphic INTENT(OUT) |
| arguments of pure procedures. |
| |
| 2014-12-22 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-intrinsic.c (gfc_conv_intrinsic_caf_get, conv_caf_send): |
| Fix vector handling. |
| |
| 2014-12-22 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/63363 |
| * check.c (gfc_check_kind): Reject polymorphic and non-data arguments. |
| |
| 2014-12-19 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/64209 |
| * trans-expr.c (gfc_trans_class_array_init_assign): Check if _def_init |
| component is non-NULL. |
| (gfc_trans_class_init_assign): Ditto. |
| |
| 2014-12-17 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/64173 |
| * trans-array.c (structure_alloc_comps): Do not nullify procedure |
| pointer components. |
| |
| 2014-12-17 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * trans-types.c (gfc_get_array_descr_info): Describe all Fortran arrays |
| with column major ordering. |
| |
| 2014-12-17 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/54687 |
| * gfortran.h (gfc_option_t): Remove flags which now |
| have a Var(). |
| (init_local_real, gfc_fcoarray): Moved to ../flag-types.h. |
| * libgfortran.h (unit_convert): Add comment. |
| * lang.opt (flag-convert, flag-init_real, flag-coarray): |
| Add Var() and Enum(). |
| * options.c (gfc_handle_coarray_option): Remove. |
| (gfc_init_options, gfc_post_options, gfc_handle_option): |
| Update for *.opt changes. |
| * array.c: Update for flag-variable name changes. |
| * check.c: Ditto. |
| * match.c: Ditto. |
| * resolve.c: Ditto. |
| * simplify.c: Ditto. |
| * trans-array.c: Ditto. |
| * trans-decl.c: Ditto. |
| * trans-expr.c: Ditto. |
| * trans-intrinsic.c: Ditto. |
| * trans-stmt.c: Ditto. |
| * trans-types.c: Ditto. |
| * trans.c: Ditto. |
| |
| 2014-12-16 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/54687 |
| * gfortran.h (gfc_option_t): Remove flags which now |
| have a Var(). |
| * lang.opt (flag-aggressive_function_elimination, |
| flag-align_commons, flag-all_intrinsics, |
| flag-allow_leading_underscore, flag-automatic, flag-backslash, |
| flag-backtrace, flag-blas_matmul_limit, flag-cray_pointer, |
| flag-dollar_ok, flag-dump_fortran_original, |
| flag-dump_fortran_optimized, flag-external_blas, flag-f2c, |
| flag-implicit_none, flag-max_array_constructor, |
| flag-module_private, flag-pack_derived, flag-range_check, |
| flag-recursive, flag-repack_arrays, flag-sign_zero, |
| flag-underscoring): Add Var() and, where applicable, Enum(). |
| * options.c (gfc_init_options, gfc_post_options, |
| gfc_handle_option): Update for *.opt changes. |
| * arith.c: Update for flag-variable name changes. |
| * array.c: Ditto. |
| * cpp.c: Ditto. |
| * decl.c: Ditto. |
| * expr.c: Ditto. |
| * f95-lang.c: Ditto. |
| * frontend-passes.c: Ditto. |
| * intrinsic.c: Ditto. |
| * io.c: Ditto. |
| * match.c: Ditto. |
| * module.c: Ditto. |
| * parse.c: Ditto. |
| * primary.c: Ditto. |
| * resolve.c: Ditto. |
| * scanner.c: Ditto. |
| * simplify.c: Ditto. |
| * symbol.c: Ditto. |
| * trans-array.c: Ditto. |
| * trans-common.c: Ditto. |
| * trans-decl.c: Ditto. |
| * trans-expr.c: Ditto. |
| * trans-intrinsic.c: Ditto. |
| * trans-openmp.c: Ditto. |
| * trans-types.c: Ditto. |
| |
| 2014-12-16 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/54687 |
| * lang.opt (fsecond-underscore, frecord-marker=8, frecord-marker=4, |
| frealloc-lhs, freal-8-real-16, freal-8-real-10, freal-8-real-4, |
| freal-4-real-16, freal-4-real-10, freal-4-real-8, fprotect-parens, |
| fstack-arrays, fmax-stack-var-size=, fmax-subrecord-length=, |
| ffrontend-optimize, ffree-line-length-, ffixed-line-length-, |
| finteger-4-integer-8, fdefault-real-8, fdefault-integer-8, |
| fdefault-double-8): Add Var() and Init(). |
| * gfortran.h (gfc_option_t): Remove moved flags. |
| * options.c (gfc_init_options, gfc_handle_option): Ditto. |
| (gfc_post_options): Update for name change. |
| * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Handle |
| flag-name change. |
| * frontend-passes.c (gfc_run_passes): Ditto. |
| * module.c (use_iso_fortran_env_module): Ditto. |
| * primary.c (match_integer_constant, match_real_constant): Ditto. |
| * resolve.c (resolve_ordinary_assign): Ditto. |
| * scanner.c (gfc_next_char_literal, load_line): Ditto. |
| * trans-array.c (gfc_trans_allocate_array_storage, |
| gfc_conv_resolve_dependencies, gfc_trans_auto_array_allocation, |
| gfc_conv_ss_startstride): Ditto. |
| * trans-common.c (gfc_sym_mangled_common_id): Ditto. |
| * trans-decl.c (gfc_sym_mangled_function_id, |
| create_main_function): Ditto. |
| * trans-expr.c (gfc_conv_expr_op, gfc_conv_procedure_call, |
| arrayfunc_assign_needs_temporary, gfc_trans_arrayfunc_assign, |
| gfc_trans_assignment_1): Ditto. |
| * trans-stmt.c (gfc_trans_allocate): Ditto. |
| * trans-types.c (gfc_init_kinds): Ditto. |
| |
| 2014-12-16 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/64244 |
| * resolve.c (resolve_typebound_call): New argument to pass out the |
| non-overridable attribute of the specific procedure. |
| (resolve_typebound_subroutine): Get overridable flag from |
| resolve_typebound_call. |
| |
| 2014-12-15 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR fortran/61669 |
| * gfortran.h (struct gfc_namespace): Add OLD_DATA field. |
| * decl.c (gfc_reject_data): New function. |
| * parse.c *use_modules): Record roll-back point. |
| (next_statement): Likewise. |
| (reject_statement): Roll back to last accepted DATA. |
| |
| 2014-12-15 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/63727 |
| * resolve.c (resolve_actual_arglist): Check for elemental procedure |
| pointer components. |
| |
| 2014-12-15 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/63674 |
| * resolve.c (check_pure_function): Rewording in error message. |
| |
| 2014-12-14 Janus Weil <janus@gcc.gnu.org> |
| |
| PR fortran/63674 |
| * resolve.c (pure_function): Treat procedure-pointer components. |
| (check_pure_function): New function. |
| (resolve_function): Use it. |
| (pure_subroutine): Return a bool to indicate success and modify |
| arguments. |
| (resolve_generic_s0,resolve_specific_s0,resolve_unknown_s): Use return |
| value of 'pure_subroutine'. |
| (resolve_ppc_call): Call 'pure_subroutine'. |
| (resolve_expr_ppc): Call 'check_pure_function'. |
| |
| 2014-12-13 Tobias Burnus <burnus@net-b.de> |
| Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| * error.c (gfc_error): Add variant which takes a va_list. |
| (gfc_notify_std): Convert to common diagnostic. |
| * array.c: Use %qs, %<...%> in more gfc_error calls and |
| for gfc_notify_std. |
| * check.c: Ditto. |
| * data.c: Ditto. |
| * decl.c: Ditto. |
| * expr.c: Ditto. |
| * interface.c: Ditto. |
| * intrinsic.c: Ditto. |
| * io.c: Ditto. |
| * match.c: Ditto. |
| * matchexp.c: Ditto. |
| * module.c: Ditto. |
| * openmp.c: Ditto. |
| * parse.c: Ditto. |
| * primary.c: Ditto. |
| * resolve.c: Ditto. |
| * simplify.c: Ditto. |
| * symbol.c: Ditto. |
| * trans-common.c: Ditto. |
| * trans-intrinsic.c: Ditto. |
| |
| 2014-12-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/42108 |
| * trans-stmt.c (gfc_trans_do): Execute the division computing |
| countm1 before the loop entry check. |
| |
| 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/44054 |
| * error.c (pp_error_buffer): New static variable. |
| (pp_warning_buffer): Make it a pointer. |
| (gfc_output_buffer_empty_p): New. |
| (gfc_error_init_1): Call gfc_buffer_error. |
| (gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the |
| buffered_p flag. |
| (gfc_clear_warning): Likewise. |
| (gfc_warning_check): Call gfc_clear_warning. Only check the new |
| pp_warning_buffer if the old warning_buffer was empty. Call |
| diagnostic_action_after_output. |
| (gfc_error_1): Renamed from gfc_error. |
| (gfc_error): New. |
| (gfc_clear_error): Clear also pp_error_buffer. |
| (gfc_error_flag_test): Check also pp_error_buffer. |
| (gfc_error_check): Likewise. Only check the new pp_error_buffer |
| if the old error_buffer was empty. |
| (gfc_move_output_buffer_from_to): New. |
| (gfc_push_error): Use it here. Take also an output_buffer as argument. |
| (gfc_pop_error): Likewise. |
| (gfc_free_error): Likewise. |
| (gfc_diagnostics_init): Use XNEW and placement-new to init |
| pp_error_buffer and pp_warning_buffer. Set flush_p to false for |
| both pp_warning_buffer and pp_error_buffer. |
| |
| * Update gfc_push_error, gfc_pop_error and gfc_free_error calls |
| according to the above changes. |
| * Use gfc_error_1 for all gfc_error calls that use multiple |
| locations. |
| * Use %qs instead of '%s' for many gfc_error calls. |
| |
| 2014-12-11 Tobias Burnus <burnus@net-b.de> |
| Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| * diagnostic.c (get_terminal_width): Renamed from getenv_columns, |
| removed static, and additionally use ioctl to get width. |
| (diagnostic_set_caret_max_width): Update call. |
| * diagnostic.h (get_terminal_width): Add prototype. |
| * opts.c (print_specific_help): Use it for x_help_columns. |
| * doc/invoke.texi (fdiagnostics-show-caret): Document how the |
| width is set. |
| |
| 2014-12-10 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR fortran/60718 |
| * trans-expr.c (gfc_conv_procedure_call): Fix a strict aliasing |
| violation when passing a class object to a formal parameter which has |
| different pointer or allocatable attributes. |
| |
| 2014-12-06 Tobias Burnus <burnus@net-b.de> |
| |
| * error.c (gfc_error_check): Use bool not int. |
| * gfortran.h (gfc_error_check): Update prototype. |
| * match.c (gfc_match_if): Update call. |
| * parse.c (decode_statement, decode_omp_directive, |
| decode_gcc_attribute): Ditto. |
| |
| 2014-12-06 Tobias Burnus <burnus@net-b.de> |
| Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| * error.c (gfc_buffer_error, gfc_error_flag_test): Use bool not int. |
| (buffer_flag): Remove static variable. |
| (buffered_p): Add static variable. |
| (gfc_error_init_1): Call gfc_buffer_error. |
| (gfc_warning_1, gfc_warning, gfc_warning_now_1, gfc_error, |
| gfc_error_now_1): Update for static variable change. |
| * gfortran.h (gfc_buffer_error, gfc_error_flag_test): Update |
| prototype. |
| * parse.c (use_modules, decode_specification_statement, |
| next_fixed, next_statement, match_deferred_characteristics): |
| Update calls. |
| * decl.c (gfc_match_data_decl): Ditto. |
| * match.c (gfc_match_name): Ditto. |
| |
| 2014-12-05 Andre Vehreschild <vehre@gmx.de> |
| |
| PR fortran/60414 |
| * interface.c (compare_parameter): Remove class argument rank |
| check short circuit. |
| |
| 2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| * error.c (gfc_diagnostic_build_locus_prefix): Use |
| diagnostic_expand_location. |
| |
| 2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| * scanner.c (gfc_next_char_literal): Use gfc_warning_now. |
| (load_file): Use the line length as the column hint for |
| linemap_line_start. Reserve a location for the highest column of |
| the line. |
| |
| 2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/44054 |
| * gfortran.h (gfc_warning): Now returns bool. Add overload that |
| accepts opt. |
| (gfc_warning_1): Declare. |
| * error.c |
| (pp_warning_buffer,warningcount_buffered,werrorcount_buffered): New. |
| (gfc_buffer_error): Set pp_warning_buffer.flush_p. |
| (gfc_clear_pp_buffer): New. |
| (gfc_warning_1): Renamed from gfc_warning. |
| (gfc_warning): Add three new overloads. One that takes just a |
| format string and ellipsis, another that takes also a warning |
| option, and another that takes also va_list instead of ellipsis. |
| (gfc_clear_warning): Clear pp_warning_buffer. |
| (gfc_warning_check): Flush pp_warning_buffer and update warning |
| and werror counters. |
| (gfc_diagnostics_init): Init pp_warning_buffer. |
| |
| * Update all gfc_warning calls that do not use multiple |
| locations to use %qs and OPT_W*, otherwise use gfc_warning_1. |
| |
| 2014-12-02 Tobias Burnus <burnus@net-b.de> |
| Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| * error.c (warnings_not_errors): Use bool. |
| (gfc_clear_error): Update. |
| (gfc_get_errors): Ditto. Use bool argument. |
| * gfortran.h (gfc_get_errors): Update prototype. |
| * resolve.c (resolve_global_procedure): Update call. |
| |
| 2014-12-02 Richard Biener <rguenther@suse.de> |
| |
| PR fortran/64137 |
| * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Check |
| proper expressions type, use proper type for computing |
| -Huge - 1. |
| |
| 2014-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| * trans-openmp.c (gfc_omp_finish_clause, |
| gfc_trans_omp_array_reduction_or_udr, gfc_trans_omp_atomic): Remove |
| NULL last argument from create_tmp_var_raw and create_tmp_var calls. |
| |
| 2014-11-29 Tobias Burnus <burnus@net-b.de> |
| |
| * scanner.c (skip_free_comments, gfc_gobble_whitespace): Use |
| gfc_warning_now instead of ..._now_1. |
| |
| 2014-11-29 Tobias Burnus <burnus@net-b.de> |
| Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| * lang.opt (Wtabs): Combine duplicated item into a single |
| one using || for LangEnabledBy. |
| |
| 2014-11-25 Tobias Burnus <burnus@net-b.de> |
| |
| * error.c (gfc_internal_error): Convert to common diagnostics. |
| * interface.c (gfc_find_sym_in_symtree): Use %qs. |
| * intrinsic.c (make_generic, gfc_check_intrinsic_standard, |
| gfc_convert_type_warn): Ditto. |
| * module.c (write_symbol): Ditto. |
| * symbol.c (gfc_get_default_type): Ditto; use fatal instead |
| of internal error. |
| * trans-array.c (gfc_walk_subexpr): Replace internal_error by |
| gfc_internal_error. |
| * trans-decl.c (gfc_get_symbol_decl, |
| (gfc_create_module_variable): Ditto. Use %qs. |
| * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Ditto. |
| * trans-io.c (transfer_expr): Ditto. |
| * trans-openmp.c (gfc_trans_omp_workshare): Ditto. |
| * trans.c (trans_code): Ditto. |
| |
| 2014-11-25 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.h (gfc_option_t): Remove flags moved as Var to .opt. |
| (gfc_error_now_1): Renamed from gfc_error_now. |
| (gfc_error_now): Renamed from gfc_error_now_2. |
| (gfc_warning_now_1): Renamed from gfc_warning_now. |
| (gfc_warning_now): Renamed from gfc_warning_now_2. |
| * error.c (gfc_error_now_1): Renamed from gfc_error_now. |
| (gfc_error_now): Renamed from gfc_error_now_2. |
| (gfc_warning_now_1): Renamed from gfc_warning_now. |
| (gfc_warning_now): Renamed from gfc_warning_now_2. |
| (gfc_get_errors): Include common diagnostic in count. |
| * lang.opt (Wc-binding-type, Wconversion, Wconversion-extra, |
| Wintrinsics-std): Create a Var for those warnings. |
| * check.c (gfc_check_cmplx): Pass warning flag to |
| diagnostic function. |
| * decl.c (get_proc_name, gfc_verify_c_interop_param, build_sym |
| gfc_set_constant_character_len, verify_bind_c_sym): Ditto; use |
| _1 for old diagnostic, remove _2 for new diagnostic. |
| * expr.c (gfc_check_assign, gfc_check_vardef_context): Ditto. |
| * frontend-passes.c (doloop_code, do_function): Ditto. |
| * intrinsic.c (gfc_is_intrinsic, gfc_convert_type_warn): Ditto. |
| * match.c (gfc_match_common): Ditto. |
| * module.c (use_iso_fortran_env_module, gfc_use_module): Ditto. |
| * parse.c (decode_statement, decode_gcc_attribute, next_free, |
| next_fixed, gfc_check_do_variable): Ditto. |
| * resolve.c (resolve_common_vars, resolve_ordinary_assign): |
| Ditto. |
| * scanner.c (add_path_to_list, skip_free_comments, |
| gfc_next_char_literal, gfc_gobble_whitespace, load_line, |
| preprocessor_line, load_file): Ditto. |
| * symbol.c (gfc_set_default_type, verify_bind_c_derived_type): |
| Ditto. |
| * options.c (gfc_post_options): Ditto. |
| (gfc_init_options, set_Wall, gfc_handle_option): Ditto; remove |
| flags which now have a Var. |
| * invoke.texi (Wconversion-extra): Make clear that the flag |
| does not imply -Wconversion. |
| |
| 2014-11-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/63938 |
| * trans-openmp.c (gfc_trans_omp_atomic): Make sure lhsaddr is |
| simple enough for goa_lhs_expr_p. |
| |
| 2014-11-24 Tobias Burnus <burnus@net-b.de> |
| |
| * error.c (gfc_fatal_error_1): Remove. |
| * gfortran.h (gfc_fatal_error_1): Remove. |
| * check.c (check_co_collective): Change gfc_fatal_error_1 to |
| gfc_fatal_error. |
| * match.c (gfc_match_name): Ditto. |
| * trans-array.c (gfc_conv_array_initializer): Ditto. |
| * trans-stmt.c (gfc_trans_sync): Ditto. |
| |
| 2014-11-23 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/44054 |
| * decl.c (gfc_verify_c_interop_param): Use gfc_error_now_2. |
| (gfc_set_constant_character_len): Use gfc_warning_now_2. |
| * resolve.c (resolve_ordinary_assign): Likewise. |
| * gfortran.h (warn_character_truncation): Do not declare here. |
| * error.c (gfc_format_decoder): Handle %L. |
| * lang.opt (Wcharacter-truncation): Add Var and LangEnabledBy. |
| * options.c (gfc_init_options): Do not handle |
| warn_character_truncation explicitly. |
| (set_Wall): Likewise. |
| (gfc_handle_option): Likewise. |
| |
| 2014-11-23 Tobias Burnus <burnus@net-b.de> |
| |
| * invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that |
| -Wtabs enables the warning. |
| |
| 2014-11-23 Tobias Burnus <burnus@net-b.de> |
| |
| * error.c (gfc_diagnostic_build_prefix): Correct coloring |
| of the colon of the prefix. |
| |
| 2014-11-23 Tobias Burnus <burnus@net-b.de> |
| Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| * gfortran.h (gfc_option_t): Remove warn_tabs. |
| * lang.opt (Wpedantic): Add. |
| (Wtabs): Use Var and LangEnabledBy. |
| * options.c (gfc_init_options, gfc_post_options, |
| set_Wall): Remove -Wtabs handling. |
| (gfc_handle_option): Update -std=, remove OPT_Wtabs. |
| * scanner.c (gfc_gobble_whitespace): Update for |
| flag-variable renaming. |
| (load_line): Ditto. Pass warn flag to diagnostic. |
| |
| 2014-11-22 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-expr.c (gfc_caf_get_image_index): Fix image calculation. |
| |
| 2014-11-15 Tobias Burnus <burnus@net-b.de> |
| |
| * error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error. |
| (gfc_fatal_error): Add; uses common diagnostics. |
| * array.c (gfc_match_array_ref, gfc_match_array_spec): Use |
| %< %>. |
| * check.c (check_co_collective, gfc_check_lcobound, |
| gfc_check_image_index, gfc_check_num_images, |
| gfc_check_this_image, gfc_check_ucobound): Ditto. |
| * cpp.c (gfc_cpp_post_options): Ditto. |
| (gfc_cpp_init_0, gfc_cpp_done): Change %s to %qs. |
| * gfc-diagnostic.def (DK_FATAL): Capitalize first letter. |
| * gfortran.h (gfc_fatal_error_1): Add. |
| * match.c (gfc_match_name, gfc_match_critical, |
| lock_unlock_statement, sync_statement): Add %< %>. |
| * module.c (bad_module, gfc_dump_module, gfc_use_module): Change |
| %s to %qs. |
| * options.c (gfc_handle_module_path_options, gfc_handle_fpe_option, |
| gfc_handle_coarray_option, gfc_handle_runtime_check_option, |
| gfc_handle_option): Add %< %>. |
| * simplify.c (gfc_simplify_num_images): Ditto. |
| * trans-stmt.c (gfc_trans_sync): Use gfc_fatal_error_1. |
| * trans-array.c (gfc_conv_array_initializer): Ditto. |
| * trans-types.c (gfc_init_kinds): Use gfc_fatal_error instead |
| of fatal_error; add %< %> quotations. |
| |
| 2014-11-13 Bernd Schmidt <bernds@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| Ilya Verbin <ilya.verbin@intel.com> |
| Andrey Turetskiy <andrey.turetskiy@intel.com> |
| |
| * Make-lang.in (fortran.install-common): Do not install for the offload |
| compiler. |
| |
| 2014-11-11 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/44054 |
| * gfortran.h (warn_use_without_only): Remove. |
| (gfc_diagnostics_finish): Declare. |
| * error.c: Include tree-diagnostics.h |
| (gfc_format_decoder): New. |
| (gfc_diagnostics_init): Use gfc_format_decoder. Set default caret |
| char. |
| (gfc_diagnostics_finish): Restore tree diagnostics defaults, but |
| keep gfc_diagnostics_starter and finalizer. Restore default caret. |
| * options.c: Remove all uses of warn_use_without_only. |
| * lang.opt (Wuse-without-only): Add Var. |
| * f95-lang.c (gfc_be_parse_file): Call gfc_diagnostics_finish. |
| * module.c (gfc_use_module): Use gfc_warning_now_2. |
| * parse.c (decode_statement): Likewise. |
| (decode_gcc_attribute): Likewise. |
| (next_free): Likewise. |
| (next_fixed): Likewise. |
| |
| 2014-11-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR fortran/63701 |
| * trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false. |
| |
| 2014-11-10 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| PR libfortran/47007 |
| PR libfortran/61847 |
| * gfortran.texi: Add note about locale issues to thread-safety |
| section. |
| |
| 2014-11-04 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * f95-lang.c (gfc_init_builtin_functions): Use type index 2 for |
| scalbn, scalbnl and scalbnf. |
| * mathbuiltins.def (JN, YN): Use type index 5. |
| |
| 2014-10-29 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * trans-types.c, trans-types.h: Remove redundant enum from |
| machine_mode. |
| |
| 2014-10-28 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/44054 |
| * gfortran.h (gfc_warning_cmdline): Rename as gfc_warning_now_2. |
| (gfc_error_cmdline): Rename as gfc_error_now_2. |
| * error.c (gfc_diagnostic_build_locus_prefix): Remove trailing space. |
| (gfc_diagnostic_starter): Add space between locus and prefix. |
| (gfc_warning_now_2): Renamed from gfc_warning_cmdline. |
| (gfc_error_now_2): Renamed from gfc_error_cmdline. |
| * scanner.c (add_path_to_list): Use gfc_warning_now_2. |
| (load_line): Likewise. |
| (load_file): Likewise. |
| * options.c (gfc_post_options): Update all renamed functions. |
| |
| 2014-10-28 Andrew MacLeod <amacleod@redhat.com> |
| |
| * f95-lang.c: Adjust include files. |
| * trans-decl.c: Ditto. |
| |
| 2014-10-24 Tobias Burnus <burnus@net-b.de> |
| |
| * check.c (check_co_collective): Reject coindexed A args. |
| (gfc_check_co_reduce): Add OPERATOR checks. |
| * gfortran.texi (_gfortran_caf_co_broadcast, _gfortran_caf_co_max, |
| _gfortran_caf_co_min, _gfortran_caf_co_sum, |
| _gfortran_caf_co_reduce): Add ABI documentation. |
| * intrinsic.texi (CO_REDUCE): Document intrinsic. |
| (DPROD): Returns double not single precision. |
| * trans-decl.c (gfor_fndecl_co_reduce): New global var. |
| (gfc_build_builtin_function_decls): Init it. |
| * trans.h (gfor_fndecl_co_reduce): Declare it. |
| * trans-intrinsic.c (conv_co_collective, |
| gfc_conv_intrinsic_subroutine): Handle CO_REDUCE. |
| |
| 2014-10-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/48979 |
| * trans-const.c (gfc_build_nan): New function. |
| * trans-const.h (gfc_build_nan): New prototype. |
| * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Handle special |
| values. |
| (gfc_conv_intrinsic_minmaxval): Use gfc_build_nan. |
| (gfc_conv_intrinsic_fraction): Handle special values. |
| (gfc_conv_intrinsic_spacing): Likewise. |
| (gfc_conv_intrinsic_rrspacing): Likewise. |
| (gfc_conv_intrinsic_set_exponent): Likewise. |
| |
| 2014-10-18 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/63553 |
| * resolve.c (resolve_ordinary_assign): Add data component to |
| rvalue expression for class to type assignment. |
| |
| 2014-10-16 Andrew MacLeod <amacleod@redhat.com> |
| |
| * f95-lang.c: Adjust include files. |
| * trans-decl.c: Likewise. |
| |
| 2014-10-12 Trevor Saunders <tsaunders@mozilla.com> |
| |
| * trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab. |
| |
| 2014-10-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/48979 |
| * simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros. |
| (gfc_simplify_log): Likewise. |
| (gfc_simplify_scale): Likewise. |
| (gfc_simplify_exponent): Handle infinities and NaNs. |
| (gfc_simplify_fraction): Handle infinities. |
| (gfc_simplify_rrspacing): Handle signed zeros and NaNs. |
| (gfc_simplify_set_exponent): Handle infinities and NaNs. |
| (gfc_simplify_spacing): Handle zeros, infinities and NaNs. |
| |
| 2014-10-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/59488 |
| * trans-openmp.c (gfc_omp_predetermined_sharing): Return |
| OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables. |
| |
| 2014-10-10 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.h (gfc_set_implicit_none): Update prototype. |
| * symbol.c (gfc_set_implicit_none): Take and |
| use error location. Move diagnostic from here to ... |
| * decl.c (gfc_match_implicit_none): ... here. And |
| update call. Handle empty implicit-none-spec. |
| (gfc_match_implicit): Handle statement-separator ";". |
| |
| 2014-10-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * f95-lang.c (gfc_init_builtin_functions): Add more floating-point |
| built-ins. |
| * mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb, |
| remainder, rint and signbit. |
| * trans-decl.c (save_fp_state, restore_fp_state): Move to |
| trans-intrinsic.c |
| (gfc_generate_function_code): Use new names for these two functions. |
| * trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to |
| emit code from the front-end. |
| * trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state, |
| conv_ieee_function_args, conv_intrinsic_ieee_builtin, |
| conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative, |
| conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem, |
| conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb, |
| conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function): |
| New functions. |
| * trans.h (gfc_conv_ieee_arithmetic_function, |
| gfc_save_fp_state, gfc_restore_fp_state): New prototypes. |
| |
| 2014-10-06 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/44054 |
| PR fortran/54687 |
| * gfortran.h (gfc_warning_cmdline): Add overload that takes an |
| option. |
| (gfc_error_cmdline): Declare. |
| * error.c (gfc_warning_cmdline): New overload that takes an option. |
| (gfc_error_cmdline): New. |
| * lang.opt (Wmissing-include-dirs): New. |
| * scanner.c (add_path_to_list): Use the new functions. |
| (load_file): Likewise. |
| * options.c (gfc_init_options): Wmissing-include-dirs is enabled |
| by default in Fortran. |
| (gfc_handle_option): Accept automatically handled options. |
| |
| 2014-10-06 Tobias Burnus <burnus@net-b.de> |
| |
| * libgfortran.h (GFC_STD_F2015): Add. |
| * decl.c (gfc_match_implicit_none): Handle spec list. |
| (gfc_match_implicit): Move double intrinsic warning here. |
| * gfortran.h (gfc_namespace): Add has_implicit_none_export:1. |
| (gfc_set_implicit_none): Update interface. |
| * interface.c (gfc_procedure_use): Add implicit-none external |
| error check. |
| * parse.c (accept_statement): Remove call. |
| (verify_st_order): Permit that external-implict-none follows |
| implicit statement. |
| * symbol.c (gfc_set_implicit_none): Handle external/type |
| implicit none. |
| |
| 2014-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/36534 |
| * resolve.c (resolve_fl_procedure): Clean up obsolescence warning. |
| |
| 2014-09-25 Tobias Burnus <burnus@net-b.de> |
| |
| * check.c (check_co_collective): Renamed from check_co_minmaxsum, |
| handle co_reduce. |
| (gfc_check_co_minmax, gfc_check_co_sum): Update call. |
| (gfc_check_co_broadcast, gfc_check_co_reduce): New. |
| * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and |
| GFC_ISYM_CO_REDUCE. |
| * intrinsic.c (add_subroutines): Add co_reduce and co_broadcast. |
| * intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add |
| proto types. |
| * intrinsic.texi (CO_BROADCAST): Add. |
| * trans.h (gfor_fndecl_co_broadcast): New. |
| * trans-decl.c (gfor_fndecl_co_broadcast): Ditto. |
| (gfc_build_builtin_function_decls): Add decl for it, |
| * trans-intrinsic.c (conv_co_collective): Renamed from |
| conv_co_minmaxsum. Handle co_reduce. |
| (gfc_conv_intrinsic_subroutine): Handle co_reduce. |
| |
| 2014-09-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/63331 |
| * trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL |
| instead of VAR_DECL for base_decl. |
| |
| 2014-09-21 Jan Hubicka <hubicka@ucw.cz> |
| |
| * openmp.c (omp_context): Rename to ... |
| (fortran_omp_context): ... this one. |
| |
| 2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| * resolve.c (resolve_fl_procedure): Remove duplicated lines. |
| |
| 2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> |
| Tobias Burnus <burnus@net-b.de> |
| |
| * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with |
| generating temporary for value argument. |
| |
| 2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org> |
| |
| * trans-expr.c (gfc_reset_vptr): Fix comment whitespace. |
| (gfc_conv_class_to_class): Likewise. |
| (gfc_conv_procedure_call): Likewise. |
| (arrayfunc_assign_needs_temporary): Likewise. |
| (realloc_lhs_loop_for_fcn_call): Likewise. |
| (gfc_trans_assignment_1): Likewise. |
| * trans-array.c (gfc_conv_array_ref): Likewise. |
| (gfc_array_allocate): Likewise. |
| (gfc_alloc_allocatable_for_assignment): Likewise. |
| * symbol.c (generate_isocbinding_symbol): Likewise. |
| * class.c (finalization_scalarizer): Likewise. |
| (finalizer_insert_packed_call): Likewise. |
| (generate_finalization_wrapper): Likewise. |
| (find_intrinsic_vtab): Likewise. |
| * decl.c (gfc_match_import): Likewise. |
| (match_procedure_decl): Likewise. |
| (gfc_match_subroutine): Likewise. |
| (gfc_match_bind_c): Likewise. |
| (gfc_match_volatile): Likewise. |
| * trans-common.c (create_common): Likewise. |
| * error.c (gfc_diagnostic_starter): Likewise. |
| * trans-stmt.c (gfc_trans_sync): Likewise. |
| (gfc_trans_critical): Likewise. |
| (gfc_trans_simple_do): Likewise. |
| (gfc_trans_do): Likewise. |
| (gfc_trans_where_assign): Likewise. |
| * expr.c (gfc_is_simply_contiguous): Likewise. |
| * module.c (unquote_string): Likewise. |
| * trans.c (gfc_add_finalizer_call): Likewise. |
| * trans-types.c (gfc_init_kinds): Likewise. |
| * scanner.c (preprocessor_line): Likewise. |
| * gfortranspec.c (lang_specific_driver): Likewise. |
| * frontend-passes.c (create_var): Likewise. |
| (cfe_expr_0): Likewise. |
| * resolve.c (check_host_association): Likewise. |
| (gfc_resolve_code): Likewise. |
| (resolve_fl_derived0): Likewise. |
| (resolve_symbol): Likewise. |
| * f95-lang.c (poplevel): Likewise. |
| * trans-decl.c (create_main_function): Likewise. |
| * trans-io.c (transfer_expr): Likewise. |
| * arith.c (gfc_arith_divide): Likewise. |
| * parse.c (resolve_all_program_units): Likewise. |
| * check.c (gfc_check_rank): Likewise. |
| (gfc_check_sizeof): Likewise. |
| (is_c_interoperable): Likewise. |
| * dependency.c (gfc_dep_difference): Likewise. |
| * primary.c (gfc_match_rvalue): Likewise. |
| * trans-intrinsic.c (conv_intrinsic_system_clock): Likewise. |
| (conv_isocbinding_subroutine): Likewise. |
| * options.c (gfc_post_options): Likewise. |
| (gfc_handle_fpe_option): Likewise. |
| (gfc_get_option_string): Likewise. |
| * simplify.c (simplify_transformation_to_scalar): Likewise. |
| (gfc_simplify_spread): Likewise. |
| |
| 2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org> |
| |
| PR fortran/63152 |
| * trans-array.c (gfc_trans_deferred_array): Only nullify allocatables. |
| |
| 2014-09-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * Make-lang.in (check_gfortran_parallelize): Change to just an upper |
| bound number. |
| |
| 2014-09-13 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/63252 |
| * trans-decl.c (gfc_build_builtin_function_decls): Fix |
| caf_unlock declaration. |
| |
| 2014-09-12 Joseph Myers <joseph@codesourcery.com> |
| |
| * trans-types.c (gfc_init_kinds): Check |
| targetm.libgcc_floating_mode_supported_p for floating-point |
| modes. Check HAVE_TFmode instead of LIBGCC2_HAS_TF_MODE. |
| |
| 2014-09-05 Joost VandeVondele <vondele@gcc.gnu.org> |
| |
| PR fortran/62245 |
| * intrinsic.texi (INT): clarify result. |
| |
| 2014-09-03 Fritz Reese <Reese-Fritz@zai.com> |
| |
| PR fortran/62174 |
| * decl.c (variable_decl): Don't overwrite typespecs of Cray pointees |
| when matching a component declaration. |
| |
| 2014-09-02 Marek Polacek <polacek@redhat.com> |
| |
| PR fortran/62270 |
| * interface.c (compare_parameter): Fix condition. |
| * trans-expr.c (gfc_conv_procedure_call): Likewise. |
| |
| 2014-08-31 Fritz Reese <Reese-Fritz@zai.com> |
| |
| PR fortran/62309 |
| * resolve.c (apply_default_init_local): Don't treat variables |
| in RECURSIVE procedures as saved. |
| |
| 2014-08-31 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-decl.c (gfc_build_builtin_function_decls): Add |
| may_require_tmp dummy argument. |
| * trans-intrinsic.c (gfc_conv_intrinsic_caf_get, |
| conv_caf_send): Handle may_require_tmp argument. |
| (gfc_conv_intrinsic_function): Update call. |
| * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get, |
| _gfortran_caf_sendget): Update interface description. |
| |
| 2014-08-30 Tobias Burnus <burnus@net-b.de> |
| |
| * trans.h (gfc_caf_get_image_index, |
| gfc_get_caf_token_offset): New prototypes. |
| * trans-expr.c (gfc_caf_get_image_index): Moved from |
| trans-intrinsic.c and renamed. |
| (gfc_get_caf_token_offset) Ditto; support offset = NULL |
| with early return. |
| * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index): |
| Moved to trans-expr. |
| (gfc_conv_intrinsic_caf_get, conv_caf_send, |
| conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref, |
| conv_intrinsic_atomic_cas): Update callers. |
| |
| 2014-08-30 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/62278 |
| PR fortran/44735 |
| PR fortran/60593 |
| * dependency.c (gfc_check_dependency): Allow for optimizations |
| in the pointer-alias check. |
| |
| 2014-08-30 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| * module.c (gfc_dump_module): Use ISO C remove() instead of POSIX |
| unlink(). |
| |
| 2014-08-29 Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com> |
| |
| PR fortran/62215 |
| * module.c (gfc_dump_module): Unlink old module file before |
| renaming new one. |
| |
| 2014-08-26 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * frontend_passes (expr_array): Replace by vec template. |
| (expr_size): Remove. |
| (expr_count): Remove. |
| (doloop_list): Replace by vec template. |
| (doloop_size): Remove. |
| (gfc_run_passes): Adjust to use of vec template. |
| (cfe_register_funcs): Likewise. |
| (cfe_expr_0): Likewise. |
| (doloop_code): Likewise. |
| |
| 2014-08-22 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR fortran/62135 |
| * resolve.c (resolve_select): Fix list traversal in case the |
| last element of the CASE list was dropped as unreachable code. |
| |
| 2014-08-22 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch> |
| |
| PR fortran/61234 |
| * lang.opt (Wuse-without-only): New flag. |
| * gfortran.h (gfc_option_t): Add it. |
| * invoke.texi: Document it. |
| * module.c (gfc_use_module): Warn if needed. |
| * options.c (gfc_init_options,gfc_handle_option): Init accordingly. |
| |
| 2014-08-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/62214 |
| * frontend-passes.c (optimize_binop_array_assignment): |
| Do not try to optimize the array assignment for string |
| concatenation. |
| |
| 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/44054 |
| * error.c (gfc_diagnostic_build_locus_prefix): New function. |
| (gfc_diagnostic_starter): Follow Fortran FE diagnostics. |
| (gfc_diagnostic_finalizer): Do not call default finalizer. |
| |
| 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/44054 |
| * error.c (gfc_diagnostic_finalizer): Call default finalizer. |
| |
| 2014-08-20 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch> |
| |
| * options.c (gfc_init_options_struct): assert that the frontend sets |
| flag_errno_math and flag_associative_math. |
| |
| 2014-08-17 Tobias Burnus <burnus@net-b.de> |
| |
| * resolve.c (gfc_resolve_finalizers): Ensure that parents are |
| resolved first. |
| |
| 2014-08-17 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-io.c (gfc_build_io_library_fndecls): Fix decl of |
| IOCALL_SET_NML_VAL. |
| (transfer_namelist_element): Use proper int type as argument. |
| |
| 2014-08-15 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/62142 |
| * trans-expr.c (is_runtime_conformable): Add NULL pointer checks. |
| |
| 2014-08-15 Tobias Burnus <burnus@net-b.de> |
| |
| * resolve.c (resolve_critical): Fix name mangling. |
| * trans-stmt.c (gfc_trans_critical): Fix lock call. |
| |
| 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/44054 |
| * gfortran.h: Define GCC_DIAG_STYLE. |
| (gfc_diagnostics_init,gfc_warning_cmdline): Declare. |
| * trans-array.c: Include gfortran.h before diagnostic-core.h. |
| * trans-expr.c: Likewise. |
| * trans-openmp.c: Likewise. |
| * trans-const.c: Likewise. |
| * trans.c: Likewise. |
| * trans-types.c: Likewise. |
| * f95-lang.c: Likewise. |
| * trans-decl.c: Likewise. |
| * trans-io.c: Likewise. |
| * trans-intrinsic.c: Likewise. |
| * error.c: Include diagnostic.h and diagnostic-color.h. |
| (gfc_diagnostic_build_prefix): New. |
| (gfc_diagnostic_starter): New. |
| (gfc_diagnostic_finalizer): New. |
| (gfc_warning_cmdline): New. |
| (gfc_diagnostics_init): New. |
| * gfc-diagnostic.def: New. |
| * options.c (gfc_init_options): Call gfc_diagnostics_init. |
| (gfc_post_options): Use gfc_warning_cmdline. |
| |
| 2014-08-15 Jakub Jelinek <jakub@redhat.com> |
| Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/62131 |
| * openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr |
| is allocatable, rather than whenever var->attr.allocatable. |
| |
| 2014-08-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/62107 |
| * trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer |
| or allocatable passed by reference. |
| (gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise. |
| |
| 2014-08-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/62106 |
| * gfortran.h (symbol_attribute): Add fe_temp flag. |
| * frontend-passes.c (is_fe_temp): New function. |
| (create_var): Don't add a temporary for an already |
| created variable or for a constant. |
| (combine_ARRAY_constructor): Remove special handling |
| for constants. |
| |
| 2014-08-14 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL. |
| (_gfortran_caf_register): Update for locking/critical. |
| (_gfortran_caf_lock, _gfortran_caf_unlock): Add. |
| * resolve.c (resolve_critical): New. |
| (gfc_resolve_code): Call it. |
| * trans-decl.c (gfor_fndecl_caf_critical, |
| gfor_fndecl_caf_end_critical): Remove. |
| (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add. |
| (gfc_build_builtin_function_decls): Remove critical, |
| assign locking declarations. |
| (generate_coarray_sym_init): Handle locking and |
| critical variables. |
| * trans-stmt.c (gfc_trans_critical): Add calls to |
| lock/unlock libcaf functions. |
| * trans.h (gfc_coarray_type): Update locking, add |
| critical enum values. |
| (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove. |
| (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add. |
| |
| 2014-08-14 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.texi (Coarray Programming): Add first ABI |
| documentation. |
| |
| 2014-08-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/62076 |
| * openmp.c (gfc_match_omp_clauses): When failed to match |
| operator name, defined op name or name, set buffer to |
| empty string. Don't call gfc_find_omp_udr if buffer is empty |
| string. |
| (gfc_match_omp_declare_reduction): Call gfc_undo_symbols () |
| before calling gfc_free_omp_udr. |
| |
| 2014-08-11 Richard Biener <rguenther@suse.de> |
| |
| PR fortran/61950 |
| * trans-expr.c (gfc_conv_structure): Initialize _size with |
| a value of proper type. |
| |
| 2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/61999 |
| * simplify.c (gfc_simplify_dot_product): Convert types of |
| vectors before calculating the result. |
| |
| 2014-08-02 Trevor Saunders <tsaunders@mozilla.com> |
| |
| * openmp.c, trans-decl.c: Use hash_set instead of pointer_set. |
| |
| 2014-07-26 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/61881 |
| PR fortran/61888 |
| PR fortran/57305 |
| * intrinsic.texi (SIZEOF): Document changed behavior |
| for polymorphic arrays. |
| |
| 2014-07-26 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/61881 |
| PR fortran/61888 |
| PR fortran/57305 |
| * check.c (gfc_check_sizeof): Permit for assumed type if and |
| only if it has an array descriptor. |
| * intrinsic.c (do_ts29113_check): Permit SIZEOF. |
| (add_functions): SIZEOF is an Inquiry function. |
| * intrinsic.texi (SIZEOF): Add note that only contiguous |
| arrays are permitted. |
| * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed |
| rank. |
| * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle |
| assumed type + array descriptor, CLASS and assumed rank. |
| (gfc_conv_intrinsic_storage_size): Handle class arrays. |
| |
| 2014-07-25 Tobias Burnus <burnus@net-b.de> |
| |
| * simplify.c (gfc_simplify_storage_size): Use proper |
| integer kind for the returned value. |
| |
| 2014-07-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to |
| correct menu position to match sectioning. |
| |
| 2014-06-15 Tobias Burnus <burnus@net-b.de> |
| |
| * symbol.c (check_conflict): Add codimension conflict with |
| pointer; fix cray-pointee check. |
| |
| 2014-06-14 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling |
| for kind mismatch with -fcoarray=lib. |
| |
| 2014-07-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/61780 |
| * dependency.c (gfc_dep_resolver): Index the 'reverse' array so |
| that elements are skipped. This then correctly aligns 'reverse' |
| with the scalarizer loops. |
| |
| 2014-07-12 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/61628 |
| * trans-types.c (gfc_init_types): Fix data-type bug |
| with gfc_max_array_element_size. |
| |
| 2014-07-12 Tobias Burnus <burnus@net-b.de> |
| |
| * libgfortran.h (libcaf_atomic_codes): Add. |
| * trans-decl.c (gfor_fndecl_caf_atomic_def, |
| gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas, |
| gfor_fndecl_caf_atomic_op): New variables. |
| (gfc_build_builtin_function_decls): Initialize them. |
| * trans.h (gfor_fndecl_caf_atomic_def, |
| gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas, |
| gfor_fndecl_caf_atomic_op): New variables. |
| * trans-intrinsic.c (conv_intrinsic_atomic_op, |
| conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas): |
| Add library calls with -fcoarray=lib. |
| |
| 2014-07-12 Tobias Burnus <burnus@net-b.de> |
| |
| * check.c (gfc_check_atomic): Update for STAT=. |
| (gfc_check_atomic_def, gfc_check_atomic_ref): Update call. |
| (gfc_check_atomic_op, gfc_check_atomic_cas, |
| gfc_check_atomic_fetch_op): New. |
| * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS, GFC_ISYM_ATOMIC_ADD, |
| GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR, |
| GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND, |
| GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR. |
| * intrinsic.c (add_subroutines): Handle them. |
| * intrinsic.texi: Add documentation for them. |
| (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=. |
| (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE. |
| * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas, |
| gfc_check_atomic_fetch_op): New |
| prototypes. |
| * libgfortran.h (libgfortran_stat_codes): Add GFC_STAT_FAILED_IMAGE. |
| * iso-fortran-env.def: Add it. |
| * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from |
| conv_intrinsic_atomic_ref; handle more atomics. |
| (conv_intrinsic_atomic_def): Handle STAT=. |
| (conv_intrinsic_atomic_cas): New. |
| (gfc_conv_intrinsic_subroutine): Handle new atomics. |
| |
| 2014-07-09 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * trans-array.c (gfc_build_constant_array_constructor): Build a |
| static decl manually. |
| * trans-decl.c (create_main_function): Likewise. |
| |
| 2014-07-07 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/61459 |
| PR fortran/58883 |
| * trans-expr.c (fcncall_realloc_result): Use the natural type |
| for the address expression of 'res_desc'. |
| |
| 2014-07-07 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * gfortran.texi (Fortran 2003 status): Fix grammar. |
| |
| 2014-07-04 Tobias Burnus <burnus@net-b.de> |
| |
| * resolve.c (resolve_assoc_var): Fix corank setting. |
| * trans-array.c (gfc_conv_descriptor_token): Change assert. |
| for select-type temporaries. |
| * trans-decl.c (generate_coarray_sym_init): Skip for |
| attr.select_type_temporary. |
| * trans-expr.c (gfc_conv_procedure_call): Fix for |
| select-type temporaries. |
| * trans-intrinsic.c (get_caf_token_offset): Ditto. |
| (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set |
| the correct dtype. |
| * trans-types.h (gfc_get_dtype_rank_type): New. |
| * trans-types.c (gfc_get_dtype_rank_type): Ditto. |
| |
| 2014-07-03 Tobias Burnus <burnus@net-b.de> |
| |
| * scanner.c (skip_free_comments): Fix indentation. |
| |
| 2014-07-02 Jakub Jelinek <jakub@redhat.com> |
| Fritz Reese <Reese-Fritz@zai.com> |
| |
| * decl.c (variable_decl): Reject old style initialization |
| for derived type components. |
| |
| 2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/36275 |
| PR fortran/38839 |
| * decl.c (check_bind_name_identifier): New function. |
| (gfc_match_bind_c): Match any constant expression as binding |
| label. |
| * match.c (gfc_match_name_C): Remove. |
| |
| 2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/29383 |
| * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype. |
| * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in |
| both C and Fortran. |
| * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND. |
| * simplify.c (gfc_simplify_ieee_selected_real_kind): New function. |
| * module.c (mio_symbol): Keep track of symbols which came from |
| intrinsic modules. |
| (gfc_use_module): Keep track of the IEEE modules. |
| * trans-decl.c (gfc_get_symbol_decl): Adjust code since |
| we have new intrinsic modules. |
| (gfc_build_builtin_function_decls): Build decls for |
| ieee_procedure_entry and ieee_procedure_exit. |
| (is_from_ieee_module, is_ieee_module_used, save_fp_state, |
| restore_fp_state): New functions. |
| (gfc_generate_function_code): Save and restore floating-point |
| state on procedure entry/exit, when IEEE modules are used. |
| * intrinsic.texi: Document the IEEE modules. |
| |
| 2014-06-25 Tobias Burnus <burnus@net-b.de> |
| |
| * interface.c (check_intents): Fix diagnostic with |
| coindexed coarrays. |
| |
| 2014-06-25 Tobias Burnus <burnus@net-b.de> |
| |
| * resolve.c (resolve_ordinary_assign): Don't invoke caf_send |
| when assigning a coindexed RHS scalar to a noncoindexed LHS |
| array. |
| * trans-intrinsic.c (conv_caf_send): Do numeric type conversion |
| for a noncoindexed scalar RHS. |
| |
| 2014-06-25 Tobias Burnus <burnus@net-b.de> |
| |
| * check.c (check_co_minmaxsum): Add definable check. |
| * expr.c (gfc_check_vardef_context): Fix context == NULL case. |
| * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer |
| arguments. |
| * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of |
| temporary strings. |
| |
| 2014-06-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * trans.h (gfc_omp_clause_linear_ctor): New prototype. |
| * trans-openmp.c (gfc_omp_linear_clause_add_loop, |
| gfc_omp_clause_linear_ctor): New functions. |
| (gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has |
| correct type. Set OMP_CLAUSE_LINEAR_ARRAY flag if needed. |
| * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine. |
| |
| 2014-06-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead |
| of n->udr. |
| * f95-lang.c (gfc_init_builtin_functions): Initialize |
| BUILT_IN_ASSUME_ALIGNED. |
| * gfortran.h (gfc_omp_namelist): Change udr field type to |
| struct gfc_omp_namelist_udr. |
| (gfc_omp_namelist_udr): New type. |
| (gfc_get_omp_namelist_udr): Define. |
| (gfc_resolve_code): New prototype. |
| * match.c (gfc_free_omp_namelist): Free name->udr. |
| * module.c (intrinsics): Add INTRINSIC_USER. |
| (fix_mio_expr): Likewise. |
| (mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION. |
| * openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr. |
| (gfc_match_omp_declare_reduction): Treat len=: the same as len=*. |
| Set attr.flavor on omp_{out,in,priv,orig} artificial variables. |
| (struct resolve_omp_udr_callback_data): New type. |
| (resolve_omp_udr_callback, resolve_omp_udr_callback2, |
| resolve_omp_udr_clause): New functions. |
| (resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses |
| here. |
| (omp_udr_callback): Don't check for implicitly declared functions |
| here. |
| (gfc_resolve_omp_udr): Don't call gfc_resolve. Don't check for |
| implicitly declared subroutines here. |
| * resolve.c (resolve_function): If value.function.isym is non-NULL, |
| consider it already resolved. |
| (resolve_code): Renamed to ... |
| (gfc_resolve_code): ... this. No longer static. |
| (gfc_resolve_blocks, generate_component_assignments, resolve_codes): |
| Adjust callers. |
| * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize |
| by reference type (C_PTR) variables. |
| (gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL. |
| (gfc_trans_omp_udr_expr): Remove. |
| (gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes. |
| Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension |
| expand it as assignment or subroutine call. Don't initialize |
| value.function.isym. |
| |
| 2014-06-23 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-decl.c (gfc_trans_deferred_vars): Fix handling of |
| explicit-size arrays with -fcoarray=lib. |
| |
| 2014-06-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33363 |
| * invoke.texi: Don't mention nonexisting -fcase-lower option. |
| |
| 2014-06-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/61454 |
| * expr.c (scalarize_intrinsic_call): Take care of optional |
| arguments. |
| |
| 2014-06-19 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-intrinsic.c (conv_co_minmaxsum): Fix argument |
| passing. |
| |
| 2014-06-18 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.texi (OpenMP): Update refs to OpenMP 4.0. |
| * intrinsic.texi (OpenMP Modules): Ditto. |
| |
| 2014-06-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpp.c (cpp_define_builtins): Change _OPENMP macro to |
| 201307. |
| * dump-parse-tree.c (show_omp_namelist): Add list_type |
| argument. Adjust for rop being u.reduction_op now, |
| handle depend_op or map_op. |
| (show_omp_node): Adjust callers. Print some new |
| OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT} |
| becoming a single OMP_LIST_DEPEND. |
| * f95-lang.c (gfc_handle_omp_declare_target_attribute): New |
| function. |
| (gfc_attribute_table): New variable. |
| (LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine. |
| * frontend-passes.c (gfc_code_walker): Handle new OpenMP target |
| EXEC_OMP_* codes and new clauses. |
| * gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET, |
| ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE, |
| ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS, |
| ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD, |
| ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO, |
| ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD, |
| ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS, |
| ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE, |
| ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD, |
| ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE, |
| ST_OMP_END_TARGET_TEAMS_DISTRIBUTE, |
| ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD, |
| ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD, |
| ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO, |
| ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO, |
| ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO, |
| ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO, |
| ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD, |
| ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD, |
| ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and |
| ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD. |
| (symbol_attribute): Add omp_declare_target field. |
| (gfc_omp_depend_op, gfc_omp_map_op): New enums. |
| (gfc_omp_namelist): Replace rop field with union |
| containing reduction_op, depend_op and map_op. |
| (OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove. |
| (OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New. |
| (gfc_omp_clauses): Add num_teams, device, thread_limit, |
| dist_sched_kind, dist_chunk_size fields. |
| (gfc_common_head): Add omp_declare_target field. |
| (gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA, |
| EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD, |
| EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD, |
| EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE, |
| EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE, |
| EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD, |
| EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO, |
| EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO, |
| EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD, |
| EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and |
| EXEC_OMP_TARGET_UPDATE. |
| (gfc_add_omp_declare_target): New prototype. |
| * match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute, |
| gfc_match_omp_distribute_parallel_do, |
| gfc_match_omp_distribute_parallel_do_simd, |
| gfc_match_omp_distribute_simd, gfc_match_omp_target, |
| gfc_match_omp_target_data, gfc_match_omp_target_teams, |
| gfc_match_omp_target_teams_distribute, |
| gfc_match_omp_target_teams_distribute_parallel_do, |
| gfc_match_omp_target_teams_distribute_parallel_do_simd, |
| gfc_match_omp_target_teams_distribute_simd, |
| gfc_match_omp_target_update, gfc_match_omp_teams, |
| gfc_match_omp_teams_distribute, |
| gfc_match_omp_teams_distribute_parallel_do, |
| gfc_match_omp_teams_distribute_parallel_do_simd, |
| gfc_match_omp_teams_distribute_simd): New prototypes. |
| * module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET. |
| (attr_bits): Likewise. |
| (mio_symbol_attribute): Handle omp_declare_target attribute. |
| (gfc_free_omp_clauses): Free num_teams, device, thread_limit |
| and dist_chunk_size expressions. |
| (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE, |
| OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, |
| OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, |
| OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, |
| OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, |
| OMP_CLAUSE_MERGEABLE, 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): Use 1U instead of 1. |
| (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM, |
| OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT, |
| OMP_CLAUSE_DIST_SCHEDULE): Define. |
| (gfc_match_omp_clauses): Change mask parameter to unsigned int. |
| Adjust for rop becoming u.reduction_op. Disallow inbranch with |
| notinbranch. For depend clause, always create OMP_LIST_DEPEND |
| and fill in u.depend_op. Handle num_teams, device, map, |
| to, from, thread_limit and dist_schedule clauses. |
| (OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and |
| OMP_CLAUSE_NOTINBRANCH. |
| (OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES, |
| OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES, |
| OMP_DISTRIBUTE_CLAUSES): Define. |
| (match_omp): New function. |
| (gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel, |
| gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd, |
| gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare, |
| gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single, |
| gfc_match_omp_task): Rewritten using match_omp. |
| (gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction): |
| Diagnose if the directives are followed by unexpected junk. |
| (gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do, |
| gfc_match_omp_distribute_parallel_do_simd, |
| gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target, |
| gfc_match_omp_target, gfc_match_omp_target_data, |
| gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute, |
| gfc_match_omp_target_teams_distribute_parallel_do, |
| gfc_match_omp_target_teams_distribute_parallel_do_simd, |
| gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update, |
| gfc_match_omp_teams, gfc_match_omp_teams_distribute, |
| gfc_match_omp_teams_distribute_parallel_do, |
| gfc_match_omp_teams_distribute_parallel_do_simd, |
| gfc_match_omp_teams_distrbute_simd): New functions. |
| * openmp.c (resolve_omp_clauses): Adjust for |
| OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND. Handle |
| OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device, |
| dist_chunk_size and thread_limit. |
| (gfc_resolve_omp_parallel_blocks): Only put sharing clauses into |
| ctx.sharing_clauses. Call gfc_resolve_omp_do_blocks for various |
| new EXEC_OMP_* codes. |
| (resolve_omp_do): Handle various new EXEC_OMP_* codes. |
| (gfc_resolve_omp_directive): Likewise. |
| (gfc_resolve_omp_declare_simd): Add missing space to diagnostics. |
| * parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0 |
| offloading related directives. |
| (case_executable): Add ST_OMP_TARGET_UPDATE. |
| (case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*, |
| ST_OMP_DISTRIBUTE*. |
| (case_decl): Add ST_OMP_DECLARE_TARGET. |
| (gfc_ascii_statement): Handle new ST_OMP_* codes. |
| (parse_omp_do): Handle various new ST_OMP_* codes. |
| (parse_executable): Likewise. |
| * resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_* |
| codes. |
| (resolve_code): Likewise. |
| (resolve_symbol): Change that !$OMP DECLARE TARGET variables |
| are saved. |
| * st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes. |
| * symbol.c (check_conflict): Check omp_declare_target conflicts. |
| (gfc_add_omp_declare_target): New function. |
| (gfc_copy_attr): Copy omp_declare_target. |
| * trans.c (trans_code): Handle various new EXEC_OMP_* codes. |
| * trans-common.c (build_common_decl): Add "omp declare target" |
| attribute if needed. |
| * trans-decl.c (add_attributes_to_decl): Likewise. |
| * trans.h (gfc_omp_finish_clause): New prototype. |
| * trans-openmp.c (gfc_omp_finish_clause): New function. |
| (gfc_trans_omp_reduction_list): Adjust for rop being renamed |
| to u.reduction_op. |
| (gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT} |
| change to OMP_LIST_DEPEND and fix up depend handling. |
| Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams, |
| thread_limit, device, dist_chunk_size and dist_sched_kind. |
| (gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE. |
| (GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS, |
| GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE, |
| GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New. |
| (gfc_split_omp_clauses): Handle splitting of clauses for new |
| EXEC_OMP_* codes. |
| (gfc_trans_omp_do_simd): Add pblock argument, adjust for being |
| callable for combined constructs. |
| (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise. |
| (gfc_trans_omp_distribute, gfc_trans_omp_teams, |
| gfc_trans_omp_target, gfc_trans_omp_target_data, |
| gfc_trans_omp_target_update): New functions. |
| (gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle |
| new EXEC_OMP_* codes. |
| |
| 2014-06-18 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/61126 |
| * invoke.texi (-Wunused-parameter): Make clearer when |
| -Wextra implies this option. |
| |
| 2014-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org> |
| |
| PR fortran/61126 |
| * options.c (gfc_handle_option): Remove call to |
| handle_generated_option. |
| |
| 2014-06-17 Tobias Burnus <burnus@net-b.de> |
| |
| * check.c (gfc_check_atomic, gfc_check_atomic_def): |
| Use argument for GFC_ISYM_CAF_GET. |
| * resolve.c (resolve_variable): Enable CAF_GET insertion. |
| (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET. |
| (resolve_ordinary_assign): Enable CAF_SEND insertion. |
| * trans-const.c (gfc_build_string_const, |
| gfc_build_wide_string_const): Set TYPE_STRING_FLAG. |
| * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send, |
| gfor_fndecl_caf_sendget): New global variables. |
| (gfc_build_builtin_function_decls): Initialize them; |
| update co_min/max/sum initialization. |
| * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from |
| get_tree_for_caf_expr and removed static. |
| (gfc_conv_procedure_call): Update call. |
| * trans-intrinsic.c (caf_get_image_index, |
| conv_caf_vector_subscript_elem, conv_caf_vector_subscript, |
| get_caf_token_offset, gfc_conv_intrinsic_caf_get, |
| conv_caf_send): New. |
| (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine, |
| gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND. |
| (conv_co_minmaxsum): Update call for remove unused vector |
| subscript. |
| (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref): |
| Skip a CAF_GET of the argument. |
| * trans-types.c (gfc_get_caf_vector_type): New. |
| * trans-types.h (gfc_get_caf_vector_type): New. |
| * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send, |
| gfor_fndecl_caf_sendget): New global variables. |
| (gfc_get_tree_for_caf_expr): New prototypes. |
| |
| 2014-06-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| * trans-common.c (build_common_decl): Use |
| set_decl_tls_model. |
| * trans-decl.c (gfc_finish_var_decl): Likewise. |
| (get_proc_pointer_decl): Likewise. |
| |
| 2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/28484 |
| PR fortran/61429 |
| * check.c (gfc_check_system_clock): Improve checking of arguments. |
| * intrinsic.texi: Update doc of SYSTEM_CLOCK. |
| * iresolve.c (gfc_resolve_system_clock): Choose library function |
| used depending on argument kinds. |
| * trans-decl.c (gfc_build_intrinsic_function_decls): Build |
| decls for system_clock_4 and system_clock_8. |
| * trans-intrinsic.c (conv_intrinsic_system_clock): New function. |
| (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock. |
| * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8): |
| New variables. |
| |
| 2014-06-12 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.h (gfc_copy_formal_args_intr): Update prototype. |
| * symbol.c (gfc_copy_formal_args_intr): Handle the case |
| that absent optional arguments should be ignored. |
| * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto. |
| (gfc_conv_intrinsic_funcall, |
| conv_generic_with_optional_char_arg): Update call. |
| * resolve.c (gfc_resolve_intrinsic): Ditto. |
| |
| 2014-06-10 Dominique d'Humieres <dominiq@lps.ens.fr> |
| Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/41936 |
| * trans-expr.c (gfc_conv_expr_reference): Deallocate array |
| components. |
| |
| 2014-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/60928 |
| * f95-lang.c (gfc_init_builtin_functions): Handle -fopenmp-simd |
| like -fopenmp. |
| * openmp.c (resolve_omp_clauses): Remove allocatable components |
| diagnostics. Add associate-name and intent(in) pointer |
| diagnostics for various clauses, diagnose procedure pointers in |
| reduction clause. |
| * parse.c (match_word_omp_simd): New function. |
| (matchs, matcho): New macros. |
| (decode_omp_directive): Change match macros to either matchs |
| or matcho. Handle -fopenmp-simd. |
| (next_free, next_fixed): Handle -fopenmp-simd like -fopenmp. |
| * scanner.c (skip_free_comments, skip_fixed_comments, include_line): |
| Likewise. |
| * trans-array.c (get_full_array_size): Rename to... |
| (gfc_full_array_size): ... this. No longer static. |
| (duplicate_allocatable): Adjust caller. Add NO_MEMCPY argument |
| and handle it. |
| (gfc_duplicate_allocatable, gfc_copy_allocatable_data): Adjust |
| duplicate_allocatable callers. |
| (gfc_duplicate_allocatable_nocopy): New function. |
| (structure_alloc_comps): Adjust g*_full_array_size and |
| duplicate_allocatable caller. |
| * trans-array.h (gfc_full_array_size, |
| gfc_duplicate_allocatable_nocopy): New prototypes. |
| * trans-common.c (create_common): Call gfc_finish_decl_attrs. |
| * trans-decl.c (gfc_finish_decl_attrs): New function. |
| (gfc_finish_var_decl, create_function_arglist, |
| gfc_get_fake_result_decl): Call it. |
| (gfc_allocate_lang_decl): If DECL_LANG_SPECIFIC is already allocated, |
| don't allocate it again. |
| (gfc_get_symbol_decl): Set GFC_DECL_ASSOCIATE_VAR_P on |
| associate-names. |
| * trans.h (gfc_finish_decl_attrs): New prototype. |
| (struct lang_decl): Add scalar_allocatable and scalar_pointer |
| bitfields. |
| (GFC_DECL_SCALAR_ALLOCATABLE, GFC_DECL_SCALAR_POINTER, |
| GFC_DECL_GET_SCALAR_ALLOCATABLE, GFC_DECL_GET_SCALAR_POINTER, |
| GFC_DECL_ASSOCIATE_VAR_P): Define. |
| (GFC_POINTER_TYPE_P): Remove. |
| * trans-openmp.c (gfc_omp_privatize_by_reference): Don't check |
| GFC_POINTER_TYPE_P, instead test GFC_DECL_GET_SCALAR_ALLOCATABLE, |
| GFC_DECL_GET_SCALAR_POINTER or GFC_DECL_CRAY_POINTEE on decl. |
| (gfc_omp_predetermined_sharing): Associate-names are predetermined. |
| (enum walk_alloc_comps): New. |
| (gfc_has_alloc_comps, gfc_omp_unshare_expr_r, gfc_omp_unshare_expr, |
| gfc_walk_alloc_comps): New functions. |
| (gfc_omp_private_outer_ref): Return true for scalar allocatables or |
| decls with allocatable components. |
| (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor, |
| gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Fix up handling of |
| allocatables, handle also OMP_CLAUSE_REDUCTION, handle scalar |
| allocatables and decls with allocatable components. |
| (gfc_trans_omp_array_reduction_or_udr): Don't handle allocatable |
| arrays here. |
| (gfc_trans_omp_reduction_list): Call |
| gfc_trans_omp_array_reduction_or_udr even for allocatable scalars. |
| (gfc_trans_omp_do_simd): If -fno-openmp, just expand it as OMP_SIMD. |
| (gfc_trans_omp_parallel_do_simd): Likewise. |
| * trans-types.c (gfc_sym_type): Don't set GFC_POINTER_TYPE_P. |
| (gfc_get_derived_type): Call gfc_finish_decl_attrs. |
| |
| 2014-06-09 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/61406 |
| * trans-stmt.c (trans_associate_var): Check that array |
| constructors are constant for direct reference. |
| |
| 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/36096 |
| * intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1, |
| BESSEL_Y0, and BESSEL_Y1. |
| |
| 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/45187 |
| * trans-decl.c (gfc_create_module_variable): Don't create |
| Cray-pointee decls twice. |
| |
| 2014-06-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * io.c (resolve_tag): Warn on non-default kind for NUMBER, |
| NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers. |
| |
| 2014-06-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * dump-parse-tree.c (show_omp_namelist): Dump reduction |
| id in each list item. |
| (show_omp_node): Only handle OMP_LIST_REDUCTION, not |
| OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST. Don't |
| dump reduction id here. |
| * frontend-passes.c (dummy_code_callback): Renamed to... |
| (gfc_dummy_code_callback): ... this. No longer static. |
| (optimize_reduction): Use gfc_dummy_code_callback instead of |
| dummy_code_callback. |
| * gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION. |
| (symbol_attribute): Add omp_udr_artificial_var bitfield. |
| (gfc_omp_reduction_op): New enum. |
| (gfc_omp_namelist): Add rop and udr fields. |
| (OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT, |
| OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV, |
| OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND, |
| OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed. |
| (OMP_LIST_REDUCTION): New. |
| (gfc_omp_udr): New type. |
| (gfc_get_omp_udr): Define. |
| (gfc_symtree): Add n.omp_udr field. |
| (gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield. |
| (gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs, |
| gfc_dummy_code_callback): New prototypes. |
| * match.h (gfc_match_omp_declare_reduction): New prototype. |
| * module.c (MOD_VERSION): Increase to 13. |
| (omp_declare_reduction_stmt): New array. |
| (mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs): |
| New functions. |
| (read_module): Read OpenMP user defined reductions. |
| (write_module): Write OpenMP user defined reductions. |
| * openmp.c: Include arith.h. |
| (gfc_free_omp_udr, gfc_find_omp_udr): New functions. |
| (gfc_match_omp_clauses): Handle user defined reductions. |
| Store reduction kind into gfc_omp_namelist instead of using |
| several OMP_LIST_* entries. |
| (match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find, |
| gfc_match_omp_declare_reduction): New functions. |
| (resolve_omp_clauses): Adjust for reduction clauses being only |
| in OMP_LIST_REDUCTION list. Diagnose missing UDRs. |
| (struct omp_udr_callback_data): New type. |
| (omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New |
| functions. |
| * parse.c (decode_omp_directive): Handle !$omp declare reduction. |
| (case_decl): Add ST_OMP_DECLARE_REDUCTION. |
| (gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION. |
| * resolve.c (resolve_fl_variable): Allow len=: or len=* on |
| sym->attr.omp_udr_artificial_var symbols. |
| (resolve_types): Call gfc_resolve_omp_udrs. |
| * symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns, |
| use parent ns instead of gfc_current_ns. |
| (gfc_get_sym_tree): Don't insert symbols into |
| namespaces with omp_udr_ns set. |
| (free_omp_udr_tree): New function. |
| (gfc_free_namespace): Call it. |
| * trans-openmp.c (struct omp_udr_find_orig_data): New type. |
| (omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions. |
| (gfc_trans_omp_array_reduction): Renamed to... |
| (gfc_trans_omp_array_reduction_or_udr): ... this. Remove SYM |
| argument, instead pass gfc_omp_namelist pointer N. Handle |
| user defined reductions. |
| (gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument. |
| Handle user defined reductions and reduction ops in gfc_omp_namelist. |
| (gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION |
| list. |
| (gfc_split_omp_clauses): Likewise. |
| |
| 2014-06-05 Richard Biener <rguenther@suse.de> |
| |
| PR fortran/61418 |
| * gfortranspec.c (spec_file): Remove. |
| (find_spec_file): Likewise. |
| (lang_specific_driver): Do not look for specs file in -L |
| or append -specs command line argument. |
| (lang_specific_pre_link): Always %:include libgfortran.spec. |
| |
| 2014-06-02 Andrew MacLeod <amacleod@redhat.com> |
| |
| * fortran/trans.c (trans_runtime_error_vararg): Call |
| fold_build_call_array_loc instead of fold_builtin_call_array. |
| |
| 2014-06-02 Bernd Schmidt <bernds@codesourcery.com> |
| |
| * trans-decl.c (gfc_build_builtin_function_decls): Correct number of |
| arguments to caf_init. |
| |
| 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. |